remove gUnknown_202DEA8

This commit is contained in:
DizzyEggg
2024-10-29 10:51:27 +01:00
parent ae3c73fae3
commit 131ad370d5
38 changed files with 221 additions and 283 deletions

View File

@@ -1,10 +0,0 @@
#include "asm/constants/gba_constants.inc"
#include "asm/macros.inc"
.syntax unified
.text
.align 2,0

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -26,6 +26,8 @@ struct MonPortraitMsg
u8 unkE;
};
extern u8 gFormatItems[4][80];
// code_80130A8.s
void sub_8013E54(void);
void sub_8013F84(void);

View File

@@ -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

View File

@@ -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);

View File

@@ -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);
}
//

View File

@@ -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;

View File

@@ -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);

View File

@@ -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) {

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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++)
{

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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];

View File

@@ -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);
}

View File

@@ -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)){

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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:

View File

@@ -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)

View File

@@ -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) */