survive UnkTextStruct2_sub2

This commit is contained in:
DizzyEggg 2024-07-24 16:27:15 +02:00
parent 32fef39967
commit 589e9e647b
48 changed files with 255 additions and 209 deletions

View File

@ -5,6 +5,7 @@
#include "structs/menu.h"
#include "structs/str_text.h"
// TODO: CHANGE THIS TO struct_Sub80095E4_2
// size: 0x554
struct unkStruct_203B244
{
@ -15,7 +16,7 @@ struct unkStruct_203B244
u32 unk4E8;
UnkTextStruct2 *unk4EC;
UnkTextStruct2 unk4F0[4];
u8 unk550[4];
UnkTextStruct2_sub2 unk550;
};
bool8 sub_801C8C4(s32, s32, UnkTextStruct2_sub *, u32);
@ -31,4 +32,4 @@ s32 sub_801CFB8(void);
u32 sub_801CFE0(u8 index);
struct unkStruct_203B244 *sub_801D008(void);
#endif // GUARD_CODE_801C8C4_H
#endif // GUARD_CODE_801C8C4_H

View File

@ -2,6 +2,7 @@
#define GUARD_CODE_8024458_H
#include "structs/menu.h"
#include "structs/str_text.h"
struct unkStruct_203B2AC
@ -17,7 +18,7 @@ struct unkStruct_203B2AC
u32 unkE0;
UnkTextStruct2 *unkE4;
UnkTextStruct2 unkE8[4];
u8 unk148[4];
UnkTextStruct2_sub2 unk148;
};
bool8 sub_8024458(s16 speciesNum, s32);
@ -25,4 +26,4 @@ u32 sub_80244E4(void);
void sub_802452C(void);
void sub_802453C(void);
#endif // GUARD_CODE_8024458_H
#endif // GUARD_CODE_8024458_H

View File

@ -5,17 +5,18 @@
#include "structs/str_text.h"
// size: 0xA0
// TODO: UNIFY THIS
struct unkStruct_203B268
{
MenuInputStruct input;
u32 unk34;
UnkTextStruct2 *unk38;
UnkTextStruct2 unk3C[4];
u8 unk9C[4];
UnkTextStruct2_sub2 unk9C;
};
bool8 CreateHintDisplayScreen(u32 index);
void DestroyHintDisplayScreen(void);
u32 HandleHintDisplayScreenInput(void);
#endif // GUARD_HINTS_MENU2_H
#endif // GUARD_HINTS_MENU2_H

View File

@ -6,6 +6,7 @@
#include "structs/str_text.h"
// size: 0xF4
// TODO: UNIFY
typedef struct unkStruct_203B224
{
u32 unk0;
@ -14,7 +15,7 @@ typedef struct unkStruct_203B224
u32 unk88;
UnkTextStruct2 *unk8C;
UnkTextStruct2 unk90[4];
u8 unkF0[4];
UnkTextStruct2_sub2 unkF0;
} unkStruct_203B224;
bool8 sub_801A5D8(u32, s32, UnkTextStruct2_sub *, u32);
@ -30,4 +31,4 @@ s32 sub_801AEA8(void);
s32 sub_801AED0(s32 index);
void sub_801AEE4(s32 index, s32 value);
#endif // GUARD_KECLEON_BROS4_H
#endif // GUARD_KECLEON_BROS4_H

View File

@ -4,6 +4,7 @@
#include "structs/menu.h"
#include "structs/str_text.h"
// TODO: UNIFY
// size: 0xA4
struct unkStruct_203B2D8
{
@ -12,7 +13,7 @@ struct unkStruct_203B2D8
u32 unk38;
UnkTextStruct2 *unk3C;
UnkTextStruct2 unk40[4];
u8 unkA0[4];
UnkTextStruct2_sub2 unkA0;
};
void CreateMailMenu(void);
@ -24,4 +25,4 @@ u8 sub_802BE74(void);
void sub_802BE94(bool8 cursorSprite);
void sub_802BEDC(void);
#endif // GUARD_POKEMON_NEWS3_H
#endif // GUARD_POKEMON_NEWS3_H

View File

@ -44,6 +44,15 @@ typedef struct UnkTextStruct2_sub
} unk0;
} UnkTextStruct2_sub;
typedef struct UnkTextStruct2_sub2
{
u8 f0;
u8 f1;
u8 f2;
u8 f3;
} UnkTextStruct2_sub2;
// size: 0x18
typedef struct UnkTextStruct2
{
@ -55,7 +64,7 @@ typedef struct UnkTextStruct2
s16 unkE;
s16 unk10;
s16 unk12;
const u8 *unk14; // Pointer to 4 bytes which may be x-coord related
const UnkTextStruct2_sub2 *unk14; // Pointer to 4 bytes which may be x-coord related
} UnkTextStruct2;
#endif // GUARD_STR_TEXT_H
#endif // GUARD_STR_TEXT_H

View File

@ -21,7 +21,7 @@ typedef struct struct_Sub80095E4
typedef struct struct_Sub80095E4_2
{
/* 0x0 */ struct_Sub80095E4 s0; // s as in 'struct' ; decided to go against unk as to not have `->unk0->unk3C`
u8 unk9C[4];
UnkTextStruct2_sub2 unk9C;
} struct_Sub80095E4_2;
// Note: In order to get matching ASM, this macro had to be created.

View File

@ -5,6 +5,7 @@
#include "structs/menu.h"
#include "structs/str_text.h"
// TODO: UNIFY
// size: 0xA8
struct unkStruct_203B2E0
{
@ -13,7 +14,7 @@ struct unkStruct_203B2E0
s32 unk3C;
UnkTextStruct2 *unk40;
UnkTextStruct2 unk44[4];
u8 unkA4[4];
UnkTextStruct2_sub2 unkA4;
};
void DrawPelipperBoardJobMenu(void);
@ -25,4 +26,4 @@ u8 sub_802C26C(void);
void sub_802C28C(bool8 cursorSprite);
void sub_802C2D4(void);
#endif // GUARD_WONDER_MAIL_802C10C_H
#endif // GUARD_WONDER_MAIL_802C10C_H

View File

@ -5,6 +5,7 @@
#include "structs/menu.h"
#include "structs/str_text.h"
// TODO: UNIFY
// size: 0xA8
struct unkStruct_203B2E8
{
@ -13,7 +14,7 @@ struct unkStruct_203B2E8
u32 unk3C;
UnkTextStruct2 *unk40;
UnkTextStruct2 unk44[4];
u8 unkA4[4];
UnkTextStruct2_sub2 unkA4;
};
void DrawJobListMenu(void);
@ -25,4 +26,4 @@ u32 sub_802C598(bool8);
void sub_802C640(bool8 cursorSprite);
void sub_802C688(void);
#endif // GUARD_WONDER_MAIL_802C4C8_H
#endif // GUARD_WONDER_MAIL_802C4C8_H

View File

@ -4,6 +4,7 @@
#include "structs/menu.h"
#include "structs/str_text.h"
// TODO: UNIFY
// size: 0xA0
typedef struct unkStruct_203B2F4
{
@ -11,7 +12,7 @@ typedef struct unkStruct_203B2F4
u32 unk34;
UnkTextStruct2 *unk38;
UnkTextStruct2 unk3C[4];
u8 unk9C[4];
UnkTextStruct2_sub2 unk9C;
} unkStruct_203B2F4;
bool8 sub_802CDD4(u32);
@ -21,4 +22,4 @@ void sub_802CED8(bool8 cursorSprite);
void sub_802CF14(void);
void sub_802CFD0(void);
#endif // GUARD_WONDER_MAIL_802CDD4_H
#endif // GUARD_WONDER_MAIL_802CDD4_H

View File

