diff --git a/asm/code_800F990.s b/asm/code_800F990.s index 983e35980..1fa0545f6 100644 --- a/asm/code_800F990.s +++ b/asm/code_800F990.s @@ -1084,7 +1084,7 @@ sub_80101F8: adds r2, 0x50 adds r1, r3, 0 movs r3, 0 - bl xxx_format_string + bl FormatString b _08010220 .align 2, 0 _08010214: .4byte gUnknown_80D3EFC @@ -2299,7 +2299,7 @@ _08010BD0: movs r0, 0xC movs r1, 0x2 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 add sp, 0x64 @@ -2307,7 +2307,7 @@ _08010BD0: pop {r0} bx r0 .align 2, 0 -_08010C08: .4byte gAvailablePokemonNames +_08010C08: .4byte gFormatBuffer_Monsters _08010C0C: .4byte gUnknown_80D4074 thumb_func_end sub_8010B74 @@ -2397,7 +2397,7 @@ _08010C86: movs r1, 0 adds r2, r5, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 movs r0, 0x1 @@ -2407,13 +2407,13 @@ _08010C86: movs r0, 0xA movs r1, 0 movs r3, 0x1 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r2, _08010D78 str r4, [sp] movs r0, 0xA movs r1, 0xC movs r3, 0x1 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0x1 bl sub_80073E0 add r0, sp, 0x4 diff --git a/asm/code_8010F28.s b/asm/code_8010F28.s index 5c8fcb239..cd3e4984e 100644 --- a/asm/code_8010F28.s +++ b/asm/code_8010F28.s @@ -649,7 +649,7 @@ _08011406: movs r1, 0x2 add r2, sp, 0x4 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 ldr r0, _08011480 @@ -846,7 +846,7 @@ _0801152A: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r6, 0 cmp r6, r9 bge _08011678 @@ -875,7 +875,7 @@ _080115DC: adds r1, r4, 0 ldr r2, _0801163C movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow b _08011672 .align 2, 0 _08011610: .4byte gUnknown_203B0E4 @@ -887,8 +887,8 @@ _08011624: .4byte 0x00004df8 _08011628: .4byte 0x00004ddc _0801162C: .4byte 0x00004de0 _08011630: .4byte gUnknown_80D4104 -_08011634: .4byte gFormatData_202DE30 -_08011638: .4byte gFormatItems +_08011634: .4byte gFormatArgs +_08011638: .4byte gFormatBuffer_Items _0801163C: .4byte gUnknown_80D4120 _08011640: ldr r1, _08011690 @@ -913,7 +913,7 @@ _08011640: adds r1, r4, 0 ldr r2, _08011698 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _08011672: adds r6, 0x1 cmp r6, r9 diff --git a/asm/code_80140DC.s b/asm/code_80140DC.s deleted file mode 100644 index 84135d85c..000000000 --- a/asm/code_80140DC.s +++ /dev/null @@ -1,1744 +0,0 @@ - #include "asm/constants/gba_constants.inc" - #include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start CreateMenuDialogueBoxAndPortrait -CreateMenuDialogueBoxAndPortrait: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r1, 0 - mov r9, r2 - mov r8, r3 - ldr r5, [sp, 0x28] - ldr r7, [sp, 0x30] - ldr r1, [sp, 0x34] - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - movs r1, 0 - str r1, [sp] - ldr r4, _080142B8 - ldr r3, _080142BC - adds r2, r4, r3 - adds r1, r4, 0 - mov r3, r10 - bl xxx_format_string - ldr r0, _080142C0 - str r4, [r0] - ldr r0, _080142C4 - str r6, [r0, 0x24] - ldr r0, _080142C8 - str r5, [r0] - ldr r0, _080142CC - mov r4, r8 - str r4, [r0] - ldr r0, _080142D0 - ldr r5, [sp, 0x24] - str r5, [r0] - ldr r0, _080142D4 - mov r6, r9 - str r6, [r0] - ldr r0, _080142D8 - bl sub_801317C - movs r0, 0x10 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - beq _080142E4 - ldr r2, _080142DC - adds r1, r2, 0 - ldr r0, _080142E0 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3,r4,r6} - stm r1!, {r3,r4,r6} - b _080142F2 - .align 2, 0 -_080142B8: .4byte gUnknown_202E798 -_080142BC: .4byte 0x000003e7 -_080142C0: .4byte gUnknown_202E794 -_080142C4: .4byte gUnknown_202E748 -_080142C8: .4byte gUnknown_202EC10 -_080142CC: .4byte gUnknown_202EC14 -_080142D0: .4byte gUnknown_202EC18 -_080142D4: .4byte gUnknown_202EC1C -_080142D8: .4byte gUnknown_202EC28 -_080142DC: .4byte gUnknown_203B198 -_080142E0: .4byte gUnknown_80D48DC -_080142E4: - ldr r2, _08014358 - adds r1, r2, 0 - ldr r0, _0801435C - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} -_080142F2: - adds r4, r2, 0 - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - strh r0, [r4, 0x28] - movs r0, 0x40 - strb r0, [r4, 0x18] - cmp r7, 0 - beq _08014368 - ldr r1, [r7, 0x4] - cmp r1, 0 - beq _08014368 - ldrb r0, [r7, 0xC] - lsls r0, 3 - adds r1, 0x4 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _08014368 - ldrh r0, [r7, 0x8] - strh r0, [r4, 0x20] - ldrh r0, [r7, 0xA] - strh r0, [r4, 0x22] - movs r0, 0x5 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - strh r0, [r4, 0x28] - movs r4, 0 -_0801432A: - adds r0, r4, 0 - adds r0, 0xE0 - ldr r2, [r7, 0x4] - ldrb r1, [r7, 0xC] - lsls r1, 3 - adds r2, r1 - lsls r3, r4, 2 - ldr r1, [r2] - adds r1, r3 - bl SetBGPaletteBufferColorArray - adds r4, 0x1 - cmp r4, 0xF - ble _0801432A - movs r0, 0x1 - str r0, [sp] - ldrb r0, [r7, 0xE] - cmp r0, 0 - beq _08014360 - ldr r1, _08014358 - movs r0, 0x7 - b _08014364 - .align 2, 0 -_08014358: .4byte gUnknown_203B198 -_0801435C: .4byte gUnknown_80D48C4 -_08014360: - ldr r1, _080143E8 - movs r0, 0x5 -_08014364: - str r0, [r1, 0x1C] - adds r4, r1, 0 -_08014368: - ldr r2, _080143EC - adds r1, r4, 0 - adds r1, 0x30 - adds r0, r2, 0 - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - adds r0, r4, 0 - adds r0, 0x48 - ldm r2!, {r1,r3,r5} - stm r0!, {r1,r3,r5} - ldm r2!, {r1,r3,r6} - stm r0!, {r1,r3,r6} - bl ResetUnusedInputStruct - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x1 - bl xxx_call_save_unk_text_struct_800641C - ldr r1, _080143F0 - movs r4, 0 - movs r2, 0 - movs r0, 0x4 - strh r0, [r1] - strh r0, [r1, 0x2] - movs r0, 0x70 - strh r0, [r1, 0x8] - ldr r0, _080143F4 - movs r5, 0x2 - ldrsh r0, [r0, r5] - lsls r0, 3 - adds r0, 0x22 - strh r0, [r1, 0xA] - movs r0, 0x7 - str r0, [r1, 0x10] - str r2, [r1, 0x1C] - adds r1, 0x20 - strb r4, [r1] - movs r0, 0x10 - mov r6, r10 - ands r0, r6 - movs r1, 0x3 - cmp r0, 0 - beq _080143C6 - movs r1, 0x8 -_080143C6: - adds r0, r1, 0 - bl SetCharacterMask - ldr r0, _080143F8 - movs r1, 0x1 - str r1, [r0] - ldr r0, _080143FC - mov r2, r10 - strh r2, [r0] - movs r0, 0x20 - mov r3, r10 - ands r0, r3 - cmp r0, 0 - beq _08014404 - ldr r0, _08014400 - strb r1, [r0] - b _08014408 - .align 2, 0 -_080143E8: .4byte gUnknown_203B198 -_080143EC: .4byte gUnknown_80D48AC -_080143F0: .4byte gUnknown_202E748 -_080143F4: .4byte gUnknown_2027370 -_080143F8: .4byte gUnknown_202E744 -_080143FC: .4byte gUnknown_202E77C -_08014400: .4byte gUnknown_202E790 -_08014404: - ldr r0, _0801445C - strb r4, [r0] -_08014408: - movs r0, 0x80 - lsls r0, 3 - mov r4, r10 - ands r0, r4 - cmp r0, 0 - beq _08014418 - bl SetWindowBGColor -_08014418: - ldr r0, _08014460 - movs r1, 0x1 - str r1, [r0] - ldr r0, _08014464 - str r1, [r0] - bl UnpressButtons - ldr r1, _08014468 - movs r0, 0 - strb r0, [r1] - ldr r1, _0801446C - movs r0, 0 - str r0, [r1] - ldr r5, [sp] - cmp r5, 0 - beq _08014480 - ldr r0, [r7, 0x4] - ldrb r1, [r7, 0xC] - lsls r1, 3 - adds r0, 0x4 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x1 - bl sub_80073B8 - ldrb r0, [r7, 0xD] - cmp r0, 0 - bne _08014470 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xE - bl sub_8008274 - b _0801447A - .align 2, 0 -_0801445C: .4byte gUnknown_202E790 -_08014460: .4byte gUnknown_202E788 -_08014464: .4byte gUnknown_202E78C -_08014468: .4byte gUnknown_202E791 -_0801446C: .4byte gUnknown_202E784 -_08014470: - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xE - bl sub_800836C -_0801447A: - movs r0, 0x1 - bl sub_80073E0 -_08014480: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CreateMenuDialogueBoxAndPortrait - - thumb_func_start sub_8014490 -sub_8014490: - ldr r0, _0801449C - movs r1, 0 - str r1, [r0] - ldr r0, _080144A0 - str r1, [r0] - bx lr - .align 2, 0 -_0801449C: .4byte gUnknown_202E744 -_080144A0: .4byte gUnknown_202EC1C - thumb_func_end sub_8014490 - - thumb_func_start sub_80144A4 -sub_80144A4: - push {lr} - adds r1, r0, 0 - cmp r1, 0 - beq _080144B2 - ldr r0, _080144BC - ldr r0, [r0] - str r0, [r1] -_080144B2: - ldr r0, _080144C0 - ldr r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_080144BC: .4byte gUnknown_202EC1C -_080144C0: .4byte gUnknown_202E744 - thumb_func_end sub_80144A4 - - thumb_func_start DrawDialogueBoxString -DrawDialogueBoxString: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0x1 - mov r10, r0 - ldr r1, _080144F4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_080144DC: - ldr r0, _080144F8 - ldr r1, [r0] - adds r3, r0, 0 - cmp r1, 0xB - bls _080144E8 - b _08014A6A -_080144E8: - lsls r0, r1, 2 - ldr r1, _080144FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080144F4: .4byte gUnknown_202E784 -_080144F8: .4byte gUnknown_202E744 -_080144FC: .4byte _08014500 - .align 2, 0 -_08014500: - .4byte _08014A72 - .4byte _08014530 - .4byte _08014708 - .4byte _08014A38 - .4byte _08014A48 - .4byte _08014A60 - .4byte _08014778 - .4byte _080147E2 - .4byte _080147E2 - .4byte _080147E2 - .4byte _080149D8 - .4byte _08014A04 -_08014530: - ldr r0, _08014540 - ldr r6, [r0] - ldr r0, _08014544 - ldrb r0, [r0] - cmp r0, 0 - beq _0801457C - ldr r7, _08014548 - b _08014580 - .align 2, 0 -_08014540: .4byte gUnknown_202E794 -_08014544: .4byte gUnknown_202E790 -_08014548: .4byte 0x0001869f -_0801454C: - str r2, [r3, 0x1C] - adds r1, r3, 0 - adds r1, 0x20 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _0801456C - movs r0, 0x8 - str r0, [r1] - ldr r0, _08014570 - strb r2, [r0] - ldr r1, _08014574 - ldr r0, _08014578 - ldr r0, [r0] - str r0, [r1] - b _0801466C - .align 2, 0 -_0801456C: .4byte gUnknown_202E744 -_08014570: .4byte gUnknown_202E791 -_08014574: .4byte gUnknown_202E780 -_08014578: .4byte gUnknown_202E738 -_0801457C: - ldr r0, _08014594 - ldr r7, [r0] -_08014580: - ldr r1, _08014598 - movs r0, 0 - str r0, [r1, 0x2C] - bl sub_80073B8 - ldr r1, _0801459C - mov r8, r1 - ldr r2, _080145A0 - mov r9, r2 - b _08014652 - .align 2, 0 -_08014594: .4byte gUnknown_202E788 -_08014598: .4byte gUnknown_202E748 -_0801459C: .4byte gUnknown_202E744 -_080145A0: .4byte gUnknown_202E780 -_080145A4: - adds r0, r4, 0 - adds r0, 0x20 - ldrb r5, [r0] - cmp r5, 0 - beq _080145EC - movs r3, 0x2 - ldrsh r0, [r4, r3] - cmp r0, 0x22 - ble _080145CC - movs r0, 0x8 - mov r4, r8 - str r0, [r4] - ldr r0, _080145C8 - ldr r0, [r0] - mov r1, r9 - str r0, [r1] - b _080145DA - .align 2, 0 -_080145C8: .4byte gUnknown_202E738 -_080145CC: - movs r0, 0x7 - mov r2, r8 - str r0, [r2] - ldr r0, _080145E4 - ldr r0, [r0] - mov r3, r9 - str r0, [r3] -_080145DA: - ldr r1, _080145E8 - movs r0, 0 - strb r0, [r1] - b _0801466C - .align 2, 0 -_080145E4: .4byte gUnknown_202E73C -_080145E8: .4byte gUnknown_202E791 -_080145EC: - ldrb r0, [r6] - cmp r0, 0 - beq _0801466C - cmp r0, 0xD - beq _080145FA - cmp r0, 0xA - bne _08014608 -_080145FA: - movs r0, 0x4 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0xB - strh r0, [r4, 0x2] - adds r6, 0x1 - b _08014630 -_08014608: - adds r0, r6, 0 - add r1, sp, 0x4 - bl xxx_get_next_char_from_string - adds r6, r0, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - ldr r2, [sp, 0x4] - ldr r3, [r4, 0x10] - str r5, [sp] - bl xxx_call_draw_char - ldrh r1, [r4] - adds r1, r0 - strh r1, [r4] - ldr r0, _08014694 - ldr r0, [r0] - str r0, [r4, 0x2C] -_08014630: - ldr r3, _08014698 - movs r4, 0x2 - ldrsh r0, [r3, r4] - cmp r0, 0x22 - ble _08014650 - ldr r0, _0801469C - ldrh r1, [r0] - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - bne _0801464C - b _0801454C -_0801464C: - movs r0, 0x4 - strh r0, [r3, 0x2] -_08014650: - subs r7, 0x1 -_08014652: - cmp r7, 0 - ble _0801466C - ldr r4, _08014698 - adds r0, r6, 0 - adds r1, r4, 0 - bl xxx_handle_format_global - adds r6, r0, 0 - adds r0, r4, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0 - beq _080145A4 -_0801466C: - movs r0, 0 - bl sub_80073E0 - ldr r4, _080146A0 - str r6, [r4] - ldr r0, _080146A4 - bl sub_801317C - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - bne _080146BC - ldr r0, _080146A8 - ldr r0, [r0] - cmp r0, 0 - beq _080146B0 - ldr r1, _080146AC - movs r0, 0x3 - str r0, [r1] - b _08014A72 - .align 2, 0 -_08014694: .4byte gUnknown_202E78C -_08014698: .4byte gUnknown_202E748 -_0801469C: .4byte gUnknown_202E77C -_080146A0: .4byte gUnknown_202E794 -_080146A4: .4byte gUnknown_202EC28 -_080146A8: .4byte gUnknown_202EC14 -_080146AC: .4byte gUnknown_202E744 -_080146B0: - ldr r1, _080146B8 - movs r0, 0x6 - str r0, [r1] - b _08014A72 - .align 2, 0 -_080146B8: .4byte gUnknown_202E744 -_080146BC: - ldr r0, _080146E8 - movs r2, 0 - str r2, [r0, 0x30] - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - beq _080146FC - ldr r1, _080146EC - ldr r0, [r1] - cmp r0, 0x1 - beq _080146D4 - b _08014A72 -_080146D4: - movs r0, 0x7 - str r0, [r1] - ldr r0, _080146F0 - strb r2, [r0] - ldr r1, _080146F4 - ldr r0, _080146F8 - ldr r0, [r0] - str r0, [r1] - b _08014A72 - .align 2, 0 -_080146E8: .4byte gUnknown_202E748 -_080146EC: .4byte gUnknown_202E744 -_080146F0: .4byte gUnknown_202E791 -_080146F4: .4byte gUnknown_202E780 -_080146F8: .4byte gUnknown_202E738 -_080146FC: - ldr r1, _08014704 - movs r0, 0x2 - b _08014A68 - .align 2, 0 -_08014704: .4byte gUnknown_202E744 -_08014708: - ldr r4, _08014760 - ldrh r1, [r4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08014718 - bl sub_8011A04 -_08014718: - ldrh r1, [r4] - movs r0, 0x2 - ands r0, r1 - ldr r2, _08014764 - cmp r0, 0 - bne _08014742 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08014742 - ldr r0, _08014768 - ldrh r1, [r0, 0x2] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08014742 - ldr r0, _0801476C - movs r1, 0x1 - strb r1, [r0] - ldr r0, _08014770 - str r0, [r2, 0x30] -_08014742: - ldr r1, [r2, 0x30] - adds r1, 0x1 - str r1, [r2, 0x30] - ldr r0, [r2, 0x2C] - cmp r1, r0 - bgt _08014750 - b _08014A72 -_08014750: - ldr r1, _08014774 - movs r0, 0x1 - str r0, [r1] - adds r1, r2, 0 - adds r1, 0x21 - movs r0, 0 - strb r0, [r1] - b _08014A6A - .align 2, 0 -_08014760: .4byte gUnknown_202E77C -_08014764: .4byte gUnknown_202E748 -_08014768: .4byte gRealInputs -_0801476C: .4byte gUnknown_202E790 -_08014770: .4byte 0x0001869f -_08014774: .4byte gUnknown_202E744 -_08014778: - ldr r0, _080147B4 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080147DC - movs r0, 0x9 - str r0, [r3] - ldr r1, _080147B8 - movs r0, 0 - strb r0, [r1] - ldr r0, _080147BC - ldr r1, [r0] - cmp r1, 0 - ble _080147C8 - ldr r2, _080147C0 - ldr r0, _080147C4 - ldr r0, [r0] - subs r0, r1, r0 - str r0, [r2] - cmp r0, 0 - blt _080147A8 - b _08014A6A -_080147A8: - movs r0, 0xB - str r0, [r3] - movs r0, 0 - str r0, [r2] - b _08014A6A - .align 2, 0 -_080147B4: .4byte gUnknown_202E77C -_080147B8: .4byte gUnknown_202E791 -_080147BC: .4byte gUnknown_202E740 -_080147C0: .4byte gUnknown_202E780 -_080147C4: .4byte gUnknown_202E784 -_080147C8: - ldr r0, _080147D4 - ldr r1, _080147D8 - ldr r1, [r1] - str r1, [r0] - b _08014A6A - .align 2, 0 -_080147D4: .4byte gUnknown_202E780 -_080147D8: .4byte gUnknown_202E738 -_080147DC: - movs r0, 0xB - str r0, [r3] - b _08014A6A -_080147E2: - movs r5, 0 - ldr r0, _0801481C - adds r0, 0x20 - strb r5, [r0] - ldr r4, _08014820 - adds r0, r4, 0 - movs r1, 0 - bl nullsub_34 - ldr r0, _08014824 - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08014802 - b _0801494C -_08014802: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801482C - ldr r1, _08014828 - ldr r0, [r1] - cmp r0, 0 - bgt _08014814 - b _0801494C -_08014814: - subs r0, 0x1 - str r0, [r1] - b _08014856 - .align 2, 0 -_0801481C: .4byte gUnknown_202E748 -_08014820: .4byte gUnknown_202EC28 -_08014824: .4byte gUnknown_202E77C -_08014828: .4byte gUnknown_202E780 -_0801482C: - ldr r2, _080148E4 - ldrh r1, [r2, 0x2] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0801483A - b _0801494C -_0801483A: - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08014842 - b _0801494C -_08014842: - ldrh r1, [r2] - movs r0, 0xF2 - ands r0, r1 - cmp r0, 0x2 - bne _0801484E - b _0801494C -_0801484E: - ldrb r0, [r4, 0x5] - cmp r0, 0 - beq _08014856 - movs r5, 0x1 -_08014856: - cmp r5, 0 - bne _0801494C - ldr r1, _080148E8 - ldrb r0, [r1] - adds r2, r0, 0x1 - strb r2, [r1] - ldr r0, _080148EC - ldrh r7, [r0] - movs r0, 0x2 - ands r0, r7 - cmp r0, 0 - beq _08014870 - b _08014A72 -_08014870: - movs r0, 0x8 - ands r2, r0 - cmp r2, 0 - bne _0801487A - b _08014A72 -_0801487A: - ldr r3, _080148F0 - ldrh r1, [r3] - ldr r0, _080148F4 - ands r0, r1 - ldr r1, _080148F8 - ands r0, r1 - ldr r4, _080148FC - ands r0, r4 - ldr r1, _08014900 - ands r0, r1 - ldr r1, _08014904 - ands r0, r1 - movs r1, 0x80 - lsls r1, 7 - ldr r2, _08014908 - ands r0, r2 - orrs r0, r1 - strh r0, [r3] - ldrh r0, [r3, 0x2] - ldr r5, _0801490C - ands r5, r0 - ands r5, r2 - strh r5, [r3, 0x2] - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x4] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r4 - movs r6, 0xF - lsls r1, r6, 12 - ldr r2, _08014910 - ands r0, r2 - movs r4, 0 - mov r8, r4 - orrs r0, r1 - strh r0, [r3, 0x4] - movs r0, 0x10 - ands r0, r7 - adds r4, r3, 0 - cmp r0, 0 - beq _08014914 - movs r2, 0xF0 - lsls r2, 3 - ldrh r1, [r4, 0x6] - adds r0, r6, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r4, 0x6] - movs r0, 0x70 - b _08014932 - .align 2, 0 -_080148E4: .4byte gRealInputs -_080148E8: .4byte gUnknown_202E791 -_080148EC: .4byte gUnknown_202E77C -_080148F0: .4byte gUnknown_202E6E0 -_080148F4: .4byte 0x0000feff -_080148F8: .4byte 0x0000fdff -_080148FC: .4byte 0x0000f3ff -_08014900: .4byte 0x0000efff -_08014904: .4byte 0x0000dfff -_08014908: .4byte 0x00003fff -_0801490C: .4byte 0x0000c1ff -_08014910: .4byte 0x00000fff -_08014914: - ldr r3, _08014944 - movs r0, 0xA - ldrsh r1, [r3, r0] - adds r1, 0x1 - ands r1, r2 - lsls r1, 4 - ldrh r2, [r4, 0x6] - adds r0, r6, 0 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x6] - movs r1, 0x8 - ldrsh r0, [r3, r1] - ldr r1, _08014948 - ands r0, r1 -_08014932: - strh r0, [r4, 0x2] - movs r1, 0x80 - lsls r1, 1 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl AddSprite - b _08014A72 - .align 2, 0 -_08014944: .4byte gUnknown_202E748 -_08014948: .4byte 0x000001ff -_0801494C: - ldr r0, _08014960 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - bne _08014968 - ldr r1, _08014964 - movs r0, 0xB - str r0, [r1] - b _080149BA - .align 2, 0 -_08014960: .4byte gUnknown_202E794 -_08014964: .4byte gUnknown_202E744 -_08014968: - ldr r4, _08014974 - ldr r0, [r4] - cmp r0, 0x9 - bne _08014978 - movs r0, 0xB - b _080149B8 - .align 2, 0 -_08014974: .4byte gUnknown_202E744 -_08014978: - cmp r0, 0x8 - bne _080149B6 - ldr r2, _080149A0 - movs r1, 0x4 - strh r1, [r2] - movs r3, 0x2 - ldrsh r0, [r2, r3] - cmp r0, 0x22 - ble _080149B6 - strh r1, [r2, 0x2] - ldr r0, _080149A4 - ldrh r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080149A8 -_08014998: - movs r0, 0 - bl CallPrepareTextbox_8008C54 - b _080149B6 - .align 2, 0 -_080149A0: .4byte gUnknown_202E748 -_080149A4: .4byte gUnknown_202E77C -_080149A8: - ldr r1, [r2, 0x1C] - cmp r1, 0 - bne _08014998 - movs r0, 0xA - str r0, [r4] - str r1, [r2, 0x28] - b _080149BA -_080149B6: - movs r0, 0x1 -_080149B8: - str r0, [r4] -_080149BA: - ldr r1, _080149D0 - movs r0, 0x70 - strh r0, [r1, 0x8] - ldr r0, _080149D4 - movs r4, 0x2 - ldrsh r0, [r0, r4] - lsls r0, 3 - adds r0, 0x22 - strh r0, [r1, 0xA] - b _08014A72 - .align 2, 0 -_080149D0: .4byte gUnknown_202E748 -_080149D4: .4byte gUnknown_2027370 -_080149D8: - ldr r4, _080149F8 - ldr r0, [r4, 0x28] - adds r0, 0x1 - str r0, [r4, 0x28] - ldr r0, _080149FC - ldr r1, [r0] - movs r0, 0 - bl _call_via_r1 - ldr r0, [r4, 0x28] - cmp r0, 0x11 - ble _08014A72 - ldr r1, _08014A00 - movs r0, 0x1 - str r0, [r1] - b _08014A72 - .align 2, 0 -_080149F8: .4byte gUnknown_202E748 -_080149FC: .4byte gUnknown_203B088 -_08014A00: .4byte gUnknown_202E744 -_08014A04: - ldr r0, _08014A2C - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _08014A34 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl xxx_call_save_unk_text_struct_800641C - ldr r1, _08014A30 - movs r0, 0 - str r0, [r1] - b _08014A72 - .align 2, 0 -_08014A2C: .4byte gUnknown_202E77C -_08014A30: .4byte gUnknown_202E744 -_08014A34: - str r0, [r3] - b _08014A72 -_08014A38: - bl sub_8014A88 - ldr r1, _08014A44 - movs r0, 0x4 - str r0, [r1] - b _08014A72 - .align 2, 0 -_08014A44: .4byte gUnknown_202E744 -_08014A48: - bl sub_8014B94 - lsls r0, 24 - cmp r0, 0 - beq _08014A72 - ldr r1, _08014A5C - movs r0, 0x5 - str r0, [r1] - b _08014A72 - .align 2, 0 -_08014A5C: .4byte gUnknown_202E744 -_08014A60: - bl nullsub_35 - ldr r1, _08014A84 - movs r0, 0xB -_08014A68: - str r0, [r1] -_08014A6A: - mov r0, r10 - cmp r0, 0 - beq _08014A72 - b _080144DC -_08014A72: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08014A84: .4byte gUnknown_202E744 - thumb_func_end DrawDialogueBoxString - - thumb_func_start sub_8014A88 -sub_8014A88: - push {r4-r7,lr} - sub sp, 0x88 - ldr r0, _08014A98 - ldr r4, [r0] - movs r5, 0 - movs r7, 0 - movs r6, 0 - b _08014ABE - .align 2, 0 -_08014A98: .4byte gUnknown_202EC14 -_08014A9C: - adds r5, 0xC - ldr r0, [r4] - add r1, sp, 0x8 - add r2, sp, 0x88 - movs r3, 0 - bl xxx_format_string - add r0, sp, 0x8 - bl sub_8008ED0 - cmp r7, r0 - bge _08014AB6 - adds r7, r0, 0 -_08014AB6: - adds r4, 0x8 - adds r6, 0x1 - cmp r6, 0x9 - bgt _08014AC4 -_08014ABE: - ldr r0, [r4] - cmp r0, 0 - bne _08014A9C -_08014AC4: - adds r0, r5, 0 - cmp r5, 0 - bge _08014ACC - adds r0, r5, 0x7 -_08014ACC: - asrs r2, r0, 3 - movs r0, 0x7 - ands r5, r0 - cmp r5, 0 - beq _08014AD8 - adds r2, 0x1 -_08014AD8: - ldr r4, _08014B74 - ldr r0, _08014B78 - ldr r0, [r0] - str r0, [r4, 0x34] - adds r1, r7, 0 - cmp r1, 0 - bge _08014AE8 - adds r1, 0x7 -_08014AE8: - asrs r1, 3 - adds r1, 0x2 - strh r1, [r4, 0x3C] - adds r0, r4, 0 - adds r0, 0x40 - strh r2, [r0] - strh r2, [r4, 0x3E] - movs r0, 0x1C - subs r0, r1 - strh r0, [r4, 0x38] - movs r0, 0xE - subs r0, r2 - strh r0, [r4, 0x3A] - movs r0, 0x80 - strb r0, [r4] - movs r0, 0xC0 - strb r0, [r4, 0x18] - ldr r5, _08014B7C - ldr r0, [r5] - cmp r0, 0 - beq _08014B1E - adds r1, r4, 0 - adds r1, 0x48 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} -_08014B1E: - bl ResetUnusedInputStruct - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl xxx_call_save_unk_text_struct_800641C - ldr r0, _08014B80 - ldr r1, _08014B84 - ldr r1, [r1] - ldr r2, _08014B88 - ldr r3, _08014B8C - ldr r3, [r3] - ldr r4, _08014B90 - ldr r4, [r4] - str r4, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - bl sub_8012D60 - ldr r0, [r5] - cmp r0, 0 - beq _08014B6A - movs r0, 0x3 - bl sub_80073B8 - ldr r0, [r5] - ldr r2, [r0, 0x18] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - movs r1, 0x2 - movs r3, 0x3 - bl PrintStringOnWindow - movs r0, 0x3 - bl sub_80073E0 -_08014B6A: - add sp, 0x88 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08014B74: .4byte gUnknown_203B198 -_08014B78: .4byte gUnknown_202EC10 -_08014B7C: .4byte gUnknown_202EC20 -_08014B80: .4byte gUnknown_202EBC0 -_08014B84: .4byte gUnknown_202EC14 -_08014B88: .4byte gUnknown_80D48A0 -_08014B8C: .4byte gUnknown_202EC18 -_08014B90: .4byte gUnknown_202EC1C - thumb_func_end sub_8014A88 - - thumb_func_start sub_8014B94 -sub_8014B94: - push {r4,lr} - ldr r4, _08014BA8 - adds r0, r4, 0 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - beq _08014BAC - movs r0, 0 - b _08014BB6 - .align 2, 0 -_08014BA8: .4byte gUnknown_202EBC0 -_08014BAC: - ldr r1, _08014BBC - adds r0, r4, 0 - bl sub_8013114 - movs r0, 0x1 -_08014BB6: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08014BBC: .4byte gUnknown_202EC1C - thumb_func_end sub_8014B94 - - thumb_func_start nullsub_35 -nullsub_35: - bx lr - thumb_func_end nullsub_35 - - thumb_func_start xxx_format_string -xxx_format_string: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - adds r5, r0, 0 - str r1, [sp, 0x3C] - adds r7, r2, 0 - lsls r3, 16 - lsrs r3, 16 - mov r8, r3 - movs r0, 0x1 - mov r10, r0 - mov r9, r0 - subs r7, 0x1 - b _08014F62 -_08014BE6: - movs r1, 0x1 - b _08014C2C -_08014BEA: - mov r0, r10 - cmp r0, 0 - beq _08014C24 - movs r1, 0 - mov r10, r1 - mov r9, r1 - movs r0, 0x8 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _08014C2E - ldr r0, _08014C1C - add r4, sp, 0x3C - adds r1, r4, 0 - adds r2, r7, 0 - mov r3, r8 - bl AppendString_8014FA8 - ldr r0, _08014C20 - adds r1, r4, 0 - adds r2, r7, 0 - mov r3, r8 - bl AppendString_8014FA8 - b _08014C2E - .align 2, 0 -_08014C1C: .4byte gUnknown_202E5D8 -_08014C20: .4byte gUnknown_80D48F4 -_08014C24: - mov r0, r9 - cmp r0, 0 - beq _08014C2E - movs r1, 0 -_08014C2C: - mov r9, r1 -_08014C2E: - cmp r6, 0x23 - bne _08014C5A - ldrb r3, [r5, 0x1] - cmp r3, 0x50 - beq _08014C3C - cmp r3, 0x70 - bne _08014C42 -_08014C3C: - movs r0, 0x1 - mov r10, r0 - mov r9, r0 -_08014C42: - ldr r1, [sp, 0x3C] - adds r2, r1, 0x1 - cmp r2, r7 - bcs _08014C56 - movs r0, 0x23 - strb r0, [r1] - str r2, [sp, 0x3C] - strb r3, [r1, 0x1] - adds r0, r2, 0x1 - str r0, [sp, 0x3C] -_08014C56: - adds r5, 0x2 - b _08014F62 -_08014C5A: - cmp r6, 0x24 - beq _08014C60 - b _08014F26 -_08014C60: - movs r4, 0 - adds r5, 0x1 - ldrb r0, [r5] - subs r0, 0x24 - cmp r0, 0x52 - bls _08014C6E - b _08014F0E -_08014C6E: - lsls r0, 2 - ldr r1, _08014C78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08014C78: .4byte _08014C7C - .align 2, 0 -_08014C7C: - .4byte _08014F04 - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0C - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014EC4 - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014E60 - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014E54 - .4byte _08014DC8 - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014DDC - .4byte _08014E10 - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014F0E - .4byte _08014E24 - .4byte _08014F0E - .4byte _08014E84 -_08014DC8: - adds r5, 0x1 - ldrb r0, [r5] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 4 - ldr r0, _08014DD8 - adds r4, r1, r0 - b _08014F0C - .align 2, 0 -_08014DD8: .4byte gUnknown_202CF58 -_08014DDC: - adds r5, 0x1 - ldrb r0, [r5] - cmp r0, 0x6D - bne _08014DFC - bl sub_808D3BC - adds r1, r0, 0 - ldr r4, _08014DF8 - adds r0, r4, 0 - movs r2, 0 - bl PrintColoredPokeNameToBuffer - b _08014F0E - .align 2, 0 -_08014DF8: .4byte gUnknown_202EB80 -_08014DFC: - ldrb r0, [r5] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 4 - ldr r0, _08014E0C - adds r4, r1, r0 - b _08014F0C - .align 2, 0 -_08014E0C: .4byte gUnknown_202D098 -_08014E10: - adds r5, 0x1 - ldrb r0, [r5] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 4 - ldr r0, _08014E20 - adds r4, r1, r0 - b _08014F0C - .align 2, 0 -_08014E20: .4byte gFileCache + 0x110 -_08014E24: - adds r5, 0x1 - movs r0, 0 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _08014E40 - ldr r0, _08014E3C - bl sub_80920D8 - b _08014E48 - .align 2, 0 -_08014E3C: .4byte gTeamName -_08014E40: - ldr r0, _08014E4C - ldr r1, _08014E50 - bl strcpy -_08014E48: - ldr r4, _08014E4C - b _08014F0E - .align 2, 0 -_08014E4C: .4byte gTeamName -_08014E50: .4byte gUnknown_80D48F8 -_08014E54: - adds r5, 0x1 - ldr r4, _08014E5C - b _08014F0E - .align 2, 0 -_08014E5C: .4byte gUnknown_202E628 -_08014E60: - adds r5, 0x1 - ldr r1, _08014E7C - ldr r2, _08014E80 - ldrb r0, [r5] - subs r0, 0x30 - lsls r0, 2 - adds r0, r2 - adds r5, 0x1 - ldr r2, [r0] - mov r0, sp - bl sprintfStatic -_08014E78: - mov r4, sp - b _08014F0E - .align 2, 0 -_08014E7C: .4byte gUnknown_80D4900 -_08014E80: .4byte gFormatData_202DE30 -_08014E84: - adds r5, 0x1 - ldr r1, _08014EBC - ldrb r0, [r5] - subs r0, 0x30 - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r5, 0x1 - ldr r1, _08014EC0 - ldrb r2, [r5] - subs r2, 0x30 - adds r5, 0x1 - mov r0, sp - bl sprintfStatic - mov r0, sp - ldrb r1, [r0] - cmp r1, 0 - beq _08014E78 - movs r2, 0x60 -_08014EAC: - cmp r1, 0x20 - bne _08014EB2 - strb r2, [r0] -_08014EB2: - adds r0, 0x1 - ldrb r1, [r0] - cmp r1, 0 - bne _08014EAC - b _08014E78 - .align 2, 0 -_08014EBC: .4byte gFormatData_202DE30 -_08014EC0: .4byte gUnknown_80D4904 -_08014EC4: - adds r5, 0x1 - ldr r1, _08014EFC - ldrb r0, [r5] - subs r0, 0x30 - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r5, 0x1 - ldr r1, _08014F00 - ldrb r2, [r5] - subs r2, 0x30 - adds r5, 0x1 - mov r0, sp - bl sprintfStatic - mov r0, sp - ldrb r1, [r0] - cmp r1, 0 - beq _08014E78 - movs r2, 0x60 -_08014EEC: - cmp r1, 0x20 - bne _08014EF2 - strb r2, [r0] -_08014EF2: - adds r0, 0x1 - ldrb r1, [r0] - cmp r1, 0 - bne _08014EEC - b _08014E78 - .align 2, 0 -_08014EFC: .4byte gFormatData_202DE30 -_08014F00: .4byte gUnknown_80D4908 -_08014F04: - ldr r4, _08014F08 - b _08014F0E - .align 2, 0 -_08014F08: .4byte gUnknown_80D4910 -_08014F0C: - adds r5, 0x1 -_08014F0E: - cmp r4, 0 - beq _08014F62 - add r1, sp, 0x3C - adds r0, r4, 0 - adds r2, r7, 0 - mov r3, r8 - bl AppendString_8014FA8 - lsls r0, 24 - cmp r0, 0 - bne _08014F7E - b _08014F62 -_08014F26: - adds r0, r6, 0 - adds r0, 0x7F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08014F36 - cmp r6, 0x87 - bne _08014F54 -_08014F36: - ldr r0, [sp, 0x3C] - cmp r0, r7 - bcs _08014F42 - strb r6, [r0] - adds r0, 0x1 - str r0, [sp, 0x3C] -_08014F42: - adds r5, 0x1 - ldrb r1, [r5] - cmp r1, 0 - beq _08014F7E - ldr r0, [sp, 0x3C] - cmp r0, r7 - bcs _08014F60 - strb r1, [r0] - b _08014F5C -_08014F54: - ldr r0, [sp, 0x3C] - cmp r0, r7 - bcs _08014F60 - strb r6, [r0] -_08014F5C: - adds r0, 0x1 - str r0, [sp, 0x3C] -_08014F60: - adds r5, 0x1 -_08014F62: - ldrb r6, [r5] - cmp r6, 0 - beq _08014F7E - cmp r6, 0xD - beq _08014F72 - cmp r6, 0xA - beq _08014F72 - b _08014BEA -_08014F72: - movs r0, 0x80 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _08014F7E - b _08014BE6 -_08014F7E: - ldr r0, [sp, 0x3C] - movs r1, 0 - strb r1, [r0] - ldrb r0, [r5] - cmp r0, 0xD - bne _08014F8C - adds r5, 0x1 -_08014F8C: - ldrb r0, [r5] - cmp r0, 0xA - bne _08014F94 - adds r5, 0x1 -_08014F94: - adds r0, r5, 0 - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end xxx_format_string - - thumb_func_start AppendString_8014FA8 -AppendString_8014FA8: - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r3, 16 - lsrs r3, 16 - ldr r2, [r5] - ldrb r1, [r4] - cmp r1, 0 - beq _08014FE4 - movs r0, 0x80 - ands r0, r3 - lsls r0, 16 - lsrs r3, r0, 16 -_08014FC4: - cmp r3, 0 - beq _08014FD2 - cmp r1, 0xD - bne _08014FD2 - str r2, [r5] - movs r0, 0x1 - b _08014FE8 -_08014FD2: - cmp r2, r6 - bcs _08014FDC - ldrb r0, [r4] - strb r0, [r2] - adds r2, 0x1 -_08014FDC: - adds r4, 0x1 - ldrb r1, [r4] - cmp r1, 0 - bne _08014FC4 -_08014FE4: - str r2, [r5] - movs r0, 0 -_08014FE8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end AppendString_8014FA8 - - thumb_func_start PrintFormatStringOnWindow -PrintFormatStringOnWindow: - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x1F8 - adds r5, r0, 0 - adds r6, r1, 0 - adds r0, r2, 0 - mov r8, r3 - ldr r4, [sp, 0x20C] - add r2, sp, 0x1F8 - add r1, sp, 0x4 - movs r3, 0 - bl xxx_format_string - ldr r1, _08015030 - add r1, sp - movs r0, 0 - strb r0, [r1] - str r4, [sp] - adds r0, r5, 0 - adds r1, r6, 0 - add r2, sp, 0x4 - mov r3, r8 - bl PrintStringOnWindow - add sp, 0x1F8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08015030: .4byte 0x000001f7 - thumb_func_end PrintFormatStringOnWindow - - thumb_func_start sub_8015034 -sub_8015034: - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x1FC - adds r6, r0, 0 - mov r8, r1 - adds r0, r2, 0 - mov r9, r3 - ldr r4, [sp, 0x214] - ldr r5, [sp, 0x218] - add r2, sp, 0x1FC - add r1, sp, 0x8 - movs r3, 0 - bl xxx_format_string - ldr r1, _0801507C - add r1, sp - movs r0, 0 - strb r0, [r1] - str r4, [sp] - str r5, [sp, 0x4] - adds r0, r6, 0 - mov r1, r8 - add r2, sp, 0x8 - mov r3, r9 - bl sub_8008F8C - add sp, 0x1FC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801507C: .4byte 0x000001fb - thumb_func_end sub_8015034 - - .align 2,0 diff --git a/asm/code_801EE10.s b/asm/code_801EE10.s index a55a9075a..d40ea219e 100644 --- a/asm/code_801EE10.s +++ b/asm/code_801EE10.s @@ -39,7 +39,7 @@ sub_801F280: str r0, [sp] movs r0, 0xC movs r1, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r7, 0 ldr r0, [r4] movs r1, 0x36 @@ -74,7 +74,7 @@ _0801F2E0: b _0801F31A .align 2, 0 _0801F30C: .4byte gUnknown_203B270 -_0801F310: .4byte gAvailablePokemonNames +_0801F310: .4byte gFormatBuffer_Monsters _0801F314: .4byte gUnknown_80DC28C _0801F318: movs r0, 0x4 @@ -131,7 +131,7 @@ _0801F372: adds r0, r4, 0 adds r1, r6, 0 ldr r2, _0801F3F4 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _0801F386: adds r7, 0x1 mov r1, r8 @@ -168,7 +168,7 @@ _0801F394: str r0, [sp] movs r0, 0x8 movs r1, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r0, [r4] ldr r0, [r0, 0x54] bl sub_80073E0 @@ -182,7 +182,7 @@ _0801F3DC: pop {r0} bx r0 .align 2, 0 -_0801F3EC: .4byte gFormatItems +_0801F3EC: .4byte gFormatBuffer_Items _0801F3F0: .4byte gUnknown_203B270 _0801F3F4: .4byte gUnknown_80DC2A0 thumb_func_end sub_801F280 diff --git a/asm/code_8040094.s b/asm/code_8040094.s index 6b1bf2584..901f1929a 100644 --- a/asm/code_8040094.s +++ b/asm/code_8040094.s @@ -1739,7 +1739,7 @@ _08040EB8: .4byte gUnknown_202F224 _08040EBC: .4byte gDungeon _08040EC0: .4byte 0x00018204 _08040EC4: .4byte gUnknown_8106A8C -_08040EC8: .4byte gFormatData_202DE30 +_08040EC8: .4byte gFormatArgs _08040ECC: .4byte gPtrMagnitudeMessage _08040ED0: cmp r1, 0x76 diff --git a/asm/code_8045A00.s b/asm/code_8045A00.s index 12fcf8310..77143e088 100644 --- a/asm/code_8045A00.s +++ b/asm/code_8045A00.s @@ -69,8 +69,8 @@ _08045E1E: ldr r0, _08045E3C b _08046048 .align 2, 0 -_08045E34: .4byte gFormatItems -_08045E38: .4byte gAvailablePokemonNames +_08045E34: .4byte gFormatBuffer_Items +_08045E38: .4byte gFormatBuffer_Monsters _08045E3C: .4byte gMonTerrifiedCouldntPickUpItem _08045E40: ldrb r0, [r5, 0x2] @@ -94,7 +94,7 @@ _08045E40: ldr r0, _08045E78 b _08045FD0 .align 2, 0 -_08045E74: .4byte gFormatItems +_08045E74: .4byte gFormatBuffer_Items _08045E78: .4byte gPickedUpItem _08045E7C: ldr r0, _08045EA8 @@ -282,7 +282,7 @@ _08045FD0: b _08045FF2 .align 2, 0 _08045FDC: .4byte 0x00ff0008 -_08045FE0: .4byte gFormatItems +_08045FE0: .4byte gFormatBuffer_Items _08045FE4: .4byte gPickedUpItem2 _08045FE8: ldr r0, _08045FFC @@ -339,8 +339,8 @@ _08046048: bl TryDisplayDungeonLoggableMessage b _080460E0 .align 2, 0 -_08046054: .4byte gFormatItems -_08046058: .4byte gAvailablePokemonNames +_08046054: .4byte gFormatBuffer_Items +_08046058: .4byte gFormatBuffer_Monsters _0804605C: .4byte gMonSteppedOnItem _08046060: movs r0, 0xA5 @@ -363,7 +363,7 @@ _08046060: ldr r0, _08046090 b _080460AC .align 2, 0 -_0804608C: .4byte gFormatItems +_0804608C: .4byte gFormatBuffer_Items _08046090: .4byte gPickedUpItem2 _08046094: adds r0, r5, 0 @@ -382,7 +382,7 @@ _080460AC: bl TryDisplayDungeonLoggableMessage b _080460DA .align 2, 0 -_080460B8: .4byte gAvailablePokemonNames +_080460B8: .4byte gFormatBuffer_Monsters _080460BC: .4byte gMonCouldntPickUpItem _080460C0: ldr r0, _080460F0 @@ -408,7 +408,7 @@ _080460E0: pop {r0} bx r0 .align 2, 0 -_080460F0: .4byte gFormatItems +_080460F0: .4byte gFormatBuffer_Items _080460F4: .4byte gPickedUpItemToolbox thumb_func_end sub_8045DB4 @@ -1128,7 +1128,7 @@ _08046644: b _0804671E .align 2, 0 _08046688: .4byte gUnknown_80F4468 -_0804668C: .4byte gFormatItems +_0804668C: .4byte gFormatBuffer_Items _08046690: cmp r0, 0x2 beq _080466A4 diff --git a/asm/code_8046CE4.s b/asm/code_8046CE4.s index 73a27c892..e7544cb38 100644 --- a/asm/code_8046CE4.s +++ b/asm/code_8046CE4.s @@ -446,8 +446,8 @@ _080474A6: _080474B8: .4byte 0x00000195 _080474BC: .4byte gDungeon _080474C0: .4byte 0x0001c05e -_080474C4: .4byte gAvailablePokemonNames -_080474C8: .4byte gFormatItems +_080474C4: .4byte gFormatBuffer_Monsters +_080474C8: .4byte gFormatBuffer_Items _080474CC: .4byte gUnknown_80F94C4 _080474D0: ldr r1, [sp, 0x260] @@ -478,8 +478,8 @@ _080474E2: bl TryDisplayDungeonLoggableMessage3 b _08047524 .align 2, 0 -_0804750C: .4byte gAvailablePokemonNames -_08047510: .4byte gFormatItems +_0804750C: .4byte gFormatBuffer_Monsters +_08047510: .4byte gFormatBuffer_Items _08047514: .4byte gUnknown_80F94D8 _08047518: ldr r0, _08047564 @@ -565,7 +565,7 @@ _080475A8: pop {r0} bx r0 .align 2, 0 -_080475BC: .4byte gFormatItems +_080475BC: .4byte gFormatBuffer_Items _080475C0: .4byte gUnknown_80F9530 thumb_func_end sub_8047190 @@ -952,8 +952,8 @@ _080478B8: b _08047904 .align 2, 0 _080478CC: .4byte 0xffffff00 -_080478D0: .4byte gFormatItems -_080478D4: .4byte gAvailablePokemonNames +_080478D0: .4byte gFormatBuffer_Items +_080478D4: .4byte gFormatBuffer_Monsters _080478D8: .4byte gUnknown_80F94C4 _080478DC: cmp r7, 0 diff --git a/asm/code_805D8C8.s b/asm/code_805D8C8.s index 7c45e093e..a4d028c38 100644 --- a/asm/code_805D8C8.s +++ b/asm/code_805D8C8.s @@ -1568,7 +1568,7 @@ _08062650: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow mov r0, r10 bl GetIQSkillDescription adds r2, r0, 0 @@ -1577,7 +1577,7 @@ _08062650: movs r0, 0x8 movs r1, 0x10 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 mov r0, r10 @@ -1587,7 +1587,7 @@ _08062650: adds r5, r0, 0 b _080626EA .align 2, 0 -_080626CC: .4byte gFormatItems +_080626CC: .4byte gFormatBuffer_Items _080626D0: .4byte gUnknown_80FE95C _080626D4: movs r0, 0x2 @@ -1698,7 +1698,7 @@ _0806276C: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow mov r0, r10 bl GetTacticsDescription adds r2, r0, 0 @@ -1707,7 +1707,7 @@ _0806276C: movs r0, 0x8 movs r1, 0x10 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 mov r0, r10 @@ -1717,7 +1717,7 @@ _0806276C: adds r5, r0, 0 b _080627FE .align 2, 0 -_080627E0: .4byte gFormatItems +_080627E0: .4byte gFormatBuffer_Items _080627E4: .4byte gUnknown_80FE960 _080627E8: movs r0, 0x2 @@ -1851,7 +1851,7 @@ sub_806285C: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow mov r0, r10 bl sub_808E51C adds r2, r0, 0 @@ -1860,13 +1860,13 @@ sub_806285C: movs r0, 0x8 movs r1, 0x10 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 add r4, sp, 0x4 b _08062938 .align 2, 0 -_0806291C: .4byte gFormatItems +_0806291C: .4byte gFormatBuffer_Items _08062920: .4byte gUnknown_80FE964 _08062924: movs r0, 0x2 @@ -2179,7 +2179,7 @@ sub_8062B74: movs r0, 0xC movs r1, 0 movs r3, 0x2 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r1, 0x10 mov r8, r1 mov r0, r9 @@ -2198,7 +2198,7 @@ _08062BCA: movs r0, 0x1 b _08062BDA .align 2, 0 -_08062BD0: .4byte gAvailablePokemonNames +_08062BD0: .4byte gFormatBuffer_Monsters _08062BD4: .4byte gUnknown_80FE978 _08062BD8: movs r0, 0 @@ -2212,7 +2212,7 @@ _08062BDE: movs r0, 0xC mov r1, r8 movs r3, 0x2 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow b _08062C8A .align 2, 0 _08062BF0: .4byte gUnknown_8106C90 @@ -2284,7 +2284,7 @@ _08062C6C: mov r1, r8 ldr r2, _08062CA4 movs r3, 0x2 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0xC add r8, r0 _08062C80: @@ -2305,7 +2305,7 @@ _08062C8A: pop {r0} bx r0 .align 2, 0 -_08062CA0: .4byte gFormatItems +_08062CA0: .4byte gFormatBuffer_Items _08062CA4: .4byte gUnknown_8106C98 thumb_func_end sub_8062B74 @@ -2330,7 +2330,7 @@ sub_8062CA8: movs r0, 0xC movs r1, 0 movs r3, 0x2 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r7, 0x8 movs r6, 0x12 adds r0, r5, 0 @@ -2349,7 +2349,7 @@ _08062CF4: movs r0, 0x1 b _08062D02 .align 2, 0 -_08062CF8: .4byte gAvailablePokemonNames +_08062CF8: .4byte gFormatBuffer_Monsters _08062CFC: .4byte gUnknown_80FE940 _08062D00: movs r0, 0 @@ -2379,7 +2379,7 @@ _08062D18: _08062D2C: adds r1, r6, 0 movs r3, 0x2 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow b _08062D52 .align 2, 0 _08062D38: .4byte gUnknown_8106C9C @@ -2392,7 +2392,7 @@ _08062D3C: adds r0, r7, 0 adds r1, r6, 0 movs r3, 0x2 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _08062D52: movs r0, 0x2 bl sub_80073E0 @@ -2401,7 +2401,7 @@ _08062D52: pop {r0} bx r0 .align 2, 0 -_08062D60: .4byte gFormatItems +_08062D60: .4byte gFormatBuffer_Items _08062D64: .4byte gUnknown_8106C98 thumb_func_end sub_8062CA8 @@ -3359,7 +3359,7 @@ _08063508: .4byte gUnknown_8106CAC _0806350C: .4byte gUnknown_202EE10 _08063510: .4byte gUnknown_202F2D8 _08063514: .4byte gUnknown_2027370 -_08063518: .4byte gAvailablePokemonNames +_08063518: .4byte gFormatBuffer_Monsters _0806351C: movs r0, 0x2 ands r0, r1 @@ -3390,7 +3390,7 @@ _08063526: movs r0, 0x4 movs r1, 0 movs r3, 0x2 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0x2 bl sub_80073E0 add sp, 0x24 @@ -3439,7 +3439,7 @@ sub_8063578: adds r0, r4, 0 movs r1, 0 mov r3, r8 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r1, 0 mov r9, r1 ldr r0, [sp, 0x10] @@ -3472,7 +3472,7 @@ _080635D0: movs r0, 0x2 b _08063606 .align 2, 0 -_080635FC: .4byte gAvailablePokemonNames +_080635FC: .4byte gFormatBuffer_Monsters _08063600: .4byte gUnknown_80FE978 _08063604: movs r0, 0x4 @@ -3522,7 +3522,7 @@ _08063658: adds r1, r4, 0 ldr r2, _08063694 mov r3, r8 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _08063668: adds r7, 0x8 adds r5, 0x8 @@ -3543,7 +3543,7 @@ _08063676: pop {r0} bx r0 .align 2, 0 -_0806368C: .4byte gFormatItems +_0806368C: .4byte gFormatBuffer_Items _08063690: .4byte gUnknown_202EE10 _08063694: .4byte gUnknown_8106CC4 thumb_func_end sub_8063578 @@ -4001,13 +4001,13 @@ sub_80639E4: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r2, [r5, 0x4] str r4, [sp] movs r0, 0x4 movs r1, 0x10 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 ldr r0, _08063A6C @@ -4032,7 +4032,7 @@ sub_80639E4: .align 2, 0 _08063A5C: .4byte gUnknown_202F278 _08063A60: .4byte gUnknown_8106CC8 -_08063A64: .4byte gAvailablePokemonNames +_08063A64: .4byte gFormatBuffer_Monsters _08063A68: .4byte gUnknown_8106CCC _08063A6C: .4byte gUnknown_202EE10 thumb_func_end sub_80639E4 @@ -4127,7 +4127,7 @@ _08063AEC: .align 2, 0 _08063B1C: .4byte gDungeon _08063B20: .4byte 0x0001357c -_08063B24: .4byte gFormatItems +_08063B24: .4byte gFormatBuffer_Items _08063B28: .4byte 0x00000133 _08063B2C: .4byte gUnknown_80F8B40 _08063B30: @@ -4192,7 +4192,7 @@ sub_8063B54: .align 2, 0 _08063BA4: .4byte gDungeon _08063BA8: .4byte 0x0001357c -_08063BAC: .4byte gFormatItems +_08063BAC: .4byte gFormatBuffer_Items _08063BB0: .4byte 0x00000133 thumb_func_end sub_8063B54 @@ -4294,9 +4294,9 @@ _08063C5C: .align 2, 0 _08063C70: .4byte gDungeon _08063C74: .4byte 0x0001357c -_08063C78: .4byte gFormatItems +_08063C78: .4byte gFormatBuffer_Items _08063C7C: .4byte 0x00000119 -_08063C80: .4byte gUnknown_202DEA8 +_08063C80: .4byte gFormatBuffer_Items + 0x50 _08063C84: .4byte 0x00000133 thumb_func_end sub_8063BB4 @@ -4447,7 +4447,7 @@ _08063D70: .align 2, 0 _08063D98: .4byte gDungeon _08063D9C: .4byte 0x0001357c -_08063DA0: .4byte gFormatItems +_08063DA0: .4byte gFormatBuffer_Items _08063DA4: .4byte 0x00000119 _08063DA8: .4byte 0x00000133 _08063DAC: .4byte gUnknown_80F8B88 @@ -4906,7 +4906,7 @@ _08064130: b _0806414E .align 2, 0 _08064140: .4byte gUnknown_202F2D8 -_08064144: .4byte gFormatItems +_08064144: .4byte gFormatBuffer_Items _08064148: .4byte gUnknown_80FDF00 _0806414C: ldr r0, _0806415C @@ -5143,7 +5143,7 @@ _08064262: .align 2, 0 _08064304: .4byte gUnknown_202EE10 _08064308: .4byte gUnknown_202F2D8 -_0806430C: .4byte gAvailablePokemonNames +_0806430C: .4byte gFormatBuffer_Monsters thumb_func_end sub_8064228 thumb_func_start sub_8064310 @@ -7168,7 +7168,7 @@ _080652D2: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow adds r0, r4, 0 movs r1, 0 bl sub_8013800 @@ -7178,7 +7178,7 @@ _080652D2: str r7, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow adds r0, r4, 0 movs r1, 0x1 bl sub_8013800 @@ -7188,7 +7188,7 @@ _080652D2: str r7, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow adds r0, r4, 0 movs r1, 0x2 bl sub_8013800 @@ -7198,7 +7198,7 @@ _080652D2: str r7, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r5, 0x4 adds r0, r4, 0 movs r1, 0x3 @@ -7209,7 +7209,7 @@ _080652D2: str r7, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, _080653D8 ldr r0, [r1] movs r1, 0xCB @@ -7232,7 +7232,7 @@ _080652D2: str r7, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow b _0806540E .align 2, 0 _080653D0: .4byte gUnknown_202EE10 @@ -7255,7 +7255,7 @@ _080653F4: str r7, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _0806540E: ldr r0, _08065444 adds r1, r5, 0 @@ -7267,7 +7267,7 @@ _0806540E: str r0, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 add sp, 0xC8 @@ -7378,7 +7378,7 @@ sub_806544C: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow adds r0, r4, 0 movs r1, 0 bl sub_8013800 @@ -7391,7 +7391,7 @@ sub_806544C: str r5, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow adds r0, r4, 0 movs r1, 0x1 bl sub_8013800 @@ -7403,7 +7403,7 @@ sub_806544C: str r5, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 add sp, 0xC8 @@ -7530,28 +7530,28 @@ CreateFieldGameOptionsMenu: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, [sp, 0x4] ldr r0, _080656B4 ldr r2, [r0] str r6, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, [sp, 0x8] ldr r0, _080656B8 ldr r2, [r0] str r6, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, [sp, 0xC] ldr r0, _080656BC ldr r2, [r0] str r6, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 add sp, 0xD4 @@ -7692,42 +7692,42 @@ CreateFieldDungeonMenu: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, [sp, 0x4] ldr r0, _08065848 ldr r2, [r0] str r5, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, [sp, 0x8] ldr r0, _0806584C ldr r2, [r0] str r5, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, [sp, 0xC] ldr r0, _08065850 ldr r2, [r0] str r5, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, [sp, 0x10] ldr r0, _08065854 ldr r2, [r0] str r5, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, [sp, 0x14] ldr r0, _08065858 ldr r2, [r0] str r5, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r0, _0806585C ldrb r0, [r0] adds r4, r7, 0 @@ -7975,14 +7975,14 @@ _08065A0A: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, [r6] ldr r0, _08065A84 ldr r2, [r0] str r4, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r0, _08065A88 ldrb r1, [r0, 0x8] lsls r3, r1, 2 @@ -8412,7 +8412,7 @@ sub_8065CAC: movs r0, 0x10 movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r4, 0 ldr r5, _08065DB8 _08065D7A: @@ -8425,7 +8425,7 @@ _08065D7A: str r0, [sp] movs r0, 0x8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow adds r4, 0x1 cmp r4, 0x6 ble _08065D7A @@ -8581,7 +8581,7 @@ _08065E0C: str r7, [sp] movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r1, _08065F38 ldr r2, [sp, 0xC8] lsls r0, r2, 5 @@ -8592,7 +8592,7 @@ _08065E0C: movs r0, 0x8 movs r1, 0x10 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 _08065EF4: @@ -9004,7 +9004,7 @@ _08066208: mov r1, r8 add r2, sp, 0x4 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _08066244: subs r7, 0x1 adds r5, 0x2 @@ -9017,7 +9017,7 @@ _08066244: .align 2, 0 _08066254: .4byte gUnknown_80FEA80 _08066258: .4byte gUnknown_8106D8C -_0806625C: .4byte gAvailablePokemonNames +_0806625C: .4byte gFormatBuffer_Monsters _08066260: ldr r0, _08066284 ldr r2, [r0] @@ -9102,7 +9102,7 @@ _080662C4: movs r1, 0x14 add r2, sp, 0x4 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 movs r0, 0x45 @@ -9130,7 +9130,7 @@ _0806633E: bx r1 .align 2, 0 _08066348: .4byte gUnknown_8106D8C -_0806634C: .4byte gAvailablePokemonNames +_0806634C: .4byte gFormatBuffer_Monsters _08066350: .4byte gUnknown_203B084 _08066354: .4byte gUnknown_202F2F8 thumb_func_end sub_8066288 @@ -9204,7 +9204,7 @@ _080663A0: adds r1, r6, 0 add r2, sp, 0x4 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0 bl sub_80073E0 movs r0, 0xD @@ -9232,7 +9232,7 @@ _0806641A: bx r1 .align 2, 0 _08066424: .4byte gUnknown_8106D8C -_08066428: .4byte gAvailablePokemonNames +_08066428: .4byte gFormatBuffer_Monsters _0806642C: .4byte gUnknown_203B080 _08066430: .4byte gUnknown_202F2F8 thumb_func_end sub_8066358 diff --git a/asm/code_805D8C8_1.s b/asm/code_805D8C8_1.s index 7e850607d..c8b821026 100644 --- a/asm/code_805D8C8_1.s +++ b/asm/code_805D8C8_1.s @@ -240,7 +240,7 @@ _08068AB2: .align 2, 0 _08068AE0: .4byte gRecruitedPokemonRef _08068AE4: .4byte 0x00008df8 -_08068AE8: .4byte gAvailablePokemonNames +_08068AE8: .4byte gFormatBuffer_Monsters _08068AEC: .4byte gUnknown_80FE0F4 _08068AF0: cmp r0, 0x47 @@ -310,7 +310,7 @@ _08068B3E: _08068B6C: .4byte gRecruitedPokemonRef _08068B70: .4byte 0x00008df8 _08068B74: .4byte 0x000055aa -_08068B78: .4byte gAvailablePokemonNames +_08068B78: .4byte gFormatBuffer_Monsters _08068B7C: .4byte gUnknown_80FE134 _08068B80: adds r5, 0x1 @@ -326,7 +326,7 @@ _08068B80: ldr r0, _08068BA0 b _08068BB2 .align 2, 0 -_08068B9C: .4byte gAvailablePokemonNames +_08068B9C: .4byte gFormatBuffer_Monsters _08068BA0: .4byte gUnknown_80FE0F4 _08068BA4: cmp r0, 0x47 @@ -690,7 +690,7 @@ _08068E52: movs r0, 0x1 b _08068E82 .align 2, 0 -_08068E78: .4byte gFormatItems +_08068E78: .4byte gFormatBuffer_Items _08068E7C: .4byte gUnknown_80FE1A4 _08068E80: movs r0, 0 diff --git a/asm/code_8066D04.s b/asm/code_8066D04.s index 3fe1490cd..1bce6405c 100644 --- a/asm/code_8066D04.s +++ b/asm/code_8066D04.s @@ -54,7 +54,7 @@ _08066E54: ldr r0, _08066E7C b _08066F1E .align 2, 0 -_08066E78: .4byte gFormatItems +_08066E78: .4byte gFormatBuffer_Items _08066E7C: .4byte gUnknown_80F8BE0 _08066E80: ldr r1, [sp, 0x8] @@ -73,7 +73,7 @@ _08066E80: ldr r0, _08066EA4 b _08066F1E .align 2, 0 -_08066EA0: .4byte gUnknown_202DEA8 +_08066EA0: .4byte gFormatBuffer_Items + 0x50 _08066EA4: .4byte gItemStickyCannotMove3 _08066EA8: mov r2, r9 @@ -185,7 +185,7 @@ _08066F7E: pop {r0} bx r0 .align 2, 0 -_08066F90: .4byte gFormatItems +_08066F90: .4byte gFormatBuffer_Items _08066F94: .4byte 0x0000014d _08066F98: .4byte gSwappedGroundItem _08066F9C: .4byte gDungeon @@ -236,7 +236,7 @@ sub_8066FA4: ldr r0, _08067004 b _0806709E .align 2, 0 -_08067000: .4byte gFormatItems +_08067000: .4byte gFormatBuffer_Items _08067004: .4byte gItemStickyCannotMove3 _08067008: mov r0, r9 @@ -317,7 +317,7 @@ _0806709E: bl TryDisplayDungeonLoggableMessage b _080670EE .align 2, 0 -_080670A8: .4byte gUnknown_202DEA8 +_080670A8: .4byte gFormatBuffer_Items + 0x50 _080670AC: .4byte 0xffffff00 _080670B0: .4byte gNothingCanBePutDownHere _080670B4: @@ -421,8 +421,8 @@ _08067188: pop {r0} bx r0 .align 2, 0 -_08067190: .4byte gFormatItems -_08067194: .4byte gAvailablePokemonNames +_08067190: .4byte gFormatBuffer_Items +_08067194: .4byte gFormatBuffer_Monsters _08067198: .4byte gDungeon _0806719C: .4byte 0x00003a08 thumb_func_end sub_8067110 @@ -459,7 +459,7 @@ sub_80671A0: ldr r0, _080671E4 b _08067230 .align 2, 0 -_080671E0: .4byte gFormatItems +_080671E0: .4byte gFormatBuffer_Items _080671E4: .4byte gUnknown_80F8BE0 _080671E8: ldrb r0, [r4, 0x2] @@ -485,7 +485,7 @@ _08067202: ldr r0, _0806721C b _08067230 .align 2, 0 -_08067218: .4byte gFormatItems +_08067218: .4byte gFormatBuffer_Items _0806721C: .4byte gUnknown_80F8BE0 _08067220: adds r0, r6, 0 @@ -680,8 +680,8 @@ _08067384: bl TryDisplayDungeonLoggableMessage b _080673C6 .align 2, 0 -_080673B0: .4byte gFormatItems -_080673B4: .4byte gAvailablePokemonNames +_080673B0: .4byte gFormatBuffer_Items +_080673B4: .4byte gFormatBuffer_Monsters _080673B8: .4byte gMonThrewItem2 _080673BC: ldr r0, _080673F8 @@ -976,7 +976,7 @@ _08067600: movs r0, 0 b _08067716 .align 2, 0 -_08067608: .4byte gAvailablePokemonNames +_08067608: .4byte gFormatBuffer_Monsters _0806760C: .4byte gUnknown_80FE008 _08067610: adds r0, r6, 0x4 @@ -1224,7 +1224,7 @@ _080677B4: ldr r0, _08067808 b _08067832 .align 2, 0 -_080677F0: .4byte gAvailablePokemonNames +_080677F0: .4byte gFormatBuffer_Monsters _080677F4: .4byte gSayFarewellQ _080677F8: .4byte gUnknown_80F913C _080677FC: .4byte gRecruitedPokemonRef @@ -1285,7 +1285,7 @@ _0806786C: .align 2, 0 _08067874: .4byte gSendMonBackWithItemQ _08067878: .4byte gMonWentBack -_0806787C: .4byte gAvailablePokemonNames +_0806787C: .4byte gFormatBuffer_Monsters _08067880: .4byte 0x0000021d thumb_func_end sub_8067794 @@ -1385,7 +1385,7 @@ sub_8067904: b _08067962 .align 2, 0 _08067940: .4byte gUnknown_202F208 -_08067944: .4byte gAvailablePokemonNames +_08067944: .4byte gFormatBuffer_Monsters _08067948: .4byte gMonCringing _0806794C: adds r0, r6, 0 @@ -1404,7 +1404,7 @@ _08067962: bl TryDisplayDungeonLoggableMessage b _08067A56 .align 2, 0 -_0806796C: .4byte gAvailablePokemonNames +_0806796C: .4byte gFormatBuffer_Monsters _08067970: .4byte gMonParalyzed _08067974: movs r0, 0xB0 @@ -2125,12 +2125,12 @@ sub_8067F00: movs r0, 0xC movs r1, 0 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r1, 0 mov r10, r1 b _08067FF6 .align 2, 0 -_08067F44: .4byte gAvailablePokemonNames +_08067F44: .4byte gFormatBuffer_Monsters _08067F48: .4byte gUnknown_8106E28 _08067F4C: ldr r4, _08067F8C @@ -2162,9 +2162,9 @@ _08067F4C: bl strcpy b _08067FA4 .align 2, 0 -_08067F8C: .4byte gAvailablePokemonNames -_08067F90: .4byte gFormatData_202DE30 -_08067F94: .4byte gFormatItems +_08067F8C: .4byte gFormatBuffer_Monsters +_08067F90: .4byte gFormatArgs +_08067F94: .4byte gFormatBuffer_Items _08067F98: .4byte gUnknown_8106E2C _08067F9C: ldr r0, _08067FCC @@ -2188,10 +2188,10 @@ _08067FA4: movs r0, 0x7 mov r1, r8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow b _08067FE6 .align 2, 0 -_08067FCC: .4byte gFormatItems +_08067FCC: .4byte gFormatBuffer_Items _08067FD0: .4byte gUnknown_8106E30 _08067FD4: .4byte gUnknown_8106E34 _08067FD8: @@ -2200,7 +2200,7 @@ _08067FD8: movs r0, 0x7 mov r1, r8 movs r3, 0 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _08067FE6: movs r2, 0x1 add r10, r2 @@ -2232,7 +2232,7 @@ _08068000: movs r0, 0x8 movs r1, 0x2 movs r3, 0x1 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow b _0806804C .align 2, 0 _08068028: .4byte gUnknown_8106E48 @@ -2249,7 +2249,7 @@ _08068034: movs r0, 0x8 movs r1, 0x2 movs r3, 0x1 - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _0806804C: movs r0, 0x1 bl sub_80073E0 @@ -2262,7 +2262,7 @@ _0806804C: pop {r0} bx r0 .align 2, 0 -_08068064: .4byte gFormatData_202DE30 +_08068064: .4byte gFormatArgs _08068068: .4byte gUnknown_8106E6C thumb_func_end sub_8067F00 diff --git a/asm/code_8069E0C.s b/asm/code_8069E0C.s index d0e63154f..fc6d11927 100644 --- a/asm/code_8069E0C.s +++ b/asm/code_8069E0C.s @@ -579,7 +579,7 @@ _0806A818: mov r0, sp b _0806A836 .align 2, 0 -_0806A828: .4byte gAvailablePokemonNames +_0806A828: .4byte gFormatBuffer_Monsters _0806A82C: adds r1, 0x1 cmp r1, r9 @@ -634,7 +634,7 @@ _0806A87A: pop {r0} bx r0 .align 2, 0 -_0806A890: .4byte gFormatItems +_0806A890: .4byte gFormatBuffer_Items _0806A894: .4byte gUnknown_80FEAC4 thumb_func_end sub_806A7E8 diff --git a/asm/code_806E8B0.s b/asm/code_806E8B0.s index 640692a65..a155a5157 100644 --- a/asm/code_806E8B0.s +++ b/asm/code_806E8B0.s @@ -702,7 +702,7 @@ _0806F098: .4byte gDungeon _0806F09C: .4byte 0x00000ccc _0806F0A0: .4byte gUnknown_8106F24 _0806F0A4: .4byte gUnknown_8106F04 -_0806F0A8: .4byte gUnknown_202DFE8 +_0806F0A8: .4byte gFormatBuffer_Monsters + 0x50 _0806F0AC: .4byte gUnknown_80FAE00 _0806F0B0: ldr r0, _0806F15C diff --git a/asm/code_80718D8.s b/asm/code_80718D8.s index 1fda8adc4..32972ad78 100644 --- a/asm/code_80718D8.s +++ b/asm/code_80718D8.s @@ -178,8 +178,8 @@ _08072894: bl DisplayDungeonLoggableMessage b _08072928 .align 2, 0 -_080728C8: .4byte gAvailablePokemonNames -_080728CC: .4byte gFormatItems +_080728C8: .4byte gFormatBuffer_Monsters +_080728CC: .4byte gFormatBuffer_Items _080728D0: .4byte gUnknown_80F9F04 _080728D4: mov r1, r8 @@ -373,8 +373,8 @@ _08072A0C: bl DisplayDungeonLoggableMessage b _08072A8C .align 2, 0 -_08072A44: .4byte gAvailablePokemonNames -_08072A48: .4byte gFormatItems +_08072A44: .4byte gFormatBuffer_Monsters +_08072A48: .4byte gFormatBuffer_Items _08072A4C: .4byte gUnknown_80F9F04 _08072A50: movs r0, 0 @@ -434,7 +434,7 @@ _08072AB0: pop {r1} bx r1 .align 2, 0 -_08072AC0: .4byte gAvailablePokemonNames +_08072AC0: .4byte gFormatBuffer_Monsters _08072AC4: .4byte gUnknown_80F9F2C thumb_func_end sub_8072938 diff --git a/asm/code_8072CF4.s b/asm/code_8072CF4.s index 305f13b9a..b1f3b13b7 100644 --- a/asm/code_8072CF4.s +++ b/asm/code_8072CF4.s @@ -171,7 +171,7 @@ _080733FC: b _08073456 .align 2, 0 _08073434: .4byte 0x00000147 -_08073438: .4byte gAvailablePokemonNames +_08073438: .4byte gFormatBuffer_Monsters _0807343C: .4byte gUnknown_80FCF38 _08073440: adds r0, r5, 0x4 @@ -408,7 +408,7 @@ _080735EE: pop {r0} bx r0 .align 2, 0 -_08073600: .4byte gAvailablePokemonNames +_08073600: .4byte gFormatBuffer_Monsters _08073604: .4byte gUnknown_80FCF50 _08073608: .4byte 0x00000165 thumb_func_end sub_807348C diff --git a/asm/code_807CD9C.s b/asm/code_807CD9C.s index 40d18888a..391f34e32 100644 --- a/asm/code_807CD9C.s +++ b/asm/code_807CD9C.s @@ -651,7 +651,7 @@ sub_807DA14: ldr r0, _0807DA4C b _0807DA5C .align 2, 0 -_0807DA48: .4byte gAvailablePokemonNames +_0807DA48: .4byte gFormatBuffer_Monsters _0807DA4C: .4byte gUnknown_80FCB98 _0807DA50: bl IsCurrentFixedRoomBossFight @@ -1321,7 +1321,7 @@ _0807DF8E: .align 2, 0 _0807DFA8: .4byte gDungeon _0807DFAC: .4byte 0x000135cc -_0807DFB0: .4byte gAvailablePokemonNames +_0807DFB0: .4byte gFormatBuffer_Monsters _0807DFB4: mov r0, r10 bl GetApparentWeather @@ -1552,7 +1552,7 @@ _0807E174: pop {r0} bx r0 .align 2, 0 -_0807E184: .4byte gAvailablePokemonNames +_0807E184: .4byte gFormatBuffer_Monsters _0807E188: .4byte gUnknown_80F96BC _0807E18C: .4byte gUnknown_8107178 _0807E190: .4byte 0xffff0000 diff --git a/asm/code_807E5AC.s b/asm/code_807E5AC.s index 29e0b4e27..af8aa17e5 100644 --- a/asm/code_807E5AC.s +++ b/asm/code_807E5AC.s @@ -257,7 +257,7 @@ _0807E866: _0807E874: .4byte gDungeon _0807E878: .4byte 0x000181f8 _0807E87C: .4byte 0x0001356c -_0807E880: .4byte gAvailablePokemonNames +_0807E880: .4byte gFormatBuffer_Monsters _0807E884: .4byte gUnknown_80FC5E0 _0807E888: .4byte 0x000135cc thumb_func_end sub_807E7FC @@ -1392,7 +1392,7 @@ _0807F158: _0807F168: .4byte gDungeon _0807F16C: .4byte 0xffff0000 _0807F170: .4byte 0xff00ffff -_0807F174: .4byte gFormatData_202DE30 +_0807F174: .4byte gFormatArgs _0807F178: .4byte gUnknown_80FE5C0 _0807F17C: .4byte 0x0000068c _0807F180: .4byte 0x0000e240 @@ -1451,7 +1451,7 @@ _0807F1EC: .4byte 0xffff0000 _0807F1F0: .4byte 0xff00ffff _0807F1F4: .4byte gDungeon _0807F1F8: .4byte 0x00000694 -_0807F1FC: .4byte gFormatData_202DE30 +_0807F1FC: .4byte gFormatArgs _0807F200: .4byte gUnknown_80FE568 _0807F204: ldr r0, _0807F224 @@ -1752,7 +1752,7 @@ sub_807F43C: ldr r0, _0807F46C b _0807F694 .align 2, 0 -_0807F468: .4byte gAvailablePokemonNames +_0807F468: .4byte gFormatBuffer_Monsters _0807F46C: .4byte gUnknown_80FCB40 _0807F470: ldr r0, [sp, 0xEC] @@ -1767,7 +1767,7 @@ _0807F470: mov r0, r8 b _0807F698 .align 2, 0 -_0807F488: .4byte gAvailablePokemonNames +_0807F488: .4byte gFormatBuffer_Monsters _0807F48C: .4byte gUnknown_80FCB70 _0807F490: mov r1, r8 @@ -2249,7 +2249,7 @@ _0807F7FC: bl sub_807F9BC b _0807F99C .align 2, 0 -_0807F860: .4byte gAvailablePokemonNames +_0807F860: .4byte gFormatBuffer_Monsters _0807F864: .4byte gUnknown_80FE690 _0807F868: .4byte 0x000001a3 _0807F86C: .4byte gAdjacentTileOffsets diff --git a/asm/code_808417C.s b/asm/code_808417C.s index 73881682c..f105d3a3f 100644 --- a/asm/code_808417C.s +++ b/asm/code_808417C.s @@ -336,7 +336,7 @@ sub_8084448: ldr r0, _08084480 b _080844F0 .align 2, 0 -_0808447C: .4byte gAvailablePokemonNames +_0808447C: .4byte gFormatBuffer_Monsters _08084480: .4byte gUnknown_80FA464 _08084484: ldr r4, _080844FC @@ -405,7 +405,7 @@ _080844F0: _080844FC: .4byte gDungeon _08084500: .4byte 0x0000068a _08084504: .4byte gUnknown_80FA32C -_08084508: .4byte gFormatItems +_08084508: .4byte gFormatBuffer_Items _0808450C: .4byte gTeamInventoryRef _08084510: .4byte gUnknown_80FA448 _08084514: @@ -530,7 +530,7 @@ sub_80845E0: ldr r0, _08084624 b _080846B4 .align 2, 0 -_08084620: .4byte gAvailablePokemonNames +_08084620: .4byte gFormatBuffer_Monsters _08084624: .4byte gUnknown_80FA530 _08084628: adds r7, r4, 0 @@ -594,7 +594,7 @@ _08084680: ldr r0, _080846A0 b _080846B4 .align 2, 0 -_0808469C: .4byte gUnknown_202E038 +_0808469C: .4byte gFormatBuffer_Monsters + 160 _080846A0: .4byte gUnknown_80FA54C _080846A4: adds r0, r6, 0 diff --git a/asm/code_809A560.s b/asm/code_809A560.s index 878a73988..feb225a31 100644 --- a/asm/code_809A560.s +++ b/asm/code_809A560.s @@ -289,9 +289,9 @@ _0809AAE6: movs r0, 0x1 b _0809AB3C .align 2, 0 -_0809AB28: .4byte gAvailablePokemonNames +_0809AB28: .4byte gFormatBuffer_Monsters _0809AB2C: .4byte gUndefineText -_0809AB30: .4byte gPlayerName +_0809AB30: .4byte gFormatBuffer_Names _0809AB34: mov r0, r9 bl sub_809A83C @@ -352,8 +352,8 @@ _0809ABA0: pop {r1} bx r1 .align 2, 0 -_0809ABA8: .4byte gAvailablePokemonNames -_0809ABAC: .4byte gPlayerName +_0809ABA8: .4byte gFormatBuffer_Monsters +_0809ABAC: .4byte gFormatBuffer_Names _0809ABB0: .4byte gSpeechBubbleChar thumb_func_end sub_809AB4C @@ -403,8 +403,8 @@ _0809AC0A: pop {r1} bx r1 .align 2, 0 -_0809AC10: .4byte gAvailablePokemonNames -_0809AC14: .4byte gPlayerName +_0809AC10: .4byte gFormatBuffer_Monsters +_0809AC14: .4byte gFormatBuffer_Names thumb_func_end sub_809ABB4 thumb_func_start sub_809AC18 @@ -453,8 +453,8 @@ _0809AC6E: pop {r1} bx r1 .align 2, 0 -_0809AC74: .4byte gAvailablePokemonNames -_0809AC78: .4byte gPlayerName +_0809AC74: .4byte gFormatBuffer_Monsters +_0809AC78: .4byte gFormatBuffer_Names thumb_func_end sub_809AC18 thumb_func_start sub_809AC7C @@ -1049,7 +1049,7 @@ _0809B09A: .align 2, 0 _0809B0D4: .4byte gUnknown_3001B64 _0809B0D8: .4byte gUnknown_8116148 -_0809B0DC: .4byte gUnknown_202E5D8 +_0809B0DC: .4byte gSpeakerNameBuffer _0809B0E0: .4byte gFormattedSpeechBubble _0809B0E4: ldr r0, _0809B134 @@ -1094,9 +1094,9 @@ _0809B128: movs r0, 0x21 b _0809B14A .align 2, 0 -_0809B134: .4byte gUnknown_202E5D8 +_0809B134: .4byte gSpeakerNameBuffer _0809B138: .4byte gUnknown_8116188 -_0809B13C: .4byte gPlayerName +_0809B13C: .4byte gFormatBuffer_Names _0809B140: .4byte sub_809B428 _0809B144: .4byte gUnknown_8116148 _0809B148: @@ -1346,7 +1346,7 @@ _0809B2F6: bl strcpy b _0809B32A .align 2, 0 -_0809B310: .4byte gUnknown_202E5D8 +_0809B310: .4byte gSpeakerNameBuffer _0809B314: .4byte gFormattedSpeechBubble _0809B318: ldr r0, _0809B3D0 @@ -1447,9 +1447,9 @@ _0809B3C0: lsls r0, 16 b _0809B3EA .align 2, 0 -_0809B3D0: .4byte gUnknown_202E5D8 +_0809B3D0: .4byte gSpeakerNameBuffer _0809B3D4: .4byte gUnknown_8116188 -_0809B3D8: .4byte gPlayerName +_0809B3D8: .4byte gFormatBuffer_Names _0809B3DC: .4byte gUnknown_3001B64 _0809B3E0: .4byte gUnknown_8116190 _0809B3E4: .4byte sub_809B428 @@ -3272,7 +3272,7 @@ _0809C2CA: b _0809C318 .align 2, 0 _0809C304: .4byte gTeamInventoryRef -_0809C308: .4byte gFormatItems +_0809C308: .4byte gFormatBuffer_Items _0809C30C: ldr r0, [r6] movs r3, 0x86 diff --git a/asm/code_809C5C4.s b/asm/code_809C5C4.s index 5dcc2f747..5e120a8dd 100644 --- a/asm/code_809C5C4.s +++ b/asm/code_809C5C4.s @@ -107,7 +107,7 @@ _0809CC82: pop {r1} bx r1 .align 2, 0 -_0809CC8C: .4byte gFormatItems +_0809CC8C: .4byte gFormatBuffer_Items thumb_func_end sub_809CBBC thumb_func_start sub_809CC90 diff --git a/asm/dungeon_2.s b/asm/dungeon_2.s index 0053e15c0..07c439874 100644 --- a/asm/dungeon_2.s +++ b/asm/dungeon_2.s @@ -103,7 +103,7 @@ _080903F2: mov r1, sp add r2, sp, 0xC8 movs r3, 0 - bl xxx_format_string + bl FormatString b _08090430 .align 2, 0 _0809040C: .4byte gUnknown_8108F40 @@ -119,7 +119,7 @@ _0809041C: mov r1, sp add r2, sp, 0xC8 movs r3, 0 - bl xxx_format_string + bl FormatString _08090430: adds r0, r7, 0 mov r1, sp @@ -147,7 +147,7 @@ _0809043C: ldr r0, _08090470 b _08090476 .align 2, 0 -_08090464: .4byte gFormatData_202DE30 +_08090464: .4byte gFormatArgs _08090468: .4byte gUnknown_81159DC _0809046C: .4byte gDungeons _08090470: .4byte gUnknown_8115A80 @@ -158,7 +158,7 @@ _08090476: mov r1, sp add r2, sp, 0xC8 movs r3, 0 - bl xxx_format_string + bl FormatString adds r0, r7, 0 mov r1, sp bl sub_8090888 @@ -180,7 +180,7 @@ _0809048E: b _080904BA .align 2, 0 _080904AC: .4byte gUnknown_8115ADC -_080904B0: .4byte gAvailablePokemonNames +_080904B0: .4byte gFormatBuffer_Monsters _080904B4: .4byte gUnknown_8115B3C _080904B8: ldr r0, _08090528 @@ -189,7 +189,7 @@ _080904BA: mov r1, sp add r2, sp, 0xC8 movs r3, 0 - bl xxx_format_string + bl FormatString adds r0, r7, 0 mov r1, sp bl sub_8090888 @@ -250,7 +250,7 @@ _08090536: mov r1, sp add r2, sp, 0xC8 movs r3, 0 - bl xxx_format_string + bl FormatString adds r0, r7, 0 mov r1, sp bl sub_8090888 @@ -323,7 +323,7 @@ _080905D0: .4byte gUnknown_8115C4C _080905D4: .4byte gUnknown_8108F42 _080905D8: .4byte gUnknown_8108F4A _080905DC: .4byte gDungeons -_080905E0: .4byte gFormatItems +_080905E0: .4byte gFormatBuffer_Items _080905E4: .4byte gUnknown_8115CB8 _080905E8: ldr r0, _080906A0 @@ -332,7 +332,7 @@ _080905EA: mov r1, sp add r2, sp, 0xC8 movs r3, 0 - bl xxx_format_string + bl FormatString adds r0, r7, 0 mov r1, sp bl sub_8090888 @@ -432,7 +432,7 @@ _080906B6: mov r1, sp add r2, sp, 0xC8 movs r3, 0 - bl xxx_format_string + bl FormatString adds r0, r7, 0 mov r1, sp bl sub_8090888 diff --git a/asm/ground_script.s b/asm/ground_script.s index 39a16b3af..23f75bf91 100644 --- a/asm/ground_script.s +++ b/asm/ground_script.s @@ -492,7 +492,7 @@ _080A1968: .align 2, 0 _080A1970: .4byte gUnknown_8116710 _080A1974: .4byte gUnknown_2039D98 -_080A1978: .4byte gPlayerName +_080A1978: .4byte gFormatBuffer_Names _080A197C: ldr r0, _080A1984 movs r1, 0x53 @@ -608,7 +608,7 @@ _080A1A52: .align 2, 0 _080A1A64: .4byte gUnknown_8116760 _080A1A68: .4byte gUnknown_2039D98 -_080A1A6C: .4byte gPlayerName +_080A1A6C: .4byte gFormatBuffer_Names _080A1A70: movs r0, 0x9E movs r1, 0x1 @@ -1023,7 +1023,7 @@ _080A1DA8: .align 2, 0 _080A1DE0: .4byte 0x000001a3 _080A1DE4: .4byte 0x0000019b -_080A1DE8: .4byte gUnknown_202E628 +_080A1DE8: .4byte gFormatBuffer_FriendArea _080A1DEC: movs r0, 0 movs r1, 0x1F @@ -1053,7 +1053,7 @@ _080A1E14: bne _080A1EBE b _080A203C .align 2, 0 -_080A1E2C: .4byte gUnknown_202E628 +_080A1E2C: .4byte gFormatBuffer_FriendArea _080A1E30: ldr r0, _080A1E38 movs r1, 0x20 @@ -1126,7 +1126,7 @@ _080A1EBE: movs r0, 0x1 b _080A236C .align 2, 0 -_080A1EC4: .4byte gUnknown_202E628 +_080A1EC4: .4byte gFormatBuffer_FriendArea _080A1EC8: .4byte gUnknown_81167E8 _080A1ECC: .4byte gUnknown_2039D98 _080A1ED0: @@ -1171,7 +1171,7 @@ _080A1F28: bl AddToTeamMoney b _080A236A .align 2, 0 -_080A1F30: .4byte gFormatItems +_080A1F30: .4byte gFormatBuffer_Items _080A1F34: .4byte gUnknown_81167EC _080A1F38: .4byte 0x00002710 _080A1F3C: diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index 237659a3a..efd9f6d7e 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -128,7 +128,7 @@ _0808F874: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808F880: .4byte gAvailablePokemonNames +_0808F880: .4byte gFormatBuffer_Monsters _0808F884: .4byte _0808F888 .align 2, 0 _0808F888: @@ -146,7 +146,7 @@ _0808F8A0: str r5, [sp] movs r1, 0 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r4, _0808F99C mov r1, r10 ldr r0, [r1, 0x2C] @@ -159,7 +159,7 @@ _0808F8A0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r2, 0xA add r9, r2 ldr r0, _0808F9A4 @@ -168,7 +168,7 @@ _0808F8A0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r3, 0xA add r9, r3 mov r0, r10 @@ -191,7 +191,7 @@ _0808F8A0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _0808F914: movs r3, 0xC add r9, r3 @@ -206,7 +206,7 @@ _0808F914: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r2, 0xA add r9, r2 ldr r0, _0808F9B0 @@ -215,7 +215,7 @@ _0808F914: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r0, _0808F9B4 ldr r2, [r0] mov r0, r10 @@ -236,7 +236,7 @@ _0808F964: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow mov r1, r10 adds r1, 0x3B ldrb r3, [r1] @@ -254,11 +254,11 @@ _0808F964: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow b _0808F9D8 .align 2, 0 _0808F998: .4byte gUnknown_8107754 -_0808F99C: .4byte gFormatData_202DE30 +_0808F99C: .4byte gFormatArgs _0808F9A0: .4byte gLevel810DD6C_Ptr _0808F9A4: .4byte gExpPts810DD9C_Ptr _0808F9A8: .4byte gUnknown_810DDB8 @@ -278,7 +278,7 @@ _0808F9C0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _0808F9D8: movs r3, 0xA add r9, r3 @@ -289,7 +289,7 @@ _0808F9D8: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r0, _0808FA4C ldr r2, [r0] ldr r4, _0808FA50 @@ -311,7 +311,7 @@ _0808FA0E: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow mov r1, r10 adds r1, 0x3C ldrb r3, [r1] @@ -329,13 +329,13 @@ _0808FA0E: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow b _0808FA74 .align 2, 0 _0808FA44: .4byte gUnknown_810DE38 _0808FA48: .4byte gUnknown_810DDFC _0808FA4C: .4byte gUnknown_810DE24 -_0808FA50: .4byte gFormatData_202DE30 +_0808FA50: .4byte gFormatArgs _0808FA54: .4byte gUnknown_810DE28 _0808FA58: .4byte gUnknown_810DE54 _0808FA5C: @@ -349,7 +349,7 @@ _0808FA5C: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _0808FA74: movs r0, 0xA add r9, r0 @@ -367,7 +367,7 @@ _0808FA74: b _0808FAA6 .align 2, 0 _0808FA94: .4byte gUnknown_810DE50 -_0808FA98: .4byte gFormatItems +_0808FA98: .4byte gFormatBuffer_Items _0808FA9C: ldr r0, _0808FB24 ldr r1, _0808FB28 @@ -381,7 +381,7 @@ _0808FAA6: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r1, 0xC add r9, r1 ldr r1, _0808FB30 @@ -416,7 +416,7 @@ _0808FAE0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r2, 0xA add r9, r2 mov r0, r10 @@ -435,12 +435,12 @@ _0808FB10: str r4, [sp] b _0808FECC .align 2, 0 -_0808FB24: .4byte gFormatItems +_0808FB24: .4byte gFormatBuffer_Items _0808FB28: .4byte gUnknown_810DE58 _0808FB2C: .4byte gUnknown_810DE6C -_0808FB30: .4byte gFormatData_202DE30 +_0808FB30: .4byte gFormatArgs _0808FB34: .4byte gUnknown_8115718 -_0808FB38: .4byte gAvailablePokemonNames +_0808FB38: .4byte gFormatBuffer_Monsters _0808FB3C: .4byte gUnknown_810DE80 _0808FB40: .4byte gUnknown_810DE98 _0808FB44: @@ -451,13 +451,13 @@ _0808FB44: str r4, [sp] movs r1, 0 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r2, _0808FBEC str r4, [sp] movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow mov r3, r10 ldrb r0, [r3, 0x16] bl GetFormattedTypeString @@ -466,7 +466,7 @@ _0808FB44: movs r0, 0x38 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow mov r1, r10 ldrb r0, [r1, 0x17] cmp r0, 0 @@ -477,7 +477,7 @@ _0808FB44: movs r0, 0x60 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _0808FB94: movs r2, 0xC add r9, r2 @@ -486,7 +486,7 @@ _0808FB94: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r3, 0xC add r9, r3 mov r1, r10 @@ -499,7 +499,7 @@ _0808FB94: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl sub_8015034 + bl PrintFormattedStringOnWindow2 movs r2, 0x21 add r9, r2 mov r3, r10 @@ -515,7 +515,7 @@ _0808FBD2: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl sub_8015034 + bl PrintFormattedStringOnWindow2 b _0808FED6 .align 2, 0 _0808FBE8: .4byte gUnknown_810775C @@ -529,7 +529,7 @@ _0808FBF4: movs r1, 0 str r1, [sp] ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow mov r0, r10 adds r0, 0x56 movs r1, 0 @@ -577,7 +577,7 @@ _0808FC38: movs r0, 0xC mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow mov r0, r8 cmp r0, 0 ble _0808FC78 @@ -611,7 +611,7 @@ _0808FC96: b _0808FD98 .align 2, 0 _0808FCA0: .4byte gStatusNames -_0808FCA4: .4byte gUnknown_202DEA8 +_0808FCA4: .4byte gFormatBuffer_Items + 0x50 _0808FCA8: .4byte gUnknown_8107784 _0808FCAC: .4byte gUnknown_810DF78 _0808FCB0: @@ -622,7 +622,7 @@ _0808FCB0: movs r1, 0 str r1, [sp] ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow add r4, sp, 0x14 mov r0, r10 movs r2, 0x3E @@ -680,7 +680,7 @@ _0808FCFC: bl strcpy b _0808FD4E .align 2, 0 -_0808FD3C: .4byte gUnknown_202DEA8 +_0808FD3C: .4byte gFormatBuffer_Items + 0x50 _0808FD40: .4byte gUnknown_8107788 _0808FD44: adds r0, r6, 0 @@ -706,7 +706,7 @@ _0808FD64: movs r0, 0xC mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _0808FD74: movs r2, 0x1 add r8, r2 @@ -733,7 +733,7 @@ _0808FD98: movs r0, 0xC movs r1, 0x20 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow b _0808FED6 .align 2, 0 _0808FDA4: .4byte gUnknown_810778C @@ -747,7 +747,7 @@ _0808FDB0: str r5, [sp] movs r1, 0 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow ldr r6, _0808FEF0 mov r2, r10 movs r3, 0 @@ -765,7 +765,7 @@ _0808FDB0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0xA add r9, r0 mov r1, r10 @@ -786,7 +786,7 @@ _0808FDB0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r3, 0xA add r9, r3 ldr r0, _0808FF04 @@ -795,7 +795,7 @@ _0808FDB0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r0, 0xD add r9, r0 ldr r0, _0808FF08 @@ -804,7 +804,7 @@ _0808FDB0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r1, 0xA add r9, r1 mov r1, r10 @@ -817,7 +817,7 @@ _0808FDB0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r2, 0xD add r9, r2 mov r3, r10 @@ -834,7 +834,7 @@ _0808FDB0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r2, 0xD add r9, r2 ldr r4, _0808FF14 @@ -854,7 +854,7 @@ _0808FDB0: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow movs r2, 0xD add r9, r2 ldr r1, _0808FF1C @@ -869,7 +869,7 @@ _0808FECC: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl PrintFormatStringOnWindow + bl PrintFormattedStringOnWindow _0808FED6: ldr r0, [sp, 0x50] bl sub_80073E0 @@ -883,10 +883,10 @@ _0808FED6: bx r0 .align 2, 0 _0808FEEC: .4byte gUnknown_8107798 -_0808FEF0: .4byte gAvailablePokemonNames -_0808FEF4: .4byte gFormatData_202DE30 +_0808FEF0: .4byte gFormatBuffer_Monsters +_0808FEF4: .4byte gFormatArgs _0808FEF8: .4byte gUnknown_810DEB4 -_0808FEFC: .4byte gFormatItems +_0808FEFC: .4byte gFormatBuffer_Items _0808FF00: .4byte gUnknown_810DEC8 _0808FF04: .4byte gUnknown_810DEDC _0808FF08: .4byte gUnknown_810DFB4 diff --git a/data/data_80D47B8.s b/data/data_80D47B8.s index 62c1e1cef..3cc9971d1 100644 --- a/data/data_80D47B8.s +++ b/data/data_80D47B8.s @@ -36,8 +36,8 @@ gUnknown_80D48DC: @ 80D48DC .byte 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 - .global gUnknown_80D48F4 -gUnknown_80D48F4: @ 80D48F4 + .global gSpeakerNameSeparator +gSpeakerNameSeparator: @ 80D48F4 .byte 0x3A, 0x20, 0x00, 0x00 @ maybe just a colon and space .global gUnknown_80D48F8 diff --git a/include/code_80130A8.h b/include/code_80130A8.h deleted file mode 100644 index ab8094171..000000000 --- a/include/code_80130A8.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef GUARD_CODE_80130A8_H -#define GUARD_CODE_80130A8_H - -#include "file_system.h" -#include "structs/menu.h" -#include "structs/str_text.h" - -struct MonPortraitMsg -{ - OpenedFile *faceFile; - void *faceData; - Position pos; - u8 spriteId; // Which mon's sprite to use. For example Kecleon has multiple sprites depending on whether it's green or purple. - bool8 flip; // Whether the mon's sprite is flipped. - u8 unkE; -}; - -// code_80130A8.s -void sub_8013E54(void); -void sub_8013F84(void); -void sub_80140B4(UnkTextStruct2 *); -void sub_80140DC(void); -void sub_8014114(void); -void CreateDialogueBoxAndPortrait(const u8 *, u32, struct MonPortraitMsg *, u16); -void CreateYesNoDialogueBoxAndPortrait_DefaultYes(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 param_3); -void CreateYesNoDialogueBoxAndPortrait_DefaultNo(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 param_3); -void CreateMenuDialogueBoxAndPortrait(const u8 *, u32, u32, const MenuItem *, void *, u32, u32, struct MonPortraitMsg *, u32); -s32 sub_80144A4(s32 *); -void sub_80151C0(u32, u8 *); -u32 sub_80154F0(void); -void sub_80155F0(void); -void DrawDialogueBoxString(void); -void PrintFormatStringOnWindow(u32, u32, const u8 *, u32 windowId, u32); -u8 *xxx_format_string(const u8 *, u8 *, u8 *, u32); - -#endif // GUARD_CODE_80130A8_H diff --git a/include/code_802DB28.h b/include/code_802DB28.h index 636c992aa..572a54287 100644 --- a/include/code_802DB28.h +++ b/include/code_802DB28.h @@ -4,7 +4,7 @@ #include "file_system.h" #include "structs/str_text.h" #include "structs/str_wonder_mail.h" -#include "code_80130A8.h" +#include "string_format.h" // size: 0xA8 struct unkStruct_203B2FC diff --git a/include/code_8045A00.h b/include/code_8045A00.h index 7a3cca85b..df17445c2 100644 --- a/include/code_8045A00.h +++ b/include/code_8045A00.h @@ -3,6 +3,6 @@ #include "structs/dungeon_entity.h" -void SetMessageArgument(char buffer[], Entity *entity, u32 param_3); +void SetMessageArgument(u8 *buffer, Entity *entity, u32 param_3); -#endif // GUARD_CODE_8045A00_H \ No newline at end of file +#endif // GUARD_CODE_8045A00_H diff --git a/include/dungeon_message.h b/include/dungeon_message.h index 15c371209..0a8ceb0cd 100644 --- a/include/dungeon_message.h +++ b/include/dungeon_message.h @@ -2,7 +2,7 @@ #define GUARD_DUNGEON_MESSAGE_H #include "structs/dungeon_entity.h" -#include "code_80130A8.h" +#include "string_format.h" struct MonDialogueSpriteInfo { diff --git a/include/felicity_bank.h b/include/felicity_bank.h index b1973753b..42c65e138 100644 --- a/include/felicity_bank.h +++ b/include/felicity_bank.h @@ -4,7 +4,7 @@ #include "file_system.h" #include "structs/menu.h" #include "structs/str_text.h" -#include "code_80130A8.h" +#include "string_format.h" #define FELICITY_BANK_ACTION_WITHDRAW 0 #define FELICITY_BANK_ACTION_DEPOSIT 1 diff --git a/include/gulpin_shop.h b/include/gulpin_shop.h index c369055cf..60284eca3 100644 --- a/include/gulpin_shop.h +++ b/include/gulpin_shop.h @@ -5,7 +5,7 @@ #include "structs/menu.h" #include "structs/str_text.h" #include "structs/str_moves.h" -#include "code_80130A8.h" +#include "string_format.h" // size: 0x18C typedef struct GulpinShopWork diff --git a/include/menu_input.h b/include/menu_input.h index 0f7415b78..0ffe36cda 100644 --- a/include/menu_input.h +++ b/include/menu_input.h @@ -12,8 +12,8 @@ void sub_8012C60(u32 x, u32 y, u32 param_3, u32 color, u32 param_5); void sub_8012CAC(UnkTextStruct2 *param_1, const MenuItem *param_2); void sub_8012D08(UnkTextStruct2 *param_1, s32 param_2); void sub_8012D34(UnkTextStruct2 *param_1, s32 param_2); -void sub_8012D60(MenuStruct *param_1, const MenuItem *menuItems, u32 *colorArray, u16 *param_4, s32 menuAction, s32 index); -void sub_8012E04(MenuStruct *param_1, const MenuItem *menuItems, u32 *colorArray, u16 *param_4, s32 menuAction, s32 index); +void sub_8012D60(MenuStruct *param_1, const MenuItem *menuItems, const u32 *colorArray, u16 *param_4, s32 menuAction, s32 index); +void sub_8012E04(MenuStruct *param_1, const MenuItem *menuItems, const u32 *colorArray, u16 *param_4, s32 menuAction, s32 index); void sub_8012EA4(MenuStruct *param_1, bool8 r1); void sub_8012EBC(MenuStruct *param_1); bool8 sub_8012FD8(MenuStruct *param_1); diff --git a/include/status_checks_1.h b/include/status_checks_1.h index 99a229713..3706cdbcd 100644 --- a/include/status_checks_1.h +++ b/include/status_checks_1.h @@ -3,7 +3,7 @@ #include "structs/dungeon_entity.h" -void SetMessageArgument_2(char buffer[], EntityInfo *param_2, s32 colorNum); +void SetMessageArgument_2(u8 *buffer, EntityInfo *param_2, s32 colorNum); bool8 HasNegativeStatus(Entity *pokemon); bool8 IsSleeping(Entity *pokemon); bool8 HasLowHealth(Entity *pokemon); diff --git a/include/string_format.h b/include/string_format.h new file mode 100644 index 000000000..9f8459c34 --- /dev/null +++ b/include/string_format.h @@ -0,0 +1,64 @@ +#ifndef GUARD_STRING_FORMAT_H +#define GUARD_STRING_FORMAT_H + +#include "file_system.h" +#include "structs/menu.h" +#include "structs/str_text.h" + +// TODO: once the files close to string_format.c are decompiled, check if these should be included here. Most likely, they should be declared elsewhere. +// code_80130A8.s +void sub_8013E54(void); +void sub_8013F84(void); +void sub_80140B4(UnkTextStruct2 *); +void sub_80140DC(void); +void sub_8014114(void); +s32 sub_80144A4(s32 *); +void sub_80151C0(u32, u8 *); +u32 sub_80154F0(void); +void sub_80155F0(void); + +struct PortraitGfxSub +{ + const u8 *pal; + const u8 *gfx; +}; + +struct PortraitGfx +{ + struct PortraitGfxSub sprites[10]; +}; + +struct MonPortraitMsg +{ + OpenedFile *faceFile; + struct PortraitGfx *faceData; + Position pos; + u8 spriteId; // Which mon's sprite to use. For example Kecleon has multiple sprites depending on whether it's green or purple. + bool8 flip; // Whether the mon's sprite is flipped. + u8 unkE; +}; + +#define FORMAT_BUFFER_LEN 80 +#define FRIEND_AREA_BUFFER_LEN 184 + +extern s32 gFormatArgs[10]; +extern u8 gFormatBuffer_Items[4][FORMAT_BUFFER_LEN]; +extern u8 gFormatBuffer_Monsters[10][FORMAT_BUFFER_LEN]; +extern u8 gFormatBuffer_Names[10][FORMAT_BUFFER_LEN]; +extern u8 gSpeakerNameBuffer[FORMAT_BUFFER_LEN]; +extern u8 gFormatBuffer_FriendArea[FRIEND_AREA_BUFFER_LEN]; + +void sub_8014144(void); +void sub_801416C(s32 param_1,s32 param_2); +void CreateDialogueBoxAndPortrait(const u8 *text, void *param_2, struct MonPortraitMsg *monPortraitPtr, u16 flags); +void CreateYesNoDialogueBoxAndPortrait_DefaultYes(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 flags); +void CreateYesNoDialogueBoxAndPortrait_DefaultNo(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 flags); +void CreateMenuDialogueBoxAndPortrait(const u8 *text, void *a1, u32 r9, const MenuItem *menuItems, void *arg_0, u32 a5, u32 unknownUnused, struct MonPortraitMsg *monPortraitPtr, u16 flags); +void sub_8014490(void); +s32 sub_80144A4(s32 *a0); +void DrawDialogueBoxString(void); +const u8 *FormatString(const u8 *str, u8 *dst, u8 *dstMax, u16 flags); +void PrintFormattedStringOnWindow(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr); +void PrintFormattedStringOnWindow2(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr, s32 lineSpacing); + +#endif // GUARD_STRING_FORMAT_H diff --git a/include/structs/menu.h b/include/structs/menu.h index 1d16a514b..96391e592 100644 --- a/include/structs/menu.h +++ b/include/structs/menu.h @@ -13,7 +13,8 @@ typedef struct MenuInputStructSub /* 0x2 */ u8 b_button; /* 0x3 */ u8 dpad_right; /* 0x4 */ u8 dpad_left; - u8 fill5[3]; + /* 0x5 */ u8 unk5; + u8 fill6[2]; u16 unk8; s16 unkA; } MenuInputStructSub; diff --git a/include/text2.h b/include/text2.h index c55f610e5..d31625578 100644 --- a/include/text2.h +++ b/include/text2.h @@ -52,16 +52,9 @@ struct UnkDrawStringStruct u8 fill22; u8 fill23; const u8* (*unk24)(const u8 *, const u8 *, struct UnkDrawStringStruct*); - u8 fill28; - u8 fill29; - u8 fill2A; - u8 fill2B; - u32 unk2C; - u8 fill30; - u8 fill31; - u8 fill32; - u8 fill33; - u32 unk34; + s32 unk28; + s32 unk2C; + s32 unk30; }; @@ -86,6 +79,7 @@ extern void sub_80089AC(const UnkTextStruct2 *, UnkTextStruct2_sub *); extern void CallPrepareTextbox_8008C54(u32); extern s32 sub_8008ED0(const u8 *); extern void sub_8009388(void); -extern void PrintStringOnWindow(s32 x, u32 y, const u8 *str, u32 windowId, u32); +void PrintStringOnWindow2(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr, s32 lineSpacing); +void PrintStringOnWindow(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr); #endif // GUARD_TEXT2_H diff --git a/ld_script.txt b/ld_script.txt index 4af6a7ef3..77ff0e155 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -103,8 +103,7 @@ SECTIONS { src/code_8012A18.o(.text); src/menu_input.o(.text); asm/code_80130A8.o(.text); - src/code_80140DC.o(.text); - asm/code_80140DC.o(.text); + src/string_format.o(.text); src/code_8015080.o(.text); asm/code_8015080.o(.text); src/code_8012A18_1.o(.text); @@ -444,7 +443,7 @@ SECTIONS { src/quick_save_read.o(.rodata); src/quick_save_write.o(.rodata); src/menu_input.o(.rodata); - src/code_80140DC.o(.rodata); + src/string_format.o(.rodata); data/data_80D47B8.o(.rodata); src/common_strings.o(.rodata); src/code_8015080.o(.rodata); diff --git a/src/adventure_log.c b/src/adventure_log.c index deef1abe0..84c6be48f 100644 --- a/src/adventure_log.c +++ b/src/adventure_log.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "adventure_log.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8097670.h" #include "constants/input.h" #include "input.h" @@ -12,8 +12,6 @@ #include "text2.h" #include "structs/struct_sub80095e4.h" -extern u32 gFormatData_202DE30; - static EWRAM_DATA_2 struct_Sub80095E4_2 *sAdventureLog = {0}; #include "data/adventure_log.h" @@ -110,35 +108,35 @@ static void DisplayAdventureLog(void) switch (temp) { case 12: v1 = sub_80978B8(); - gFormatData_202DE30 = (s16)v1; - PrintFormatStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); + gFormatArgs[0] = (s16)v1; + PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); break; case 7: v2 = sub_8097880(); - gFormatData_202DE30 = (s16)v2; - PrintFormatStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); + gFormatArgs[0] = (s16)v2; + PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); break; case 11: v3 = sub_8097838(); - gFormatData_202DE30 = (s16)v3; - PrintFormatStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); + gFormatArgs[0] = (s16)v3; + PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); break; case 8: v4 = sub_80977B8(); - gFormatData_202DE30 = v4; - PrintFormatStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); + gFormatArgs[0] = v4; + PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); break; case 9: v5 = sub_80977F8(); - gFormatData_202DE30 = v5; - PrintFormatStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); + gFormatArgs[0] = v5; + PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); break; case 10: v6 = sub_8097870(); - gFormatData_202DE30 = (s16)v6; + gFormatArgs[0] = (s16)v6; // fallthrough default: - PrintFormatStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); + PrintFormattedStringOnWindow(8, sub_8013800(&sAdventureLog->s0.input, i), GetAdventureLogLine(temp), sAdventureLog->s0.unk34, 0); break; } } diff --git a/src/code_2.c b/src/code_2.c index 50875aa5a..08b9f8871 100644 --- a/src/code_2.c +++ b/src/code_2.c @@ -5,7 +5,7 @@ #include "code_8009804.h" #include "code_800C9CC.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8094F88.h" #include "code_8097670.h" #include "constants/bg_music.h" diff --git a/src/code_8012A18.c b/src/code_8012A18.c index f288b6cc0..82a67d061 100644 --- a/src/code_8012A18.c +++ b/src/code_8012A18.c @@ -4,7 +4,7 @@ #include "code_8009804.h" #include "code_800C9CC.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "game_options.h" #include "sprite.h" diff --git a/src/code_80140DC.c b/src/code_80140DC.c deleted file mode 100644 index d0861caee..000000000 --- a/src/code_80140DC.c +++ /dev/null @@ -1,108 +0,0 @@ -#include "constants/input.h" -#include "global.h" -#include "globaldata.h" -#include "menu_input.h" -#include "sprite.h" -#include "code_80118A4.h" -#include "code_80130A8.h" - -extern s32 gUnknown_202E738; -extern s32 gUnknown_202E73C; -extern s32 gUnknown_202E740; -extern s32 gUnknown_202E744; - -#include "data/code_80140DC.h" - -// TODO: move to menu_input -extern UnkTextStruct2 gUnknown_80D47C8[4]; - -void sub_80140B4(UnkTextStruct2 *a0) -{ - s32 i; - - for(i = 0; i < 4; i++) - { - a0[i] = gUnknown_80D47C8[i]; - } -} - -// End of menu_input.c - -void sub_80140DC(void) -{ - Position pos; - - pos.x = 200; - pos.y = 128; - SetSavingIconCoords(&pos); - sub_8011830(); -} - -void sub_80140F8(void) -{ - Position pos; - - pos.x = 188; - pos.y = 64; - SetSavingIconCoords(&pos); - sub_8011830(); -} - -void sub_8014114(void) { - xxx_call_start_bg_music(); - SetSavingIconCoords(NULL); -} - -void nullsub_201(void) {} - -u32 sub_8014128(void) { - if(sub_8012AE8() == INPUT_B_BUTTON) return 0; - else return 1; -} - -u32 sub_801413C(void) -{ - return 0; -} - -u32 sub_8014140(void) -{ - return 0; -} - -void sub_8014144(void) -{ - gUnknown_202E744 = 0; - gUnknown_202E738 = 60; - gUnknown_202E73C = 60; - gUnknown_202E740 = 0; -} - -void sub_801416C(s32 param_1,s32 param_2) -{ - if (param_1 < -1) { - gUnknown_202E738 = param_2; - gUnknown_202E740 = -param_1; - } - else { - gUnknown_202E738 = param_1; - gUnknown_202E740 = 0; - } - gUnknown_202E73C = (param_2 < 0 ) ? 0 : param_2; -} - -void CreateDialogueBoxAndPortrait(const u8 *text, u32 param_2, struct MonPortraitMsg *monPortraitPtr, u16 param_4) -{ - CreateMenuDialogueBoxAndPortrait(text, param_2, -1, NULL, NULL, 3, 0, monPortraitPtr, param_4); -} - -void CreateYesNoDialogueBoxAndPortrait_DefaultYes(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 param_3) -{ - CreateMenuDialogueBoxAndPortrait(text, 0, -1, gUnknown_80D485C, NULL, 3, 0, monPortraitPtr, param_3 | 0x300); -} - -void CreateYesNoDialogueBoxAndPortrait_DefaultNo(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 param_3) -{ - CreateMenuDialogueBoxAndPortrait(text, 0, -1, gUnknown_80D4880, NULL, 3, 0, monPortraitPtr, param_3 | 0x300); -} - diff --git a/src/code_8015080.c b/src/code_8015080.c index f023a5fd7..1fa82dec3 100644 --- a/src/code_8015080.c +++ b/src/code_8015080.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "input.h" #include "memory.h" #include "menu_input.h" @@ -64,7 +64,7 @@ bool8 sub_8015080(u8 *buffer, const MenuItem *menuItems) ResetUnusedInputStruct(); xxx_call_save_unk_text_struct_800641C(gUnknown_203B1F8->unk54, 1, 1); sub_80073B8(0); - xxx_format_string(buffer, gUnknown_203B1F8->buffer, gUnknown_203B1F8->buffer + 0x400, 0); + FormatString(buffer, gUnknown_203B1F8->buffer, gUnknown_203B1F8->buffer + 0x400, 0); PrintStringOnWindow(4, 4, gUnknown_203B1F8->buffer, 0, 0); sub_80073E0(0); sub_8012D60(&gUnknown_203B1F8->unk4, menuItems, 0, 0, -1, 2); diff --git a/src/code_801602C.c b/src/code_801602C.c index 64df2d0d4..8bfef832a 100644 --- a/src/code_801602C.c +++ b/src/code_801602C.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_8012A18_1.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801602C.h" #include "common_strings.h" #include "input.h" @@ -9,8 +9,6 @@ #include "text_util.h" #include "text1.h" -extern u8 gAvailablePokemonNames[]; // 202DF98 - static EWRAM_DATA_2 struct unkStruct_203B200 *sUnknown_203B200 = {0}; #include "data/code_801602C.h" @@ -105,9 +103,9 @@ static void sub_8016110(void) case CONFIRM_NAME_MENU_PROMPT: BuildConfirmNameMenu(); if (sUnknown_203B200->unk4 == 1) - sub_80922B4(gAvailablePokemonNames, sUnknown_203B200->pokeName, POKEMON_NAME_LENGTH); + sub_80922B4(gFormatBuffer_Monsters[0], sUnknown_203B200->pokeName, POKEMON_NAME_LENGTH); else - sub_80922B4(gAvailablePokemonNames, sUnknown_203B200->pokeName, POKEMON_NAME_LENGTH); + sub_80922B4(gFormatBuffer_Monsters[0], sUnknown_203B200->pokeName, POKEMON_NAME_LENGTH); CreateMenuDialogueBoxAndPortrait(sIsNameOKPrompt, 0, 3, sUnknown_203B200->menus, 0, 4, 0, NULL, 32); break; diff --git a/src/code_801AFA4.c b/src/code_801AFA4.c index f97e2bf03..be210b9d1 100644 --- a/src/code_801AFA4.c +++ b/src/code_801AFA4.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801AFA4.h" #include "code_8099360.h" #include "gulpin_shop.h" @@ -9,10 +9,6 @@ #include "moves.h" #include "pokemon_mid.h" -extern u8 gAvailablePokemonNames[]; // 202DF98 -extern u8 gUnknown_202E1C8[]; -extern u8 gUnknown_202E218[160]; - static EWRAM_DATA_2 unkStruct_203B22C *sUnknown_203B22C = {0}; #include "data/code_801AFA4.h" @@ -33,7 +29,7 @@ bool8 sub_801AFA4(u32 index) sUnknown_203B22C->teamItemIndex = index; sUnknown_203B22C->id = gTeamInventoryRef->teamItems[index].id; sUnknown_203B22C->moveID = GetItemMoveID(sUnknown_203B22C->id); - sub_8092C84(gUnknown_202E1C8, sUnknown_203B22C->moveID); + sub_8092C84(gFormatBuffer_Monsters[7], sUnknown_203B22C->moveID); sub_8099690(0); if (GetNumMonsAbleToLearnItemMove() == 0) @@ -116,7 +112,7 @@ static void sub_801B178(void) u8 *bufferPtr; for (monIndex = 0; monIndex < sUnknown_203B22C->monsAbleToLearnMove; monIndex++) { - bufferPtr = gAvailablePokemonNames + (80 * monIndex); + bufferPtr = gFormatBuffer_Monsters[monIndex]; PrintPokeNameToBuffer(bufferPtr, &gRecruitedPokemonRef->pokemon[sUnknown_203B22C->unk50[monIndex]]); sUnknown_203B22C->menuItems[monIndex].text = bufferPtr; sUnknown_203B22C->menuItems[monIndex].menuAction = monIndex + 4; @@ -143,7 +139,7 @@ static void sub_801B200(void) default: sUnknown_203B22C->chosenPokemon = sUnknown_203B22C->unk50[temp - 4]; sUnknown_203B22C->pokeStruct = &gRecruitedPokemonRef->pokemon[sUnknown_203B22C->chosenPokemon]; - PrintPokeNameToBuffer(gUnknown_202E218, sUnknown_203B22C->pokeStruct); + PrintPokeNameToBuffer(gFormatBuffer_Monsters[8], sUnknown_203B22C->pokeStruct); unk_CopyMoves4To8(sUnknown_203B22C->moves, sUnknown_203B22C->pokeStruct->moves); for (moveIndex = 0; moveIndex < MAX_MON_MOVES * 2; moveIndex++) { @@ -230,4 +226,4 @@ UNUSED static bool8 sub_801B374(u8 id) return FALSE; } return TRUE; -} \ No newline at end of file +} diff --git a/src/code_801B3C0.c b/src/code_801B3C0.c index 687a7f9c7..6d559d2dd 100644 --- a/src/code_801B3C0.c +++ b/src/code_801B3C0.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "input.h" #include "items.h" @@ -11,8 +11,6 @@ #include "text1.h" #include "text2.h" -extern u8 gAvailablePokemonNames[]; // 202DF98 - static EWRAM_DATA_2 unkStruct_203B230 *sUnknown_203B230 = {0}; #include "data/code_801B3C0.h" // 80DBA4C @@ -83,9 +81,9 @@ static void sub_801B480(void) CallPrepareTextbox_8008C54(sUnknown_203B230->unk24); sub_80073B8(sUnknown_203B230->unk24); preload = sUnknown_203B230->unk10[sUnknown_203B230->unk8]; - strcpy(gAvailablePokemonNames, preload->pokeName); - PrintFormatStringOnWindow(16, 0, sFmtPkmn0, sUnknown_203B230->unk24, 0); // {POKEMON_0} - PrintFormatStringOnWindow(4, 16, sUnknown_203B230->unk10[sUnknown_203B230->unk8]->unk4, sUnknown_203B230->unk24, 0); + strcpy(gFormatBuffer_Monsters[0], preload->pokeName); + PrintFormattedStringOnWindow(16, 0, sFmtPkmn0, sUnknown_203B230->unk24, 0); // {POKEMON_0} + PrintFormattedStringOnWindow(4, 16, sUnknown_203B230->unk10[sUnknown_203B230->unk8]->unk4, sUnknown_203B230->unk24, 0); sub_80073E0(sUnknown_203B230->unk24); break; case 2: @@ -147,4 +145,4 @@ static void sub_801B590(void) sub_801B46C(2); break; } -} \ No newline at end of file +} diff --git a/src/code_801B60C.c b/src/code_801B60C.c index 7a0ffedd1..985e814e8 100644 --- a/src/code_801B60C.c +++ b/src/code_801B60C.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "code_801B60C.h" #include "code_8099360.h" @@ -17,10 +17,6 @@ #include "text1.h" #include "text2.h" -extern u8 gFormatItems[]; -extern u8 gUnknown_202DEA8[]; -extern u8 gAvailablePokemonNames[]; // 202DF98 - static EWRAM_DATA_2 unkStruct_203B234 *sUnknown_203B234 = {0}; #include "data/code_801B60C.h" // 80DBA58 @@ -59,8 +55,8 @@ bool8 sub_801B60C(u32 r0, u8 id, u8 quantity) sUnknown_203B234->unk14.unk0 = 0; sUnknown_203B234->unk14.unk4 = 0; sUnknown_203B234->unk14.unk8 = 1; - PrintColoredPokeNameToBuffer(gAvailablePokemonNames, GetPlayerPokemonStruct(), COLOR_YELLOW); - sub_8090E14(gFormatItems, &sUnknown_203B234->unk10, &sUnknown_203B234->unk14); + PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[0], GetPlayerPokemonStruct(), COLOR_YELLOW); + sub_8090E14(gFormatBuffer_Items[0], &sUnknown_203B234->unk10, &sUnknown_203B234->unk14); sub_801B748(0); return TRUE; } @@ -389,13 +385,13 @@ static void sub_801BCCC(void) case 3: sUnknown_203B234->unk24 = sub_801A8AC(); sUnknown_203B234->unk20 = gTeamInventoryRef->teamItems[sUnknown_203B234->unk24]; - sub_8090E14(gUnknown_202DEA8, &sUnknown_203B234->unk20, &sUnknown_203B234->unk14); + sub_8090E14(gFormatBuffer_Items[1], &sUnknown_203B234->unk20, &sUnknown_203B234->unk14); sub_801B748(10); break; case 4: sUnknown_203B234->unk24 = sub_801A8AC(); sUnknown_203B234->unk20 = gTeamInventoryRef->teamItems[sUnknown_203B234->unk24]; - sub_8090E14(gUnknown_202DEA8, &sUnknown_203B234->unk20, &sUnknown_203B234->unk14); + sub_8090E14(gFormatBuffer_Items[1], &sUnknown_203B234->unk20, &sUnknown_203B234->unk14); sub_8099690(0); sub_801B748(11); break; diff --git a/src/code_801D014.c b/src/code_801D014.c index 64afce22b..ca52641b0 100644 --- a/src/code_801D014.c +++ b/src/code_801D014.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "bg_palette_buffer.h" #include "code_800D090.h" -#include "code_80130A8.h" +#include "string_format.h" #include "iq_skill_menu.h" #include "code_801D014.h" #include "code_80227B8.h" @@ -30,8 +30,6 @@ #include "wonder_mail_802C4C8.h" #include "wonder_mail_802C860.h" -extern u8 gAvailablePokemonNames[]; // 202DF98 - static EWRAM_DATA_2 struct unk_203B250 *sUnknown_203B250 = {0}; static EWRAM_DATA_2 u32 sUnknown_203B254 = {0}; @@ -248,8 +246,8 @@ static void sub_801D3A8(void) case 0: case 1: if (sUnknown_203B250->pokeStruct != NULL) { - PrintColoredPokeNameToBuffer(gAvailablePokemonNames, sUnknown_203B250->pokeStruct, 7); - sUnknown_203B250->unk18.unk0 = gAvailablePokemonNames; + PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[0], sUnknown_203B250->pokeStruct, 7); + sUnknown_203B250->unk18.unk0 = gFormatBuffer_Monsters[0]; sub_8012D60(&sUnknown_203B250->unk18, sUnknown_203B250->unk68, 0, sUnknown_203B250->unkA8, sUnknown_203B250->menuAction, 0); } else { @@ -325,7 +323,7 @@ static void sub_801D4C0(void) loopMax++; } else { - strcpy(gAvailablePokemonNames, sTripleQuestionMark); + strcpy(gFormatBuffer_Monsters[0], sTripleQuestionMark); if (sub_8096E2C()) { sUnknown_203B250->unk68[loopMax].text = gCommonFriend[0]; @@ -581,7 +579,7 @@ static void sub_801D894(void) location = GetFriendAreaName(sUnknown_203B250->currFriendAreaLocation); // TODO this is def a hack - xxx_format_string(location, buffer, (u8 *)(&preload_string + 1), 0); + FormatString(location, buffer, (u8 *)(&preload_string + 1), 0); location_length = sub_8008ED0(buffer); x_coord = (128 - location_length) / 2; // Centers the location name CallPrepareTextbox_8008C54(1); diff --git a/src/code_801F428.c b/src/code_801F428.c index ef5188e52..3a6a84cf9 100644 --- a/src/code_801F428.c +++ b/src/code_801F428.c @@ -21,7 +21,7 @@ struct unkStruct_203B274 }; EWRAM_DATA_2 struct unkStruct_203B274 *gUnknown_203B274 = {0}; -extern u8 gAvailablePokemonNames[]; +extern u8 gFormatBuffer_Monsters[]; static const UnkTextStruct2 sUnknown_80DC2AC = { 0, 0, 0, 0, diff --git a/src/code_801F808.c b/src/code_801F808.c index 317789827..d102a4e8c 100644 --- a/src/code_801F808.c +++ b/src/code_801F808.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_80118A4.h" #include "input.h" #include "memory.h" @@ -12,8 +12,6 @@ #include "text1.h" #include "text2.h" -extern u8 gAvailablePokemonNames[]; - // TODO: UNIFY WITH struct_Sub80095E4 struct unkStruct_203B278 { @@ -149,9 +147,9 @@ void sub_801F9A4(void) CallPrepareTextbox_8008C54(gUnknown_203B278->unk5C); sub_80073B8(gUnknown_203B278->unk5C); name = &(gUnknown_203B278->unk14[gUnknown_203B278->unkC]->pokeName); - strcpy(gAvailablePokemonNames, *name); - PrintFormatStringOnWindow(0x10,0,gUnknown_80DC310,gUnknown_203B278->unk5C,0); // $m0 - PrintFormatStringOnWindow(4,0x10,gUnknown_203B278->unk14[gUnknown_203B278->unkC]->unk4,gUnknown_203B278->unk5C,0); + strcpy(gFormatBuffer_Monsters[0], *name); + PrintFormattedStringOnWindow(0x10,0,gUnknown_80DC310,gUnknown_203B278->unk5C,0); // $m0 + PrintFormattedStringOnWindow(4,0x10,gUnknown_203B278->unk14[gUnknown_203B278->unkC]->unk4,gUnknown_203B278->unk5C,0); sub_80073E0(gUnknown_203B278->unk5C); break; case 2: diff --git a/src/code_80227B8.c b/src/code_80227B8.c index 11e1a225d..0c87ef4f1 100644 --- a/src/code_80227B8.c +++ b/src/code_80227B8.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801AFA4.h" #include "code_801B3C0.h" #include "code_80227B8.h" @@ -17,10 +17,6 @@ #include "text1.h" #include "text2.h" -extern u8 gUnknown_202DEA8[]; -extern u8 gFormatItems[]; -extern u8 gAvailablePokemonNames[]; // 202DF98 - static EWRAM_DATA_2 unkStruct_203B294 *sUnknown_203B294 = {0}; #include "data/code_80227B8.h" @@ -46,8 +42,8 @@ bool8 sub_80227B8(PokemonStruct1 *pkmn) sUnknown_203B294->pokeStruct = pkmn; if (pkmn != NULL) { - PrintColoredPokeNameToBuffer(gAvailablePokemonNames, pkmn, COLOR_WHITE_2); - PrintColoredPokeNameToBuffer(gAvailablePokemonNames + 80, pkmn, COLOR_YELLOW); + PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[0], pkmn, COLOR_WHITE_2); + PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[1], pkmn, COLOR_YELLOW); if (HasGummiItem()) sub_8022924(0); @@ -55,8 +51,8 @@ bool8 sub_80227B8(PokemonStruct1 *pkmn) sub_8022924(17); } else { - strcpy(gAvailablePokemonNames, sTripleQuestionMark); - strcpy(gAvailablePokemonNames + 80, sTripleQuestionMark); + strcpy(gFormatBuffer_Monsters[0], sTripleQuestionMark); + strcpy(gFormatBuffer_Monsters[1], sTripleQuestionMark); if (GetNumberOfFilledInventorySlots() == 0) sub_8022924(18); @@ -202,7 +198,7 @@ static void sub_8022A10(void) if (r5 != r6) { sUnknown_203B294->fallbackState = 10; - strcpy(gUnknown_202DEA8, GetIQSkillName(sUnknown_203B294->unk40)); + strcpy(gFormatBuffer_Items[1], GetIQSkillName(sUnknown_203B294->unk40)); PlaySound(203); CreateDialogueBoxAndPortrait(sFmtIQHelpedLearn, 0, 0, 0x101); sUnknown_203B294->unk40++; @@ -376,7 +372,7 @@ static void sub_8022EF4(void) sUnknown_203B294->unk40 = 1; boostAmount = sUnknown_203B294->gummi.boostAmount; - sub_8090E14(gFormatItems, &gTeamInventoryRef->teamItems[sUnknown_203B294->itemIndex], NULL); + sub_8090E14(gFormatBuffer_Items[0], &gTeamInventoryRef->teamItems[sUnknown_203B294->itemIndex], NULL); if (boostAmount != -1) ShiftItemsDownFrom(sUnknown_203B294->itemIndex); diff --git a/src/code_802DB28.c b/src/code_802DB28.c index fd0a25691..0197d58ca 100644 --- a/src/code_802DB28.c +++ b/src/code_802DB28.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_802DB28.h" #include "code_802F204.h" #include "code_803C1D0.h" @@ -13,9 +13,7 @@ #include "text1.h" #include "text2.h" -extern u8 gFormatItems[]; -extern u8 gUnknown_202E1C8[]; -extern u8 gUnknown_202E5D8[]; +extern u8 gSpeakerNameBuffer[]; static EWRAM_DATA_2 struct unkStruct_203B2FC *sUnknown_203B2FC = {0}; @@ -54,7 +52,7 @@ bool8 sub_802DB28(u8 jobSlotIndex, u8 dungeon) sUnknown_203B2FC->monPortrait.pos.y = 8; if (sUnknown_203B2FC->monPortrait.faceFile != NULL) - sUnknown_203B2FC->monPortrait.faceData = sUnknown_203B2FC->monPortrait.faceFile->data; + sUnknown_203B2FC->monPortrait.faceData = (void *) sUnknown_203B2FC->monPortrait.faceFile->data; sub_802DC28(0); return TRUE; @@ -118,14 +116,14 @@ static void sub_802DC9C(void) switch (sUnknown_203B2FC->state) { case 0: - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, sUnknown_203B2FC->jobInfo->clientSpecies); - CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, sUnknown_203B2FC->jobInfo->clientSpecies); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, sUnknown_203B2FC->jobInfo->clientSpecies); + CopyYellowMonsterNametoBuffer(gFormatBuffer_Monsters[7], sUnknown_203B2FC->jobInfo->clientSpecies); speciesText = GetMonSpecies(sUnknown_203B2FC->jobInfo->clientSpecies); - strcpy(gUnknown_202E1C8 - 560, speciesText); + strcpy(gFormatBuffer_Monsters[0], speciesText); speciesText = GetMonSpecies(sUnknown_203B2FC->jobInfo->targetSpecies); - strcpy(gUnknown_202E1C8 - 480, speciesText); + strcpy(gFormatBuffer_Monsters[1], speciesText); UnlockExclusivePokemon(sUnknown_203B2FC->jobInfo->clientSpecies); - BufferItemName(gFormatItems, sUnknown_203B2FC->jobInfo->targetItem, NULL); + BufferItemName(gFormatBuffer_Items[0], sUnknown_203B2FC->jobInfo->targetItem, NULL); sUnknown_203B2FC->fallbackState = 6; switch (sUnknown_203B2FC->jobInfo->missionType) { diff --git a/src/code_804267C.c b/src/code_804267C.c index 05608341e..9983217bb 100644 --- a/src/code_804267C.c +++ b/src/code_804267C.c @@ -13,8 +13,6 @@ #include "dungeon_util.h" #include "structs/str_dungeon.h" -extern u8 gAvailablePokemonNames[]; // 202DF98 - extern const u16 gUnknown_80F67DC[4]; extern const u16 gUnknown_80F67E4[4]; extern const s32 gUnknown_80F67EC[8]; @@ -113,7 +111,7 @@ void sub_80427AC(void) enInfo->unkF3 = FALSE; sub_80429A0(entity); if (!enInfo->isNotTeamMember) { - SetMessageArgument(gAvailablePokemonNames, entity, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], entity, 0); DisplayDungeonLoggableMessageTrue(entity, *gPtrFeralFoundItemMessage); } } diff --git a/src/code_8042B34.c b/src/code_8042B34.c index 6e91388b9..54690fe3a 100644 --- a/src/code_8042B34.c +++ b/src/code_8042B34.c @@ -384,7 +384,6 @@ extern void sub_8042B0C(Entity *); extern s16 gUnknown_2026E4E; extern u8 gUnknown_202F32C; extern u8 gUnknown_202F1A8; -extern s32 gFormatData_202DE30; extern s32 gUnknown_202EDC8; extern Entity *gLeaderPointer; @@ -405,7 +404,6 @@ extern const u8 *const gUnknown_80F89D8; extern const s16 gUnknown_80F6850[]; extern const s16 gDungeonMusic[]; -extern u8 gAvailablePokemonNames[]; extern OpenedFile *gDungeonNameBannerPalette; void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8) @@ -510,8 +508,8 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8) } if (r9) { - gFormatData_202DE30 = gDungeon->unk67B; - if (gFormatData_202DE30 != 0) { + gFormatArgs[0] = gDungeon->unk67B; + if (gFormatArgs[0] != 0) { DisplayDungeonMessage(0, gUnknown_80FEC48, 1); } else { @@ -535,7 +533,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8) if (sub_8099394(&sp)) { unkStruct_203B480 *mailStr = GetMailatIndex(sp); if (mailStr->rescuesAllowed) { - gFormatData_202DE30 = mailStr->rescuesAllowed; + gFormatArgs[0] = mailStr->rescuesAllowed; DisplayDungeonMessage(0, gUnknown_81002B8, 1); } else { @@ -1084,7 +1082,7 @@ bool8 sub_8043ED0(bool8 a0) Entity *leader = GetLeader(); if (EntityExists(leader)) { if (!a0) { - strcpy(gAvailablePokemonNames, gDungeon->faintStringBuffer); + strcpy(gFormatBuffer_Monsters[0], gDungeon->faintStringBuffer); DisplayDungeonMessage(0, gUnknown_80F89B4, 1); } sub_8042B0C(leader); @@ -1096,7 +1094,7 @@ bool8 sub_8043ED0(bool8 a0) Entity *leader = GetLeader(); if (EntityExists(leader)) { if (!a0) { - strcpy(gAvailablePokemonNames, gDungeon->faintStringBuffer); + strcpy(gFormatBuffer_Monsters[0], gDungeon->faintStringBuffer); DisplayDungeonMessage(0, gUnknown_80F89D4, 1); } sub_8042B0C(leader); @@ -1108,7 +1106,7 @@ bool8 sub_8043ED0(bool8 a0) Entity *leader = GetLeader(); if (EntityExists(leader)) { if (!a0) { - strcpy(gAvailablePokemonNames, gDungeon->faintStringBuffer); + strcpy(gFormatBuffer_Monsters[0], gDungeon->faintStringBuffer); DisplayDungeonMessage(0, gUnknown_80F89D8, 1); } sub_8042B0C(leader); diff --git a/src/code_8045A00.c b/src/code_8045A00.c index e039d6809..5afb1a738 100644 --- a/src/code_8045A00.c +++ b/src/code_8045A00.c @@ -64,7 +64,7 @@ s32 GetTeamMemberEntityIndex(Entity *pokemon) return -1; } -void SetMessageArgument(char buffer[], Entity *entity, u32 param_3) +void SetMessageArgument(u8 *buffer, Entity *entity, u32 param_3) { switch(GetEntityType(entity)) { diff --git a/src/code_8048480.c b/src/code_8048480.c index a79f137c8..5b74c459c 100644 --- a/src/code_8048480.c +++ b/src/code_8048480.c @@ -26,9 +26,6 @@ #include "structs/str_dungeon.h" #include "structs/str_position.h" -extern u8 gAvailablePokemonNames[]; -extern u8 gFormatItems[]; - extern s16 gTypeGummiIQBoost[NUM_TYPES][NUMBER_OF_GUMMIS]; extern u8 *gUnknown_80F89F4[]; @@ -222,8 +219,8 @@ void sub_80479B8(char param_1, char param_2, u8 param_3, Entity *pokemon, Entity return; } PlaySoundEffect(0x14d); - sub_8045BF8(gFormatItems,item); - SetMessageArgument(gAvailablePokemonNames,target,0); + sub_8045BF8(gFormatBuffer_Items[0],item); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDBB8); // $m0 caught the $i0 info->heldItem = *item; sub_806A6E8(target); @@ -236,7 +233,7 @@ void sub_80479B8(char param_1, char param_2, u8 param_3, Entity *pokemon, Entity } } if ((item->flags & ITEM_FLAG_STICKY)) { - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatBuffer_Items[0],item); TryDisplayDungeonLoggableMessage3(pokemon,target,*gItemStickyDoesntWorkText); if (param_1 != '\0') { sub_806F370(pokemon,target,gUnknown_80F4FAE,1,&uStack_24,0,0x217,0,0,0); @@ -598,7 +595,7 @@ void RawstBerryItemAction(Entity *pokemon, Entity *target) SendNonVolatileEndMessage(pokemon, target); else { - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); // Pointer to "But nothing happened!" TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FB580); } @@ -612,7 +609,7 @@ void HungerSeedItemAction(Entity *pokemon, Entity * target) else { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); if (IQSkillIsEnabled(target, IQ_SELF_CURER)) TryDisplayDungeonLoggableMessage3(pokemon, target, *gPtrSelfHealPreventedHungerMessage); else @@ -1035,14 +1032,14 @@ bool8 sub_8048D50(Entity * pokemon, Item *item) entityInfo = GetEntInfo(pokemon); if ((item->flags & ITEM_FLAG_STICKY) != 0) { - sub_8045BF8(gFormatItems, item); + sub_8045BF8(gFormatBuffer_Items[0], item); TryDisplayDungeonLoggableMessage(pokemon,*gItemStickyDoesntWorkText); return FALSE; } else { if ((entityInfo->muzzled.muzzled == TRUE) && (IsEdibleItem(item->id))) { - SetMessageArgument(gAvailablePokemonNames,pokemon,0); + SetMessageArgument(gFormatBuffer_Monsters[0],pokemon,0); TryDisplayDungeonLoggableMessage(pokemon,*gUnknown_80FDCA4); return FALSE; } diff --git a/src/code_805D8C8_1.c b/src/code_805D8C8_1.c index b4e844928..d8ce51ea0 100644 --- a/src/code_805D8C8_1.c +++ b/src/code_805D8C8_1.c @@ -15,7 +15,7 @@ #include "dungeon_music.h" #include "dungeon_ai_movement.h" #include "code_8045A00.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_803E46C.h" #include "code_801602C.h" #include "code_800D090.h" @@ -1702,8 +1702,6 @@ extern void sub_8041AE0(Entity *pokemon); extern void sub_807EC28(bool8); extern void sub_8083CE0(u8 param_1); -extern u8 gAvailablePokemonNames[]; - extern u8 gUnknown_202749A[]; extern MenuInputStruct gUnknown_202EE10; @@ -1755,7 +1753,7 @@ void sub_805F02C(void) sub_803F508(r7); sub_8041AD0(leader); sub_8041AE0(GetLeader()); - SetMessageArgument(gAvailablePokemonNames, r7, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], r7, 0); TryDisplayDungeonLoggableMessage(r7, gUnknown_80F9BB0); sub_807EC28(FALSE); r8->unk64 = 0; @@ -2118,7 +2116,7 @@ void ShowFieldMenu(u8 a0_, bool8 a1) break; } else { - SetMessageArgument(gAvailablePokemonNames, GetLeader(), 0); + SetMessageArgument(gFormatBuffer_Monsters[0], GetLeader(), 0); DisplayDungeonMessage(0, gUnknown_80FDE18, 1); } } @@ -2166,7 +2164,7 @@ extern const u8 *const gUnknown_80FE954; const u8 *GetCurrentDungeonName(void); void GetWeatherName(u8 *dst, u8 weatherId); -extern s32 gFormatData_202DE30[]; +extern s32 gFormatArgs[]; void DrawFieldMenu(u8 a0) { @@ -2236,28 +2234,28 @@ void DrawFieldMenu(u8 a0) sub_80073B8(2); DeconstructPlayTime(gPlayTimeRef, &hours, &minutes, &seconds); - gFormatData_202DE30[0] = FixedPointToInt(leaderInfo->belly); - gFormatData_202DE30[1] = FixedPointToInt(leaderInfo->maxBelly); - PrintFormatStringOnWindow(0x73, 0, gUnknown_80F9174, 2, 0); + gFormatArgs[0] = FixedPointToInt(leaderInfo->belly); + gFormatArgs[1] = FixedPointToInt(leaderInfo->maxBelly); + PrintFormattedStringOnWindow(0x73, 0, gUnknown_80F9174, 2, 0); - gFormatData_202DE30[0] = gTeamInventoryRef->teamMoney; - PrintFormatStringOnWindow(0x73, 12, gUnknown_80F9190, 2, 0); + gFormatArgs[0] = gTeamInventoryRef->teamMoney; + PrintFormattedStringOnWindow(0x73, 12, gUnknown_80F9190, 2, 0); - GetWeatherName(gAvailablePokemonNames, GetApparentWeather(NULL)); - PrintFormatStringOnWindow(0x73, 24, gUnknown_80F91A8, 2, 0); + GetWeatherName(gFormatBuffer_Monsters[0], GetApparentWeather(NULL)); + PrintFormattedStringOnWindow(0x73, 24, gUnknown_80F91A8, 2, 0); - gFormatData_202DE30[0] = hours; - gFormatData_202DE30[1] = minutes; - gFormatData_202DE30[2] = seconds; - PrintFormatStringOnWindow(0x73, 36, gUnknown_80F91C8, 2, 0); + gFormatArgs[0] = hours; + gFormatArgs[1] = minutes; + gFormatArgs[2] = seconds; + PrintFormattedStringOnWindow(0x73, 36, gUnknown_80F91C8, 2, 0); for (yLoop = 0, i = 0; i < MAX_TEAM_MEMBERS; i++) { Entity *teamMon = gDungeon->teamPokemon[i]; if (EntityExists(teamMon)) { EntityInfo *monInfo = GetEntInfo(teamMon); - SetMessageArgument(gAvailablePokemonNames, teamMon, 0); - gFormatData_202DE30[0] = monInfo->HP; - gFormatData_202DE30[1] = monInfo->maxHPStat; - PrintFormatStringOnWindow(4, yLoop, gUnknown_80F91E0, 2, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], teamMon, 0); + gFormatArgs[0] = monInfo->HP; + gFormatArgs[1] = monInfo->maxHPStat; + PrintFormattedStringOnWindow(4, yLoop, gUnknown_80F91E0, 2, 0); yLoop += 12; if (yLoop >= 12 * MAX_TEAM_MEMBERS) break; @@ -2731,13 +2729,13 @@ void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 switch (sUnknown_202F248[a0]) { case 0: - PrintFormatStringOnWindow(x, 0, gTeamToolboxAPtr, 0, 0); + PrintFormattedStringOnWindow(x, 0, gTeamToolboxAPtr, 0, 0); for (i = 0; i < 10; i++) { if (ItemExists(&gTeamInventoryRef->teamItems[i])) { gUnknown_202EE10.unk1A++; sub_8090E14(txtBuff, &gTeamInventoryRef->teamItems[i], &gUnknown_8106B60); y = sub_8013800(&gUnknown_202EE10, i); - PrintFormatStringOnWindow(8, y, txtBuff, 0, 0); + PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0); } else { break; @@ -2745,13 +2743,13 @@ void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 } break; case 1: - PrintFormatStringOnWindow(x, 0, gTeamToolboxBPtr, 0, 0); + PrintFormattedStringOnWindow(x, 0, gTeamToolboxBPtr, 0, 0); for (i = 0; i < 10; i++) { if (ItemExists(&gTeamInventoryRef->teamItems[i + 10])) { gUnknown_202EE10.unk1A++; sub_8090E14(txtBuff, &gTeamInventoryRef->teamItems[i + 10], &gUnknown_8106B60); y = sub_8013800(&gUnknown_202EE10, i); - PrintFormatStringOnWindow(8, y, txtBuff, 0, 0); + PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0); } else { break; @@ -2761,12 +2759,12 @@ void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 case 2: { Tile *tile = GetTile(a1->pos.x, a1->pos.y); Item *item = GetItemData(tile->object); - PrintFormatStringOnWindow(x, 0, gFieldItemMenuGroundTextPtr, 0, 0); + PrintFormattedStringOnWindow(x, 0, gFieldItemMenuGroundTextPtr, 0, 0); if (item->flags & ITEM_FLAG_EXISTS) { gUnknown_202EE10.unk1A++; sub_8090E14(txtBuff, item, &gUnknown_8106B60); y = sub_8013800(&gUnknown_202EE10, 0); - PrintFormatStringOnWindow(8, y, txtBuff, 0, 0); + PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0); } if (a3) { gUnknown_202EE10.unk8.x = gUnknown_202EE10.unk8.y = 0; @@ -2775,13 +2773,13 @@ void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 break; case 3: { Item *item = &GetEntInfo(a1)->heldItem; - SetMessageArgument_2(gAvailablePokemonNames, a1Info, 0); - PrintFormatStringOnWindow(x, 0, gUnknown_80FE940, 0, 0); + SetMessageArgument_2(gFormatBuffer_Monsters[0], a1Info, 0); + PrintFormattedStringOnWindow(x, 0, gUnknown_80FE940, 0, 0); if (item->flags & ITEM_FLAG_EXISTS) { gUnknown_202EE10.unk1A++; sub_8090E14(txtBuff, item, &gUnknown_8106B60); y = sub_8013800(&gUnknown_202EE10, 0); - PrintFormatStringOnWindow(8, y, txtBuff, 0, 0); + PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0); } } break; @@ -2789,14 +2787,13 @@ void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 Entity *chosenTeamMember = gDungeon->teamPokemon[sUnknown_202F248[a0] - MAX_TEAM_MEMBERS]; if (EntityExists(chosenTeamMember)) { Item *item = &GetEntInfo(chosenTeamMember)->heldItem; - SetMessageArgument_2(gAvailablePokemonNames, - GetEntInfo(chosenTeamMember), 0); - PrintFormatStringOnWindow(x, 0, gUnknown_80FE940, 0, 0); + SetMessageArgument_2(gFormatBuffer_Monsters[0], chosenTeamMember->axObj.info, 0); + PrintFormattedStringOnWindow(x, 0, gUnknown_80FE940, 0, 0); if (item->flags & ITEM_FLAG_EXISTS) { gUnknown_202EE10.unk1A++; sub_8090E14(txtBuff, item, &gUnknown_8106B60); y = sub_8013800(&gUnknown_202EE10, 0); - PrintFormatStringOnWindow(8, y, txtBuff, 0, 0); + PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0); } } } @@ -2809,7 +2806,7 @@ void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 sub_80073E0(0); if (a2) { sub_80073B8(1); - PrintFormatStringOnWindow(4, 2, gWhichTextPtr1, 1, 0); + PrintFormattedStringOnWindow(4, 2, gWhichTextPtr1, 1, 0); sub_80073E0(1); } } @@ -3368,7 +3365,7 @@ void DrawFieldTeamMenu(struct UnkFieldTeamMenuStruct *a0, UnkTextStruct3 *a1, bo sub_80137B0(&gUnknown_202EE10, 0); sub_80073B8(0); if (r10) { - PrintFormatStringOnWindow(0xC, 0, gTeamFormat, 0, 0); + PrintFormattedStringOnWindow(0xC, 0, gTeamFormat, 0, 0); } // Print hp/max hp @@ -3382,44 +3379,44 @@ void DrawFieldTeamMenu(struct UnkFieldTeamMenuStruct *a0, UnkTextStruct3 *a1, bo EntityInfo *monInfo = GetEntInfo(teamMon); s32 color = (a0->unk14[i] != 0) ? 6 : 2; - sub_8070968(gAvailablePokemonNames, monInfo, color); + sub_8070968(gFormatBuffer_Monsters[0], monInfo, color); if (sub_806A538(gRecruitedPokemonRef->pokemon2[monInfo->teamIndex].unkA)) { if (monInfo->HP <= monInfo->maxHPStat / 4) { - strcpy(gAvailablePokemonNames + 0x50, gHeartRedTiny); + strcpy(gFormatBuffer_Monsters[1], gHeartRedTiny); } else if (monInfo->HP <= (monInfo->maxHPStat / 4) * 2) { - strcpy(gAvailablePokemonNames + 0x50, gHeartRedSmall); + strcpy(gFormatBuffer_Monsters[1], gHeartRedSmall); } else if (monInfo->HP <= (monInfo->maxHPStat / 4) * 3) { - strcpy(gAvailablePokemonNames + 0x50, gHeartRedMedium); + strcpy(gFormatBuffer_Monsters[1], gHeartRedMedium); } else { - strcpy(gAvailablePokemonNames + 0x50, gHeartRedLarge); + strcpy(gFormatBuffer_Monsters[1], gHeartRedLarge); } } else { if (monInfo->HP <= monInfo->maxHPStat / 4) { - strcpy(gAvailablePokemonNames + 0x50, gHeartYellowTiny); + strcpy(gFormatBuffer_Monsters[1], gHeartYellowTiny); } else if (monInfo->HP <= (monInfo->maxHPStat / 4) * 2) { - strcpy(gAvailablePokemonNames + 0x50, gHeartYellowSmall); + strcpy(gFormatBuffer_Monsters[1], gHeartYellowSmall); } else if (monInfo->HP <= (monInfo->maxHPStat / 4) * 3) { - strcpy(gAvailablePokemonNames + 0x50, gHeartYellowMedium); + strcpy(gFormatBuffer_Monsters[1], gHeartYellowMedium); } else { - strcpy(gAvailablePokemonNames + 0x50, gHeartYellowLarge); + strcpy(gFormatBuffer_Monsters[1], gHeartYellowLarge); } } - gFormatData_202DE30[0] = monInfo->HP; - gFormatData_202DE30[1] = monInfo->maxHPStat; + gFormatArgs[0] = monInfo->HP; + gFormatArgs[1] = monInfo->maxHPStat; y = sub_8013800(&gUnknown_202EE10, i); if (monInfo->isTeamLeader) { - PrintFormatStringOnWindow(9, y, gUnknown_8106BD4, 0, 0); + PrintFormattedStringOnWindow(9, y, gUnknown_8106BD4, 0, 0); } else { - PrintFormatStringOnWindow(9, y, gUnknown_8106BE0, 0, 0); + PrintFormattedStringOnWindow(9, y, gUnknown_8106BE0, 0, 0); } } } @@ -3712,12 +3709,12 @@ void PrintMonTactics(s32 firstId, u8 *tacticIds, EntityInfo *mon, s32 windowId) if (tactic == TACTIC_UNUSED) break; - CopyTacticsNameToBuffer(gAvailablePokemonNames, tactic); + CopyTacticsNameToBuffer(gFormatBuffer_Monsters[0], tactic); if (mon->tactic == tactic) { - PrintFormatStringOnWindow(0x10, y, gUnknown_8106BEC, windowId, 0); + PrintFormattedStringOnWindow(0x10, y, gUnknown_8106BEC, windowId, 0); } else { - PrintFormatStringOnWindow(0x10, y, gUnknown_8106BF4, windowId, 0); + PrintFormattedStringOnWindow(0x10, y, gUnknown_8106BF4, windowId, 0); } } diff --git a/src/code_8066D04.c b/src/code_8066D04.c index e65146bc3..3bf9b6233 100644 --- a/src/code_8066D04.c +++ b/src/code_8066D04.c @@ -7,11 +7,7 @@ #include "dungeon_music.h" #include "dungeon_util.h" #include "items.h" - -extern u8 gFormatItems[]; -extern u8 gUnknown_202DEA8[]; -extern u8 gAvailablePokemonNames[]; -extern u8 gUnknown_202DFE8[]; +#include "string_format.h" extern u8 *gUnknown_80F8BE0[]; extern u8 *gItemStickyCannotMove1[]; @@ -57,14 +53,14 @@ void HandleSetItemAction(Entity *param_1, bool8 param_2) itemPtr = &gTeamInventoryRef->teamItems[index]; if (((itemPtr->flags & ITEM_FLAG_EXISTS)) && ((itemPtr->flags & ITEM_FLAG_SET))) { if ((itemPtr->flags & ITEM_FLAG_STICKY)) { - sub_8045BF8(gFormatItems,itemPtr); + sub_8045BF8(gFormatBuffer_Items[0],itemPtr); TryDisplayDungeonLoggableMessage(param_1,*gItemStickyCannotEquip); return; } itemPtr->flags &= ~(ITEM_FLAG_SET); } } - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatBuffer_Items[0],item); PlaySoundEffect(0x133); if (param_2 != 0) { if ((item->flags & ITEM_FLAG_STICKY)) { @@ -82,7 +78,7 @@ void HandleSetItemAction(Entity *param_1, bool8 param_2) } item->flags |= ITEM_FLAG_SET; if (((item->flags & ITEM_FLAG_STICKY)) && (param_2 != 0)) { - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatBuffer_Items[0],item); TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0); } } @@ -98,12 +94,12 @@ void HandleUnsetItemAction(Entity *entity,bool8 enableMessage) item = &gTeamInventoryRef->teamItems[index]; if (((item->flags & ITEM_FLAG_EXISTS)) && ((item->flags & ITEM_FLAG_SET))) { if ((item->flags & ITEM_FLAG_STICKY)) { - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatBuffer_Items[0],item); TryDisplayDungeonLoggableMessage(entity,*gItemStickyCannotEquip); return; } item->flags &= ~(ITEM_FLAG_SET); - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatBuffer_Items[0],item); PlaySoundEffect(0x133); if (enableMessage) { TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8D20); @@ -135,15 +131,15 @@ void HandleGiveItemAction(Entity *param_1) bVar3 = FALSE; if ((!bVar3) && ((item->flags & (ITEM_FLAG_STICKY | ITEM_FLAG_SET)) == (ITEM_FLAG_STICKY | ITEM_FLAG_SET))) { - sub_8045BF8(gUnknown_202DEA8,item); + sub_8045BF8(gFormatBuffer_Items[1],item); TryDisplayDungeonLoggableMessage(param_1,*gItemStickyCannotMove2); } else { - SetMessageArgument(gUnknown_202DFE8,entity,0); + SetMessageArgument(gFormatBuffer_Monsters[1],entity,0); if (((info2->heldItem).flags & ITEM_FLAG_EXISTS)) { if (((info2->heldItem).flags & ITEM_FLAG_STICKY)) { - sub_8045BF8(gUnknown_202DEA8,&info2->heldItem); + sub_8045BF8(gFormatBuffer_Items[1],&info2->heldItem); TryDisplayDungeonLoggableMessage(param_1,*gItemStickyCannotMove1); return; } @@ -159,8 +155,8 @@ void HandleGiveItemAction(Entity *param_1) AddItemToInventory(&item1); } info2->heldItem = item2; - sub_8045BF8(gFormatItems,&item2); - sub_8045BF8(gFormatItems + 0x50,&item1); + sub_8045BF8(gFormatBuffer_Items[0],&item2); + sub_8045BF8(gFormatBuffer_Items[1],&item1); PlaySoundEffect(0x14d); TryDisplayDungeonLoggableMessage(param_1,*gMonTookAndReturnedItem); if ((item2.flags & ITEM_FLAG_STICKY)) { @@ -172,7 +168,7 @@ void HandleGiveItemAction(Entity *param_1) item3.flags &= ~(ITEM_FLAG_SET); sub_8044DF0(param_1, 0, 101); info2->heldItem = item3; - sub_8045BF8(gFormatItems,&item3); + sub_8045BF8(gFormatBuffer_Items[0],&item3); PlaySoundEffect(0x14d); TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8D44); if ((item3.flags & ITEM_FLAG_STICKY)) { @@ -209,15 +205,15 @@ void HandleTakeItemAction(Entity *param_1) else { if ((heldItem->flags & ITEM_FLAG_STICKY)) { - sub_8045BF8(gFormatItems,heldItem); + sub_8045BF8(gFormatBuffer_Items[0],heldItem); TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0); } else { item = *heldItem; item.flags &= ~(ITEM_FLAG_SET); - sub_8045BF8(gFormatItems,&item); - SetMessageArgument(gAvailablePokemonNames,entity,0); + sub_8045BF8(gFormatBuffer_Items[0],&item); + SetMessageArgument(gFormatBuffer_Monsters[0],entity,0); heldItem->id = ITEM_NOTHING; heldItem->quantity = 0; heldItem->flags = 0; @@ -250,20 +246,20 @@ void sub_8066BD4(Entity *param_1) item = sub_8044D90(param_1,1,0x1565); if (heldItem->flags & ITEM_FLAG_STICKY) { - sub_8045BF8(gFormatItems,heldItem); + sub_8045BF8(gFormatBuffer_Items[0],heldItem); TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0); } else if ((item->flags & (ITEM_FLAG_STICKY | ITEM_FLAG_SET)) == (ITEM_FLAG_STICKY | ITEM_FLAG_SET)) { - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatBuffer_Items[0],item); TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0); } else { heldItem->flags &= ~(ITEM_FLAG_SET); item->flags &= ~(ITEM_FLAG_SET); - sub_8045BF8(gFormatItems,heldItem); - sub_8045BF8(gFormatItems + 0x50,item); - SetMessageArgument(gUnknown_202DFE8,entity,0); + sub_8045BF8(gFormatBuffer_Items[0],heldItem); + sub_8045BF8(gFormatBuffer_Items[1],item); + SetMessageArgument(gFormatBuffer_Monsters[1],entity,0); temp = info->heldItem; info->heldItem = *item; *item = temp; @@ -302,7 +298,7 @@ void HandlePlaceItemAction(Entity *param_1) info = GetEntInfo(entity); item = sub_8044D90(entity,0,4); - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatBuffer_Items[0],item); if (info->action.unk4[0].actionUseIndex == 0x80) { TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8DE0); } @@ -319,7 +315,7 @@ void HandlePlaceItemAction(Entity *param_1) if(((tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) == TERRAIN_TYPE_NORMAL) && (tile->object == NULL)) { item->flags &= ~(ITEM_FLAG_SET); - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatBuffer_Items[0],item); if (sub_80460F8(&entity->pos,item,1) == 0) { _message: TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8E04); @@ -331,7 +327,7 @@ void HandlePlaceItemAction(Entity *param_1) item->flags = 0; FillInventoryGaps(); PlaySoundEffect(0x14d); - SetMessageArgument(gAvailablePokemonNames,entity,0); + SetMessageArgument(gFormatBuffer_Monsters[0],entity,0); TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8E28); sub_807AB38(entity,gDungeon->unk3A08); } diff --git a/src/code_8069E0C.c b/src/code_8069E0C.c index 396d3f07a..20741ab54 100644 --- a/src/code_8069E0C.c +++ b/src/code_8069E0C.c @@ -30,8 +30,6 @@ struct unkStruct_80F520C extern struct unkStruct_80F520C gUnknown_80F520C[]; -extern u8 gAvailablePokemonNames[]; -extern u8 gFormatItems[]; extern u8 gUnknown_80F51E4[]; extern u8 *gUnknown_80FCC7C[]; extern u8 *gUnknown_80FCCAC[]; @@ -174,7 +172,7 @@ void sub_8069F9C(Entity *pokemon,Entity * target,Move *move) } iVar6->abilities[abilityIndex] = local_20[randomIndex]; gDungeon->unkC = 1; - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCC7C); sub_8042900(target); sub_806ABAC(pokemon,target); @@ -192,9 +190,9 @@ _0806A068: iVar6->types[0] = type; iVar6->types[1] = TYPE_NONE; iVar6->isColorChanged = TRUE; - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); __src = GetUnformattedTypeString(iVar6->types[0]); - strcpy(gFormatItems,__src); + strcpy(gFormatBuffer_Items[0],__src); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCCAC); sub_8042968(target); } @@ -217,9 +215,9 @@ void sub_806A120(Entity * pokemon, Entity * target, Move* move) entityInfo->types[0] = uVar2_u32; entityInfo->types[1] = 0; sub_8041BBC(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); typeString = GetUnformattedTypeString(uVar2_u32); - strcpy(gFormatItems,typeString); + strcpy(gFormatBuffer_Items[0],typeString); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDCC8); } } @@ -319,7 +317,7 @@ void sub_806A390(Entity *pokemon) s32 index; EntityInfo *info; Move *move; - + info = GetEntInfo(pokemon); for(index = 0; index < MAX_MON_MOVES; index++) { diff --git a/src/code_806CD90.c b/src/code_806CD90.c index 99eb80b46..5003b230e 100644 --- a/src/code_806CD90.c +++ b/src/code_806CD90.c @@ -37,7 +37,6 @@ #include "dungeon_message.h" extern u8 gUnknown_202F221; -extern u8 gUnknown_202DFE8[]; extern void sub_806BFC0(EntityInfo *, u32); @@ -326,9 +325,6 @@ extern const u8 *const gUnknown_80F9D8C[]; extern const u8 *const gUnknown_80F9D84[]; extern const u8 *const gUnknown_80F9D28[]; -extern u8 gAvailablePokemonNames[]; -extern u32 gFormatData_202DE30; - void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *dmgStruct, bool32 isFalseSwipe, bool32 giveExp, s16 arg4, bool32 arg8, s32 argC) { bool32 r9; @@ -524,14 +520,14 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc } if (arg4 != 0x20E && HasAbility(target, ABILITY_STURDY) && dmgStruct->dmg == 9999) { - SetMessageArgument(gUnknown_202DFE8, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], target, 0); TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80FCA90); sub_8042238(attacker, target); dmgStruct->unkF = 1; return FALSE; } if (targetData->immobilize.immobilizeStatus == STATUS_FROZEN) { - SetMessageArgument(gUnknown_202DFE8, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], target, 0); TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9600); sub_8042238(attacker, target); dmgStruct->unkF = 1; @@ -572,8 +568,8 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc } } - SetMessageArgument(gAvailablePokemonNames, attacker, 0); - SetMessageArgument(gAvailablePokemonNames + 0x50, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], attacker, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], target, 0); if (dmgStruct->dmg == 0) { if (sub_8045888(attacker) && sub_8045888(target)) { if (targetData->unk152 == 0) { @@ -605,7 +601,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc else { const u8 *str; - gFormatData_202DE30 = dmgStruct->dmg; + gFormatArgs[0] = dmgStruct->dmg; str = gUnknown_80F9764[dmgStruct->residualDmgType]; ASM_MATCH_TRICK(dmgStruct); @@ -719,8 +715,8 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc r8 = 0; targetData->unk14C = 0; - SetMessageArgument(gAvailablePokemonNames, attacker, 0); - SetMessageArgument(gAvailablePokemonNames + 0x50, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], attacker, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], target, 0); if (dmgStruct->residualDmgType == 19 || dmgStruct->residualDmgType == 20) { if (targetData->isNotTeamMember) { TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9E44); @@ -795,7 +791,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc sub_806A390(target); sub_806CCB4(target, sub_806CEBC(target)); EntityUpdateStatusSprites(target); - SetMessageArgument(gUnknown_202DFE8, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], target, 0); DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80FD46C); sub_806F63C(target); return FALSE; @@ -852,8 +848,8 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc sub_806A390(target); sub_806CCB4(target, sub_806CEBC(target)); EntityUpdateStatusSprites(target); - SetMessageArgument(gAvailablePokemonNames, target, 0); - SetMessageArgument(gAvailablePokemonNames + 0x50, teamMember, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], teamMember, 0); DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80FD484); sub_806F63C(target); return FALSE; @@ -906,7 +902,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc sub_806A390(target); sub_806CCB4(target, sub_806CEBC(target)); EntityUpdateStatusSprites(target); - SetMessageArgument(gUnknown_202DFE8, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], target, 0); DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80FD46C); sub_806F63C(target); return FALSE; diff --git a/src/code_806FDF4.c b/src/code_806FDF4.c index 89fd0dc6c..2e45d797e 100644 --- a/src/code_806FDF4.c +++ b/src/code_806FDF4.c @@ -24,9 +24,7 @@ #include "dungeon_util_1.h" #include "type_chart.h" -extern u8 gUnknown_202E628[]; -extern u8 gUnknown_202E088[]; -extern u8 gAvailablePokemonNames[]; +extern u8 gFormatBuffer_FriendArea[]; extern u8 gUnknown_202EE70[MAX_TEAM_BODY_SIZE]; extern s16 gUnknown_80F5008; extern s16 gUnknown_80F5700[]; @@ -38,7 +36,6 @@ extern u8 *gUnknown_80FA030[]; extern u8 *gUnknown_80F9FE8[]; extern u8 *gUnknown_80FA004[]; extern u8 *gUnknown_80FA0C8[]; -extern u8 gUnknown_202E088[]; extern u8 *gUnknown_80FA120[]; extern u8 *gUnknown_80FA090[]; @@ -745,7 +742,7 @@ bool8 sub_806FA5C(Entity *entity1, Entity *entity2, struct unkStruct_8069D4C *pa entity2->unk22 = 0; sub_807A0CC(entity1, entity2); sub_806CE68(entity2, direction); - CopyCyanMonsterNametoBuffer(gAvailablePokemonNames,param_3->id); + CopyCyanMonsterNametoBuffer(gFormatBuffer_Monsters[0],param_3->id); if (DisplayDungeonYesNoMessage(0,*gUnknown_80F9FE8,1) == 0) { if (param_3->id != MONSTER_JIRACHI) { @@ -814,12 +811,12 @@ bool8 sub_806FA5C(Entity *entity1, Entity *entity2, struct unkStruct_8069D4C *pa DisplayDungeonMessage(0,*gUnknown_80FA0C8,1); } } - sub_808D9DC(gAvailablePokemonNames,pokeStruct2,0); + sub_808D9DC(gFormatBuffer_Monsters[0],pokeStruct2,0); TryDisplayDungeonLoggableMessage(entity1,*gUnknown_80FA0F0); if (flag) { leader = xxx_call_GetLeader(); - SetMessageArgument(gAvailablePokemonNames,leader,0); - sub_8092558(gUnknown_202E628,friendArea); + SetMessageArgument(gFormatBuffer_Monsters[0],leader,0); + sub_8092558(gFormatBuffer_FriendArea,friendArea); PlaySound(0xce); DisplayDungeonMessage(0,*gUnknown_80FA120,1); } @@ -1077,12 +1074,12 @@ bool8 sub_806FDF4(Entity *entity1,Entity *entity2,Entity **entityPtr) } if (flag) { leader = xxx_call_GetLeader(); - SetMessageArgument(gAvailablePokemonNames,leader,0); - sub_8092558(gUnknown_202E628,friendArea); + SetMessageArgument(gFormatBuffer_Monsters[0],leader,0); + sub_8092558(gFormatBuffer_FriendArea,friendArea); PlaySound(0xce); DisplayDungeonMessage(0,*gUnknown_80FA120,1); } - sub_808D9DC(gUnknown_202E088,pokeStruct2,0); + sub_808D9DC(gFormatBuffer_Monsters[3],pokeStruct2,0); *entityPtr = local_2c; } return TRUE; diff --git a/src/code_80718D8.c b/src/code_80718D8.c index 7e86c1f00..4865f5e23 100644 --- a/src/code_80718D8.c +++ b/src/code_80718D8.c @@ -28,11 +28,6 @@ struct unkStruct_806B7F8 EWRAM_DATA s32 gUnknown_202F31C[2] = {0, 0}; EWRAM_DATA s32 gUnknown_202F324[2] = {0, 0}; - -extern s32 gFormatData_202DE30[5]; -extern u8 gAvailablePokemonNames[]; -extern u8 gFormatItems[]; - extern s16 gUnknown_80F4DA6; extern s16 gUnknown_80F4DA8; extern s16 gUnknown_80F4DAA; @@ -104,7 +99,7 @@ void sub_8071B48(void) if (dungeon->unk662 > 900) { entity2 = dungeon->unk17B34; if ((EntityExists(entity2)) && (entity2->spawnGenID == dungeon->unk17B40)) { - SetMessageArgument(gAvailablePokemonNames,entity2,0); + SetMessageArgument(gFormatBuffer_Monsters[0],entity2,0); entityPtr = entity2; } } @@ -359,8 +354,8 @@ void sub_8071DA4(Entity *entity) " movs r1, 0\n" " b _08071F02\n" " .align 2, 0\n" -"_08071EE8: .4byte gFormatData_202DE30\n" -"_08071EEC: .4byte gAvailablePokemonNames\n" +"_08071EE8: .4byte gFormatArgs\n" +"_08071EEC: .4byte gFormatBuffer_Monsters\n" "_08071EF0: .4byte gUnknown_80F9E64\n" "_08071EF4: .4byte 0x00000149\n" "_08071EF8:\n" @@ -492,9 +487,9 @@ void sub_8071DA4(Entity *entity) " pop {r0}\n" " bx r0\n" " .align 2, 0\n" -"_08071FF4: .4byte gFormatData_202DE30\n" -"_08071FF8: .4byte gAvailablePokemonNames\n" -"_08071FFC: .4byte gFormatItems\n" +"_08071FF4: .4byte gFormatArgs\n" +"_08071FF8: .4byte gFormatBuffer_Monsters\n" +"_08071FFC: .4byte gFormatBuffer_Items\n" "_08072000: .4byte gUnknown_80FF730\n" "_08072004: .4byte 0x00000149"); } @@ -533,11 +528,11 @@ void sub_8072008(Entity *pokemon, Entity *target, s32 level, u8 param_4, u8 para info->exp = leveldata.expRequired; flag |= (sub_80723D0(pokemon,target,param_4,param_5)); if ((flag != 0) && (!info->isNotTeamMember)) { - gFormatData_202DE30[0] = info->maxHPStat - maxHP; - gFormatData_202DE30[1] = info->atk - atk[0]; - gFormatData_202DE30[2] = info->def - def[0]; - gFormatData_202DE30[3] = info->spAtk - atk[1]; - gFormatData_202DE30[4] = info->spDef - def[1]; + gFormatArgs[0] = info->maxHPStat - maxHP; + gFormatArgs[1] = info->atk - atk[0]; + gFormatArgs[2] = info->def - def[0]; + gFormatArgs[3] = info->spAtk - atk[1]; + gFormatArgs[4] = info->spDef - def[1]; if (param_4 != 0) { sub_807218C(target); } @@ -549,8 +544,8 @@ void sub_8072008(Entity *pokemon, Entity *target, s32 level, u8 param_4, u8 para for(tacticIndex = 0; tacticIndex < NUM_TACTICS; tacticIndex++) { if ((tacticsBuffer1[tacticIndex] == 0) && (tacticsBuffer2[tacticIndex] == 1)) { - SetMessageArgument(gAvailablePokemonNames,target,0); - CopyTacticsNameToBuffer(gFormatItems,tacticIndex); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); + CopyTacticsNameToBuffer(gFormatBuffer_Items[0],tacticIndex); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FF730); } } @@ -558,7 +553,7 @@ void sub_8072008(Entity *pokemon, Entity *target, s32 level, u8 param_4, u8 para info->expGainedInTurn = 0; info->unk149 = 0; if ((flag == 0) && (param_4 != 0)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80F9B74); } } @@ -576,7 +571,7 @@ void sub_807218C(Entity *pokemon) info = GetEntInfo(pokemon); sub_806A2BC(pokemon, 0); - SetMessageArgument_2(gAvailablePokemonNames, info, 0); + SetMessageArgument_2(gFormatBuffer_Monsters[0], info, 0); if(sub_8070BC0(pokemon)) { r3 = 0; @@ -604,34 +599,34 @@ void sub_807218C(Entity *pokemon) buffer[0] = 0; - if(gFormatData_202DE30[0]> 0) + if(gFormatArgs[0]> 0) { strcat(buffer, *gUnknown_80F9ACC); r6++; } - if(gFormatData_202DE30[1]> 0) + if(gFormatArgs[1]> 0) { if(gUnknown_8107010[r6] != 0) strcat(buffer, gUnknown_8107018[gUnknown_8107010[r6]]); strcat(buffer, *gUnknown_80F9AEC); r6++; } - if(gFormatData_202DE30[2]> 0) + if(gFormatArgs[2]> 0) { if(gUnknown_8107010[r6] != 0) strcat(buffer, gUnknown_8107018[gUnknown_8107010[r6]]); strcat(buffer, *gUnknown_80F9B10); r6++; } - if(gFormatData_202DE30[3]> 0) + if(gFormatArgs[3]> 0) { if(gUnknown_8107010[r6] != 0) strcat(buffer, gUnknown_8107018[gUnknown_8107010[r6]]); strcat(buffer, *gUnknown_80F9B34); r6++; } - if(gFormatData_202DE30[4]> 0) + if(gFormatArgs[4]> 0) { if(gUnknown_8107010[r6] != 0) strcat(buffer, gUnknown_8107018[gUnknown_8107010[r6]]); @@ -673,7 +668,7 @@ void LevelDownTarget(Entity *pokemon, Entity *target, u32 level) if(!flag) { - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80F9B94); } } @@ -712,17 +707,17 @@ bool8 sub_80723D0(Entity *pokemon, Entity *target, u8 param_3, u8 param_4) sub_806A2BC(target, 0); if(!flag) sub_8083D58(); - gFormatData_202DE30[0] = level; + gFormatArgs[0] = level; - SetMessageArgument_2(gAvailablePokemonNames, info, 0); + SetMessageArgument_2(gFormatBuffer_Monsters[0], info, 0); DisplayDungeonLoggableMessage(target, *gUnknown_80F9E80); } else { if(!flag) sub_8083D58(); - gFormatData_202DE30[0] = level; - SetMessageArgument_2(gAvailablePokemonNames, info, 0); + gFormatArgs[0] = level; + SetMessageArgument_2(gFormatBuffer_Monsters[0], info, 0); DisplayDungeonLoggableMessageTrue(target, *gUnknown_80F9E80); } } @@ -864,11 +859,11 @@ bool8 sub_80725A4(Entity *pokemon, Entity *target) } - SetMessageArgument_2(gAvailablePokemonNames, info, 0); + SetMessageArgument_2(gFormatBuffer_Monsters[0], info, 0); if(info->level != oldLevel) { - gFormatData_202DE30[0] = info->level; + gFormatArgs[0] = info->level; sub_80421C0(target, 0xD3 << 1); TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80F9EC8); // $m0 dropped to Level $d0! return TRUE; diff --git a/src/code_8072B78.c b/src/code_8072B78.c index 0d379498b..12a3b08da 100644 --- a/src/code_8072B78.c +++ b/src/code_8072B78.c @@ -13,8 +13,6 @@ #include "structs/map.h" #include "structs/str_pokemon.h" -extern u8 gAvailablePokemonNames[]; -extern u8 gUnknown_202DFE8[]; extern Position gAdjacentTileOffsets[]; extern u8 *gUnknown_80FE2EC[]; @@ -111,8 +109,8 @@ void sub_8072B78(Entity *pokemon, Entity *target, s16 id) id_s32 = id; entityInfo = GetEntInfo(target); - SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); - CopyCyanMonsterNametoBuffer(gAvailablePokemonNames + 0x50,id_s32); + SetMessageArgument_2(gFormatBuffer_Monsters[0],entityInfo,0); + CopyCyanMonsterNametoBuffer(gFormatBuffer_Monsters[1],id_s32); file = GetSpriteData(id_s32); fu(entityInfo, id_s32); GetPokemonLevelData(&levelData,id_s32,entityInfo->level); diff --git a/src/code_8073CF0.c b/src/code_8073CF0.c index fe5818d30..f25196f52 100644 --- a/src/code_8073CF0.c +++ b/src/code_8073CF0.c @@ -65,9 +65,6 @@ extern void sub_807EC28(bool8); extern s32 gUnknown_202F378; extern u8 gUnknown_202F32D; -extern u8 gFormatItems[]; -extern u8 gUnknown_202DFE8[]; -extern u8 gAvailablePokemonNames[]; extern const u8 *gMonTerrifiedCouldntPickUpItem; extern const u8 *gMonPickedUpItem; @@ -141,7 +138,7 @@ void sub_8073D14(Entity *entity) return; if (sub_8044B28()) return; - SetMessageArgument(gAvailablePokemonNames, entity, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], entity, 0); if (entityInfo->isTeamLeader) return; if (entityInfo->shopkeeper == 1) @@ -157,8 +154,8 @@ void sub_8073D14(Entity *entity) return; if (ShouldMonsterRunAwayAndShowEffect(entity, TRUE)) { - sub_8045BF8(gFormatItems, groundItem); - SetMessageArgument(gAvailablePokemonNames, entity, 0); + sub_8045BF8(gFormatBuffer_Items[0], groundItem); + SetMessageArgument(gFormatBuffer_Monsters[0], entity, 0); DisplayDungeonLoggableMessageTrue(entity, gMonTerrifiedCouldntPickUpItem); } else if (!_entityInfo->isNotTeamMember && GetItemCategory(groundItem->id) == CATEGORY_POKE) { @@ -170,7 +167,7 @@ void sub_8073D14(Entity *entity) PlaySoundEffect(0x14C); } AddToTeamMoney(GetMoneyValue(groundItem)); - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatBuffer_Items[0], groundItem); sub_80461C8(&entity->pos, 1); DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItem); } @@ -232,7 +229,7 @@ void sub_8073D14(Entity *entity) if (groundItem->flags & ITEM_FLAG_STICKY) carriedItems[newInventoryId]->flags |= ITEM_FLAG_STICKY; - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatBuffer_Items[0], groundItem); sub_80461C8(&entity->pos, 1); PlaySoundEffect(0x14A); if (inventoryIds[newInventoryId] <= -1) @@ -250,7 +247,7 @@ void sub_8073D14(Entity *entity) } if (i == nItems) { - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatBuffer_Items[0], groundItem); DisplayDungeonLoggableMessageTrue(entity, gMonSteppedOnItem); } else { @@ -263,16 +260,16 @@ void sub_8073D14(Entity *entity) if (inventoryIds[i] <= -1) { _entityInfo->heldItem = *groundItem; - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatBuffer_Items[0], groundItem); sub_80461C8(&entity->pos, 1); DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItem2); } else if (AddItemToInventory(groundItem)) { - SetMessageArgument(gAvailablePokemonNames, entity, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], entity, 0); DisplayDungeonLoggableMessageTrue(entity, gMonCouldntPickUpItem); } else { - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatBuffer_Items[0], groundItem); sub_80461C8(&entity->pos, 1); DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItemToolbox); } @@ -574,7 +571,7 @@ void sub_8074094(Entity *entity) UseAttack(NULL); if (!EntityExists(entity) || sub_8044B28()) return; - SetMessageArgument(gUnknown_202DFE8, entity, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], entity, 0); TryDisplayDungeonLoggableMessage(entity, gUnknown_80FEB30); TrySendImmobilizeSleepEndMsg(entity, entity); if (entityInfo->protection.protectionStatus == STATUS_PROTECT) { @@ -614,7 +611,7 @@ void sub_8074094(Entity *entity) if (entityInfo->charging.chargingStatusTurns == 0) { entityInfo->charging.chargingStatus = 0; entityInfo->unk14A = 0; - SetMessageArgument(gAvailablePokemonNames, entity, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], entity, 0); TryDisplayDungeonLoggableMessage(entity, gUnknown_80FABD8); } } @@ -770,7 +767,7 @@ void TickStatusHeal(Entity *entity) if (entityInfo->terrifiedTurns != 0) { sub_80838EC(&entityInfo->terrifiedTurns); if (entityInfo->terrifiedTurns == 0) { - SetMessageArgument(gAvailablePokemonNames, entity, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], entity, 0); TryDisplayDungeonLoggableMessage(entity, gPtrStenchWavedOffMessage); } } @@ -794,7 +791,7 @@ void TickStatusHeal(Entity *entity) s32 newSpdStage = CalcSpeedStage(entity); if (oldSpdStage != newSpdStage) { - SetMessageArgument(gAvailablePokemonNames, entity, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], entity, 0); TryDisplayDungeonLoggableMessage(entity, gUnknown_80FA124[newSpdStage]); } } diff --git a/src/code_8077274_1.c b/src/code_8077274_1.c index 520085de8..e05731587 100644 --- a/src/code_8077274_1.c +++ b/src/code_8077274_1.c @@ -23,8 +23,6 @@ #include "structs/dungeon_entity.h" #include "structs/str_dungeon.h" -extern u8 gAvailablePokemonNames[0x58]; -extern u8 gUnknown_202DFE8[0x58]; extern u8 *gUnknown_80FA8BC[]; extern u8 *gUnknown_80FA824[]; extern u8 *gUnknown_80FA81C[]; @@ -218,7 +216,7 @@ void MuzzleTarget(Entity *pokemon, Entity *target) if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon, target, TRUE))) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->muzzled.muzzled != TRUE) { entityInfo->muzzled.muzzled = TRUE; entityInfo->muzzled.muzzledTurns = CalculateStatusTurns(target,gUnknown_80F4F1C, TRUE) + 1; @@ -252,7 +250,7 @@ void TransformStatusTarget(Entity * pokemon, Entity * target) if (entityInfo->transformStatus.transformStatus == STATUS_TRANSFORMED) TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FBF04); else { - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); iVar5 = sub_803D870(auStack544, 0); if (iVar5 == 0) @@ -282,7 +280,7 @@ void TransformStatusTarget(Entity * pokemon, Entity * target) sub_806CF98(target); nullsub_87(target); sub_806CCB4(target, sub_806CEBC(target)); - CopyCyanMonsterNametoBuffer(gUnknown_202DFE8, entityInfo->apparentID); + CopyCyanMonsterNametoBuffer(gFormatBuffer_Monsters[1], entityInfo->apparentID); TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FBEC0); EntityUpdateStatusSprites(target); } @@ -301,7 +299,7 @@ void MobileStatusTarget(Entity * pokemon, Entity * target) if (entityInfo->transformStatus.transformStatus == STATUS_TRANSFORMED) { SendTransformEndMessage(pokemon,target); } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->transformStatus.transformStatus != STATUS_MOBILE) { entityInfo->transformStatus.transformStatus = STATUS_MOBILE; entityInfo->transformStatus.transformStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F04, FALSE) + 1; @@ -330,7 +328,7 @@ void ExposeStatusTarget(Entity * pokemon, Entity * target, s16 param_3) if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,TRUE))) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->hitChanceStages[1] > 10) { entityInfo->hitChanceStages[1] = 10; flag = TRUE; @@ -386,7 +384,7 @@ void BlindTarget(Entity *pokemon, Entity *target) if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon, target, TRUE))) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->eyesightStatus.eyesightStatus != STATUS_BLINKER) { entityInfo->eyesightStatus.eyesightStatus = STATUS_BLINKER; entityInfo->eyesightStatus.eyesightStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F08, TRUE) + 1; @@ -413,7 +411,7 @@ void CrossEyeVisionTarget(Entity *pokemon, Entity *target) if(!HasSafeguardStatus(pokemon, target, TRUE)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->eyesightStatus.eyesightStatus != STATUS_CROSS_EYED) { sub_8041E1C(target); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB834); @@ -439,7 +437,7 @@ void RestoreVisionTarget(Entity *pokemon, Entity *target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->eyesightStatus.eyesightStatus != STATUS_EYEDROPS) { entityInfo->eyesightStatus.eyesightStatus = STATUS_EYEDROPS; entityInfo->eyesightStatus.eyesightStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F10, FALSE) + 1; @@ -507,7 +505,7 @@ void RaiseAtkStatTarget(Entity * pokemon, Entity *target, s32 increment) EntityInfo *entityInfo; if (EntityExists(target)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); entityInfo = GetEntInfo(target); oldStat = entityInfo->atk; @@ -537,7 +535,7 @@ void RaiseSpAtkStatTarget(Entity * pokemon, Entity *target, s32 increment) EntityInfo *entityInfo; if (EntityExists(target)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); entityInfo = GetEntInfo(target); oldStat = entityInfo->spAtk; @@ -567,7 +565,7 @@ void RaiseDefStatTarget(Entity * pokemon, Entity *target, s32 increment) EntityInfo *entityInfo; if (EntityExists(target)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); entityInfo = GetEntInfo(target); oldStat = entityInfo->def; @@ -597,7 +595,7 @@ void RaiseSpDefStatTarget(Entity * pokemon, Entity *target, s32 increment) EntityInfo *entityInfo; if (EntityExists(target)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); entityInfo = GetEntInfo(target); oldStat = entityInfo->spDef; @@ -624,7 +622,7 @@ void LongTossStatusTarget(Entity * pokemon, Entity * target) EntityInfo *entityInfo; entityInfo = GetEntInfo(target); - SetMessageArgument(gUnknown_202DFE8,target,0); + SetMessageArgument(gFormatBuffer_Monsters[1],target,0); if (entityInfo->itemStatus.itemStatus != STATUS_LONG_TOSS) { entityInfo->itemStatus.itemStatus = STATUS_LONG_TOSS; sub_8041EA4(target); @@ -641,7 +639,7 @@ void PierceStatusTarget(Entity * pokemon, Entity * target) EntityInfo *entityInfo; entityInfo = GetEntInfo(target); - SetMessageArgument(gUnknown_202DFE8,target,0); + SetMessageArgument(gFormatBuffer_Monsters[1],target,0); if (entityInfo->itemStatus.itemStatus != STATUS_PIERCE) { entityInfo->itemStatus.itemStatus = STATUS_PIERCE; sub_8041EB4(target); @@ -665,7 +663,7 @@ void SetChargeStatusTarget(Entity *pokemon, Entity *target, u8 newStatus, Move * if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if ((entityInfo->charging.chargingStatus == newStatus) && (newStatus == STATUS_ENRAGED)) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC074); } @@ -740,7 +738,7 @@ void CounterStatusTarget(Entity * pokemon, Entity * target, u8 newStatus) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus == newStatus) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB10C); } @@ -762,7 +760,7 @@ void SafeguardStatusTarget(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_SAFEGUARD) { entityInfo->protection.protectionStatus = STATUS_SAFEGUARD; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E88, FALSE) + 1; @@ -782,7 +780,7 @@ void MistStatusTarget(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_MIST) { entityInfo->protection.protectionStatus = STATUS_MIST; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E8C, FALSE) + 1; @@ -802,7 +800,7 @@ void WishStatusTarget(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_WISH) { entityInfo->protection.protectionStatus = STATUS_WISH; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EB4, FALSE) + 1; @@ -822,7 +820,7 @@ void MagicCoatStatusTarget(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_MAGIC_COAT) { entityInfo->protection.protectionStatus = STATUS_MAGIC_COAT; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E90, FALSE) + 1; @@ -842,7 +840,7 @@ void LightScreenStatusTarget(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_LIGHT_SCREEN) { entityInfo->protection.protectionStatus = STATUS_LIGHT_SCREEN; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E84, FALSE) + 1; @@ -862,7 +860,7 @@ void ReflectStatusTarget(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_REFLECT) { entityInfo->protection.protectionStatus = STATUS_REFLECT; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E80, FALSE) + 1; @@ -886,11 +884,11 @@ void ProtectStatusTarget(Entity * pokemon, Entity * target) if (entityInfo->protection.protectionStatus != STATUS_PROTECT) { entityInfo->protection.protectionStatus = STATUS_PROTECT; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4ED4, FALSE) + 1; - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB9B0); } else { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB9D8); } EntityUpdateStatusSprites(target); @@ -903,7 +901,7 @@ void MirrorCoatStatusTarget(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_MIRROR_COAT) { entityInfo->protection.protectionStatus = STATUS_MIRROR_COAT; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EE8, FALSE) + 1; @@ -923,7 +921,7 @@ void EndureStatusTarget(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_ENDURING) { entityInfo->protection.protectionStatus = STATUS_ENDURING; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EF8, FALSE) + 1; @@ -943,7 +941,7 @@ void MirrorMoveStatusTarget(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_MIRROR_MOVE) { entityInfo->protection.protectionStatus = STATUS_MIRROR_MOVE; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4F18, FALSE) + 1; @@ -968,7 +966,7 @@ void Conversion2StatusTarget(Entity * pokemon, Entity * target) TryDisplayDungeonLoggableMessage3(pokemon,target,*gPtrForecastPreventsConversion2Message); else { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_CONVERSION2) { entityInfo->protection.protectionStatus = STATUS_CONVERSION2; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4F20, FALSE) + 1; @@ -989,7 +987,7 @@ void VitalThrowStatusTarget(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->protection.protectionStatus != STATUS_VITAL_THROW) { entityInfo->protection.protectionStatus = STATUS_VITAL_THROW; entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4F24, FALSE) + 1; @@ -1042,7 +1040,7 @@ void sub_8079E34(Entity * pokemon, Entity * target, bool8 param_3) else if (param_3 != 0) { sub_80420C8(target); } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (statChanged) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBD18); } @@ -1159,7 +1157,7 @@ void SendSleepEndMessage(Entity * pokemon, Entity * target, bool8 param_3, bool8 return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->sleep.sleep) { case STATUS_NONE: case 6: @@ -1209,7 +1207,7 @@ void SendNonVolatileEndMessage(Entity * pokemon, Entity * target) return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->nonVolatile.nonVolatileStatus) { case STATUS_NONE: case 5: @@ -1240,7 +1238,7 @@ void SendImmobilizeEndMessage(Entity * pokemon, Entity *target) return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->immobilize.immobilizeStatus) { case STATUS_NONE: case 8: @@ -1280,7 +1278,7 @@ void SendVolatileEndMessage(Entity * pokemon, Entity *target) return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->volatileStatus.volatileStatus) { case STATUS_NONE: case 8: @@ -1320,7 +1318,7 @@ void SendProtectionEndMessage(Entity * pokemon, Entity *target) return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->protection.protectionStatus) { case STATUS_NONE: case 0xF: @@ -1377,7 +1375,7 @@ void SendWaitingEndMessage(Entity * pokemon, Entity * target, u8 waitingStatus) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->waitingStruct.waitingStatus) { case STATUS_NONE: case 4: @@ -1400,7 +1398,7 @@ void SendWaitingEndMessage(Entity * pokemon, Entity * target, u8 waitingStatus) sub_806CCB4(target,uVar3); gDungeon->decoyActive = FALSE; if (waitingStatus != STATUS_DECOY) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA9A0); } break; @@ -1416,7 +1414,7 @@ void SendLinkedEndMessage(Entity * pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->linked.linkedStatus) { case STATUS_NONE: @@ -1442,7 +1440,7 @@ void SendMoveEndMessage(Entity * pokemon, Entity * target) return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->moveStatus.moveStatus) { case STATUS_NONE: case 5: @@ -1475,7 +1473,7 @@ void SendTransformEndMessage(Entity * pokemon, Entity *target) return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->transformStatus.transformStatus) { case STATUS_NONE: case 4: @@ -1510,7 +1508,7 @@ void SendEyesightEndMessage(Entity * pokemon,Entity * target) return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->eyesightStatus.eyesightStatus) { case STATUS_NONE: case 4: @@ -1542,7 +1540,7 @@ void SendMuzzledEndMessage(Entity * pokemon, Entity * target) return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); switch(entityInfo->muzzled.muzzled) { case FALSE: case 2: @@ -1592,7 +1590,7 @@ void SendThawedMessage(Entity *pokemon, Entity *target) entityInfo->immobilize.immobilizeStatus = STATUS_NONE; entityInfo->immobilize.immobilizeStatusTurns = 0; entityInfo->immobilize.immobilizeStatusDamageCountdown = 0; - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA8BC); // $m0 thawed out! EntityUpdateStatusSprites(target); } diff --git a/src/code_807CD9C.c b/src/code_807CD9C.c index 17849de23..de204c76b 100644 --- a/src/code_807CD9C.c +++ b/src/code_807CD9C.c @@ -20,7 +20,6 @@ #include "move_util.h" extern u32 gUnknown_202EDCC; -extern u8 gAvailablePokemonNames[]; extern s16 gUnknown_80F4F90; extern u8 *gUnknown_80FCA10[]; @@ -71,11 +70,11 @@ void sub_807CD9C(Entity *pokemon, Entity *target, u32 direction) else { if (pokemon == target) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCA10); // {POKEMON_0} couldn't be knocked flying! return; } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (HasAbility(target,ABILITY_SUCTION_CUPS)) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCBCC); // {POKEMON_0} is anchored! It can't be knocked flying! return; @@ -227,7 +226,7 @@ void sub_807D148(Entity *pokemon, Entity *target, u32 param_3, Position *pos) info = GetEntInfo(target); flag = FALSE; - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (HasAbility(target,ABILITY_SUCTION_CUPS)) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCAE8); return; diff --git a/src/code_807E1A0.c b/src/code_807E1A0.c index 675af7775..a1d17e4a3 100644 --- a/src/code_807E1A0.c +++ b/src/code_807E1A0.c @@ -30,7 +30,6 @@ extern u8 *gUnknown_80F9C4C[]; extern u8 *gUnknown_80F9C70[]; extern u8 *gUnknown_80F9C8C[]; extern u8 *gUnknown_80F9CBC[]; -extern u8 gAvailablePokemonNames[]; extern u8 *gUnknown_80FCAC0[]; void sub_807E1A0(Entity *pokemon,Entity *target,u8 moveType,s16 param_4,s32 param_5) @@ -75,12 +74,12 @@ void sub_807E254(Entity *pokemon,Entity *target) if (HasAbility(pokemon, ABILITY_SUCTION_CUPS)) { - SetMessageArgument(gAvailablePokemonNames,pokemon,0); + SetMessageArgument(gFormatBuffer_Monsters[0],pokemon,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCAC0); // $m0 is anchored! It won't switch places } else if(HasAbility(target, ABILITY_SUCTION_CUPS)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCAC0); // $m0 is anchored! It won't switch places } else diff --git a/src/code_8084778.c b/src/code_8084778.c index 6a4074375..5fdf19ed1 100644 --- a/src/code_8084778.c +++ b/src/code_8084778.c @@ -1,13 +1,11 @@ #include "global.h" #include "code_8084778.h" - +#include "string_format.h" #include "code_80958E8.h" #include "mailbox.h" #include "pokemon_mid.h" #include "structs/str_dungeon.h" -extern u8 gUnknown_202E088[]; - extern const u8 gUnknown_8107224[]; void sub_8084778(void) @@ -15,12 +13,12 @@ void sub_8084778(void) s32 i; WonderMail *wm; - strcpy(gUnknown_202E088, gUnknown_8107224); + strcpy(gFormatBuffer_Monsters[3], gUnknown_8107224); for (i = 0; i < MAX_ACCEPTED_JOBS; i++) { wm = GetJobSlotInfo(i); if (wm->mailType == MAIL_TYPE_TAKEN_JOB && gDungeon->dungeonLocation.id == wm->unk4.dungeon.id && wm->missionType == WONDER_MAIL_MISSION_TYPE_ESCORT_CLIENT) { - CopyCyanMonsterNametoBuffer(gUnknown_202E088, wm->targetSpecies); + CopyCyanMonsterNametoBuffer(gFormatBuffer_Monsters[3], wm->targetSpecies); break; } } diff --git a/src/code_809447C.c b/src/code_809447C.c index 869fbf568..fcfc4cfae 100644 --- a/src/code_809447C.c +++ b/src/code_809447C.c @@ -1,5 +1,5 @@ #include "global.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8092334.h" #include "code_809447C.h" #include "dungeon.h" @@ -15,10 +15,6 @@ struct unkStruct_8113080 u8 *text; }; -extern u8 gFormatItems[]; -extern u8 gAvailablePokemonNames[]; -extern s32 gFormatData_202DE30[2]; - extern const u8 *gUnknown_811383C[]; extern const u8 *gUnknown_8113850[]; extern const u8 *gUnknown_8113868[]; @@ -61,8 +57,8 @@ static void sub_80944BC(s16 moveID, u8 *buffer) // Needed this cast/variable to match moveID_u16 = moveID_s32; sub_8092AA8(&move, moveID_u16); - sub_80928C0(gFormatItems, &move, NULL); - xxx_format_string(*gUnknown_811383C, buffer, buffer + 200, 0); // $m0's $i0 + sub_80928C0(gFormatBuffer_Items[0], &move, NULL); + FormatString(*gUnknown_811383C, buffer, buffer + 200, 0); // $m0's $i0 } else { strncpy(buffer, gUnknown_8113080[moveID - 0x1F4].text, 200); } @@ -87,84 +83,84 @@ void sub_8094558(u32 param_1,u8 *param_2,UnkDungeonGlobal_unk1CE98_sub *param_3) Item *item; sub_80073B8(param_1); - PrintFormatStringOnWindow(0x10,0,param_2,param_1,0); - PrintYellowDungeonNametoBuffer(gAvailablePokemonNames, ¶m_3->dungeonLocation); - PrintFormatStringOnWindow(4,0x10,*gUnknown_8113850,param_1,0); // #+Place: $m0 + PrintFormattedStringOnWindow(0x10,0,param_2,param_1,0); + PrintYellowDungeonNametoBuffer(gFormatBuffer_Monsters[0], ¶m_3->dungeonLocation); + PrintFormattedStringOnWindow(4,0x10,*gUnknown_8113850,param_1,0); // #+Place: $m0 y = 0x1A; - sub_80922B4(gAvailablePokemonNames, param_3->buffer1, POKEMON_NAME_LENGTH); - sub_80922B4(gAvailablePokemonNames + 0x50, param_3->buffer2, POKEMON_NAME_LENGTH); + sub_80922B4(gFormatBuffer_Monsters[0], param_3->buffer1, POKEMON_NAME_LENGTH); + sub_80922B4(gFormatBuffer_Monsters[1], param_3->buffer2, POKEMON_NAME_LENGTH); if (sub_8094528(param_3->moveID) != 0) { // $m1 was defeated by - xxx_format_string(*gUnknown_8113868,buffer,(u8*)((u32 **)&buffer + 50),0); // TODO: fix this hack + FormatString(*gUnknown_8113868,buffer, buffer + sizeof(buffer),0); } else { // $m1 - xxx_format_string(*gUnknown_8113870,buffer,(u8*)((u32 **)&buffer + 50),0); // TODO: fix this hack + FormatString(*gUnknown_8113870,buffer, buffer + sizeof(buffer),0); } x = (0xb0 - sub_8008ED0(buffer)) / 2; - PrintFormatStringOnWindow(x,y,buffer,param_1,0); + PrintFormattedStringOnWindow(x,y,buffer,param_1,0); y += 0xA; sub_80944BC(param_3->moveID, buffer); x = (0xb0 - sub_8008ED0(buffer)) / 2; - PrintFormatStringOnWindow(x,y,buffer,param_1,0); + PrintFormattedStringOnWindow(x,y,buffer,param_1,0); y += 0x10; - gFormatData_202DE30[0] = param_3->exp; - gFormatData_202DE30[1] = param_3->level; - if (gFormatData_202DE30[1] >= 100) { - PrintFormatStringOnWindow(4,y,*gUnknown_81138C0,param_1,0); + gFormatArgs[0] = param_3->exp; + gFormatArgs[1] = param_3->level; + if (gFormatArgs[1] >= 100) { + PrintFormattedStringOnWindow(4,y,*gUnknown_81138C0,param_1,0); } else { - PrintFormatStringOnWindow(4,y,*gUnknown_8113898,param_1,0); + PrintFormattedStringOnWindow(4,y,*gUnknown_8113898,param_1,0); } y += 0xA; - gFormatData_202DE30[0] = param_3->maxHPStat; - PrintFormatStringOnWindow(4,y,*gUnknown_81138D0,param_1,0); + gFormatArgs[0] = param_3->maxHPStat; + PrintFormattedStringOnWindow(4,y,*gUnknown_81138D0,param_1,0); y += 0xA; - gFormatData_202DE30[0] = param_3->atk; - gFormatData_202DE30[1] = param_3->def; + gFormatArgs[0] = param_3->atk; + gFormatArgs[1] = param_3->def; if (param_3->attBoost) { - gFormatData_202DE30[0] = gFormatData_202DE30[0] + param_3->attBoost; - PrintFormatStringOnWindow(4,y,*gUnknown_8113950,param_1,0); + gFormatArgs[0] = gFormatArgs[0] + param_3->attBoost; + PrintFormattedStringOnWindow(4,y,*gUnknown_8113950,param_1,0); } else { - PrintFormatStringOnWindow(4,y,*gUnknown_81138E4,param_1,0); + PrintFormattedStringOnWindow(4,y,*gUnknown_81138E4,param_1,0); } if (param_3->defBoost) { - gFormatData_202DE30[1] = gFormatData_202DE30[1] + param_3->defBoost; - PrintFormatStringOnWindow(4,y,*gUnknown_8113974,param_1,0); + gFormatArgs[1] = gFormatArgs[1] + param_3->defBoost; + PrintFormattedStringOnWindow(4,y,*gUnknown_8113974,param_1,0); } else { - PrintFormatStringOnWindow(4,y,*gUnknown_8113900,param_1,0); + PrintFormattedStringOnWindow(4,y,*gUnknown_8113900,param_1,0); } y += 0xA; - gFormatData_202DE30[0] = param_3->spAtk; - gFormatData_202DE30[1] = param_3->spDef; + gFormatArgs[0] = param_3->spAtk; + gFormatArgs[1] = param_3->spDef; if (param_3->spAttBoost) { - gFormatData_202DE30[0] = gFormatData_202DE30[0] + param_3->spAttBoost; - PrintFormatStringOnWindow(4,y,*gUnknown_8113990,param_1,0); + gFormatArgs[0] = gFormatArgs[0] + param_3->spAttBoost; + PrintFormattedStringOnWindow(4,y,*gUnknown_8113990,param_1,0); } else { - PrintFormatStringOnWindow(4,y,*gUnknown_8113918,param_1,0); + PrintFormattedStringOnWindow(4,y,*gUnknown_8113918,param_1,0); } if (param_3->spDefBoost) { - gFormatData_202DE30[1] = gFormatData_202DE30[1] + param_3->spDefBoost; - PrintFormatStringOnWindow(4,y,*gUnknown_81139B4,param_1,0); + gFormatArgs[1] = gFormatArgs[1] + param_3->spDefBoost; + PrintFormattedStringOnWindow(4,y,*gUnknown_81139B4,param_1,0); } else { - PrintFormatStringOnWindow(4,y,*gUnknown_8113934,param_1,0); + PrintFormattedStringOnWindow(4,y,*gUnknown_8113934,param_1,0); } y += 0x10; item = &(param_3->heldItem); if ((param_3->heldItem.flags & ITEM_FLAG_EXISTS)) { - sub_8090E14(gFormatItems,item,0); + sub_8090E14(gFormatBuffer_Items[0],item,0); } else { - strcpy(gFormatItems,*gUnknown_81139B8); + strcpy(gFormatBuffer_Items[0],*gUnknown_81139B8); } - PrintFormatStringOnWindow(4,y,*gUnknown_81139CC,param_1,0); + PrintFormattedStringOnWindow(4,y,*gUnknown_81139CC,param_1,0); sub_80073E0(param_1); } diff --git a/src/code_809A560.c b/src/code_809A560.c index 7e6e04c2f..e627f8dbc 100644 --- a/src/code_809A560.c +++ b/src/code_809A560.c @@ -1,6 +1,7 @@ #include "global.h" #include "text1.h" #include "memory.h" +#include "string_format.h" #include "structs/str_3001B64.h" IWRAM_DATA struct unkStruct_3001B64 *gUnknown_3001B64 = {0}; @@ -8,11 +9,9 @@ IWRAM_DATA struct unkStruct_3001B64 *gUnknown_3001B64 = {0}; extern u16 gUnknown_20399DC; extern u16 gUnknown_20399DE; extern u8 gInvalidityText[]; -extern u8 gAvailablePokemonNames[]; -extern u8 gPlayerName[]; extern u8 ScriptPrintText_809B2B8(u32 *, u32, u32, u32); -extern u32 IsTextboxOpen_809B40C(u32 *); +extern u32 IsTextboxOpen_809B40C(u32 *); extern void sub_801416C(s32, s32); extern void sub_80095CC(u32, u32); extern void sub_8009408(u32, u32); @@ -180,7 +179,7 @@ void sub_809A7EC(void) temp = &gUnknown_3001B64->unk43C[0]; for(counter = 0; counter < 10; counter++, temp++) - { + { temp->unk0 |= -1; temp->speciesID = MONSTER_NONE; temp->unk4 = 0; @@ -217,8 +216,8 @@ void sub_809A83C(s16 param_1) temp->unk10 = 0; temp->faceData = NULL; temp->unk1C = 0; - strcpy(gAvailablePokemonNames + (param_1 * 0x50), gInvalidityText); - strcpy(gPlayerName + (param_1 * 0x50), gInvalidityText); + strcpy(gFormatBuffer_Monsters[param_1], gInvalidityText); + strcpy(gFormatBuffer_Names[param_1], gInvalidityText); if(temp->faceFile) { CloseFile(temp->faceFile); diff --git a/src/debug_menu2.c b/src/debug_menu2.c index f80d476fd..82e2acdc4 100644 --- a/src/debug_menu2.c +++ b/src/debug_menu2.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "code_801C8C4.h" #include "common_strings.h" diff --git a/src/debug_menu4.c b/src/debug_menu4.c index f6bd80b13..3810d2339 100644 --- a/src/debug_menu4.c +++ b/src/debug_menu4.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801602C.h" #include "code_8023868.h" #include "debug_menu4.h" diff --git a/src/dungeon_ai.c b/src/dungeon_ai.c index 450b27651..298cfc4bc 100644 --- a/src/dungeon_ai.c +++ b/src/dungeon_ai.c @@ -35,7 +35,6 @@ #include "targeting.h" #include "tile_types.h" -extern char gAvailablePokemonNames[]; extern char *gPtrCouldntBeUsedMessage; extern char *gPtrItsaMonsterHouseMessage; @@ -90,7 +89,7 @@ void RunMonsterAI(Entity *pokemon, u32 unused) if (CheckVariousConditions(pokemon)) { pokemonInfo->useHeldItem = FALSE; - SetMessageArgument(gAvailablePokemonNames, pokemon, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], pokemon, 0); TryDisplayDungeonLoggableMessage(pokemon, gPtrCouldntBeUsedMessage); return; } diff --git a/src/dungeon_ai_attack.c b/src/dungeon_ai_attack.c index 26b232f5b..39272ace4 100644 --- a/src/dungeon_ai_attack.c +++ b/src/dungeon_ai_attack.c @@ -45,9 +45,6 @@ extern const u8 *const gUnknown_80FC6A8[]; extern const u8 *const gUnknown_80FC714[]; extern const u8 *const gUnknown_80FC718[]; -extern u8 gFormatItems[]; -extern u8 gAvailablePokemonNames[]; - EWRAM_DATA bool8 gCanAttackInDirection[NUM_DIRECTIONS] = {0}; EWRAM_DATA u8 gPotentialAttackTargetDirections[NUM_DIRECTIONS] = {0}; EWRAM_DATA s32 gPotentialAttackTargetWeights[NUM_DIRECTIONS] = {0}; @@ -994,7 +991,7 @@ void HandleUseOrbAction(Entity *pokemon) IVar5 = *item; if (item->flags & ITEM_FLAG_STICKY) { - sub_8045BF8(gFormatItems, item); + sub_8045BF8(gFormatBuffer_Items[0], item); TryDisplayDungeonLoggableMessage(pokemon, *gItemStickyDoesntWorkText); return; } @@ -1021,20 +1018,20 @@ void HandleUseOrbAction(Entity *pokemon) } if (entityInfo->volatileStatus.volatileStatus == 1) { - SetMessageArgument(gAvailablePokemonNames, pokemon, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], pokemon, 0); TryDisplayDungeonLoggableMessage(pokemon, *gUnknown_80FC714); r4 = FALSE; r8 = FALSE; } else if (entityInfo->volatileStatus.volatileStatus == 7) { - SetMessageArgument(gAvailablePokemonNames, pokemon, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], pokemon, 0); TryDisplayDungeonLoggableMessage(pokemon, *gUnknown_80FC718); r4 = FALSE; r8 = FALSE; } else if (entityInfo->nonVolatile.nonVolatileStatus == 4) { - SetMessageArgument(gAvailablePokemonNames, pokemon, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], pokemon, 0); TryDisplayDungeonLoggableMessage(pokemon, *gUnknown_80FC6A8); r4 = FALSE; r8 = FALSE; diff --git a/src/dungeon_ai_leader.c b/src/dungeon_ai_leader.c index c1ebf06ae..57dd17a06 100644 --- a/src/dungeon_ai_leader.c +++ b/src/dungeon_ai_leader.c @@ -32,7 +32,6 @@ extern u8 gUnknown_202F222; extern u8 gUnknown_202F32C; extern u8 gUnknown_202F32D; extern u8 gUnknown_203B434; -extern u8 gAvailablePokemonNames[]; extern u8 *gUnknown_80FA5B4[]; extern u8 *gUnknown_80FE478[]; @@ -283,7 +282,7 @@ bool8 sub_8072CF4(Entity *entity) sub_80671A0(entity); break; } - SetMessageArgument(gAvailablePokemonNames,entity,0); + SetMessageArgument(gFormatBuffer_Monsters[0],entity,0); TryDisplayDungeonLoggableMessage(entity,*gUnknown_80FE6D4); break; case ACTION_TALK_FIELD: @@ -311,7 +310,7 @@ bool8 sub_8072CF4(Entity *entity) HandleThrowItemAIAction(entity); break; case ACTION_SECOND_THOUGHTS: - SetMessageArgument(gAvailablePokemonNames,entity,0); + SetMessageArgument(gFormatBuffer_Monsters[0],entity,0); TryDisplayDungeonLoggableMessage(entity,*gUnknown_80FE478); break; default: diff --git a/src/dungeon_cutscenes.c b/src/dungeon_cutscenes.c index f23e8ccf8..66fa03047 100644 --- a/src/dungeon_cutscenes.c +++ b/src/dungeon_cutscenes.c @@ -31,9 +31,6 @@ #include "trap.h" extern u32 gUnknown_202EDC8; -extern u8 gUnknown_202E038[0x50]; -extern u8 gAvailablePokemonNames[0x58]; -extern u8 gFormatItems[]; extern const s16 gUnknown_80F57CA; extern const s16 gUnknown_80F57CC; @@ -527,8 +524,8 @@ void sub_8086B14(void) sub_8086A3C(skarmoryEntity); GetEntInfo(diglettEntity)->unk15C = 1; sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 2); - CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_DIGLETT); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_SKARMORY); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2],MONSTER_DIGLETT); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_SKARMORY); } void sub_8086B94(void) @@ -671,9 +668,9 @@ void sub_8086E9C(void) sub_80855E4(sub_8086A3C); sub_808563C(sub_8086A3C); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_METAPOD); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_GENGAR); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0xA0, MONSTER_CATERPIE); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_METAPOD); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_GENGAR); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[4], MONSTER_CATERPIE); } void sub_8086F00(void) @@ -685,9 +682,9 @@ void sub_8086F00(void) sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_METAPOD); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_GENGAR); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0xA0, MONSTER_CATERPIE); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_METAPOD); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_GENGAR); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[4], MONSTER_CATERPIE); } // From @jiangzhengwenjz: @@ -838,8 +835,8 @@ void sub_8087230(void) SetFacingDirection(zapdosEntity, DIRECTION_SOUTH); sub_8086A3C(zapdosEntity); sub_8085860(leaderEntity->pos.x, leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SHIFTRY); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ZAPDOS); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_SHIFTRY); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_ZAPDOS); } void sub_808729C(void) @@ -861,8 +858,8 @@ void sub_808729C(void) sub_8086A3C(zapdosEntity); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SHIFTRY); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ZAPDOS); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_SHIFTRY); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_ZAPDOS); } void sub_8087334(u8 param_1, u8 param_2) @@ -1069,7 +1066,7 @@ void sub_80877E8(void) SetFacingDirection(moltresEntity, DIRECTION_SOUTH); sub_8086A3C(moltresEntity); sub_8085860(leaderEntity->pos.x + -3,leaderEntity->pos.y + -2); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_MOLTRES); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_MOLTRES); } void sub_8087848(void) @@ -1098,7 +1095,7 @@ void sub_8087848(void) XPos = GetCameraXPos(); YPos = GetCameraYPos(); sub_803F878(XPos, YPos + -0x1000); - CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_MOLTRES); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2],MONSTER_MOLTRES); } void sub_80878F4(u8 param_1, u8 param_2) @@ -1478,7 +1475,7 @@ void sub_8087F54(void) SetFacingDirection(articunoEntity, DIRECTION_SOUTH); sub_8086A3C(articunoEntity); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y + -3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_ARTICUNO); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_ARTICUNO); } void sub_8087FB4(void) @@ -1492,7 +1489,7 @@ void sub_8087FB4(void) sub_8085930(DIRECTION_NORTH); SetFacingDirection(articunoEntity, DIRECTION_SOUTH); sub_806CDD4(articunoEntity, 0xF, DIRECTION_SOUTH); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_ARTICUNO); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_ARTICUNO); } void sub_8087FF8(void) @@ -1515,7 +1512,7 @@ void sub_8087FF8(void) sub_8086A3C(articunoEntity); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y + -3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_ARTICUNO); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_ARTICUNO); } void sub_8088088(u8 param_1, u8 param_2) @@ -1771,8 +1768,8 @@ void sub_808862C(void) SetFacingDirection(groudonEntity, DIRECTION_SOUTH); sub_8086A3C(groudonEntity); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y -3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_GROUDON); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ALAKAZAM); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_GROUDON); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_ALAKAZAM); } void sub_80886C4(void) @@ -1799,8 +1796,8 @@ void sub_80886C4(void) XPos = GetCameraXPos(); YPos = GetCameraYPos(); sub_803F878(XPos,YPos + -0x1000); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_GROUDON); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ALAKAZAM); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_GROUDON); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_ALAKAZAM); } void sub_808875C(void) @@ -1826,8 +1823,8 @@ void sub_808875C(void) sub_80861D4(groudonEntity,0xf,DIRECTION_SOUTH); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_GROUDON); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ALAKAZAM); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_GROUDON); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_ALAKAZAM); } void sub_8088818(u8 param_1, u8 param_2) @@ -2088,8 +2085,8 @@ void sub_8088DC0(void) sub_8086A3C(alakazamEntity); sub_806CDD4(alakazamEntity,0xe,DIRECTION_SOUTH); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_GROUDON); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ALAKAZAM); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_GROUDON); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_ALAKAZAM); } void sub_8088E5C(void) @@ -2109,8 +2106,8 @@ void sub_8088E5C(void) sub_8068FE0(groudonEntity,0x21c,0); sub_8068FE0(alakazamEntity,0x21c,0); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y + -3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_GROUDON); - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ALAKAZAM); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_GROUDON); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_ALAKAZAM); } void sub_8088EE8(void) @@ -2354,7 +2351,7 @@ void sub_80892C8(void) SetFacingDirection(RayquazaEntity, DIRECTION_SOUTH); sub_8086A3C(RayquazaEntity); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_RAYQUAZA); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2],MONSTER_RAYQUAZA); } void sub_8089328(void) @@ -2376,7 +2373,7 @@ void sub_8089328(void) sub_8086A3C(rayquazaEntity); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_RAYQUAZA); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2],MONSTER_RAYQUAZA); } void sub_80893B4(u8 param_1, u8 param_2) @@ -2663,7 +2660,7 @@ void sub_8089914(void) SetFacingDirection(MewtwoEntity, DIRECTION_SOUTH); sub_8086A3C(MewtwoEntity); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_MEWTWO); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2],MONSTER_MEWTWO); } void sub_8089978(void) @@ -2687,7 +2684,7 @@ void sub_8089978(void) sub_8086A3C(MewtwoEntity); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_MEWTWO); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2],MONSTER_MEWTWO); } void sub_8089A00(u8 param_1, u8 param_2) @@ -2812,7 +2809,7 @@ void sub_8089C44(void) sub_8085930(DIRECTION_NORTH); SetFacingDirection(EnteiEntity, DIRECTION_SOUTH); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_ENTEI); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_ENTEI); } @@ -2833,7 +2830,7 @@ void sub_8089C90(void) SetFacingDirection(EnteiEntity, DIRECTION_SOUTH); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_ENTEI); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_ENTEI); } void sub_8089CFC(u8 param_1, u8 param_2) @@ -2941,7 +2938,7 @@ void sub_8089EFC(void) sub_8085930(DIRECTION_NORTH); SetFacingDirection(RaikouEntity, DIRECTION_SOUTH); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_RAIKOU); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_RAIKOU); } @@ -2957,7 +2954,7 @@ void sub_8089F44(void) sub_8085930(DIRECTION_NORTH); SetFacingDirection(RaikouEntity, DIRECTION_SOUTH); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_RAIKOU); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_RAIKOU); } @@ -2978,7 +2975,7 @@ void sub_8089F8C(void) SetFacingDirection(RaikouEntity, DIRECTION_SOUTH); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_RAIKOU); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_RAIKOU); } void sub_8089FF0(u8 param_1, u8 param_2) @@ -3098,7 +3095,7 @@ void sub_808A264(void) SetFacingDirection(SuicuneEntity, DIRECTION_SOUTH); sub_8086A3C(SuicuneEntity); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SUICUNE); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_SUICUNE); } void sub_808A2C0(void) @@ -3113,7 +3110,7 @@ void sub_808A2C0(void) sub_8085930(DIRECTION_NORTH); SetFacingDirection(SuicuneEntity, DIRECTION_SOUTH); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SUICUNE); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_SUICUNE); } void sub_808A308(void) @@ -3133,7 +3130,7 @@ void sub_808A308(void) SetFacingDirection(SuicuneEntity, DIRECTION_SOUTH); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SUICUNE); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_SUICUNE); } void sub_808A36C(u8 param_1, u8 param_2) @@ -3274,7 +3271,7 @@ void sub_808A608(void) SetFacingDirection(HoOhEntity, DIRECTION_SOUTH); sub_8086A3C(HoOhEntity); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y + -6); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_HO_OH); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_HO_OH); } void sub_808A668(void) @@ -3297,7 +3294,7 @@ void sub_808A668(void) sub_8086A3C(HoOhEntity); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 6); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_HO_OH); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_HO_OH); } void sub_808A6E8(u8 param_1, u8 param_2) @@ -3450,7 +3447,7 @@ void sub_808A9E4(void) sub_80855E4(sub_8086A3C); SetFacingDirection(LatiosEntity, DIRECTION_NORTH); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 4); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_LATIOS); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_LATIOS); } void sub_808AA3C(void) @@ -3466,7 +3463,7 @@ void sub_808AA3C(void) sub_80855E4(sub_8086A3C); SetFacingDirection(LatiosEntity, DIRECTION_NORTH); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_LATIOS); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_LATIOS); } void sub_808AA94(void) @@ -3482,7 +3479,7 @@ void sub_808AA94(void) sub_80855E4(sub_8086A3C); sub_8068FE0(LatiosEntity,0x21c,0); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_LATIOS); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_LATIOS); } void sub_808AAF0(u8 param_1, u8 param_2) @@ -3596,7 +3593,7 @@ void sub_808ACC0(void) sub_8098044(0x22); sub_8098044(0x1d); sub_80855E4(SetupRegiFacingDirection); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_REGIROCK); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_REGIROCK); } } @@ -3623,7 +3620,7 @@ void sub_808AD48(void) sub_8098044(0x22); sub_8098044(0x1d); sub_80855E4(SetupRegiFacingDirection); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_REGICE); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_REGICE); } } @@ -3651,7 +3648,7 @@ void sub_808ADCC(void) sub_8098044(0x22); sub_8098044(0x1d); sub_80855E4(SetupRegiFacingDirection); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_REGISTEEL); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_REGISTEEL); } } @@ -3731,7 +3728,7 @@ void sub_808AFB0(u8 param_1) sub_8052D44(IDStack,leaderEntity,0); if (!sub_8098100(0x22) && (param_1 == 0x2E) && (!sub_8098100(0x1d)) && (sub_80860A8(ITEM_ROCK_PART) != 0)) { sub_8097FD0(0x1d); - SetMessageArgument(gAvailablePokemonNames,GetLeader(),0); + SetMessageArgument(gFormatBuffer_Monsters[0],GetLeader(),0); // {POKEMON_0} obtained the Rock Part that Regirock was guarding DisplayDungeonDialogue(&gRegirockPostFightDialogue_2); sub_80421C0(0,0xd4); @@ -3749,7 +3746,7 @@ void sub_808B030(u8 param_1) sub_8052D44(IDStack,leaderEntity,0); if (!sub_8098100(0x22) && (param_1 == 0x2F) && (!sub_8098100(0x1d)) && (sub_80860A8(ITEM_ICE_PART) != 0)) { sub_8097FD0(0x1d); - SetMessageArgument(gAvailablePokemonNames,GetLeader(),0); + SetMessageArgument(gFormatBuffer_Monsters[0],GetLeader(),0); // {POKEMON_0} obtained the Ice Part that Regice was guarding DisplayDungeonDialogue(&gRegicePostFightDialogue_2); sub_80421C0(0,0xd4); @@ -3767,7 +3764,7 @@ void sub_808B0B0(u8 param_1) sub_8052D44(IDStack,leaderEntity,0); if (!sub_8098100(0x22) && (param_1 == 0x30) && (!sub_8098100(0x1d)) && (sub_80860A8(ITEM_STEEL_PART) != 0)) { sub_8097FD0(0x1d); - SetMessageArgument(gAvailablePokemonNames, GetLeader(), 0); + SetMessageArgument(gFormatBuffer_Monsters[0], GetLeader(), 0); // {POKEMON_0} obtained the Steel Part that Registeel was guarding DisplayDungeonDialogue(&gRegisteelPostFightDialogue_2); sub_80421C0(0,0xd4); @@ -3883,7 +3880,7 @@ void sub_808B2F4(void) SetFacingDirection(jirachiEntity, DIRECTION_SOUTH); sub_8086A3C(jirachiEntity); sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_JIRACHI); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_JIRACHI); } void sub_808B35C(void) @@ -3908,7 +3905,7 @@ void sub_808B35C(void) } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_JIRACHI); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_JIRACHI); } void sub_808B3E4(u8 param_1, u8 param_2, u8 param_3) @@ -3968,7 +3965,7 @@ void sub_808B50C(void) Entity * jirachiEntity; jirachiEntity = GetEntityFromClientType(0x1a); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_JIRACHI); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_JIRACHI); sub_80855E4(sub_808BBA8); sub_808BBA8(jirachiEntity); sub_8041888(0); @@ -4009,7 +4006,7 @@ void JirachiWish(void) Position pos3; jirachiEntity = GetEntityFromClientType(0x1a); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_JIRACHI); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_JIRACHI); sub_80855E4(sub_808BBA8); sub_808BBA8(jirachiEntity); sub_8041888(0); @@ -4120,8 +4117,8 @@ void JirachiWish(void) UnlockFriendArea(friendArea); PlaySoundEffect(0xd4); leaderEntity = GetLeader(); - SetMessageArgument(gAvailablePokemonNames,leaderEntity,0); - WriteFriendAreaName(gFormatItems,friendArea,FALSE); + SetMessageArgument(gFormatBuffer_Monsters[0],leaderEntity,0); + WriteFriendAreaName(gFormatBuffer_Items[0],friendArea,FALSE); // Obtained the friend area! DisplayDungeonDialogue(&gUnknown_8105B68); } @@ -4387,7 +4384,7 @@ void sub_808BDEC(void) SetFacingDirection(lugiaEntity, DIRECTION_SOUTH); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_LUGIA); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_LUGIA); } void sub_808BE70(u8 param_1,u8 param_2,u8 param_3) @@ -4528,9 +4525,8 @@ void sub_808C10C(void) XPos = GetCameraXPos(); YPos = GetCameraYPos(); sub_803F878(XPos,YPos + -0x1000); - CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_KYOGRE); - // TODO: gUnknown_202E088 doesn't match but gUnknown_202E038 + 0x50 does - CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_GROUDON); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2],MONSTER_KYOGRE); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[3], MONSTER_GROUDON); } void sub_808C1A4(u8 param_1,u8 param_2,u8 param_3) @@ -4643,7 +4639,7 @@ void sub_808C3A0(void) sub_808563C(SetupDeoxysFacingDirection); } sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_DEOXYS_NORMAL); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_DEOXYS_NORMAL); } void sub_808C414(u8 param_1,u8 param_2,u8 param_3) @@ -4746,7 +4742,7 @@ void sub_808C5C0(void) XPos = GetCameraXPos(); YPos = GetCameraYPos(); sub_803F878(XPos,YPos - 0x1000); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_CELEBI); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_CELEBI); } void nullsub_100(u8 r0, u8 r1, u8 r3) @@ -4948,7 +4944,7 @@ void sub_808C9C4(void) sub_80855E4(sub_8086A3C); SetFacingDirection(medichamEntity, DIRECTION_SOUTH); sub_8085860(leaderEntity->pos.x, leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_MEDICHAM); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_MEDICHAM); } void MedichamRescueDialogue(void) @@ -5015,7 +5011,7 @@ void sub_808CB5C(void) sub_8085930(DIRECTION_NORTH); sub_8068FE0(medichamEntity, 0x21C, 0); sub_8085860(leaderEntity->pos.x, leaderEntity->pos.y); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_MEDICHAM); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_MEDICHAM); } void DummyFightDialogue(void) @@ -5035,7 +5031,7 @@ void sub_808CBB0(void) sub_80855E4(sub_8086A3C); SetFacingDirection(smeargleEntity, DIRECTION_SOUTH); sub_8085860(leaderEntity->pos.x, leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SMEARGLE); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_SMEARGLE); } void SmeargleRescueDialogue(void) @@ -5106,7 +5102,7 @@ void sub_808CD44(void) sub_80855E4(sub_8086A3C); sub_8068FE0(smeargleEntity, 540, 0); sub_8085860(leaderEntity->pos.x, leaderEntity->pos.y - 3); - CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SMEARGLE); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[2], MONSTER_SMEARGLE); } void sub_808CD9C(void) diff --git a/src/dungeon_items.c b/src/dungeon_items.c index 4d6687eb7..35f307da5 100644 --- a/src/dungeon_items.c +++ b/src/dungeon_items.c @@ -12,7 +12,6 @@ #include "pokemon.h" #include "structs/str_dungeon.h" -extern u8 gAvailablePokemonNames[]; extern s32 gUnknown_810A3F0[]; extern u8 *gUnknown_80FA408[]; extern u8 *gUnknown_810531C[]; @@ -150,7 +149,7 @@ void MusicBoxCreation(void) sub_80416E0(&entity->pixelPos,0x10c,FALSE); sub_80421C0(entity,0xd7); sub_803E708(0x3c,0x41); - SetMessageArgument(gAvailablePokemonNames,entity,0); + SetMessageArgument(gFormatBuffer_Monsters[0],entity,0); DisplayDungeonMessage(0,*gUnknown_81053A8,1); sub_803E708(10,0x41); PlaySoundEffect(0xd4); diff --git a/src/dungeon_message.c b/src/dungeon_message.c index 24abd230c..3e4500f6b 100644 --- a/src/dungeon_message.c +++ b/src/dungeon_message.c @@ -3,7 +3,7 @@ #include "dungeon.h" #include "structs/dungeon_entity.h" #include "code_803E46C.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_800E9E4.h" #include "menu_input.h" #include "code_803E668.h" @@ -50,9 +50,7 @@ extern u8 gUnknown_203B434; extern void (*gUnknown_203B08C)(s32); extern void (*gUnknown_203B084)(s32 a0); extern void (*gUnknown_203B080)(s32 a0); -extern u8 gAvailablePokemonNames[]; -extern u8 gUnknown_202E5D8[]; -extern u8 gUnknown_202DFE8[]; +extern u8 gSpeakerNameBuffer[]; extern UnkTextStruct1 gUnknown_2027370[4]; extern s32 gUnknown_202EDCC; extern u8 gFontPalette[]; @@ -222,7 +220,7 @@ static void DisplayMessageAddToLog(Entity *pokemon, const u8 *str, bool8 r2) break; gDungeon->unk1BDD4.unk1C054[gDungeon->unk1BDD4.unk1C060] = r7; - str = xxx_format_string(str, txt, txt + 62, 128); + str = FormatString(str, txt, txt + 62, 128); if (*str == '\r') str++; if (*str == '\n') str++; CopyStringToMessageLog(txt, r7, r8); @@ -260,6 +258,8 @@ void xxx_draw_string_80524F0(void) // fall through case 2: { struct UnkDrawStringStruct sp; + u32 currChr; + s32 id = strPtr->unk1C062; if (id == strPtr->unk1C060) { strPtr->unk1C06C = 0; @@ -279,12 +279,12 @@ void xxx_draw_string_80524F0(void) txtPtr = xxx_handle_format_global(txtPtr, &sp); if (*txtPtr == '\0' || *txtPtr == '\r' || *txtPtr == '\n') break; - txtPtr = xxx_get_next_char_from_string(txtPtr, &sp.unk34); - if (sp.unk34 == 96) { + txtPtr = xxx_get_next_char_from_string(txtPtr, &currChr); + if (currChr == '`') { sp.unk0 += 6; } else { - sp.unk0 += xxx_call_draw_char(sp.unk0, sp.unk2, sp.unk34, sp.unk10, 0); + sp.unk0 += xxx_call_draw_char(sp.unk0, sp.unk2, currChr, sp.unk10, 0); } } sub_80073E0(0); @@ -376,7 +376,7 @@ void DisplayDungeonMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 && IsPokemonDialogueSpriteAvail(monSpriteInfo->species, monSpriteInfo->spriteId)) { monPortrait.faceFile = GetDialogueSpriteDataPtr(monSpriteInfo->species); - monPortrait.faceData = monPortrait.faceFile->data; + monPortrait.faceData = (void *) monPortrait.faceFile->data; monPortrait.pos.x = 2; monPortrait.pos.y = 9; monPortrait.spriteId = monSpriteInfo->spriteId; @@ -435,47 +435,47 @@ void DisplayDungeonDialogue(const struct DungeonDialogueStruct *dialogueInfo) EntityInfo *leaderInfo = GetEntInfo(leader); PokemonStruct2 *monStruct2 = &gRecruitedPokemonRef->pokemon2[leaderInfo->teamIndex]; - sub_808DA0C(gAvailablePokemonNames, monStruct2); + sub_808DA0C(gFormatBuffer_Monsters[0], monStruct2); leaderId = leaderInfo->apparentID; } else { leaderId = MONSTER_NONE; - strcpy(gAvailablePokemonNames, gUnknown_80F7AF8); // ?? + strcpy(gFormatBuffer_Monsters[0], gUnknown_80F7AF8); // ?? } if (partner != NULL) { EntityInfo *partnerInfo = GetEntInfo(partner); PokemonStruct2 *monStruct2 = &gRecruitedPokemonRef->pokemon2[partnerInfo->teamIndex]; - sub_808DA0C(gUnknown_202DFE8, monStruct2); + sub_808DA0C(gFormatBuffer_Monsters[1], monStruct2); partnerId = partnerInfo->apparentID; } else { partnerId = MONSTER_NONE; - strcpy(gUnknown_202DFE8, gUnknown_80F7AF8); // ?? + strcpy(gFormatBuffer_Monsters[1], gUnknown_80F7AF8); // ?? } switch (dialogueInfo->unk4) { case 425: dialogueMonId = leaderId; - sprintfStatic(gUnknown_202E5D8, gUnknown_80F7AFC, gAvailablePokemonNames); + sprintfStatic(gSpeakerNameBuffer, gUnknown_80F7AFC, gFormatBuffer_Monsters); break; case 426: dialogueMonId = partnerId; - sprintfStatic(gUnknown_202E5D8, gUnknown_80F7AFC, gUnknown_202DFE8); + sprintfStatic(gSpeakerNameBuffer, gUnknown_80F7AFC, gFormatBuffer_Monsters[1]); break; case 427: dialogueMonId = MONSTER_NONE; - strcpy(gUnknown_202E5D8, gUnknown_80F7B04); + strcpy(gSpeakerNameBuffer, gUnknown_80F7B04); break; default: dialogueMonId = dialogueInfo->unk4; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, dialogueMonId); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, dialogueMonId); break; } if (dialogueInfo->unk0 == 2 || dialogueInfo->unk0 == 3) { - strcpy(gUnknown_202E5D8, gUnknown_80F7B04); + strcpy(gSpeakerNameBuffer, gUnknown_80F7B04); } while (1) { @@ -501,7 +501,7 @@ void DisplayDungeonDialogue(const struct DungeonDialogueStruct *dialogueInfo) monPortraitPtr = &monPortrait; monPortraitPtr->faceFile = GetDialogueSpriteDataPtr(dialogueMonId); if (monPortraitPtr->faceFile != NULL) { - monPortraitPtr->faceData = monPortraitPtr->faceFile->data; + monPortraitPtr->faceData = (void *) monPortraitPtr->faceFile->data; monPortraitPtr->unkE = 0; monPortraitPtr->spriteId = dialogueInfo->unk2; monPortraitPtr->flip = strPtr->flip; @@ -551,7 +551,7 @@ bool32 DisplayDungeonYesNoMessage(struct MonDialogueSpriteInfo *monSpriteInfo, c && IsPokemonDialogueSpriteAvail(monSpriteInfo->species, monSpriteInfo->spriteId)) { monPortrait.faceFile = GetDialogueSpriteDataPtr(monSpriteInfo->species); - monPortrait.faceData = monPortrait.faceFile->data; + monPortrait.faceData = (void *) monPortrait.faceFile->data; monPortrait.pos.x = 2; monPortrait.pos.y = 9; monPortrait.spriteId = monSpriteInfo->spriteId; @@ -600,7 +600,7 @@ s32 DisplayDungeonMenuMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const && IsPokemonDialogueSpriteAvail(monSpriteInfo->species, monSpriteInfo->spriteId)) { monPortrait.faceFile = GetDialogueSpriteDataPtr(monSpriteInfo->species); - monPortrait.faceData = monPortrait.faceFile->data; + monPortrait.faceData = (void *) monPortrait.faceFile->data; monPortrait.pos.x = 2; monPortrait.pos.y = 9; monPortrait.spriteId = monSpriteInfo->spriteId; @@ -624,20 +624,20 @@ s32 DisplayDungeonMenuMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const void sub_8052D44(s16 *ids, Entity *leader, Entity *partner) { if (EntityExists(leader)) { - SetMessageArgument(gAvailablePokemonNames, leader, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], leader, 0); ids[0] = GetEntInfo(leader)->apparentID; } else { - strcpy(gAvailablePokemonNames, gUnknown_80F7AF8); + strcpy(gFormatBuffer_Monsters[0], gUnknown_80F7AF8); ids[0] = 0; } if (EntityExists(partner)) { - SetMessageArgument(gUnknown_202DFE8, partner, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], partner, 0); ids[1] = GetEntInfo(partner)->apparentID; } else { - strcpy(gUnknown_202DFE8, gUnknown_80F7AF8); + strcpy(gFormatBuffer_Monsters[1], gUnknown_80F7AF8); ids[1] = 0; } } diff --git a/src/dungeon_move.c b/src/dungeon_move.c index 97feb9ceb..7c3e23925 100644 --- a/src/dungeon_move.c +++ b/src/dungeon_move.c @@ -368,9 +368,6 @@ extern const u8 *const gUnknown_80F93A4; extern const u8 *const gUnknown_80F9384; extern const u8 *const gUnknown_80F9380; -extern u8 gFormatItems[]; -extern u8 gAvailablePokemonNames[]; -extern u8 gUnknown_202DFE8[]; extern Entity *gUnknown_203B438; EWRAM_DATA s32 gUnknown_202F208 = 0; @@ -555,7 +552,7 @@ static void UseMoveAgainstTargets(Entity **targetsArray, Entity *attacker, Move s16 targetFlags = GetMoveTargetAndRangeForPokemon(attacker, move, FALSE); s32 targetFlagsAnd = targetFlags & 0xF; if ((targetFlagsAnd == 0 || targetFlagsAnd == 4 || targetFlagsAnd == 5 || targetFlagsAnd == 2) && !r4) { - SetMessageArgument(gUnknown_202DFE8, currTarget, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], currTarget, 0); TryDisplayDungeonLoggableMessage3(attacker, currTarget, gUnknown_80FC574); // protected itself! moveHits = FALSE; } @@ -568,7 +565,7 @@ static void UseMoveAgainstTargets(Entity **targetsArray, Entity *attacker, Move if (moveHits) { if (HasAbility(currTarget, ABILITY_SOUNDPROOF) && IsSoundMove(move)) { - SetMessageArgument(gUnknown_202DFE8, currTarget, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], currTarget, 0); TryDisplayDungeonLoggableMessage3(attacker, currTarget, gUnknown_8100524); // Soundproof suppressed the sound move! moveHits = FALSE; } @@ -599,7 +596,7 @@ static void UseMoveAgainstTargets(Entity **targetsArray, Entity *attacker, Move else { sub_80421C0(attacker, 0x157); } - SetMessageArgument_2(gUnknown_202DFE8, GetEntInfo(currTarget), 0); + SetMessageArgument_2(gFormatBuffer_Monsters[1], GetEntInfo(currTarget), 0); // Interesting that these 3 strings are the same. Curious if that's the case in Blue/Europe versions. if (attacker == currTarget) { TryDisplayDungeonLoggableMessage3(attacker, attacker, gUnknown_80F9380); // The move missed @@ -1702,7 +1699,7 @@ static s32 TryHitTarget(Entity *attacker, Entity *target, Move *move, struct Dam HandleDealingDamage(attacker, target, dmgStruct, isFalseSwipe, TRUE, unk, TRUE, 0); } else { - SetMessageArgument_2(gUnknown_202DFE8, GetEntInfo(target), 0); + SetMessageArgument_2(gFormatBuffer_Monsters[1], GetEntInfo(target), 0); if (sub_8045888(attacker) && sub_8045888(target)) { sub_803ED30(9999, target, 1, -1); TryDisplayDungeonLoggableMessage4(attacker, target, gUnknown_80F9688); // It took no damage! @@ -1809,17 +1806,17 @@ bool32 sub_8055A00(Entity *attacker, s32 firstMoveId, s32 var_34, s32 itemId, s3 attackerInfo->abilityEffectFlags = 0; attackerInfo->unk159 = 0; if (attackerInfo->volatileStatus.volatileStatus == STATUS_CRINGE) { - SetMessageArgument(gAvailablePokemonNames, attacker, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], attacker, 0); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FC714); // is cringing! return FALSE; } else if (attackerInfo->volatileStatus.volatileStatus == STATUS_INFATUATED) { - SetMessageArgument(gAvailablePokemonNames, attacker, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], attacker, 0); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FC718); // is infatuated! return FALSE; } else if (attackerInfo->nonVolatile.nonVolatileStatus == STATUS_PARALYSIS) { - SetMessageArgument(gAvailablePokemonNames, attacker, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], attacker, 0); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FC6A8); // is paralyzed! return FALSE; } @@ -1873,7 +1870,7 @@ bool32 sub_8055A00(Entity *attacker, s32 firstMoveId, s32 var_34, s32 itemId, s3 } else { if (!statusMoveMatch) { - sub_80928C0(gFormatItems, currMove, NULL); + sub_80928C0(gFormatBuffer_Items[0], currMove, NULL); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80F93C8); // The move can't be used! moveUsable = FALSE; } @@ -1888,7 +1885,7 @@ bool32 sub_8055A00(Entity *attacker, s32 firstMoveId, s32 var_34, s32 itemId, s3 Move assistMove = *currMove; assistMove.id = sub_8057144(attacker); - sub_80928C0(gFormatItems, &assistMove, NULL); + sub_80928C0(gFormatBuffer_Items[0], &assistMove, NULL); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FD2DC); // Assist: moveWasUsed = TryUseChosenMove(attacker, var_34, itemId, arg_0, isLinkedMove, &assistMove); } @@ -1938,7 +1935,7 @@ bool32 sub_8055A00(Entity *attacker, s32 firstMoveId, s32 var_34, s32 itemId, s3 assistMove = mimicMove; assistMove.id = sub_8057144(attacker); movePtr = &assistMove; - sub_80928C0(gFormatItems, &assistMove, NULL); + sub_80928C0(gFormatBuffer_Items[0], &assistMove, NULL); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FD2DC); // Assist: } TryUseChosenMove(attacker, 0, itemId, arg_0, isLinkedMove, movePtr); @@ -2010,7 +2007,7 @@ static void TriggerTargetAbilityEffect(Entity *attacker) InfatuateStatusTarget(attacker, attacker, TRUE); } if (entInfo->abilityEffectFlags & ABILITY_FLAG_STENCH) { - SetMessageArgument(gAvailablePokemonNames, attacker, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], attacker, 0); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FEFD0); // A horrid stench billowed out sub_80428A0(attacker); entInfo->terrifiedTurns = gUnknown_80F5004; @@ -2078,8 +2075,8 @@ bool8 TryUseChosenMove(struct Entity *attacker, u32 r6, s32 itemId, u32 var_30, } } - SetMessageArgument_2(gAvailablePokemonNames, GetEntInfo(attacker), 0); - sub_80928C0(gFormatItems, move, NULL); + SetMessageArgument_2(gFormatBuffer_Monsters[0], GetEntInfo(attacker), 0); + sub_80928C0(gFormatBuffer_Items[0], move, NULL); if (MoveMatchesChargingStatus(attacker, move)) { msg = gUnknown_80FC72C; // mon loosed move GetEntInfo(attacker)->unkFF = 0; @@ -2100,22 +2097,22 @@ bool8 TryUseChosenMove(struct Entity *attacker, u32 r6, s32 itemId, u32 var_30, } if (GetEntInfo(attacker)->muzzled.muzzled == TRUE && FailsWhileMuzzled(move->id)) { - SetMessageArgument(gAvailablePokemonNames, attacker, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], attacker, 0); TryDisplayDungeonLoggableMessage(attacker, msg); sub_803E708(0xA, 0x3F); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FC710); // is muzzled! return FALSE; } else if (!moveUsable) { - SetMessageArgument_2(gAvailablePokemonNames, GetEntInfo(attacker), 0); + SetMessageArgument_2(gFormatBuffer_Monsters[0], GetEntInfo(attacker), 0); if (itemId == 0) { - sub_80928C0(gFormatItems, move, NULL); + sub_80928C0(gFormatBuffer_Items[0], move, NULL); TryDisplayDungeonLoggableMessage(attacker, msg); sub_803E708(0xA, 0x3F); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FC6D0); // But the move couldn't be used! } else { - BufferItemName(gFormatItems, itemId, NULL); + BufferItemName(gFormatBuffer_Items[0], itemId, NULL); TryDisplayDungeonLoggableMessage(attacker, msg); sub_803E708(0xA, 0x3F); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FC6FC); // But Orbs are prevented from being used! @@ -2232,12 +2229,12 @@ bool8 sub_8056468(Entity *entity, Move *move, const u8 *str, Entity **unkArray, } if (r7) { - SetMessageArgument_2(gAvailablePokemonNames, GetEntInfo(entity), 0); + SetMessageArgument_2(gFormatBuffer_Monsters[0], GetEntInfo(entity), 0); if (itemId == 0) { - sub_80928C0(gFormatItems, move, NULL); + sub_80928C0(gFormatBuffer_Items[0], move, NULL); } else { - BufferItemName(gFormatItems, itemId, NULL); + BufferItemName(gFormatBuffer_Items[0], itemId, NULL); } } diff --git a/src/dungeon_pokemon_attributes.c b/src/dungeon_pokemon_attributes.c index f7e74efbe..0c8b51edb 100644 --- a/src/dungeon_pokemon_attributes.c +++ b/src/dungeon_pokemon_attributes.c @@ -19,7 +19,6 @@ const s16 gItemMasterMinWildLevel[] = {16}; -extern u8 gAvailablePokemonNames[]; extern const u8 *gUnknown_80FC31C; extern const u8 * gUnknown_80FCEFC; extern const u8 * gUnknown_80FC2FC; @@ -29,7 +28,7 @@ bool8 HasSafeguardStatus(Entity * pokemon, Entity * target, bool8 displayMessage { if (GetEntInfo(target)->protection.protectionStatus == STATUS_SAFEGUARD) { if (displayMessage) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,gUnknown_80FC2FC); } return TRUE; @@ -41,7 +40,7 @@ bool8 sub_8071728(Entity * pokemon, Entity * target, bool8 displayMessage) { if (GetEntInfo(target)->protection.protectionStatus == STATUS_MIST) { if (displayMessage) { - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); TryDisplayDungeonLoggableMessage3(pokemon, target, gUnknown_80FC31C); } return TRUE; @@ -49,7 +48,7 @@ bool8 sub_8071728(Entity * pokemon, Entity * target, bool8 displayMessage) else { if (HasAbility(target, ABILITY_CLEAR_BODY) || HasAbility(target, ABILITY_WHITE_SMOKE)) { if (displayMessage) { - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); TryDisplayDungeonLoggableMessage3(pokemon, target, gUnknown_80FCEFC); } return TRUE; diff --git a/src/felicity_bank.c b/src/felicity_bank.c index 824780151..cbefb67d0 100644 --- a/src/felicity_bank.c +++ b/src/felicity_bank.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "common_strings.h" #include "felicity_bank.h" #include "input.h" @@ -13,9 +13,7 @@ static EWRAM_DATA_2 FelicityBankWork *sFelicityBankWork = {0}; -extern u32 gFormatData_202DE30; -extern u8 gUnknown_202E1C8[]; -extern u8 gUnknown_202E5D8[]; +extern u8 gSpeakerNameBuffer[]; #include "data/felicity_bank.h" @@ -61,10 +59,10 @@ bool8 CreateFelicityBank(s32 mode) sFelicityBankWork = MemoryAlloc(sizeof(FelicityBankWork), 8); sFelicityBankWork->menuAction = 0; sFelicityBankWork->mode = mode; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PERSIAN); - CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_PERSIAN); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_PERSIAN); + CopyYellowMonsterNametoBuffer(gFormatBuffer_Monsters[7], MONSTER_PERSIAN); monName = GetMonSpecies(MONSTER_PERSIAN); - strcpy(gUnknown_202E1C8 - 80, monName); + strcpy(gFormatBuffer_Monsters[6], monName); if (sFelicityBankWork->mode == FEL_MODE_ASLEEP) sFelicityBankWork->monPortraitPtr = NULL; @@ -73,7 +71,7 @@ bool8 CreateFelicityBank(s32 mode) faceFile = GetDialogueSpriteDataPtr(MONSTER_PERSIAN); sFelicityBankWork->monPortrait.faceFile = faceFile; - sFelicityBankWork->monPortrait.faceData = faceFile->data; + sFelicityBankWork->monPortrait.faceData = (void *) faceFile->data; sFelicityBankWork->monPortrait.spriteId = 0; sFelicityBankWork->monPortrait.flip = FALSE; sFelicityBankWork->monPortrait.unkE = 0; @@ -179,7 +177,7 @@ static void UpdateFelicityBankDialogue(void) CreateMenuDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_HOW_MAY_I_SERVE__NO_MONEY], 0, sFelicityBankWork->menuAction, sFelicityBankWork->unk14, sFelicityBankWork->unk54, 4, 0, sFelicityBankWork->monPortraitPtr, 0xC); else { - gFormatData_202DE30 = gTeamInventoryRef->teamSavings; + gFormatArgs[0] = gTeamInventoryRef->teamSavings; CreateMenuDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_HOW_MAY_I_SERVE__HAS_MONEY], 0, sFelicityBankWork->menuAction, sFelicityBankWork->unk14, sFelicityBankWork->unk54, 4, 0, sFelicityBankWork->monPortraitPtr, 0xC); } @@ -193,7 +191,7 @@ static void UpdateFelicityBankDialogue(void) if (gTeamInventoryRef->teamSavings == 0) CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_BYE__NO_MONEY], 0, sFelicityBankWork->monPortraitPtr, 0x10D); else { - gFormatData_202DE30 = gTeamInventoryRef->teamSavings; + gFormatArgs[0] = gTeamInventoryRef->teamSavings; CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_BYE__HAS_MONEY], 0, sFelicityBankWork->monPortraitPtr, 0x10D); } break; @@ -232,7 +230,7 @@ static void UpdateFelicityBankDialogue(void) break; case FELICITY_BANK_STORE_RECEIPT: sFelicityBankWork->fallbackState = 1; - gFormatData_202DE30 = sFelicityBankWork->chosenAmount; + gFormatArgs[0] = sFelicityBankWork->chosenAmount; CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_DEPOSIT__RECEIPT], 0, sFelicityBankWork->monPortraitPtr, 0x10D); break; case FELICITY_BANK_TAKE: @@ -246,7 +244,7 @@ static void UpdateFelicityBankDialogue(void) } else { sFelicityBankWork->fallbackState = FELICITY_BANK_TAKE_HOW_MUCH; - gFormatData_202DE30 = gTeamInventoryRef->teamSavings; + gFormatArgs[0] = gTeamInventoryRef->teamSavings; CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WITHDRAW__HOW_MUCH], 0, sFelicityBankWork->monPortraitPtr, 0x10D); } break; @@ -270,7 +268,7 @@ static void UpdateFelicityBankDialogue(void) break; case FELICITY_BANK_TAKE_DEPOSIT: sFelicityBankWork->fallbackState = 1; - gFormatData_202DE30 = sFelicityBankWork->chosenAmount; + gFormatArgs[0] = sFelicityBankWork->chosenAmount; CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WITHDRAW__RECEIPT], 0, sFelicityBankWork->monPortraitPtr, 0x10D); break; } diff --git a/src/friend_area_action_menu.c b/src/friend_area_action_menu.c index db538e9ea..c1c16b9fa 100644 --- a/src/friend_area_action_menu.c +++ b/src/friend_area_action_menu.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "iq_skill_menu.h" #include "code_801EE10.h" @@ -52,7 +52,6 @@ extern void SetFriendAreaActionMenuState(u32); extern void PlaySound(u32); extern void sub_808D31C(PokemonStruct1 *); -extern u8 gFormatItems[]; extern bool8 sub_808D750(s16 index_); extern void sub_808ED00(void); @@ -703,8 +702,8 @@ void sub_8027D40(u32 r0, BulkItem *heldItem) a3.unk4 = 0; a3.unk8 = 1; slot.flags = ITEM_FLAG_EXISTS; - sub_8090E14(gFormatItems, &slot, &a3); - PrintFormatStringOnWindow(4, 3, sItemBuffered, r0, 0); + sub_8090E14(gFormatBuffer_Items[0], &slot, &a3); + PrintFormattedStringOnWindow(4, 3, sItemBuffered, r0, 0); sub_80073E0(r0); } diff --git a/src/friend_list_menu.c b/src/friend_list_menu.c index 824fdd9e8..b0d612096 100644 --- a/src/friend_list_menu.c +++ b/src/friend_list_menu.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801602C.h" #include "code_801B3C0.h" #include "friend_list_menu.h" @@ -26,11 +26,6 @@ #include "text1.h" #include "text2.h" - -extern u8 gFormatItems[]; -extern u8 gUnknown_202DEA8[]; -extern u8 gAvailablePokemonNames[]; - EWRAM_DATA_2 unkStruct_203B2B4 *gUnknown_203B2B4 = {0}; #include "data/friend_list_menu.h" @@ -204,8 +199,8 @@ void sub_8025518(void) sub_8025E68(3,&gUnknown_203B2B4->item2); } sub_8023DA4(); - PrintColoredPokeNameToBuffer(gAvailablePokemonNames,gUnknown_203B2B4->pokeStruct,7); - PrintColoredPokeNameToBuffer(gAvailablePokemonNames + 0x50,gUnknown_203B2B4->pokeStruct,6); + PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[0],gUnknown_203B2B4->pokeStruct,7); + PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[1],gUnknown_203B2B4->pokeStruct,6); sub_8012D60(&gUnknown_203B2B4->unk78,gUnknown_203B2B4->unkC8,0,gUnknown_203B2B4->unk108,gUnknown_203B2B4->menuAction1,2); break; case FRIEND_LIST_MENU_STATE_SUMMARY: @@ -341,7 +336,7 @@ void sub_802591C(void) { int index; s32 loopMax = 0; - + MemoryFill16(gUnknown_203B2B4->unk108,0, sizeof(gUnknown_203B2B4->unk108)); @@ -522,7 +517,7 @@ void sub_8025CB4(void) s32 menuAction; struct unkStruct_8090F58 a3; Item item; - + menuAction = 0; sub_801A6E8(FALSE); if ((!sub_8012FD8(&gUnknown_203B2B4->unk78)) && (sub_8013114(&gUnknown_203B2B4->unk78,&menuAction), menuAction != FRIEND_LIST_MENU_NULL)) { @@ -545,7 +540,7 @@ void sub_8025CB4(void) a3.unk4 = 0; a3.unk8 = 1; item.flags = ITEM_FLAG_EXISTS; - sub_8090E14(gUnknown_202DEA8,&item,&a3); + sub_8090E14(gFormatBuffer_Items[1],&item,&a3); GivePokemonItem(gUnknown_203B2B4->species,&gUnknown_203B2B4->item1); sub_801A928(); nullsub_104(); @@ -645,8 +640,8 @@ void sub_8025E68(u32 r0, BulkItem *heldItem) a3.unk4 = 0; a3.unk8 = 1; item.flags = ITEM_FLAG_EXISTS; - sub_8090E14(gFormatItems, &item, &a3); - PrintFormatStringOnWindow(4, 3, sItemBuffered, r0, 0); + sub_8090E14(gFormatBuffer_Items[0], &item, &a3); + PrintFormattedStringOnWindow(4, 3, sItemBuffered, r0, 0); sub_80073E0(r0); } diff --git a/src/friend_rescue.c b/src/friend_rescue.c index 2f629ad85..7cf839a8b 100644 --- a/src/friend_rescue.c +++ b/src/friend_rescue.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "code_801C8C4.h" #include "code_8023868.h" @@ -30,8 +30,6 @@ extern void SetFriendRescueMenuState(u32); -extern char gUnknown_202E5D8[0x50]; -extern char gAvailablePokemonNames[0x50]; extern TeamInventory *gTeamInventoryRef; @@ -325,9 +323,9 @@ u32 CreateFriendRescueMenu(void) gUnknown_203B33C->unk530 = 0; gUnknown_203B33C->unk218 = -1; gUnknown_203B33C->speciesNum = -1; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_PELIPPER); monName = GetMonSpecies(MONSTER_PELIPPER); - strcpy(gAvailablePokemonNames,monName); + strcpy(gFormatBuffer_Monsters[0],monName); for(counter = 0; counter < 0x36; counter++){ gUnknown_203B33C->passwordBuffer[counter] = 0; } @@ -2916,9 +2914,9 @@ void sub_80352A4(void) if ( sub_802F298() == 3) { sub_802F2C0(); - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_PELIPPER); monName = GetMonSpecies(MONSTER_PELIPPER); - strcpy(gAvailablePokemonNames, monName); + strcpy(gFormatBuffer_Monsters[0], monName); mailIndex = GetMailIndex(6, gUnknown_203B33C->unk420); DeleteMailAtIndex(mailIndex); SetFriendRescueMenuState(0x70); diff --git a/src/ground_script_1.c b/src/ground_script_1.c index cc34579e1..412efd5ea 100644 --- a/src/ground_script_1.c +++ b/src/ground_script_1.c @@ -129,7 +129,7 @@ void DeleteGroundEffects(void); u32 sub_80A14E8(u32, u8, u32, u32); s16 HandleAction(void *, DebugLocation *); -extern int gFormatData_202DE30[10]; +extern int gFormatArgs[10]; extern s16 gCurrentMap; extern s16 gUnknown_2039A32; @@ -707,7 +707,7 @@ s32 ExecuteScriptCommand(Action *action) { case 0: o = 1; break; case 2: o = -1; break; } - gFormatData_202DE30[curCmd.argShort] = GetDungeonFloorCount(a) + o; + gFormatArgs[curCmd.argShort] = GetDungeonFloorCount(a) + o; break; } } diff --git a/src/gulpin_shop.c b/src/gulpin_shop.c index 9a846cd90..5153212a4 100644 --- a/src/gulpin_shop.c +++ b/src/gulpin_shop.c @@ -3,7 +3,7 @@ #include "code_80118A4.h" #include "code_801EE10.h" #include "code_801EE10_mid.h" -#include "code_80130A8.h" +#include "string_format.h" #include "common_strings.h" #include "gulpin_shop.h" #include "input.h" @@ -14,8 +14,6 @@ #include "text1.h" #include "text2.h" -extern u8 gAvailablePokemonNames[]; // 202DF98 - static EWRAM_DATA_2 GulpinShopWork *sGulpinShopWork = {0}; #include "data/gulpin_shop.h" @@ -51,7 +49,7 @@ bool8 CreateGulpinShop(u32 mode, s16 pokeSpecies, Move *moves) faceFile = GetDialogueSpriteDataPtr(MONSTER_GULPIN); sGulpinShopWork->monPortrait.faceFile = faceFile; - sGulpinShopWork->monPortrait.faceData = faceFile->data; + sGulpinShopWork->monPortrait.faceData = (void *) faceFile->data; sGulpinShopWork->monPortrait.spriteId = 0; sGulpinShopWork->monPortrait.flip = FALSE; @@ -153,8 +151,8 @@ static void sub_801EA28(void) break; case 4: sub_801EC7C(); - sub_8092C84(gAvailablePokemonNames, sGulpinShopWork->unk1C); - sub_8092C84(&gAvailablePokemonNames[0x50], sGulpinShopWork->unk1E); + sub_8092C84(gFormatBuffer_Monsters[0], sGulpinShopWork->unk1C); + sub_8092C84(gFormatBuffer_Monsters[1], sGulpinShopWork->unk1E); switch (sGulpinShopWork->mode) { case GULPIN_SHOP_MODE_AWAKE: diff --git a/src/gulpin_shop_801FB50.c b/src/gulpin_shop_801FB50.c index f56b7aabf..a565bdeda 100644 --- a/src/gulpin_shop_801FB50.c +++ b/src/gulpin_shop_801FB50.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "iq_skill_menu.h" #include "code_801EE10.h" #include "code_801EE10_mid.h" @@ -22,11 +22,7 @@ EWRAM_DATA_2 unkStruct_203B27C *gUnknown_203B27C = {0}; -extern u8 gAvailablePokemonNames[]; // 202DF98 -extern u8 gUnknown_202DFE8[]; -extern u8 gUnknown_202E128[]; -extern u8 gUnknown_202E1C8[]; -extern u8 gUnknown_202E5D8[]; +extern u8 gSpeakerNameBuffer[]; #include "data/gulpin_shop_801FB50.h" @@ -92,11 +88,11 @@ bool8 sub_801FB50(u32 mode) gUnknown_203B27C->menuAction4 = 0; gUnknown_203B27C->mode = mode; gUnknown_203B27C->unk15 = FALSE; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_GULPIN); - CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_GULPIN); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_GULPIN); + CopyYellowMonsterNametoBuffer(gFormatBuffer_Monsters[7], MONSTER_GULPIN); name = GetMonSpecies(MONSTER_GULPIN); - strcpy(gUnknown_202E1C8 - 80, name); - PrintPokeNameToBuffer(gUnknown_202E1C8 - 0xF0, GetPlayerPokemonStruct()); + strcpy(gFormatBuffer_Monsters[6], name); + PrintPokeNameToBuffer(gFormatBuffer_Monsters[4], GetPlayerPokemonStruct()); if (gUnknown_203B27C->mode == GULPIN_SHOP_MODE_ASLEEP) gUnknown_203B27C->monPortraitPtr = NULL; @@ -105,7 +101,7 @@ bool8 sub_801FB50(u32 mode) faceFile = GetDialogueSpriteDataPtr(MONSTER_GULPIN); gUnknown_203B27C->monPortrait.faceFile = faceFile; - gUnknown_203B27C->monPortrait.faceData = faceFile->data; + gUnknown_203B27C->monPortrait.faceData = (void *) faceFile->data; gUnknown_203B27C->monPortrait.spriteId = 0; gUnknown_203B27C->monPortrait.flip = FALSE; gUnknown_203B27C->monPortrait.unkE = 0; @@ -353,7 +349,7 @@ static void sub_801FF28(void) case 0x19: sub_8094060(gUnknown_203B27C->moves,gUnknown_203B27C->pokeStruct->moves); gUnknown_203B27C->fallbackState = 0x10; - sub_8092C84(gAvailablePokemonNames,gUnknown_203B27C->unk1E); + sub_8092C84(gFormatBuffer_Monsters[0],gUnknown_203B27C->unk1E); CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_10],0,gUnknown_203B27C->monPortraitPtr,0x10d); break; case 0x1a: @@ -401,7 +397,7 @@ static void sub_801FF28(void) break; case 0x22: sub_80208B0(); - sub_8092C84(gUnknown_202DFE8,gUnknown_203B27C->unk20); + sub_8092C84(gFormatBuffer_Monsters[1],gUnknown_203B27C->unk20); if (gUnknown_203B27C->isNextMoveLinked) { CreateMenuDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_18],0,0x11,gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0, gUnknown_203B27C->monPortraitPtr,0xc); @@ -413,7 +409,7 @@ static void sub_801FF28(void) break; case 0x23: gUnknown_203B27C->fallbackState = 0x1f; - sub_8092C84(gUnknown_202DFE8,gUnknown_203B27C->unk20); + sub_8092C84(gFormatBuffer_Monsters[1],gUnknown_203B27C->unk20); if (gUnknown_203B27C->isNextMoveLinked) { CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_20],0,gUnknown_203B27C->monPortraitPtr,0x10d); @@ -695,14 +691,14 @@ static void sub_8020A80(void) gUnknown_203B27C->speciesNum = sub_8023B44(); gUnknown_203B27C->pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B27C->speciesNum]; gUnknown_203B27C->isTeamLeader = gUnknown_203B27C->pokeStruct->isTeamLeader; - PrintPokeNameToBuffer(gUnknown_202E128, gUnknown_203B27C->pokeStruct); + PrintPokeNameToBuffer(gFormatBuffer_Monsters[5], gUnknown_203B27C->pokeStruct); sub_801FDA8(0x11); break; case 4: gUnknown_203B27C->speciesNum = sub_8023B44(); gUnknown_203B27C->pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B27C->speciesNum]; gUnknown_203B27C->isTeamLeader = gUnknown_203B27C->pokeStruct->isTeamLeader; - PrintPokeNameToBuffer(gUnknown_202E128, gUnknown_203B27C->pokeStruct); + PrintPokeNameToBuffer(gFormatBuffer_Monsters[5], gUnknown_203B27C->pokeStruct); sub_801FDA8(0x12); break; case 0: diff --git a/src/iq_skill_info_menu.c b/src/iq_skill_info_menu.c index d3aa47af9..46d3d7c04 100644 --- a/src/iq_skill_info_menu.c +++ b/src/iq_skill_info_menu.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "iq_skill_info_menu.h" #include "code_8097DD0.h" #include "input.h" @@ -12,9 +12,6 @@ #include "text1.h" #include "text2.h" -extern u8 gFormatItems[]; -extern u8 gAvailablePokemonNames[]; // 202DF98 - static EWRAM_DATA_2 struct IQSkillInfoMenu *sIQSkillInfoMenu = {0}; #include "data/iq_skill_info_menu.h" @@ -87,8 +84,8 @@ static void sub_801C6E4(void) CallPrepareTextbox_8008C54(sIQSkillInfoMenu->unk24); sub_80073B8(sIQSkillInfoMenu->unk24); skillName = GetIQSkillName(sIQSkillInfoMenu->chosenIQSkill); - strcpy(gFormatItems, skillName); - PrintFormatStringOnWindow(16, 0, sFmtMoveItem0, 0, 0); // {MOVE_ITEM_0} + strcpy(gFormatBuffer_Items[0], skillName); + PrintFormattedStringOnWindow(16, 0, sFmtMoveItem0, 0, 0); // {MOVE_ITEM_0} PrintStringOnWindow(8, 16, GetIQSkillDescription(sIQSkillInfoMenu->chosenIQSkill), sIQSkillInfoMenu->unk24, 0); sub_80073E0(sIQSkillInfoMenu->unk24); sIQSkillInfoMenu->unkC = sub_8097DF0(GetIQSkillDescription(sIQSkillInfoMenu->chosenIQSkill), sIQSkillInfoMenu->unk10); @@ -98,9 +95,9 @@ static void sub_801C6E4(void) CallPrepareTextbox_8008C54(sIQSkillInfoMenu->unk24); sub_80073B8(sIQSkillInfoMenu->unk24); preload = sIQSkillInfoMenu->unk10[sIQSkillInfoMenu->unk8]; - strcpy(gAvailablePokemonNames, preload->pokeName); - PrintFormatStringOnWindow(16, 0, sFmtPkmn0, sIQSkillInfoMenu->unk24, 0); // {POKEMON_0} - PrintFormatStringOnWindow(4, 16, sIQSkillInfoMenu->unk10[sIQSkillInfoMenu->unk8]->unk4, sIQSkillInfoMenu->unk24, 0); + strcpy(gFormatBuffer_Monsters[0], preload->pokeName); + PrintFormattedStringOnWindow(16, 0, sFmtPkmn0, sIQSkillInfoMenu->unk24, 0); // {POKEMON_0} + PrintFormattedStringOnWindow(4, 16, sIQSkillInfoMenu->unk10[sIQSkillInfoMenu->unk8]->unk4, sIQSkillInfoMenu->unk24, 0); sub_80073E0(sIQSkillInfoMenu->unk24); break; case 2: diff --git a/src/iq_skill_list_menu.c b/src/iq_skill_list_menu.c index 0381febaa..a526203c2 100644 --- a/src/iq_skill_list_menu.c +++ b/src/iq_skill_list_menu.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "constants/input.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "iq_skill_list_menu.h" #include "input.h" #include "memory.h" @@ -11,8 +11,6 @@ #include "text1.h" #include "text2.h" -extern u8 gUnknown_202DEA8[]; - static EWRAM_DATA_2 struct IQSkillListMenu *sIQSkillListMenu = {0}; #include "data/iq_skill_list_menu.h" @@ -142,14 +140,14 @@ void BuildIQSkillList(void) skillIndex = sIQSkillListMenu->iqSkills[(sIQSkillListMenu->s24.s0.input.unk1E * sIQSkillListMenu->s24.s0.input.unk1C) + counter]; y = sub_8013800(&sIQSkillListMenu->s24.s0.input, counter); - strncpy(gUnknown_202DEA8, GetIQSkillName(skillIndex), 80); + strncpy(gFormatBuffer_Items[1], GetIQSkillName(skillIndex), 80); if (IsIQSkillSet((u8 *)&sIQSkillListMenu->pokeStruct->IQSkills, 1 << skillIndex)) - strcpy(gUnknown_202DEA8 - 80, sStarBullet); + strcpy(gFormatBuffer_Items[1] - 80, sStarBullet); else - strcpy(gUnknown_202DEA8 - 80, sUnknown_80DBE18); + strcpy(gFormatBuffer_Items[1] - 80, sUnknown_80DBE18); - PrintFormatStringOnWindow(12, y, sFmt01, sIQSkillListMenu->s24.s0.unk34, 0); + PrintFormattedStringOnWindow(12, y, sFmt01, sIQSkillListMenu->s24.s0.unk34, 0); } sub_80073E0(sIQSkillListMenu->s24.s0.unk34); diff --git a/src/items.c b/src/items.c index 83954bf45..81b32bdaa 100644 --- a/src/items.c +++ b/src/items.c @@ -10,7 +10,7 @@ #include "code_800D090.h" #include "text_util.h" #include "text2.h" -#include "code_80130A8.h" +#include "string_format.h" #include extern struct FileArchive gSystemFileArchive; @@ -20,8 +20,6 @@ extern const char gUnknown_81097A4[]; extern s32 gPowersOfTen[]; extern u8 gHighDigits[]; extern u16 gGummiStatBoostLUT[]; -extern u8 gFormatItems[]; -extern u32 gFormatData_202DE30; extern u8* gPtrTypeText; // ptr to "Type\0" extern u8* gPtrPPD0Text; // ptr to "PP {VALUE_0} \0" extern u32 gUnknown_81097E8[4]; // some sort of lookup table (16, 18, 20, 22) @@ -642,12 +640,12 @@ u32 sub_80913E0(Item* slot, u32 a2, struct subStruct_203B240 ** a3) BufferItemName(buffer88, slot->id, NULL); if (slot->id == ITEM_TM_USED_TM) { // empty TM - BufferItemName(gFormatItems, (u8)(slot->quantity + 125), NULL); + BufferItemName(gFormatBuffer_Items[0], (u8)(slot->quantity + 125), NULL); } sub_80073B8(a2); - PrintFormatStringOnWindow(16, 0, buffer88, a2, 0); + PrintFormattedStringOnWindow(16, 0, buffer88, a2, 0); - PrintFormatStringOnWindow(8, 24, GetItemDescription(slot->id), a2, 0); + PrintFormattedStringOnWindow(8, 24, GetItemDescription(slot->id), a2, 0); if (GetItemCategory(slot->id) == CATEGORY_TMS_HMS) { Move *buffer8 = (Move*) (buffer88 + 80); // field in struct u16 move = GetItemMoveID(slot->id); @@ -657,13 +655,13 @@ u32 sub_80913E0(Item* slot, u32 a2, struct subStruct_203B240 ** a3) InitPokemonMove(buffer8, move); sub_80078A4(a2, 4, 82, 200, COLOR_WHITE_2); - PrintFormatStringOnWindow(4, 84, gPtrTypeText, a2, 0); + PrintFormattedStringOnWindow(4, 84, gPtrTypeText, a2, 0); moves_data = GetMoveType(buffer8); typestring = GetUnformattedTypeString(moves_data); - PrintFormatStringOnWindow(64, 84, typestring, a2, 0); + PrintFormattedStringOnWindow(64, 84, typestring, a2, 0); result = GetMoveBasePP(buffer8); - gFormatData_202DE30 = result; - PrintFormatStringOnWindow(128, 84, gPtrPPD0Text, a2, 0); + gFormatArgs[0] = result; + PrintFormattedStringOnWindow(128, 84, gPtrPPD0Text, a2, 0); } sub_80073E0(a2); diff --git a/src/kangaskhan_storage1.c b/src/kangaskhan_storage1.c index ec2b6029d..092b348a1 100644 --- a/src/kangaskhan_storage1.c +++ b/src/kangaskhan_storage1.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "code_801C8C4.h" #include "code_8099360.h" @@ -14,9 +14,7 @@ #include "text1.h" #include "text2.h" -extern u8 gFormatItems[]; -extern u8 gUnknown_202E1C8[]; -extern u8 gUnknown_202E5D8[]; +extern u8 gSpeakerNameBuffer[]; EWRAM_DATA_2 struct KangaskhanStorageWork *gKangaskhanStorageWork = {0}; @@ -57,10 +55,10 @@ bool8 CreateKangaskhanStorage(u32 mode) gKangaskhanStorageWork->menuAction2 = 0; gKangaskhanStorageWork->menuAction3 = 0; gKangaskhanStorageWork->mode = mode; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KANGASKHAN); - CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KANGASKHAN); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_KANGASKHAN); + CopyYellowMonsterNametoBuffer(gFormatBuffer_Monsters[7], MONSTER_KANGASKHAN); monName = GetMonSpecies(MONSTER_KANGASKHAN); - strcpy(gUnknown_202E1C8 - 0x50, monName); + strcpy(gFormatBuffer_Monsters[6], monName); if (gKangaskhanStorageWork->mode == KANG_MODE_ASLEEP) gKangaskhanStorageWork->monPortraitPtr = NULL; @@ -69,7 +67,7 @@ bool8 CreateKangaskhanStorage(u32 mode) faceFile = GetDialogueSpriteDataPtr(MONSTER_KANGASKHAN); gKangaskhanStorageWork->monPortrait.faceFile = faceFile; - gKangaskhanStorageWork->monPortrait.faceData = faceFile->data; + gKangaskhanStorageWork->monPortrait.faceData = (void *) faceFile->data; gKangaskhanStorageWork->monPortrait.spriteId = FALSE; gKangaskhanStorageWork->monPortrait.flip = FALSE; gKangaskhanStorageWork->monPortrait.unkE = 0; @@ -230,7 +228,7 @@ static void sub_8016FF8(void) CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_STORAGE_FULL], 0, gKangaskhanStorageWork->monPortraitPtr, 0x10D); break; case KANGASKHAN_STORAGE_IS_MONEY_USED_TM: - sub_8090E14(gFormatItems, &gKangaskhanStorageWork->storedItem, 0); + sub_8090E14(gFormatBuffer_Items[0], &gKangaskhanStorageWork->storedItem, 0); gKangaskhanStorageWork->fallbackState = 14; gKangaskhanStorageWork->monPortrait.spriteId = FALSE; CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT__INVALID_ITEM], 0, gKangaskhanStorageWork->monPortraitPtr, 0x30D); @@ -263,7 +261,7 @@ static void sub_8016FF8(void) break; case 17: sub_80177F8(); - sub_8090E14(gFormatItems, &gKangaskhanStorageWork->storedItem, 0); + sub_8090E14(gFormatBuffer_Items[0], &gKangaskhanStorageWork->storedItem, 0); gKangaskhanStorageWork->monPortrait.spriteId = FALSE; CreateMenuDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT_ONE_PROMPT], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0, gKangaskhanStorageWork->monPortraitPtr, 12); @@ -332,7 +330,7 @@ static void sub_8016FF8(void) break; case 27: sub_80177F8(); - sub_8090E14(gFormatItems, &gKangaskhanStorageWork->storedItem, 0); + sub_8090E14(gFormatBuffer_Items[0], &gKangaskhanStorageWork->storedItem, 0); gKangaskhanStorageWork->monPortrait.spriteId = FALSE; CreateMenuDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_WITHDRAW_ONE_PROMPT], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0, gKangaskhanStorageWork->monPortraitPtr, 12); diff --git a/src/kangaskhan_storage2.c b/src/kangaskhan_storage2.c index 3064b17a6..d68bec80f 100644 --- a/src/kangaskhan_storage2.c +++ b/src/kangaskhan_storage2.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "code_801C8C4.h" #include "code_8099360.h" diff --git a/src/kecleon_bros1.c b/src/kecleon_bros1.c index 7da66fa3b..261a120ea 100644 --- a/src/kecleon_bros1.c +++ b/src/kecleon_bros1.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "code_8099360.h" #include "common_strings.h" @@ -18,10 +18,7 @@ #include "text1.h" #include "text2.h" -extern u32 gFormatData_202DE30; -extern u8 gFormatItems[]; -extern u8 gUnknown_202E1C8[]; -extern u8 gUnknown_202E5D8[]; +extern u8 gSpeakerNameBuffer[]; static EWRAM_DATA_2 KecleonBrosWork1 *sKecleonBrosWork1 = {0}; @@ -75,34 +72,34 @@ bool8 CreateKecleonBros(u32 mode) case KECLEON_BROS_MODE_ITEMS_AWAKE: sKecleonBrosWork1->isKecleonItemShop = TRUE; sKecleonBrosWork1->monPortraitPtr = &sKecleonBrosWork1->monPortrait; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON); - CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gFormatBuffer_Monsters[7], MONSTER_KECLEON); monName = GetMonSpecies(MONSTER_KECLEON); - strcpy(gUnknown_202E1C8 - 0x50, monName); + strcpy(gFormatBuffer_Monsters[6], monName); break; case KECLEON_BROS_MODE_ITEMS_ASLEEP: sKecleonBrosWork1->isKecleonItemShop = TRUE; sKecleonBrosWork1->monPortraitPtr = NULL; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON); - CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gFormatBuffer_Monsters[7], MONSTER_KECLEON); monName = GetMonSpecies(MONSTER_KECLEON); - strcpy(gUnknown_202E1C8 - 0x50, monName); + strcpy(gFormatBuffer_Monsters[6], monName); break; case KECLEON_BROS_MODE_WARES_AWAKE: sKecleonBrosWork1->isKecleonItemShop = FALSE; sKecleonBrosWork1->monPortraitPtr = &sKecleonBrosWork1->monPortrait; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON); - CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gFormatBuffer_Monsters[7], MONSTER_KECLEON); monName = GetMonSpecies(MONSTER_KECLEON); - strcpy(gUnknown_202E1C8 - 0x50, monName); + strcpy(gFormatBuffer_Monsters[6], monName); break; case KECLEON_BROS_MODE_WARES_ASLEEP: sKecleonBrosWork1->isKecleonItemShop = FALSE; sKecleonBrosWork1->monPortraitPtr = NULL; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON); - CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gFormatBuffer_Monsters[7], MONSTER_KECLEON); monName = GetMonSpecies(MONSTER_KECLEON); - strcpy(gUnknown_202E1C8 - 0x50, monName); + strcpy(gFormatBuffer_Monsters[6], monName); break; default: break; @@ -110,7 +107,7 @@ bool8 CreateKecleonBros(u32 mode) faceFile = GetDialogueSpriteDataPtr(MONSTER_KECLEON); sKecleonBrosWork1->monPortrait.faceFile = faceFile; - sKecleonBrosWork1->monPortrait.faceData = faceFile->data; + sKecleonBrosWork1->monPortrait.faceData = (void *) faceFile->data; sKecleonBrosWork1->monPortrait.spriteId = 0; sKecleonBrosWork1->monPortrait.flip = FALSE; sKecleonBrosWork1->monPortrait.unkE = 0; @@ -289,7 +286,7 @@ static void UpdateKecleonStoreDialogue(void) CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_19], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D); break; case KECLEON_STORE_CANT_SELL_ITEM: - sub_8090E14(gFormatItems, &sKecleonBrosWork1->soldItem, NULL); + sub_8090E14(gFormatBuffer_Items[0], &sKecleonBrosWork1->soldItem, NULL); sKecleonBrosWork1->fallbackState = KECLEON_STORE_SELL_ITEM_MENU; SetKecleonPortraitSpriteId(TRUE); CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_20], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D); @@ -340,8 +337,8 @@ static void UpdateKecleonStoreDialogue(void) break; case KECLEON_STORE_BUY_ITEM: BuildKecleonBrosYesNoMenu(); - sub_8090E14(gFormatItems, &sKecleonBrosWork1->soldItem, 0); - gFormatData_202DE30 = sKecleonBrosWork1->itemSellPrice; + sub_8090E14(gFormatBuffer_Items[0], &sKecleonBrosWork1->soldItem, 0); + gFormatArgs[0] = sKecleonBrosWork1->itemSellPrice; SetKecleonPortraitSpriteId(FALSE); CreateMenuDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_05], 0, 5,sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->monPortraitPtr, 12); break; @@ -393,8 +390,8 @@ static void UpdateKecleonStoreDialogue(void) break; case KECLEON_STORE_SELL_ITEM: BuildKecleonBrosYesNoMenu(); - sub_8090E14(gFormatItems, &sKecleonBrosWork1->soldItem, NULL); - gFormatData_202DE30 = sKecleonBrosWork1->itemSellPrice; + sub_8090E14(gFormatBuffer_Items[0], &sKecleonBrosWork1->soldItem, NULL); + gFormatArgs[0] = sKecleonBrosWork1->itemSellPrice; SetKecleonPortraitSpriteId(FALSE); CreateMenuDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_09], 0, 5, sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->monPortraitPtr, 12); break; @@ -415,7 +412,7 @@ static void UpdateKecleonStoreDialogue(void) break; case KECLEON_STORE_SELL_ALL_ITEMS: BuildKecleonBrosYesNoMenu(); - gFormatData_202DE30 = sKecleonBrosWork1->inventoryItemSellPrice; + gFormatArgs[0] = sKecleonBrosWork1->inventoryItemSellPrice; SetKecleonPortraitSpriteId(FALSE); CreateMenuDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_10], 0, 5, sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->monPortraitPtr, 12); break; diff --git a/src/kecleon_bros4.c b/src/kecleon_bros4.c index 7d7fea6f4..2f2dc1046 100644 --- a/src/kecleon_bros4.c +++ b/src/kecleon_bros4.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "code_800D090.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8099360.h" #include "constants/input.h" #include "input.h" @@ -13,8 +13,6 @@ #include "text1.h" #include "text2.h" -extern u8 gFormatItems[]; - static EWRAM_DATA_2 unkStruct_203B224 *gUnknown_203B224 = {0}; static EWRAM_DATA_2 u16 gUnknown_203B228 = {0}; static EWRAM_DATA_2 u16 gUnknown_203B22A = {0}; @@ -236,8 +234,8 @@ void sub_801A9E0(void) if (gUnknown_203B224->unk4[teamItemIndex] != 0 || sub_801ADA0(teamItemIndex)) PrintStringOnWindow(8,sub_8013800(&gUnknown_203B224->unk54.s0.input,r7), buf1, gUnknown_203B224->unk54.s0.unk34, 0); else { - strncpy(gFormatItems, buf1, 80); - PrintFormatStringOnWindow(8, sub_8013800(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0); + strncpy(gFormatBuffer_Items[0], buf1, 80); + PrintFormattedStringOnWindow(8, sub_8013800(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0); } break; } @@ -262,8 +260,8 @@ void sub_801A9E0(void) } else { sub_8090E14(buf1, &item, 0); - strncpy(gFormatItems, buf1, 80); - PrintFormatStringOnWindow(8, sub_8013800(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0); + strncpy(gFormatBuffer_Items[0], buf1, 80); + PrintFormattedStringOnWindow(8, sub_8013800(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0); } break; } @@ -280,8 +278,8 @@ void sub_801A9E0(void) if (IsGummiItem(item.id)) PrintStringOnWindow(8, sub_8013800(&gUnknown_203B224->unk54.s0.input, r7), buf1, gUnknown_203B224->unk54.s0.unk34, 0); else { - strncpy(gFormatItems, buf1, 80); - PrintFormatStringOnWindow(8, sub_8013800(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0); + strncpy(gFormatBuffer_Items[0], buf1, 80); + PrintFormattedStringOnWindow(8, sub_8013800(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0); } break; } diff --git a/src/load_screen.c b/src/load_screen.c index 2acdd182b..2e20aa6f3 100644 --- a/src/load_screen.c +++ b/src/load_screen.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "bg_palette_buffer.h" #include "code_800D090.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8094F88.h" #include "code_8097670.h" #include "constants/main_menu.h" @@ -312,7 +312,7 @@ void DrawLoadScreenText(void) { default: sprintfStatic(auStack356,gUnknown_80E7804,sub_8098FB4()); - xxx_format_string(auStack356,gLoadScreen->formattedLocation,gLoadScreen->formattedPlayTime,0); + FormatString(auStack356,gLoadScreen->formattedLocation,gLoadScreen->formattedPlayTime,0); break; case 0x7: case 0xB: diff --git a/src/luminous_cave.c b/src/luminous_cave.c index 73063091e..0861d3b3a 100644 --- a/src/luminous_cave.c +++ b/src/luminous_cave.c @@ -1,8 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801602C.h" #include "code_801B3C0.h" #include "code_8097670.h" @@ -61,9 +60,6 @@ enum LuminousCaveMenuActions }; -extern u8 gAvailablePokemonNames[]; // 202DF98 -extern u8 gPlayerName[]; // 202E2B8 - static EWRAM_DATA_2 LuminousCaveWork *sLuminousCaveWork = {0}; #include "data/luminous_cave.h" @@ -306,16 +302,16 @@ static void UpdateLuminousCaveDialogue(void) CreateDialogueBoxAndPortrait(sLetUsBegin,0,0,0x105); break; case LUMINOUS_CAVE_CHANGED_APPEARANCE: - PrintColoredPokeNameToBuffer(gPlayerName,sLuminousCaveWork->pokeStruct, COLOR_CYAN); + PrintColoredPokeNameToBuffer(gFormatBuffer_Names[0],sLuminousCaveWork->pokeStruct, COLOR_CYAN); PlaySound(0x1ff); sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_EVOLVED; CreateDialogueBoxAndPortrait(sFmtChangedAppearance,0,0,0x105); break; case LUMINOUS_CAVE_EVOLVED: monName = GetMonSpecies(sLuminousCaveWork->pokeStruct->speciesNum); - strcpy(gAvailablePokemonNames,monName); + strcpy(gFormatBuffer_Monsters[0],monName); monName = GetMonSpecies(sLuminousCaveWork->evolveStatus.targetEvolveSpecies); - strcpy(gAvailablePokemonNames + 0x50,monName); + strcpy(gFormatBuffer_Monsters[1],monName); sLuminousCaveWork->evolutionComplete = TRUE; sub_80977D0(); sub_808F734(sLuminousCaveWork->pokeStruct,sLuminousCaveWork->evolveStatus.targetEvolveSpecies); diff --git a/src/makuhita_dojo1.c b/src/makuhita_dojo1.c index 4ca964159..bf193124f 100644 --- a/src/makuhita_dojo1.c +++ b/src/makuhita_dojo1.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B60C.h" #include "code_80A26CC.h" #include "common_strings.h" @@ -15,10 +15,7 @@ #include "text1.h" #include "text2.h" -extern u8 gAvailablePokemonNames[]; // 202DF98 -extern u8 gUnknown_202E1C8[]; -extern u8 gPlayerName[]; // 202E2B8 -extern u8 gUnknown_202E5D8[]; +extern u8 gSpeakerNameBuffer[]; static EWRAM_DATA_2 MakuhitaDojoWork1 *sMakuhitaDojoWork1 = {0}; @@ -94,14 +91,14 @@ bool8 MakuhitaDojo_New(u32 mode) else sMakuhitaDojoWork1->monPortraitPtr = &sMakuhitaDojoWork1->monPortrait; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_MAKUHITA); - CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_MAKUHITA); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_MAKUHITA); + CopyYellowMonsterNametoBuffer(gFormatBuffer_Monsters[7], MONSTER_MAKUHITA); monName = GetMonSpecies(MONSTER_MAKUHITA); - strcpy(gUnknown_202E1C8 - 0x50, monName); + strcpy(gFormatBuffer_Monsters[6], monName); faceFile = GetDialogueSpriteDataPtr(MONSTER_MAKUHITA); sMakuhitaDojoWork1->monPortrait.faceFile = faceFile; - sMakuhitaDojoWork1->monPortrait.faceData = faceFile->data; + sMakuhitaDojoWork1->monPortrait.faceData = (void *) faceFile->data; sMakuhitaDojoWork1->monPortrait.spriteId = 0; sMakuhitaDojoWork1->monPortrait.flip = FALSE; sMakuhitaDojoWork1->monPortrait.unkE = 0; @@ -202,7 +199,7 @@ static void MakuhitaDojo_UpdateDialogue(void) sMakuhitaDojoWork1->fallbackState = 13; dLoc.id = sub_80A2740(sMakuhitaDojoWork1->unk10); dLoc.floor = 1; - PrintYellowDungeonNametoBuffer(gAvailablePokemonNames, &dLoc); + PrintYellowDungeonNametoBuffer(gFormatBuffer_Monsters[0], &dLoc); CreateDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_4], 0, sMakuhitaDojoWork1->monPortraitPtr, 0x10D); break; case 7: @@ -218,7 +215,7 @@ static void MakuhitaDojo_UpdateDialogue(void) CreateDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_7], 0, sMakuhitaDojoWork1->monPortraitPtr, 0x10D); break; case 9: - PrintColoredPokeNameToBuffer(gPlayerName, GetPlayerPokemonStruct(), COLOR_YELLOW); + PrintColoredPokeNameToBuffer(gFormatBuffer_Names[0], GetPlayerPokemonStruct(), COLOR_YELLOW); sMakuhitaDojoWork1->fallbackState = 11; PlaySound(203); CreateDialogueBoxAndPortrait(sReceivedBonslyDoll, 0, 0, 0x101); diff --git a/src/menu_input.c b/src/menu_input.c index 5b8333d39..40e1245ab 100644 --- a/src/menu_input.c +++ b/src/menu_input.c @@ -3,7 +3,7 @@ #include "code_800558C.h" #include "code_800D090.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "constants/colors.h" #include "constants/input.h" #include "input.h" @@ -322,7 +322,7 @@ void sub_8012D34(UnkTextStruct2 *a0, s32 a1) "\tbx r0"); } -void sub_8012D60(MenuStruct *param_1, const MenuItem *menuItems, u32 *colorArray, u16 *param_4, s32 menuAction, s32 index) +void sub_8012D60(MenuStruct *param_1, const MenuItem *menuItems, const u32 *colorArray, u16 *param_4, s32 menuAction, s32 index) { const u8 *textPtr; s32 counter; @@ -369,7 +369,7 @@ void sub_8012D60(MenuStruct *param_1, const MenuItem *menuItems, u32 *colorArray param_1->menuAction = -1; } -void sub_8012E04(MenuStruct *param_1, const MenuItem *menuItems, u32 *colorArray, u16 *param_4, s32 menuAction, s32 index) +void sub_8012E04(MenuStruct *param_1, const MenuItem *menuItems, const u32 *colorArray, u16 *param_4, s32 menuAction, s32 index) { const u8 *textPtr; s32 counter; @@ -449,7 +449,7 @@ void sub_8012EBC(MenuStruct *param_1) ptr_text2 = &textStack[index]; RestoreUnkTextStruct_8006518(textStack); x = sub_8008ED0(param_1->unk0); - PrintFormatStringOnWindow(((ptr_text2->unk14->f2 * 8 - x) / 2) + 8, 0, param_1->unk0, param_1->index, 0); + PrintFormattedStringOnWindow(((ptr_text2->unk14->f2 * 8 - x) / 2) + 8, 0, param_1->unk0, param_1->index, 0); } colorArray = param_1->menuTextColorArray; @@ -474,7 +474,7 @@ void sub_8012EBC(MenuStruct *param_1) sprintfStatic(buffer,gUnknown_80D4828, color, textPtr); y = sub_8013800(¶m_1->input, counter); - PrintFormatStringOnWindow(8, y, buffer, param_1->index, 0); + PrintFormattedStringOnWindow(8, y, buffer, param_1->index, 0); menuItemsPtr++; counter++; } while (menuItemsPtr->text != NULL); diff --git a/src/mission_reward.c b/src/mission_reward.c index 7f63abeaf..684e156aa 100644 --- a/src/mission_reward.c +++ b/src/mission_reward.c @@ -8,7 +8,7 @@ #include "input.h" #include "items.h" #include "memory.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_80118A4.h" #include "code_801B60C.h" #include "text1.h" @@ -29,12 +29,8 @@ struct unkStruct_203B310 EWRAM_DATA_2 struct unkStruct_203B310 *gUnknown_203B310 = {0}; -extern u8 gUnknown_202E038[]; -extern u8 gUnknown_202E628[]; -extern u8 gUnknown_202DEA8[]; -extern u8 gUnknown_202E5D8[]; -extern u8 gAvailablePokemonNames[]; -extern u32 gFormatData_202DE30; +extern u8 gFormatBuffer_FriendArea[]; +extern u8 gSpeakerNameBuffer[]; enum FriendRewardStates { @@ -129,8 +125,8 @@ u32 sub_802F204(unkStruct_802F204 *r0, bool8 displayClientSprite) // NOTE: dumb var to get correct ordering preload = gUnknown_203B310; - strcpy(gUnknown_202E5D8, preload->unk10->clientName); - PrintPokeNameToBuffer(gAvailablePokemonNames, GetPlayerPokemonStruct()); + strcpy(gSpeakerNameBuffer, preload->unk10->clientName); + PrintPokeNameToBuffer(gFormatBuffer_Monsters[0], GetPlayerPokemonStruct()); gUnknown_203B310->monPortrait.faceFile = GetDialogueSpriteDataPtr(gUnknown_203B310->unk10->clientSpecies); gUnknown_203B310->monPortrait.faceData = NULL; @@ -143,7 +139,7 @@ u32 sub_802F204(unkStruct_802F204 *r0, bool8 displayClientSprite) if(gUnknown_203B310->monPortrait.faceFile != NULL) { - gUnknown_203B310->monPortrait.faceData = gUnknown_203B310->monPortrait.faceFile->data; + gUnknown_203B310->monPortrait.faceData = (void *) gUnknown_203B310->monPortrait.faceFile->data; } SetRewardSceneState(PREP_MONEY_REWARD); @@ -216,7 +212,7 @@ void HandleMissionReward(void) SetRewardSceneState(PREP_FRIEND_AREA_REWARD); } else { - gFormatData_202DE30 = moneyReward; + gFormatArgs[0] = moneyReward; if (gUnknown_203B310->displayClientDialogueSprite) { CreateDialogueBoxAndPortrait(gUnknown_80E0434,0,&gUnknown_203B310->monPortrait,0x10d); gUnknown_203B310->nextState = MONEY_REWARD; @@ -242,7 +238,7 @@ void HandleMissionReward(void) SetRewardSceneState(PREP_ITEM_REWARD); } else { - WriteFriendAreaName(gUnknown_202E628,gUnknown_203B310->unk10->friendAreaReward,FALSE); + WriteFriendAreaName(gFormatBuffer_FriendArea,gUnknown_203B310->unk10->friendAreaReward,FALSE); if (gUnknown_203B310->displayClientDialogueSprite) { CreateDialogueBoxAndPortrait(gUnknown_80E04B4,0,&gUnknown_203B310->monPortrait,0x10d); gUnknown_203B310->nextState = UNLOCK_FRIEND_AREA; @@ -290,7 +286,7 @@ void HandleMissionReward(void) local_20.unk0 = 0; local_20.unk4 = 0; local_20.unk8 = 1; - sub_8090E14(gUnknown_202DEA8,&item,&local_20); + sub_8090E14(gFormatBuffer_Items[1],&item,&local_20); if (gUnknown_203B310->displayClientDialogueSprite) { CreateDialogueBoxAndPortrait(gUnknown_80E0640,0,&gUnknown_203B310->monPortrait,0x10d); gUnknown_203B310->nextState = GIVE_ITEM_REWARD; @@ -342,7 +338,7 @@ void HandleMissionReward(void) else { gUnknown_203B310->nextState = REWARD_EXIT; } - gFormatData_202DE30 = gUnknown_203B310->unk10->teamRankPtsReward; + gFormatArgs[0] = gUnknown_203B310->unk10->teamRankPtsReward; CreateDialogueBoxAndPortrait(gUnknown_80E0670,0,0,0x101); } break; @@ -350,9 +346,9 @@ void HandleMissionReward(void) PlaySound(0xc9); gUnknown_203B310->nextState = REWARD_EXIT; rankString = GetTeamRankString(gUnknown_203B310->currTeamRank); - strcpy(gUnknown_202E038,rankString); + strcpy(gFormatBuffer_Monsters[2],rankString); rankString = GetTeamRankString(GetRescueTeamRank()); - strcpy(gUnknown_202E038 + 0x50,rankString); + strcpy(gFormatBuffer_Monsters[3],rankString); CreateDialogueBoxAndPortrait(gUnknown_80E06A8,0,0,0x101); break; case REWARD_EXIT: diff --git a/src/move_actions.c b/src/move_actions.c index fdb5118a9..3dcd3cc96 100644 --- a/src/move_actions.c +++ b/src/move_actions.c @@ -33,10 +33,6 @@ #include "weather.h" #include "called_move_data.h" -extern u8 gFormatItems[]; -extern u8 gAvailablePokemonNames[]; -extern u8 gUnknown_202DFE8[]; - extern const u8 *const gUnknown_80FD350; extern const u8 *const gUnknown_80FD370; extern u8 *gUnknown_80FE3BC[]; @@ -174,8 +170,6 @@ extern u8 *gUnknown_80FE330[]; extern u8 *gUnknown_80FE36C[]; extern u8 *gPtrForecastPreventsTypeSwitchMessage[]; - -extern u8 gFormatItems[]; extern u32 gUnknown_202F210; extern u32 gUnknown_202F214; extern u8 gUnknown_202F218; @@ -457,8 +451,8 @@ bool8 PainSplitMoveAction(Entity *attacker, Entity *target, Move *move, s32 para if (targetInfo->HP > targetInfo->maxHPStat) { targetInfo->HP = targetInfo->maxHPStat; } - SetMessageArgument(gAvailablePokemonNames,attacker,0); - SetMessageArgument(gAvailablePokemonNames + 0x50,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],attacker,0); + SetMessageArgument(gFormatBuffer_Monsters[1],target,0); SetExpMultplier(attackerInfo); // $m0 and $m1 shared their HP @@ -483,7 +477,7 @@ bool8 TormentMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4 if ((movePtr->moveFlags & MOVE_FLAG_EXISTS) != 0) { if ((movePtr->moveFlags & MOVE_FLAG_DISABLED) == 0) { if ((movePtr->moveFlags & MOVE_FLAG_LAST_USED) != 0) { - sub_80928C0(gFormatItems,movePtr,0); + sub_80928C0(gFormatBuffer_Items[0],movePtr,0); // $i0 was tormented TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCFBC); movePtr->moveFlags |= MOVE_FLAG_DISABLED; @@ -501,7 +495,7 @@ bool8 TormentMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4 InitPokemonMove(&struggleMove, MOVE_STRUGGLE); entityInfo->moves.struggleMoveFlags |= MOVE_FLAG_DISABLED; isTormented = TRUE; - sub_80928C0(gFormatItems,&struggleMove,0); + sub_80928C0(gFormatBuffer_Items[0],&struggleMove,0); // $i0 was tormented TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCFBC); } @@ -630,7 +624,7 @@ bool8 sub_8057D9C(Entity * pokemon, Entity * target, Move *move, s32 param_4) } } - SetMessageArgument(gUnknown_202DFE8, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], target, 0); if (flag) { TryDisplayDungeonLoggableMessage3(pokemon, target, gUnknown_80FD350); } @@ -734,7 +728,7 @@ bool8 sub_8057FF4(Entity *pokemon, Entity *target, Move *move, s32 param_4) if (flashFireStatus != FLASH_FIRE_STATUS_NONE) { if (GetEntInfo(target)->unk152 == 0) { GetEntInfo(target)->unk152 = 1; - SetMessageArgument(gUnknown_202DFE8,target,0); + SetMessageArgument(gFormatBuffer_Monsters[1],target,0); if (flashFireStatus == FLASH_FIRE_STATUS_MAXED) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAE00); // Fire moves won't become stronger } @@ -786,7 +780,7 @@ bool8 GrudgeMoveAction(Entity *pokemon, Entity * target, Move *move, s32 param_4 hasGrudge = FALSE; entityInfo = GetEntInfo(target); - SetMessageArgument(gUnknown_202DFE8,target,0); + SetMessageArgument(gFormatBuffer_Monsters[1],target,0); if (entityInfo->grudge) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD2B4); } @@ -1413,7 +1407,7 @@ bool8 PsychUpMoveAction(Entity * pokemon, Entity * target, Move * move, u32 para iVar4->offensiveMultipliers[index] = iVar3->offensiveMultipliers[index]; iVar4->defensiveMultipliers[index] = iVar3->defensiveMultipliers[index]; } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBD58); // It psyched itself up! SetExpMultplier(iVar4); return TRUE; @@ -1676,7 +1670,7 @@ bool32 SketchMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4 } else { InitPokemonMove(move, moveId); - sub_80928C0(gFormatItems, move, 0); + sub_80928C0(gFormatBuffer_Items[0], move, 0); move->moveFlags2 |= MOVE_FLAG2_UNK4; move->moveFlags2 |= MOVE_FLAG_REPLACE; TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FE38C); @@ -2033,7 +2027,7 @@ bool8 ConversionMoveAction(Entity * pokemon,Entity * target,Move * move,u32 para info->types[0] = moveType; info->types[1] = TYPE_NONE; info->isColorChanged = TRUE; - sub_80928C0(gFormatItems, moveStack[newIndex], NULL); + sub_80928C0(gFormatBuffer_Items[0], moveStack[newIndex], NULL); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FE330); return TRUE; } @@ -2176,7 +2170,7 @@ bool8 sub_8059E54(Entity * pokemon,Entity * target,Move * move,u32 param_4,u8 pa movePower = GetMovePower(pokemon,move); moveCritChance = GetMoveCritChance(move); sub_806EAF4(pokemon,target,moveType,movePower,moveCritChance,local_30,0x100,move->id,0); - SetMessageArgument_2(gAvailablePokemonNames,GetEntInfo(pokemon),0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],GetEntInfo(pokemon),0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC7C8); local_30[0] = local_30[0] / 2; if (local_30[0] == 0) { @@ -2226,7 +2220,7 @@ bool8 sub_8059FC8(Entity * pokemon,Entity * target,Move * move,u32 param_4,u8 pa movePower = GetMovePower(pokemon,move); moveCritChance = GetMoveCritChance(move); sub_806EAF4(pokemon,target,moveType,movePower,moveCritChance,local_30,0x200,move->id,0); - SetMessageArgument_2(gAvailablePokemonNames,GetEntInfo(pokemon),0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],GetEntInfo(pokemon),0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC7C8); local_30[0] = local_30[0] / 2; if (local_30[0] == 0) { @@ -2282,8 +2276,8 @@ bool8 sub_805A120(Entity * pokemon,Entity * target, Move *move, u32 param_4) r8 = GetEntInfo(target); sp = r8; - SetMessageArgument(gAvailablePokemonNames,pokemon,0); - SetMessageArgument(gAvailablePokemonNames + 0x50,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],pokemon,0); + SetMessageArgument(gFormatBuffer_Monsters[1],target,0); if (HasAbility(target, ABILITY_STICKY_HOLD)) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCCE4); return FALSE; @@ -2600,8 +2594,8 @@ bool8 KnockOffMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_ entityInfo = GetEntInfo(pokemon); targetEntityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames, pokemon, 0); - SetMessageArgument(gAvailablePokemonNames + 0x50, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], pokemon, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], target, 0); if (HasAbility(target, ABILITY_STICKY_HOLD)) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCCE8); @@ -2650,7 +2644,7 @@ void sub_805A7D4(Entity * pokemon, Entity * target, Item *item, Position *pos) SetEntityPixelPos(&stackEntity,(target->pos.x * 0x18 + 4) * 0x100, (target->pos.y * 0x18 + 4) * 0x100); stackEntity.spawnGenID = 0; - SetMessageArgument(gFormatItems,&stackEntity,0); + SetMessageArgument(gFormatBuffer_Items[0],&stackEntity,0); sub_804652C(pokemon,&stackEntity,item,1,0); } @@ -2778,7 +2772,7 @@ bool8 BellyDrumMoveAction(Entity * pokemon,Entity * target, Move *move, u32 para flag = TRUE; } else { - SetMessageArgument(gAvailablePokemonNames,pokemon,0); + SetMessageArgument(gFormatBuffer_Monsters[0],pokemon,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC5CC); } return flag; diff --git a/src/move_effects_target.c b/src/move_effects_target.c index a97846815..49857bd97 100644 --- a/src/move_effects_target.c +++ b/src/move_effects_target.c @@ -36,7 +36,6 @@ #include "targeting.h" #include "tile_types.h" -extern char gAvailablePokemonNames[]; extern u8 *gUnknown_80FB380[]; extern u8 *gUnknown_80FB384[]; extern u8 *gUnknown_80FB338[]; @@ -111,8 +110,6 @@ extern u8 *gUnknown_80FC0B8[]; extern u8 *gUnknown_80FC0C8[]; extern u8 *gUnknown_80FC0E4[]; extern u8 *gUnknown_80FC0D4[]; -extern u8 gUnknown_202DEA8[]; -extern u8 gFormatItems[]; extern u8 *gUnknown_80FC274[]; extern u8 *gUnknown_80FC15C[]; extern u8 *gUnknown_80FCA60[]; @@ -229,7 +226,7 @@ void sub_8075C58(Entity * pokemon, Entity * target, s32 turns, u8 displayMessage bool8 CannotSleep(Entity * pokemon, Entity * target, u8 param_3, bool8 displayMessage) { if ((!EntityExists(target)) || - ((SetMessageArgument(gAvailablePokemonNames,target,0), param_3 != 0 && + ((SetMessageArgument(gFormatBuffer_Monsters[0],target,0), param_3 != 0 && (HasSafeguardStatus(pokemon,target,displayMessage))))) { return TRUE; } @@ -378,7 +375,7 @@ void SleeplessStatusTarget(Entity * pokemon, Entity * target) if ((entityInfo->sleep.sleep == STATUS_SLEEP) || (entityInfo->sleep.sleep == STATUS_NAPPING) || (entityInfo->sleep.sleep == STATUS_NIGHTMARE)) { isAsleep = TRUE; } - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); if (entityInfo->sleep.sleep != STATUS_SLEEPLESS) { @@ -410,7 +407,7 @@ void PausedStatusTarget(Entity * pokemon, Entity * target, u8 param_3, s32 turns if ((param_3 != 0) && (HasSafeguardStatus(pokemon,target,displayMessage))) { return; } - SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],entityInfo,0); if (entityInfo->volatileStatus.volatileStatus != STATUS_PAUSED) { entityInfo->volatileStatus.volatileStatus = STATUS_PAUSED; entityInfo->volatileStatus.volatileStatusTurns = turns + 1; @@ -443,14 +440,14 @@ void InfatuateStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessa entityInfo = GetEntInfo(target); if (!HasSafeguardStatus(pokemon,target,displayMessage)) { if (HasAbility(target,ABILITY_OBLIVIOUS)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (displayMessage) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCC4C); } } else { - SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],entityInfo,0); if (entityInfo->volatileStatus.volatileStatus != STATUS_INFATUATED) { entityInfo->volatileStatus.volatileStatus = STATUS_INFATUATED; entityInfo->volatileStatus.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F00,TRUE) + 1; @@ -482,7 +479,7 @@ void BurnedStatusTarget(Entity * pokemon, Entity * target, u8 param_3, bool8 dis if (!HasSafeguardStatus(pokemon,target,displayMessage)) { entityInfo = GetEntInfo(target); - SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],entityInfo,0); if (HasAbility(target, ABILITY_WATER_VEIL)) { if (displayMessage) TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCE5C); @@ -539,7 +536,7 @@ void BurnedStatusTarget(Entity * pokemon, Entity * target, u8 param_3, bool8 dis if ((EntityExists(entity)) && (GetEntityType(entity) == ENTITY_MONSTER)) { if (!hasSynchronized) { hasSynchronized = TRUE; - SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],entityInfo,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FF01C); } if (sub_807167C(target,entity) == TREATMENT_TREAT_AS_ENEMY) { @@ -569,7 +566,7 @@ void PoisonedStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessag if (!HasSafeguardStatus(pokemon,target,displayMessage)) { entityInfo = GetEntInfo(target); - SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],entityInfo,0); if (HasHeldItem(target, ITEM_PECHA_SCARF)) { if (displayMessage) TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD524); @@ -626,7 +623,7 @@ void PoisonedStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessag if ((EntityExists(entity)) && (GetEntityType(entity) == ENTITY_MONSTER)) { if (!hasSynchronized) { hasSynchronized = TRUE; - SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],entityInfo,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FF01C); } if (sub_807167C(target,entity) == TREATMENT_TREAT_AS_ENEMY) { @@ -658,7 +655,7 @@ void BadlyPoisonedStatusTarget(Entity * pokemon, Entity * target, bool8 displayM if (!HasSafeguardStatus(pokemon,target,displayMessage)) { entityInfo = GetEntInfo(target); - SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],entityInfo,0); if (HasHeldItem(target, ITEM_PECHA_SCARF)) { if (displayMessage) TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD524); @@ -708,7 +705,7 @@ void BadlyPoisonedStatusTarget(Entity * pokemon, Entity * target, bool8 displayM if ((EntityExists(entity)) && (GetEntityType(entity) == ENTITY_MONSTER)) { if (!hasSynchronized) { hasSynchronized = TRUE; - SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],entityInfo,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FF01C); } if (sub_807167C(target,entity) == TREATMENT_TREAT_AS_ENEMY) { @@ -734,7 +731,7 @@ void FrozenStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessage) return; } - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); entityInfo = GetEntInfo(target); if ((entityInfo->immobilize.immobilizeStatus != STATUS_FROZEN) && !HasSafeguardStatus(pokemon,target,displayMessage)) { @@ -785,10 +782,10 @@ void SqueezedStatusTarget(Entity * pokemon, Entity * target, s16 param_3, bool32 sub_8076CB4(entityInfo->unk9C); } else if (entityInfo->immobilize.immobilizeStatus == STATUS_INGRAIN) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA844); } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->immobilize.immobilizeStatus != STATUS_CONSTRICTION) { entityInfo->immobilize.immobilizeStatus = STATUS_CONSTRICTION; entityInfo->immobilize.immobilizeStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E58,TRUE) + 1; @@ -815,10 +812,10 @@ void ImmobilizedStatusTarget(Entity * pokemon, Entity * target) sub_8076CB4(entityInfo->unk9C); } else if (entityInfo->immobilize.immobilizeStatus == STATUS_INGRAIN) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA844); } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->immobilize.immobilizeStatus != STATUS_SHADOW_HOLD) { entityInfo->immobilize.immobilizeStatus = STATUS_SHADOW_HOLD; entityInfo->immobilize.immobilizeStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E54,TRUE) + 1; @@ -843,7 +840,7 @@ void IngrainedStatusTarget(Entity * pokemon, Entity * target) if (entityInfo->immobilize.immobilizeStatus == STATUS_WRAP || entityInfo->immobilize.immobilizeStatus == STATUS_WRAPPED) { sub_8076CB4(entityInfo->unk9C); } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->immobilize.immobilizeStatus != STATUS_INGRAIN) { entityInfo->immobilize.immobilizeStatus = STATUS_INGRAIN; entityInfo->immobilize.immobilizeStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E60,TRUE) + 1; @@ -890,7 +887,7 @@ void WrapTarget(Entity * pokemon, Entity * target) targetEntityInfo->unk9C = *piVar3; *piVar3 +=1; nullsub_69(pokemon, target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB6D8); sub_806CE94(target,8); goto _08076C98; @@ -898,19 +895,19 @@ void WrapTarget(Entity * pokemon, Entity * target) } } if (pokemonEntityData->immobilize.immobilizeStatus == STATUS_WRAP) { - SetMessageArgument(gAvailablePokemonNames,pokemon,0); + SetMessageArgument(gFormatBuffer_Monsters[0],pokemon,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB6FC); } if (targetEntityInfo->immobilize.immobilizeStatus == STATUS_WRAP) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB6FC); } if (pokemonEntityData->immobilize.immobilizeStatus == STATUS_WRAPPED) { - SetMessageArgument(gAvailablePokemonNames,pokemon,0); + SetMessageArgument(gFormatBuffer_Monsters[0],pokemon,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB718); } if (targetEntityInfo->immobilize.immobilizeStatus == STATUS_WRAPPED) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB718); } _08076C98: @@ -952,7 +949,7 @@ void PetrifiedStatusTarget(Entity * pokemon, Entity * target) if ((u8)(targetEntityInfo->immobilize.immobilizeStatus - 3U) < 2) { sub_8076CB4(targetEntityInfo->unk9C); } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (targetEntityInfo->immobilize.immobilizeStatus != STATUS_PETRIFIED) { targetEntityInfo->immobilize.immobilizeStatus = STATUS_PETRIFIED; if (targetEntityInfo->isTeamLeader) { @@ -996,35 +993,35 @@ void LowerAttackStageTarget(Entity * pokemon, Entity * target, s32 index, s32 de return; } if (index != STAT_STAGE_ATK) { - strcpy(gFormatItems,*gUnknown_80FC0C8); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC0C8); } else { - strcpy(gFormatItems,*gUnknown_80FC0B8); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC0B8); } if (param_5) { if (sub_8071728(pokemon,target,displayMessage)) { return; } if (HasHeldItem(target, ITEM_TWIST_BAND)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD550); } else { if ((!HasAbility(target, ABILITY_HYPER_CUTTER)) || (index != STAT_STAGE_ATK)) goto _08076EE4; - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCA60); } } else { _08076EE4: entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); sub_8041F28(target,index); if (decrement == 1) { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0E4); + strcpy(gFormatBuffer_Items[1],*gUnknown_80FC0E4); } else { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); + strcpy(gFormatBuffer_Items[1],*gUnknown_80FC0D4); } attackStage = entityInfo->offensiveStages[index]; attackStage -= decrement; @@ -1051,20 +1048,20 @@ void LowerDefenseStageTarget(Entity * pokemon, Entity * target, s32 index, s32 d return; } if (index != STAT_STAGE_DEF) { - strcpy(gFormatItems,*gUnknown_80FC0AC); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC0AC); } else { - strcpy(gFormatItems,*gUnknown_80FC09C); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC09C); } if (!param_5 || !sub_8071728(pokemon,target,displayMessage)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); sub_8041F4C(target,index); if (decrement == 1) { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0E4); + strcpy(gFormatBuffer_Items[1],*gUnknown_80FC0E4); } else { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); + strcpy(gFormatBuffer_Items[1],*gUnknown_80FC0D4); } defenseStage = entityInfo->defensiveStages[index]; defenseStage = defenseStage - decrement; @@ -1091,20 +1088,20 @@ void RaiseAttackStageTarget(Entity * pokemon, Entity * target, s32 index, s32 in return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); sub_8041F70(target,index); if (index != STAT_STAGE_ATK) { - strcpy(gFormatItems,*gUnknown_80FC0C8); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC0C8); } else { - strcpy(gFormatItems,*gUnknown_80FC0B8); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC0B8); } if (increment == 1) { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0E4); + strcpy(gFormatBuffer_Items[1],*gUnknown_80FC0E4); } else { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); + strcpy(gFormatBuffer_Items[1],*gUnknown_80FC0D4); } attackStage = entityInfo->offensiveStages[index]; @@ -1131,20 +1128,20 @@ void RaiseDefenseStageTarget(Entity * pokemon, Entity * target, s32 index, s32 i return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); sub_8041F94(target,index); if (index != STAT_STAGE_DEF) { - strcpy(gFormatItems,*gUnknown_80FC0AC); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC0AC); } else { - strcpy(gFormatItems,*gUnknown_80FC09C); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC09C); } if (increment == 1) { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0E4); + strcpy(gFormatBuffer_Items[1],*gUnknown_80FC0E4); } else { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); + strcpy(gFormatBuffer_Items[1],*gUnknown_80FC0D4); } defenseStage = entityInfo->defensiveStages[index]; diff --git a/src/moves.c b/src/moves.c index ba8fc260a..56d453a3e 100644 --- a/src/moves.c +++ b/src/moves.c @@ -1,6 +1,6 @@ #include "global.h" #include "code_800D090.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8092334.h" #include "code_8097DD0.h" #include "constants/colors.h" @@ -14,10 +14,6 @@ static EWRAM_DATA OpenedFile *sWazaParametersFile = {0}; static EWRAM_DATA MoveDataEntry *sMovesData = {0}; static EWRAM_DATA MoveLearnset *sMoveLearnsets = {0}; // 420 entries, aka (MONSTER_DEOXYS_SPEED + 1), aka (MONSTER_MUNCHLAX) -// ??? -extern u32 gFormatData_202DE30; -extern u8 gAvailablePokemonNames[]; // 202DF98 - // data_8107010.s extern const unkStruct_80928C0 gUnknown_81098C4; extern const u8 gUnknown_81098D0[]; @@ -1386,8 +1382,8 @@ s32 unk_PrintMoveDescription(s32 x, Move *move, s32 a3, struct subStruct_203B240 u8 buffer[800]; sub_80073B8(a3); - sub_80928C0(gAvailablePokemonNames, move, 0); - PrintFormatStringOnWindow(8 * x + 16, 0, gUnknown_8109930, a3, 0); + sub_80928C0(gFormatBuffer_Monsters[0], move, 0); + PrintFormattedStringOnWindow(8 * x + 16, 0, gUnknown_8109930, a3, 0); y = 19; moveDescription = sMovesData[move->id].description; @@ -1396,7 +1392,7 @@ s32 unk_PrintMoveDescription(s32 x, Move *move, s32 a3, struct subStruct_203B240 ++moveDescription; } - PrintFormatStringOnWindow(4, y, moveDescription, a3, 0); + PrintFormattedStringOnWindow(4, y, moveDescription, a3, 0); unk_MovePrintData(move, a3); sub_80073E0(a3); strcpy(buffer, sMovesData[move->id].description); @@ -1410,14 +1406,14 @@ static void unk_MovePrintData(Move *move, s32 y) const u8 *text; sub_80078A4(y, 4, 72, 200, COLOR_WHITE_2); - sub_8092D54(gAvailablePokemonNames, move); - PrintFormatStringOnWindow(4, 74, gUnknown_810CF00, y, 0); - PrintFormatStringOnWindow(4, 86, gPtrTypeText, y, 0); + sub_8092D54(gFormatBuffer_Monsters[0], move); + PrintFormattedStringOnWindow(4, 74, gUnknown_810CF00, y, 0); + PrintFormattedStringOnWindow(4, 86, gPtrTypeText, y, 0); type = GetMoveType(move); text = GetUnformattedTypeString(type); - PrintFormatStringOnWindow(64, 86, text, y, 0); + PrintFormattedStringOnWindow(64, 86, text, y, 0); power = GetMoveBasePower(move); - gFormatData_202DE30 = power; + gFormatArgs[0] = power; } static void CopyAndResetMove(Move *dest, Move *src) diff --git a/src/options_menu1.c b/src/options_menu1.c index ba3710013..6e8682c06 100644 --- a/src/options_menu1.c +++ b/src/options_menu1.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8099360.h" #include "common_strings.h" #include "hints_menu1.h" diff --git a/src/other_menus1.c b/src/other_menus1.c index 3a17868ba..355ff4c66 100644 --- a/src/other_menus1.c +++ b/src/other_menus1.c @@ -5,7 +5,7 @@ #include "code_8009804.h" #include "code_800C9CC.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "constants/communication_error_codes.h" #include "constants/main_menu.h" #include "structs/str_dungeon.h" diff --git a/src/party_list_menu.c b/src/party_list_menu.c index 59af76d3b..0848dfc7e 100644 --- a/src/party_list_menu.c +++ b/src/party_list_menu.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "code_800D090.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "iq_skill_menu.h" #include "code_801EE10.h" @@ -26,12 +26,6 @@ #include "text1.h" #include "text2.h" -// TODO: Clean this - -extern u8 gFormatItems[]; -extern u8 gUnknown_202DEA8[]; -extern u8 gAvailablePokemonNames[]; // 202DF98 - static EWRAM_DATA_2 unkStruct_203B2B8 *sUnknown_203B2B8 = {0}; #include "data/party_list_menu.h" @@ -204,15 +198,15 @@ void HandlePartyListMenuCallback(void) case PARTY_LIST_STATE_MAIN_MENU: sub_8026E08(3); sub_8026DAC(0,&sUnknown_203B2B8->item2); - PrintColoredPokeNameToBuffer(gAvailablePokemonNames,sUnknown_203B2B8->pokeStruct,7); - PrintColoredPokeNameToBuffer(gAvailablePokemonNames + 0x50,sUnknown_203B2B8->pokeStruct,6); + PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[0],sUnknown_203B2B8->pokeStruct,7); + PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[1],sUnknown_203B2B8->pokeStruct,6); sub_8012D60(&sUnknown_203B2B8->unk7C,sUnknown_203B2B8->unk16C,0,sUnknown_203B2B8->unk20C,sUnknown_203B2B8->menuAction1,2); break; case PARTY_LIST_STATE_MAIN_MENU_1: sub_8026E08(3); sub_8026DAC(0,&sUnknown_203B2B8->item2); - PrintColoredPokeNameToBuffer(gAvailablePokemonNames,sUnknown_203B2B8->pokeStruct,7); - PrintColoredPokeNameToBuffer(gAvailablePokemonNames + 0x50,sUnknown_203B2B8->pokeStruct,6); + PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[0],sUnknown_203B2B8->pokeStruct,7); + PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[1],sUnknown_203B2B8->pokeStruct,6); sub_8012EA4(&sUnknown_203B2B8->unk7C,1); break; case PARTY_LIST_STATE_SUMMARY: @@ -695,7 +689,7 @@ void PartyListMenu_HandleMenu2(void) temp.unk4 = 0; temp.unk8 = 1; slot.flags = ITEM_FLAG_EXISTS; - sub_8090E14(gUnknown_202DEA8,&slot,&temp); + sub_8090E14(gFormatBuffer_Items[1],&slot,&temp); GivePokemonItem(sUnknown_203B2B8->pokeSpecies,&sUnknown_203B2B8->item1); sub_801A928(); nullsub_104(); @@ -783,8 +777,8 @@ void sub_8026DAC(u32 r0, BulkItem *item) temp.unk4 = 0; temp.unk8 = 1; slot.flags = ITEM_FLAG_EXISTS; - sub_8090E14(gFormatItems, &slot, &temp); - PrintFormatStringOnWindow(4, 3, sPartyMenuItemPlaceholder, r0, 0); + sub_8090E14(gFormatBuffer_Items[0], &slot, &temp); + PrintFormattedStringOnWindow(4, 3, sPartyMenuItemPlaceholder, r0, 0); sub_80073E0(r0); } @@ -796,9 +790,9 @@ void sub_8026E08(u32 r0) CallPrepareTextbox_8008C54(r0); sub_80073B8(r0); - sub_80922B4(gAvailablePokemonNames, sUnknown_203B2B8->pokeStruct->name, POKEMON_NAME_LENGTH); + sub_80922B4(gFormatBuffer_Monsters[0], sUnknown_203B2B8->pokeStruct->name, POKEMON_NAME_LENGTH); sub_808D930(buffer, sUnknown_203B2B8->pokeStruct->speciesNum); - sprintfStatic(buffer1, sUnknown_80DD6E0, gAvailablePokemonNames); + sprintfStatic(buffer1, sUnknown_80DD6E0, gFormatBuffer_Monsters[0]); x = sub_8008ED0(buffer1); PrintStringOnWindow(((sUnknown_80DD370.unkC << 3) - x) / 2, 3, buffer1, r0, 0); sub_80073E0(r0); diff --git a/src/personality_test1.c b/src/personality_test1.c index 4cfbb3a1a..a96b15ee3 100644 --- a/src/personality_test1.c +++ b/src/personality_test1.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "bg_palette_buffer.h" #include "code_2.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801602C.h" #include "code_8094D28.h" #include "code_8099360.h" @@ -39,8 +39,6 @@ enum PERSONALITY_TEST_END, }; -extern u8 gAvailablePokemonNames[]; // 202DF98 - static EWRAM_DATA_2 struct PersonalityTestTracker *sPersonalityTestTracker = {0}; #include "data/personality_test1.h" @@ -377,7 +375,7 @@ static void PromptNewQuestion(void) static void PrintPersonalityTypeDescription(void) { - CopyMonsterNametoBuffer(gAvailablePokemonNames, sPersonalityTestTracker->StarterID); + CopyMonsterNametoBuffer(gFormatBuffer_Monsters[0], sPersonalityTestTracker->StarterID); CreateDialogueBoxAndPortrait(sPersonalityTypeDescriptionTable[sPersonalityTestTracker->playerNature], 0, 0, 0x101); } diff --git a/src/pokemon_mail.c b/src/pokemon_mail.c index 7021c7fdd..9eda24164 100644 --- a/src/pokemon_mail.c +++ b/src/pokemon_mail.c @@ -17,8 +17,8 @@ #include "text_util.h" #include "text2.h" -extern u8 gFormatItems[]; -extern u8 gAvailablePokemonNames[]; // 202DF98 +extern u8 gFormatBuffer_Items[]; +extern u8 gFormatBuffer_Monsters[]; // 202DF98 #include "data/pokemon_mail.h" @@ -57,13 +57,13 @@ void CreateRescueTitle(unkStruct_802C39C *param_1) PrintStringOnWindow(21, param_1->y, buf_1, param_1->unk0[0], 0); break; case 12: - BufferItemName(gFormatItems, param_1->targetItem, NULL); - sprintfStatic(buf_1, gUnknown_80E8830, gFormatItems); + BufferItemName(gFormatBuffer_Items, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E8830, gFormatBuffer_Items); PrintStringOnWindow(21, param_1->y, buf_1, param_1->unk0[0], 0); break; case 11: - BufferItemName(gFormatItems, param_1->targetItem, NULL); - sprintfStatic(buf_1, gUnknown_80E8848, gFormatItems); + BufferItemName(gFormatBuffer_Items, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E8848, gFormatBuffer_Items); PrintStringOnWindow(21, param_1->y, buf_1, param_1->unk0[0], 0); break; case 4: @@ -78,24 +78,24 @@ void CreateRescueTitle(unkStruct_802C39C *param_1) case 10: { u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames, monName); - sprintfStatic(buf_1, gUnknown_80EAE5C[bVar2 % 4], gAvailablePokemonNames); + strcpy(gFormatBuffer_Monsters, monName); + sprintfStatic(buf_1, gUnknown_80EAE5C[bVar2 % 4], gFormatBuffer_Monsters); PrintStringOnWindow(21, param_1->y, buf_1, param_1->unk0[0], 0); break; } case 9: { u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames, monName); - sprintfStatic(buf_1, gUnknown_80E910C[bVar2 % 10], gAvailablePokemonNames); + strcpy(gFormatBuffer_Monsters, monName); + sprintfStatic(buf_1, gUnknown_80E910C[bVar2 % 10], gFormatBuffer_Monsters); PrintStringOnWindow(21, param_1->y, buf_1, param_1->unk0[0], 0); break; } default: { u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames, monName); - sprintfStatic(buf_1, gUnknown_80E8C98[bVar2 % 15], gAvailablePokemonNames); + strcpy(gFormatBuffer_Monsters, monName); + sprintfStatic(buf_1, gUnknown_80E8C98[bVar2 % 15], gFormatBuffer_Monsters); PrintStringOnWindow(21, param_1->y, buf_1, param_1->unk0[0], 0); break; } @@ -163,13 +163,13 @@ void CreateRescueDescription(unkStruct_802C39C *param_1) PrintStringOnWindow(10, y, gMedichamMissionDescription, param_1->unk0[0], 0); break; case 4: - BufferItemName(gFormatItems, param_1->targetItem, NULL); - sprintfStatic(buf_1, gUnknown_80E8968, gFormatItems); + BufferItemName(gFormatBuffer_Items, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E8968, gFormatBuffer_Items); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); break; case 5: - BufferItemName(gFormatItems, param_1->targetItem, NULL); - sprintfStatic(buf_1, gUnknown_80E89B0, gFormatItems); + BufferItemName(gFormatBuffer_Items, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E89B0, gFormatBuffer_Items); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); break; case 6: @@ -177,8 +177,8 @@ void CreateRescueDescription(unkStruct_802C39C *param_1) break; case 7: monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames, monName); - sprintfStatic(buf_1, gUnknown_80E9F8C[param_1->unk0[1]].text, gAvailablePokemonNames, gAvailablePokemonNames); + strcpy(gFormatBuffer_Monsters, monName); + sprintfStatic(buf_1, gUnknown_80E9F8C[param_1->unk0[1]].text, gFormatBuffer_Monsters, gFormatBuffer_Monsters); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); break; case 9: @@ -194,12 +194,12 @@ void CreateRescueDescription(unkStruct_802C39C *param_1) case 16: { u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; - BufferItemName(gFormatItems, param_1->targetItem, NULL); - sprintfStatic(buf_1, gUnknown_80EB3F8[bVar2 % 22], gFormatItems); + BufferItemName(gFormatBuffer_Items, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80EB3F8[bVar2 % 22], gFormatBuffer_Items); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); y += 12; - sprintfStatic(buf_1, gUnknown_80EB72C[bVar3 % 22], gFormatItems); + sprintfStatic(buf_1, gUnknown_80EB72C[bVar3 % 22], gFormatBuffer_Items); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); y -= 12; break; @@ -208,12 +208,12 @@ void CreateRescueDescription(unkStruct_802C39C *param_1) u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames, monName); - sprintfStatic(buf_1, gUnknown_80EAEB8[bVar2 % 20], gAvailablePokemonNames); + strcpy(gFormatBuffer_Monsters, monName); + sprintfStatic(buf_1, gUnknown_80EAEB8[bVar2 % 20], gFormatBuffer_Monsters); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); y += 12; - sprintfStatic(buf_1, gUnknown_80EB198[bVar3 % 4], gAvailablePokemonNames); + sprintfStatic(buf_1, gUnknown_80EB198[bVar3 % 4], gFormatBuffer_Monsters); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); y -= 12; break; @@ -222,12 +222,12 @@ void CreateRescueDescription(unkStruct_802C39C *param_1) u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames, monName); - sprintfStatic(buf_1, gUnknown_80EB220[bVar2 % 6], gAvailablePokemonNames); + strcpy(gFormatBuffer_Monsters, monName); + sprintfStatic(buf_1, gUnknown_80EB220[bVar2 % 6], gFormatBuffer_Monsters); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); y += 12; - sprintfStatic(buf_1, gUnknown_80EB2F0[bVar3 % 6], gAvailablePokemonNames); + sprintfStatic(buf_1, gUnknown_80EB2F0[bVar3 % 6], gFormatBuffer_Monsters); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); y -= 12; break; @@ -236,12 +236,12 @@ void CreateRescueDescription(unkStruct_802C39C *param_1) u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames, monName); - sprintfStatic(buf_1, gUnknown_80E91D4[bVar2 % 45], gAvailablePokemonNames); + strcpy(gFormatBuffer_Monsters, monName); + sprintfStatic(buf_1, gUnknown_80E91D4[bVar2 % 45], gFormatBuffer_Monsters); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); y += 12; - sprintfStatic(buf_1, gUnknown_80E9820[bVar3 % 10], gAvailablePokemonNames); + sprintfStatic(buf_1, gUnknown_80E9820[bVar3 % 10], gFormatBuffer_Monsters); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); y -= 12; break; @@ -250,12 +250,12 @@ void CreateRescueDescription(unkStruct_802C39C *param_1) u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; monName = GetMonSpecies(param_1->clientSpecies); - strcpy(gAvailablePokemonNames, monName); - sprintfStatic(buf_1, gUnknown_80E8DE4[bVar2 % 13], gAvailablePokemonNames); + strcpy(gFormatBuffer_Monsters, monName); + sprintfStatic(buf_1, gUnknown_80E8DE4[bVar2 % 13], gFormatBuffer_Monsters); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); y += 12; - sprintfStatic(buf_1, gUnknown_80E8FB0[bVar3 % 13], gAvailablePokemonNames); + sprintfStatic(buf_1, gUnknown_80E8FB0[bVar3 % 13], gFormatBuffer_Monsters); PrintStringOnWindow(10, y, buf_1, param_1->unk0[0], 0); y -= 12; break; @@ -282,13 +282,13 @@ void CreateRescueDescription(unkStruct_802C39C *param_1) PrintStringOnWindow(68, y, gUnknown_80E8AEC, param_1->unk0[0], 0); break; case MISSION_TYPE_DELIVER_ITEM: - BufferItemName(gFormatItems, param_1->targetItem, NULL); - sprintfStatic(buf_1, gUnknown_80E8AFC, gFormatItems); + BufferItemName(gFormatBuffer_Items, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E8AFC, gFormatBuffer_Items); PrintStringOnWindow(68, y, buf_1, param_1->unk0[0], 0); break; case MISSION_TYPE_FIND_ITEM: - BufferItemName(gFormatItems, param_1->targetItem, NULL); - sprintfStatic(buf_1, gUnknown_80E8B10, gFormatItems); + BufferItemName(gFormatBuffer_Items, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E8B10, gFormatBuffer_Items); PrintStringOnWindow(68, y, buf_1, param_1->unk0[0], 0); break; case MISSION_TYPE_RESCUE_CLIENT: @@ -296,14 +296,14 @@ void CreateRescueDescription(unkStruct_802C39C *param_1) break; case MISSION_TYPE_ESCORT_CLIENT: monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames, monName); - sprintfStatic(buf_1, gUnknown_80E8B2C, gAvailablePokemonNames); + strcpy(gFormatBuffer_Monsters, monName); + sprintfStatic(buf_1, gUnknown_80E8B2C, gFormatBuffer_Monsters); PrintStringOnWindow(68, y, buf_1, param_1->unk0[0], 0); break; case MISSION_TYPE_RESCUE_TARGET: monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames, monName); - sprintfStatic(buf_1, gUnknown_80E8B40, gAvailablePokemonNames); + strcpy(gFormatBuffer_Monsters, monName); + sprintfStatic(buf_1, gUnknown_80E8B40, gFormatBuffer_Monsters); PrintStringOnWindow(68, y, buf_1, param_1->unk0[0], 0); break; case MISSION_TYPE_SPECIAL_MISSION: @@ -347,8 +347,8 @@ void CreateRescueDescription(unkStruct_802C39C *param_1) break; case ITEM: // Item case ITEM_EXTRA: // Item + ? - BufferItemName(gFormatItems, param_1->rewardItem, NULL); - sprintfStatic(buf_1, gMissionRewardText[param_1->rewardType], gFormatItems); + BufferItemName(gFormatBuffer_Items, param_1->rewardItem, NULL); + sprintfStatic(buf_1, gMissionRewardText[param_1->rewardType], gFormatBuffer_Items); PrintStringOnWindow(68, y, buf_1, param_1->unk0[0], 0); break; case 4: // Friend Area diff --git a/src/pokemon_news1.c b/src/pokemon_news1.c index 9f6cd0a93..792a055f9 100644 --- a/src/pokemon_news1.c +++ b/src/pokemon_news1.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_80958E8.h" #include "constants/input.h" #include "input.h" @@ -145,7 +145,7 @@ static void CreatePKMNNewsMenu(void) mailIndex = sUnknown_203B2CC->receivedNewsletters[new_index]; sub_803B6B0(10, y, 6, sUnknown_203B2CC->s38.unk34); sub_802BC7C(); - PrintFormatStringOnWindow(21, y, GetPokemonMailHeadline(mailIndex), sUnknown_203B2CC->s38.unk34, 0); + PrintFormattedStringOnWindow(21, y, GetPokemonMailHeadline(mailIndex), sUnknown_203B2CC->s38.unk34, 0); } sub_80073E0(sUnknown_203B2CC->s38.unk34); diff --git a/src/pokemon_news2.c b/src/pokemon_news2.c index 545ad5209..4cb1bf584 100644 --- a/src/pokemon_news2.c +++ b/src/pokemon_news2.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "game_options.h" #include "input.h" #include "pokemon_mail.h" @@ -12,8 +12,6 @@ #include "text1.h" #include "text2.h" -extern u8 gAvailablePokemonNames[]; // 202DF98 - static EWRAM_DATA_2 struct unkStruct_203B2D4 *sUnknown_203B2D4 = {0}; #include "data/pokemon_news2.h" @@ -86,8 +84,8 @@ static void sub_802BB28(void) case 1: CallPrepareTextbox_8008C54(sUnknown_203B2D4->unk24); sub_80073B8(sUnknown_203B2D4->unk24); - PrintFormatStringOnWindow(10, 0, GetPokemonMailHeadline(sUnknown_203B2D4->currMailIndex), sUnknown_203B2D4->unk24, 0); - PrintFormatStringOnWindow(6, 20, sUnknown_203B2D4->unk10[sUnknown_203B2D4->unk8], sUnknown_203B2D4->unk24, 0); + PrintFormattedStringOnWindow(10, 0, GetPokemonMailHeadline(sUnknown_203B2D4->currMailIndex), sUnknown_203B2D4->unk24, 0); + PrintFormattedStringOnWindow(6, 20, sUnknown_203B2D4->unk10[sUnknown_203B2D4->unk8], sUnknown_203B2D4->unk24, 0); sub_80073E0(sUnknown_203B2D4->unk24); sUnknown_203B2D4->unk8++; break; @@ -145,12 +143,12 @@ static void sub_802BC08(void) void sub_802BC7C(void) { - PrintPokeNameToBuffer(gAvailablePokemonNames, sub_808D3BC()); + PrintPokeNameToBuffer(gFormatBuffer_Monsters[0], sub_808D3BC()); if (gGameOptionsRef->playerGender == FEMALE) - strcpy(gAvailablePokemonNames + 80, sShe); + strcpy(gFormatBuffer_Monsters[1], sShe); else - strcpy(gAvailablePokemonNames + 80, sHe); + strcpy(gFormatBuffer_Monsters[1], sHe); } static void sub_802BCC4(void) @@ -173,4 +171,4 @@ static void sub_802BCC4(void) else mailTextPtr++; } -} \ No newline at end of file +} diff --git a/src/pokemon_news3.c b/src/pokemon_news3.c index cdb6c812c..9a1d21e35 100644 --- a/src/pokemon_news3.c +++ b/src/pokemon_news3.c @@ -17,7 +17,7 @@ #include "text1.h" #include "text2.h" -extern u8 gAvailablePokemonNames[]; // 202DF98 +extern u8 gFormatBuffer_Monsters[]; // 202DF98 static EWRAM_DATA_2 struct unkStruct_203B2D8 *sUnknown_203B2D8 = {0}; static EWRAM_DATA_2 u16 sUnknown_203B2DC = {0}; @@ -143,8 +143,8 @@ void CreateMailMenu(void) if (mail->mailType == MAIL_TYPE_UNK1) { y = sub_8013800(&sUnknown_203B2D8->unk4.s0.input, i); sub_803B6B0(10, y, 6, sUnknown_203B2D8->unk4.s0.unk34); - PrintPokeNameToBuffer(gAvailablePokemonNames, GetPlayerPokemonStruct()); - sprintfStatic(buffer, GetPokemonMailHeadline(mail->unk4.dungeon.floor), gAvailablePokemonNames); + PrintPokeNameToBuffer(gFormatBuffer_Monsters, GetPlayerPokemonStruct()); + sprintfStatic(buffer, GetPokemonMailHeadline(mail->unk4.dungeon.floor), gFormatBuffer_Monsters); PrintStringOnWindow(21, y, buffer, sUnknown_203B2D8->unk4.s0.unk34, 0); } else { diff --git a/src/post_office_guide1.c b/src/post_office_guide1.c index 70539ac12..41d4ea0cd 100644 --- a/src/post_office_guide1.c +++ b/src/post_office_guide1.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "input.h" #include "memory.h" #include "structs/menu.h" @@ -22,8 +22,7 @@ enum PostOfficeStates RETURN_TO_GET_HELP, }; -extern u8 gAvailablePokemonNames[]; // 202DF98 -extern u8 gUnknown_202E5D8[]; +extern u8 gSpeakerNameBuffer[]; static EWRAM_DATA_2 PostOfficeWork *sPostOfficeHelper = {0}; @@ -50,9 +49,9 @@ bool8 CreateHelperPelipperMenu(s16 speciesID) xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE); sPostOfficeHelper = MemoryAlloc(sizeof(PostOfficeWork), 8); - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, species_32); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, species_32); monName = GetMonSpecies(species_32); - strcpy(gAvailablePokemonNames, monName); + strcpy(gFormatBuffer_Monsters[0], monName); sPostOfficeHelper->monPortrait.faceFile = NULL; sPostOfficeHelper->monPortrait.faceData = NULL; @@ -66,7 +65,7 @@ bool8 CreateHelperPelipperMenu(s16 speciesID) sPostOfficeHelper->monPortrait.pos.y = 8; if (sPostOfficeHelper->monPortrait.faceFile != NULL) - sPostOfficeHelper->monPortrait.faceData = sPostOfficeHelper->monPortrait.faceFile->data; + sPostOfficeHelper->monPortrait.faceData = (void *) sPostOfficeHelper->monPortrait.faceFile->data; } sPostOfficeHelper->currMenuChoice = 0; diff --git a/src/post_office_guide2.c b/src/post_office_guide2.c index 78398bdb3..c824d4a3a 100644 --- a/src/post_office_guide2.c +++ b/src/post_office_guide2.c @@ -18,7 +18,7 @@ #include "text1.h" #include "text2.h" -extern u8 gFormatItems[]; +extern u8 gFormatBuffer_Items[]; static EWRAM_DATA_2 unkStruct_203B330 *sUnknown_203B330 = {0}; @@ -146,13 +146,13 @@ static void DisplayMissionObjectives(void) switch (jobInfo->missionType) { case WONDER_MAIL_MISSION_TYPE_DELIVER_ITEM: - BufferItemName(gFormatItems, jobInfo->targetItem, NULL); - sprintfStatic(buffer1, sFmtBring, gFormatItems); + BufferItemName(gFormatBuffer_Items, jobInfo->targetItem, NULL); + sprintfStatic(buffer1, sFmtBring, gFormatBuffer_Items); PrintStringOnWindow(40, yCoord, buffer1, sUnknown_203B330->unk10, 0); break; case WONDER_MAIL_MISSION_TYPE_FIND_ITEM: - BufferItemName(gFormatItems, jobInfo->targetItem, NULL); - sprintfStatic(buffer1, sFmtFind, gFormatItems); + BufferItemName(gFormatBuffer_Items, jobInfo->targetItem, NULL); + sprintfStatic(buffer1, sFmtFind, gFormatBuffer_Items); PrintStringOnWindow(40, yCoord, buffer1, sUnknown_203B330->unk10, 0); break; case WONDER_MAIL_MISSION_TYPE_ESCORT_CLIENT: diff --git a/src/quick_save_read.c b/src/quick_save_read.c index c6f864abc..2a16f9d4f 100644 --- a/src/quick_save_read.c +++ b/src/quick_save_read.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "memory.h" #include "quick_save_read.h" #include "save.h" diff --git a/src/quick_save_write.c b/src/quick_save_write.c index a77fa1392..bec6b1ff2 100644 --- a/src/quick_save_write.c +++ b/src/quick_save_write.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "memory.h" #include "quick_save_write.h" #include "save.h" diff --git a/src/rescue_password_menu.c b/src/rescue_password_menu.c index b290d0cf8..fd353aeb1 100644 --- a/src/rescue_password_menu.c +++ b/src/rescue_password_menu.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_803D0D8.h" #include "code_8094F88.h" #include "constants/main_menu.h" diff --git a/src/save.c b/src/save.c index 5f333724a..b4b1f8233 100644 --- a/src/save.c +++ b/src/save.c @@ -1,6 +1,6 @@ #include "global.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8097670.h" #include "event_flag.h" #include "exclusive_pokemon.h" diff --git a/src/save_menu.c b/src/save_menu.c index ec56bfed7..72fef8bb1 100644 --- a/src/save_menu.c +++ b/src/save_menu.c @@ -1,5 +1,5 @@ #include "global.h" -#include "code_80130A8.h" +#include "string_format.h" #include "constants/main_menu.h" #include "input.h" #include "main_menu1.h" diff --git a/src/save_read.c b/src/save_read.c index 06bdfb303..de8870b24 100644 --- a/src/save_read.c +++ b/src/save_read.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "memory.h" #include "save.h" #include "save_read.h" diff --git a/src/save_write.c b/src/save_write.c index 1333ec941..156d8f3cd 100644 --- a/src/save_write.c +++ b/src/save_write.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8099360.h" #include "memory.h" #include "save.h" @@ -26,7 +26,7 @@ void PrepareSavePakWrite(s16 pokemonID) if (pokemonID != MONSTER_NONE) { file = GetDialogueSpriteDataPtr(pokemonID); sSavePakWrite->monPortrait.faceFile = file; - sSavePakWrite->monPortrait.faceData = file->data; + sSavePakWrite->monPortrait.faceData = (void *) file->data; sSavePakWrite->monPortrait.spriteId = 0; sSavePakWrite->monPortrait.flip = FALSE; sSavePakWrite->monPortrait.unkE = 0; diff --git a/src/status.c b/src/status.c index 7c85d3381..781895657 100644 --- a/src/status.c +++ b/src/status.c @@ -24,9 +24,6 @@ #include "structs/map.h" #include "structs/str_dungeon.h" -extern u8 gAvailablePokemonNames[]; -extern u8 gFormatItems[]; - extern u8 *gUnknown_80FBD78[]; extern u8 *gUnknown_80FBD9C[]; extern u8 *gUnknown_80FBE40[]; @@ -137,7 +134,7 @@ extern u8 *gUnknown_80FBDF0[]; extern u8 *gUnknown_80FBDC4[]; extern u8 *gUnknown_80FBE14[]; -extern s32 gFormatData_202DE30[10]; +extern s32 gFormatArgs[10]; extern void sub_8041D84(Entity *); extern void sub_804178C(u32); @@ -216,7 +213,7 @@ void UpdateFlashFireBoost(Entity * pokemon, Entity *target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); flashFireBoost = UpdateFlashFireBoost_sub(entityInfo); if (entityInfo->flashFireBoost != flashFireBoost) { entityInfo->flashFireBoost = flashFireBoost; @@ -236,31 +233,31 @@ void ChangeAttackMultiplierTarget(Entity *pokemon, Entity *target, u32 statStage } if (statStage != STAT_STAGE_ATK) { - strcpy(gFormatItems,*gUnknown_80FC0C8); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC0C8); } else { - strcpy(gFormatItems,*gUnknown_80FC0B8); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC0B8); } if ((param_4 < 0x100) && sub_8071728(pokemon,target,displayMessage)) { return; } if ((HasHeldItem(target,ITEM_TWIST_BAND)) && (param_4 < 0x100)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD550); return; } if (HasAbility(target, ABILITY_HYPER_CUTTER) && (statStage == STAT_STAGE_ATK) && (param_4 < 0x100)) { if (displayMessage) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCA60); } return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); oldMulti = entityInfo->offensiveMultipliers[statStage]; if (param_4 < 0x100) { @@ -301,17 +298,17 @@ void ChangeDefenseMultiplierTarget(Entity *pokemon, Entity *target, u32 statStag } if (statStage != STAT_STAGE_DEF) { - strcpy(gFormatItems,*gUnknown_80FC0AC); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC0AC); } else { - strcpy(gFormatItems,*gUnknown_80FC09C); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC09C); } if ((param_4 < 0x100) && sub_8071728(pokemon,target,displayMessage)) { return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); oldMulti = entityInfo->defensiveMultipliers[statStage]; if (param_4 < 0x100) { @@ -348,13 +345,13 @@ void RaiseAccuracyStageTarget(Entity * pokemon, Entity * target, s32 statStage) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); sub_8042040(target,statStage); if (statStage != STAT_STAGE_ACCURACY) { - strcpy(gFormatItems,*gUnknown_80FC090); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC090); } else { - strcpy(gFormatItems,*gUnknown_80FC084); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC084); } if (entityInfo->hitChanceStages[statStage] < MAX_STAT_STAGE) { entityInfo->hitChanceStages[statStage]++; @@ -373,22 +370,22 @@ void LowerAccuracyStageTarget(Entity * pokemon, Entity * target, s32 statStage, if (EntityExists(target)) { if (statStage != STAT_STAGE_ACCURACY) { - strcpy(gFormatItems,*gUnknown_80FC090); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC090); } else { - strcpy(gFormatItems,*gUnknown_80FC084); + strcpy(gFormatBuffer_Items[0],*gUnknown_80FC084); } if (!sub_8071728(pokemon,target,displayMessage)) { if (HasAbility(target, ABILITY_KEEN_EYE) && (statStage == STAT_STAGE_ACCURACY)){ if(displayMessage) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCA64); } } else { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); sub_8042060(target,statStage); if (entityInfo->hitChanceStages[statStage] != 0) { entityInfo->hitChanceStages[statStage]--; @@ -410,13 +407,13 @@ void CringeStatusTarget(Entity * pokemon,Entity * target, bool8 displayMessage) if (EntityExists(target)) { if (!HasSafeguardStatus(pokemon, target, displayMessage)) { if (HasAbility(target, ABILITY_INNER_FOCUS)){ - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if(displayMessage) TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCC18); } else { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if(entityInfo->volatileStatus.volatileStatus != STATUS_CRINGE) { entityInfo->volatileStatus.volatileStatus = STATUS_CRINGE; @@ -445,7 +442,7 @@ void ParalyzeStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessag if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,displayMessage))) { if (HasAbility(target, ABILITY_LIMBER)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (displayMessage) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCBF8); } @@ -454,7 +451,7 @@ void ParalyzeStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessag { bVar6 = TRUE; entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->nonVolatile.nonVolatileStatus != STATUS_PARALYSIS) { entityInfo->nonVolatile.nonVolatileStatus = STATUS_PARALYSIS; entityInfo->nonVolatile.nonVolatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E50,TRUE) + 1; @@ -478,7 +475,7 @@ void ParalyzeStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessag if ((EntityExists(mapPokemonEntity)) && (GetEntityType(mapPokemonEntity) == ENTITY_MONSTER)) { if (!bVar7) { bVar7 = TRUE; - SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); + SetMessageArgument_2(gFormatBuffer_Monsters[0],entityInfo,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FF01C); } if (sub_807167C(target,mapPokemonEntity) == 1) { @@ -506,7 +503,7 @@ void RaiseMovementSpeedTarget(Entity * pokemon, Entity * target, s32 turns, bool turns = CalculateStatusTurns(target,gUnknown_80F4E40,FALSE) + 1; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); movSpeed = CalcSpeedStage(target); if (movSpeed == MAX_SPEED_STAGE) { if (displayMessage) @@ -551,7 +548,7 @@ void LowerMovementSpeedTarget(Entity * pokemon, Entity * target, s32 levels, boo return; } entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); movSpeed = CalcSpeedStage(target); if (movSpeed == 0) { if (displayMessage) @@ -594,7 +591,7 @@ void ConfuseStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessage return; } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (HasHeldItem(target,ITEM_PERSIM_BAND)) { if (displayMessage) TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD500); @@ -628,7 +625,7 @@ void CowerStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessage) if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,displayMessage))) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->volatileStatus.volatileStatus != STATUS_COWERING) { entityInfo->volatileStatus.volatileStatus = STATUS_COWERING; entityInfo->volatileStatus.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4ECC,TRUE) + 1; @@ -683,9 +680,9 @@ void HealTargetHP(Entity *pokemon, Entity *target, s32 param_3, s32 param_4, boo maxHPStat = entityInfo->maxHPStat - maxHPStat; HP = entityInfo->HP - HP; EntityUpdateStatusSprites(target); - gFormatData_202DE30[0] = HP; - gFormatData_202DE30[1] = maxHPStat; - SetMessageArgument(gAvailablePokemonNames,target,0); + gFormatArgs[0] = HP; + gFormatArgs[1] = maxHPStat; + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if ((HP == 0) && (maxHPStat == 0)) { if (displayMessage_u8) TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB204); // $m0's HP remained unchanged @@ -732,7 +729,7 @@ void HandleScannerOrb(Entity* pokemon, Entity* target) { GetEntInfo(target)->scanning = TRUE; nullsub_75(target); - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAEA0); // Item locations became evident sub_803F580(0); sub_8040A84(); @@ -757,7 +754,7 @@ void HandleStairsOrb(Entity* pokemon, Entity* target) { GetEntInfo(target)->stairSpotter = TRUE; nullsub_76(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAEC8); sub_803F580(0); sub_8040A84(); @@ -777,7 +774,7 @@ void HandleRadarOrb(Entity* pokemon, Entity* target) { GetEntInfo(target)->powerEars = TRUE; nullsub_77(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAFAC); sub_803F580(0); sub_8040A84(); @@ -803,7 +800,7 @@ void HandleLeechSeed(Entity * pokemon, Entity * target, bool8 displayMessage) if (HasSafeguardStatus(pokemon,target,displayMessage)) { return; } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (MonsterIsType(target, TYPE_GRASS)) { if (displayMessage) TryDisplayDungeonLoggableMessage3(pokemon,target,*gPtrCantLeechSeedMonMessage); @@ -876,7 +873,7 @@ void DestinyBondStatusTarget(Entity * pokemon, Entity * target) if (((EntityExists(target)) && (GetEntityType(pokemon) == ENTITY_MONSTER)) && (GetEntityType(target) == ENTITY_MONSTER)) { entityInfo = GetEntInfo(pokemon); - SetMessageArgument(gAvailablePokemonNames,pokemon,0); + SetMessageArgument(gFormatBuffer_Monsters[0],pokemon,0); linkedStatus = &entityInfo->linked.linkedStatus; if (entityInfo->linked.linkedStatus != STATUS_DESTINY_BOND) { @@ -913,7 +910,7 @@ void SureShotStatusTarget(Entity *pokemon, Entity * target, s32 turns) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->moveStatus.moveStatus != STATUS_SURE_SHOT) { entityInfo->moveStatus.moveStatus = STATUS_SURE_SHOT; entityInfo->moveStatus.moveStatusTurns = turns + 1; @@ -933,7 +930,7 @@ void WhifferStatusTarget(Entity *pokemon, Entity * target, s32 turns) if (EntityExists(target) && !HasSafeguardStatus(pokemon, target, TRUE)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->moveStatus.moveStatus != STATUS_WHIFFER) { entityInfo->moveStatus.moveStatus = STATUS_WHIFFER; entityInfo->moveStatus.moveStatusTurns = turns + 1; @@ -953,7 +950,7 @@ void FixedDamageStatusTarget(Entity *pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->moveStatus.moveStatus != STATUS_SET_DAMAGE) { entityInfo->moveStatus.moveStatus = STATUS_SET_DAMAGE; entityInfo->moveStatus.moveStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EC4, FALSE) + 1; @@ -973,7 +970,7 @@ void FocusEnergyStatusTarget(Entity *pokemon, Entity * target) if (EntityExists(target)) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->moveStatus.moveStatus != STATUS_FOCUS_ENERGY) { entityInfo->moveStatus.moveStatus = STATUS_FOCUS_ENERGY; entityInfo->moveStatus.moveStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EC8, FALSE) + 1; @@ -998,7 +995,7 @@ void sub_80783C4(Entity * pokemon, Entity * target, u8 param_3) if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon, target, TRUE))) { targetEntityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (targetEntityInfo->waitingStruct.waitingStatus == STATUS_DECOY) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB994); } @@ -1013,7 +1010,7 @@ void sub_80783C4(Entity * pokemon, Entity * target, u8 param_3) } } sub_8041D38(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (targetEntityInfo->waitingStruct.waitingStatus != STATUS_NONE) { SendWaitingEndMessage(pokemon,target, STATUS_DECOY); } @@ -1073,7 +1070,7 @@ void CurseStatusTarget(Entity *pokemon, Entity * target) targetEntityInfo->waitingStruct.waitingStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EA4,TRUE) + 1; targetEntityInfo->waitingStruct.curseDamageCountdown = 0; } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB004); } else { @@ -1113,7 +1110,7 @@ void SnatchStatusTarget(Entity * pokemon, Entity * target) gDungeon->snatchPokemon = target; gDungeon->unk17B3C = targetEntityInfo->unk98; - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB01C); EntityUpdateStatusSprites(target); } @@ -1125,7 +1122,7 @@ void TauntStatusTarget(Entity * pokemon, Entity * target) if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,TRUE))) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->volatileStatus.volatileStatus != STATUS_TAUNTED) { entityInfo->volatileStatus.volatileStatus = STATUS_TAUNTED; entityInfo->volatileStatus.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4ED8,TRUE) + 1; @@ -1145,12 +1142,12 @@ void HandleStockpile(Entity * pokemon, Entity * target) if ((EntityExists(target))) { entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->stockpileStage < MAX_STOCKPILE_STAGE) { entityInfo->stockpileStage++; sub_804178C(1); sub_8041D5C(target); - gFormatData_202DE30[0] = entityInfo->stockpileStage; + gFormatArgs[0] = entityInfo->stockpileStage; TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBA38); } else { @@ -1169,7 +1166,7 @@ void InvisibleStatusTarget(Entity * pokemon, Entity * target) if (targetEntityInfo->transformStatus.transformStatus == STATUS_TRANSFORMED) { SendTransformEndMessage(pokemon,target); } - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (targetEntityInfo->transformStatus.transformStatus != STATUS_INVISIBLE) { targetEntityInfo->transformStatus.transformStatus = STATUS_INVISIBLE; targetEntityInfo->transformStatus.transformStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EE4,FALSE) + 1; @@ -1190,7 +1187,7 @@ void PerishSongTarget(Entity * pokemon, Entity * target) if (EntityExists(target) && !HasSafeguardStatus(pokemon, target, TRUE)) { nullsub_82(target); entityInfo = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->perishSongTurns == 0) { entityInfo->perishSongTurns = CalculateStatusTurns(target,gUnknown_80F4EEC,FALSE) + 1; TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBB04); @@ -1216,11 +1213,11 @@ void EncoreStatusTarget(Entity *pokemon,Entity *target) if ((EntityInfo->moves.moves[index].moveFlags & MOVE_FLAG_EXISTS) && (movePtr->moveFlags & MOVE_FLAG_LAST_USED)) break; } if ((index == MAX_MON_MOVES) && ((EntityInfo->moves.struggleMoveFlags & MOVE_FLAG_LAST_USED) == 0)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBBD4); } else { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (EntityInfo->volatileStatus.volatileStatus != STATUS_ENCORE) { EntityInfo->volatileStatus.volatileStatus = STATUS_ENCORE; EntityInfo->volatileStatus.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EF4,TRUE) + 1; @@ -1250,7 +1247,7 @@ void sub_8078A58(Entity *pokemon, Entity *target, s32 param_3, s32 param_4) bellyBefore = targetInfo->maxBelly; targetInfo->maxBelly = FixedPoint_Subtract(bellyBefore, sp0); targetInfo->belly = FixedPoint_Min(targetInfo->belly, targetInfo->maxBelly); - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); if (FixedPointToInt(bellyBefore) != FixedPointToInt(targetInfo->maxBelly)) { sub_8041D9C(target); @@ -1264,7 +1261,7 @@ void sub_8078A58(Entity *pokemon, Entity *target, s32 param_3, s32 param_4) bellyBefore = targetInfo->belly; targetInfo->belly = FixedPoint_Subtract(bellyBefore, sp8); - SetMessageArgument(gAvailablePokemonNames, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], target, 0); if (FixedPointToInt(bellyBefore) != FixedPointToInt(targetInfo->belly)) { nullsub_84(target); @@ -1326,12 +1323,12 @@ void sub_8078B5C(Entity *pokemon, Entity *target, u32 bellyIncrement, s32 maxBel TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBE64); // $m0's belly filled up full! } if (FixedPointToInt(sp_0x20) == FixedPointToInt(targetInfo->maxBelly)) { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (displayMessage) TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBDF0); // $m0's belly won't get any bigger! } else { sub_8041DB0(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (displayMessage) TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBDC4); // m0's max belly size increased! } } @@ -1348,7 +1345,7 @@ void sub_8078B5C(Entity *pokemon, Entity *target, u32 bellyIncrement, s32 maxBel *bellyPtr = *puVar8; } nullsub_85(target); - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (FixedPointToInt(oldBelly) == FixedPointToInt(*bellyPtr)) { if (displayMessage) TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBE14); // $m0's belly didn't change! } diff --git a/src/status_actions.c b/src/status_actions.c index 3892c35a9..993926568 100644 --- a/src/status_actions.c +++ b/src/status_actions.c @@ -100,10 +100,8 @@ extern u8 *gUnknown_80FAFF0[]; extern u32 gUnknown_80F4F58; extern u32 gUnknown_8106A4C; extern s16 gUnknown_80F4E74[]; -extern u8 gAvailablePokemonNames[]; extern u8 *gUnknown_80FD450[]; extern u8 *gUnknown_80FD434[]; -extern u8 gUnknown_202DFE8[]; extern s16 gUnknown_80F4F80; extern u8 *gUnknown_80FF678[]; extern u8 *gUnknown_80FD0B8[]; @@ -137,7 +135,6 @@ extern s16 gUnknown_80F4F94[]; extern u8 *gUnknown_80FC5A8[]; extern u8 *gPtrForecastPreventsTypeSwitchMessage[]; extern u8 *gUnknown_80FEB08[]; -extern u8 gFormatItems[]; extern s16 gUnknown_80F4E08; extern u8 gDungeonCamouflageTypes[76]; extern u32 gMetronomeCalledArrayId; @@ -229,9 +226,9 @@ bool8 HandleColorChange(Entity * pokemon, Entity * target) entityInfo->types[0] = newType; entityInfo->types[1] = TYPE_NONE; entityInfo->isColorChanged = TRUE; - SetMessageArgument(gUnknown_202DFE8,target,0); + SetMessageArgument(gFormatBuffer_Monsters[1],target,0); typeString = GetUnformattedTypeString(newType); - strcpy(gFormatItems, typeString); + strcpy(gFormatBuffer_Items[0], typeString); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FEB08); return TRUE; } @@ -442,7 +439,7 @@ bool8 MimicMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4 } } } - SetMessageArgument(gAvailablePokemonNames,pokemon,0); + SetMessageArgument(gFormatBuffer_Monsters[0],pokemon,0); if (moveCounter != 0) { SetExpMultplier(entityInfo); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDCE4); @@ -700,8 +697,8 @@ bool8 sub_805BA50(Entity * pokemon, Entity * target, Move *move, s32 param_4) iVar3 = GetEntInfo(pokemon); iVar5 = GetEntInfo(target); iVar6 = GetEntInfo(target); - SetMessageArgument(gAvailablePokemonNames, pokemon, 0); - SetMessageArgument(gAvailablePokemonNames + 0x50, target, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], pokemon, 0); + SetMessageArgument(gFormatBuffer_Monsters[1], target, 0); if (HasAbility(target, ABILITY_STICKY_HOLD)) { return TRUE; } @@ -861,7 +858,7 @@ bool8 TransferOrbAction(Entity *pokemon, Entity * target, Move *move, s32 param_ entityInfo = GetEntInfo(target); targetID = entityInfo->id; oldID = entityInfo->id; - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (entityInfo->clientType != CLIENT_TYPE_NONE) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD450); return FALSE; @@ -878,7 +875,7 @@ bool8 TransferOrbAction(Entity *pokemon, Entity * target, Move *move, s32 param_ TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD450); } else { - CopyCyanMonsterNametoBuffer(gUnknown_202DFE8, targetID); + CopyCyanMonsterNametoBuffer(gFormatBuffer_Monsters[1], targetID); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD434); sub_806BB6C(target, targetID); didTransfer = TRUE; @@ -886,7 +883,7 @@ bool8 TransferOrbAction(Entity *pokemon, Entity * target, Move *move, s32 param_ } } else { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD450); } return didTransfer; @@ -924,7 +921,7 @@ bool8 sub_805BEC8(Entity * pokemon, Entity * target, Move *move, s32 param_4) bool8 EscapeOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4) { - SetMessageArgument(gAvailablePokemonNames,pokemon,0); + SetMessageArgument(gFormatBuffer_Monsters[0],pokemon,0); if (gDungeon->unk66E != 0) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD4DC); // $m0 can't escape! } diff --git a/src/status_checks.c b/src/status_checks.c index ace3d5041..e7643e2f6 100644 --- a/src/status_checks.c +++ b/src/status_checks.c @@ -21,14 +21,13 @@ extern const char *gPtrWrappedByMessage[]; extern const char *gPtrBideMessage[]; extern const char *gPtrPausedMessage[]; extern const char *gPtrInfatuatedMessage[]; -extern u8 gAvailablePokemonNames[]; extern u8 *gUnknown_80F95EC[]; extern char *gPtrMoveInterruptedMessage[]; bool8 HasStatusAffectingActions(Entity *pokemon) { EntityInfo *pokemonInfo = GetEntInfo(pokemon); - SetMessageArgument(gAvailablePokemonNames, pokemon, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], pokemon, 0); SetMonsterActionFields(&pokemonInfo->action, ACTION_PASS_TURN); switch (pokemonInfo->sleep.sleep) { @@ -118,7 +117,7 @@ bool8 sub_80701A4(Entity *pokemon) pokemonInfo = GetEntInfo(pokemon); flag = FALSE; - SetMessageArgument(gAvailablePokemonNames, pokemon, 0); + SetMessageArgument(gFormatBuffer_Monsters[0], pokemon, 0); SetMonsterActionFields(&pokemonInfo->action, ACTION_PASS_TURN); switch(pokemonInfo->sleep.sleep) { diff --git a/src/status_checks_1.c b/src/status_checks_1.c index 05b7949b7..7cfe3022a 100644 --- a/src/status_checks_1.c +++ b/src/status_checks_1.c @@ -55,7 +55,7 @@ s32 sub_8070828(Entity *pokemon, bool8 displayMessage) } } -void SetMessageArgument_2(char buffer[], EntityInfo *param_2, s32 colorNum) +void SetMessageArgument_2(u8 *buffer, EntityInfo *param_2, s32 colorNum) { if (((gDungeon->unk181e8.blinded || gDungeon->unk181e8.hallucinating) || diff --git a/src/string_format.c b/src/string_format.c new file mode 100644 index 000000000..8b06b592f --- /dev/null +++ b/src/string_format.c @@ -0,0 +1,891 @@ +#include "constants/input.h" +#include "global.h" +#include "globaldata.h" +#include "menu_input.h" +#include "sprite.h" +#include "code_80118A4.h" +#include "string_format.h" +#include "bg_palette_buffer.h" +#include "input.h" +#include "text1.h" +#include "text2.h" +#include "game_options.h" +#include "pokemon.h" +#include "code_800D090.h" +#include "rescue_team_info.h" +#include "event_flag.h" + +#include "data/code_80140DC.h" + +// TODO: move to menu_input +extern UnkTextStruct2 gUnknown_80D47C8[4]; + +void sub_80140B4(UnkTextStruct2 *a0) +{ + s32 i; + + for(i = 0; i < 4; i++) + { + a0[i] = gUnknown_80D47C8[i]; + } +} + +// End of menu_input.c + +void sub_80140DC(void) +{ + Position pos; + + pos.x = 200; + pos.y = 128; + SetSavingIconCoords(&pos); + sub_8011830(); +} + +void sub_80140F8(void) +{ + Position pos; + + pos.x = 188; + pos.y = 64; + SetSavingIconCoords(&pos); + sub_8011830(); +} + +void sub_8014114(void) { + xxx_call_start_bg_music(); + SetSavingIconCoords(NULL); +} + +void nullsub_201(void) {} + +u32 sub_8014128(void) { + if(sub_8012AE8() == INPUT_B_BUTTON) return 0; + else return 1; +} + +u32 sub_801413C(void) +{ + return 0; +} + +u32 sub_8014140(void) +{ + return 0; +} + +// This kinda looks like the 'true' beginning of the file +struct SubStruct_203B198 +{ + u8 unk0; + u32 unk4; // x34 + u16 unk8; // x38 + u16 unkA; // x3A + u16 unkC; // x3C + u16 unkE; // x3E + u16 unk10; // x40 + u8 fill12[0x48-0x42]; // x42 +}; + +struct UnkStruct_203B198 +{ + UnkTextStruct2 unk0; + u8 unk18; + u32 unk1C; + Position unk20; + u16 unk24; + u16 unk26; + u16 unk28; + u8 fill2A[4]; + struct SubStruct_203B198 unk30; + struct SubStruct_203B198 unk48; +}; + +extern struct UnkStruct_203B198 gUnknown_203B198; +extern UnkTextStruct1 gUnknown_2027370[4]; +extern void (*gUnknown_203B088)(s32 a0); + +extern const struct SubStruct_203B198 gUnknown_80D48AC; +extern const struct UnkTextStruct2 gUnknown_80D48DC; +extern const struct UnkTextStruct2 gUnknown_80D48C4; +extern const u32 gUnknown_80D48A0[]; +extern const u8 gUnknown_80D48F8[]; +extern const u8 gUnknown_80D4900[]; +extern const u8 gUnknown_80D4904[]; +extern const u8 gUnknown_80D4908[]; +extern const u8 gUnknown_80D4910[]; +extern const u8 gSpeakerNameSeparator[]; + +extern void SetCharacterMask(int a0); +extern void sub_8008274(s32 a0, const u8 *compressedData, s32 a2); +extern void sub_80073E0(s32 a0); +extern void sub_8011A04(void); + +static void sub_8014A88(void); +static bool8 sub_8014B94(void); +static void nullsub_35(void); +static bool8 AppendString(const u8 *, u8 **, u8 *, u16 r3); + +// 'd', 'v' and 'V' +EWRAM_DATA s32 gFormatArgs[10] = {0}; +// 'i', apparently only i0 and i1 are actually used though it's yet to be verified +EWRAM_DATA u8 gFormatBuffer_Items[4][FORMAT_BUFFER_LEN] = {0}; +// 'm' which probably stands for 'monster', available through m0 to m9 +EWRAM_DATA u8 gFormatBuffer_Monsters[10][FORMAT_BUFFER_LEN] = {0}; +// 'n' which probably stands for 'name', available through n0 to n9 +EWRAM_DATA u8 gFormatBuffer_Names[10][FORMAT_BUFFER_LEN] = {0}; +// Current textbox's speaker's name +EWRAM_DATA u8 gSpeakerNameBuffer[FORMAT_BUFFER_LEN] = {0}; +// 'h' - Friend Area buffer. This buffer seems larger than others. It's possible it actually has the same length, but there were some unused buffers right after it. +EWRAM_DATA u8 gFormatBuffer_FriendArea[FRIEND_AREA_BUFFER_LEN] = {0}; + +static EWRAM_DATA SpriteOAM sDialogueBoxArrowSprite = {0}; + +// 't' - team name. This buffer seems wastefully large, given team name can be max 10(or so) characters. +static EWRAM_DATA u8 sFormatBuffer_TeamName[FORMAT_BUFFER_LEN] = {0}; + +static EWRAM_DATA s32 gUnknown_202E738 = 0; +static EWRAM_DATA s32 gUnknown_202E73C = 0; +static EWRAM_DATA s32 gUnknown_202E740 = 0; +static EWRAM_DATA s32 gUnknown_202E744 = 0; +static EWRAM_DATA struct UnkDrawStringStruct gUnknown_202E748 = {0}; +static EWRAM_DATA u16 sUnknownTextFlags = 0; +static EWRAM_DATA s32 gUnknown_202E780 = 0; +static EWRAM_DATA s32 gUnknown_202E784 = 0; +static EWRAM_DATA s32 gUnknown_202E788 = 0; +static EWRAM_DATA s32 gUnknown_202E78C = 0; +static EWRAM_DATA bool8 gUnknown_202E790 = FALSE; +static EWRAM_DATA u8 sArrowFrames = 0; +static EWRAM_DATA const u8 *gUnknown_202E794 = NULL; + +#define DIALOGUE_TEXT_BUFFER_SIZE 1000 +static EWRAM_DATA u8 sDialogueTextBuffer[DIALOGUE_TEXT_BUFFER_SIZE] = {0}; +static EWRAM_DATA u8 sFormatBuffer_UnknownMonster[64] = {0}; +static EWRAM_DATA MenuStruct gUnknown_202EBC0 = {0}; +static EWRAM_DATA u32 gUnknown_202EC10 = 0; +static EWRAM_DATA const MenuItem *sDialogueMenuItems = NULL; +static EWRAM_DATA void *gUnknown_202EC18 = NULL; +static EWRAM_DATA s32 gUnknown_202EC1C = 0; + +// Only read, but never written to. Possibly used in Blue? +struct NeverWrittenToStruct202EC20 +{ + struct SubStruct_203B198 unk0; + const u8 *unk18; +}; +static EWRAM_DATA struct NeverWrittenToStruct202EC20 *sNeverWrittenToUnknownStructPtr = NULL; +static UNUSED EWRAM_DATA u8 sUnusedEwram1[4] = {0}; + +static EWRAM_DATA MenuInputStructSub gUnknown_202EC28 = {0}; + +void sub_8014144(void) +{ + gUnknown_202E744 = 0; + gUnknown_202E738 = 60; + gUnknown_202E73C = 60; + gUnknown_202E740 = 0; +} + +void sub_801416C(s32 param_1,s32 param_2) +{ + if (param_1 < -1) { + gUnknown_202E738 = param_2; + gUnknown_202E740 = -param_1; + } + else { + gUnknown_202E738 = param_1; + gUnknown_202E740 = 0; + } + gUnknown_202E73C = (param_2 < 0 ) ? 0 : param_2; +} + +void CreateDialogueBoxAndPortrait(const u8 *text, void *param_2, struct MonPortraitMsg *monPortraitPtr, u16 flags) +{ + CreateMenuDialogueBoxAndPortrait(text, param_2, -1, NULL, NULL, 3, 0, monPortraitPtr, flags); +} + +void CreateYesNoDialogueBoxAndPortrait_DefaultYes(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 flags) +{ + CreateMenuDialogueBoxAndPortrait(text, NULL, -1, gUnknown_80D485C, NULL, 3, 0, monPortraitPtr, flags | 0x300); +} + +void CreateYesNoDialogueBoxAndPortrait_DefaultNo(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 flags) +{ + CreateMenuDialogueBoxAndPortrait(text, NULL, -1, gUnknown_80D4880, NULL, 3, 0, monPortraitPtr, flags | 0x300); +} + +void CreateMenuDialogueBoxAndPortrait(const u8 *text, void *a1, u32 r9, const MenuItem *menuItems, void *arg_0, u32 a5, u32 unknownUnused, struct MonPortraitMsg *monPortraitPtr, u16 flags) +{ + bool8 portraitOn = FALSE; + + FormatString(text, sDialogueTextBuffer, sDialogueTextBuffer + DIALOGUE_TEXT_BUFFER_SIZE - 1, flags); + gUnknown_202E794 = sDialogueTextBuffer; + gUnknown_202E748.unk24 = a1; + gUnknown_202EC10 = a5; + sDialogueMenuItems = menuItems; + gUnknown_202EC18 = arg_0; + gUnknown_202EC1C = r9; + sub_801317C(&gUnknown_202EC28); + if (flags & 0x10) { + gUnknown_203B198.unk0 = gUnknown_80D48DC; + } + else { + gUnknown_203B198.unk0 = gUnknown_80D48C4; + } + + gUnknown_203B198.unk24 = 0; + gUnknown_203B198.unk26 = 0; + gUnknown_203B198.unk28 = 0; + gUnknown_203B198.unk18 = 0x40; + + if (monPortraitPtr != NULL && monPortraitPtr->faceData != NULL && monPortraitPtr->faceData->sprites[monPortraitPtr->spriteId].gfx != 0) { + s32 i; + + gUnknown_203B198.unk20.x = monPortraitPtr->pos.x; + gUnknown_203B198.unk20.y = monPortraitPtr->pos.y; + gUnknown_203B198.unk24 = 5; + gUnknown_203B198.unk26 = 5; + gUnknown_203B198.unk28 = 5; + for (i = 0; i < 16; i++) { + SetBGPaletteBufferColorArray(224 + i, &monPortraitPtr->faceData->sprites[monPortraitPtr->spriteId].pal[i * 4]); + } + portraitOn = TRUE; + if (monPortraitPtr->unkE) { + gUnknown_203B198.unk1C = 7; + } + else { + gUnknown_203B198.unk1C = 5; + } + } + + gUnknown_203B198.unk30 = gUnknown_80D48AC; + gUnknown_203B198.unk48 = gUnknown_80D48AC; + ResetUnusedInputStruct(); + xxx_call_save_unk_text_struct_800641C(&gUnknown_203B198.unk0, TRUE, TRUE); + gUnknown_202E748.unk0 = 4; + gUnknown_202E748.unk2 = 4; + gUnknown_202E748.unk8 = 0x70; + gUnknown_202E748.unkA = (gUnknown_2027370[0].unk2 * 8) + 34; + gUnknown_202E748.unk10 = 7; + gUnknown_202E748.unk1C = 0; + gUnknown_202E748.unk20 = 0; + SetCharacterMask((flags & 0x10) ? 8 : 3); + gUnknown_202E744 = 1; + sUnknownTextFlags = flags; + if (flags & 0x20) { + gUnknown_202E790 = TRUE; + } + else { + gUnknown_202E790 = FALSE; + } + + if (flags & 0x400) { + SetWindowBGColor(); + } + gUnknown_202E788 = 1; + gUnknown_202E78C = 1; + UnpressButtons(); + sArrowFrames = 0; + gUnknown_202E784 = 0; + if (portraitOn) { + const u8 *data = monPortraitPtr->faceData->sprites[monPortraitPtr->spriteId].gfx; + + sub_80073B8(1); + if (!monPortraitPtr->flip) { + sub_8008274(1, data, 0xE); + } + else { + sub_800836C(1, data, 0xE); + } + sub_80073E0(1); + } +} + +void sub_8014490(void) +{ + gUnknown_202E744 = 0; + gUnknown_202EC1C = 0; +} + +s32 sub_80144A4(s32 *a0) +{ + if (a0 != NULL) { + *a0 = gUnknown_202EC1C; + } + return gUnknown_202E744; +} + +void DrawDialogueBoxString(void) +{ + bool8 keepLooping = TRUE; + + gUnknown_202E784++; + while (keepLooping) { + switch (gUnknown_202E744) { + case 0: { + keepLooping = FALSE; + } + break; + case 1: { + const u8 *str = gUnknown_202E794; + s32 r7; + + if (gUnknown_202E790) { + r7 = 99999; + } + else { + r7 = gUnknown_202E788; + } + gUnknown_202E748.unk2C = 0; + sub_80073B8(0); + while (r7 > 0) { + str = xxx_handle_format_global(str, &gUnknown_202E748); + if (gUnknown_202E748.unk21 != 0) { + break; + } + if (gUnknown_202E748.unk20 != 0) { + if (gUnknown_202E748.unk2 > 34) { + gUnknown_202E744 = 8; + gUnknown_202E780 = gUnknown_202E738; + } + else { + gUnknown_202E744 = 7; + gUnknown_202E780 = gUnknown_202E73C; + } + sArrowFrames = 0; + break; + } + if (*str == '\0') { + break; + } + + if (*str == '\r' || *str == '\n') { + gUnknown_202E748.unk0 = 4; + gUnknown_202E748.unk2 += 11; + str++; + } + else { + u32 sp; + + str = xxx_get_next_char_from_string(str, &sp); + gUnknown_202E748.unk0 += xxx_call_draw_char(gUnknown_202E748.unk0, gUnknown_202E748.unk2, sp, gUnknown_202E748.unk10, 0); + gUnknown_202E748.unk2C = gUnknown_202E78C; + } + + if (gUnknown_202E748.unk2 > 34) { + if (!(sUnknownTextFlags & 0x10)) { + gUnknown_202E748.unk1C = 0; + gUnknown_202E748.unk20 = 1; + gUnknown_202E744 = 8; + sArrowFrames = 0; + gUnknown_202E780 = gUnknown_202E738; + break; + } + else { + gUnknown_202E748.unk2 = 4; + } + } + r7--; + } + sub_80073E0(0); + gUnknown_202E794 = str; + sub_801317C(&gUnknown_202EC28); + if (gUnknown_202E794[0] == '\0') { + if (sDialogueMenuItems != NULL) { + gUnknown_202E744 = 3; + } + else { + gUnknown_202E744 = 6; + } + keepLooping = FALSE; + } + else { + gUnknown_202E748.unk30 = 0; + if (gUnknown_202E748.unk20 != 0) { + if (gUnknown_202E744 == 1) { + gUnknown_202E744 = 7; + sArrowFrames = 0; + gUnknown_202E780 = gUnknown_202E738; + } + keepLooping = FALSE; + } + else { + gUnknown_202E744 = 2; + } + } + } + break; + case 2: { + if (sUnknownTextFlags & 4) { + sub_8011A04(); + } + if (!(sUnknownTextFlags & 2)) { + if (sUnknownTextFlags & 0x40 && gRealInputs.pressed & AB_BUTTONS) { + gUnknown_202E790 = TRUE; + gUnknown_202E748.unk30 = 99999; + } + } + + if (++gUnknown_202E748.unk30 > gUnknown_202E748.unk2C) { + gUnknown_202E744 = 1; + gUnknown_202E748.unk21 = 0; + } + else { + keepLooping = FALSE; + } + } + break; + case 6: { + if (sUnknownTextFlags & 0x100) { + gUnknown_202E744 = 9; + sArrowFrames = 0; + if (gUnknown_202E740 > 0) { + gUnknown_202E780 = gUnknown_202E740 - gUnknown_202E784; + if (gUnknown_202E780 < 0) { + gUnknown_202E744 = 11; + gUnknown_202E780 = 0; + } + } + else { + gUnknown_202E780 = gUnknown_202E738; + } + } + else { + gUnknown_202E744 = 11; + } + } + break; + case 7: + case 8: + case 9: { + bool8 buttonPress = FALSE; + gUnknown_202E748.unk20 = 0; + nullsub_34(&gUnknown_202EC28, 0); + if (!(sUnknownTextFlags & 1)) { + buttonPress = TRUE; + } + else + { + if (sUnknownTextFlags & 2) + { + if (gUnknown_202E780 > 0) { + gUnknown_202E780--; + } + else { + buttonPress = TRUE; + } + } + else if (gRealInputs.pressed & AB_BUTTONS || gUnknown_202EC28.a_button) { + buttonPress = TRUE; + } + else if ((gRealInputs.held & (DPAD_ANY | B_BUTTON)) == B_BUTTON) { + buttonPress = TRUE; + } + else if (gUnknown_202EC28.unk5) { + buttonPress = TRUE; + } + } + + if (!buttonPress) { + sArrowFrames++; + if (!(sUnknownTextFlags & 0x2) && sArrowFrames & 8) { + u32 shape, tileNum, palNum, pal; + + sDialogueBoxArrowSprite.attrib1 &= ~SPRITEOAM_MASK_AFFINEMODE1; + sDialogueBoxArrowSprite.attrib1 &= ~SPRITEOAM_MASK_AFFINEMODE2; + sDialogueBoxArrowSprite.attrib1 &= ~SPRITEOAM_MASK_OBJMODE; + sDialogueBoxArrowSprite.attrib1 &= ~SPRITEOAM_MASK_MOSAIC; + sDialogueBoxArrowSprite.attrib1 &= ~SPRITEOAM_MASK_BPP; + + shape = 1; + shape <<= SPRITEOAM_SHIFT_SHAPE; + sDialogueBoxArrowSprite.attrib1 &= ~SPRITEOAM_MASK_SHAPE; + sDialogueBoxArrowSprite.attrib1 |= shape; + + sDialogueBoxArrowSprite.attrib2 &= ~SPRITEOAM_MASK_MATRIXNUM; + sDialogueBoxArrowSprite.attrib2 &= ~SPRITEOAM_MASK_SIZE; + + tileNum = 0x3F0 << SPRITEOAM_SHIFT_TILENUM; + sDialogueBoxArrowSprite.attrib3 &= ~SPRITEOAM_MASK_TILENUM; + sDialogueBoxArrowSprite.attrib3 |= tileNum; + + sDialogueBoxArrowSprite.attrib3 &= ~SPRITEOAM_MASK_PRIORITY; + + pal = 15; + palNum = (pal & SPRITEOAM_MAX_PALETTENUM) << SPRITEOAM_SHIFT_PALETTENUM; + sDialogueBoxArrowSprite.attrib3 &= ~SPRITEOAM_MASK_PALETTENUM; + sDialogueBoxArrowSprite.attrib3 |= palNum; + + if (sUnknownTextFlags & 0x10) { + u32 var = 0x780; + sDialogueBoxArrowSprite.unk6 &= 0xF; + sDialogueBoxArrowSprite.unk6 |= var; + sDialogueBoxArrowSprite.attrib2 &= ~SPRITEOAM_MASK_X; + sDialogueBoxArrowSprite.attrib2 |= 0x70; + } + else { + s16 x; + + u32 var = ((gUnknown_202E748.unkA + 1) & 0xFFF) << 4; + sDialogueBoxArrowSprite.unk6 &= 0xF; + sDialogueBoxArrowSprite.unk6 |= var; + x = gUnknown_202E748.unk8; + sDialogueBoxArrowSprite.attrib2 &= ~SPRITEOAM_MASK_X; + sDialogueBoxArrowSprite.attrib2 |= x & 0x1FF; + } + + AddSprite(&sDialogueBoxArrowSprite, 0x100, NULL, NULL); + } + } + else { + if (*gUnknown_202E794 == '\0') { + gUnknown_202E744 = 11; + } + else if (gUnknown_202E744 == 9) { + gUnknown_202E744 = 11; + } + else if (gUnknown_202E744 == 8) { + gUnknown_202E748.unk0 = 4; + if (gUnknown_202E748.unk2 > 34) { + gUnknown_202E748.unk2 = 4; + if (sUnknownTextFlags & 0x10) { + CallPrepareTextbox_8008C54(0); + gUnknown_202E744 = 1; + } + else if (gUnknown_202E748.unk1C != 0) { + CallPrepareTextbox_8008C54(0); + gUnknown_202E744 = 1; + } + else { + gUnknown_202E744 = 10; + gUnknown_202E748.unk28 = 0; + } + } + else { + gUnknown_202E744 = 1; + } + } + else { + gUnknown_202E744 = 1; + } + + gUnknown_202E748.unk8 = 0x70; + gUnknown_202E748.unkA = (gUnknown_2027370[0].unk2 * 8) + 34; + } + keepLooping = FALSE; + } + break; + case 10: { + gUnknown_202E748.unk28++; + gUnknown_203B088(0); + if (gUnknown_202E748.unk28 > 17) { + gUnknown_202E744 = 1; + } + keepLooping = FALSE; + } + break; + case 11: { + if (sUnknownTextFlags & 0x200) { + ResetUnusedInputStruct(); + xxx_call_save_unk_text_struct_800641C(NULL, TRUE, TRUE); + gUnknown_202E744 = 0; + } + else { + gUnknown_202E744 = 0; + } + keepLooping = FALSE; + } + break; + case 3: { + sub_8014A88(); + gUnknown_202E744 = 4; + keepLooping = FALSE; + } + break; + case 4: { + if (sub_8014B94()) { + gUnknown_202E744 = 5; + } + keepLooping = FALSE; + } + break; + case 5: { + nullsub_35(); + gUnknown_202E744 = 11; + } + break; + } + } +} + +static void sub_8014A88(void) +{ + s32 r2, r1; + u8 text[128]; + const MenuItem *menuItem = sDialogueMenuItems; + s32 r5 = 0; + s32 r7 = 0; + s32 i; + + for (i = 0; i < 10; menuItem++, i++) { + s32 val; + + if (menuItem->text == NULL) + break; + + r5 += 12;; + FormatString(menuItem->text, text, text + sizeof(text), 0); + val = sub_8008ED0(text); + if (r7 < val) { + r7 = val; + } + } + + r2 = r5 / 8; + if (r5 % 8) + r2++; + + gUnknown_203B198.unk30.unk4 = gUnknown_202EC10; + r1 = r7 / 8; + r1 += 2; + gUnknown_203B198.unk30.unkC = r1; + gUnknown_203B198.unk30.unk10 = r2; + gUnknown_203B198.unk30.unkE = r2; + gUnknown_203B198.unk30.unk8 = 28 - r1; + gUnknown_203B198.unk30.unkA = 14 - r2; + gUnknown_203B198.unk0.unk0 = 0x80; + gUnknown_203B198.unk18 = 0xC0; + if (sNeverWrittenToUnknownStructPtr != NULL) { + gUnknown_203B198.unk48 = sNeverWrittenToUnknownStructPtr->unk0; + } + ResetUnusedInputStruct(); + xxx_call_save_unk_text_struct_800641C(&gUnknown_203B198.unk0, TRUE, FALSE); + sub_8012D60(&gUnknown_202EBC0, sDialogueMenuItems, gUnknown_80D48A0, gUnknown_202EC18, gUnknown_202EC1C, 2); + if (sNeverWrittenToUnknownStructPtr != NULL) { + sub_80073B8(3); + PrintStringOnWindow(4, 2, sNeverWrittenToUnknownStructPtr->unk18, 3, 0); + sub_80073E0(3); + } +} + +static bool8 sub_8014B94(void) +{ + if (!sub_8012FD8(&gUnknown_202EBC0)) { + sub_8013114(&gUnknown_202EBC0, &gUnknown_202EC1C); + return TRUE; + } + else { + return FALSE; + } +} + +static void UNUSED nullsub_35(void) +{ +} + +const u8 *FormatString(const u8 *str, u8 *dst, u8 *dstMax, u16 flags) +{ + u8 txtArray[60]; + bool8 r10 = TRUE; + bool8 r9 = TRUE; + dstMax--; + + while (1) { + u8 currChar = *str; + + if (currChar == '\0') + break; + if (currChar == '\r' || currChar == '\n') { + if (flags & 0x80) + break; + r9 = TRUE; + } + else { + if (r10) { + r10 = FALSE; + r9 = FALSE; + if (flags & 8) { + AppendString(gSpeakerNameBuffer, &dst, dstMax, flags); + AppendString(gSpeakerNameSeparator, &dst, dstMax, flags); + } + } + else if (r9) { + r9 = FALSE; + } + } + + if (currChar == '#') { + u8 chrPls1 = str[1]; + if (chrPls1 == 'P' || chrPls1 == 'p') { + r10 = TRUE; + r9 = TRUE; + } + if (dst + 1 < dstMax) { + *(dst++) = '#'; + *(dst++) = chrPls1; + } + + str += 2; + } + else if (currChar == '$') { + const u8 *txtPtr = NULL; + str++; + + switch (*str) { + case 'i': + str++; + txtPtr = gFormatBuffer_Items[*str - '0']; + str++; + break; + case 'm': + str++; + if (*str == 'm') { + PokemonStruct1 *monStruct = sub_808D3BC(); + txtPtr = sFormatBuffer_UnknownMonster; + PrintColoredPokeNameToBuffer(sFormatBuffer_UnknownMonster, monStruct, 0); + } + else { + txtPtr = gFormatBuffer_Monsters[*str - '0']; + str++; + } + break; + case 'n': + str++; + txtPtr = gFormatBuffer_Names[*str - '0']; + str++; + break; + case 't': + str++; + if (sub_80023E4(0)) { + sub_80920D8(sFormatBuffer_TeamName); + } + else { + strcpy(sFormatBuffer_TeamName, gUnknown_80D48F8); // ???? + } + txtPtr = sFormatBuffer_TeamName; + break; + case 'h': + str++; + txtPtr = gFormatBuffer_FriendArea; + break; + case 'd': + str++; + sprintfStatic(txtArray, gUnknown_80D4900, gFormatArgs[*(str++) - '0']); + txtPtr = txtArray; + break; + case 'v': { + s32 a; + u8 *unkTxtPtr; + + str++; + a = gFormatArgs[*(str++) - '0']; + sprintfStatic(txtArray, gUnknown_80D4904, *(str++) - '0', a); + unkTxtPtr = txtArray; + while (*unkTxtPtr != '\0') { + if (*unkTxtPtr == ' ') { + *unkTxtPtr = '`'; + } + unkTxtPtr++; + } + txtPtr = txtArray; + } + break; + // the same as above except "%0*d" instead of "%*d" + case 'V': { + s32 a; + u8 *unkTxtPtr; + + str++; + a = gFormatArgs[*(str++) - '0']; + sprintfStatic(txtArray, gUnknown_80D4908, *(str++) - '0', a); + unkTxtPtr = txtArray; + while (*unkTxtPtr != '\0') { + if (*unkTxtPtr == ' ') { + *unkTxtPtr = '`'; + } + unkTxtPtr++; + } + txtPtr = txtArray; + } + break; + case '$': + txtPtr = gUnknown_80D4910; + break; + case '-': + str++; + break; + } + + if (txtPtr != NULL) { + + if (AppendString(txtPtr, &dst, dstMax, flags)) + break; + } + } + else if (currChar == 0x81 || currChar == 0x82 || currChar == 0x83 || currChar == 0x84 || currChar == 0x87) { + if (dst < dstMax) { + *(dst++) = currChar; + } + str++; + if (*str == '\0') + break; + if (dst < dstMax) { + *(dst++) = *str; + } + str++; + } + else { + if (dst < dstMax) { + *(dst++) = currChar; + } + str++; + } + } + + *dst = 0; + if (*str == '\r') str++; + if (*str == '\n') str++; + + return str; +} + +static bool8 AppendString(const u8 *str, u8 **dstPtr, u8 *dstMax, u16 flags) +{ + u8 *dst = *dstPtr; + while (*str != '\0') { + if (flags & 0x80 && *str == '\r') { + *dstPtr = dst; + return TRUE; + } + if (dst < dstMax) { + *dst = *str; + dst++; + } + str++; + } + + *dstPtr = dst; + return FALSE; +} + +#define FORMAT_STR_MAX_LEN 500 + +void PrintFormattedStringOnWindow(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr) +{ + u8 formattedString[FORMAT_STR_MAX_LEN]; + + FormatString(str, formattedString, formattedString + FORMAT_STR_MAX_LEN, 0); + formattedString[FORMAT_STR_MAX_LEN - 1] = '\0'; + PrintStringOnWindow(x, y, formattedString, windowId, terminatingChr); +} + +void PrintFormattedStringOnWindow2(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr, s32 lineSpacing) +{ + u8 formattedString[FORMAT_STR_MAX_LEN]; + + FormatString(str, formattedString, formattedString + FORMAT_STR_MAX_LEN, 0); + formattedString[FORMAT_STR_MAX_LEN - 1] = '\0'; + PrintStringOnWindow2(x, y, formattedString, windowId, terminatingChr, lineSpacing); +} + +// diff --git a/src/text2.c b/src/text2.c index 70c4b4d57..0311a25bf 100644 --- a/src/text2.c +++ b/src/text2.c @@ -3305,33 +3305,34 @@ s32 sub_8008ED0(const u8 *str) return ret; } -void xxx_draw_string(UnkTextStruct1 *strArr, s32 x, s32 y, const u8 *str, u32 windowId, s32 a5, s32 a6, s32 a7); +void xxx_draw_string(UnkTextStruct1 *strArr, s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr, s32 characterSpacing, s32 lineSpacing); -void sub_8008F8C(s32 x, s32 y, const u8 *str, u32 windowId, s32 a4, s32 a5) +void PrintStringOnWindow2(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr, s32 lineSpacing) { - xxx_draw_string(gUnknown_2027370, x, y, str, windowId, a4, 0, a5); + xxx_draw_string(gUnknown_2027370, x, y, str, windowId, terminatingChr, 0, lineSpacing); } -void PrintStringOnWindow(s32 x, u32 y, const u8 *str, u32 windowId, u32 a4) +void PrintStringOnWindow(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr) { - xxx_draw_string(gUnknown_2027370, x, y, str, windowId, a4, 0, 0xD); + xxx_draw_string(gUnknown_2027370, x, y, str, windowId, terminatingChr, 0, 13); } UNUSED void nullsub_170(void) {} // Identical to PrintStringOnWindow -UNUSED void sub_8008FF0(s32 x, u32 y, const u8 *str, u32 windowId, u32 a4) +UNUSED void sub_8008FF0(s32 x, u32 y, const u8 *str, u32 windowId, u32 terminatingChr) { - xxx_draw_string(gUnknown_2027370, x, y, str, windowId, a4, 0, 0xD); + xxx_draw_string(gUnknown_2027370, x, y, str, windowId, terminatingChr, 0, 13); } UNUSED void nullsub_171(void) {} const u8 *HandleTextFormat(UnkTextStruct1 *strArr, const u8 *str, struct UnkDrawStringStruct *sp); -void xxx_draw_string(UnkTextStruct1 *strArr, s32 x, s32 y, const u8 *str, u32 windowId, s32 a5, s32 a6, s32 a7) +void xxx_draw_string(UnkTextStruct1 *strArr, s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr, s32 characterSpacing, s32 lineSpacing) { struct UnkDrawStringStruct sp; + u32 currChr; sp.unk0 = x; sp.unk2 = y; @@ -3339,41 +3340,41 @@ void xxx_draw_string(UnkTextStruct1 *strArr, s32 x, s32 y, const u8 *str, u32 wi sp.unk10 = 7; while (1) { str = HandleTextFormat(strArr, str, &sp); - str = xxx_get_next_char_from_string(str, &sp.unk34); - if (sp.unk34 == '\0' || sp.unk34 == a5) + str = xxx_get_next_char_from_string(str, &currChr); + if (currChr == '\0' || currChr == terminatingChr) break; - if (sp.unk34 == 0x82A0) { + if (currChr == 0x82A0) { gCurrentCharmap = 0; } - else if (sp.unk34 == 0x82A2) { + else if (currChr == 0x82A2) { gCurrentCharmap = 1; } - else if (sp.unk34 == '\e') { + else if (currChr == '\e') { break; } - else if (sp.unk34 == '\r' || sp.unk34 == '\n') { + else if (currChr == '\r' || currChr == '\n') { sp.unk0 = sp.unkC; - sp.unk2 += a7; + sp.unk2 += lineSpacing; } - else if (sp.unk34 == '\x1D') { // ASCII group separator. + else if (currChr == '\x1D') { // ASCII group separator. sp.unk0 = sp.unkC; sp.unk2 += 5; } - else if (sp.unk34 == '`') { + else if (currChr == '`') { sp.unk0 += 6; } - else if (a6 == 0) { - sp.unk0 += xxx_draw_char(strArr, sp.unk0, sp.unk2, sp.unk34, sp.unk10, windowId); + else if (characterSpacing == 0) { + sp.unk0 += xxx_draw_char(strArr, sp.unk0, sp.unk2, currChr, sp.unk10, windowId); } else { - const struct unkChar *chrPtr = GetCharacter(sp.unk34); + const struct unkChar *chrPtr = GetCharacter(currChr); if (chrPtr != NULL) { s32 x = sp.unk0; s32 x2 = gCharacterSpacing + 10; x +=((x2 - chrPtr->unk6) / 2); - xxx_draw_char(strArr, x, sp.unk2, sp.unk34, sp.unk10, windowId); - sp.unk0 += a6; + xxx_draw_char(strArr, x, sp.unk2, currChr, sp.unk10, windowId); + sp.unk0 += characterSpacing; } } } diff --git a/src/thank_you_wonder_mail.c b/src/thank_you_wonder_mail.c index ae2f716bd..610df0dea 100644 --- a/src/thank_you_wonder_mail.c +++ b/src/thank_you_wonder_mail.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "code_800D090.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "code_801C8C4.h" #include "code_802F204.h" @@ -76,10 +76,6 @@ const Item gUnknown_80DED44 = ITEM_FLAG_EXISTS, 0, ITEM_NOTHING }; -extern char gUnknown_202E5D8[0x50]; -extern char gAvailablePokemonNames[0x50]; - - const UnkTextStruct2 gUnknown_80DED48 = { 0x00, 0x00, 0x00, 0x00, @@ -247,13 +243,13 @@ u32 CreateThankYouMailPelipper(void) sUnknown_203B2C4 = MemoryAlloc(sizeof(WonderMailStruct_203B2C4), 8); MemoryFill8((u8 *)sUnknown_203B2C4, 0, sizeof(WonderMailStruct_203B2C4)); - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_PELIPPER); monName = GetMonSpecies(MONSTER_PELIPPER); - strcpy(gAvailablePokemonNames, monName); + strcpy(gFormatBuffer_Monsters[0], monName); faceFile = GetDialogueSpriteDataPtr(MONSTER_PELIPPER); sUnknown_203B2C4->monPortrait.faceFile = faceFile; - sUnknown_203B2C4->monPortrait.faceData = faceFile->data; + sUnknown_203B2C4->monPortrait.faceData = (void *) faceFile->data; sUnknown_203B2C4->monPortrait.spriteId = 0; sUnknown_203B2C4->monPortrait.flip = FALSE; sUnknown_203B2C4->monPortrait.unkE = 0; @@ -1229,9 +1225,9 @@ void sub_802AB98(void) { case 3: sub_802F2C0(); - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_PELIPPER); monName = GetMonSpecies(MONSTER_PELIPPER); - strcpy(gAvailablePokemonNames, monName); + strcpy(gFormatBuffer_Monsters[0], monName); DeleteMailAtIndex(GetMailIndex(6, sUnknown_203B2C4->unk430)); SetThankYouMailMenuState(0x24); break; diff --git a/src/trade_items_menu.c b/src/trade_items_menu.c index 246e264e7..9c9629a4e 100644 --- a/src/trade_items_menu.c +++ b/src/trade_items_menu.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "code_801C8C4.h" #include "constants/communication_error_codes.h" @@ -17,9 +17,6 @@ #include "text2.h" #include "trade_items_menu.h" -extern u32 gFormatData_202DE30; -extern u8 gFormatItems[]; - static EWRAM_DATA_2 struct TradeItemsMenu *sTradeItemsMenu = {0}; #include "data/trade_items_menu.h" @@ -529,8 +526,8 @@ void sub_8036B28(void) sub_8036F74(); break; case TRADE_ITEMS_SEND_ITEM_CONFIRM: - gFormatData_202DE30 = sTradeItemsMenu->unk14.unk0; - BufferItemName(gFormatItems,sTradeItemsMenu->itemToSend.id,NULL); + gFormatArgs[0] = sTradeItemsMenu->unk14.unk0; + BufferItemName(gFormatBuffer_Items[0],sTradeItemsMenu->itemToSend.id,NULL); CreateMenuDialogueBoxAndPortrait(sFmtWillBeSentPrompt,0,5, sUnknown_80E6154,0,4,0,0,0x101); break; case TRADE_ITEMS_RECEIVE_ITEM: @@ -588,18 +585,18 @@ void sub_8036B28(void) break; case 0xe: if (sTradeItemsMenu->unk24C.quantity == 0) { - gFormatData_202DE30 = sTradeItemsMenu->unk244.quantity; - BufferItemName(gFormatItems,sTradeItemsMenu->unk244.itemIdx.id,NULL); + gFormatArgs[0] = sTradeItemsMenu->unk244.quantity; + BufferItemName(gFormatBuffer_Items[0],sTradeItemsMenu->unk244.itemIdx.id,NULL); } else { - gFormatData_202DE30 = sTradeItemsMenu->unk24C.quantity; - BufferItemName(gFormatItems,sTradeItemsMenu->unk24C.itemIdx.id,NULL); + gFormatArgs[0] = sTradeItemsMenu->unk24C.quantity; + BufferItemName(gFormatBuffer_Items[0],sTradeItemsMenu->unk24C.itemIdx.id,NULL); } CreateDialogueBoxAndPortrait(sFmtYouReceived,0,0,0x101); break; case 0xd: - gFormatData_202DE30 = sTradeItemsMenu->unk14.unk0; - BufferItemName(gFormatItems,sTradeItemsMenu->itemToSend.id,NULL); + gFormatArgs[0] = sTradeItemsMenu->unk14.unk0; + BufferItemName(gFormatBuffer_Items[0],sTradeItemsMenu->itemToSend.id,NULL); CreateDialogueBoxAndPortrait(sFmtYouSent,0,0,0x101); break; case 0xB: diff --git a/src/trap.c b/src/trap.c index 14e363e0e..54f96b19e 100644 --- a/src/trap.c +++ b/src/trap.c @@ -22,9 +22,6 @@ #include "structs/map.h" #include "structs/str_dungeon.h" -extern u8 gAvailablePokemonNames[]; -extern u8 gFormatItems[]; - extern u8 *gTrapNames[]; extern u8 *gUnknown_80FC5FC[]; extern u8 *gUnknown_80FC5F8[]; @@ -249,7 +246,7 @@ void sub_807FE9C(Entity *pokemon, Position *pos, int param_3, char param_4) return; } trapData = GetTrapData(entity); - GetTrapName(gAvailablePokemonNames,trapData->id); + GetTrapName(gFormatBuffer_Monsters[0],trapData->id); target = tile->monster; if ((target != NULL) && (GetEntityType(target) != ENTITY_MONSTER)) { target = NULL; @@ -432,7 +429,7 @@ void HandleStickyTrap(Entity *pokemon,Entity *target) } else { newIndex = DungeonRandInt(itemCount); - sub_8045BF8(gFormatItems, itemStack[newIndex]); + sub_8045BF8(gFormatBuffer_Items[0], itemStack[newIndex]); itemStack[newIndex]->flags |= ITEM_FLAG_STICKY; sub_80421C0(target, 0x192); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDC18); @@ -566,7 +563,7 @@ void HandlePitfallTrap(Entity *pokemon, Entity *target, Tile *tile) } else { - SetMessageArgument(gAvailablePokemonNames,target,0); + SetMessageArgument(gFormatBuffer_Monsters[0],target,0); if (info->isNotTeamMember) { TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80F970C); // $m0 fell into the pitfall! } @@ -659,7 +656,7 @@ void HandlePPZeroTrap(Entity *param_1,Entity *param_2) if (counter != 0) { moveIndex = DungeonRandInt(counter); moveStack[moveIndex]->PP = 0; - sub_80928C0(gFormatItems,moveStack[moveIndex],0); + sub_80928C0(gFormatBuffer_Items[0],moveStack[moveIndex],0); sub_806A9B4(param_2, indexStack[moveIndex]); flag = TRUE; } @@ -700,7 +697,7 @@ void HandleSealTrap(Entity *param_1,Entity *param_2) if (counter != 0) { moveIndex = DungeonRandInt(counter); moveStack[moveIndex]->moveFlags2 |= MOVE_FLAG_SEALED; - sub_80928C0(gFormatItems,moveStack[moveIndex], NULL); + sub_80928C0(gFormatBuffer_Items[0],moveStack[moveIndex], NULL); flag = TRUE; } if(flag) diff --git a/src/wigglytuff_shop3.c b/src/wigglytuff_shop3.c index 567209ca7..f8a107f0a 100644 --- a/src/wigglytuff_shop3.c +++ b/src/wigglytuff_shop3.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8023144.h" #include "code_8099360.h" #include "common_strings.h" @@ -18,11 +18,8 @@ #include "wigglytuff_shop2.h" #include "wigglytuff_shop3.h" -extern u32 gFormatData_202DE30[2]; -extern u8 gAvailablePokemonNames[]; // 202DF98 -extern u8 gUnknown_202E1C8[]; -extern u8 gUnknown_202E5D8[]; -extern u8 gUnknown_202E628[]; +extern u8 gSpeakerNameBuffer[]; +extern u8 gFormatBuffer_FriendArea[]; static EWRAM_DATA_2 WigglytuffShop3Work *sWigglytuffShop3Work = {0}; @@ -66,10 +63,10 @@ bool8 CreateWigglytuffShop(u32 mode) sWigglytuffShop3Work->menuAction1 = 0; sWigglytuffShop3Work->menuAction2 = 0; sWigglytuffShop3Work->mode = mode; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_WIGGLYTUFF); - CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_WIGGLYTUFF); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_WIGGLYTUFF); + CopyYellowMonsterNametoBuffer(gFormatBuffer_Monsters[7], MONSTER_WIGGLYTUFF); str = GetMonSpecies(MONSTER_WIGGLYTUFF); - strcpy(gUnknown_202E1C8 - 80, str); + strcpy(gFormatBuffer_Monsters[6], str); if (sWigglytuffShop3Work->mode == 1) sWigglytuffShop3Work->monPortraitPtr = NULL; @@ -78,7 +75,7 @@ bool8 CreateWigglytuffShop(u32 mode) file = GetDialogueSpriteDataPtr(MONSTER_WIGGLYTUFF); sWigglytuffShop3Work->monPortrait.faceFile = file; - sWigglytuffShop3Work->monPortrait.faceData = file->data; + sWigglytuffShop3Work->monPortrait.faceData = (void *) file->data; sWigglytuffShop3Work->monPortrait.spriteId = 0; sWigglytuffShop3Work->monPortrait.flip = FALSE; sWigglytuffShop3Work->monPortrait.unkE = 0; @@ -233,8 +230,8 @@ static void UpdateWigglytuffDialogue(void) break; case BUY_FRIEND_AREA: CreateWigglytuffConfirmFriendAreaMenu(); - WriteFriendAreaName(gUnknown_202E628, sWigglytuffShop3Work->chosenFriendArea, FALSE); - gFormatData_202DE30[0] = sWigglytuffShop3Work->friendAreaPrice; + WriteFriendAreaName(gFormatBuffer_FriendArea, sWigglytuffShop3Work->chosenFriendArea, FALSE); + gFormatArgs[0] = sWigglytuffShop3Work->friendAreaPrice; CreateMenuDialogueBoxAndPortrait(gCommonWigglytuff[sWigglytuffShop3Work->mode][WIGGLY_DLG_05], 0, 5, sWigglytuffShop3Work->unk1C, 0, 4, 0, sWigglytuffShop3Work->monPortraitPtr, 12); break; case FRIEND_AREA_INFO: @@ -242,7 +239,7 @@ static void UpdateWigglytuffDialogue(void) break; case CONFIRM_BUY_FRIEND_AREA: sWigglytuffShop3Work->fallbackState = WIGGLYTUFF_UNKD; - WriteFriendAreaName(gUnknown_202E628, sWigglytuffShop3Work->chosenFriendArea, FALSE); + WriteFriendAreaName(gFormatBuffer_FriendArea, sWigglytuffShop3Work->chosenFriendArea, FALSE); CreateDialogueBoxAndPortrait(gCommonWigglytuff[sWigglytuffShop3Work->mode][WIGGLY_DLG_06], 0, sWigglytuffShop3Work->monPortraitPtr, 0x10d); break; case WIGGLYTUFF_UNKD: @@ -305,8 +302,8 @@ static void UpdateWigglytuffDialogue(void) } string = GetMonSpecies(sWigglytuffShop3Work->chosenSpecies); - strcpy(gAvailablePokemonNames, string); - WriteFriendAreaName(gUnknown_202E628, sWigglytuffShop3Work->chosenFriendArea, FALSE); + strcpy(gFormatBuffer_Monsters[0], string); + WriteFriendAreaName(gFormatBuffer_FriendArea, sWigglytuffShop3Work->chosenFriendArea, FALSE); CreateDialogueBoxAndPortrait(gCommonWigglytuff[sWigglytuffShop3Work->mode][WIGGLY_DLG_14], 0, sWigglytuffShop3Work->monPortraitPtr, 0x10d); break; case WIGGLYTUFF_CHECK_HAS_FRIEND_AREA: diff --git a/src/wonder_mail.c b/src/wonder_mail.c index e984ca404..106dcb875 100644 --- a/src/wonder_mail.c +++ b/src/wonder_mail.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_8023868.h" #include "code_8024458.h" #include "code_8094F88.h" @@ -31,10 +31,6 @@ extern void sub_8011C28(u32); extern void sub_809927C(u8); extern u32 sub_8031050(); extern void sub_80310B4(); - -extern char gUnknown_202E5D8[0x50]; -extern char gAvailablePokemonNames[0x50]; - extern void nullsub_130(void); extern void sub_8028348(void); @@ -199,12 +195,12 @@ u32 sub_8027F88(void) sUnknown_203B2C0->unk53C = 0; sUnknown_203B2C0->mailIndex = -1; sUnknown_203B2C0->speciesNum = -1; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_PELIPPER); monName = GetMonSpecies(MONSTER_PELIPPER); - strcpy(gAvailablePokemonNames, monName); + strcpy(gFormatBuffer_Monsters[0], monName); faceFile = GetDialogueSpriteDataPtr(MONSTER_PELIPPER); sUnknown_203B2C0->monPortrait.faceFile = faceFile; - sUnknown_203B2C0->monPortrait.faceData = faceFile->data; + sUnknown_203B2C0->monPortrait.faceData = (void *) faceFile->data; sUnknown_203B2C0->monPortrait.spriteId = 0; sUnknown_203B2C0->monPortrait.flip = FALSE; sUnknown_203B2C0->monPortrait.unkE = 0; diff --git a/src/wonder_mail_2.c b/src/wonder_mail_2.c index 5c9ae138f..0697ac6da 100644 --- a/src/wonder_mail_2.c +++ b/src/wonder_mail_2.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_800D090.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_802F204.h" #include "code_8094F88.h" #include "code_8097670.h" @@ -39,8 +39,6 @@ enum States { static EWRAM_DATA_2 struct unkStruct_203B2C8 *sUnknown_203B2C8 = {0}; extern void sub_80920D8(u8 *buffer); -extern char gUnknown_202E5D8[0x50]; -extern char gAvailablePokemonNames[0x50]; extern void sub_802B548(u32); extern void sub_802B560(void); @@ -85,10 +83,10 @@ s32 sub_802B2D4(void) sUnknown_203B2C8 = MemoryAlloc(sizeof(struct unkStruct_203B2C8),8); MemoryFill8((u8 *)sUnknown_203B2C8,0,sizeof(struct unkStruct_203B2C8)); sUnknown_203B2C8->unk1 = -1; - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_PELIPPER); faceFile = GetDialogueSpriteDataPtr(MONSTER_PELIPPER); sUnknown_203B2C8->monPortrait.faceFile = faceFile; - sUnknown_203B2C8->monPortrait.faceData = faceFile->data; + sUnknown_203B2C8->monPortrait.faceData = (void *) faceFile->data; sUnknown_203B2C8->monPortrait.spriteId = 0; sUnknown_203B2C8->monPortrait.flip = FALSE; sUnknown_203B2C8->monPortrait.unkE = 0; @@ -216,9 +214,9 @@ void sub_802B57C(void) if (sub_802F298() == 3) { sub_802F2C0(); - CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + CopyYellowMonsterNametoBuffer(gSpeakerNameBuffer, MONSTER_PELIPPER); monName = GetMonSpecies(MONSTER_PELIPPER); - strcpy(gAvailablePokemonNames, monName); + strcpy(gFormatBuffer_Monsters[0], monName); sub_802B548(2); } } diff --git a/src/wonder_mail_6.c b/src/wonder_mail_6.c index 3079b1862..0111b82ae 100644 --- a/src/wonder_mail_6.c +++ b/src/wonder_mail_6.c @@ -7,7 +7,7 @@ #include "pokemon.h" #include "code_8094F88.h" #include "menu_input.h" -#include "code_80130A8.h" +#include "string_format.h" #include "wonder_mail_4.h" #include "wonder_mail_5.h" @@ -110,7 +110,7 @@ bool8 sub_8030F58(u32 wonderMailType) gUnknown_203B328->wonderMailType = wonderMailType; file = GetDialogueSpriteDataPtr(MONSTER_PELIPPER); gUnknown_203B328->monPortrait.faceFile = file; - gUnknown_203B328->monPortrait.faceData = file->data; + gUnknown_203B328->monPortrait.faceData = (void *) file->data; gUnknown_203B328->monPortrait.spriteId = 0; gUnknown_203B328->monPortrait.flip = FALSE; gUnknown_203B328->monPortrait.unkE = 0; diff --git a/src/wonder_mail_802D098.c b/src/wonder_mail_802D098.c index 28b1a3b0f..a5e341bc8 100644 --- a/src/wonder_mail_802D098.c +++ b/src/wonder_mail_802D098.c @@ -1,6 +1,6 @@ #include "global.h" #include "globaldata.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_802DE84.h" #include "code_803B050.h" #include "code_80958E8.h" diff --git a/src/wonder_mail_main_menu.c b/src/wonder_mail_main_menu.c index e64fcedef..a327a8453 100644 --- a/src/wonder_mail_main_menu.c +++ b/src/wonder_mail_main_menu.c @@ -1,7 +1,7 @@ #include "global.h" #include "globaldata.h" #include "code_80118A4.h" -#include "code_80130A8.h" +#include "string_format.h" #include "code_801B3C0.h" #include "code_803B050.h" #include "code_801C8C4.h" diff --git a/sym_ewram.txt b/sym_ewram.txt index 43bdad363..1a5b5655e 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -181,87 +181,10 @@ gUnknown_202DE19: /* 202DE19 (sub_800F990 - sub_8010014) */ .space 0x2 .include "src/save.o" - .align 4 + .space 4 + .include "src/string_format.o" + .space 4 -/* gFormatData_202DE30[0] seems to be the s32 value to insert in place of "$d0" (ARG_VALUE_0) in strings */ -/* gFormatData_202DE30[1] through gFormatData_202DE30[4] are for "$d1" (ARG_VALUE_1) through "$d4" (ARG_VALUE_4) */ -/* No known occurences after those (in pmd red) */ -gFormatData_202DE30: /* 202DE30 [used everywhere tbh] */ - .space 0x28 -/* Seems to be a general u8 buffer for text, mostly used with item names */ -gFormatItems: /* 202DE58 [used everywhere tbh] */ - .space 80 -gUnknown_202DEA8: /* 202DEA8 [used everywhere tbh] */ - .space 240 -gAvailablePokemonNames: /* 202DF98 [used everywhere tbh] gAvailablePokemonNames[80][] */ - .space 80 -gUnknown_202DFE8: /* 202DFE8 (sub_801FF28 - PierceStatusTarget) */ - .space 80 -gUnknown_202E038: /* 202E038 (HandleMissionReward - sub_808CD44) [{ARG_POKEMON_2}] */ - .space 80 -gUnknown_202E088: /* 202E088 (sub_806FDF4 - sub_808C10C) [{ARG_POKEMON_3}]? */ - .space 160 -gUnknown_202E128: /* 202E128 (sub_8020A80) */ - .space 160 -gUnknown_202E1C8: /* 202E1C8 (CreateFelicityBank - MakuhitaDojo_New) */ - .space 80 -gUnknown_202E218: /* 202E218 (sub_801B200) */ - .space 160 -gPlayerName: /* 202E2B8 (UpdateLuminousCaveDialogue - sub_80A14E8) */ - .space 800 -gUnknown_202E5D8: /* 202E5D8 [used everywhere tbh] */ - .space 80 -gUnknown_202E628: /* 202E628 (HandleMissionReward - sub_80A14E8) */ - .space 0xB8 - -gUnknown_202E6E0: /* 202E6E0 (xxx_draw_string_80144C4) */ - .space 0x8 -gTeamName: /* 202E6E8 (xxx_format_string) */ - .space 80 -gUnknown_202E738: /* 202E738 (sub_8014144 - xxx_draw_string_80144C4) */ - .space 0x4 -gUnknown_202E73C: /* 202E73C (sub_8014144 - xxx_draw_string_80144C4) */ - .space 0x4 -gUnknown_202E740: /* 202E740 (sub_8014144 - xxx_draw_string_80144C4) */ - .space 0x4 -gUnknown_202E744: /* 202E744 (sub_8014144 - xxx_draw_string_80144C4) */ - .space 0x4 -gUnknown_202E748: /* 202E748 (sub_8014248 - xxx_draw_string_80144C4) */ - .space 0x34 -gUnknown_202E77C: /* 202E77C (sub_8014248 - xxx_draw_string_80144C4) */ - .space 0x4 -gUnknown_202E780: /* 202E780 (xxx_draw_string_80144C4) */ - .space 0x4 -gUnknown_202E784: /* 202E784 (sub_8014248 - xxx_draw_string_80144C4) */ - .space 0x4 -gUnknown_202E788: /* 202E788 (sub_8014248 - xxx_draw_string_80144C4) */ - .space 0x4 -gUnknown_202E78C: /* 202E78C (sub_8014248 - xxx_draw_string_80144C4) */ - .space 0x4 -gUnknown_202E790: /* 202E790 (sub_8014248 - xxx_draw_string_80144C4) */ - .space 0x1 -gUnknown_202E791: /* 202E791 (sub_8014248 - xxx_draw_string_80144C4) */ - .space 0x3 -gUnknown_202E794: /* 202E794 (sub_8014248 - xxx_draw_string_80144C4) */ - .space 0x4 -gUnknown_202E798: /* 202E798 (sub_8014248) [on screen dialogue text] */ - .space 1000 -gUnknown_202EB80: /* 202EB80 (xxx_format_string) */ - .space 0x40 -gUnknown_202EBC0: /* 202EBC0 (sub_8014A88 - sub_8014B94) */ - .space 80 -gUnknown_202EC10: /* 202EC10 (sub_8014248 - sub_8014A88) */ - .space 0x4 -gUnknown_202EC14: /* 202EC14 (sub_8014248 - sub_8014A88) */ - .space 0x4 -gUnknown_202EC18: /* 202EC18 (sub_8014248 - sub_8014A88) */ - .space 0x4 -gUnknown_202EC1C: /* 202EC1C (sub_8014248 - sub_8014B94) */ - .space 0x4 -gUnknown_202EC20: /* 202EC20 (sub_8014A88) */ - .space 0x8 -gUnknown_202EC28: /* 202EC28 (sub_8014248 - xxx_draw_string_80144C4) */ - .space 0x10 gUnknown_202EC38: /* 202EC38 (sub_8037B28) */ .space 0x8