code cleanup and decomp a few other funcs

This commit is contained in:
Seth Barberee 2022-12-26 11:25:16 -08:00
parent 391f1bf01a
commit 9e4a18aba4
14 changed files with 1933 additions and 2169 deletions

File diff suppressed because it is too large Load Diff

1737
asm/code_801EE10_1.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -5,13 +5,13 @@ struct GameOptions
{
// TODO: find where Controls/Touch Screen are in this structure in PMD Blue
/* 0x0 */ u8 dungeonSpeed; // 0 - Slow, 1 - Fast
/* 0x1 */ u8 FarOffPals; // 0 - Self, 1 - Lock
/* 0x2 */ bool8 damageTurn; // 0 - No, 1 - Yes
/* 0x3 */ bool8 gridEnable; // 0 - Off, 1 - on
/* 0x4 */ u8 mapOption; // 0 - Off, 1 - Clear, 2 - Shade
/* 0x0 */ u8 dungeonSpeed;
/* 0x1 */ u8 FarOffPals;
/* 0x2 */ bool8 damageTurn;
/* 0x3 */ bool8 gridEnable;
/* 0x4 */ u8 mapOption;
/* 0x5 */ u8 fill5[3];
/* 0x8 */ u8 windowColor; // 0 - Blue, 1 - Red, 2 - Green
/* 0x8 */ u8 windowColor;
/* 0x9 */ u8 unk9; // maybe Controls?
/* 0xA */ u8 unkA; // maybe Touch Screen?
/* 0xB */ u8 playerGender;

View File

@ -116,6 +116,8 @@ SECTIONS {
asm/gulpin_shop.o(.text);
src/gulpin_shop_1.o(.text);
asm/code_801EE10.o(.text);
src/code_8023144.o(.text);
asm/code_801EE10_1.o(.text);
src/code_801EE10.o(.text);
src/luminous_cave.o(.text);
src/friend_list_menu_1.o(.text);

View File

@ -417,16 +417,13 @@ s16 sub_801DAC0(void)
return (gUnknown_203B258->unk1E * gUnknown_203B258->unk1C) + gUnknown_203B258->unk18;
}
void sub_801DADC(u32 r0)
void sub_801DADC(u8 r0)
{
u8 r0_u8;
r0_u8 = r0;
gUnknown_203B258->unk22 = 0xE5;
sub_8013984(gUnknown_203B258);
sub_801DB54();
sub_801DBD4();
if(r0_u8)
if(r0)
AddMenuCursorSprite(gUnknown_203B258);
}

View File

@ -28,7 +28,7 @@ extern struct unkStruct_203B2AC *gUnknown_203B2AC;
struct unkStruct_3001B60
{
u32 unk0;
u32 unk4;
u32 sortMethod;
u32 unk8;
u32 unkC;
u32 unk10;
@ -65,9 +65,9 @@ void sub_8024604(void);
extern u8 gUnknown_80DC9A4[];
void CompareInternalNo(s32 param_1, s32 param_2);
void CompareAlphabetNo(s32 param_1,s32 param_2);
void CompareNames(s32 param_1,s32 param_2);
void SortbyInternalNo(s32 param_1, s32 param_2);
void SortbyAlphabetNo(s32 param_1,s32 param_2);
void SortbyName(s32 param_1,s32 param_2);
bool8 sub_8024184(struct PokemonStruct *pokemon, u8 area)
{
@ -79,37 +79,37 @@ bool8 sub_8024184(struct PokemonStruct *pokemon, u8 area)
void sub_80241A8(void)
{
switch(gUnknown_3001B60->unk4)
switch(gUnknown_3001B60->sortMethod)
{
case 2:
if (gUnknown_3001B60->unkC != gUnknown_3001B60->unk10) {
CompareAlphabetNo(gUnknown_3001B60->unkC, gUnknown_3001B60->unk10);
SortbyAlphabetNo(gUnknown_3001B60->unkC, gUnknown_3001B60->unk10);
}
if (gUnknown_3001B60->unk10 != gUnknown_3001B60->unk8) {
CompareAlphabetNo(gUnknown_3001B60->unk10, gUnknown_3001B60->unk8);
SortbyAlphabetNo(gUnknown_3001B60->unk10, gUnknown_3001B60->unk8);
}
break;
case 3:
if (gUnknown_3001B60->unkC != gUnknown_3001B60->unk10) {
CompareNames(gUnknown_3001B60->unkC, gUnknown_3001B60->unk10);
SortbyName(gUnknown_3001B60->unkC, gUnknown_3001B60->unk10);
}
if (gUnknown_3001B60->unk10 != gUnknown_3001B60->unk8) {
CompareNames(gUnknown_3001B60->unk10, gUnknown_3001B60->unk8);
SortbyName(gUnknown_3001B60->unk10, gUnknown_3001B60->unk8);
}
break;
case 1:
if (gUnknown_3001B60->unkC != gUnknown_3001B60->unk10) {
CompareInternalNo(gUnknown_3001B60->unkC, gUnknown_3001B60->unk10);
SortbyInternalNo(gUnknown_3001B60->unkC, gUnknown_3001B60->unk10);
}
if (gUnknown_3001B60->unk10 != gUnknown_3001B60->unk8) {
CompareInternalNo(gUnknown_3001B60->unk10, gUnknown_3001B60->unk8);
SortbyInternalNo(gUnknown_3001B60->unk10, gUnknown_3001B60->unk8);
}
break;
}
}
void CompareInternalNo(s32 param_1, s32 param_2)
void SortbyInternalNo(s32 param_1, s32 param_2)
{
s16 *r4;
s32 iVar4;
@ -143,7 +143,7 @@ void CompareInternalNo(s32 param_1, s32 param_2)
}
}
void CompareAlphabetNo(s32 param_1,s32 param_2)
void SortbyAlphabetNo(s32 param_1,s32 param_2)
{
s16 *r4;
s32 iVar4;
@ -177,7 +177,7 @@ void CompareAlphabetNo(s32 param_1,s32 param_2)
}
}
void CompareNames(s32 param_1,s32 param_2)
void SortbyName(s32 param_1,s32 param_2)
{
s16 *r4;
s32 iVar4;

152
src/code_8023144.c Normal file
View File

@ -0,0 +1,152 @@
#include "global.h"
#include "memory.h"
#include "text.h"
#include "input.h"
struct unkStruct_3001B5C
{
// size: 0x3fC
u8 unk0;
u32 unk4;
u32 unk8;
s16 unkC[2];
u32 unk10;
u8 fill14[0x354 - 0x14];
u8 unk354;
u8 fill355[0x35C - 0x355];
u8 unk35C;
u8 fill35D[0x374 - 0x35D];
s16 unk374;
s16 unk376;
s16 unk378;
s16 unk37A;
u8 fill37C[0x390 - 0x37C];
u32 unk390;
struct UnkTextStruct2 *unk394;
struct UnkTextStruct2 unk398[4];
u8 unk3F8[4];
};
extern struct unkStruct_3001B5C *gUnknown_3001B5C;
extern u32 gUnknown_203B298;
extern u16 gUnknown_203B29C;
extern u16 gUnknown_203B29E;
extern struct UnkTextStruct2 gUnknown_80DC91C;
extern struct UnkTextStruct2 gUnknown_80DC904;
extern u8 sub_8023704();
extern void sub_8012D08(void *, u32);
extern void sub_8013818(void *, u32, u32, u32);
extern void sub_8013984(u8 *);
extern void sub_8023420(void);
extern void sub_80234BC(void);
extern u32 sub_80236A4(void);
extern u8 sub_80138B8(void *, u32);
extern void PlayMenuSoundEffect(u32);
extern s32 GetKeyPress(void *);
extern void sub_8013660(void *);
extern void AddMenuCursorSprite(void *);
bool8 sub_8023144(s32 param_1, s32 index, struct UnkTextStruct2_sub *sub, u32 param_4)
{
u8 param_1_u8 = param_1;
if (sub_8023704(param_1_u8)) {
return 0;
}
if (gUnknown_3001B5C == NULL) {
gUnknown_3001B5C = MemoryAlloc(sizeof(struct unkStruct_3001B5C), 8);
}
gUnknown_3001B5C->unk0 = param_1_u8;
gUnknown_3001B5C->unk4 = gUnknown_203B298;
gUnknown_3001B5C->unk390 = index;
gUnknown_3001B5C->unk394 = &gUnknown_3001B5C->unk398[index];
sub_8006518(gUnknown_3001B5C->unk398);
gUnknown_3001B5C->unk398[gUnknown_3001B5C->unk390] = gUnknown_80DC91C;
gUnknown_3001B5C->unk394->unk14 = gUnknown_3001B5C->unk3F8;
if (sub != NULL) {
gUnknown_3001B5C->unk398[gUnknown_3001B5C->unk390].unk08 = *sub;
}
sub_8012D08(gUnknown_3001B5C->unk394,param_4);
ResetUnusedInputStruct();
sub_800641C(gUnknown_3001B5C->unk398,1,1);
sub_8013818(&gUnknown_3001B5C->unk35C,sub_80236A4(),param_4,index);
gUnknown_3001B5C->unk374 = gUnknown_203B29C;
gUnknown_3001B5C->unk37A = gUnknown_203B29E;
sub_8013984(&gUnknown_3001B5C->unk35C);
sub_8023420();
sub_80234BC();
return 1;
}
u8 sub_8023278(u8 param_1)
{
s32 iVar3;
u32 temp;
if (param_1 == 0) {
sub_8013660(&gUnknown_3001B5C->unk35C);
return 0;
}
switch(GetKeyPress(&gUnknown_3001B5C->unk35C))
{
case 2:
PlayMenuSoundEffect(1);
return 2;
case 1:
PlayMenuSoundEffect(0);
return 3;
case 3:
PlayMenuSoundEffect(5);
if (temp = gUnknown_3001B5C->unk4, iVar3 = 1, temp < 2) {
iVar3 = temp + 1;
}
gUnknown_3001B5C->unk4 = iVar3;
sub_80236A4();
break;
default:
if (sub_80138B8(&gUnknown_3001B5C->unk35C, 1) == 0) {
return 0;
}
break;
}
sub_8023420();
sub_80234BC();
return 1;
}
s16 sub_802331C(void)
{
return gUnknown_3001B5C->unkC[gUnknown_3001B5C->unk37A * gUnknown_3001B5C->unk378 + gUnknown_3001B5C->unk374];
}
void sub_8023354(u8 param_1)
{
ResetUnusedInputStruct();
sub_800641C(gUnknown_3001B5C->unk398,0,0);
sub_8013984(&gUnknown_3001B5C->unk35C);
sub_8023420();
sub_80234BC();
if (param_1 != 0) {
AddMenuCursorSprite(&gUnknown_3001B5C->unk35C);
}
}
void sub_80233A0(void)
{
if (gUnknown_3001B5C != NULL) {
gUnknown_203B298 = gUnknown_3001B5C->unk4;
gUnknown_203B29C = gUnknown_3001B5C->unk374;
gUnknown_203B29E = gUnknown_3001B5C->unk37A;
gUnknown_3001B5C->unk398[gUnknown_3001B5C->unk390] = gUnknown_80DC904;
ResetUnusedInputStruct();
sub_800641C(gUnknown_3001B5C->unk398,1,1);
MemoryFree(gUnknown_3001B5C);
gUnknown_3001B5C = NULL;
}
}

View File

@ -125,17 +125,14 @@ s32 GetChosenHintIndex(void)
return (gUnknown_203B264->unk1E * gUnknown_203B264->unk1C) + gUnknown_203B264->unk18;
}
void CreateHintSelectionScreen(u32 r0)
void CreateHintSelectionScreen(u8 r0)
{
u8 bool8_r0;
bool8_r0 = r0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B264->unk3C, 0, 0);
sub_8013984(gUnknown_203B264);
sub_801E594();
DrawHintSelectionMenu();
if(bool8_r0)
if(r0)
AddMenuCursorSprite(gUnknown_203B264);
}

