summaryrefslogtreecommitdiff
path: root/src/save.c
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-03-23 12:11:10 -0500
committerGitHub <noreply@github.com>2021-03-23 12:11:10 -0500
commit2fd4f339b42c010191c199772b09ac34c580de94 (patch)
treee562899f35861ece70c292602fe6aac2f50906bf /src/save.c
parent7b142311a7294c4c7a943870fa5f24f0fbea604a (diff)
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
Diffstat (limited to 'src/save.c')
-rw-r--r--src/save.c62
1 files changed, 11 insertions, 51 deletions
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;