@ -29,7 +29,7 @@ bool8 CreateAdventureLogScreen(u32 kind)
sAdventureLog->s0.unk38 = &sAdventureLog->s0.unk3C[kind];
sub_8006518(sAdventureLog->s0.unk3C);
sAdventureLog->s0.unk3C[sAdventureLog->s0.unk34] = sUnknown_80E2008;
sAdventureLog->s0.unk38->unk14 = sAdventureLog->unk9C;
sAdventureLog->s0.unk38->unk14 = &sAdventureLog->unk9C;
ResetUnusedInputStruct();
sub_800641C(sAdventureLog->s0.unk3C, TRUE, TRUE);
@ -76,10 +76,10 @@ void CleanAdventureLogScreen(void)
static void sub_8032084(void)
{
sAdventureLog->unk9C[0] = sAdventureLog->s0.input.unk20;
sAdventureLog->unk9C[1] = sAdventureLog->s0.input.unk1E;
sAdventureLog->unk9C[2] = 11;
sAdventureLog->unk9C[3] = 0;
sAdventureLog->unk9C.f0 = sAdventureLog->s0.input.unk20;
sAdventureLog->unk9C.f1 = sAdventureLog->s0.input.unk1E;
sAdventureLog->unk9C.f2 = 11;
sAdventureLog->unk9C.f3 = 0;
SUB_80095E4_CALL(sAdventureLog->s0);
}
@ -100,7 +100,7 @@ static void DisplayAdventureLog(void)
xxx_call_draw_string(r6, 0, sAdventureLogText, sAdventureLog->s0.unk34, 0);
r4 += 4;
r6 = r4 + (sAdventureLog->unk9C[2] * 8);
r6 = r4 + (sAdventureLog->unk9C.f2 * 8);
sub_8012BC4(r6, 0, sAdventureLog->s0.input.unk1E + 1, 1, 7, sAdventureLog->s0.unk34);
for (i = 0; i < sAdventureLog->s0.input.unk1A; i++) {

View File

@ -33,7 +33,7 @@ bool8 sub_801C8C4(s32 a0, s32 a1, UnkTextStruct2_sub *a2, u32 a3)
sUnknown_203B244->unk4EC = &sUnknown_203B244->unk4F0[a1];
sub_8006518(sUnknown_203B244->unk4F0);
sUnknown_203B244->unk4F0[sUnknown_203B244->unk4E8] = sUnknown_80DBE54;
sUnknown_203B244->unk4EC->unk14 = sUnknown_203B244->unk550;
sUnknown_203B244->unk4EC->unk14 = &sUnknown_203B244->unk550;
if (a2 != NULL)
sUnknown_203B244->unk4F0[sUnknown_203B244->unk4E8].unk8 = *a2;
@ -225,7 +225,7 @@ void sub_801CCD8(void)
sub_8008C54(sUnknown_203B244->unk4E8);
sub_80073B8(sUnknown_203B244->unk4E8);
xxx_call_draw_string(10, 0, sStorage, sUnknown_203B244->unk4E8, 0);
sub_8012BC4(sUnknown_203B244->unk550[2] * 8 + 4, 0, sUnknown_203B244->input.unk1E + 1, 2, 7, sUnknown_203B244->unk4E8);
sub_8012BC4(sUnknown_203B244->unk550.f2 * 8 + 4, 0, sUnknown_203B244->input.unk1E + 1, 2, 7, sUnknown_203B244->unk4E8);
for(index = 0; index < sUnknown_203B244->input.unk1A; index++) {
itemID = sUnknown_203B244->itemIDs[(sUnknown_203B244->input.unk1E * sUnknown_203B244->input.unk1C) + index];

View File

@ -27,7 +27,7 @@ bool8 sub_801D9E4(void)
sUnknown_203B258->s0.unk38 = &sUnknown_203B258->s0.unk3C[3];
sub_8006518(sUnknown_203B258->s0.unk3C);
sUnknown_203B258->s0.unk3C[sUnknown_203B258->s0.unk34] = sUnknown_80DBF88;
sUnknown_203B258->s0.unk38->unk14 = sUnknown_203B258->unk9C;
sUnknown_203B258->s0.unk38->unk14 = &sUnknown_203B258->unk9C;
ResetUnusedInputStruct();
sub_800641C(sUnknown_203B258->s0.unk3C, TRUE, TRUE);
sub_8013818(&sUnknown_203B258->s0.input, 229, 10, sUnknown_203B258->s0.unk34);
@ -91,10 +91,10 @@ void sub_801DB0C(void)
static void sub_801DB54(void)
{
sUnknown_203B258->unk9C[0] = 1;
sUnknown_203B258->unk9C[1] = 0;
sUnknown_203B258->unk9C[2] = 8;
sUnknown_203B258->unk9C[3] = 0;
sUnknown_203B258->unk9C.f0 = 1;
sUnknown_203B258->unk9C.f1 = 0;
sUnknown_203B258->unk9C.f2 = 8;
sUnknown_203B258->unk9C.f3 = 0;
ResetUnusedInputStruct();
sub_800641C(sUnknown_203B258->s0.unk3C, TRUE, TRUE);
@ -114,7 +114,7 @@ static void sub_801DBD4(void)
sub_80073B8(sUnknown_203B258->s0.unk34);
xxx_call_draw_string(10, 0, sField, sUnknown_203B258->s0.unk34, 0); // Field
x = (sUnknown_203B258->unk9C[2] * 8) - 2;
x = (sUnknown_203B258->unk9C.f2 * 8) - 2;
n = sUnknown_203B258->s0.input.unk1E + 1;
sub_8012BC4(x, 0, n, 2, 7, sUnknown_203B258->s0.unk34);

View File

@ -22,20 +22,20 @@ const UnkTextStruct2 gUnknown_80DC240 = {
NULL
};
const u8 gUnkData_80DC258[4] = {0x01, 0x00, 0x0F, 0x00};
const UnkTextStruct2_sub2 gUnkData_80DC258 = {0x01, 0x00, 0x0F, 0x00};
const UnkTextStruct2 gUnknown_80DC25C = {
0, 0, 0, 0,
6,
6,
0x2, 0x2,
0x12, 0x8,
0x8, 0,
gUnkData_80DC258
&gUnkData_80DC258
};
const UnkTextStruct2 gUnknown_80DC274 = {
0, 0, 0, 0,
3,
3,
0x2, 0xF,
0x1A, 0x3,
0x3, 0,

View File

@ -58,11 +58,11 @@ bool8 sub_801F428(s16 index, s32 param_2)
gUnknown_203B274->s348.s0.unk38 = &gUnknown_203B274->s348.s0.unk3C[gUnknown_203B274->s348.s0.unk34];
sub_8006518(gUnknown_203B274->s348.s0.unk3C);
gUnknown_203B274->s348.s0.unk3C[gUnknown_203B274->s348.s0.unk34] = sUnknown_80DC2C4;
gUnknown_203B274->s348.s0.unk38->unk14 = gUnknown_203B274->s348.unk9C;
gUnknown_203B274->s348.unk9C[0] = 1;
gUnknown_203B274->s348.unk9C[1] = 0;
gUnknown_203B274->s348.unk9C[2] = 0xC;
gUnknown_203B274->s348.unk9C[3] = 0;
gUnknown_203B274->s348.s0.unk38->unk14 = &gUnknown_203B274->s348.unk9C;
gUnknown_203B274->s348.unk9C.f0 = 1;
gUnknown_203B274->s348.unk9C.f1 = 0;
gUnknown_203B274->s348.unk9C.f2 = 0xC;
gUnknown_203B274->s348.unk9C.f3 = 0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B274->s348.s0.unk3C, TRUE, TRUE);
sub_8013818(&gUnknown_203B274->s348.s0.input, sub_801F7E4(), 4, param_2);

View File

@ -14,6 +14,7 @@
extern u8 gAvailablePokemonNames[];
// TODO: UNIFY WITH struct_Sub80095E4
struct unkStruct_203B278
{
/* 0x0 */ s32 state;
@ -27,7 +28,7 @@ struct unkStruct_203B278
u32 unk5C;
UnkTextStruct2 *unk60;
UnkTextStruct2 unk64[4];
u8 unkC4[4];
UnkTextStruct2_sub2 unkC4;
MenuInputStructSub unkC8;
};
@ -116,11 +117,11 @@ void sub_801F930(void)
switch(gUnknown_203B278->state)
{
case 0:
gUnknown_203B278->unk60->unk14 = gUnknown_203B278->unkC4;
gUnknown_203B278->unkC4[0] = gUnknown_203B278->unk28.unk20;
gUnknown_203B278->unkC4[1] = gUnknown_203B278->unk28.unk1E;
gUnknown_203B278->unkC4[2] = 0x10;
gUnknown_203B278->unkC4[3] = 0;
gUnknown_203B278->unk60->unk14 = &gUnknown_203B278->unkC4;
gUnknown_203B278->unkC4.f0 = gUnknown_203B278->unk28.unk20;
gUnknown_203B278->unkC4.f1 = gUnknown_203B278->unk28.unk1E;
gUnknown_203B278->unkC4.f2 = 0x10;
gUnknown_203B278->unkC4.f3 = 0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B278->unk64, TRUE, TRUE);
break;

View File

@ -48,7 +48,7 @@ bool8 sub_8023144(s32 a0, s32 index, UnkTextStruct2_sub *sub, u32 a3)
sub_8006518(gUnknown_3001B5C->s35C.s0.unk3C);
gUnknown_3001B5C->s35C.s0.unk3C[gUnknown_3001B5C->s35C.s0.unk34] = sUnknown_80DC91C;
gUnknown_3001B5C->s35C.s0.unk38->unk14 = gUnknown_3001B5C->s35C.unk9C;
gUnknown_3001B5C->s35C.s0.unk38->unk14 = &gUnknown_3001B5C->s35C.unk9C;
if (sub != NULL)
gUnknown_3001B5C->s35C.s0.unk3C[gUnknown_3001B5C->s35C.s0.unk34].unk8 = *sub;
@ -134,10 +134,10 @@ void sub_80233A0(void)
static void sub_8023420(void)
{
gUnknown_3001B5C->s35C.unk9C[0] = 1;
gUnknown_3001B5C->s35C.unk9C[1] = 0;
gUnknown_3001B5C->s35C.unk9C[2] = 12;
gUnknown_3001B5C->s35C.unk9C[3] = 0;
gUnknown_3001B5C->s35C.unk9C.f0 = 1;
gUnknown_3001B5C->s35C.unk9C.f1 = 0;
gUnknown_3001B5C->s35C.unk9C.f2 = 12;
gUnknown_3001B5C->s35C.unk9C.f3 = 0;
SUB_80095E4_CALL_2(gUnknown_3001B5C->s35C.s0);
}
@ -159,7 +159,7 @@ static void sub_80234BC(void)
sub_80073B8(gUnknown_3001B5C->s35C.s0.unk34);
xxx_call_draw_string(10, 0, sPokemon, gUnknown_3001B5C->s35C.s0.unk34, 0);
sub_8012BC4((gUnknown_3001B5C->s35C.unk9C[2] * 8) + 4, 0, gUnknown_3001B5C->s35C.s0.input.unk1E + 1, 2, 7, gUnknown_3001B5C->s35C.s0.unk34);
sub_8012BC4((gUnknown_3001B5C->s35C.unk9C.f2 * 8) + 4, 0, gUnknown_3001B5C->s35C.s0.input.unk1E + 1, 2, 7, gUnknown_3001B5C->s35C.s0.unk34);
for (i = 0; i < gUnknown_3001B5C->s35C.s0.input.unk1A; i++) {
y = sub_8013800(&gUnknown_3001B5C->s35C.s0.input, i);

View File

@ -30,8 +30,8 @@ bool8 sub_8024458(s16 speciesNum, s32 a1)
sUnknown_203B2AC->unkE4 = &sUnknown_203B2AC->unkE8[a1];
sub_8006518(sUnknown_203B2AC->unkE8);
sUnknown_203B2AC->unkE8[sUnknown_203B2AC->unkE0] = sUnknown_80DC9C8;
sUnknown_203B2AC->unkE4->unk14 = sUnknown_203B2AC->unk148;
sUnknown_203B2AC->unk148[2] = 10;
sUnknown_203B2AC->unkE4->unk14 = &sUnknown_203B2AC->unk148;
sUnknown_203B2AC->unk148.f2 = 10;
sub_8024604();
sub_802452C();
sub_8013984(&sUnknown_203B2AC->input);
@ -75,9 +75,9 @@ void sub_802453C(void)
static void sub_8024588(void)
{
sUnknown_203B2AC->unk148[0] = sUnknown_203B2AC->input.unk20;
sUnknown_203B2AC->unk148[1] = sUnknown_203B2AC->input.unk1E;
sUnknown_203B2AC->unk148[3] = 0;
sUnknown_203B2AC->unk148.f0 = sUnknown_203B2AC->input.unk20;
sUnknown_203B2AC->unk148.f1 = sUnknown_203B2AC->input.unk1E;
sUnknown_203B2AC->unk148.f3 = 0;
ResetUnusedInputStruct();
sub_800641C(sUnknown_203B2AC->unkE8, TRUE, TRUE);
}
@ -100,4 +100,4 @@ static void sub_8024604(void)
iVar3 = &sUnknown_203B2AC->unk4C;
pokeStruct = &gRecruitedPokemonRef->pokemon[sUnknown_203B2AC->speciesNum];
sub_808FF20(iVar3, pokeStruct, sub_80023E4(7));
}
}

View File

@ -28,22 +28,22 @@ extern unkStruct_203B480 *gUnknown_203B480;
const UnkTextStruct2 gUnknown_80E1FA8 = {
0, 0, 0, 0,
3,
3,
0x0, 0x0,
0x0, 0x0,
0x0, 0,
NULL
};
const u8 gUnkData_80E1FC0[4] = {0x01, 0x00, 0x0A, 0x00};
const UnkTextStruct2_sub2 gUnkData_80E1FC0 = {0x01, 0x00, 0x0A, 0x00};
const UnkTextStruct2 gUnknown_80E1FC4 = {
0, 0, 0, 0,
6,
6,
0x2, 0x2,
0x1A, 0xA,
0xA, 0,
gUnkData_80E1FC0
&gUnkData_80E1FC0
};
ALIGNED(4) const u8 gUnknown_80E1FDC[] = "Password";
@ -115,7 +115,7 @@ void DrawSOSPasswordScreen(void)
s32 index;
u8 buffer [PASSWORD_BUFFER_SIZE + 2];
unkStruct_203B480 *mail;
mail = &gUnknown_203B480[gUnknown_203B334->mailIndex];
sub_80073B8(gUnknown_203B334->unk10);
xxx_call_draw_string(0x14,0,gUnknown_80E1FDC,gUnknown_203B334->unk10,0); // Password

View File

@ -3753,22 +3753,6 @@ bool8 sub_805FD74(Entity * a0, struct UnkMenuBitsStruct *a1)
extern const struct UnkTextStruct2 gUnknown_8106B6C;
extern const struct unkStruct_8090F58 gUnknown_8106B60;
static inline Item *GetTeamItem(s32 id)
{
UNUSED s32 b = id * sizeof(Item);
UNUSED struct Item *currItem = &gTeamInventoryRef->teamItems[id];
struct Item *items = gTeamInventoryRef->teamItems;
return &items[id];
}
static inline bool32 ItemExists(s32 id)
{
UNUSED s32 b = id * 4;
UNUSED struct Item *currItem = &gTeamInventoryRef->teamItems[id];
struct Item *items = gTeamInventoryRef->teamItems;
return (items[id].flags & 1);
}
void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3 *a4, u8 *a5)
{
s32 i, x, y;
@ -3839,32 +3823,37 @@ void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3
case 0:
xxx_format_and_draw(x, 0, gTeamToolboxAPtr, 0, 0);
for (i = 0; i < 10; i++) {
if ((ItemExists(i)))
{
Item *items;
DUMMY_TEAM_ITEMS_ASM_MATCH(i);
items = gTeamInventoryRef->teamItems;
if (items[i].flags & ITEM_FLAG_EXISTS) {
gUnknown_202EE10.unk1A++;
sub_8090E14(txtBuff, &gTeamInventoryRef->teamItems[i], &gUnknown_8106B60);
y = sub_8013800(&gUnknown_202EE10, i);
xxx_format_and_draw(8, y, txtBuff, 0, 0);
}
else
else {
break;
}
}
break;
case 1:
xxx_format_and_draw(x, 0, gTeamToolboxBPtr, 0, 0);
for (i = 0; i < 10; i++) {
UNUSED s32 b = i * sizeof(Item);
UNUSED struct Item *currItem = &gTeamInventoryRef->teamItems[i];
struct Item *items = gTeamInventoryRef->teamItems;
if (items[i + 10].flags & 1)
{
Item *items;
DUMMY_TEAM_ITEMS_ASM_MATCH(i);
items = gTeamInventoryRef->teamItems;
if (items[i + 10].flags & 1) {
gUnknown_202EE10.unk1A++;
sub_8090E14(txtBuff, &gTeamInventoryRef->teamItems[i + 10], &gUnknown_8106B60);
y = sub_8013800(&gUnknown_202EE10, i);
xxx_format_and_draw(8, y, txtBuff, 0, 0);
}
else
else {
break;
}
}
break;
case 2: {
@ -3922,5 +3911,41 @@ void CreateFieldItemMenu(s32 a0, Entity *a1, bool8 a2, bool8 a3, UnkTextStruct3
}
}
/*
struct TstStruct {
u8 f0;
u8 f1;
u8 f2;
u8 f3;
};
//
s32 sub_8060800(struct TstStruct *a0, s32 a1)
{
s32 i, r1, r2, r3;
r1 = 0;
for (i = 0; i < gUnknown_202F258; i++) {
if (gUnknown_202F248[i] <= 1) {
r1++;
}
}
if (gUnknown_202F248[a1] <= 1) {
r3 = a1;
r2 = r1;
r1 = 0;
}
else {
r3 = a1 - r1;
r2 = gUnknown_202F258 - r1;
}
if (a0 != NULL) {
a0->f0 = r2;
a0->f1 = r3;
a0->f3 = 0;
}
return r1;
}
*/

View File

@ -82,7 +82,7 @@ u32 sub_802F73C(u32 r0, UnkTextStruct2_sub *r1, u32 r2, u8 r3)
else
gUnknown_203B314->sBC.s0.unk3C[gUnknown_203B314->sBC.s0.unk34] = gUnknown_80E0714;
gUnknown_203B314->sBC.s0.unk38->unk14 = gUnknown_203B314->sBC.unk9C;
gUnknown_203B314->sBC.s0.unk38->unk14 = &gUnknown_203B314->sBC.unk9C;
if (r1 != 0)
gUnknown_203B314->sBC.s0.unk3C[gUnknown_203B314->sBC.s0.unk34].unk8 = *r1;
@ -177,10 +177,10 @@ void sub_802F974(void)
void sub_802F9C0(void)
{
gUnknown_203B314->sBC.unk9C[0] = 1;
gUnknown_203B314->sBC.unk9C[1] = 0;
gUnknown_203B314->sBC.unk9C[2] = 8;
gUnknown_203B314->sBC.unk9C[3] = 0;
gUnknown_203B314->sBC.unk9C.f0 = 1;
gUnknown_203B314->sBC.unk9C.f1 = 0;
gUnknown_203B314->sBC.unk9C.f2 = 8;
gUnknown_203B314->sBC.unk9C.f3 = 0;
SUB_80095E4_CALL(gUnknown_203B314->sBC.s0);
}
@ -197,7 +197,7 @@ void sub_802FA50(void)
sub_8008C54(gUnknown_203B314->sBC.s0.unk34);
sub_80073B8(gUnknown_203B314->sBC.s0.unk34);
xxx_call_draw_string(10,0,gUnknown_80E0744,gUnknown_203B314->sBC.s0.unk34,0);
sub_8012BC4(gUnknown_203B314->sBC.unk9C[2] * 8 + 4,0,gUnknown_203B314->sBC.s0.input.unk1E + 1,2,7,gUnknown_203B314->sBC.s0.unk34);
sub_8012BC4(gUnknown_203B314->sBC.unk9C.f2 * 8 + 4,0,gUnknown_203B314->sBC.s0.input.unk1E + 1,2,7,gUnknown_203B314->sBC.s0.unk34);
if (gUnknown_203B314->unkB8 != 0) {
for(counter = 0; counter < gUnknown_203B314->sBC.s0.input.unk1A; counter++)
{

View File

@ -7,14 +7,14 @@ static const UnkTextStruct2 sUnknown_80DBE7C = {
NULL
};
static const u8 sUnknown_80DBE94[] = {1, 0, 7, 0};
static const UnkTextStruct2_sub2 sUnknown_80DBE94 = {1, 0, 7, 0};
static const UnkTextStruct2 sUnknown_80DBE98 = {
0, 0, 0, 0,
6,
2, 2,
9, 6,
6, 0,
sUnknown_80DBE94
&sUnknown_80DBE94
};
static const UnkTextStruct2 sUnknown_80DBEB0[4] =
@ -60,4 +60,4 @@ ALIGNED(4) static const u8 sOthers[] = _("Others");
ALIGNED(4) static const u8 sTripleQuestionMark[] = _("");
ALIGNED(4) static const u8 sFmtPointsCyan[] = _("%s {COLOR_1 CYAN}%d{END_COLOR_TEXT_1} Pts.");
ALIGNED(4) static const u8 sFmtMoneyCyan[] = _("Money: {COLOR_1 CYAN}%d{END_COLOR_TEXT_1} {POKE}");
ALIGNED(4) static const u8 sTeamRankBadgeFileName[] = _("tmrkpat");
ALIGNED(4) static const u8 sTeamRankBadgeFileName[] = _("tmrkpat");

View File

@ -7,12 +7,12 @@ static const UnkTextStruct2 sUnknown_80E0248 = {
NULL
};
static const u8 sUnknown_80E0260[] = {1, 0, 18, 0};
static const UnkTextStruct2_sub2 sUnknown_80E0260 = {1, 0, 18, 0};
static const UnkTextStruct2 sUnknown_80E0264 = {
0, 0, 0, 0,
6,
2, 2,
26, 16,
16, 0,
sUnknown_80E0260
};
&sUnknown_80E0260
};

View File

@ -7,14 +7,14 @@ static const UnkTextStruct2 sUnknown_80DC0A0 = {
NULL
};
static const u8 sUnknown_80DC0B8[] = {1, 0, 8, 0};
static const UnkTextStruct2_sub2 sUnknown_80DC0B8 = {1, 0, 8, 0};
static const UnkTextStruct2 sUnknown_80DC0BC = {
0, 0, 0, 0,
6,
2, 2,
24, 14,
14, 0,
sUnknown_80DC0B8
&sUnknown_80DC0B8
};
ALIGNED(4) static const u8 sHints[] = _("Hints");
ALIGNED(4) static const u8 sHints[] = _("Hints");

View File

@ -7,17 +7,17 @@ static const UnkTextStruct2 sUnknown_80DBFB0 = {
NULL
};
static const u8 sUnknown_80DBFC8[] = {1, 0, 7, 0};
static const UnkTextStruct2_sub2 sUnknown_80DBFC8 = {1, 0, 7, 0};
static const UnkTextStruct2 sUnknown_80DBFCC = {
0, 0, 0, 0,
6,
2, 2,
10, 6,
6, 0,
sUnknown_80DBFC8
&sUnknown_80DBFC8
};
ALIGNED(4) static const u8 sOthers[] = _("Others");
ALIGNED(4) static const u8 sChangeSettingsPrompt[] = _("Change settings?");
ALIGNED(4) static const u8 sGameOptions[] = _("Game Options");
ALIGNED(4) static const u8 sHints[] = _("Hints");
ALIGNED(4) static const u8 sHints[] = _("Hints");

View File

@ -7,18 +7,18 @@ static const UnkTextStruct2 sUnknown_80DC020 = {
NULL
};
static const u8 sUnknown_80DC038[] = {1, 0, 10, 0};
static const UnkTextStruct2_sub2 sUnknown_80DC038 = {1, 0, 10, 0};
static const UnkTextStruct2 sUnknown_80DC03C = {
0, 0, 0, 0,
6,
2, 2,
24, 16,
18, 0,
sUnknown_80DC038
&sUnknown_80DC038
};
ALIGNED(4) static const u8 sGameOptions[] = _("Game Options");
ALIGNED(4) static const u8 sUnknown_80DC064[] = _("Windows{UNK_MACRO_3D M3D_80}Blue{UNK_MACRO_3D M3D_120}Red{UNK_MACRO_3D M3D_160}Green");
ALIGNED(4) static const u8 sBlue[] = _("Blue");
ALIGNED(4) static const u8 sRed[] = _("Red");
ALIGNED(4) static const u8 sGreen[] = _("Green");
ALIGNED(4) static const u8 sGreen[] = _("Green");

View File

@ -7,14 +7,14 @@ static const UnkTextStruct2 sUnknown_80DFBD0 = {
NULL
};
static const u8 sUnknown_80DFBE8[] = {1, 0, 12, 0};
static const UnkTextStruct2_sub2 sUnknown_80DFBE8 = {1, 0, 12, 0};
static const UnkTextStruct2 sUnknown_80DFBEC = {
0, 0, 0, 0,
6,
2, 2,
24, 14,
14, 0,
sUnknown_80DFBE8
&sUnknown_80DFBE8
};
ALIGNED(4) static const u8 sNewsList[] = _("News List");
ALIGNED(4) static const u8 sNewsList[] = _("News List");

View File

@ -7,15 +7,15 @@ static const UnkTextStruct2 sUnknown_80DFC18 = {
NULL
};
static const u8 sUnknown_80DFC30[] = {1, 0, 22, 0};
static const UnkTextStruct2_sub2 sUnknown_80DFC30 = {1, 0, 22, 0};
static const UnkTextStruct2 sUnknown_80DFC34 = {
0, 0, 0, 0,
6,
2, 2,
26, 16,
16, 0,
sUnknown_80DFC30
&sUnknown_80DFC30
};
ALIGNED(4) static const u8 sShe[] = _("She");
ALIGNED(4) static const u8 sHe[] = _("He");
ALIGNED(4) static const u8 sHe[] = _("He");

View File

@ -1,14 +1,14 @@
static const UnkTextStruct2 sUnknown_80E1EFC =
{
0, 0, 0, 0,
3,
3,
0, 0,
0, 0,
0, 0,
NULL
};
static const u8 sUnknown_80E1F14[] = {1, 0, 8, 0};
static const UnkTextStruct2_sub2 sUnknown_80E1F14 = {1, 0, 8, 0};
static const UnkTextStruct2 sUnknown_80E1F18 =
{
@ -17,7 +17,7 @@ static const UnkTextStruct2 sUnknown_80E1F18 =
2, 2,
20, 4,
4, 0,
sUnknown_80E1F14
&sUnknown_80E1F14
};
ALIGNED(4) static const u8 sObjectives[] = "Objectives";
@ -27,4 +27,4 @@ ALIGNED(4) static const u8 sJustGo[] = "Just go!";
ALIGNED(4) static const u8 sFmtBring[] = _(" Bring {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}");
ALIGNED(4) static const u8 sFmtFind[] = _(" Find {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}");
ALIGNED(4) static const u8 sFmtEscort[] = _(" Escort to {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}");
ALIGNED(4) static const u8 sRedQuestionMarks[] = _("{COLOR_1 RED_2}???{END_COLOR_TEXT_1}");
ALIGNED(4) static const u8 sRedQuestionMarks[] = _("{COLOR_1 RED_2}???{END_COLOR_TEXT_1}");

View File

@ -7,16 +7,16 @@ static const UnkTextStruct2 sUnknown_80DC4BC = {
NULL
};
static const u8 sUnknown_80DC4D4[] = {1, 0, 18, 0};
static const UnkTextStruct2_sub2 sUnknown_80DC4D4 = {1, 0, 18, 0};
static const UnkTextStruct2 sUnknown_80DC4D8 = {
0, 0, 0, 0,
6,
2, 2,
26, 17,
17, 0,
sUnknown_80DC4D4
&sUnknown_80DC4D4
};
ALIGNED(4) static const u8 sUnknown_80DC4F0[] = _("Inhabitants (Friends: {COLOR_2 CYAN}Light blue{END_COLOR_TEXT_2})");
ALIGNED(4) static const u8 sInhabitants[] = _("Inhabitants");
ALIGNED(4) static const u8 sFmtCyanString[] = _("{COLOR_2 CYAN}%s{END_COLOR_TEXT_2}");
ALIGNED(4) static const u8 sFmtCyanString[] = _("{COLOR_2 CYAN}%s{END_COLOR_TEXT_2}");

View File

@ -25,7 +25,7 @@ bool8 CreateHintDisplayScreen(u32 index)
sUnknown_203B268->unk38 = sUnknown_203B268->unk3C;
sub_8006518(sUnknown_203B268->unk3C);
sUnknown_203B268->unk3C[sUnknown_203B268->unk34] = sUnknown_80DC0FC;
sUnknown_203B268->unk38->unk14 = sUnknown_203B268->unk9C;
sUnknown_203B268->unk38->unk14 = &sUnknown_203B268->unk9C;
ResetUnusedInputStruct();
sub_800641C(sUnknown_203B268->unk3C, TRUE, TRUE);
sub_8013818(&sUnknown_203B268->input, 5, 1, sUnknown_203B268->unk34);
@ -72,10 +72,10 @@ void DestroyHintDisplayScreen(void)
static void sub_801E76C(void)
{
sUnknown_203B268->unk9C[0] = sUnknown_203B268->input.unk20;
sUnknown_203B268->unk9C[1] = sUnknown_203B268->input.unk1E;
sUnknown_203B268->unk9C[2] = 15;
sUnknown_203B268->unk9C[3] = 0;
sUnknown_203B268->unk9C.f0 = sUnknown_203B268->input.unk20;
sUnknown_203B268->unk9C.f1 = sUnknown_203B268->input.unk1E;
sUnknown_203B268->unk9C.f2 = 15;
sUnknown_203B268->unk9C.f3 = 0;
ResetUnusedInputStruct();
sub_800641C(sUnknown_203B268->unk3C, TRUE, TRUE);
}
@ -86,4 +86,4 @@ static void DisplayChosenHint(void)
xxx_call_draw_string((sUnknown_203B268->input.unk1E * 8) + 16, 0, gCommonHints[sUnknown_203B268->input.unk1E].heading, sUnknown_203B268->unk34, 0);
xxx_call_draw_string(10, 20, gCommonHints[sUnknown_203B268->input.unk1E].body, sUnknown_203B268->unk34, 0);
sub_80073E0(sUnknown_203B268->unk34);
}
}

View File

@ -42,7 +42,7 @@ bool8 CreateIQSkillListMenu(s16 species, u32 index, u32 a2)
sIQSkillListMenu->s24.s0.unk38 = &sIQSkillListMenu->s24.s0.unk3C[index];
sub_8006518(sIQSkillListMenu->s24.s0.unk3C);
sIQSkillListMenu->s24.s0.unk3C[sIQSkillListMenu->s24.s0.unk34] = sUnknown_80DBDF0;
sIQSkillListMenu->s24.s0.unk38->unk14 = sIQSkillListMenu->s24.unk9C;
sIQSkillListMenu->s24.s0.unk38->unk14 = &sIQSkillListMenu->s24.unk9C;
sub_8012D08(sIQSkillListMenu->s24.s0.unk38, a2);
ResetUnusedInputStruct();
sub_800641C(sIQSkillListMenu->s24.s0.unk3C, TRUE, TRUE);
@ -110,10 +110,10 @@ void CleanIQSkillListMenu(void)
static void sub_801C440(void)
{
sIQSkillListMenu->s24.unk9C[0] = sIQSkillListMenu->s24.s0.input.unk20;
sIQSkillListMenu->s24.unk9C[1] = sIQSkillListMenu->s24.s0.input.unk1E;
sIQSkillListMenu->s24.unk9C[2] = 10;
sIQSkillListMenu->s24.unk9C[3] = 0;
sIQSkillListMenu->s24.unk9C.f0 = sIQSkillListMenu->s24.s0.input.unk20;
sIQSkillListMenu->s24.unk9C.f1 = sIQSkillListMenu->s24.s0.input.unk1E;
sIQSkillListMenu->s24.unk9C.f2 = 10;
sIQSkillListMenu->s24.unk9C.f3 = 0;
ResetUnusedInputStruct();
sub_800641C(sIQSkillListMenu->s24.s0.unk3C, TRUE, TRUE);
SUB_80095E4_CALL_2(sIQSkillListMenu->s24.s0);
@ -135,7 +135,7 @@ void BuildIQSkillList(void)
xxx_call_draw_string(x2, 0, sIQSkills, sIQSkillListMenu->s24.s0.unk34, 0);
x += 4;
x2 = x + sIQSkillListMenu->s24.unk9C[2] * 8;
x2 = x + sIQSkillListMenu->s24.unk9C.f2 * 8;
sub_8012BC4(x2, 0, sIQSkillListMenu->s24.s0.input.unk1E + 1, 1, 7, sIQSkillListMenu->s24.s0.unk34);
for (counter = 0; counter < sIQSkillListMenu->s24.s0.input.unk1A; counter++) {

View File

@ -571,17 +571,20 @@ bool8 AddHeldItemToInventory(BulkItem* slot)
bool8 AddItemToInventory(const Item* slot)
{
s32 i;
s32 i;
// try to add item to inventory, return 1 if failed
for (i = 0; i < INVENTORY_SIZE; i++) {
UNUSED Item* current = &gTeamInventoryRef->teamItems[i];
if (!(i[gTeamInventoryRef->teamItems].flags & ITEM_FLAG_EXISTS)) {
gTeamInventoryRef->teamItems[i] = *slot;
return FALSE;
// try to add item to inventory, return 1 if failed
for (i = 0; i < INVENTORY_SIZE; i++) {
Item *items;
DUMMY_TEAM_ITEMS_ASM_MATCH(i);
items = gTeamInventoryRef->teamItems;
if (!(items[i].flags & ITEM_FLAG_EXISTS)) {
items[i] = *slot;
return FALSE;
}
}
}
return TRUE;
return TRUE;
}
void ConvertMoneyItemToMoney(void)
@ -905,7 +908,7 @@ bool8 IsGummiItem(u8 id)
bool8 HasGummiItem(void)
{
struct Item *items;
Item *items;
s32 i;
for (i = 0; i < INVENTORY_SIZE; i++) {
DUMMY_TEAM_ITEMS_ASM_MATCH(i);

View File

@ -29,7 +29,7 @@ bool8 sub_8019E40(u32 r0)
gUnknown_203B214->s0.unk38 = &gUnknown_203B214->s0.unk3C[gUnknown_203B214->s0.unk34];
sub_8006518(gUnknown_203B214->s0.unk3C);
gUnknown_203B214->s0.unk3C[gUnknown_203B214->s0.unk34] = sUnknown_80DB8CC;
gUnknown_203B214->s0.unk38->unk14 = gUnknown_203B214->unk9C;
gUnknown_203B214->s0.unk38->unk14 = &gUnknown_203B214->unk9C;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B214->s0.unk3C, TRUE, TRUE);
sub_8013818(&gUnknown_203B214->s0.input, CountKecleonShopItems(), 10, r0);
@ -108,10 +108,10 @@ void sub_801A010(void)
static void sub_801A064(void)
{
gUnknown_203B214->unk9C[0] = gUnknown_203B214->s0.input.unk20;
gUnknown_203B214->unk9C[1] = gUnknown_203B214->s0.input.unk1E;
gUnknown_203B214->unk9C[2] = 10;
gUnknown_203B214->unk9C[3] = 0;
gUnknown_203B214->unk9C.f0 = gUnknown_203B214->s0.input.unk20;
gUnknown_203B214->unk9C.f1 = gUnknown_203B214->s0.input.unk1E;
gUnknown_203B214->unk9C.f2 = 10;
gUnknown_203B214->unk9C.f3 = 0;
SUB_80095E4_CALL(gUnknown_203B214->s0);
}

View File

@ -29,7 +29,7 @@ u8 sub_801A20C(u32 r0)
gUnknown_203B21C->s0.unk38 = &gUnknown_203B21C->s0.unk3C[gUnknown_203B21C->s0.unk34];
sub_8006518(gUnknown_203B21C->s0.unk3C);
gUnknown_203B21C->s0.unk3C[gUnknown_203B21C->s0.unk34] = sUnknown_80DB914;
gUnknown_203B21C->s0.unk38->unk14 = gUnknown_203B21C->unk9C;
gUnknown_203B21C->s0.unk38->unk14 = &gUnknown_203B21C->unk9C;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B21C->s0.unk3C, TRUE, TRUE);
sub_8013818(&gUnknown_203B21C->s0.input, CountKecleonWareItems(), 10, r0);
@ -109,10 +109,10 @@ void sub_801A3DC(void)
static void sub_801A430(void)
{
gUnknown_203B21C->unk9C[0] = gUnknown_203B21C->s0.input.unk20;
gUnknown_203B21C->unk9C[1] = gUnknown_203B21C->s0.input.unk1E;
gUnknown_203B21C->unk9C[2] = 10;
gUnknown_203B21C->unk9C[3] = 0;
gUnknown_203B21C->unk9C.f0 = gUnknown_203B21C->s0.input.unk20;
gUnknown_203B21C->unk9C.f1 = gUnknown_203B21C->s0.input.unk1E;
gUnknown_203B21C->unk9C.f2 = 10;
gUnknown_203B21C->unk9C.f3 = 0;
SUB_80095E4_CALL(gUnknown_203B21C->s0);
}

View File

@ -41,7 +41,7 @@ bool8 sub_801A5D8(u32 param_1, s32 param_2, UnkTextStruct2_sub *param_3, u32 par
gUnknown_203B224->unk8C = &gUnknown_203B224->unk90[param_2];
sub_8006518(gUnknown_203B224->unk90);
gUnknown_203B224->unk90[gUnknown_203B224->unk88] = sUnknown_80DB95C;
gUnknown_203B224->unk8C->unk14 = gUnknown_203B224->unkF0;
gUnknown_203B224->unk8C->unk14 = &gUnknown_203B224->unkF0;
if (param_3 != NULL)
gUnknown_203B224->unk90[gUnknown_203B224->unk88].unk8 = *param_3;
@ -176,10 +176,10 @@ void sub_801A928(void)
static void sub_801A998(void)
{
gUnknown_203B224->unkF0[0] = gUnknown_203B224->input.unk20;
gUnknown_203B224->unkF0[1] = gUnknown_203B224->input.unk1E;
gUnknown_203B224->unkF0[2] = 11;
gUnknown_203B224->unkF0[3] = 0;
gUnknown_203B224->unkF0.f0 = gUnknown_203B224->input.unk20;
gUnknown_203B224->unkF0.f1 = gUnknown_203B224->input.unk1E;
gUnknown_203B224->unkF0.f2 = 11;
gUnknown_203B224->unkF0.f3 = 0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B224->unk90, TRUE, TRUE);
}
@ -295,7 +295,7 @@ void sub_801A9E0(void)
}
void sub_801AD34(u32 param_1)
{
{
sub_8008C54(param_1);
sub_80073B8(param_1);
xxx_call_draw_string(6, 0, sItems, param_1, 0);
@ -430,4 +430,4 @@ static void SortInventoryItems(void)
UNUSED static unkStruct_203B224 *sub_801AF98(void)
{
return gUnknown_203B224;
}
}

View File

@ -35,7 +35,7 @@ bool8 sub_80302E8(s32 param_1, UnkTextStruct2_sub *param_2, u32 param_3)
sMakuhitaDojoWork2->s30.s0.unk38 = &sMakuhitaDojoWork2->s30.s0.unk3C[param_1];
sub_8006518(sMakuhitaDojoWork2->s30.s0.unk3C);
sMakuhitaDojoWork2->s30.s0.unk3C[sMakuhitaDojoWork2->s30.s0.unk34] = sUnknown_80E0804;
sMakuhitaDojoWork2->s30.s0.unk38->unk14 = sMakuhitaDojoWork2->s30.unk9C;
sMakuhitaDojoWork2->s30.s0.unk38->unk14 = &sMakuhitaDojoWork2->s30.unk9C;
if (param_2 != NULL)
sMakuhitaDojoWork2->s30.s0.unk3C[sMakuhitaDojoWork2->s30.s0.unk34].unk8 = *param_2;
@ -102,10 +102,10 @@ void sub_8030480(void)
static void sub_80304C8(void)
{
sMakuhitaDojoWork2->s30.unk9C[0] = 1;
sMakuhitaDojoWork2->s30.unk9C[1] = 0;
sMakuhitaDojoWork2->s30.unk9C[2] = 8;
sMakuhitaDojoWork2->s30.unk9C[3] = 0;
sMakuhitaDojoWork2->s30.unk9C.f0 = 1;
sMakuhitaDojoWork2->s30.unk9C.f1 = 0;
sMakuhitaDojoWork2->s30.unk9C.f2 = 8;
sMakuhitaDojoWork2->s30.unk9C.f3 = 0;
SUB_80095E4_CALL(sMakuhitaDojoWork2->s30.s0);
}
@ -123,7 +123,7 @@ static void MakuhitaDojo_DrawCourseList(void)
sub_8008C54(sMakuhitaDojoWork2->s30.s0.unk34);
sub_80073B8(sMakuhitaDojoWork2->s30.s0.unk34);
xxx_call_draw_string(10, 0, sCourses, sMakuhitaDojoWork2->s30.s0.unk34, 0);
sub_8012BC4((sMakuhitaDojoWork2->s30.unk9C[2] * 8) + 4, 0, sMakuhitaDojoWork2->s30.s0.input.unk1E + 1, 2, 7, sMakuhitaDojoWork2->s30.s0.unk34);
sub_8012BC4((sMakuhitaDojoWork2->s30.unk9C.f2 * 8) + 4, 0, sMakuhitaDojoWork2->s30.s0.input.unk1E + 1, 2, 7, sMakuhitaDojoWork2->s30.s0.unk34);
for (i = 0; i < sMakuhitaDojoWork2->s30.s0.input.unk1A; i++) {
iVar6 = sMakuhitaDojoWork2->unk0[sMakuhitaDojoWork2->s30.s0.input.unk1E * sMakuhitaDojoWork2->s30.s0.input.unk1C + i];

View File

@ -16,7 +16,7 @@
const u32 gDefaultMenuTextColors[3] = { COLOR_WHITE_2, COLOR_RED, COLOR_RED };
const u8 UnkData_80D47C4[] = {0x01, 0x00, 0x10, 0x00};
const UnkTextStruct2_sub2 UnkData_80D47C4 = {0x01, 0x00, 0x10, 0x00};
const UnkTextStruct2 gUnknown_80D47C8[4] = {
0x00, 0x00, 0x00, 0x00,
@ -24,7 +24,7 @@ const UnkTextStruct2 gUnknown_80D47C8[4] = {
0x02, 0x02,
0x1a, 0x0c,
0x0c, 0x00,
UnkData_80D47C4,
&UnkData_80D47C4,
0x00, 0x00, 0x00, 0x00,
0x03,
@ -449,7 +449,7 @@ void sub_8012EBC(MenuStruct *param_1)
ptr_text2 = &textStack[index];
sub_8006518(textStack);
x = sub_8008ED0(param_1->unk0);
xxx_format_and_draw(((ptr_text2->unk14[2] * 8 - x) / 2) + 8, 0, param_1->unk0, param_1->index, 0);
xxx_format_and_draw(((ptr_text2->unk14->f2 * 8 - x) / 2) + 8, 0, param_1->unk0, param_1->index, 0);
}
colorArray = param_1->menuTextColorArray;

View File

@ -40,12 +40,12 @@ void CreatePartnerSelectionMenu(s16 starterID)
gUnknown_203B404->s18.s0.unk3C[2] = gUnknown_80F4278;
gUnknown_203B404->s18.s0.unk3C[3] = gUnknown_80F4278;
gUnknown_203B404->s18.s0.unk38->unk14 = gUnknown_203B404->s18.unk9C;
gUnknown_203B404->s18.s0.unk38->unk14 = &gUnknown_203B404->s18.unk9C;
gUnknown_203B404->s18.unk9C[0] = 1;
gUnknown_203B404->s18.unk9C[1] = 0;
gUnknown_203B404->s18.unk9C[2] = 6;
gUnknown_203B404->s18.unk9C[3] = 0;
gUnknown_203B404->s18.unk9C.f0 = 1;
gUnknown_203B404->s18.unk9C.f1 = 0;
gUnknown_203B404->s18.unk9C.f2 = 6;
gUnknown_203B404->s18.unk9C.f3 = 0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B404->s18.s0.unk3C, TRUE, TRUE);
sub_8013818(&gUnknown_203B404->s18.s0.input, GetValidPartners(), 10, gUnknown_203B404->s18.s0.unk34);

View File

@ -137,7 +137,7 @@ static void CreatePKMNNewsMenu(void)
sub_80073B8(sUnknown_203B2CC->s38.unk34);
xxx_call_draw_string(10, 0, sNewsList, sUnknown_203B2CC->s38.unk34, 0);
sub_8012BC4((sUnknown_80DFBE8[2] * 8) + 4, 0, sUnknown_203B2CC->s38.input.unk1E + 1, 2, 7, sUnknown_203B2CC->s38.unk34);
sub_8012BC4((sUnknown_80DFBE8.f2 * 8) + 4, 0, sUnknown_203B2CC->s38.input.unk1E + 1, 2, 7, sUnknown_203B2CC->s38.unk34);
for (index = 0; index < sUnknown_203B2CC->s38.input.unk1A; index++) {
y = sub_8013800(&sUnknown_203B2CC->s38.input, index);

View File

@ -40,7 +40,7 @@ bool8 sub_802BD14(s32 a0, UnkTextStruct2_sub *a1, u32 a2)
sUnknown_203B2D8->unk3C = &sUnknown_203B2D8->unk40[a0];
sub_8006518(sUnknown_203B2D8->unk40);
sUnknown_203B2D8->unk40[sUnknown_203B2D8->unk38] = sUnknown_80DFC74;
sUnknown_203B2D8->unk3C->unk14 = sUnknown_203B2D8->unkA0;
sUnknown_203B2D8->unk3C->unk14 = &sUnknown_203B2D8->unkA0;
if (a1 != NULL)
sUnknown_203B2D8->unk40[sUnknown_203B2D8->unk38].unk8 = *a1;

View File

@ -21,7 +21,7 @@ void sub_80069CC(UnkTextStruct1 *, s32, s32, s32, u16 *);
void sub_8006AC4(UnkTextStruct1 *, s32, s32, s32, u16 *);
void sub_8006B70(UnkTextStruct1 *, s32, s32, s32, u16 *);
void sub_8006C44(UnkTextStruct1 *, s32, u16 *, u8);
void sub_8006E94(UnkTextStruct1 *, s32, u32, const u8 *, u16 *);
void sub_8006E94(UnkTextStruct1 *, s32, u32, const UnkTextStruct2_sub2 *, u16 *);
void sub_8007958(UnkTextStruct1 *, u32, s32, s32, s32, u32);
void sub_8007AA4(UnkTextStruct1 *, u32, s32, s32, s32, u32);
void sub_8007BA8(UnkTextStruct1 *, u32, s32, s32, s32, s32);
@ -398,7 +398,7 @@ void sub_8006C44(UnkTextStruct1 *a0, s32 a1, u16 *a2, u8 a3)
// Not even close but I don't feel like continuing atm https://decomp.me/scratch/F58jg
/*
void sub_8006E94(UnkTextStruct1 *a0, s32 a1, u32 a2, const u8 *a3, u16 *a4)
void sub_8006E94(UnkTextStruct1 *a0, s32 a1, u32 a2, const UnkTextStruct2_sub2 *a3, u16 *a4)
{
s32 bVar1;
s32 iVar2;
@ -582,7 +582,7 @@ void sub_8006E94(UnkTextStruct1 *a0, s32 a1, u32 a2, const u8 *a3, u16 *a4)
}
*/
NAKED
void sub_8006E94(UnkTextStruct1 *a0, s32 a1, u32 a2, const u8 *a3, u16 *a4)
void sub_8006E94(UnkTextStruct1 *a0, s32 a1, u32 a2, const UnkTextStruct2_sub2 *a3, u16 *a4)
{
asm_unified(
"\tpush {r4-r7,lr}\n"
@ -2470,4 +2470,4 @@ void sub_8007E20(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, u8 *a5, u32 a6)
UNUSED static void nullsub_160(void)
{
}
}

View File

@ -34,7 +34,7 @@ bool8 sub_80211AC(u32 mode, u32 a1)
sWigglytuffShop1Work->s40.s0.unk38 = &sWigglytuffShop1Work->s40.s0.unk3C[sWigglytuffShop1Work->s40.s0.unk34];
sub_8006518(sWigglytuffShop1Work->s40.s0.unk3C);
sWigglytuffShop1Work->s40.s0.unk3C[sWigglytuffShop1Work->s40.s0.unk34] = sUnknown_80DC47C;
sWigglytuffShop1Work->s40.s0.unk38->unk14 = sWigglytuffShop1Work->s40.unk9C;
sWigglytuffShop1Work->s40.s0.unk38->unk14 = &sWigglytuffShop1Work->s40.unk9C;
ResetUnusedInputStruct();
sub_800641C(sWigglytuffShop1Work->s40.s0.unk3C, TRUE, TRUE);
sub_8013818(&sWigglytuffShop1Work->s40.s0.input, sub_8021664(), 10, a1);
@ -114,10 +114,10 @@ void sub_80213A0(void)
static void sub_8021410(void)
{
sWigglytuffShop1Work->s40.unk9C[0] = 1;
sWigglytuffShop1Work->s40.unk9C[1] = 0;
sWigglytuffShop1Work->s40.unk9C[2] = 12;
sWigglytuffShop1Work->s40.unk9C[3] = 0;
sWigglytuffShop1Work->s40.unk9C.f0 = 1;
sWigglytuffShop1Work->s40.unk9C.f1 = 0;
sWigglytuffShop1Work->s40.unk9C.f2 = 12;
sWigglytuffShop1Work->s40.unk9C.f3 = 0;
ResetUnusedInputStruct();
sub_800641C(sWigglytuffShop1Work->s40.s0.unk3C, TRUE, TRUE);
@ -135,7 +135,7 @@ void sub_8021494(void)
sub_80073B8(sWigglytuffShop1Work->s40.s0.unk34);
xxx_call_draw_string(10, 0, sFriendAreas, sWigglytuffShop1Work->s40.s0.unk34, 0);
sub_8012BC4((sWigglytuffShop1Work->s40.unk9C[2] * 8) + 4, 0, sWigglytuffShop1Work->s40.s0.input.unk1E + 1, 1, 7, sWigglytuffShop1Work->s40.s0.unk34);
sub_8012BC4((sWigglytuffShop1Work->s40.unk9C.f2 * 8) + 4, 0, sWigglytuffShop1Work->s40.s0.input.unk1E + 1, 1, 7, sWigglytuffShop1Work->s40.s0.unk34);
for (i = 0; i < sWigglytuffShop1Work->s40.s0.input.unk1A; i++) {
friendAreaIndex = sWigglytuffShop1Work->friendAreas[(sWigglytuffShop1Work->s40.s0.input.unk1E * sWigglytuffShop1Work->s40.s0.input.unk1C) + i];

View File

@ -92,7 +92,7 @@ u32 sub_80306A8(u32 wonderMailType, u32 r1, UnkTextStruct2_sub *r2, u32 r3)
sub_8006518(gUnknown_203B320->s28.s0.unk3C);
gUnknown_203B320->s28.s0.unk3C[gUnknown_203B320->s28.s0.unk34] = gUnknown_80E0854;
gUnknown_203B320->s28.s0.unk38->unk14 = gUnknown_203B320->s28.unk9C;
gUnknown_203B320->s28.s0.unk38->unk14 = &gUnknown_203B320->s28.unk9C;
if (r2 != 0)
gUnknown_203B320->s28.s0.unk3C[gUnknown_203B320->s28.s0.unk34].unk8 = *r2;
@ -171,10 +171,10 @@ u8 *sub_8030894()
void sub_80308A0(void)
{
gUnknown_203B320->s28.unk9C[0] = gUnknown_203B320->s28.s0.input.unk20;
gUnknown_203B320->s28.unk9C[1] = gUnknown_203B320->s28.s0.input.unk1E;
gUnknown_203B320->s28.unk9C[2] = 12;
gUnknown_203B320->s28.unk9C[3] = 0;
gUnknown_203B320->s28.unk9C.f0 = gUnknown_203B320->s28.s0.input.unk20;
gUnknown_203B320->s28.unk9C.f1 = gUnknown_203B320->s28.s0.input.unk1E;
gUnknown_203B320->s28.unk9C.f2 = 12;
gUnknown_203B320->s28.unk9C.f3 = 0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B320->s28.s0.unk3C, TRUE, TRUE);
@ -196,7 +196,7 @@ void sub_803092C(void)
r5 += 10;
xxx_call_draw_string(r5,0,gUnknown_80E086C[gUnknown_203B320->wonderMailType],gUnknown_203B320->s28.s0.unk34,0);
r4 += 4;
r5 = r4 + gUnknown_203B320->s28.unk9C[2] * 8;
r5 = r4 + gUnknown_203B320->s28.unk9C.f2 * 8;
sub_8012BC4(r5,0,gUnknown_203B320->s28.s0.input.unk1E + 1,1,7,gUnknown_203B320->s28.s0.unk34);
for (index = 0; index < gUnknown_203B320->s28.s0.input.unk1A; index++) {

View File

@ -38,7 +38,7 @@ const UnkTextStruct2 gUnknown_80E0900 = {
NULL
};
const u8 gUnknown_80E0918[] = {0x01, 0x00, 0x12, 0x00};
const UnkTextStruct2_sub2 gUnknown_80E0918 = {0x01, 0x00, 0x12, 0x00};
const UnkTextStruct2 gUnknown_80E091C = {
0x00, 0x00, 0x00, 0x00,
@ -46,7 +46,7 @@ const UnkTextStruct2 gUnknown_80E091C = {
0x02, 0x02,
0x1A, 0x10,
0x10, 0x00,
gUnknown_80E0918
&gUnknown_80E0918
};
const u8 gUnknown_80E0934[] = "ID:";
@ -58,7 +58,7 @@ void sub_8030E2C(void);
void sub_8030E48(void);
bool8 sub_8030D40(u8 mailIndex, s32 param_2)
{
{
gUnknown_203B324 = MemoryAlloc(sizeof(struct unkStruct_203B324), 8);
gUnknown_203B324->mailIndex = mailIndex;
sub_801317C(&gUnknown_203B324->unk0);
@ -71,7 +71,7 @@ bool8 sub_8030D40(u8 mailIndex, s32 param_2)
}
u8 sub_8030DA0(void)
{
{
switch(sub_8012A64(&gUnknown_203B324->unk0, gUnknown_203B324->unk10))
{
case 2:
@ -92,7 +92,7 @@ void sub_8030DD4(void)
}
void sub_8030DE4(void)
{
{
if(gUnknown_203B324 != NULL)
{
gUnknown_203B324->unk18[gUnknown_203B324->unk10] = gUnknown_80E0900;
@ -115,7 +115,7 @@ void sub_8030E48(void)
unkStruct_203B480 *mail;
unkStruct_802C39C stack;
u8 buffer [256];
mail = &gUnknown_203B480[gUnknown_203B324->mailIndex];
sub_80073B8(gUnknown_203B324->unk10);
stack.unk0[0] = gUnknown_203B324->unk10;

View File

@ -34,7 +34,7 @@ bool8 sub_802C10C(s32 a0, UnkTextStruct2_sub *a1, s32 a2)
sub_8006518(gUnknown_203B2E0->unk44);
gUnknown_203B2E0->unk44[gUnknown_203B2E0->unk3C] = sUnknown_80DFCB4;
gUnknown_203B2E0->unk40->unk14 = gUnknown_203B2E0->unkA4;
gUnknown_203B2E0->unk40->unk14 = &gUnknown_203B2E0->unkA4;
if (a1 != NULL)
gUnknown_203B2E0->unk44[gUnknown_203B2E0->unk3C].unk8 = *a1;
@ -184,7 +184,7 @@ void DrawPelipperBoardJobMenu(void)
xxx_call_draw_string(x, 0, sBulletinBoard, gUnknown_203B2E0->unk3C, 0);
iVar4 += 4;
x = iVar4 + (gUnknown_203B2E0->unkA4[2] * 8);
x = iVar4 + (gUnknown_203B2E0->unkA4.f2 * 8);
sub_8012BC4(x, 0, gUnknown_203B2E0->input.unk1E + 1, 2, 7, gUnknown_203B2E0->unk3C);
for (i = 0; i < gUnknown_203B2E0->input.unk1A; i++) {

View File

@ -34,7 +34,7 @@ bool8 sub_802C4C8(s32 a0, UnkTextStruct2_sub *a1, u32 a2)
sub_8006518(gUnknown_203B2E8->unk44);
gUnknown_203B2E8->unk44[gUnknown_203B2E8->unk3C] = sUnknown_80DFCFC;
gUnknown_203B2E8->unk40->unk14 = gUnknown_203B2E8->unkA4;
gUnknown_203B2E8->unk40->unk14 = &gUnknown_203B2E8->unkA4;
if (a1 != NULL)
gUnknown_203B2E8->unk44[gUnknown_203B2E8->unk3C].unk8 = *a1;
@ -182,7 +182,7 @@ void DrawJobListMenu(void)
xxx_call_draw_string(x, 0, sJobList, gUnknown_203B2E8->unk3C, 0);
r4 += 4;
x = r4 + (gUnknown_203B2E8->unkA4[2] * 8);
x = r4 + (gUnknown_203B2E8->unkA4.f2 * 8);
sub_8012BC4(x, 0, gUnknown_203B2E8->input.unk1E + 1, 2, 7, gUnknown_203B2E8->unk3C);
for (i = 0; i < gUnknown_203B2E8->input.unk1A; i++) {

View File

@ -28,7 +28,7 @@ bool8 sub_802CDD4(u32 a0)
sUnknown_203B2F4->unk38 = &sUnknown_203B2F4->unk3C[sUnknown_203B2F4->unk34];
sub_8006518(sUnknown_203B2F4->unk3C);
sUnknown_203B2F4->unk3C[sUnknown_203B2F4->unk34] = sUnknown_80DFDA4;
sUnknown_203B2F4->unk38->unk14 = sUnknown_203B2F4->unk9C;
sUnknown_203B2F4->unk38->unk14 = &sUnknown_203B2F4->unk9C;
sub_8012D34(sUnknown_203B2F4->unk38, 4);
ResetUnusedInputStruct();
sub_800641C(sUnknown_203B2F4->unk3C, TRUE, TRUE);
@ -163,7 +163,7 @@ void sub_802CFD0(void)
xxx_call_draw_string(r5, 0, sRescueEvent, sUnknown_203B2F4->unk34, 0);
r4 -= 6;
r5 = r4 + (sUnknown_203B2F4->unk9C[2] * 8);
r5 = r4 + (sUnknown_203B2F4->unk9C.f2 * 8);
sub_8012BC4(r5, 0, sUnknown_203B2F4->input.unk1E + 1, 2, 7, sUnknown_203B2F4->unk34);
for (r5 = 0; r5 < sUnknown_203B2F4->input.unk1A; r5++) {
@ -179,4 +179,4 @@ void sub_802CFD0(void)
}
sub_80073E0(sUnknown_203B2F4->unk34);
}
}