View File

@ -584,19 +584,15 @@ u8 sub_8019FB0(void)
return (gUnknown_203B214->unk1E * gUnknown_203B214->unk1C) + (u8)gUnknown_203B214->unk18;
}
void sub_8019FCC(u32 r0)
void sub_8019FCC(u8 r0)
{
u8 r0_u8;
r0_u8 = r0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B214->unk3C, 0, 0);
gUnknown_203B214->unk22 = xxx_count_inv_unk230();
sub_8013984((u8 *)gUnknown_203B214);
sub_801A064();
sub_801A0D8();
if(r0_u8)
if(r0)
AddMenuCursorSprite(gUnknown_203B214);
}
@ -811,19 +807,15 @@ u8 sub_801A37C(void)
return (gUnknown_203B21C->unk1E * gUnknown_203B21C->unk1C) + gUnknown_203B21C->unk18;
}
void sub_801A398(u32 r0)
void sub_801A398(u8 r0)
{
u8 r0_u8;
r0_u8 = r0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B21C->unk3C, 0, 0);
gUnknown_203B21C->unk22 = xxx_count_non_empty_inv_unk250_8091A48();
sub_8013984((u8 *)gUnknown_203B21C);
sub_801A430();
sub_801A4A4();
if(r0_u8)
if(r0)
AddMenuCursorSprite(gUnknown_203B21C);
}
@ -1076,12 +1068,8 @@ s32 sub_801A8AC(void)
return (gUnknown_203B224->unk72 * gUnknown_203B224->unk70) + gUnknown_203B224->unk6C;
}
void sub_801A8D0(u32 r0)
void sub_801A8D0(u8 r0)
{
u8 r0_u8;
r0_u8 = r0;
sub_8099690(1);
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B224->unk90, 0, 0);
@ -1090,7 +1078,7 @@ void sub_801A8D0(u32 r0)
sub_8013984((u8 *)&gUnknown_203B224->unk54);
sub_801A998();
sub_801A9E0();
if(r0_u8)
if(r0)
AddMenuCursorSprite((u8 *)&gUnknown_203B224->unk54);
}

