mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-15 04:25:54 -05:00
split out menu input asm and rename UnkInputStruct to MenuInputStruct
This commit is contained in:
1204
asm/code_80130A8.s
1204
asm/code_80130A8.s
File diff suppressed because it is too large
Load Diff
1213
asm/menu_input.s
Normal file
1213
asm/menu_input.s
Normal file
File diff suppressed because it is too large
Load Diff
@@ -48,7 +48,7 @@ struct UnusedInputStruct
|
||||
/* 0x2A..0x2B - padding */
|
||||
};
|
||||
|
||||
struct UnkInputStructSub
|
||||
struct MenuInputStructSub
|
||||
{
|
||||
u8 unk0;
|
||||
/* 0x1 */ u8 a_button;
|
||||
@@ -60,7 +60,7 @@ struct UnkInputStructSub
|
||||
s16 unkA;
|
||||
};
|
||||
|
||||
struct UnkInputStruct
|
||||
struct MenuInputStruct
|
||||
{
|
||||
s32 unk0;
|
||||
/* 0x4 */ u16 unk4;
|
||||
@@ -77,10 +77,10 @@ struct UnkInputStruct
|
||||
/* 0x1C */ s16 unk1C;
|
||||
/* 0x1E */ s16 unk1E;
|
||||
/* 0x20 */ u16 unk20;
|
||||
/* 0x20 */ u16 unk22;
|
||||
/* 0x22 */ u16 unk22;
|
||||
/* 0x24 */ u16 unk24;
|
||||
u16 unk26;
|
||||
/* 0x28 */ struct UnkInputStructSub unk28;
|
||||
/* 0x28 */ struct MenuInputStructSub unk28;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ struct unkStruct_203B224
|
||||
// size: 0xF4
|
||||
u32 unk0;
|
||||
u32 unk4[INVENTORY_SIZE];
|
||||
/* 0x54 */ struct UnkInputStruct input;
|
||||
/* 0x54 */ struct MenuInputStruct input;
|
||||
u32 unk88;
|
||||
struct UnkTextStruct2 *unk8C;
|
||||
struct UnkTextStruct2 unk90[4];
|
||||
|
||||
@@ -17,7 +17,7 @@ struct MenuStruct
|
||||
const u32 *menuTextColorArray;
|
||||
u16 *unkC;
|
||||
/* 0x10 */ s32 index;
|
||||
/* 0x14 */ struct UnkInputStruct input;
|
||||
/* 0x14 */ struct MenuInputStruct input;
|
||||
/* 0x48 */ s32 menuAction;
|
||||
bool8 unk4C;
|
||||
bool8 unk4D;
|
||||
|
||||
@@ -49,7 +49,7 @@ struct PersonalityStruct_203B404
|
||||
/* 0x0 */ s16 StarterID;
|
||||
/* 0x2 */ s16 PartnerArray[NUM_PARTNERS];
|
||||
u8 unk16;
|
||||
/* 0x18 */ struct UnkInputStruct *unk18; // something menu related (seems to be some struct)
|
||||
/* 0x18 */ struct MenuInputStruct *unk18; // something menu related (seems to be some struct)
|
||||
u8 padding[0x30 - 0x1C];
|
||||
/* 0x30 */ s16 currPartnerSelection;
|
||||
s16 unk32;
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
#include "menu.h"
|
||||
struct unkStruct_203B2F4
|
||||
{
|
||||
u8 fill0[0x18];
|
||||
u8 unk18;
|
||||
u8 unk19;
|
||||
s16 unk1A;
|
||||
s16 unk1C;
|
||||
s16 unk1E;
|
||||
u8 fill20[0x34 - 0x20];
|
||||
struct MenuInputStruct input;
|
||||
u32 unk34;
|
||||
struct UnkTextStruct2 *unk38;
|
||||
struct UnkTextStruct2 unk3C[4];
|
||||
|
||||
@@ -94,6 +94,7 @@ SECTIONS {
|
||||
src/code_8012A18.o(.text);
|
||||
src/more_input.o(.text);
|
||||
src/menu_input.o(.text);
|
||||
asm/menu_input.o(.text);
|
||||
asm/code_80130A8.o(.text);
|
||||
src/code_8012A18_1.o(.text);
|
||||
src/felicity_bank.o(.text);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
struct AdventureLog
|
||||
{
|
||||
// size: 0xA0
|
||||
struct UnkInputStruct input;
|
||||
struct MenuInputStruct input;
|
||||
u32 unk34;
|
||||
struct UnkTextStruct2 *unk38;
|
||||
struct UnkTextStruct2 unk3C[4];
|
||||
@@ -42,10 +42,10 @@ const u8 fill_adven[] = "pksdir0";
|
||||
void sub_8032084();
|
||||
void DisplayAdventureLog();
|
||||
extern void sub_8013818(void *, u32, u32, u32);
|
||||
extern bool8 sub_8013938(struct UnkInputStruct *);
|
||||
extern void sub_8013660(struct UnkInputStruct *);
|
||||
extern bool8 sub_8013938(struct MenuInputStruct *);
|
||||
extern void sub_8013660(struct MenuInputStruct *);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern u32 GetKeyPress(struct UnkInputStruct *);
|
||||
extern u32 GetKeyPress(struct MenuInputStruct *);
|
||||
extern bool8 sub_8097710(u8);
|
||||
|
||||
extern s16 sub_80978B8();
|
||||
|
||||
@@ -34,17 +34,7 @@ struct unkStruct_203B23C
|
||||
/* 0x4 */ struct PokemonStruct *pokeStruct;
|
||||
/* 0x8 */ u8 iqSkills[NUM_IQ_SKILLS];
|
||||
/* 0x20 */ s32 numIQSkills;
|
||||
/* 0x24 */ u32 unk24;
|
||||
u8 fill28[0x3C - 0x28];
|
||||
s16 unk3C;
|
||||
s16 unk3E;
|
||||
s16 unk40;
|
||||
s16 unk42;
|
||||
s16 unk44;
|
||||
s16 unk46;
|
||||
u8 fill48[0x52 - 0x48];
|
||||
u8 unk52;
|
||||
u8 fill52[0x58 - 0x53];
|
||||
/* 0x24 */ struct MenuInputStruct input;
|
||||
u32 unk58;
|
||||
/* 0x5C */ struct UnkTextStruct2 *unk5C;
|
||||
/* 0x60 */ struct UnkTextStruct2 unk60[4];
|
||||
@@ -77,15 +67,7 @@ struct unkStruct_203B244
|
||||
u32 unk0;
|
||||
u8 itemIDs[NUMBER_OF_ITEM_IDS];
|
||||
u32 unkF4[NUMBER_OF_ITEM_IDS];
|
||||
u32 unk4B4;
|
||||
u8 fill4B8[0x4CC - 0x4B8];
|
||||
s16 unk4CC;
|
||||
s16 unk4CE;
|
||||
s16 unk4D0;
|
||||
s16 unk4D2;
|
||||
s16 unk4D4;
|
||||
s16 itemCount;
|
||||
u8 fill4D8[0x4E8 - 0x4D8];
|
||||
struct MenuInputStruct input;
|
||||
u32 unk4E8;
|
||||
struct UnkTextStruct2 * unk4EC;
|
||||
struct UnkTextStruct2 unk4F0[4];
|
||||
@@ -161,9 +143,9 @@ extern u8 *gUnknown_80D4970[];
|
||||
|
||||
void sub_8007B7C(s32, s32, s32, s32, s32);
|
||||
extern bool8 sub_801CF14(s32);
|
||||
extern void sub_8013818(u32 *, u32, u32, u32);
|
||||
extern void sub_8013818(struct MenuInputStruct *, u32, u32, u32);
|
||||
extern u32 sub_801CE58(void);
|
||||
extern void sub_8013984(void *);
|
||||
extern void sub_8013984(struct MenuInputStruct *);
|
||||
extern void sub_801CC38(void);
|
||||
extern void sub_801CCD8(void);
|
||||
extern void sub_801CF94(void);
|
||||
@@ -183,14 +165,14 @@ extern void sub_8013C68(u32 *);
|
||||
extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32);
|
||||
extern char * GetIQSkillName(u8 r0);
|
||||
extern void xxx_format_and_draw(u32, u32, const u8 *, u32, u32);
|
||||
extern s32 sub_8013800(u32 *, s32);
|
||||
extern s32 sub_8013800(struct MenuInputStruct *, s32);
|
||||
extern u32 sub_80095E4(s16, u32);
|
||||
extern void sub_801C440(void);
|
||||
extern void sub_801C4C8(void);
|
||||
extern void AddMenuCursorSprite(u32 *);
|
||||
extern u8 sub_80138B8(u32 *, u32);
|
||||
extern void sub_8013660(u32 *);
|
||||
extern s32 GetKeyPress(u32 *);
|
||||
extern void AddMenuCursorSprite(struct MenuInputStruct *);
|
||||
extern u8 sub_80138B8(struct MenuInputStruct *, u32);
|
||||
extern void sub_8013660(struct MenuInputStruct *);
|
||||
extern s32 GetKeyPress(struct MenuInputStruct *);
|
||||
extern bool8 HasNoAvailIQSkills(s16 species);
|
||||
extern u32 sub_801C674(void);
|
||||
extern void sub_801C6B4(void);
|
||||
@@ -441,7 +423,7 @@ bool8 sub_801C244(s16 species, u32 index, u32 param_3)
|
||||
sub_8012D08(gUnknown_203B23C->unk5C,param_3);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B23C->unk60,1,1);
|
||||
sub_8013818(&gUnknown_203B23C->unk24,gUnknown_203B23C->numIQSkills,param_3,index);
|
||||
sub_8013818(&gUnknown_203B23C->input,gUnknown_203B23C->numIQSkills,param_3,index);
|
||||
sub_801C440();
|
||||
sub_801C4C8();
|
||||
return TRUE;
|
||||
@@ -452,10 +434,10 @@ u32 sub_801C308(u8 r0)
|
||||
{
|
||||
if(r0 == 0)
|
||||
{
|
||||
sub_8013660(&gUnknown_203B23C->unk24);
|
||||
sub_8013660(&gUnknown_203B23C->input);
|
||||
return 0;
|
||||
}
|
||||
switch(GetKeyPress(&gUnknown_203B23C->unk24))
|
||||
switch(GetKeyPress(&gUnknown_203B23C->input))
|
||||
{
|
||||
case 2:
|
||||
PlayMenuSoundEffect(1);
|
||||
@@ -467,7 +449,7 @@ u32 sub_801C308(u8 r0)
|
||||
PlayMenuSoundEffect(4);
|
||||
return 4;
|
||||
default:
|
||||
if(sub_80138B8(&gUnknown_203B23C->unk24, 1) != 0)
|
||||
if(sub_80138B8(&gUnknown_203B23C->input, 1) != 0)
|
||||
{
|
||||
sub_801C440();
|
||||
sub_801C4C8();
|
||||
@@ -480,19 +462,19 @@ u32 sub_801C308(u8 r0)
|
||||
|
||||
s32 sub_801C390(void)
|
||||
{
|
||||
return (gUnknown_203B23C->unk42 * gUnknown_203B23C->unk40) + gUnknown_203B23C->unk3C;
|
||||
return (gUnknown_203B23C->input.unk1E * gUnknown_203B23C->input.unk1C) + gUnknown_203B23C->input.menuIndex;
|
||||
}
|
||||
|
||||
void sub_801C3B0(u8 r0)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B23C->unk60, 0, 0);
|
||||
gUnknown_203B23C->unk46 = gUnknown_203B23C->numIQSkills;
|
||||
sub_8013984(&gUnknown_203B23C->unk24);
|
||||
gUnknown_203B23C->input.unk22 = gUnknown_203B23C->numIQSkills;
|
||||
sub_8013984(&gUnknown_203B23C->input);
|
||||
sub_801C440();
|
||||
sub_801C4C8();
|
||||
if(r0)
|
||||
AddMenuCursorSprite(&gUnknown_203B23C->unk24);
|
||||
AddMenuCursorSprite(&gUnknown_203B23C->input);
|
||||
}
|
||||
|
||||
void sub_801C3F8(void)
|
||||
@@ -513,13 +495,13 @@ void sub_801C440(void)
|
||||
{
|
||||
u16 sVar2;
|
||||
|
||||
gUnknown_203B23C->unkC0 = gUnknown_203B23C->unk44;
|
||||
gUnknown_203B23C->unkC1 = gUnknown_203B23C->unk42;
|
||||
gUnknown_203B23C->unkC0 = gUnknown_203B23C->unk24.unk20;
|
||||
gUnknown_203B23C->unkC1 = gUnknown_203B23C->unk24.unk1E;
|
||||
gUnknown_203B23C->unkC2 = 0xA;
|
||||
gUnknown_203B23C->unkC3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B23C->unk60, 1, 1);
|
||||
sVar2 = sub_80095E4(gUnknown_203B23C->unk3E, 0xc) + 2;
|
||||
sVar2 = sub_80095E4(gUnknown_203B23C->unk24.unk1A, 0xc) + 2;
|
||||
gUnknown_203B23C->unk60[gUnknown_203B23C->unk58].unkE = sVar2;
|
||||
gUnknown_203B23C->unk60[gUnknown_203B23C->unk58].unk10 = sVar2;
|
||||
ResetUnusedInputStruct();
|
||||
@@ -607,18 +589,18 @@ void sub_801C4C8(void)
|
||||
|
||||
sub_8008C54(gUnknown_203B23C->unk58);
|
||||
sub_80073B8(gUnknown_203B23C->unk58);
|
||||
x = gUnknown_203B23C->unk42 * 8;
|
||||
x = gUnknown_203B23C->input.unk1E * 8;
|
||||
x2 = x;
|
||||
x2 += 10;
|
||||
xxx_call_draw_string(x2,0,gUnknown_80DBE08,gUnknown_203B23C->unk58,0);
|
||||
x += 4;
|
||||
x2 = x + gUnknown_203B23C->unkC2 * 8;
|
||||
sub_8012BC4(x2,0,gUnknown_203B23C->unk42 + 1,1,7,
|
||||
sub_8012BC4(x2,0,gUnknown_203B23C->input.unk1E + 1,1,7,
|
||||
gUnknown_203B23C->unk58);
|
||||
for (counter = 0; counter < gUnknown_203B23C->unk3E; counter++) {
|
||||
for (counter = 0; counter < gUnknown_203B23C->input.unk1A; counter++) {
|
||||
skillIndex = gUnknown_203B23C->iqSkills
|
||||
[gUnknown_203B23C->unk42 * gUnknown_203B23C->unk40 + counter];
|
||||
y = sub_8013800(&gUnknown_203B23C->unk24,counter);
|
||||
[gUnknown_203B23C->input.unk1E * gUnknown_203B23C->input.unk1C + counter];
|
||||
y = sub_8013800(&gUnknown_203B23C->input,counter);
|
||||
strncpy(gUnknown_202DEA8,GetIQSkillName(skillIndex),0x50);
|
||||
if (IsIQSkillSet((u8 *)&gUnknown_203B23C->pokeStruct->IQSkills,1 << skillIndex)) {
|
||||
strcpy(gUnknown_202DEA8 - 0x50,gUnknown_80DBE14);
|
||||
@@ -805,11 +787,11 @@ bool8 sub_801C8C4(s32 param_1, s32 param_2, struct UnkTextStruct2_sub *param_3,
|
||||
sub_8012D08(gUnknown_203B244->unk4EC, param_4);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B244->unk4F0,1,1);
|
||||
sub_8013818(&gUnknown_203B244->unk4B4, sub_801CE58(), param_4, param_2);
|
||||
sub_8013818(&gUnknown_203B244->input, sub_801CE58(), param_4, param_2);
|
||||
if (gUnknown_203B248 == gUnknown_203B244->unk0) {
|
||||
gUnknown_203B244->unk4CC = gUnknown_203B24C;
|
||||
gUnknown_203B244->unk4D2 = gUnknown_203B24E;
|
||||
sub_8013984(&gUnknown_203B244->unk4B4);
|
||||
gUnknown_203B244->input.menuIndex = gUnknown_203B24C;
|
||||
gUnknown_203B244->input.unk1E = gUnknown_203B24E;
|
||||
sub_8013984(&gUnknown_203B244->input);
|
||||
}
|
||||
sub_801CC38();
|
||||
sub_801CCD8();
|
||||
@@ -824,10 +806,10 @@ bool8 sub_801CA08(u8 param_1)
|
||||
u32 flag;
|
||||
|
||||
if (param_1 == 0) {
|
||||
sub_8013660(&gUnknown_203B244->unk4B4);
|
||||
sub_8013660(&gUnknown_203B244->input);
|
||||
return 0;
|
||||
}
|
||||
switch(GetKeyPress(&(gUnknown_203B244->unk4B4)))
|
||||
switch(GetKeyPress(&(gUnknown_203B244->input)))
|
||||
{
|
||||
case 2:
|
||||
PlayMenuSoundEffect(1);
|
||||
@@ -842,7 +824,7 @@ bool8 sub_801CA08(u8 param_1)
|
||||
if ((temp = sub_801CFE0(index), flag = FALSE, temp != 0) || (flag = (INVENTORY_SIZE > GetNumberOfFilledInventorySlots() + sub_801CFB8())) || flag != 0 ) {
|
||||
PlayMenuSoundEffect(6);
|
||||
gUnknown_203B244->unkF4[index] = gUnknown_203B244->unkF4[index] ^ 1;
|
||||
sub_80138B8(&gUnknown_203B244->unk4B4,0);
|
||||
sub_80138B8(&gUnknown_203B244->input,0);
|
||||
sub_801CCD8();
|
||||
return 1;
|
||||
}
|
||||
@@ -856,7 +838,7 @@ bool8 sub_801CA08(u8 param_1)
|
||||
return 4;
|
||||
default:
|
||||
_0801CAF2:
|
||||
if (sub_80138B8(&gUnknown_203B244->unk4B4,1) != 0) {
|
||||
if (sub_80138B8(&gUnknown_203B244->input,1) != 0) {
|
||||
sub_801CC38();
|
||||
sub_801CCD8();
|
||||
return 1;
|
||||
@@ -869,19 +851,19 @@ _0801CAF2:
|
||||
}
|
||||
|
||||
u8 sub_801CB24(void) {
|
||||
return gUnknown_203B244->itemIDs[(gUnknown_203B244->unk4D2 * gUnknown_203B244->unk4D0) + gUnknown_203B244->unk4CC];
|
||||
return gUnknown_203B244->itemIDs[(gUnknown_203B244->input.unk1E * gUnknown_203B244->input.unk1C) + gUnknown_203B244->input.menuIndex];
|
||||
}
|
||||
|
||||
void sub_801CB5C(u8 r0) {
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B244->unk4F0, 0, 0);
|
||||
gUnknown_203B244->itemCount = sub_801CE58();
|
||||
sub_8013984(&gUnknown_203B244->unk4B4);
|
||||
gUnknown_203B244->input.unk22 = sub_801CE58();
|
||||
sub_8013984(&gUnknown_203B244->input);
|
||||
sub_801CC38();
|
||||
sub_801CCD8();
|
||||
if(r0)
|
||||
{
|
||||
AddMenuCursorSprite(&gUnknown_203B244->unk4B4);
|
||||
AddMenuCursorSprite(&gUnknown_203B244->input);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -889,8 +871,8 @@ void sub_801CBB8(void) {
|
||||
if(gUnknown_203B244 != NULL)
|
||||
{
|
||||
gUnknown_203B248 = gUnknown_203B244->unk0;
|
||||
gUnknown_203B24C = gUnknown_203B244->unk4CC;
|
||||
gUnknown_203B24E = gUnknown_203B244->unk4D2;
|
||||
gUnknown_203B24C = gUnknown_203B244->input.menuIndex;
|
||||
gUnknown_203B24E = gUnknown_203B244->input.unk1E;
|
||||
gUnknown_203B244->unk4F0[gUnknown_203B244->unk4E8] = gUnknown_80DBE3C;
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B244->unk4F0, 1, 1);
|
||||
@@ -989,17 +971,17 @@ void sub_801CCD8(void)
|
||||
sub_80073B8(gUnknown_203B244->unk4E8);
|
||||
xxx_call_draw_string(10,0,gUnknown_80DBE6C,gUnknown_203B244->unk4E8,0);
|
||||
sub_8012BC4(gUnknown_203B244->unk550[2] * 8 + 4,0,
|
||||
gUnknown_203B244->unk4D2 + 1,2,7,gUnknown_203B244->unk4E8);
|
||||
for(index = 0; index < gUnknown_203B244->unk4CE; index++) {
|
||||
uVar3 = gUnknown_203B244->itemIDs[(gUnknown_203B244->unk4D2 * gUnknown_203B244->unk4D0) + index];
|
||||
gUnknown_203B244->input.unk1E + 1,2,7,gUnknown_203B244->unk4E8);
|
||||
for(index = 0; index < gUnknown_203B244->input.unk1A; index++) {
|
||||
uVar3 = gUnknown_203B244->itemIDs[(gUnknown_203B244->input.unk1E * gUnknown_203B244->input.unk1C) + index];
|
||||
sub_8090DC4(buffer,uVar3,0);
|
||||
y = sub_8013800(&gUnknown_203B244->unk4B4,index);
|
||||
y = sub_8013800(&gUnknown_203B244->input,index);
|
||||
xxx_call_draw_string(8,y,buffer,gUnknown_203B244->unk4E8,0);
|
||||
y2 = sub_8013800(&gUnknown_203B244->unk4B4,index);
|
||||
y2 = sub_8013800(&gUnknown_203B244->input,index);
|
||||
sub_8012BC4((gUnknown_203B244->unk4EC->unkC << 3) - 2,y2,
|
||||
gTeamInventory_203B460->teamStorage[uVar3],3,5,gUnknown_203B244->unk4E8);
|
||||
if ((sub_801CFE0(uVar3) & 1) != 0) {
|
||||
sub_8007B7C(gUnknown_203B244->unk4E8,0x8,sub_8013800(&gUnknown_203B244->unk4B4,index), (gUnknown_203B244->unk4EC->unkC + -1) * '\b',10);
|
||||
sub_8007B7C(gUnknown_203B244->unk4E8,0x8,sub_8013800(&gUnknown_203B244->input,index), (gUnknown_203B244->unk4EC->unkC + -1) * '\b',10);
|
||||
}
|
||||
}
|
||||
sub_80073E0(gUnknown_203B244->unk4E8);
|
||||
|
||||
@@ -14,7 +14,7 @@ struct Hints
|
||||
struct unkStruct_203B268
|
||||
{
|
||||
// size: 0xA0
|
||||
struct UnkInputStruct input;
|
||||
struct MenuInputStruct input;
|
||||
u32 unk34;
|
||||
struct UnkTextStruct2 *unk38;
|
||||
struct UnkTextStruct2 unk3C[4];
|
||||
@@ -24,7 +24,7 @@ struct unkStruct_203B268
|
||||
struct unkStruct_203B264
|
||||
{
|
||||
// size: 0x9C
|
||||
struct UnkInputStruct input;
|
||||
struct MenuInputStruct input;
|
||||
u32 unk34;
|
||||
struct UnkTextStruct2 *unk38;
|
||||
struct UnkTextStruct2 unk3C[4];
|
||||
@@ -57,9 +57,9 @@ extern void sub_8008C54(u32);
|
||||
void DrawHintSelectionMenu(void);
|
||||
void sub_801E594(void);
|
||||
void sub_8013984(void *);
|
||||
void AddMenuCursorSprite(struct UnkInputStruct *);
|
||||
extern u8 sub_80138B8(struct UnkInputStruct *, u32);
|
||||
extern void sub_8013660(struct UnkInputStruct *);
|
||||
void AddMenuCursorSprite(struct MenuInputStruct *);
|
||||
extern u8 sub_80138B8(struct MenuInputStruct *, u32);
|
||||
extern void sub_8013660(struct MenuInputStruct *);
|
||||
extern void sub_8012D08(struct UnkTextStruct2 *, u32);
|
||||
|
||||
u32 sub_801E3F0(u32 r0)
|
||||
|
||||
@@ -15,7 +15,7 @@ struct unkStruct_203B31C
|
||||
{
|
||||
// Size: 0xD0
|
||||
s16 unk0[NUM_DUNGEON_MAZE];
|
||||
struct UnkInputStruct unk30;
|
||||
struct MenuInputStruct unk30;
|
||||
u32 unk64;
|
||||
struct UnkTextStruct2 *unk68;
|
||||
struct UnkTextStruct2 unk6C[4];
|
||||
@@ -66,7 +66,7 @@ extern bool8 IsMazeCompleted(s32);
|
||||
extern s32 sub_8030668(void);
|
||||
extern void sub_8013984(void *);
|
||||
extern void sub_80304C8();
|
||||
extern void AddMenuCursorSprite(struct UnkInputStruct *);
|
||||
extern void AddMenuCursorSprite(struct MenuInputStruct *);
|
||||
extern void DrawDojoCourseList(void);
|
||||
|
||||
extern u8 sub_80138B8(void *, u32);
|
||||
|
||||
@@ -17,26 +17,26 @@ extern struct UnkTextStruct1 gUnknown_2027370[4];
|
||||
extern u8 gUnknown_80D4828[];
|
||||
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern s32 GetKeyPress(struct UnkInputStruct *);
|
||||
extern u32 sub_80137A8(struct UnkInputStruct *);
|
||||
void MoveMenuCursorUp(struct UnkInputStruct *);
|
||||
void MoveMenuCursorDown(struct UnkInputStruct *);
|
||||
extern s32 GetKeyPress(struct MenuInputStruct *);
|
||||
extern u32 sub_80137A8(struct MenuInputStruct *);
|
||||
void MoveMenuCursorUp(struct MenuInputStruct *);
|
||||
void MoveMenuCursorDown(struct MenuInputStruct *);
|
||||
extern void sub_80073B8(u32);
|
||||
extern s32 sub_8008ED0(const u8 *);
|
||||
extern void xxx_format_and_draw(u32, u32, const u8 *, u32, u32);
|
||||
extern s32 sub_8013800(struct UnkInputStruct *, s32);
|
||||
extern s32 sub_8013800(struct MenuInputStruct *, s32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void sub_8013660(struct UnkInputStruct *);
|
||||
void AddMenuCursorSprite(struct UnkInputStruct *);
|
||||
void AddMenuCursorSprite_(struct UnkInputStruct *, u32);
|
||||
extern void sub_8013660(struct MenuInputStruct *);
|
||||
void AddMenuCursorSprite(struct MenuInputStruct *);
|
||||
void AddMenuCursorSprite_(struct MenuInputStruct *, u32);
|
||||
void sub_8012EBC(struct MenuStruct *param_1);
|
||||
extern void sub_8013134(struct UnkInputStruct *, u32, u32);
|
||||
extern void sub_80137B0(struct UnkInputStruct *, u32);
|
||||
extern void sub_8013134(struct MenuInputStruct *, u32, u32);
|
||||
extern void sub_80137B0(struct MenuInputStruct *, u32);
|
||||
extern s16 sub_8009614(u32, u32);
|
||||
extern u32 ReturnIntFromChar2(u8);
|
||||
struct unkChar *GetCharacter(u32);
|
||||
extern void xxx_call_draw_char(u32, u32, u32, u32, u32);
|
||||
extern void sub_801317C(struct UnkInputStructSub *);
|
||||
extern void sub_801317C(struct MenuInputStructSub *);
|
||||
extern void nullsub_7(u16 *);
|
||||
|
||||
const u32 gDefaultMenuTextColors[] = { COLOR_WHITE_2, COLOR_RED, COLOR_RED };
|
||||
@@ -461,7 +461,7 @@ bool8 sub_8013114(struct MenuStruct *param_1, s32 *menuAction)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_8013134(struct UnkInputStruct *param_1, u32 menuItemCounter, u32 index) {
|
||||
void sub_8013134(struct MenuInputStruct *param_1, u32 menuItemCounter, u32 index) {
|
||||
|
||||
struct UnkTextStruct1 *temp;
|
||||
|
||||
@@ -491,7 +491,7 @@ void sub_8013134(struct UnkInputStruct *param_1, u32 menuItemCounter, u32 index)
|
||||
sub_801317C(¶m_1->unk28);
|
||||
}
|
||||
|
||||
void sub_801317C(struct UnkInputStructSub *param_1)
|
||||
void sub_801317C(struct MenuInputStructSub *param_1)
|
||||
{
|
||||
param_1->unk0 = 0;
|
||||
param_1->a_button = 0;
|
||||
@@ -504,7 +504,7 @@ void sub_801317C(struct UnkInputStructSub *param_1)
|
||||
ResetUnusedInputStruct();
|
||||
}
|
||||
|
||||
void AddMenuCursorSprite(struct UnkInputStruct *param_1)
|
||||
void AddMenuCursorSprite(struct MenuInputStruct *param_1)
|
||||
{
|
||||
AddMenuCursorSprite_(param_1, 0);
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
#include "input.h"
|
||||
|
||||
|
||||
extern void nullsub_34(struct UnkInputStructSub *r0);
|
||||
extern void nullsub_34(struct MenuInputStructSub *r0);
|
||||
u32 sub_8012AE8(void);
|
||||
|
||||
u32 sub_8012A64(struct UnkInputStructSub *r0, u32 r1)
|
||||
u32 sub_8012A64(struct MenuInputStructSub *r0, u32 r1)
|
||||
{
|
||||
if(r0 == NULL)
|
||||
{
|
||||
@@ -32,7 +32,7 @@ u32 sub_8012A64(struct UnkInputStructSub *r0, u32 r1)
|
||||
}
|
||||
}
|
||||
|
||||
u32 GetKeyPress(struct UnkInputStruct *r0)
|
||||
u32 GetKeyPress(struct MenuInputStruct *r0)
|
||||
{
|
||||
if(r0 != NULL)
|
||||
{
|
||||
|
||||
@@ -62,16 +62,16 @@ extern void sub_800836C(u32, u8 *r0, u32);
|
||||
extern void SetBGPaletteBufferColorArray(s32 index, u8 *colorArray);
|
||||
|
||||
extern void RedrawPartnerSelectionMenu(void);
|
||||
extern void sub_8013818(struct UnkInputStruct **r0, s32, u32, u32);
|
||||
extern void sub_8013818(struct MenuInputStruct **r0, s32, u32, u32);
|
||||
|
||||
extern u32 GetKeyPress(struct UnkInputStruct **r0);
|
||||
extern u8 sub_80138B8(struct UnkInputStruct **r0, u32);
|
||||
extern u32 GetKeyPress(struct MenuInputStruct **r0);
|
||||
extern u8 sub_80138B8(struct MenuInputStruct **r0, u32);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
|
||||
|
||||
extern void sub_8013984(struct UnkInputStruct **r0);
|
||||
u32 sub_8013800(struct UnkInputStruct **r0, u32);
|
||||
extern void AddMenuCursorSprite(struct UnkInputStruct **r0);
|
||||
extern void sub_8013984(struct MenuInputStruct **r0);
|
||||
u32 sub_8013800(struct MenuInputStruct **r0, u32);
|
||||
extern void AddMenuCursorSprite(struct MenuInputStruct **r0);
|
||||
extern void xxx_call_draw_string(u32 x, u32 y, const char *text, u32, u32);
|
||||
extern u32 sub_80095E4(s16, u32);
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ struct unkStruct_203B2CC
|
||||
{
|
||||
// size: 0xD4;
|
||||
u8 receivedNewsletters[NUM_POKEMON_NEWS];
|
||||
struct UnkInputStruct input;
|
||||
struct MenuInputStruct input;
|
||||
u32 unk6C;
|
||||
struct UnkTextStruct2 *unk70;
|
||||
struct UnkTextStruct2 unk74[4];
|
||||
@@ -41,7 +41,7 @@ struct unkStruct_203B2D8
|
||||
{
|
||||
// size: 0xA4
|
||||
u8 unk0[4];
|
||||
struct UnkInputStruct input;
|
||||
struct MenuInputStruct input;
|
||||
u32 unk38;
|
||||
struct UnkTextStruct2 *unk3C;
|
||||
struct UnkTextStruct2 unk40[4];
|
||||
@@ -158,9 +158,9 @@ extern void CreatePKMNNewsMenu(void);
|
||||
extern void sub_8013818(void *, u32, u32, u32);
|
||||
extern u8 sub_80138B8(void *, u32);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern s32 GetKeyPress(struct UnkInputStruct *);
|
||||
extern void sub_8013660(struct UnkInputStruct *);
|
||||
extern void AddMenuCursorSprite(struct UnkInputStruct *);
|
||||
extern s32 GetKeyPress(struct MenuInputStruct *);
|
||||
extern void sub_8013660(struct MenuInputStruct *);
|
||||
extern void AddMenuCursorSprite(struct MenuInputStruct *);
|
||||
extern void sub_802BCC4(void);
|
||||
extern void sub_802BB14(u32);
|
||||
extern void sub_801317C(u32 *);
|
||||
@@ -168,7 +168,7 @@ extern u8 HasNoMailinMailbox(void);
|
||||
extern void sub_802BF30(void);
|
||||
extern void CreateMailMenu(void);
|
||||
extern s32 CountEmptyMailSlots(void);
|
||||
extern void sub_8013848(struct UnkInputStruct*, s32, u32, u32);
|
||||
extern void sub_8013848(struct MenuInputStruct*, s32, u32, u32);
|
||||
void sub_802BB28(void);
|
||||
extern void sub_802BB98(void);
|
||||
extern void sub_802BC08(void);
|
||||
@@ -184,8 +184,8 @@ extern void sub_80073E0(u32);
|
||||
extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32);
|
||||
extern void xxx_format_and_draw(u32, u32, const u8 *, u32, u32);
|
||||
extern void sub_803B6B0(u32, u32, u32, u32);
|
||||
extern s32 sub_8013800(struct UnkInputStruct *, s32);
|
||||
extern void sub_8013984(struct UnkInputStruct *);
|
||||
extern s32 sub_8013800(struct MenuInputStruct *, s32);
|
||||
extern void sub_8013984(struct MenuInputStruct *);
|
||||
extern struct PokemonStruct *sub_808D3BC(void);
|
||||
extern void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon);
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ EWRAM_DATA_2 struct PostOfficeHelper *gPostOfficeHelper = {0};
|
||||
struct unkStruct_203B330
|
||||
{
|
||||
// size: 0x78
|
||||
struct UnkInputStructSub input;
|
||||
struct MenuInputStructSub input;
|
||||
u8 unkC;
|
||||
u8 dungeonIndex;
|
||||
u8 fillE[2];
|
||||
@@ -178,7 +178,7 @@ extern u8 gAvailablePokemonNames[];
|
||||
|
||||
extern void sub_80141B4(const char *r0, u32, struct OpenedFile **r1, u32);
|
||||
extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32, u32, u32, struct OpenedFile **r5, u32);
|
||||
extern u32 sub_8012A64(struct UnkInputStructSub *, u32);
|
||||
extern u32 sub_8012A64(struct MenuInputStructSub *, u32);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern void sub_8031A84();
|
||||
extern void DisplayMissionObjectives();
|
||||
|
||||
@@ -12,21 +12,21 @@
|
||||
|
||||
bool8 IsMailSlotEmpty(u8);
|
||||
extern void sub_8013984(void *);
|
||||
extern void sub_8013848(struct UnkInputStruct *, s32, u32, u32);
|
||||
extern void sub_8013848(struct MenuInputStruct *, s32, u32, u32);
|
||||
extern s32 CountPelipperBoardSlots(void);
|
||||
extern void sub_802C328(void);
|
||||
extern void DrawPelipperBoardJobMenu(void);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern void sub_8013660(struct UnkInputStruct *);
|
||||
extern s32 GetKeyPress(struct UnkInputStruct *);
|
||||
extern bool8 sub_80138B8(struct UnkInputStruct *, u32);
|
||||
extern void AddMenuCursorSprite(struct UnkInputStruct *);
|
||||
extern void sub_8013660(struct MenuInputStruct *);
|
||||
extern s32 GetKeyPress(struct MenuInputStruct *);
|
||||
extern bool8 sub_80138B8(struct MenuInputStruct *, u32);
|
||||
extern void AddMenuCursorSprite(struct MenuInputStruct *);
|
||||
extern u8 HasNoPelipperBoardJobs(void);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
extern s32 sub_8013800(struct UnkInputStruct *, s32);
|
||||
extern s32 sub_8013800(struct MenuInputStruct *, s32);
|
||||
extern struct WonderMail *GetPelipperBoardSlotInfo(u32);
|
||||
extern void sub_803B35C(struct WonderMail *, u32 *);
|
||||
extern u8 gBulletinBoardText[];
|
||||
@@ -39,7 +39,7 @@ struct unkStruct_203B2D8
|
||||
{
|
||||
// size: 0xA4
|
||||
u8 unk0[4];
|
||||
struct UnkInputStruct input;
|
||||
struct MenuInputStruct input;
|
||||
u32 unk38;
|
||||
struct UnkTextStruct2 *unk3C;
|
||||
struct UnkTextStruct2 unk40[4];
|
||||
@@ -52,7 +52,7 @@ struct unkStruct_203B2E0
|
||||
{
|
||||
// size: 0xA8
|
||||
u8 unk0[0x8];
|
||||
struct UnkInputStruct input;
|
||||
struct MenuInputStruct input;
|
||||
s32 unk3C;
|
||||
struct UnkTextStruct2 *unk40;
|
||||
struct UnkTextStruct2 unk44[4];
|
||||
|
||||
@@ -154,17 +154,17 @@ extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void CreateRescueTitle(struct unkStruct_802C39C *);
|
||||
extern s32 sub_8013800(void *, u32);
|
||||
extern s32 sub_8013800(struct MenuInputStruct *, u32);
|
||||
extern u8 gUnknown_80DFDBC[];
|
||||
extern void sub_802CF5C(void);
|
||||
extern void sub_802CFD0(void);
|
||||
extern void sub_8013984(void *);
|
||||
extern void AddMenuCursorSprite(void *);
|
||||
extern u8 sub_80138B8(void *, u32);
|
||||
extern void sub_8013660(void *);
|
||||
extern u32 GetKeyPress(void *);
|
||||
extern void sub_8013984(struct MenuInputStruct *);
|
||||
extern void AddMenuCursorSprite(struct MenuInputStruct *);
|
||||
extern u8 sub_80138B8(struct MenuInputStruct *, u32);
|
||||
extern void sub_8013660(struct MenuInputStruct *);
|
||||
extern u32 GetKeyPress(struct MenuInputStruct *);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern void sub_8013848(void *, s32, u32, u32);
|
||||
extern void sub_8013848(struct MenuInputStruct *, s32, u32, u32);
|
||||
|
||||
extern void sub_802DF24(void);
|
||||
extern void SetJobListState(u32);
|
||||
@@ -375,7 +375,7 @@ bool8 sub_802CDD4(u32 r0)
|
||||
sub_8012D34(gUnknown_203B2F4->unk38, 4);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B2F4->unk3C, 1, 1);
|
||||
sub_8013848(gUnknown_203B2F4, 5, 4, r0);
|
||||
sub_8013848(&gUnknown_203B2F4->input, 5, 4, r0);
|
||||
sub_802CF5C();
|
||||
sub_802CFD0();
|
||||
return TRUE;
|
||||
@@ -385,12 +385,12 @@ u32 sub_802CE5C(u8 r0)
|
||||
{
|
||||
if(r0 == 0)
|
||||
{
|
||||
sub_8013660(gUnknown_203B2F4);
|
||||
sub_8013660(&gUnknown_203B2F4->input);
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(GetKeyPress(gUnknown_203B2F4))
|
||||
switch(GetKeyPress(&gUnknown_203B2F4->input))
|
||||
{
|
||||
case INPUT_B_BUTTON:
|
||||
PlayMenuSoundEffect(1);
|
||||
@@ -398,7 +398,7 @@ u32 sub_802CE5C(u8 r0)
|
||||
case INPUT_A_BUTTON:
|
||||
return 3;
|
||||
default:
|
||||
if(sub_80138B8(gUnknown_203B2F4, 1) != 0)
|
||||
if(sub_80138B8(&gUnknown_203B2F4->input, 1) != 0)
|
||||
{
|
||||
sub_802CF5C();
|
||||
sub_802CFD0();
|
||||
@@ -414,18 +414,18 @@ u32 sub_802CE5C(u8 r0)
|
||||
|
||||
u8 sub_802CEBC(void)
|
||||
{
|
||||
return (gUnknown_203B2F4->unk1E * gUnknown_203B2F4->unk1C) + gUnknown_203B2F4->unk18;
|
||||
return (gUnknown_203B2F4->input.unk1E * gUnknown_203B2F4->input.unk1C) + gUnknown_203B2F4->input.menuIndex;
|
||||
}
|
||||
|
||||
void sub_802CED8(u8 r0)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B2F4->unk3C, 0, 0);
|
||||
sub_8013984(gUnknown_203B2F4);
|
||||
sub_8013984(&gUnknown_203B2F4->input);
|
||||
sub_802CF5C();
|
||||
sub_802CFD0();
|
||||
if(r0)
|
||||
AddMenuCursorSprite(gUnknown_203B2F4);
|
||||
AddMenuCursorSprite(&gUnknown_203B2F4->input);
|
||||
}
|
||||
|
||||
void sub_802CF14(void)
|
||||
@@ -510,17 +510,17 @@ void sub_802CFD0(void)
|
||||
|
||||
sub_8008C54(gUnknown_203B2F4->unk34);
|
||||
sub_80073B8(gUnknown_203B2F4->unk34);
|
||||
r5 = r4 = gUnknown_203B2F4->unk1E * 8 + 10;
|
||||
r5 = r4 = gUnknown_203B2F4->input.unk1E * 8 + 10;
|
||||
xxx_call_draw_string(r5,0,gUnknown_80DFDBC,gUnknown_203B2F4->unk34,0); // RESCUE EVENT
|
||||
r4 -= 6;
|
||||
r5 = r4 + (gUnknown_203B2F4->unk9C[2] * 8);
|
||||
sub_8012BC4(r5,0,gUnknown_203B2F4->unk1E + 1,2,7,gUnknown_203B2F4->unk34);
|
||||
sub_8012BC4(r5,0,gUnknown_203B2F4->input.unk1E + 1,2,7,gUnknown_203B2F4->unk34);
|
||||
|
||||
for(r5 = 0; r5 < gUnknown_203B2F4->unk1A; r5++)
|
||||
for(r5 = 0; r5 < gUnknown_203B2F4->input.unk1A; r5++)
|
||||
{
|
||||
iVar1 = sub_803B344(gUnknown_203B2F4->unk1E * gUnknown_203B2F4->unk1C + r5);
|
||||
iVar1 = sub_803B344(gUnknown_203B2F4->input.unk1E * gUnknown_203B2F4->input.unk1C + r5);
|
||||
local.unk0[0] = gUnknown_203B2F4->unk34;
|
||||
local.y = sub_8013800(gUnknown_203B2F4, r5);
|
||||
local.y = sub_8013800(&gUnknown_203B2F4->input, r5);
|
||||
sub_803B35C(&iVar1->mail,&local);
|
||||
local.unk43 = 1;
|
||||
local.unk4C = iVar1->unk14;
|
||||
|
||||
Reference in New Issue
Block a user