From 2fd4f339b42c010191c199772b09ac34c580de94 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Tue, 23 Mar 2021 12:11:10 -0500 Subject: Miscellaneous Work (Again) (#31) * move some personality data from asm to C * combine personality_test files and add my close attempt at RedrawPartnerSelectionMenu * decomp some more wonder mail funcs and label some more data * lots of data splitting and move some to src * split out more dungeon data * continue splitting out more dungeon data * doc rescue team rank/pts funcs/data and exclusive pokemon ewram * doc more sound things and decomp a func * decomp LoadTeamRankBadge and label some data members * split out rescue team and text util stuff * forgot a constant * match a few funcs and clean up a few * cleaned up sub_80A28B4 --- src/save.c | 62 +++++++++++--------------------------------------------------- 1 file changed, 11 insertions(+), 51 deletions(-) (limited to 'src/save.c') diff --git a/src/save.c b/src/save.c index 181d9c3..36eca52 100644 --- a/src/save.c +++ b/src/save.c @@ -6,6 +6,7 @@ #include "pokemon.h" #include "random.h" #include "save.h" +#include "exclusive_pokemon.h" struct unk_struct { @@ -73,7 +74,7 @@ extern u32 gUnknown_203B17C; extern u32 gUnknown_203B180; extern u32 *gUnknown_203B45C; extern u32 *gUnknown_203B460; -extern u32 gUnknown_203B464; +extern struct RescueTeamData *gRescueTeamInfoRef; extern u8 *gFriendAreas; extern u32 gUnknown_203B46C; extern u8 *gUnknown_203B480; @@ -82,7 +83,7 @@ extern u32 *gUnknown_203B488; extern u32 *gUnknown_203B48C; extern u32 gUnknown_203B490; extern u32 gUnknown_203B494; -extern u8 *gUnknown_203B498; +extern struct ExclusivePokemonData *gUnknown_203B498; extern const char gSaveCorrupted; extern const char gSavingAdventure; @@ -95,7 +96,7 @@ extern const char gUnknown_80D45AC; extern const char gUnknown_80D45F4; extern const char gUnknown_80D4668; -extern const char gUnknown_80D473C; +extern const char gSaveNotWritten2; extern const char gSaveFailed2; extern volatile struct UnkStruct_203B184 *gUnknown_203B184; @@ -115,7 +116,6 @@ extern u32 sub_808F2B0(void* a, s32 b); extern u32 sub_8091C68(u8 *, u32); extern u32 sub_8091D14(void* a, s32 b); extern u32 sub_80921C4(u8 *, u32); -extern u32 sub_809222C(void* a, s32 b); extern u32 sub_80927A8(u8 *, u32); extern u32 sub_80927F4(void* a, s32 b); extern u8 *sub_8095100(void); @@ -135,8 +135,6 @@ 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); @@ -148,8 +146,6 @@ extern u32 sub_8097680(void); extern u32 *sub_809769C(void); extern void sub_80974E8(void); extern void sub_8097748(void); -extern u8 *GetExclusivePokemon(void); -extern void InitializeExclusivePokemon(void); extern void sub_80993D8(void); extern struct PlayTimeStruct *gPlayTimeRef; @@ -523,13 +519,9 @@ u32 sub_8012240(void) xxx_call_start_bg_music(); MemoryFree(r5); if(temp != 0) - { return 2; - } else - { return 0; - } } void sub_8012284(void) @@ -581,7 +573,7 @@ void sub_8012300(void) InitializeFriendAreas(); sub_808CE08(); sub_80909D8(); - sub_8092094(); + InitializeResuceTeamInfo(); sub_80972F4(); sub_8095118(); sub_8095900(); @@ -609,7 +601,7 @@ void sub_8012334(struct UnkStruct_203B184 *r0) gUnknown_203B488 = r0->unk10; gUnknown_203B48C = r0->unk14; gUnknown_203B490 = r0->unk18; - gUnknown_203B464 = r0->unk1C; + gRescueTeamInfoRef = r0->RescueTeamInfo; gUnknown_203B494 = r0->unk20; gUnknown_203B498 = r0->ExclusivePokemon; gFriendAreas = r0->BoughtFriendAreas; @@ -624,7 +616,7 @@ void sub_8012334(struct UnkStruct_203B184 *r0) gUnknown_203B488 = sub_8095108(); gUnknown_203B48C = sub_8095110(); gUnknown_203B490 = sub_80958F8(); - gUnknown_203B464 = sub_809208C(); + gRescueTeamInfoRef = GetRescueTeamInfo(); gUnknown_203B494 = sub_8097680(); gUnknown_203B498 = GetExclusivePokemon(); gFriendAreas = GetBoughtFriendAreas(); @@ -661,29 +653,21 @@ u8 sub_8012484(void) { sub_80141B4(&gSaveCorrupted, 0, 0, 0x301); gUnknown_203B188->unk0 = 3; - break; } else { gUnknown_203B188->unk0 = 4; - break; } } else { gUnknown_203B188->unk0 = 6; - break; } + break; case 3: if(sub_80144A4(&temp2) == 0) - { gUnknown_203B188->unk0 = 4; - break; - } - else - { - break; - } + break; case 4: sub_8012298(); gUnknown_203B188->unk0 = 6; @@ -808,7 +792,7 @@ void sub_8012574(s16 PokemonID) } #endif -u8 sub_8012600(void) +bool8 sub_8012600(void) { struct OpenedFile **faceFile; u32 local_14; @@ -843,13 +827,9 @@ u8 sub_8012600(void) { case 0: if(gUnknown_203B18C->faceFile != NULL) - { sub_80141B4(&gSaveCompleted, 0, (u8 *)faceFile, 0x101); - } else - { sub_80141B4(&gSaveCompleted, 0, (u8 *)faceFile, 0x101); - } gUnknown_203B18C->unk0 = 5; break; case 1: @@ -858,13 +838,9 @@ u8 sub_8012600(void) break; default: if(gUnknown_203B18C->faceFile != NULL) - { sub_80141B4(&gSaveFailed, 0, (u8 *)faceFile, 0x101); - } else - { sub_80141B4(&gSaveFailed, 0, (u8 *)faceFile, 0x101); - } gUnknown_203B18C->unk0 = 5; break; } @@ -892,9 +868,7 @@ void sub_8012750(void) if(gUnknown_203B18C != NULL) { if(gUnknown_203B18C->faceFile != NULL) - { CloseFile(gUnknown_203B18C->faceFile); - } MemoryFree(gUnknown_203B18C); gUnknown_203B18C = NULL; } @@ -966,13 +940,9 @@ void sub_8012850(u8 *r0, u32 r1, u8 r2) gUnknown_203B194->unkC = r2; gUnknown_203B194->unk0 = 0; if(gUnknown_203B194->unkC != 0) - { sub_80141B4(&gUnknown_80D45AC, 0, 0, 0x20); - } else - { sub_80141B4(&gUnknown_80D45AC, 0, 0, 0x20); - } } u32 sub_80128B0(void) @@ -993,25 +963,19 @@ u32 sub_80128B0(void) case 2: stack_1 = 0; if(gUnknown_203B194->unk10 == 0) - { gUnknown_203B194->unk10 = sub_801203C(&stack_1, 2); - } switch(gUnknown_203B194->unk10) { case 0: sub_80121E0(0xf1207); if(gUnknown_203B194->unkC != 0) - { sub_80141B4(&gUnknown_80D45F4, 0, 0, 0x301); - } else - { sub_80141B4(&gUnknown_80D4668, 0, 0, 0x301); - } gUnknown_203B194->unk0 = 3; break; case 1: - sub_80141B4(&gUnknown_80D473C, 0, 0, 0); + sub_80141B4(&gSaveNotWritten2, 0, 0, 0); gUnknown_203B194->unk0 = 4; break; default: @@ -1030,13 +994,9 @@ u32 sub_80128B0(void) break; case 5: if(gUnknown_203B194->unk10 == 0) - { return 2; - } else - { return 3; - } break; default: break; -- cgit v1.2.3