View File

@ -558,12 +558,8 @@ u8 GetPokemonNewsIndex(void)
return gUnknown_203B2CC->receivedNewsletters[(gUnknown_203B2CC->unk56 * gUnknown_203B2CC->unk54) + gUnknown_203B2CC->unk50];
}
void sub_802B7D0(u32 r0)
void sub_802B7D0(u8 r0)
{
u8 temp;
temp = r0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B2CC->unk74, 0, 0);
@ -572,7 +568,7 @@ void sub_802B7D0(u32 r0)
sub_802B880();
sub_802B8D4();
if(temp != 0)
if(r0 != 0)
{
AddMenuCursorSprite(&gUnknown_203B2CC->unk38);
}
@ -922,12 +918,8 @@ u8 sub_802BE74(void) {
return gUnknown_203B2D8->unk0[(gUnknown_203B2D8->unk22 * gUnknown_203B2D8->unk20) + gUnknown_203B2D8->unk1C];
}
void sub_802BE94(u32 r0)
void sub_802BE94(u8 r0)
{
u8 temp;
temp = r0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B2D8->unk40, 0, 0);
@ -936,7 +928,7 @@ void sub_802BE94(u32 r0)
sub_802BF30();
CreateMailMenu();
if(temp != 0)
if(r0 != 0)
{
AddMenuCursorSprite(&gUnknown_203B2D8->unk4);
}

