diff --git a/asm/code_80140DC.s b/asm/code_80140DC.s deleted file mode 100644 index 74d3169fd..000000000 --- a/asm/code_80140DC.s +++ /dev/null @@ -1,10 +0,0 @@ - #include "asm/constants/gba_constants.inc" - #include "asm/macros.inc" - - .syntax unified - .text - - - - - .align 2,0 diff --git a/asm/code_805D8C8.s b/asm/code_805D8C8.s index 7c45e093e..7676c51ba 100644 --- a/asm/code_805D8C8.s +++ b/asm/code_805D8C8.s @@ -4296,7 +4296,7 @@ _08063C70: .4byte gDungeon _08063C74: .4byte 0x0001357c _08063C78: .4byte gFormatItems _08063C7C: .4byte 0x00000119 -_08063C80: .4byte gUnknown_202DEA8 +_08063C80: .4byte gFormatItems + 0x50 _08063C84: .4byte 0x00000133 thumb_func_end sub_8063BB4 diff --git a/asm/code_8066D04.s b/asm/code_8066D04.s index 3fe1490cd..8dd5f5b3e 100644 --- a/asm/code_8066D04.s +++ b/asm/code_8066D04.s @@ -73,7 +73,7 @@ _08066E80: ldr r0, _08066EA4 b _08066F1E .align 2, 0 -_08066EA0: .4byte gUnknown_202DEA8 +_08066EA0: .4byte gFormatItems + 0x50 _08066EA4: .4byte gItemStickyCannotMove3 _08066EA8: mov r2, r9 @@ -317,7 +317,7 @@ _0806709E: bl TryDisplayDungeonLoggableMessage b _080670EE .align 2, 0 -_080670A8: .4byte gUnknown_202DEA8 +_080670A8: .4byte gFormatItems + 0x50 _080670AC: .4byte 0xffffff00 _080670B0: .4byte gNothingCanBePutDownHere _080670B4: diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index 237659a3a..3b4300ce4 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -499,7 +499,7 @@ _0808FB94: movs r0, 0x4 mov r1, r9 ldr r3, [sp, 0x50] - bl sub_8015034 + bl PrintFormatStringOnWindow2 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 PrintFormatStringOnWindow2 b _0808FED6 .align 2, 0 _0808FBE8: .4byte gUnknown_810775C @@ -611,7 +611,7 @@ _0808FC96: b _0808FD98 .align 2, 0 _0808FCA0: .4byte gStatusNames -_0808FCA4: .4byte gUnknown_202DEA8 +_0808FCA4: .4byte gFormatItems + 0x50 _0808FCA8: .4byte gUnknown_8107784 _0808FCAC: .4byte gUnknown_810DF78 _0808FCB0: @@ -680,7 +680,7 @@ _0808FCFC: bl strcpy b _0808FD4E .align 2, 0 -_0808FD3C: .4byte gUnknown_202DEA8 +_0808FD3C: .4byte gFormatItems + 0x50 _0808FD40: .4byte gUnknown_8107788 _0808FD44: adds r0, r6, 0 diff --git a/include/code_80130A8.h b/include/code_80130A8.h index 2c9111e57..313a29418 100644 --- a/include/code_80130A8.h +++ b/include/code_80130A8.h @@ -26,6 +26,8 @@ struct MonPortraitMsg u8 unkE; }; +extern u8 gFormatItems[4][80]; + // code_80130A8.s void sub_8013E54(void); void sub_8013F84(void); diff --git a/include/text2.h b/include/text2.h index 0ea84f8af..190a13f33 100644 --- a/include/text2.h +++ b/include/text2.h @@ -80,7 +80,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); -void sub_8008F8C(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr, s32 lineSpacing); +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..e345ab2d1 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -104,7 +104,6 @@ SECTIONS { src/menu_input.o(.text); asm/code_80130A8.o(.text); src/code_80140DC.o(.text); - asm/code_80140DC.o(.text); src/code_8015080.o(.text); asm/code_8015080.o(.text); src/code_8012A18_1.o(.text); diff --git a/src/code_80140DC.c b/src/code_80140DC.c index a11cab662..a168ffd85 100644 --- a/src/code_80140DC.c +++ b/src/code_80140DC.c @@ -15,11 +15,6 @@ #include "rescue_team_info.h" #include "event_flag.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 @@ -79,6 +74,99 @@ 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 s32 gUnknown_202E738; +extern s32 gUnknown_202E73C; +extern s32 gUnknown_202E740; +extern s32 gUnknown_202E744; +extern struct UnkDrawStringStruct gUnknown_202E748; +extern u32 gUnknown_202EC10; +extern const MenuItem *gUnknown_202EC14; +extern void *gUnknown_202EC18; +extern s32 gUnknown_202EC1C; +extern u8 gUnknown_202E798[]; +extern const u8 *gUnknown_202E794; +extern MenuInputStructSub gUnknown_202EC28; +extern struct UnkStruct_203B198 gUnknown_203B198; +extern UnkTextStruct1 gUnknown_2027370[4]; +extern u16 gUnknown_202E77C; +extern u8 gUnknown_202E790; +extern u8 gUnknown_202E791; +extern u32 gUnknown_202E788; +extern u32 gUnknown_202E78C; +extern u32 gUnknown_202E784; +extern s32 gUnknown_202E780; +extern SpriteOAM gUnknown_202E6E0; +extern void (*gUnknown_203B088)(s32 a0); +extern MenuStruct gUnknown_202EBC0; +extern u8 gUnknown_202EB80[]; +extern u8 gUnknown_202E628[]; +extern u8 gAvailablePokemonNames[][80]; +extern u8 gPlayerName[][80]; +extern u8 gTeamName[]; +extern u8 gUnknown_202E5D8[]; + +// Only read, but never written to. Possibly used in Blue? +struct NeverWrittenToStruct202EC20 +{ + struct SubStruct_203B198 unk0; + const u8 *unk18; +}; + +extern struct NeverWrittenToStruct202EC20 *gUnknown_202EC20; + +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 gUnknown_80D48F4[]; + +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); + +void sub_8014A88(void); +bool8 sub_8014B94(void); +static void nullsub_35(void); +bool8 AppendString_8014FA8(const u8 *, u8 **, u8 *, u16 r3); + +// 'd', 'v' and 'V' +EWRAM_DATA s32 gFormatData_202DE30[10] = {0}; +// 'i', apparently only i0 and i1 are actually used though it's yet to be verified +EWRAM_DATA u8 gFormatItems[4][80] = {0}; + void sub_8014144(void) { gUnknown_202E744 = 0; @@ -115,63 +203,6 @@ void CreateYesNoDialogueBoxAndPortrait_DefaultNo(const u8 *text, struct MonPortr CreateMenuDialogueBoxAndPortrait(text, NULL, -1, gUnknown_80D4880, NULL, 3, 0, monPortraitPtr, param_3 | 0x300); } -extern u8 gUnknown_202E798[]; - -extern const u8 *gUnknown_202E794; - -extern struct UnkDrawStringStruct gUnknown_202E748; -extern u32 gUnknown_202EC10; -extern const MenuItem *gUnknown_202EC14; -extern void *gUnknown_202EC18; -extern s32 gUnknown_202EC1C; - -extern MenuInputStructSub gUnknown_202EC28; - -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 const struct SubStruct_203B198 gUnknown_80D48AC; - -extern const struct UnkTextStruct2 gUnknown_80D48DC; -extern const struct UnkTextStruct2 gUnknown_80D48C4; - -extern UnkTextStruct1 gUnknown_2027370[4]; -extern u16 gUnknown_202E77C; -extern u8 gUnknown_202E790; -extern u8 gUnknown_202E791; -extern u32 gUnknown_202E788; -extern u32 gUnknown_202E78C; -extern u32 gUnknown_202E784; - -extern void SetCharacterMask(int a0); -extern void sub_8008274(s32 a0, const u8 *compressedData, s32 a2); -extern void sub_80073E0(s32 a0); - void CreateMenuDialogueBoxAndPortrait(const u8 *text, void *a1, u32 r9, const MenuItem *menuItems, void *arg_0, u32 a5, u32 unknownUnused, struct MonPortraitMsg *monPortraitPtr, u16 r10) { bool8 portraitOn = FALSE; @@ -273,17 +304,6 @@ s32 sub_80144A4(s32 *a0) return gUnknown_202E744; } -extern s32 gUnknown_202E780; -extern void sub_8011A04(void); - -extern SpriteOAM gUnknown_202E6E0; - -extern void (*gUnknown_203B088)(s32 a0); - -void sub_8014A88(void); -bool8 sub_8014B94(void); -static void nullsub_35(void); - void DrawDialogueBoxString(void) { bool8 keepLooping = TRUE; @@ -588,17 +608,6 @@ void DrawDialogueBoxString(void) } } -// Only read, but never written to. Possibly used in Blue? -struct NeverWrittenToStruct202EC20 -{ - struct SubStruct_203B198 unk0; - const u8 *unk18; -}; - -extern struct NeverWrittenToStruct202EC20 *gUnknown_202EC20; -extern MenuStruct gUnknown_202EBC0; -extern const u32 gUnknown_80D48A0[]; - void sub_8014A88(void) { s32 r2, r1; @@ -660,25 +669,9 @@ bool8 sub_8014B94(void) } } -static void UNUSED nullsub_35(void) {} - -extern u8 gUnknown_202E5D8[]; -extern const u8 gUnknown_80D48F4[]; -bool8 AppendString_8014FA8(const u8 *, u8 **, u8 *, u16 r3); - -extern u8 gUnknown_202EB80[]; -extern u8 gUnknown_202E628[]; -extern u8 gFormatItems[][80]; -extern u8 gAvailablePokemonNames[][80]; -extern u8 gPlayerName[][80]; -extern s32 gFormatData_202DE30[]; -extern u8 gTeamName[]; - -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[]; +static void UNUSED nullsub_35(void) +{ +} const u8 *xxx_format_string(const u8 *str, u8 *dst, u8 *dstMax, u16 flags) { @@ -876,13 +869,13 @@ void PrintFormatStringOnWindow(s32 x, s32 y, const u8 *str, u32 windowId, u32 te PrintStringOnWindow(x, y, formatString, windowId, terminatingChr); } -void sub_8015034(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr, s32 lineSpacing) +void PrintFormatStringOnWindow2(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr, s32 lineSpacing) { u8 formatString[FORMAT_STR_MAX_LEN]; xxx_format_string(str, formatString, formatString + FORMAT_STR_MAX_LEN, 0); formatString[FORMAT_STR_MAX_LEN - 1] = '\0'; - sub_8008F8C(x, y, formatString, windowId, terminatingChr, lineSpacing); + PrintStringOnWindow2(x, y, formatString, windowId, terminatingChr, lineSpacing); } // diff --git a/src/code_801B60C.c b/src/code_801B60C.c index 7a0ffedd1..1a371c099 100644 --- a/src/code_801B60C.c +++ b/src/code_801B60C.c @@ -17,8 +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}; @@ -60,7 +58,7 @@ bool8 sub_801B60C(u32 r0, u8 id, u8 quantity) sUnknown_203B234->unk14.unk4 = 0; sUnknown_203B234->unk14.unk8 = 1; PrintColoredPokeNameToBuffer(gAvailablePokemonNames, GetPlayerPokemonStruct(), COLOR_YELLOW); - sub_8090E14(gFormatItems, &sUnknown_203B234->unk10, &sUnknown_203B234->unk14); + sub_8090E14(gFormatItems[0], &sUnknown_203B234->unk10, &sUnknown_203B234->unk14); sub_801B748(0); return TRUE; } @@ -389,13 +387,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(gFormatItems[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(gFormatItems[1], &sUnknown_203B234->unk20, &sUnknown_203B234->unk14); sub_8099690(0); sub_801B748(11); break; diff --git a/src/code_80227B8.c b/src/code_80227B8.c index 11e1a225d..75c6c5520 100644 --- a/src/code_80227B8.c +++ b/src/code_80227B8.c @@ -17,8 +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}; @@ -202,7 +200,7 @@ static void sub_8022A10(void) if (r5 != r6) { sUnknown_203B294->fallbackState = 10; - strcpy(gUnknown_202DEA8, GetIQSkillName(sUnknown_203B294->unk40)); + strcpy(gFormatItems[1], GetIQSkillName(sUnknown_203B294->unk40)); PlaySound(203); CreateDialogueBoxAndPortrait(sFmtIQHelpedLearn, 0, 0, 0x101); sUnknown_203B294->unk40++; @@ -376,7 +374,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(gFormatItems[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 a08428640..5db16f5d7 100644 --- a/src/code_802DB28.c +++ b/src/code_802DB28.c @@ -13,7 +13,6 @@ #include "text1.h" #include "text2.h" -extern u8 gFormatItems[]; extern u8 gUnknown_202E1C8[]; extern u8 gUnknown_202E5D8[]; @@ -125,7 +124,7 @@ static void sub_802DC9C(void) speciesText = GetMonSpecies(sUnknown_203B2FC->jobInfo->targetSpecies); strcpy(gUnknown_202E1C8 - 480, speciesText); UnlockExclusivePokemon(sUnknown_203B2FC->jobInfo->clientSpecies); - BufferItemName(gFormatItems, sUnknown_203B2FC->jobInfo->targetItem, NULL); + BufferItemName(gFormatItems[0], sUnknown_203B2FC->jobInfo->targetItem, NULL); sUnknown_203B2FC->fallbackState = 6; switch (sUnknown_203B2FC->jobInfo->missionType) { diff --git a/src/code_8048480.c b/src/code_8048480.c index 985fc2e6e..4d71804e5 100644 --- a/src/code_8048480.c +++ b/src/code_8048480.c @@ -27,7 +27,6 @@ #include "structs/str_position.h" extern u8 gAvailablePokemonNames[]; -extern u8 gFormatItems[]; extern s16 gTypeGummiIQBoost[NUM_TYPES][NUMBER_OF_GUMMIS]; @@ -222,7 +221,7 @@ void sub_80479B8(char param_1, char param_2, u8 param_3, Entity *pokemon, Entity return; } PlaySoundEffect(0x14d); - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatItems[0],item); SetMessageArgument(gAvailablePokemonNames,target,0); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDBB8); // $m0 caught the $i0 info->heldItem = *item; @@ -236,7 +235,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(gFormatItems[0],item); TryDisplayDungeonLoggableMessage3(pokemon,target,*gItemStickyDoesntWorkText); if (param_1 != '\0') { sub_806F370(pokemon,target,gUnknown_80F4FAE,1,&uStack_24,0,0x217,0,0,0); @@ -1035,7 +1034,7 @@ bool8 sub_8048D50(Entity * pokemon, Item *item) entityInfo = pokemon->info; if ((item->flags & ITEM_FLAG_STICKY) != 0) { - sub_8045BF8(gFormatItems, item); + sub_8045BF8(gFormatItems[0], item); TryDisplayDungeonLoggableMessage(pokemon,*gItemStickyDoesntWorkText); return FALSE; } diff --git a/src/code_8066D04.c b/src/code_8066D04.c index aa47d834c..148194bb9 100644 --- a/src/code_8066D04.c +++ b/src/code_8066D04.c @@ -7,9 +7,8 @@ #include "dungeon_music.h" #include "dungeon_util.h" #include "items.h" +#include "code_80130A8.h" -extern u8 gFormatItems[]; -extern u8 gUnknown_202DEA8[]; extern u8 gAvailablePokemonNames[]; extern u8 gUnknown_202DFE8[]; @@ -57,14 +56,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(gFormatItems[0],itemPtr); TryDisplayDungeonLoggableMessage(param_1,*gItemStickyCannotEquip); return; } itemPtr->flags &= ~(ITEM_FLAG_SET); } } - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatItems[0],item); PlaySoundEffect(0x133); if (param_2 != 0) { if ((item->flags & ITEM_FLAG_STICKY)) { @@ -82,7 +81,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(gFormatItems[0],item); TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0); } } @@ -98,12 +97,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(gFormatItems[0],item); TryDisplayDungeonLoggableMessage(entity,*gItemStickyCannotEquip); return; } item->flags &= ~(ITEM_FLAG_SET); - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatItems[0],item); PlaySoundEffect(0x133); if (enableMessage) { TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8D20); @@ -135,7 +134,7 @@ 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(gFormatItems[1],item); TryDisplayDungeonLoggableMessage(param_1,*gItemStickyCannotMove2); } else @@ -143,7 +142,7 @@ void HandleGiveItemAction(Entity *param_1) SetMessageArgument(gUnknown_202DFE8,entity,0); if (((info2->heldItem).flags & ITEM_FLAG_EXISTS)) { if (((info2->heldItem).flags & ITEM_FLAG_STICKY)) { - sub_8045BF8(gUnknown_202DEA8,&info2->heldItem); + sub_8045BF8(gFormatItems[1],&info2->heldItem); TryDisplayDungeonLoggableMessage(param_1,*gItemStickyCannotMove1); return; } @@ -159,8 +158,8 @@ void HandleGiveItemAction(Entity *param_1) AddItemToInventory(&item1); } info2->heldItem = item2; - sub_8045BF8(gFormatItems,&item2); - sub_8045BF8(gFormatItems + 0x50,&item1); + sub_8045BF8(gFormatItems[0],&item2); + sub_8045BF8(gFormatItems[1],&item1); PlaySoundEffect(0x14d); TryDisplayDungeonLoggableMessage(param_1,*gMonTookAndReturnedItem); if ((item2.flags & ITEM_FLAG_STICKY)) { @@ -172,7 +171,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(gFormatItems[0],&item3); PlaySoundEffect(0x14d); TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8D44); if ((item3.flags & ITEM_FLAG_STICKY)) { @@ -209,14 +208,14 @@ void HandleTakeItemAction(Entity *param_1) else { if ((heldItem->flags & ITEM_FLAG_STICKY)) { - sub_8045BF8(gFormatItems,heldItem); + sub_8045BF8(gFormatItems[0],heldItem); TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0); } else { item = *heldItem; item.flags &= ~(ITEM_FLAG_SET); - sub_8045BF8(gFormatItems,&item); + sub_8045BF8(gFormatItems[0],&item); SetMessageArgument(gAvailablePokemonNames,entity,0); heldItem->id = ITEM_NOTHING; heldItem->quantity = 0; @@ -250,19 +249,19 @@ 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(gFormatItems[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(gFormatItems[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); + sub_8045BF8(gFormatItems[0],heldItem); + sub_8045BF8(gFormatItems[1],item); SetMessageArgument(gUnknown_202DFE8,entity,0); temp = info->heldItem; info->heldItem = *item; @@ -302,7 +301,7 @@ void HandlePlaceItemAction(Entity *param_1) info = entity->info; item = sub_8044D90(entity,0,4); - sub_8045BF8(gFormatItems,item); + sub_8045BF8(gFormatItems[0],item); if (info->action.unk4[0].actionUseIndex == 0x80) { TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8DE0); } @@ -319,7 +318,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(gFormatItems[0],item); if (sub_80460F8(&entity->pos,item,1) == 0) { _message: TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8E04); diff --git a/src/code_8069E0C.c b/src/code_8069E0C.c index 9af6217c5..7029c795d 100644 --- a/src/code_8069E0C.c +++ b/src/code_8069E0C.c @@ -31,7 +31,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[]; @@ -194,7 +193,7 @@ _0806A068: iVar6->isColorChanged = TRUE; SetMessageArgument(gAvailablePokemonNames,target,0); __src = GetUnformattedTypeString(iVar6->types[0]); - strcpy(gFormatItems,__src); + strcpy(gFormatItems[0],__src); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCCAC); sub_8042968(target); } @@ -219,7 +218,7 @@ void sub_806A120(Entity * pokemon, Entity * target, Move* move) sub_8041BBC(target); SetMessageArgument(gAvailablePokemonNames,target,0); typeString = GetUnformattedTypeString(uVar2_u32); - strcpy(gFormatItems,typeString); + strcpy(gFormatItems[0],typeString); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDCC8); } } @@ -319,7 +318,7 @@ void sub_806A390(Entity *pokemon) s32 index; EntityInfo *info; Move *move; - + info = pokemon->info; for(index = 0; index < MAX_MON_MOVES; index++) { diff --git a/src/code_80718D8.c b/src/code_80718D8.c index dd5f0f765..b591e89b6 100644 --- a/src/code_80718D8.c +++ b/src/code_80718D8.c @@ -31,7 +31,6 @@ 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; @@ -550,7 +549,7 @@ void sub_8072008(Entity *pokemon, Entity *target, s32 level, u8 param_4, u8 para { if ((tacticsBuffer1[tacticIndex] == 0) && (tacticsBuffer2[tacticIndex] == 1)) { SetMessageArgument(gAvailablePokemonNames,target,0); - CopyTacticsNameToBuffer(gFormatItems,tacticIndex); + CopyTacticsNameToBuffer(gFormatItems[0],tacticIndex); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FF730); } } diff --git a/src/code_8073CF0.c b/src/code_8073CF0.c index cab0f537f..8ebc77851 100644 --- a/src/code_8073CF0.c +++ b/src/code_8073CF0.c @@ -65,7 +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[]; @@ -157,7 +156,7 @@ void sub_8073D14(Entity *entity) return; if (ShouldMonsterRunAwayAndShowEffect(entity, TRUE)) { - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatItems[0], groundItem); SetMessageArgument(gAvailablePokemonNames, entity, 0); DisplayDungeonLoggableMessageTrue(entity, gMonTerrifiedCouldntPickUpItem); } @@ -170,7 +169,7 @@ void sub_8073D14(Entity *entity) PlaySoundEffect(0x14C); } AddToTeamMoney(GetMoneyValue(groundItem)); - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatItems[0], groundItem); sub_80461C8(&entity->pos, 1); DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItem); } @@ -232,7 +231,7 @@ void sub_8073D14(Entity *entity) if (groundItem->flags & ITEM_FLAG_STICKY) carriedItems[newInventoryId]->flags |= ITEM_FLAG_STICKY; - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatItems[0], groundItem); sub_80461C8(&entity->pos, 1); PlaySoundEffect(0x14A); if (inventoryIds[newInventoryId] <= -1) @@ -250,7 +249,7 @@ void sub_8073D14(Entity *entity) } if (i == nItems) { - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatItems[0], groundItem); DisplayDungeonLoggableMessageTrue(entity, gMonSteppedOnItem); } else { @@ -263,7 +262,7 @@ void sub_8073D14(Entity *entity) if (inventoryIds[i] <= -1) { _entityInfo->heldItem = *groundItem; - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatItems[0], groundItem); sub_80461C8(&entity->pos, 1); DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItem2); } @@ -272,7 +271,7 @@ void sub_8073D14(Entity *entity) DisplayDungeonLoggableMessageTrue(entity, gMonCouldntPickUpItem); } else { - sub_8045BF8(gFormatItems, groundItem); + sub_8045BF8(gFormatItems[0], groundItem); sub_80461C8(&entity->pos, 1); DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItemToolbox); } diff --git a/src/code_809447C.c b/src/code_809447C.c index 869fbf568..aec7b6c82 100644 --- a/src/code_809447C.c +++ b/src/code_809447C.c @@ -15,7 +15,6 @@ struct unkStruct_8113080 u8 *text; }; -extern u8 gFormatItems[]; extern u8 gAvailablePokemonNames[]; extern s32 gFormatData_202DE30[2]; @@ -61,7 +60,7 @@ 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); + sub_80928C0(gFormatItems[0], &move, NULL); xxx_format_string(*gUnknown_811383C, buffer, buffer + 200, 0); // $m0's $i0 } else { strncpy(buffer, gUnknown_8113080[moveID - 0x1F4].text, 200); @@ -160,10 +159,10 @@ void sub_8094558(u32 param_1,u8 *param_2,UnkDungeonGlobal_unk1CE98_sub *param_3) y += 0x10; item = &(param_3->heldItem); if ((param_3->heldItem.flags & ITEM_FLAG_EXISTS)) { - sub_8090E14(gFormatItems,item,0); + sub_8090E14(gFormatItems[0],item,0); } else { - strcpy(gFormatItems,*gUnknown_81139B8); + strcpy(gFormatItems[0],*gUnknown_81139B8); } PrintFormatStringOnWindow(4,y,*gUnknown_81139CC,param_1,0); sub_80073E0(param_1); diff --git a/src/dungeon_ai_attack.c b/src/dungeon_ai_attack.c index a6b32d018..17fbdd5d2 100644 --- a/src/dungeon_ai_attack.c +++ b/src/dungeon_ai_attack.c @@ -45,7 +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}; @@ -994,7 +993,7 @@ void HandleUseOrbAction(Entity *pokemon) IVar5 = *item; if (item->flags & ITEM_FLAG_STICKY) { - sub_8045BF8(gFormatItems, item); + sub_8045BF8(gFormatItems[0], item); TryDisplayDungeonLoggableMessage(pokemon, *gItemStickyDoesntWorkText); return; } diff --git a/src/dungeon_cutscenes.c b/src/dungeon_cutscenes.c index 4fa360585..39555f9b9 100644 --- a/src/dungeon_cutscenes.c +++ b/src/dungeon_cutscenes.c @@ -33,7 +33,6 @@ 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; @@ -4121,7 +4120,7 @@ void JirachiWish(void) PlaySoundEffect(0xd4); leaderEntity = GetLeader(); SetMessageArgument(gAvailablePokemonNames,leaderEntity,0); - WriteFriendAreaName(gFormatItems,friendArea,FALSE); + WriteFriendAreaName(gFormatItems[0],friendArea,FALSE); // Obtained the friend area! DisplayDungeonDialogue(&gUnknown_8105B68); } diff --git a/src/dungeon_move.c b/src/dungeon_move.c index 74744f760..8701df7e5 100644 --- a/src/dungeon_move.c +++ b/src/dungeon_move.c @@ -368,7 +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; @@ -1873,7 +1872,7 @@ bool32 sub_8055A00(Entity *attacker, s32 firstMoveId, s32 var_34, s32 itemId, s3 } else { if (!statusMoveMatch) { - sub_80928C0(gFormatItems, currMove, NULL); + sub_80928C0(gFormatItems[0], currMove, NULL); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80F93C8); // The move can't be used! moveUsable = FALSE; } @@ -1888,7 +1887,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(gFormatItems[0], &assistMove, NULL); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FD2DC); // Assist: moveWasUsed = TryUseChosenMove(attacker, var_34, itemId, arg_0, isLinkedMove, &assistMove); } @@ -1938,7 +1937,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(gFormatItems[0], &assistMove, NULL); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FD2DC); // Assist: } TryUseChosenMove(attacker, 0, itemId, arg_0, isLinkedMove, movePtr); @@ -2079,7 +2078,7 @@ bool8 TryUseChosenMove(struct Entity *attacker, u32 r6, s32 itemId, u32 var_30, } SetMessageArgument_2(gAvailablePokemonNames, GetEntInfo(attacker), 0); - sub_80928C0(gFormatItems, move, NULL); + sub_80928C0(gFormatItems[0], move, NULL); if (MoveMatchesChargingStatus(attacker, move)) { msg = gUnknown_80FC72C; // mon loosed move GetEntInfo(attacker)->unkFF = 0; @@ -2109,13 +2108,13 @@ bool8 TryUseChosenMove(struct Entity *attacker, u32 r6, s32 itemId, u32 var_30, else if (!moveUsable) { SetMessageArgument_2(gAvailablePokemonNames, GetEntInfo(attacker), 0); if (itemId == 0) { - sub_80928C0(gFormatItems, move, NULL); + sub_80928C0(gFormatItems[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(gFormatItems[0], itemId, NULL); TryDisplayDungeonLoggableMessage(attacker, msg); sub_803E708(0xA, 0x3F); TryDisplayDungeonLoggableMessage(attacker, gUnknown_80FC6FC); // But Orbs are prevented from being used! @@ -2234,10 +2233,10 @@ bool8 sub_8056468(Entity *entity, Move *move, const u8 *str, Entity **unkArray, if (r7) { SetMessageArgument_2(gAvailablePokemonNames, GetEntInfo(entity), 0); if (itemId == 0) { - sub_80928C0(gFormatItems, move, NULL); + sub_80928C0(gFormatItems[0], move, NULL); } else { - BufferItemName(gFormatItems, itemId, NULL); + BufferItemName(gFormatItems[0], itemId, NULL); } } diff --git a/src/friend_area_action_menu.c b/src/friend_area_action_menu.c index db538e9ea..044667a79 100644 --- a/src/friend_area_action_menu.c +++ b/src/friend_area_action_menu.c @@ -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,7 +702,7 @@ void sub_8027D40(u32 r0, BulkItem *heldItem) a3.unk4 = 0; a3.unk8 = 1; slot.flags = ITEM_FLAG_EXISTS; - sub_8090E14(gFormatItems, &slot, &a3); + sub_8090E14(gFormatItems[0], &slot, &a3); PrintFormatStringOnWindow(4, 3, sItemBuffered, r0, 0); sub_80073E0(r0); } diff --git a/src/friend_list_menu.c b/src/friend_list_menu.c index 824fdd9e8..c2f363124 100644 --- a/src/friend_list_menu.c +++ b/src/friend_list_menu.c @@ -26,9 +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}; @@ -341,7 +338,7 @@ void sub_802591C(void) { int index; s32 loopMax = 0; - + MemoryFill16(gUnknown_203B2B4->unk108,0, sizeof(gUnknown_203B2B4->unk108)); @@ -522,7 +519,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 +542,7 @@ void sub_8025CB4(void) a3.unk4 = 0; a3.unk8 = 1; item.flags = ITEM_FLAG_EXISTS; - sub_8090E14(gUnknown_202DEA8,&item,&a3); + sub_8090E14(gFormatItems[1],&item,&a3); GivePokemonItem(gUnknown_203B2B4->species,&gUnknown_203B2B4->item1); sub_801A928(); nullsub_104(); @@ -645,7 +642,7 @@ void sub_8025E68(u32 r0, BulkItem *heldItem) a3.unk4 = 0; a3.unk8 = 1; item.flags = ITEM_FLAG_EXISTS; - sub_8090E14(gFormatItems, &item, &a3); + sub_8090E14(gFormatItems[0], &item, &a3); PrintFormatStringOnWindow(4, 3, sItemBuffered, r0, 0); sub_80073E0(r0); } diff --git a/src/iq_skill_info_menu.c b/src/iq_skill_info_menu.c index d3aa47af9..0ffc2c373 100644 --- a/src/iq_skill_info_menu.c +++ b/src/iq_skill_info_menu.c @@ -12,7 +12,6 @@ #include "text1.h" #include "text2.h" -extern u8 gFormatItems[]; extern u8 gAvailablePokemonNames[]; // 202DF98 static EWRAM_DATA_2 struct IQSkillInfoMenu *sIQSkillInfoMenu = {0}; @@ -87,7 +86,7 @@ static void sub_801C6E4(void) CallPrepareTextbox_8008C54(sIQSkillInfoMenu->unk24); sub_80073B8(sIQSkillInfoMenu->unk24); skillName = GetIQSkillName(sIQSkillInfoMenu->chosenIQSkill); - strcpy(gFormatItems, skillName); + strcpy(gFormatItems[0], skillName); PrintFormatStringOnWindow(16, 0, sFmtMoveItem0, 0, 0); // {MOVE_ITEM_0} PrintStringOnWindow(8, 16, GetIQSkillDescription(sIQSkillInfoMenu->chosenIQSkill), sIQSkillInfoMenu->unk24, 0); sub_80073E0(sIQSkillInfoMenu->unk24); diff --git a/src/iq_skill_list_menu.c b/src/iq_skill_list_menu.c index 0381febaa..dbeb9b4a6 100644 --- a/src/iq_skill_list_menu.c +++ b/src/iq_skill_list_menu.c @@ -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,12 +140,12 @@ 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(gFormatItems[1], GetIQSkillName(skillIndex), 80); if (IsIQSkillSet((u8 *)&sIQSkillListMenu->pokeStruct->IQSkills, 1 << skillIndex)) - strcpy(gUnknown_202DEA8 - 80, sStarBullet); + strcpy(gFormatItems[1] - 80, sStarBullet); else - strcpy(gUnknown_202DEA8 - 80, sUnknown_80DBE18); + strcpy(gFormatItems[1] - 80, sUnknown_80DBE18); PrintFormatStringOnWindow(12, y, sFmt01, sIQSkillListMenu->s24.s0.unk34, 0); } diff --git a/src/items.c b/src/items.c index 83954bf45..3873e4313 100644 --- a/src/items.c +++ b/src/items.c @@ -20,7 +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" @@ -642,7 +641,7 @@ 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(gFormatItems[0], (u8)(slot->quantity + 125), NULL); } sub_80073B8(a2); PrintFormatStringOnWindow(16, 0, buffer88, a2, 0); diff --git a/src/kangaskhan_storage1.c b/src/kangaskhan_storage1.c index 9246cf59b..162ad83df 100644 --- a/src/kangaskhan_storage1.c +++ b/src/kangaskhan_storage1.c @@ -14,7 +14,6 @@ #include "text1.h" #include "text2.h" -extern u8 gFormatItems[]; extern u8 gUnknown_202E1C8[]; extern u8 gUnknown_202E5D8[]; @@ -230,7 +229,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(gFormatItems[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 +262,7 @@ static void sub_8016FF8(void) break; case 17: sub_80177F8(); - sub_8090E14(gFormatItems, &gKangaskhanStorageWork->storedItem, 0); + sub_8090E14(gFormatItems[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 +331,7 @@ static void sub_8016FF8(void) break; case 27: sub_80177F8(); - sub_8090E14(gFormatItems, &gKangaskhanStorageWork->storedItem, 0); + sub_8090E14(gFormatItems[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/kecleon_bros1.c b/src/kecleon_bros1.c index c713c0696..b5b29a113 100644 --- a/src/kecleon_bros1.c +++ b/src/kecleon_bros1.c @@ -19,7 +19,6 @@ #include "text2.h" extern u32 gFormatData_202DE30; -extern u8 gFormatItems[]; extern u8 gUnknown_202E1C8[]; extern u8 gUnknown_202E5D8[]; @@ -289,7 +288,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(gFormatItems[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,7 +339,7 @@ static void UpdateKecleonStoreDialogue(void) break; case KECLEON_STORE_BUY_ITEM: BuildKecleonBrosYesNoMenu(); - sub_8090E14(gFormatItems, &sKecleonBrosWork1->soldItem, 0); + sub_8090E14(gFormatItems[0], &sKecleonBrosWork1->soldItem, 0); gFormatData_202DE30 = sKecleonBrosWork1->itemSellPrice; SetKecleonPortraitSpriteId(FALSE); CreateMenuDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_05], 0, 5,sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->monPortraitPtr, 12); @@ -393,7 +392,7 @@ static void UpdateKecleonStoreDialogue(void) break; case KECLEON_STORE_SELL_ITEM: BuildKecleonBrosYesNoMenu(); - sub_8090E14(gFormatItems, &sKecleonBrosWork1->soldItem, NULL); + sub_8090E14(gFormatItems[0], &sKecleonBrosWork1->soldItem, NULL); gFormatData_202DE30 = sKecleonBrosWork1->itemSellPrice; SetKecleonPortraitSpriteId(FALSE); CreateMenuDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_09], 0, 5, sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->monPortraitPtr, 12); diff --git a/src/kecleon_bros4.c b/src/kecleon_bros4.c index 7d7fea6f4..2c84e6a55 100644 --- a/src/kecleon_bros4.c +++ b/src/kecleon_bros4.c @@ -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,7 +234,7 @@ 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); + strncpy(gFormatItems[0], buf1, 80); PrintFormatStringOnWindow(8, sub_8013800(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0); } break; @@ -262,7 +260,7 @@ void sub_801A9E0(void) } else { sub_8090E14(buf1, &item, 0); - strncpy(gFormatItems, buf1, 80); + strncpy(gFormatItems[0], buf1, 80); PrintFormatStringOnWindow(8, sub_8013800(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0); } break; @@ -280,7 +278,7 @@ 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); + strncpy(gFormatItems[0], buf1, 80); PrintFormatStringOnWindow(8, sub_8013800(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0); } break; diff --git a/src/mission_reward.c b/src/mission_reward.c index 3830ec5f2..a7b9fc013 100644 --- a/src/mission_reward.c +++ b/src/mission_reward.c @@ -31,7 +31,6 @@ 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; @@ -290,7 +289,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(gFormatItems[1],&item,&local_20); if (gUnknown_203B310->displayClientDialogueSprite) { CreateDialogueBoxAndPortrait(gUnknown_80E0640,0,&gUnknown_203B310->monPortrait,0x10d); gUnknown_203B310->nextState = GIVE_ITEM_REWARD; diff --git a/src/move_actions.c b/src/move_actions.c index f5824575a..f6eb4c1f9 100644 --- a/src/move_actions.c +++ b/src/move_actions.c @@ -33,7 +33,6 @@ #include "weather.h" #include "called_move_data.h" -extern u8 gFormatItems[]; extern u8 gAvailablePokemonNames[]; extern u8 gUnknown_202DFE8[]; @@ -174,8 +173,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; @@ -483,7 +480,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(gFormatItems[0],movePtr,0); // $i0 was tormented TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCFBC); movePtr->moveFlags |= MOVE_FLAG_DISABLED; @@ -501,7 +498,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(gFormatItems[0],&struggleMove,0); // $i0 was tormented TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCFBC); } @@ -1676,7 +1673,7 @@ bool32 SketchMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4 } else { InitPokemonMove(move, moveId); - sub_80928C0(gFormatItems, move, 0); + sub_80928C0(gFormatItems[0], move, 0); move->moveFlags2 |= MOVE_FLAG2_UNK4; move->moveFlags2 |= MOVE_FLAG_REPLACE; TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FE38C); @@ -2033,7 +2030,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(gFormatItems[0], moveStack[newIndex], NULL); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FE330); return TRUE; } @@ -2650,7 +2647,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(gFormatItems[0],&stackEntity,0); sub_804652C(pokemon,&stackEntity,item,1,0); } diff --git a/src/move_effects_target.c b/src/move_effects_target.c index 5c3986cb0..7753fc31e 100644 --- a/src/move_effects_target.c +++ b/src/move_effects_target.c @@ -111,8 +111,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[]; @@ -996,10 +994,10 @@ void LowerAttackStageTarget(Entity * pokemon, Entity * target, s32 index, s32 de return; } if (index != STAT_STAGE_ATK) { - strcpy(gFormatItems,*gUnknown_80FC0C8); + strcpy(gFormatItems[0],*gUnknown_80FC0C8); } else { - strcpy(gFormatItems,*gUnknown_80FC0B8); + strcpy(gFormatItems[0],*gUnknown_80FC0B8); } if (param_5) { if (sub_8071728(pokemon,target,displayMessage)) { @@ -1021,10 +1019,10 @@ _08076EE4: SetMessageArgument(gAvailablePokemonNames,target,0); sub_8041F28(target,index); if (decrement == 1) { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0E4); + strcpy(gFormatItems[1],*gUnknown_80FC0E4); } else { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); + strcpy(gFormatItems[1],*gUnknown_80FC0D4); } attackStage = entityInfo->offensiveStages[index]; attackStage -= decrement; @@ -1051,20 +1049,20 @@ void LowerDefenseStageTarget(Entity * pokemon, Entity * target, s32 index, s32 d return; } if (index != STAT_STAGE_DEF) { - strcpy(gFormatItems,*gUnknown_80FC0AC); + strcpy(gFormatItems[0],*gUnknown_80FC0AC); } else { - strcpy(gFormatItems,*gUnknown_80FC09C); + strcpy(gFormatItems[0],*gUnknown_80FC09C); } if (!param_5 || !sub_8071728(pokemon,target,displayMessage)) { entityInfo = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); sub_8041F4C(target,index); if (decrement == 1) { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0E4); + strcpy(gFormatItems[1],*gUnknown_80FC0E4); } else { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); + strcpy(gFormatItems[1],*gUnknown_80FC0D4); } defenseStage = entityInfo->defensiveStages[index]; defenseStage = defenseStage - decrement; @@ -1094,17 +1092,17 @@ void RaiseAttackStageTarget(Entity * pokemon, Entity * target, s32 index, s32 in SetMessageArgument(gAvailablePokemonNames,target,0); sub_8041F70(target,index); if (index != STAT_STAGE_ATK) { - strcpy(gFormatItems,*gUnknown_80FC0C8); + strcpy(gFormatItems[0],*gUnknown_80FC0C8); } else { - strcpy(gFormatItems,*gUnknown_80FC0B8); + strcpy(gFormatItems[0],*gUnknown_80FC0B8); } if (increment == 1) { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0E4); + strcpy(gFormatItems[1],*gUnknown_80FC0E4); } else { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); + strcpy(gFormatItems[1],*gUnknown_80FC0D4); } attackStage = entityInfo->offensiveStages[index]; @@ -1134,17 +1132,17 @@ void RaiseDefenseStageTarget(Entity * pokemon, Entity * target, s32 index, s32 i SetMessageArgument(gAvailablePokemonNames,target,0); sub_8041F94(target,index); if (index != STAT_STAGE_DEF) { - strcpy(gFormatItems,*gUnknown_80FC0AC); + strcpy(gFormatItems[0],*gUnknown_80FC0AC); } else { - strcpy(gFormatItems,*gUnknown_80FC09C); + strcpy(gFormatItems[0],*gUnknown_80FC09C); } if (increment == 1) { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0E4); + strcpy(gFormatItems[1],*gUnknown_80FC0E4); } else { - strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); + strcpy(gFormatItems[1],*gUnknown_80FC0D4); } defenseStage = entityInfo->defensiveStages[index]; diff --git a/src/party_list_menu.c b/src/party_list_menu.c index 59af76d3b..440432470 100644 --- a/src/party_list_menu.c +++ b/src/party_list_menu.c @@ -28,8 +28,6 @@ // TODO: Clean this -extern u8 gFormatItems[]; -extern u8 gUnknown_202DEA8[]; extern u8 gAvailablePokemonNames[]; // 202DF98 static EWRAM_DATA_2 unkStruct_203B2B8 *sUnknown_203B2B8 = {0}; @@ -695,7 +693,7 @@ void PartyListMenu_HandleMenu2(void) temp.unk4 = 0; temp.unk8 = 1; slot.flags = ITEM_FLAG_EXISTS; - sub_8090E14(gUnknown_202DEA8,&slot,&temp); + sub_8090E14(gFormatItems[1],&slot,&temp); GivePokemonItem(sUnknown_203B2B8->pokeSpecies,&sUnknown_203B2B8->item1); sub_801A928(); nullsub_104(); @@ -783,7 +781,7 @@ void sub_8026DAC(u32 r0, BulkItem *item) temp.unk4 = 0; temp.unk8 = 1; slot.flags = ITEM_FLAG_EXISTS; - sub_8090E14(gFormatItems, &slot, &temp); + sub_8090E14(gFormatItems[0], &slot, &temp); PrintFormatStringOnWindow(4, 3, sPartyMenuItemPlaceholder, r0, 0); sub_80073E0(r0); } diff --git a/src/status.c b/src/status.c index a30306549..dfbf17158 100644 --- a/src/status.c +++ b/src/status.c @@ -25,7 +25,6 @@ #include "structs/str_dungeon.h" extern u8 gAvailablePokemonNames[]; -extern u8 gFormatItems[]; extern u8 *gUnknown_80FBD78[]; extern u8 *gUnknown_80FBD9C[]; @@ -238,10 +237,10 @@ void ChangeAttackMultiplierTarget(Entity *pokemon, Entity *target, u32 statStage } if (statStage != STAT_STAGE_ATK) { - strcpy(gFormatItems,*gUnknown_80FC0C8); + strcpy(gFormatItems[0],*gUnknown_80FC0C8); } else { - strcpy(gFormatItems,*gUnknown_80FC0B8); + strcpy(gFormatItems[0],*gUnknown_80FC0B8); } if ((param_4 < 0x100) && sub_8071728(pokemon,target,displayMessage)) { return; @@ -303,10 +302,10 @@ void ChangeDefenseMultiplierTarget(Entity *pokemon, Entity *target, u32 statStag } if (statStage != STAT_STAGE_DEF) { - strcpy(gFormatItems,*gUnknown_80FC0AC); + strcpy(gFormatItems[0],*gUnknown_80FC0AC); } else { - strcpy(gFormatItems,*gUnknown_80FC09C); + strcpy(gFormatItems[0],*gUnknown_80FC09C); } if ((param_4 < 0x100) && sub_8071728(pokemon,target,displayMessage)) { return; @@ -353,10 +352,10 @@ void RaiseAccuracyStageTarget(Entity * pokemon, Entity * target, s32 statStage) SetMessageArgument(gAvailablePokemonNames,target,0); sub_8042040(target,statStage); if (statStage != STAT_STAGE_ACCURACY) { - strcpy(gFormatItems,*gUnknown_80FC090); + strcpy(gFormatItems[0],*gUnknown_80FC090); } else { - strcpy(gFormatItems,*gUnknown_80FC084); + strcpy(gFormatItems[0],*gUnknown_80FC084); } if (entityInfo->hitChanceStages[statStage] < MAX_STAT_STAGE) { entityInfo->hitChanceStages[statStage]++; @@ -375,10 +374,10 @@ void LowerAccuracyStageTarget(Entity * pokemon, Entity * target, s32 statStage, if (EntityExists(target)) { if (statStage != STAT_STAGE_ACCURACY) { - strcpy(gFormatItems,*gUnknown_80FC090); + strcpy(gFormatItems[0],*gUnknown_80FC090); } else { - strcpy(gFormatItems,*gUnknown_80FC084); + strcpy(gFormatItems[0],*gUnknown_80FC084); } if (!sub_8071728(pokemon,target,displayMessage)) { if (HasAbility(target, ABILITY_KEEN_EYE) && (statStage == STAT_STAGE_ACCURACY)){ diff --git a/src/status_actions.c b/src/status_actions.c index 98e4ae869..ee6cbe01e 100644 --- a/src/status_actions.c +++ b/src/status_actions.c @@ -137,7 +137,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; @@ -231,7 +230,7 @@ bool8 HandleColorChange(Entity * pokemon, Entity * target) entityInfo->isColorChanged = TRUE; SetMessageArgument(gUnknown_202DFE8,target,0); typeString = GetUnformattedTypeString(newType); - strcpy(gFormatItems, typeString); + strcpy(gFormatItems[0], typeString); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FEB08); return TRUE; } diff --git a/src/text2.c b/src/text2.c index 833a93f24..b615f9055 100644 --- a/src/text2.c +++ b/src/text2.c @@ -3307,7 +3307,7 @@ s32 sub_8008ED0(const u8 *str) 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, u32 terminatingChr, s32 lineSpacing) +void PrintStringOnWindow2(s32 x, s32 y, const u8 *str, u32 windowId, u32 terminatingChr, s32 lineSpacing) { xxx_draw_string(gUnknown_2027370, x, y, str, windowId, terminatingChr, 0, lineSpacing); } diff --git a/src/trade_items_menu.c b/src/trade_items_menu.c index 246e264e7..875201ed6 100644 --- a/src/trade_items_menu.c +++ b/src/trade_items_menu.c @@ -18,7 +18,6 @@ #include "trade_items_menu.h" extern u32 gFormatData_202DE30; -extern u8 gFormatItems[]; static EWRAM_DATA_2 struct TradeItemsMenu *sTradeItemsMenu = {0}; @@ -530,7 +529,7 @@ void sub_8036B28(void) break; case TRADE_ITEMS_SEND_ITEM_CONFIRM: gFormatData_202DE30 = sTradeItemsMenu->unk14.unk0; - BufferItemName(gFormatItems,sTradeItemsMenu->itemToSend.id,NULL); + BufferItemName(gFormatItems[0],sTradeItemsMenu->itemToSend.id,NULL); CreateMenuDialogueBoxAndPortrait(sFmtWillBeSentPrompt,0,5, sUnknown_80E6154,0,4,0,0,0x101); break; case TRADE_ITEMS_RECEIVE_ITEM: @@ -589,17 +588,17 @@ void sub_8036B28(void) case 0xe: if (sTradeItemsMenu->unk24C.quantity == 0) { gFormatData_202DE30 = sTradeItemsMenu->unk244.quantity; - BufferItemName(gFormatItems,sTradeItemsMenu->unk244.itemIdx.id,NULL); + BufferItemName(gFormatItems[0],sTradeItemsMenu->unk244.itemIdx.id,NULL); } else { gFormatData_202DE30 = sTradeItemsMenu->unk24C.quantity; - BufferItemName(gFormatItems,sTradeItemsMenu->unk24C.itemIdx.id,NULL); + BufferItemName(gFormatItems[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); + BufferItemName(gFormatItems[0],sTradeItemsMenu->itemToSend.id,NULL); CreateDialogueBoxAndPortrait(sFmtYouSent,0,0,0x101); break; case 0xB: diff --git a/src/trap.c b/src/trap.c index 3f1b27dcd..c65a09355 100644 --- a/src/trap.c +++ b/src/trap.c @@ -23,7 +23,6 @@ #include "structs/str_dungeon.h" extern u8 gAvailablePokemonNames[]; -extern u8 gFormatItems[]; extern u8 *gTrapNames[]; extern u8 *gUnknown_80FC5FC[]; @@ -432,7 +431,7 @@ void HandleStickyTrap(Entity *pokemon,Entity *target) } else { newIndex = DungeonRandInt(itemCount); - sub_8045BF8(gFormatItems, itemStack[newIndex]); + sub_8045BF8(gFormatItems[0], itemStack[newIndex]); itemStack[newIndex]->flags |= ITEM_FLAG_STICKY; sub_80421C0(target, 0x192); TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDC18); @@ -659,7 +658,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(gFormatItems[0],moveStack[moveIndex],0); sub_806A9B4(param_2, indexStack[moveIndex]); flag = TRUE; } @@ -700,7 +699,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(gFormatItems[0],moveStack[moveIndex], NULL); flag = TRUE; } if(flag) diff --git a/sym_ewram.txt b/sym_ewram.txt index 43bdad363..92ff83989 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -182,17 +182,9 @@ gUnknown_202DE19: /* 202DE19 (sub_800F990 - sub_8010014) */ .include "src/save.o" .align 4 + .include "src/code_80140DC.o" + -/* 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) */