unify save defines and decomp more save stuff

This commit is contained in:
Seth Barberee
2020-10-09 15:16:49 -05:00
parent ada5402dc0
commit a391aaa3f6
4 changed files with 96 additions and 94 deletions

View File

@@ -351,65 +351,4 @@ _0801227C:
bx r1
thumb_func_end sub_8012240
thumb_func_start sub_8012284
sub_8012284:
push {lr}
bl sub_80122D0
bl sub_80122F4
bl sub_8012300
pop {r0}
bx r0
thumb_func_end sub_8012284
thumb_func_start sub_8012298
sub_8012298:
push {lr}
bl sub_80976A8
bl sub_80122A8
pop {r0}
bx r0
thumb_func_end sub_8012298
thumb_func_start sub_80122A8
sub_80122A8:
push {lr}
bl sub_80122D0
bl sub_80122F4
bl sub_8012300
bl sub_8012240
pop {r0}
bx r0
thumb_func_end sub_80122A8
thumb_func_start nullsub_33
nullsub_33:
bx lr
thumb_func_end nullsub_33
thumb_func_start sub_80122C4
sub_80122C4:
push {lr}
bl sub_80122A8
pop {r0}
bx r0
thumb_func_end sub_80122C4
thumb_func_start sub_80122D0
sub_80122D0:
push {lr}
movs r0, 0
bl sub_8011C28
movs r0, 0x1
negs r0, r0
bl sub_8011C40
bl sub_8097748
ldr r0, _080122F0
ldr r0, [r0]
bl sub_8094FA8
pop {r0}
bx r0
.align 2, 0
_080122F0: .4byte gUnknown_203B47C
thumb_func_end sub_80122D0
.align 2, 0 @ Don't pad with nop.

34
include/save.h Normal file
View File

@@ -0,0 +1,34 @@
struct unkTimeStruct
{
u16 unk0;
u8 unk2;
u8 unk3;
u8 unk4;
};
struct UnkStruct_203B184 {
/* 0x0 */ u32 unk0;
/* 0x4 */ u32 unk4;
/* 0x8 */ u32 unk8;
/* 0xC */ u32 unkC;
/* 0x10 */ u32 unk10;
/* 0x14 */ u32 unk14;
/* 0x18 */ u32 unk18;
/* 0x1C */ u32 unk1C;
/* 0x20 */ u32 unk20;
/* 0x24 */ u32 unk24;
/* 0x28 */ u32 unk28;
/* 0x2C */ u32 unk2C;
/* 0x30 */ struct unkTimeStruct *unk30;
u32 unk34;
u32 unk38;
u32 unk3C;
u32 unk40;
u32 unk44;
u32 unk48;
u8 *unk04C;
u32 unk050;
u32 unk054;
u32 unk058;
};

View File

@@ -1,14 +1,7 @@
#include "global.h"
#include "flash.h"
#include "memory.h"
struct UnkStruct_203B184 {
u8 fill000[0x4C];
u8 *unk04C;
u32 unk050;
u32 unk054;
u32 unk058;
};
#include "save.h"
struct UnkStruct_sub_8011DAC {
u8 fill000[0x4];
@@ -30,7 +23,7 @@ struct UnkStruct_sub_8011DAC {
u8 fill448[0x538C];
};
extern u32 gUnknown_202DE28;
extern s32 gUnknown_202DE28;
extern u32 gUnknown_203B17C;
extern u32 gUnknown_203B180;
extern volatile struct UnkStruct_203B184 *gUnknown_203B184;
@@ -61,12 +54,12 @@ void sub_8011C28(u32 in)
gUnknown_203B17C = in;
}
u32 sub_8011C34(void)
s32 sub_8011C34(void)
{
return gUnknown_202DE28;
}
void sub_8011C40(u32 in)
void sub_8011C40(s32 in)
{
gUnknown_202DE28 = in;
}

View File

@@ -1,24 +1,8 @@
#include "global.h"
#include "save.h"
// TODO unify with UnkStruct_203B184 in save.c
struct unkSaveStruct
{
/* 0x0 */ u32 unk0;
/* 0x4 */ u32 unk4;
/* 0x8 */ u32 unk8;
/* 0xC */ u32 unkC;
/* 0x10 */ u32 unk10;
/* 0x14 */ u32 unk14;
/* 0x18 */ u32 unk18;
/* 0x1C */ u32 unk1C;
/* 0x20 */ u32 unk20;
/* 0x24 */ u32 unk24;
/* 0x28 */ u32 unk28;
/* 0x2C */ u32 unk2C;
/* 0x30 */ u32 unk30;
};
extern struct unkSaveStruct *gUnknown_203B184;
extern struct UnkStruct_203B184 *gUnknown_203B184;
extern struct unkTimeStruct *gUnknown_203B47C;
extern u32 gUnknown_203B460;
extern u32 gUnknown_203B45C;
@@ -32,7 +16,6 @@ extern u32 gUnknown_203B494;
extern u32 gUnknown_203B498;
extern u32 gUnknown_203B468;
extern u32 gUnknown_203B46C;
extern u32 gUnknown_203B47C;
extern void sub_800135C(void);
extern u32 sub_808CE00(void);
@@ -45,7 +28,6 @@ extern u32 sub_80923B0(void);
extern void sub_80923B8(void);
extern u32 sub_8094990(void);
extern void sub_8094998(u8 r0);
extern u32 sub_8094FA0(void);
extern u32 sub_80950F8(void);
extern u32 sub_8095100(void);
extern u32 sub_8095108(void);
@@ -59,6 +41,60 @@ extern void sub_80974E8(void);
extern u32 sub_8097F6C(void);
extern void sub_8097F74(void);
extern void sub_8011C28(u32 r0);
extern void sub_8011C40(s32 r0);
extern void sub_8097748(void);
extern void sub_8012240();
extern void sub_8094FA8(struct unkTimeStruct *Time); // defined in src/code_8094F88.c
extern struct unkTimeStruct *sub_8094FA0(void);
void sub_80122D0();
void sub_80122F4();
void sub_8012300();
void sub_80976A8();
void sub_80122A8();
void sub_8012284(void)
{
sub_80122D0();
sub_80122F4();
sub_8012300();
}
void sub_8012298(void)
{
sub_80976A8();
sub_80122A8();
}
void sub_80122A8(void)
{
sub_80122D0();
sub_80122F4();
sub_8012300();
sub_8012240();
}
void nullsub_33(void)
{
}
void sub_80122C4(void)
{
sub_80122A8();
}
void sub_80122D0(void)
{
sub_8011C28(0);
sub_8011C40(-1);
sub_8097748();
sub_8094FA8(gUnknown_203B47C);
}
void sub_80122F4(void)
{
sub_800135C();
@@ -85,7 +121,7 @@ void nullsub_200(u32 r0)
}
// Unused
void sub_8012334(struct unkSaveStruct *r0)
void sub_8012334(struct UnkStruct_203B184 *r0)
{
gUnknown_203B184 = r0;
if(r0 != NULL)