diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-02-21 11:13:55 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-21 13:13:55 -0600 |
commit | 7fa4f1a92bdc4cefb094f9e3f1144ad3e3a588d9 (patch) | |
tree | 4d5149a98d71e691fb89dca3dfa082eb11ae6a49 /src/save_mid.c | |
parent | c754c2a0466d8394c7ffcb3a515199d5703e47be (diff) |
Fully decomp save.s (#28)
* some work on decomping more save stuff
* code cleanup and decomp another save func
* fully decomp save and combine split save c files
* fix two nonmatchings
Diffstat (limited to 'src/save_mid.c')
-rw-r--r-- | src/save_mid.c | 310 |
1 files changed, 0 insertions, 310 deletions
diff --git a/src/save_mid.c b/src/save_mid.c deleted file mode 100644 index 0c4531c..0000000 --- a/src/save_mid.c +++ /dev/null @@ -1,310 +0,0 @@ -#include "global.h" -#include "save.h" -#include "friend_area.h" - -extern struct UnkStruct_203B184 *gUnknown_203B184; -extern struct unkTimeStruct *gUnknown_203B47C; - -struct unk_203B188 -{ - u32 unk0; - u32 unk4; -}; - -struct unk_struct -{ - u32 unk0; - u32 unk4; - u32 unk8; - u32 unkC; - u32 unk10; - u32 unk14; - u32 unk18; - u32 unk1C; - u32 padding[504]; -}; - -extern struct unk_203B188 *gUnknown_203B188; - -extern u32 *gUnknown_203B45C; -extern u32 *gUnknown_203B460; -extern u32 gUnknown_203B464; -extern u8 *gFriendAreas; -extern u32 gUnknown_203B46C; -extern u8 *gUnknown_203B480; -extern u8 *gUnknown_203B484; -extern u32 *gUnknown_203B488; -extern u32 *gUnknown_203B48C; -extern u32 gUnknown_203B490; -extern u32 gUnknown_203B494; -extern u8 *gUnknown_203B498; -extern u32 gUnknown_80D4354; - -extern void sub_800135C(void); -extern u32 *sub_808CE00(void); -extern void sub_808CE08(void); -extern u32 *sub_80909D0(void); -extern void sub_80909D8(void); -extern u32 sub_809208C(void); -extern void sub_8092094(void); -extern u32 sub_8094990(void); -extern void sub_8094998(u8 r0); -extern u8 *sub_80950F8(void); -extern u8 *sub_8095100(void); -extern u32 *sub_8095108(void); -extern u32 *sub_8095110(void); -extern void sub_8095118(void); -extern u32 sub_80958F8(void); -extern void sub_8095900(void); -extern u32 sub_8097680(void); -extern void sub_80972F4(void); -extern void sub_80974E8(void); -extern u8 *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 ResetPlayTime(struct unkTimeStruct *Time); // defined in src/code_8094F88.c -extern struct unkTimeStruct *sub_8094FA0(void); - -extern void* MemoryAlloc(u32 a, u32 b); -extern void MemoryFree(void* a); -extern void MemoryFill8(u8 *dest, u8 value, s32 size); -extern void sub_8011830(void); -extern s32 WriteFlashData(s32 sector, u8 *src, s32 size); -extern void xxx_call_start_bg_music(void); -extern u32 *sub_809769C(void); -u32 *sub_8011C4C(void); -extern void sub_80958E4(u8 *a, u32 b); -extern s32 WriteSaveSector(s32 *a, u8 *src, s32 size); -extern u32 sub_8011DAC(u32 *a); -extern u32 sub_80144A4(u32 *a); -extern bool8 sub_8011FF8(void); -extern void sub_80141B4(u32 *r0, u32 r1, u32 r2, u16 r3); - -void sub_8012298(); -void sub_80122D0(); -void sub_80122F4(); -void sub_8012300(); -void sub_80976A8(); -void sub_80122A8(); - - -s32 sub_80121D4(s32 *a, u8 *src, s32 size) -{ - return WriteSaveSector(a, src, size); -} - -u32 sub_80121E0(u32 r0) -{ - u32 temp; - u32 *temp2; - u32 temp3; - struct unk_struct *r4 = MemoryAlloc(sizeof(struct unk_struct), 5); - temp = 0x1F; - - r4->unk18 = r0; - r4->unk1C = *sub_809769C(); - r4->unk14 = 0x5071412; - - temp2 = sub_8011C4C(); - strncpy((u8 *)r4 + 4, (u8*)temp2, 16); - sub_80958E4((u8 *)r4 + 32, 0); - temp3 = WriteSaveSector(&temp, (u8 *)r4, sizeof(struct unk_struct)); - MemoryFree(r4); - return temp3; -} - -u32 sub_8012240(void) -{ - s32 temp; - struct unk_struct *r5 = MemoryAlloc(sizeof(struct unk_struct), 5); - MemoryFill8((u8 *)r5, 0xFF, 0x4); - sub_8011830(); - temp = WriteFlashData(0x1F, (u8 *)r5, sizeof(struct unk_struct)); - xxx_call_start_bg_music(); - MemoryFree(r5); - if(temp != 0) - { - return 2; - } - else - { - return 0; - } -} - -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(); - ResetPlayTime(gUnknown_203B47C); -} - -void sub_80122F4(void) -{ - sub_800135C(); -} - -void sub_8012300(void) -{ - InitializeFriendAreas(); - sub_808CE08(); - sub_80909D8(); - sub_8092094(); - sub_80972F4(); - sub_8095118(); - sub_8095900(); - sub_80974E8(); - sub_8094998(1); - sub_8097F74(); -} - - -// Unused -void nullsub_200(u32 r0) -{ -} - -// Unused -void sub_8012334(struct UnkStruct_203B184 *r0) -{ - gUnknown_203B184 = r0; - if(r0 != NULL) - { - gUnknown_203B460 = r0->unk0; - gUnknown_203B45C = r0->unk4; - gUnknown_203B480 = r0->unk8; - gUnknown_203B484 = r0->unkC; - gUnknown_203B488 = r0->unk10; - gUnknown_203B48C = r0->unk14; - gUnknown_203B490 = r0->unk18; - gUnknown_203B464 = r0->unk1C; - gUnknown_203B494 = r0->unk20; - gUnknown_203B498 = r0->unk24; - gFriendAreas = r0->BoughtFriendAreas; - gUnknown_203B46C = r0->unk2C; - gUnknown_203B47C = r0->unk30; - return; - } - gUnknown_203B460 = sub_80909D0(); - gUnknown_203B45C = sub_808CE00(); - gUnknown_203B480 = sub_80950F8(); - gUnknown_203B484 = sub_8095100(); - gUnknown_203B488 = sub_8095108(); - gUnknown_203B48C = sub_8095110(); - gUnknown_203B490 = sub_80958F8(); - gUnknown_203B464 = sub_809208C(); - gUnknown_203B494 = sub_8097680(); - gUnknown_203B498 = sub_8097F6C(); - gFriendAreas = GetBoughtFriendAreas(); - gUnknown_203B46C = sub_8094990(); - gUnknown_203B47C = sub_8094FA0(); - -} - -void sub_8012468(void) -{ - gUnknown_203B188 = MemoryAlloc(sizeof(struct unk_203B188), 5); - gUnknown_203B188->unk0 = 1; - -} - -u8 sub_8012484(void) -{ - u32 temp; - u32 temp2; - switch(gUnknown_203B188->unk0) - { - case 0: - gUnknown_203B188->unk0 = 1; - break; - case 1: - temp = 0; - gUnknown_203B188->unk4 = sub_8011DAC(&temp); - gUnknown_203B188->unk0 = 2; - break; - case 2: - if(gUnknown_203B188->unk4 != 0) - { - if(sub_8011FF8()) - { - sub_80141B4(&gUnknown_80D4354, 0, 0, 0x301); - gUnknown_203B188->unk0 = 3; - break; - } - else - { - gUnknown_203B188->unk0 = 4; - break; - } - } - else - { - gUnknown_203B188->unk0 = 6; - break; - } - case 3: - if(sub_80144A4(&temp2) == 0) - { - gUnknown_203B188->unk0 = 4; - break; - } - else - { - break; - } - case 4: - sub_8012298(); - gUnknown_203B188->unk0 = 6; - case 5: - break; - case 6: - return 0; - } - return 1; -} - -void sub_8012558(void) -{ - if(gUnknown_203B188 != NULL) - { - MemoryFree(gUnknown_203B188); - gUnknown_203B188 = NULL; - } -} |