View File

@ -278,17 +278,15 @@ u8 sub_802C620(void)
return gUnknown_203B2E8->unk0[gUnknown_203B2E8->unk26 * gUnknown_203B2E8->unk24 + gUnknown_203B2E8->unk20];
}
void sub_802C640(u32 r0)
void sub_802C640(u8 r0)
{
u8 r0_u8;
r0_u8 = r0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B2E8->unk44, 0, 0);
gUnknown_203B2E8->unk2A = CountAcceptedJobs();
sub_8013984(&gUnknown_203B2E8->unk8);
sub_802C6DC();
sub_802C750();
if(r0_u8)
if(r0)
AddMenuCursorSprite(&gUnknown_203B2E8->unk8);
}

View File

@ -240,19 +240,15 @@ u8 sub_802C26C(void)
return gUnknown_203B2E0->unk0[(gUnknown_203B2E0->unk26 * gUnknown_203B2E0->unk24) + gUnknown_203B2E0->unk20];
}
void sub_802C28C(u32 r0)
void sub_802C28C(u8 r0)
{
u8 r0_u8;
r0_u8 = r0;
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B2E0->unk44, 0, 0);
gUnknown_203B2E0->unk2A = sub_802C474();
sub_8013984(&gUnknown_203B2E0->unk8);
sub_802C328();
sub_802C39C();
if(r0_u8)
if(r0)
AddMenuCursorSprite(&gUnknown_203B2E0->unk8);
}

View File

@ -834,18 +834,14 @@ s16 sub_802F90C(void)
return gUnknown_203B314->unk0[(gUnknown_203B314->unkDA * gUnknown_203B314->unkD8) + gUnknown_203B314->unkD4];
}
void sub_802F938(u32 r0)
void sub_802F938(u8 r0)
{
u8 r0_u8;
r0_u8 = r0;
gUnknown_203B314->unkDE = sub_802FBF4();
sub_8013984(&gUnknown_203B314->unkBC);
sub_802F9C0();
sub_802FA50();
if(r0_u8 != 0)
if(r0 != 0)
AddMenuCursorSprite(&gUnknown_203B314->unkBC);
}

View File

@ -134,18 +134,14 @@ u8 sub_80307EC(void)
return gUnknown_203B320->unk0[(gUnknown_203B320->unk42 * gUnknown_203B320->unk40) + gUnknown_203B320->unk3C];
}
void sub_8030810(u32 r0)
void sub_8030810(u8 r0)
{
u8 r0_u8;
r0_u8 = r0; // cast needed..
gUnknown_203B320->unk46 = sub_8030A74();
sub_8013984(&gUnknown_203B320->unk24);
sub_80308A0();
sub_803092C();
if(r0_u8 != 0)
if(r0 != 0)
AddMenuCursorSprite(&gUnknown_203B320->unk24);
}