rename SaveBlock2 to SaveData

This commit is contained in:
red031000
2023-06-17 06:40:53 +01:00
parent df7aee6466
commit d47097e56d
107 changed files with 897 additions and 887 deletions

View File

@@ -17,7 +17,7 @@ ScrCmd_Unk00E3: ; 0x0203CB70
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
add r5, r0, #0x0
add r0, r4, #0x0
bl ScriptReadHalfword

View File

@@ -86,8 +86,8 @@ FUN_0202A9AC: ; 0x0202A9AC
add r0, #0xbc
bx lr
thumb_func_start FUN_0202A9B0
FUN_0202A9B0: ; 0x0202A9B0
thumb_func_start Save_Roamers_Get
Save_Roamers_Get: ; 0x0202A9B0
ldr r3, _0202A9B8 ; =SaveArray_Get
mov r1, #0x19
bx r3
@@ -120,7 +120,7 @@ FUN_0202A9C8: ; 0x0202A9C8
FUN_0202A9D0: ; 0x0202A9D0
push {r3-r7, lr}
add r5, r1, #0x0
bl FUN_0202A9B0
bl Save_Roamers_Get
add r6, r0, #0x0
mov r4, #0x0
add r6, #0x10
@@ -146,7 +146,7 @@ _0202A9F8:
thumb_func_start FUN_0202AA00
FUN_0202AA00: ; 0x0202AA00
push {r3, lr}
bl FUN_0202A9B0
bl Save_Roamers_Get
ldr r1, _0202AA10 ; =0x0000010F
mov r2, #0x1
strb r2, [r0, r1]
@@ -412,7 +412,7 @@ FUN_0202AB8C: ; 0x0202AB8C
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r2, #0x0
bl FUN_0202A9B0
bl Save_Roamers_Get
ldrh r1, [r0, #0xc]
strh r1, [r5, #0x0]
ldrh r0, [r0, #0xe]
@@ -423,7 +423,7 @@ FUN_0202AB8C: ; 0x0202AB8C
FUN_0202ABA0: ; 0x0202ABA0
push {r3-r5, lr}
add r5, r1, #0x0
bl FUN_0202A9B0
bl Save_Roamers_Get
add r4, r0, #0x0
cmp r5, #0x10
blo _0202ABB2

View File

@@ -681,7 +681,7 @@ FUN_0205E1F0: ; 0x0205E1F0
push {r4-r6, lr}
ldr r0, [r0, #0xc]
add r5, r1, #0x0
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202A9AC
add r3, r5, #0x0
add r3, #0xd0
@@ -734,7 +734,7 @@ _0205E256:
FUN_0205E258: ; 0x0205E258
push {r3, lr}
ldr r0, [r0, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202A9AC
mov r2, #0x0
_0205E266:
@@ -857,7 +857,7 @@ _0205E33A:
ldr r0, [r4, #0x34]
bl FUN_02058780
ldr r0, [r4, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202AB40
add r6, r0, #0x0
ldrb r0, [r6, #0x0]
@@ -1045,7 +1045,7 @@ FUN_0205E4A4: ; 0x0205E4A4
cmp r0, #0x1
bne _0205E4D0
ldr r0, [r4, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202AB40
ldrb r1, [r0, #0x0]
cmp r1, #0x32

View File

@@ -203,7 +203,7 @@ FUN_02060490: ; 0x02060490
sub sp, #0x20
add r5, r1, #0x0
str r0, [sp, #0x10]
bl FUN_0202A9B0
bl Save_Roamers_Get
add r1, r5, #0x0
str r0, [sp, #0x14]
bl FUN_0202AAA0

View File

@@ -2940,7 +2940,7 @@ FUN_02062240: ; 0x02062240
sub sp, #0x4
ldr r0, [r0, #0xc]
add r4, r1, #0x0
bl FUN_0202A9B0
bl Save_Roamers_Get
mov r1, #0x2
bl FUN_0202A990
add r1, sp, #0x0
@@ -2967,7 +2967,7 @@ FUN_02062240: ; 0x02062240
FUN_02062280: ; 0x02062280
push {r3, lr}
ldr r0, [r0, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202AA14
pop {r3, pc}
.balign 4

View File

@@ -24,7 +24,7 @@ FUN_02063684: ; 0x02063684
ldr r1, [r1, #0x0]
bl FUN_02034F88
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
mov r1, #0x0
bl FUN_0202AB68
add r0, r5, #0x0
@@ -37,7 +37,7 @@ FUN_02063684: ; 0x02063684
cmp r0, #0x0
bne _020636DA
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
ldr r1, [r5, #0x1c]
add r4, r0, #0x0
ldr r1, [r1, #0x0]
@@ -74,7 +74,7 @@ _020636F8:
ldr r1, [r1, #0x0]
bl FUN_02034F88
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
mov r1, #0x0
bl FUN_0202AB68
add r0, r5, #0x0
@@ -82,7 +82,7 @@ _020636F8:
add r0, #0x74
strh r1, [r0, #0x0]
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
ldr r1, [r5, #0x1c]
ldr r1, [r1, #0x0]
bl FUN_02060478
@@ -143,7 +143,7 @@ FUN_020637A8: ; 0x020637A8
bl SaveArray_Flags_Get
bl FUN_0205F204
ldr r0, [r4, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_020603C8
pop {r4, pc}
.balign 4
@@ -156,7 +156,7 @@ FUN_020637C4: ; 0x020637C4
bl SaveArray_Flags_Get
bl FUN_0205F204
ldr r0, [r4, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_020603C8
pop {r4, pc}
.balign 4
@@ -186,7 +186,7 @@ FUN_020637F0: ; 0x020637F0
FUN_02063808: ; 0x02063808
push {r3, lr}
ldr r0, [r0, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_020603C8
pop {r3, pc}
.balign 4

View File

@@ -1432,7 +1432,7 @@
.extern FUN_02022528
.extern LoadHallOfFame
.extern SaveHallOfFame
.extern SaveBlock2_New
.extern SaveData_New
.extern FUN_020225F8
.extern SaveArray_Get
.extern FUN_02022634
@@ -2045,7 +2045,7 @@
.extern FUN_0202A988
.extern FUN_0202A990
.extern FUN_0202A9AC
.extern FUN_0202A9B0
.extern Save_Roamers_Get
.extern FUN_0202A9BC
.extern FUN_0202A9C0
.extern FUN_0202A9C4

View File

@@ -88,7 +88,7 @@ MOD05_021F4D80: ; 0x021F4D80
bl GF_AssertFail
_021F4D96:
ldr r0, [r4, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202A9BC
add r1, r0, #0
add r0, r5, #0
@@ -124,7 +124,7 @@ MOD05_021F4DC8: ; 0x021F4DC8
bl GF_AssertFail
_021F4DDE:
ldr r0, [r6, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202A9BC
str r0, [sp]
ldr r1, [sp]
@@ -490,7 +490,7 @@ MOD05_021F5068: ; 0x021F5068
cmp r4, #0x15
beq _021F50F8
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202A9BC
add r1, r0, #0
add r0, r4, #0
@@ -674,7 +674,7 @@ MOD05_021F51D0: ; 0x021F51D0
bl GF_AssertFail
_021F51E6:
ldr r0, [r4, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202A9BC
add r1, r0, #0
add r0, r5, #0
@@ -727,7 +727,7 @@ _021F5242:
add r0, r1, r0
str r2, [r0, #4]
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202A9BC
add r1, r0, #0
add r0, r4, #0

View File

@@ -4746,7 +4746,7 @@ MOD06_0223B970: ; 0x0223B970
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
bl FUN_0202A9B0
bl Save_Roamers_Get
str r0, [sp]
bl FUN_0202AA14
cmp r0, #0
@@ -4859,7 +4859,7 @@ _0223BA42:
add r3, sp, #0x30
bl MOD06_0223D2DC
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202AB54
cmp r0, #0
bne _0223BA8C
@@ -5641,7 +5641,7 @@ _0223C0CE:
add r3, sp, #0x28
bl MOD06_0223D2DC
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202AB54
cmp r0, #0
bne _0223C118
@@ -6489,7 +6489,7 @@ MOD06_0223C764: ; 0x0223C764
push {r4, lr}
ldr r0, [r0, #0xc]
add r4, r1, #0
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202AB80
cmp r0, #1
bne _0223C77E
@@ -7612,7 +7612,7 @@ MOD06_0223CFFC: ; 0x0223CFFC
cmp r1, #0
beq _0223D02A
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
mov r1, #1
bl FUN_0202A990
add r1, r4, #0
@@ -7723,7 +7723,7 @@ MOD06_0223D0E8: ; 0x0223D0E8
ldr r0, [r0, #0xc]
str r1, [sp, #4]
mov r5, #0
bl FUN_0202A9B0
bl Save_Roamers_Get
add r6, r0, #0
add r4, r5, #0
_0223D0FC:
@@ -23657,7 +23657,7 @@ _02245098:
bl Pokedex_GetNatDexFlag
add r6, r0, #0
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
mov r1, #1
bl FUN_0202A990
add r1, sp, #0x20
@@ -24564,7 +24564,7 @@ _022457A4: .word MOD6_02252424
MOD06_022457A8: ; 0x022457A8
push {r3, lr}
ldr r0, [r0, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202A9AC
mov r2, #0
ldrh r0, [r0, #2]
@@ -24592,7 +24592,7 @@ MOD06_022457CC: ; 0x022457CC
bl GF_AssertFail
_022457DC:
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202A9AC
add r1, sp, #0
bl MOD06_02245884
@@ -24614,7 +24614,7 @@ MOD06_022457F8: ; 0x022457F8
bl GF_AssertFail
_02245808:
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202A9AC
add r1, sp, #0
bl MOD06_02245884
@@ -30829,7 +30829,7 @@ MOD06_02248724: ; 0x02248724
bl GetPartyMonByIndex
add r6, r0, #0
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
bl Save_Roamers_Get
add r7, r0, #0
add r0, r6, #0
mov r1, #5
@@ -38501,7 +38501,7 @@ _0224C238:
MOD06_0224C24C: ; 0x0224C24C
push {r4, lr}
add r4, r1, #0
bl FUN_0202A9B0
bl Save_Roamers_Get
bl FUN_0202AB4C
ldrb r1, [r0]
cmp r1, #0

View File

@@ -107,7 +107,7 @@ _0225490E:
blt _0225490E
ldr r0, [sp]
bl MOD20_02252C40
bl FUN_0202A9B0
bl Save_Roamers_Get
str r0, [sp, #0xc]
mov r4, #0
add r7, r5, #0

View File

@@ -10,7 +10,7 @@
#include "player_data.h"
#include "poke_overlay.h"
#include "sav_system_info.h"
#include "save_block_2.h"
#include "save.h"
#include "unk_02024E64.h"
#include "unk_020286F8.h"
@@ -30,8 +30,8 @@ BOOL MOD52_021D757C(struct OverlayManager *arg1, u32 *status);
BOOL MOD52_021D7594(struct OverlayManager *param0, u32 *status);
BOOL MOD52_021D75E8(struct OverlayManager *arg1, u32 *status);
void MOD52_021D7604(u32 heap_id, struct SaveBlock2 *sav2, BOOL set_trainerid);
void MOD52_021D7688(u32 param0, struct SaveBlock2 *sav2);
void MOD52_021D769C(u32 param0, struct SaveBlock2 *sav2);
void MOD52_021D7604(u32 heap_id, struct SaveData *save, BOOL set_trainerid);
void MOD52_021D7688(u32 param0, struct SaveData *save);
void MOD52_021D769C(u32 param0, struct SaveData *save);
#endif // POKEDIAMOND_MODULE_52_H

View File

@@ -11,7 +11,7 @@ extern struct OverlayManagerTemplate UNK_020F2B8C;
extern int FUN_02053678(u32 random, u32 gender, u32 param2);
extern void FUN_020250C4(void *sav_ptr, u32 heap_id, const u16 param2[], u32 param3);
extern void FUN_020377E0(struct SaveBlock2 *sav2);
extern void FUN_020377E0(struct SaveData *save);
extern void FUN_0205ECD4(struct ScriptState *script_state);
const struct OverlayManagerTemplate MOD52_021D76E8 = {
@@ -169,9 +169,9 @@ BOOL MOD52_021D74E0(struct OverlayManager *manager, u32 *status)
BOOL MOD52_021D74F8(struct OverlayManager *manager, u32 *status)
{
#pragma unused(status)
struct SaveBlock2 *sav2 = (struct SaveBlock2 *)OverlayManager_GetField18(manager)[2]; // weird
struct SaveData *save = (struct SaveData *)OverlayManager_GetField18(manager)[2]; // weird
MOD52_021D769C(0x4d, sav2);
MOD52_021D769C(0x4d, save);
return TRUE;
}
@@ -199,10 +199,10 @@ BOOL MOD52_021D7528(struct OverlayManager *manager, u32 *status)
BOOL MOD52_021D7540(struct OverlayManager *manager, u32 *status)
{
#pragma unused(status)
struct SaveBlock2 *sav2 = (struct SaveBlock2 *)OverlayManager_GetField18(manager)[2]; // weird
struct SaveData *save = (struct SaveData *)OverlayManager_GetField18(manager)[2]; // weird
MOD52_021D7604(0x4d, sav2, 1);
struct IGT *igt = Save_PlayerData_GetIGTAddr(sav2);
MOD52_021D7604(0x4d, save, 1);
struct IGT *igt = Save_PlayerData_GetIGTAddr(save);
PlayTimerStart(igt);
return TRUE;
@@ -231,20 +231,20 @@ BOOL MOD52_021D757C(struct OverlayManager *manager, u32 *status)
BOOL MOD52_021D7594(struct OverlayManager *manager, u32 *status)
{
#pragma unused(status)
struct SaveBlock2 *sav2 = (struct SaveBlock2 *)OverlayManager_GetField18(manager)[2]; // weird
struct SaveData *save = (struct SaveData *)OverlayManager_GetField18(manager)[2]; // weird
struct SavSysInfo *sav2_info = Save_SysInfo_Get(sav2);
struct SavSysInfo *save_info = Save_SysInfo_Get(save);
MOD52_021D7688(0x4d, sav2);
Options_SetButtonModeOnMain(sav2, 0);
MOD52_021D7688(0x4d, save);
Options_SetButtonModeOnMain(save, 0);
if (!Save_SysInfo_MacAddressIsMine(sav2_info) || !Save_SysInfo_RTCOffsetIsMine(sav2_info))
if (!Save_SysInfo_MacAddressIsMine(save_info) || !Save_SysInfo_RTCOffsetIsMine(save_info))
{
FUN_020238A4(Save_SysInfo_RTC_Get(sav2));
Save_SysInfo_InitFromSystem(sav2_info);
FUN_020238A4(Save_SysInfo_RTC_Get(save));
Save_SysInfo_InitFromSystem(save_info);
}
PlayTimerStart(Save_PlayerData_GetIGTAddr(sav2));
PlayTimerStart(Save_PlayerData_GetIGTAddr(save));
return TRUE;
}
@@ -259,17 +259,17 @@ BOOL MOD52_021D75E8(struct OverlayManager *manager, u32 *status)
return 1;
}
void MOD52_021D7604(u32 heap_id, struct SaveBlock2 *sav2, BOOL set_trainerid)
void MOD52_021D7604(u32 heap_id, struct SaveData *save, BOOL set_trainerid)
{
Save_SysInfo_InitFromSystem(Save_SysInfo_Get(sav2));
Save_SysInfo_RTC_Init(Save_SysInfo_RTC_Get(sav2));
Save_SysInfo_InitFromSystem(Save_SysInfo_Get(save));
Save_SysInfo_RTC_Init(Save_SysInfo_RTC_Get(save));
struct UnkSaveStruct_020286F8 *unk_sav2 = FUN_0202881C(sav2);
struct UnkSaveStruct_020286F8 *unk_save = FUN_0202881C(save);
FUN_02028788(unk_sav2, 1, MTRandom());
FUN_0206007C(sav2);
FUN_02028788(unk_save, 1, MTRandom());
FUN_0206007C(save);
struct PlayerData *player_data = Save_PlayerData_GetProfileAddr(sav2);
struct PlayerData *player_data = Save_PlayerData_GetProfileAddr(save);
u32 trainerid = MTRandom();
if (set_trainerid)
@@ -282,14 +282,14 @@ void MOD52_021D7604(u32 heap_id, struct SaveBlock2 *sav2, BOOL set_trainerid)
PlayerProfile_SetAvatar(player_data, (u8)avatar);
FUN_020250C4(FUN_02024ECC(sav2), heap_id, MOD52_021D76F8, NELEMS(MOD52_021D76F8) / 2);
FUN_020250C4(FUN_02024ECC(save), heap_id, MOD52_021D76F8, NELEMS(MOD52_021D76F8) / 2);
}
void MOD52_021D7688(u32 unused, struct SaveBlock2 *sav2)
void MOD52_021D7688(u32 unused, struct SaveData *save)
{
#pragma unused(unused)
if (FUN_020226FC(sav2))
if (FUN_020226FC(save))
{
return;
}
@@ -297,13 +297,13 @@ void MOD52_021D7688(u32 unused, struct SaveBlock2 *sav2)
OS_ResetSystem(0);
}
void MOD52_021D769C(u32 unused, struct SaveBlock2 *sav2)
void MOD52_021D769C(u32 unused, struct SaveData *save)
{
#pragma unused(unused)
Save_InitDynamicRegion(sav2);
FUN_020377E0(sav2);
struct PlayerData *player_data = Save_PlayerData_GetProfileAddr(sav2);
Save_InitDynamicRegion(save);
FUN_020377E0(save);
struct PlayerData *player_data = Save_PlayerData_GetProfileAddr(save);
PlayerProfile_SetMoney(player_data, 3000);
FUN_0205ECD4(SaveArray_Flags_Get(sav2));
FUN_0205ECD4(SaveArray_Flags_Get(save));
}

View File

@@ -3,7 +3,7 @@
#include "nitro/types.h"
#include "options.h"
#include "save_block_2.h"
#include "save.h"
#include "main.h"
#include "player_data.h"
#include "list_menu_items.h"
@@ -20,7 +20,7 @@ struct MOD59_UnkPlayerStruct
typedef struct MOD59_IntroOverlayData
{
u32 heap_id;
struct SaveBlock2 *sav2;
struct SaveData *save;
struct Options *options;
u32 controllerCounter;
u32 nextControllerCounter;

View File

@@ -394,8 +394,8 @@ BOOL MOD59_IntroInit(struct OverlayManager *overlayManager, u32 *status)
data->heap_id = 0x52;
s32 *field18 = OverlayManager_GetField18(overlayManager);
data->sav2 = (struct SaveBlock2 *)field18[2]; //?
data->options = Save_PlayerData_GetOptionsAddr(data->sav2);
data->save = (struct SaveData *)field18[2]; //?
data->options = Save_PlayerData_GetOptionsAddr(data->save);
data->nextControllerCounter = data->controllerCounter = 0;
data->loadedOverlay = NULL;
data->playerStruct = (struct MOD59_UnkPlayerStruct *)FUN_02077A84(0x52, 0, 0, 7, data->options);
@@ -518,10 +518,10 @@ BOOL MOD59_IntroExit(struct OverlayManager *overlayManager, u32 *status)
MOD59_IntroOverlayData *data = (MOD59_IntroOverlayData *) OverlayManager_GetData(overlayManager);
u32 heap_id = data->heap_id;
PlayerName_StringToFlat(Save_PlayerData_GetProfileAddr(data->sav2), data->playerStruct->name);
PlayerProfile_SetTrainerGender(Save_PlayerData_GetProfileAddr(data->sav2), data->playerStruct->gender);
PlayerName_StringToFlat(Save_PlayerData_GetProfileAddr(data->save), data->playerStruct->name);
PlayerProfile_SetTrainerGender(Save_PlayerData_GetProfileAddr(data->save), data->playerStruct->gender);
RivalsNameToU16Array(FUN_02024EB4(data->sav2), data->rivalStruct->name);
RivalsNameToU16Array(FUN_02024EB4(data->save), data->rivalStruct->name);
FUN_02077AC4(data->playerStruct);
FUN_02077AC4(data->rivalStruct);

View File

@@ -499,11 +499,11 @@ MOD75_021E6FA4: ; 0x021E6FA4
MOD75_021E6FDC: ; 0x021E6FDC
add r0, #0xc4
ldr r0, [r0]
ldr r3, _021E6FE8 ; =FUN_0202A9B0
ldr r3, _021E6FE8 ; =Save_Roamers_Get
ldr r0, [r0]
bx r3
nop
_021E6FE8: .word FUN_0202A9B0
_021E6FE8: .word Save_Roamers_Get
thumb_func_end MOD75_021E6FDC
thumb_func_start MOD75_021E6FEC

View File

@@ -375,9 +375,9 @@ struct ItemSlot * Bag_GetPocketSlotN(struct Bag * bag, u32 pocket, u32 slot)
return &slots[slot];
}
struct Bag * Save_Bag_Get(struct SaveBlock2 * sav2)
struct Bag * Save_Bag_Get(struct SaveData * save)
{
return (struct Bag *)SaveArray_Get(sav2, 3);
return (struct Bag *)SaveArray_Get(save, 3);
}
struct UnkStruct_0206F164 * FUN_0206F164(u32 heap_id)

View File

@@ -17,11 +17,11 @@
extern u32 *FUN_0202708C(SaveFashionData *);
extern u32 FUN_02027168(u32 *);
extern u16 FUN_02027184(u32 *);
extern SaveFashionData *Save_FashionData_Get(struct SaveBlock2 *sav2);
extern SaveFashionData *Save_FashionData_Get(struct SaveData *save);
extern u8 SealCase_CountSealOccurrenceAnywhere(struct SealCase *, u32);
static u32 GetCoinCount(struct SaveBlock2 *sav2);
static u32 GetSealCount(struct SaveBlock2 *sav2);
static u32 GetCoinCount(struct SaveData *save);
static u32 GetSealCount(struct SaveData *save);
struct BagView *BagView_New(u8 heap_id)
{
@@ -43,11 +43,11 @@ void FUN_0206E30C(struct BagView *bag_view, u8 r1)
}
void FUN_0206E314(
struct BagView *bag_view, struct SaveBlock2 *sav2, u8 r2, struct UnkStruct_0206F164 *r3)
struct BagView *bag_view, struct SaveData *save, u8 r2, struct UnkStruct_0206F164 *r3)
{
FUN_0206E30C(bag_view, r2);
bag_view->sav2 = sav2;
bag_view->save = save;
bag_view->unk6C = r3;
bag_view->unk66 = 0;
}
@@ -98,14 +98,14 @@ u8 FUN_0206E394(struct BagView *bag_view)
return bag_view->unk75;
}
static u32 GetCoinCount(struct SaveBlock2 *sav2)
static u32 GetCoinCount(struct SaveData *save)
{
return (u32)CheckCoins(Save_PlayerData_GetCoinsAddr(sav2));
return (u32)CheckCoins(Save_PlayerData_GetCoinsAddr(save));
}
static u32 GetSealCount(struct SaveBlock2 *sav2)
static u32 GetSealCount(struct SaveData *save)
{
struct SealCase *seal_case = Save_SealCase_Get(sav2);
struct SealCase *seal_case = Save_SealCase_Get(save);
u32 i;
u32 count = 0;
@@ -118,22 +118,22 @@ static u32 GetSealCount(struct SaveBlock2 *sav2)
}
//todo: do these match up with HG?
u32 FUN_0206E3C8(struct SaveBlock2 *sav2)
u32 FUN_0206E3C8(struct SaveData *save)
{
return FUN_02027168(FUN_0202708C(Save_FashionData_Get(sav2)));
return FUN_02027168(FUN_0202708C(Save_FashionData_Get(save)));
}
u32 FUN_0206E3D8(struct SaveBlock2 *sav2)
u32 FUN_0206E3D8(struct SaveData *save)
{
return FUN_02027184(FUN_0202708C(Save_FashionData_Get(sav2)));
return FUN_02027184(FUN_0202708C(Save_FashionData_Get(save)));
}
u32 FUN_0206E3E8(struct SaveBlock2 *sav2)
u32 FUN_0206E3E8(struct SaveData *save)
{
return SaveStruct23_Substruct2_SetField_0x0(SaveStruct23_GetSubstruct2(sav2), 0, DATA_GET);
return SaveStruct23_Substruct2_SetField_0x0(SaveStruct23_GetSubstruct2(save), 0, DATA_GET);
}
BOOL TryFormatRegisteredKeyItemUseMessage(struct SaveBlock2 *sav2, struct String *dest, u32 item_id, u32 heap_id)
BOOL TryFormatRegisteredKeyItemUseMessage(struct SaveData *save, struct String *dest, u32 item_id, u32 heap_id)
{
struct MsgData *msgData = NewMsgDataFromNarc(MSGDATA_LOAD_DIRECT, NARC_MSGDATA_MSG, NARC_msg_narc_0007_bin, heap_id);
MessageFormat *messageFormat = MessageFormat_New(heap_id);
@@ -147,26 +147,26 @@ BOOL TryFormatRegisteredKeyItemUseMessage(struct SaveBlock2 *sav2, struct String
{
string = NewString_ReadMsgData(msgData, narc_0007_00097); // Saved Battle Points {STRVAR_1 53, 0}BP
BufferIntegerAsString(messageFormat, 0, FUN_0206E3E8(sav2), 4, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(messageFormat, 0, FUN_0206E3E8(save), 4, PRINTING_MODE_LEFT_ALIGN, TRUE);
}
else if (item_id == ITEM_SEAL_CASE)
{
string = NewString_ReadMsgData(msgData, narc_0007_00092); // Seals: {STRVAR_1 53, 0}
BufferIntegerAsString(messageFormat, 0, GetSealCount(sav2), 4, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(messageFormat, 0, GetSealCount(save), 4, PRINTING_MODE_LEFT_ALIGN, TRUE);
}
else if (item_id == ITEM_FASHION_CASE)
{
string = NewString_ReadMsgData(msgData, narc_0007_00093); // Accessories: {STRVAR_1 52, 0} Backdrops: {STRVAR_1 51, 1}
BufferIntegerAsString(messageFormat, 0, FUN_0206E3C8(sav2), 3, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(messageFormat, 1, FUN_0206E3D8(sav2), 2, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(messageFormat, 0, FUN_0206E3C8(save), 3, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(messageFormat, 1, FUN_0206E3D8(save), 2, PRINTING_MODE_LEFT_ALIGN, TRUE);
}
else if (item_id == ITEM_COIN_CASE)
{
string = NewString_ReadMsgData(msgData, narc_0007_00057); // Your Coins: {STRVAR_1 54, 0}
BufferIntegerAsString(messageFormat, 0, GetCoinCount(sav2), 5, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(messageFormat, 0, GetCoinCount(save), 5, PRINTING_MODE_LEFT_ALIGN, TRUE);
}
else
{

View File

@@ -1,7 +1,7 @@
#include "global.h"
#include "pokemon.h"
#include "mail.h"
#include "save_block_2.h"
#include "save.h"
#include "daycare.h"
u32 Save_DayCare_sizeof(void)
@@ -106,7 +106,7 @@ void DayCareMon_Init(struct DayCareMon * mon)
DayCareMon_Extras_Init(&mon->mail);
}
struct DayCare * Save_DayCare_Get(struct SaveBlock2 * sav2)
struct DayCare * Save_DayCare_Get(struct SaveData * save)
{
return (struct DayCare *)SaveArray_Get(sav2, 8);
return (struct DayCare *)SaveArray_Get(save, 8);
}

View File

@@ -1,5 +1,5 @@
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "event_data.h"
u8 UNK_021C5A14[8];
@@ -16,9 +16,9 @@ void SaveArray_Flags_Init(struct ScriptState * state)
memset(state, 0, sizeof(struct ScriptState));
}
struct ScriptState * SaveArray_Flags_Get(struct SaveBlock2 * sav2)
struct ScriptState * SaveArray_Flags_Get(struct SaveData * save)
{
return (struct ScriptState *)SaveArray_Get(sav2, 4);
return (struct ScriptState *)SaveArray_Get(save, 4);
}
BOOL CheckFlagInArray(struct ScriptState * state, u16 flag_id)

View File

@@ -1,6 +1,6 @@
#include "global.h"
#include "pokemon.h"
#include "save_block_2.h"
#include "save.h"
#include "MI_memory.h"
#include "party.h"
#include "string16.h"

View File

@@ -3,7 +3,7 @@
#include "heap.h"
#include "string_util.h"
#include "MI_memory.h"
#include "save_block_2.h"
#include "save.h"
#include "party.h"
#include "player_data.h"
@@ -46,7 +46,7 @@ void Mail_Copy(const struct Mail * src, struct Mail * dest)
MI_CpuCopy8(src, dest, sizeof(struct Mail));
}
void Mail_SetNewMessageDetails(struct Mail * mail, u8 type, u8 monIdx, struct SaveBlock2 * sav2)
void Mail_SetNewMessageDetails(struct Mail * mail, u8 type, u8 monIdx, struct SaveData * save)
{
u32 sp10;
u32 forme;
@@ -60,8 +60,8 @@ void Mail_SetNewMessageDetails(struct Mail * mail, u8 type, u8 monIdx, struct Sa
Mail_Init(mail);
mail->mail_type = type;
party = SaveArray_PlayerParty_Get(sav2);
profile = Save_PlayerData_GetProfileAddr(sav2);
party = SaveArray_PlayerParty_Get(save);
profile = Save_PlayerData_GetProfileAddr(save);
CopyU16StringArray(mail->author_name, PlayerProfile_GetNamePtr(profile));
mail->author_gender = (u8)PlayerProfile_GetTrainerGender(profile);
@@ -152,9 +152,9 @@ void Mail_CopyToUnk20Array(struct Mail * mail, const struct MailMessage * src, u
MailMsg_Copy(&mail->unk_20[idx], src);
}
struct Mail * Save_Mailbox_Get(struct SaveBlock2 * sav2)
struct Mail * Save_Mailbox_Get(struct SaveData * save)
{
return (struct Mail *)SaveArray_Get(sav2, 15);
return (struct Mail *)SaveArray_Get(save, 15);
}
u32 Save_Mailbox_sizeof(void)

View File

@@ -65,7 +65,7 @@ void NitroMain(void)
FUN_02002C50(1, 3);
FUN_02002C50(3, 3);
UNK_02016FA8.unk10 = -1;
UNK_02016FA8.save = SaveBlock2_New();
UNK_02016FA8.save = SaveData_New();
InitSoundData(Save_Chatot_Get(UNK_02016FA8.save), Save_PlayerData_GetOptionsAddr(UNK_02016FA8.save));
Init_Timer3();
if (FUN_020337E8(3) == 3)

View File

@@ -128,16 +128,16 @@ void BufferPlayersName(MessageFormat *messageFormat, u32 idx, struct PlayerData
SetStringAsPlaceholder(messageFormat, idx, messageFormat->buffer, NULL);
}
void BufferRivalsName(MessageFormat *messageFormat, u32 idx, struct SaveBlock2 * sav2)
void BufferRivalsName(MessageFormat *messageFormat, u32 idx, struct SaveData * save)
{
u16 * name = GetRivalNamePtr(FUN_02024EC0(sav2));
u16 * name = GetRivalNamePtr(FUN_02024EC0(save));
CopyU16ArrayToString(messageFormat->buffer, name);
SetStringAsPlaceholder(messageFormat, idx, messageFormat->buffer, NULL);
}
void BufferFriendsName(MessageFormat *messageFormat, u32 idx, struct SaveBlock2 * sav2)
void BufferFriendsName(MessageFormat *messageFormat, u32 idx, struct SaveData * save)
{
struct PlayerData * data = Save_PlayerData_GetProfileAddr(sav2);
struct PlayerData * data = Save_PlayerData_GetProfileAddr(save);
struct MsgData * msgData = NewMsgDataFromNarc(MSGDATA_LOAD_LAZY, NARC_MSGDATA_MSG, NARC_msg_narc_0497_bin, messageFormat->heap_id);
if (PlayerProfile_GetTrainerGender(data) == Male)
{
@@ -684,9 +684,9 @@ void BufferContestBackgroundName(MessageFormat *messageFormat, u32 idx, u32 bg)
}
}
void BufferGroupName(MessageFormat *messageFormat, struct SaveBlock2 * sav2, u32 r5, u32 idx, u32 sp28)
void BufferGroupName(MessageFormat *messageFormat, struct SaveData * save, u32 r5, u32 idx, u32 sp28)
{
void * r6 = FUN_0202881C(sav2);
void * r6 = FUN_0202881C(save);
u8 sp10 = FUN_020287F8(r6, r5);
u8 r7 = FUN_02028804(r6, r5);
struct String * r4 = String_New(64, 4);

View File

@@ -26,9 +26,9 @@ void Options_Init(struct Options * options) {
options->frame = 0; // frame 1
}
void Options_SetButtonModeOnMain(struct SaveBlock2 * sav2, u32 buttonMode) {
if (sav2 != NULL) {
buttonMode = Options_GetButtonMode(Save_PlayerData_GetOptionsAddr(sav2));
void Options_SetButtonModeOnMain(struct SaveData * save, u32 buttonMode) {
if (save != NULL) {
buttonMode = Options_GetButtonMode(Save_PlayerData_GetOptionsAddr(save));
}
switch (buttonMode) {

View File

@@ -118,7 +118,7 @@ BOOL PartyHasMon(struct PlayerParty * party, u16 species)
return i != party->curCount;
}
struct PlayerParty * SaveArray_PlayerParty_Get(struct SaveBlock2 * ptr)
struct PlayerParty * SaveArray_PlayerParty_Get(struct SaveData * ptr)
{
return (struct PlayerParty *)SaveArray_Get(ptr, 2);
}

View File

@@ -1,5 +1,5 @@
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "player_data.h"
#include "MI_memory.h"
#include "heap.h"
@@ -23,24 +23,24 @@ void Save_PlayerData_Init(struct PlayerDataSav * pds)
InitIGT(&pds->igt);
}
struct PlayerData * Save_PlayerData_GetProfileAddr(struct SaveBlock2 * sav2)
struct PlayerData * Save_PlayerData_GetProfileAddr(struct SaveData * save)
{
return &((struct PlayerDataSav *)SaveArray_Get(sav2, 1))->data;
return &((struct PlayerDataSav *)SaveArray_Get(save, 1))->data;
}
struct Options * Save_PlayerData_GetOptionsAddr(struct SaveBlock2 * sav2)
struct Options * Save_PlayerData_GetOptionsAddr(struct SaveData * save)
{
return &((struct PlayerDataSav *)SaveArray_Get(sav2, 1))->options;
return &((struct PlayerDataSav *)SaveArray_Get(save, 1))->options;
}
u16 * Save_PlayerData_GetCoinsAddr(struct SaveBlock2 * sav2)
u16 * Save_PlayerData_GetCoinsAddr(struct SaveData * save)
{
return &((struct PlayerDataSav *)SaveArray_Get(sav2, 1))->coins;
return &((struct PlayerDataSav *)SaveArray_Get(save, 1))->coins;
}
struct IGT * Save_PlayerData_GetIGTAddr(struct SaveBlock2 * sav2)
struct IGT * Save_PlayerData_GetIGTAddr(struct SaveData * save)
{
return &((struct PlayerDataSav *)SaveArray_Get(sav2, 1))->igt;
return &((struct PlayerDataSav *)SaveArray_Get(save, 1))->igt;
}
u32 PlayerProfile_sizeof(void)

View File

@@ -1,5 +1,5 @@
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "heap.h"
#include "MI_memory.h"
#include "pokemon.h"
@@ -744,9 +744,9 @@ void Pokedex_SetSinnohDexFlag(struct Pokedex * pokedex)
pokedex->unlockedSinnohDex = 1;
}
struct Pokedex * Save_Pokedex_Get(struct SaveBlock2 * sav2)
struct Pokedex * Save_Pokedex_Get(struct SaveData * save)
{
return (struct Pokedex *)SaveArray_Get(sav2, 7);
return (struct Pokedex *)SaveArray_Get(save, 7);
}
s32 Pokedex_GetSeenMonForme(struct Pokedex * pokedex, s32 species, u32 forme)

View File

@@ -1,6 +1,6 @@
#include "global.h"
#include "pokemon.h"
#include "save_block_2.h"
#include "save.h"
#include "pokemon_storage_system.h"
#include "msgdata.h"
#include "string16.h"

View File

@@ -254,7 +254,7 @@ void Save_Poketch_PokemonHistoryGetSlotN(struct SavePoketch * poketch, s32 i, u3
*forme_p = poketch->pokemonHistory[i][1];
}
struct SavePoketch * Save_Poketch_Get(struct SaveBlock2 * sav2)
struct SavePoketch * Save_Poketch_Get(struct SaveData * save)
{
return (struct SavePoketch *)SaveArray_Get(sav2, 5);
return (struct SavePoketch *)SaveArray_Get(save, 5);
}

View File

@@ -21,9 +21,9 @@ struct SaveChatotSoundClip * Chatot_New(u32 heap_id)
return ret;
}
struct SaveChatotSoundClip * Save_Chatot_Get(struct SaveBlock2 * sav2)
struct SaveChatotSoundClip * Save_Chatot_Get(struct SaveData * save)
{
return (struct SaveChatotSoundClip *) SaveArray_Get(sav2, 22);
return (struct SaveChatotSoundClip *) SaveArray_Get(save, 22);
}
BOOL Chatot_Exists(struct SaveChatotSoundClip * chatot)

View File

@@ -1,5 +1,5 @@
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "MI_memory.h"
#include "OS_ownerInfo.h"
#include "RTC_api.h"
@@ -19,14 +19,14 @@ void Save_SysInfo_Init(struct SavSysInfo * unk)
Save_SysInfo_RTC_Init(&unk->rtcInfo);
}
struct SavSysInfo * Save_SysInfo_Get(struct SaveBlock2 * sav2)
struct SavSysInfo * Save_SysInfo_Get(struct SaveData * save)
{
return (struct SavSysInfo *)SaveArray_Get(sav2, 0);
return (struct SavSysInfo *)SaveArray_Get(save, 0);
}
struct UnkSaveStruct_0202376C_sub * Save_SysInfo_RTC_Get(struct SaveBlock2 * sav2)
struct UnkSaveStruct_0202376C_sub * Save_SysInfo_RTC_Get(struct SaveData * save)
{
return &Save_SysInfo_Get(sav2)->rtcInfo;
return &Save_SysInfo_Get(save)->rtcInfo;
}
void Save_SysInfo_InitFromSystem(struct SavSysInfo * unk)

View File

@@ -1,6 +1,6 @@
#include "global.h"
#include "MI_memory.h"
#include "save_block_2.h"
#include "save.h"
#include "heap.h"
#include "CARD_backup.h"
#include "OS_spinLock.h"
@@ -14,69 +14,69 @@ extern void FUN_02016444(u8 mask);
extern void FUN_02016454(u8 mask);
struct {
struct SaveBlock2 * ptr;
struct SaveData * ptr;
BOOL iswritten;
} UNK_021C59C8;
struct SaveBlock2 * SaveBlock2_New(void)
struct SaveData * SaveData_New(void)
{
struct SaveBlock2 * sav2 = AllocFromHeap(1, sizeof(struct SaveBlock2));
MI_CpuClearFast(sav2, sizeof(struct SaveBlock2));
UNK_021C59C8.ptr = sav2;
sav2->flashOkay = SaveDetectFlash();
sav2->unk_00004 = 0;
sav2->unk_00008 = 1;
sav2->largeSectorChanged = 1;
MATH_CRC16InitTable(&sav2->crcTable);
SaveBlock2_InitSubstructs(sav2->arrayHeaders);
FUN_02023160(sav2->saveSlotSpecs, sav2->arrayHeaders);
MI_CpuClearFast(sav2->unk_20218, 8);
switch (sav2->unk_00010 = FUN_02022AD8(sav2))
struct SaveData * save = AllocFromHeap(1, sizeof(struct SaveData));
MI_CpuClearFast(save, sizeof(struct SaveData));
UNK_021C59C8.ptr = save;
save->flashOkay = SaveDetectFlash();
save->unk_00004 = 0;
save->unk_00008 = 1;
save->largeSectorChanged = 1;
MATH_CRC16InitTable(&save->crcTable);
SaveData_InitSubstructs(save->arrayHeaders);
FUN_02023160(save->saveSlotSpecs, save->arrayHeaders);
MI_CpuClearFast(save->unk_20218, 8);
switch (save->unk_00010 = FUN_02022AD8(save))
{
case 1:
sav2->largeSectorChanged = 0;
save->largeSectorChanged = 0;
// fallthrough
case 2:
Save_LoadDynamicRegion(sav2);
sav2->unk_00004 = 1;
sav2->unk_00008 = 0;
Save_LoadDynamicRegion(save);
save->unk_00004 = 1;
save->unk_00008 = 0;
break;
case 0:
case 3:
Save_InitDynamicRegion(sav2);
Save_InitDynamicRegion(save);
break;
}
return sav2;
return save;
}
struct SaveBlock2 * FUN_020225F8(void)
struct SaveData * FUN_020225F8(void)
{
GF_ASSERT(UNK_021C59C8.ptr != NULL);
return UNK_021C59C8.ptr;
}
void * SaveArray_Get(struct SaveBlock2 * sav2, int idx)
void * SaveArray_Get(struct SaveData * save, int idx)
{
GF_ASSERT(idx < 36);
return (void *)(sav2->dynamic_region + sav2->arrayHeaders[idx].offset);
return (void *)(save->dynamic_region + save->arrayHeaders[idx].offset);
}
void * FUN_02022634(struct SaveBlock2 * sav2, int idx)
void * FUN_02022634(struct SaveData * save, int idx)
{
return SaveArray_Get(sav2, idx);
return SaveArray_Get(save, idx);
}
// Sets bits at 0x021C491
// Clears bits at 0x021C491
BOOL FUN_0202263C(struct SaveBlock2 * sav2)
BOOL FUN_0202263C(struct SaveData * save)
{
u8 * r6 = AllocFromHeapAtEnd(3, 0x1000);
FUN_02016444(1);
FlashClobberChunkFooter(sav2, 0, (u32)(sav2->unk_20220[0] == 0 ? 1 : 0));
FlashClobberChunkFooter(sav2, 1, (u32)(sav2->unk_20220[1] == 0 ? 1 : 0));
FlashClobberChunkFooter(sav2, 0, (u32)(sav2->unk_20220[0]));
FlashClobberChunkFooter(sav2, 1, (u32)(sav2->unk_20220[1]));
FlashClobberChunkFooter(save, 0, (u32)(save->unk_20220[0] == 0 ? 1 : 0));
FlashClobberChunkFooter(save, 1, (u32)(save->unk_20220[1] == 0 ? 1 : 0));
FlashClobberChunkFooter(save, 0, (u32)(save->unk_20220[0]));
FlashClobberChunkFooter(save, 1, (u32)(save->unk_20220[1]));
MI_CpuFillFast(r6, -1u, 0x1000);
for (int i = 0; i < 64; i++)
{
@@ -84,95 +84,95 @@ BOOL FUN_0202263C(struct SaveBlock2 * sav2)
FlashWriteChunk((u32)(0x1000 * (i + 0x40)), r6, 0x1000);
}
FreeToHeap(r6);
Save_InitDynamicRegion(sav2);
sav2->unk_00004 = 0;
Save_InitDynamicRegion(save);
save->unk_00004 = 0;
FUN_02016454(1);
return TRUE;
}
BOOL FUN_020226FC(struct SaveBlock2 * sav2)
BOOL FUN_020226FC(struct SaveData * save)
{
if (sav2->flashOkay == 0)
if (save->flashOkay == 0)
return FALSE;
if (Save_LoadDynamicRegion(sav2))
if (Save_LoadDynamicRegion(save))
{
sav2->unk_00004 = 1;
sav2->unk_00008 = 0;
save->unk_00004 = 1;
save->unk_00008 = 0;
return TRUE;
}
return FALSE;
}
int FUN_02022720(struct SaveBlock2 * sav2)
int FUN_02022720(struct SaveData * save)
{
if (sav2->flashOkay == 0)
if (save->flashOkay == 0)
return 3;
if (sav2->unk_00008)
if (save->unk_00008)
{
FUN_02016444(1);
FlashClobberChunkFooter(sav2, 0, (u32)(sav2->unk_20220[0] == 0 ? 1 : 0));
FlashClobberChunkFooter(sav2, 1, (u32)(sav2->unk_20220[1] == 0 ? 1 : 0));
FlashClobberChunkFooter(sav2, 0, (u32)(sav2->unk_20220[0]));
FlashClobberChunkFooter(sav2, 1, (u32)(sav2->unk_20220[1]));
FlashClobberChunkFooter(save, 0, (u32)(save->unk_20220[0] == 0 ? 1 : 0));
FlashClobberChunkFooter(save, 1, (u32)(save->unk_20220[1] == 0 ? 1 : 0));
FlashClobberChunkFooter(save, 0, (u32)(save->unk_20220[0]));
FlashClobberChunkFooter(save, 1, (u32)(save->unk_20220[1]));
FUN_02016454(1);
}
int ret = FUN_02023044(sav2);
int ret = FUN_02023044(save);
if (ret == 2)
{
sav2->unk_00004 = 1;
sav2->unk_00008 = 0;
save->unk_00004 = 1;
save->unk_00008 = 0;
}
return ret;
}
void FUN_020227A0(struct SaveBlock2 * sav2, int a1)
void FUN_020227A0(struct SaveData * save, int a1)
{
GF_ASSERT(a1 < 2);
GF_ASSERT(sav2->unk_00008 == 0);
GF_ASSERT(sav2->unk_00004 == 1);
FUN_02022840(sav2, a1);
GF_ASSERT(save->unk_00008 == 0);
GF_ASSERT(save->unk_00004 == 1);
FUN_02022840(save, a1);
int res;
do
{
res = FUN_02022854(sav2);
res = FUN_02022854(save);
} while (res == 0 || res == 1);
}
void Save_InitDynamicRegion(struct SaveBlock2 * sav2)
void Save_InitDynamicRegion(struct SaveData * save)
{
sav2->unk_00008 = 1;
sav2->largeSectorChanged = 1;
Save_InitDynamicRegion_Internal(sav2->dynamic_region, sav2->arrayHeaders);
save->unk_00008 = 1;
save->largeSectorChanged = 1;
Save_InitDynamicRegion_Internal(save->dynamic_region, save->arrayHeaders);
}
int FUN_020227FC(struct SaveBlock2 * sav2)
int FUN_020227FC(struct SaveData * save)
{
return sav2->flashOkay;
return save->flashOkay;
}
int FUN_02022800(struct SaveBlock2 * sav2)
int FUN_02022800(struct SaveData * save)
{
return sav2->unk_00010;
return save->unk_00010;
}
int FUN_02022804(struct SaveBlock2 * sav2)
int FUN_02022804(struct SaveData * save)
{
return sav2->unk_00004;
return save->unk_00004;
}
int FUN_02022808(struct SaveBlock2 * sav2)
int FUN_02022808(struct SaveData * save)
{
return sav2->unk_00008;
return save->unk_00008;
}
BOOL FUN_0202280C(struct SaveBlock2 * sav2)
BOOL FUN_0202280C(struct SaveData * save)
{
return (FUN_02022808(sav2) != 0 && FUN_02022804(sav2) != 0);
return (FUN_02022808(save) != 0 && FUN_02022804(save) != 0);
}
int SaveGetDirtyBit(struct SaveBlock2 * sav2)
int SaveGetDirtyBit(struct SaveData * save)
{
return sav2->largeSectorChanged;
return save->largeSectorChanged;
}
void SaveSetDirtyBit(void)
@@ -180,24 +180,24 @@ void SaveSetDirtyBit(void)
UNK_021C59C8.ptr->largeSectorChanged = 1;
}
void FUN_02022840(struct SaveBlock2 * sav2, int a1)
void FUN_02022840(struct SaveData * save, int a1)
{
FUN_02022DFC(sav2, &sav2->unk_2047C, a1);
FUN_02022DFC(save, &save->asyncWriteMan, a1);
}
int FUN_02022854(struct SaveBlock2 * sav2)
int FUN_02022854(struct SaveData * save)
{
int r4 = FUN_02022E78(sav2, &sav2->unk_2047C);
int r4 = FUN_02022E78(save, &save->asyncWriteMan);
if (r4 != 0 && r4 != 1)
{
FUN_02022F80(sav2, &sav2->unk_2047C, r4);
FUN_02022F80(save, &save->asyncWriteMan, r4);
}
return r4;
}
void FUN_0202287C(struct SaveBlock2 * sav2)
void FUN_0202287C(struct SaveData * save)
{
FUN_02022FF0(sav2, &sav2->unk_2047C);
FUN_02022FF0(save, &save->asyncWriteMan);
}
void FUN_0202288C(struct UnkStruct_0202288C * header)
@@ -207,12 +207,12 @@ void FUN_0202288C(struct UnkStruct_0202288C * header)
header->size = 0;
}
u16 FUN_02022898(struct SaveBlock2 * sav2, void * data, u32 size)
u16 FUN_02022898(struct SaveData * save, void * data, u32 size)
{
return MATH_CalcCRC16CCITT(&sav2->crcTable, data, size - 20);
return MATH_CalcCRC16CCITT(&save->crcTable, data, size - 20);
}
u32 GetChunkOffsetFromCurrentSaveSlot(u32 slot, struct SaveBlock2_Sub_20464 * header)
u32 GetChunkOffsetFromCurrentSaveSlot(u32 slot, struct SaveSlotSpec * header)
{
u32 offset;
if (slot == 0)
@@ -222,58 +222,58 @@ u32 GetChunkOffsetFromCurrentSaveSlot(u32 slot, struct SaveBlock2_Sub_20464 * he
return offset + header->offset;
}
struct SaveChunkFooter * FUN_020228B8(struct SaveBlock2 * sav2, u8 * offset, int idx)
struct SaveChunkFooter * FUN_020228B8(struct SaveData * save, u8 * offset, int idx)
{
u8 * r4;
struct SaveBlock2_Sub_20464 * sub20464;
struct SaveSlotSpec * spec;
sub20464 = &sav2->saveSlotSpecs[idx];
r4 = offset + sub20464->offset;
GF_ASSERT(sub20464->size != 0);
return (struct SaveChunkFooter *)(r4 + sub20464->size - 20);
spec = &save->saveSlotSpecs[idx];
r4 = offset + spec->offset;
GF_ASSERT(spec->size != 0);
return (struct SaveChunkFooter *)(r4 + spec->size - 20);
}
BOOL FUN_020228E0(struct SaveBlock2 * sav2, void * data, int idx)
BOOL FUN_020228E0(struct SaveData * save, void * data, int idx)
{
struct SaveChunkFooter * r4;
struct SaveBlock2_Sub_20464 * sub20464;
struct SaveSlotSpec * spec;
sub20464 = &sav2->saveSlotSpecs[idx];
r4 = FUN_020228B8(sav2, data, idx);
u32 size = sub20464->size;
u32 offset = sub20464->offset;
spec = &save->saveSlotSpecs[idx];
r4 = FUN_020228B8(save, data, idx);
u32 size = spec->size;
u32 offset = spec->offset;
if (r4->size != size)
return FALSE;
if (r4->magic != 0x20060623)
return FALSE;
if (r4->unk_10 != idx)
return FALSE;
return r4->crc == FUN_02022898(sav2, (u8 *)data + offset, size);
return r4->crc == FUN_02022898(save, (u8 *)data + offset, size);
}
void FUN_0202293C(struct UnkStruct_0202288C * r5, struct SaveBlock2 * sav2, void * data, int idx)
void FUN_0202293C(struct UnkStruct_0202288C * r5, struct SaveData * save, void * data, int idx)
{
struct SaveChunkFooter * r4;
r4 = FUN_020228B8(sav2, data, idx);
r5->unk_0 = FUN_020228E0(sav2, data, idx);
r4 = FUN_020228B8(save, data, idx);
r5->unk_0 = FUN_020228E0(save, data, idx);
r5->offset = r4->unk_0;
r5->size = r4->offset;
}
void FUN_02022968(struct SaveBlock2 * sav2, void * data, int idx)
void FUN_02022968(struct SaveData * save, void * data, int idx)
{
struct SaveChunkFooter * r4;
struct SaveBlock2_Sub_20464 * sub20464;
struct SaveSlotSpec * spec;
sub20464 = &sav2->saveSlotSpecs[idx];
r4 = FUN_020228B8(sav2, data, idx);
data = (void *)((u8 *)data + sub20464->offset);
r4->unk_0 = sav2->unk_20214;
r4->offset = sav2->unk_20218[idx];
r4->size = sub20464->size;
spec = &save->saveSlotSpecs[idx];
r4 = FUN_020228B8(save, data, idx);
data = (void *)((u8 *)data + spec->offset);
r4->unk_0 = save->unk_20214;
r4->offset = save->unk_20218[idx];
r4->size = spec->size;
r4->magic = 0x20060623;
r4->unk_10 = (u8)idx;
r4->crc = FUN_02022898(sav2, data, sub20464->size);
r4->crc = FUN_02022898(save, data, spec->size);
}
int FUN_020229B8(u32 x, u32 y)
@@ -342,16 +342,16 @@ int FUN_020229F0(struct UnkStruct_0202288C * r7, struct UnkStruct_0202288C * r6,
}
}
void FUN_02022AA0(struct SaveBlock2 * sav2, struct UnkStruct_0202288C * a1, struct UnkStruct_0202288C * a2, u32 a3, u32 a4)
void FUN_02022AA0(struct SaveData * save, struct UnkStruct_0202288C * a1, struct UnkStruct_0202288C * a2, u32 a3, u32 a4)
{
sav2->unk_20214 = a1[a3].offset;
sav2->unk_20218[0] = a1[a3].size;
sav2->unk_20218[1] = a2[a4].size;
sav2->unk_20220[0] = (u8)a3;
sav2->unk_20220[1] = (u8)a4;
save->unk_20214 = a1[a3].offset;
save->unk_20218[0] = a1[a3].size;
save->unk_20218[1] = a2[a4].size;
save->unk_20220[0] = (u8)a3;
save->unk_20220[1] = (u8)a4;
}
int FUN_02022AD8(struct SaveBlock2 * sav2)
int FUN_02022AD8(struct SaveData * save)
{
struct UnkStruct_0202288C sp2C[2];
struct UnkStruct_0202288C sp14[2];
@@ -364,8 +364,8 @@ int FUN_02022AD8(struct SaveBlock2 * sav2)
u8 *r4 = AllocFromHeapAtEnd(3, 0x20000);
if (FlashLoadChunk(0, r6, 0x20000))
{
FUN_0202293C(&sp2C[0], sav2, r6, 0);
FUN_0202293C(&sp14[0], sav2, r6, 1);
FUN_0202293C(&sp2C[0], save, r6, 0);
FUN_0202293C(&sp14[0], save, r6, 1);
}
else
{
@@ -374,8 +374,8 @@ int FUN_02022AD8(struct SaveBlock2 * sav2)
}
if (FlashLoadChunk(0x40000, r4, 0x20000))
{
FUN_0202293C(&sp2C[1], sav2, r4, 0);
FUN_0202293C(&sp14[1], sav2, r4, 1);
FUN_0202293C(&sp2C[1], save, r4, 0);
FUN_0202293C(&sp14[1], save, r4, 1);
}
else
{
@@ -397,12 +397,12 @@ int FUN_02022AD8(struct SaveBlock2 * sav2)
{
if (sp2C[sp10].offset == sp14[spC].offset)
{
FUN_02022AA0(sav2, sp2C, sp14, sp10, spC);
FUN_02022AA0(save, sp2C, sp14, sp10, spC);
return 1;
}
else
{
FUN_02022AA0(sav2, sp2C, sp14, sp8, spC);
FUN_02022AA0(save, sp2C, sp14, sp8, spC);
return 2;
}
}
@@ -410,12 +410,12 @@ int FUN_02022AD8(struct SaveBlock2 * sav2)
{
if (sp2C[sp10].offset == sp14[spC].offset)
{
FUN_02022AA0(sav2, sp2C, sp14, sp10, spC);
FUN_02022AA0(save, sp2C, sp14, sp10, spC);
return 2;
}
else if (sp2C[sp10].offset == sp14[sp4].offset)
{
FUN_02022AA0(sav2, sp2C, sp14, sp10, sp4);
FUN_02022AA0(save, sp2C, sp14, sp10, sp4);
return 2;
}
else
@@ -427,212 +427,212 @@ int FUN_02022AD8(struct SaveBlock2 * sav2)
{
if (sp2C[sp10].offset == sp14[spC].offset)
{
FUN_02022AA0(sav2, sp2C, sp14, sp10, spC);
FUN_02022AA0(save, sp2C, sp14, sp10, spC);
return 1;
}
else
{
FUN_02022AA0(sav2, sp2C, sp14, sp8, spC);
FUN_02022AA0(save, sp2C, sp14, sp8, spC);
return 2;
}
}
else if (r4 == 1 && r0 == 1 && sp10 == spC)
{
GF_ASSERT(sp2C[sp10].offset == sp14[spC].offset);
FUN_02022AA0(sav2, sp2C, sp14, sp10, spC);
FUN_02022AA0(save, sp2C, sp14, sp10, spC);
return 1;
}
else
{
GF_ASSERT(sp2C[sp10].offset == sp14[spC].offset);
FUN_02022AA0(sav2, sp2C, sp14, sp10, spC);
FUN_02022AA0(save, sp2C, sp14, sp10, spC);
return 2;
}
}
}
BOOL FlashLoadChunkIntoDynamicRegionFromHeader(u32 slot, struct SaveBlock2_Sub_20464 * header, u8 * dest)
BOOL FlashLoadChunkIntoDynamicRegionFromHeader(u32 slot, struct SaveSlotSpec * header, u8 * dest)
{
return FlashLoadChunk(GetChunkOffsetFromCurrentSaveSlot(slot, header), dest + header->offset, header->size);
}
BOOL Save_LoadDynamicRegion(struct SaveBlock2 * sav2)
BOOL Save_LoadDynamicRegion(struct SaveData * save)
{
for (int i = 0; i < 2; i++)
{
if (!FlashLoadChunkIntoDynamicRegionFromHeader(sav2->unk_20220[i], &sav2->saveSlotSpecs[i], sav2->dynamic_region)) return FALSE;
if (!FUN_020228E0(sav2, sav2->dynamic_region, i)) return FALSE;
if (!FlashLoadChunkIntoDynamicRegionFromHeader(save->unk_20220[i], &save->saveSlotSpecs[i], save->dynamic_region)) return FALSE;
if (!FUN_020228E0(save, save->dynamic_region, i)) return FALSE;
}
return TRUE;
}
int FUN_02022D54(struct SaveBlock2 * sav2, int chunk, u8 slot)
int FUN_02022D54(struct SaveData * save, int chunk, u8 slot)
{
struct SaveBlock2_Sub_20464 * header = &sav2->saveSlotSpecs[chunk];
FUN_02022968(sav2, sav2->dynamic_region, chunk);
return FlashWriteChunkInternal(GetChunkOffsetFromCurrentSaveSlot(slot, header), sav2->dynamic_region + header->offset, header->size - 20);
struct SaveSlotSpec * header = &save->saveSlotSpecs[chunk];
FUN_02022968(save, save->dynamic_region, chunk);
return FlashWriteChunkInternal(GetChunkOffsetFromCurrentSaveSlot(slot, header), save->dynamic_region + header->offset, header->size - 20);
}
int FUN_02022D94(struct SaveBlock2 * sav2, int chunk, u8 slot)
int FUN_02022D94(struct SaveData * save, int chunk, u8 slot)
{
struct SaveBlock2_Sub_20464 * header = &sav2->saveSlotSpecs[chunk];
struct SaveSlotSpec * header = &save->saveSlotSpecs[chunk];
u32 size = header->size;
return FlashWriteChunkInternal(GetChunkOffsetFromCurrentSaveSlot(slot, header) + size - 20, sav2->dynamic_region + header->offset + size - 20, 20);
return FlashWriteChunkInternal(GetChunkOffsetFromCurrentSaveSlot(slot, header) + size - 20, save->dynamic_region + header->offset + size - 20, 20);
}
int FUN_02022DC8(struct SaveBlock2 * sav2, int chunk, u8 slot)
int FUN_02022DC8(struct SaveData * save, int chunk, u8 slot)
{
struct SaveBlock2_Sub_20464 * header = &sav2->saveSlotSpecs[chunk];
struct SaveSlotSpec * header = &save->saveSlotSpecs[chunk];
u32 size = header->size;
return FlashWriteChunkInternal(GetChunkOffsetFromCurrentSaveSlot(slot, header) + size - 12, sav2->dynamic_region + header->offset + size - 12, 8);
return FlashWriteChunkInternal(GetChunkOffsetFromCurrentSaveSlot(slot, header) + size - 12, save->dynamic_region + header->offset + size - 12, 8);
}
void FUN_02022DFC(struct SaveBlock2 * sav2, struct UnkSavSub_2047C * a1, int a2)
void FUN_02022DFC(struct SaveData * save, struct AsyncWriteManager * a1, int a2)
{
for (int i = 0; i < 2; i++)
{
a1->unk_1C[i] = sav2->unk_20218[i];
sav2->unk_20218[i]++;
a1->unk_1C[i] = save->unk_20218[i];
save->unk_20218[i]++;
}
a1->unk_14 = 0;
a1->unk_0 = 0;
a1->state = 0;
a1->rollbackCounter = 0;
if (a2 == 2)
{
if (sav2->largeSectorChanged)
if (save->largeSectorChanged)
{
a1->unk_0 = 1;
a1->unk_18 = sav2->unk_20214;
sav2->unk_20214++;
a1->rollbackCounter = 1;
a1->count = save->unk_20214;
save->unk_20214++;
a1->unk_4 = 0;
a1->unk_8 = 0;
a1->unk_C = 2;
a1->curSector = 0;
a1->numSectors = 2;
}
else
{
a1->unk_4 = 0;
a1->unk_8 = 0;
a1->unk_C = 1;
a1->curSector = 0;
a1->numSectors = 1;
}
}
else
{
a1->unk_4 = a2;
a1->unk_8 = a2;
a1->unk_C = a2 + 1;
a1->curSector = a2;
a1->numSectors = a2 + 1;
}
FUN_02016444(1);
}
int FUN_02022E78(struct SaveBlock2 * sav2, struct UnkSavSub_2047C * a1)
int FUN_02022E78(struct SaveData * save, struct AsyncWriteManager * a1)
{
BOOL sp0;
switch (a1->unk_14)
switch (a1->state)
{
case 0:
a1->unk_10 = FUN_02022D54(sav2, a1->unk_8, (u8)(sav2->unk_20220[a1->unk_8] == 0));
a1->unk_14++;
a1->lockId = FUN_02022D54(save, a1->curSector, (u8)(save->unk_20220[a1->curSector] == 0));
a1->state++;
// fallthrough
case 1:
if (!WaitFlashWrite(a1->unk_10, &sp0))
if (!WaitFlashWrite(a1->lockId, &sp0))
break;
if (sp0 == 0)
return 3;
a1->unk_14++;
a1->state++;
// fallthrough
case 2:
a1->unk_10 = FUN_02022DC8(sav2, a1->unk_8, (u8)(sav2->unk_20220[a1->unk_8] == 0));
a1->unk_14++;
a1->lockId = FUN_02022DC8(save, a1->curSector, (u8)(save->unk_20220[a1->curSector] == 0));
a1->state++;
// fallthrough
case 3:
if (!WaitFlashWrite(a1->unk_10, &sp0))
if (!WaitFlashWrite(a1->lockId, &sp0))
break;
if (sp0 == 0)
return 3;
a1->unk_14++;
if (a1->unk_8 + 1 == a1->unk_C)
a1->state++;
if (a1->curSector + 1 == a1->numSectors)
return 1;
// fallthrough
case 4:
a1->unk_10 = FUN_02022D94(sav2, a1->unk_8, (u8)(sav2->unk_20220[a1->unk_8] == 0));
a1->unk_14++;
a1->lockId = FUN_02022D94(save, a1->curSector, (u8)(save->unk_20220[a1->curSector] == 0));
a1->state++;
// fallthrough
case 5:
if (!WaitFlashWrite(a1->unk_10, &sp0))
if (!WaitFlashWrite(a1->lockId, &sp0))
break;
if (sp0 == 0)
return 3;
a1->unk_8++;
if (a1->unk_8 == a1->unk_C)
a1->curSector++;
if (a1->curSector == a1->numSectors)
return 2;
a1->unk_14 = 0;
a1->state = 0;
break;
}
return 0;
}
void FUN_02022F80(struct SaveBlock2 * sav2, struct UnkSavSub_2047C * a1, int a2)
void FUN_02022F80(struct SaveData * save, struct AsyncWriteManager * a1, int a2)
{
int i;
if (a2 == 3)
{
if (a1->unk_0)
if (a1->rollbackCounter)
{
sav2->unk_20214 = a1->unk_18;
save->unk_20214 = a1->count;
}
for (i = 0; i < 2; i++)
{
sav2->unk_20218[i] = a1->unk_1C[i];
save->unk_20218[i] = a1->unk_1C[i];
}
}
else
{
for (i = a1->unk_4; i < a1->unk_C; i++)
for (i = a1->unk_4; i < a1->numSectors; i++)
{
sav2->unk_20220[i] = (u8)(sav2->unk_20220[i] == 0);
save->unk_20220[i] = (u8)(save->unk_20220[i] == 0);
}
sav2->unk_00004 = 1;
sav2->unk_00008 = 0;
sav2->largeSectorChanged = 0;
save->unk_00004 = 1;
save->unk_00008 = 0;
save->largeSectorChanged = 0;
}
FUN_02016454(1);
}
void FUN_02022FF0(struct SaveBlock2 * sav2, struct UnkSavSub_2047C * a1)
void FUN_02022FF0(struct SaveData * save, struct AsyncWriteManager * a1)
{
if (a1->unk_0)
sav2->unk_20214 = a1->unk_18;
if (a1->rollbackCounter)
save->unk_20214 = a1->count;
for (int i = 0; i < 2; i++)
{
sav2->unk_20218[i] = a1->unk_1C[i];
save->unk_20218[i] = a1->unk_1C[i];
}
if (!CARD_TryWaitBackupAsync())
{
CARD_CancelBackupAsync();
CARD_UnlockBackup((u16)a1->unk_10);
OS_ReleaseLockID((u16)a1->unk_10);
CARD_UnlockBackup((u16)a1->lockId);
OS_ReleaseLockID((u16)a1->lockId);
}
FUN_02016454(1);
}
int FUN_02023044(struct SaveBlock2 * sav2)
int FUN_02023044(struct SaveData * save)
{
int r4;
struct UnkSavSub_2047C sp0;
FUN_02022DFC(sav2, &sp0, 2);
struct AsyncWriteManager sp0;
FUN_02022DFC(save, &sp0, 2);
do
{
r4 = FUN_02022E78(sav2, &sp0);
r4 = FUN_02022E78(save, &sp0);
} while (r4 == 0 || r4 == 1);
FUN_02022F80(sav2, &sp0, r4);
FUN_02022F80(save, &sp0, r4);
return r4;
}
int FlashClobberChunkFooter(struct SaveBlock2 * sav2, int x, u32 y)
int FlashClobberChunkFooter(struct SaveData * save, int x, u32 y)
{
u8 sp0[20];
struct SaveBlock2_Sub_20464 * r5 = &sav2->saveSlotSpecs[x];
struct SaveSlotSpec * spec = &save->saveSlotSpecs[x];
MI_CpuFill8(sp0, 0xFF, 20);
return FlashWriteChunk((u32)(GetChunkOffsetFromCurrentSaveSlot(y, r5) + r5->size - 20), sp0, 20);
return FlashWriteChunk((u32)(GetChunkOffsetFromCurrentSaveSlot(y, spec) + spec->size - 20), sp0, 20);
}
u32 SaveArray_sizeof(int idx)
@@ -644,7 +644,7 @@ u32 SaveArray_sizeof(int idx)
return (u32)ret;
}
void SaveBlock2_InitSubstructs(struct SaveArrayHeader * headers)
void SaveData_InitSubstructs(struct SaveArrayHeader * headers)
{
const struct SaveChunkHeader * sch = UNK_020EE700;
s32 offset = 0;
@@ -655,8 +655,8 @@ void SaveBlock2_InitSubstructs(struct SaveArrayHeader * headers)
headers[i].id = sch[i].id;
headers[i].size = SaveArray_sizeof(i);
headers[i].offset = (u32)offset;
headers[i].field_C = 0;
headers[i].field_E = (u16)sch[i].linkedId;
headers[i].crc = 0;
headers[i].slot = (u16)sch[i].linkedId;
offset += headers[i].size;
if (i == UNK_020EE6DC - 1 || sch[i].linkedId != sch[i + 1].linkedId)
offset += 20;
@@ -664,7 +664,7 @@ void SaveBlock2_InitSubstructs(struct SaveArrayHeader * headers)
GF_ASSERT(offset <= 0x20000);
}
void FUN_02023160(struct SaveBlock2_Sub_20464 * spec, struct SaveArrayHeader * headers)
void FUN_02023160(struct SaveSlotSpec * spec, struct SaveArrayHeader * headers)
{
int i = 0;
int sp4 = 0;
@@ -672,21 +672,21 @@ void FUN_02023160(struct SaveBlock2_Sub_20464 * spec, struct SaveArrayHeader * h
int j = 0;
for (i = 0; i < 2; i++)
{
spec[i].unk_0 = (u8)i;
spec[i].id = (u8)i;
spec[i].size = 0;
while (i == headers[j].field_E && j < UNK_020EE6DC)
while (i == headers[j].slot && j < UNK_020EE6DC)
{
spec[i].size += headers[j].size;
j++;
}
spec[i].size += 20;
spec[i].unk_1 = (u8)sp4;
spec[i].firstPage = (u8)sp4;
spec[i].offset = r12;
spec[i].unk_2 = (u8)((spec[i].size + 0xFFF) / 0x1000);
sp4 += spec[i].unk_2;
spec[i].numPages = (u8)((spec[i].size + 0xFFF) / 0x1000);
sp4 += spec[i].numPages;
r12 += spec[i].size;
}
GF_ASSERT(spec[1].unk_1 + spec[1].unk_2 == sp4);
GF_ASSERT(spec[1].firstPage + spec[1].numPages == sp4);
GF_ASSERT(sp4 <= 32);
}
@@ -702,35 +702,35 @@ void Save_InitDynamicRegion_Internal(u8 * dynamic_region, struct SaveArrayHeader
}
}
void CreateChunkFooter(struct SaveBlock2 * sav2, u8 * data, int id, u32 size)
void CreateChunkFooter(struct SaveData * save, u8 * data, int id, u32 size)
{
struct SaveArrayFooter * footer = (struct SaveArrayFooter *)(data + size);
footer->magic = 0x20060623;
footer->unk_4 = sav2->unk_204A4 + 1;
footer->unk_8 = size;
footer->unk_C = (u16)id;
footer->crc = MATH_CalcCRC16CCITT(&sav2->crcTable, data, size + 14);
footer->saveno = save->unk_204A4 + 1;
footer->size = size;
footer->idx = (u16)id;
footer->crc = MATH_CalcCRC16CCITT(&save->crcTable, data, size + 14);
}
BOOL ValidateChunk(struct SaveBlock2 * sav2, u8 * data, int id, u32 size)
BOOL ValidateChunk(struct SaveData * save, u8 * data, int id, u32 size)
{
struct SaveArrayFooter * footer = (struct SaveArrayFooter *)(data + size);
if (footer->magic != 0x20060623)
return FALSE;
if (footer->unk_8 != size)
if (footer->size != size)
return FALSE;
if (footer->unk_C != id)
if (footer->idx != id)
return FALSE;
return (footer->crc == MATH_CalcCRC16CCITT(&sav2->crcTable, data, size + 14));
return (footer->crc == MATH_CalcCRC16CCITT(&save->crcTable, data, size + 14));
}
u32 FUN_020232B4(u8 * data, u32 size)
{
struct SaveArrayFooter * footer = (struct SaveArrayFooter *)(data + size);
return footer->unk_4;
return footer->saveno;
}
int WriteSaveFileToFlash(struct SaveBlock2 * sav2, int idx, u8 * data)
int WriteSaveFileToFlash(struct SaveData * save, int idx, u8 * data)
{
FUN_02016444(1);
GF_ASSERT(idx < UNK_020EE6D8);
@@ -738,23 +738,23 @@ int WriteSaveFileToFlash(struct SaveBlock2 * sav2, int idx, u8 * data)
GF_ASSERT(sch->id == idx);
u32 sp4 = sch->sizeFunc() + 16;
int sp0;
if (sav2->unk_204A0 == 1)
if (save->unk_204A0 == 1)
{
CreateChunkFooter(sav2, data, idx, sch->sizeFunc());
CreateChunkFooter(save, data, idx, sch->sizeFunc());
sp0 = FlashWriteChunk((u32)(sch->linkedId << 12), data, sp4);
GF_ASSERT(ValidateChunk(sav2, data, idx, sch->sizeFunc()) == 1);
CreateChunkFooter(sav2, data, idx, sch->sizeFunc());
GF_ASSERT(ValidateChunk(save, data, idx, sch->sizeFunc()) == 1);
CreateChunkFooter(save, data, idx, sch->sizeFunc());
sp0 |= FlashWriteChunk((u32)((sch->linkedId + 0x40) << 12), data, sp4);
GF_ASSERT(ValidateChunk(sav2, data, idx, sch->sizeFunc()) == 1);
GF_ASSERT(ValidateChunk(save, data, idx, sch->sizeFunc()) == 1);
}
else
{
CreateChunkFooter(sav2, data, idx, sch->sizeFunc());
CreateChunkFooter(save, data, idx, sch->sizeFunc());
sp0 = FlashWriteChunk((u32)((sch->linkedId + 0x40) << 12), data, sp4);
GF_ASSERT(ValidateChunk(sav2, data, idx, sch->sizeFunc()) == 1);
CreateChunkFooter(sav2, data, idx, sch->sizeFunc());
GF_ASSERT(ValidateChunk(save, data, idx, sch->sizeFunc()) == 1);
CreateChunkFooter(save, data, idx, sch->sizeFunc());
sp0 |= FlashWriteChunk((u32)(sch->linkedId << 12), data, sp4);
GF_ASSERT(ValidateChunk(sav2, data, idx, sch->sizeFunc()) == 1);
GF_ASSERT(ValidateChunk(save, data, idx, sch->sizeFunc()) == 1);
}
if (sp0 == 1)
{
@@ -765,7 +765,7 @@ int WriteSaveFileToFlash(struct SaveBlock2 * sav2, int idx, u8 * data)
return 3;
}
u8 * ReadSaveFileFromFlash(struct SaveBlock2 * sav2, u32 heap_id, int idx, int * ret_p)
u8 * ReadSaveFileFromFlash(struct SaveData * save, u32 heap_id, int idx, int * ret_p)
{
GF_ASSERT(idx < UNK_020EE6D8);
const struct SaveChunkHeader * sch = &UNK_020EE6E0[idx];
@@ -777,23 +777,23 @@ u8 * ReadSaveFileFromFlash(struct SaveBlock2 * sav2, u32 heap_id, int idx, int *
u32 sp4;
u8 * r6 = AllocFromHeap(heap_id, sp10);
FlashLoadChunk((u32)(sch->linkedId << 12), r6, sp10);
spC = ValidateChunk(sav2, r6, idx, sch->sizeFunc());
spC = ValidateChunk(save, r6, idx, sch->sizeFunc());
sp8 = FUN_020232B4(r6, sch->sizeFunc());
FlashLoadChunk((u32)((sch->linkedId + 0x40) << 12), r6, sp10);
r7 = ValidateChunk(sav2, r6, idx, sch->sizeFunc());
r7 = ValidateChunk(save, r6, idx, sch->sizeFunc());
sp4 = FUN_020232B4(r6, sch->sizeFunc());
*ret_p = 1;
if (spC == 1 && r7 == 0)
{
sav2->unk_204A0 = 0;
sav2->unk_204A4 = sp8;
save->unk_204A0 = 0;
save->unk_204A4 = sp8;
FlashLoadChunk((u32)(sch->linkedId << 12), r6, sp10);
return r6;
}
if (spC == 0 && r7 == 1)
{
sav2->unk_204A0 = 1;
sav2->unk_204A4 = sp4;
save->unk_204A0 = 1;
save->unk_204A4 = sp4;
FlashLoadChunk((u32)((sch->linkedId + 0x40) << 12), r6, sp10);
return r6;
}
@@ -801,19 +801,19 @@ u8 * ReadSaveFileFromFlash(struct SaveBlock2 * sav2, u32 heap_id, int idx, int *
{
if (FUN_020229B8(sp8, sp4) != -1)
{
sav2->unk_204A0 = 0;
sav2->unk_204A4 = sp8;
save->unk_204A0 = 0;
save->unk_204A4 = sp8;
FlashLoadChunk((u32)(sch->linkedId << 12), r6, sp10);
return r6;
}
sav2->unk_204A0 = 1;
sav2->unk_204A4 = sp4;
save->unk_204A0 = 1;
save->unk_204A4 = sp4;
FlashLoadChunk((u32)((sch->linkedId + 0x40) << 12), r6, sp10);
return r6;
}
*ret_p = 2;
sav2->unk_204A0 = 0;
sav2->unk_204A4 = 0;
save->unk_204A0 = 0;
save->unk_204A4 = 0;
return r6;
}

View File

@@ -1,7 +1,7 @@
#include "global.h"
#include "bag.h"
#include "player_data.h"
#include "save_block_2.h"
#include "save.h"
#include "party.h"
#include "event_data.h"
#include "pokemon_storage_system.h"

View File

@@ -39,7 +39,7 @@ extern u8 TrainerFlagCheck(struct FieldSystem *fieldSystem, u16 flag);
extern void MOD05_ShowMessageInField(struct ScriptContext *ctx, struct MsgData *msgData, u16 id);
extern void MOD05_021E2BD0(struct ScriptContext *ctx, struct MsgData *msgData, u16 msgId, u32 param4, void *param5);
extern void MOD05_021E2C58(struct ScriptContext *ctx, u16 typ, u16 id, u16 word1, s16 word2, u8 param5);
extern MessageFormat *MOD06_02244210(struct SaveBlock2 *sav, u16 poke, u16 sex, u8 flag, u8 *unk);
extern MessageFormat *MOD06_02244210(struct SaveData *sav, u16 poke, u16 sex, u8 flag, u8 *unk);
extern void MOD05_021E2CBC(struct ScriptContext *ctx, MessageFormat *messageFormat, u8 param2, u32 param3);
extern void MOD05_021E2BB8(void *param0, struct ScriptContext *ctx);
extern u32 FUN_02058488(LocalMapObject *lastInteracted);
@@ -117,7 +117,7 @@ extern u16 MOD05_021E1858(struct FieldSystem *fieldSystem, LocalMapObject *event
extern u32 FUN_02029048(u32 param0);
extern void FUN_02028AD4(u32 *param0, u32 param1, u32 param2);
extern void FUN_0204AF3C(struct TaskManager *taskManager);
extern SaveFashionData *Save_FashionData_Get(struct SaveBlock2 *save);
extern SaveFashionData *Save_FashionData_Get(struct SaveData *save);
extern BOOL CheckPortraitSlotFull(SaveFashionData *fashionData, u32 portraitSlot);
extern BOOL CheckContestPortraitSlotFull(SaveFashionData *fashionData, u32 portraitSlot);
extern void MOD05_021F02C4(struct FieldSystem *fieldSystem);
@@ -127,15 +127,15 @@ extern void Script_SetMonSeenFlagBySpecies(struct FieldSystem *fieldSystem, u16
extern void MOD05_021E1374(struct TaskManager *taskManager, MessageFormat *messageFormat, u16 *ptr);
extern void MOD05_021E1994(FieldSystem *fieldSystem, LocalMapObject *lastInteracted);
extern void FUN_0208A338(struct TaskManager *taskManager);
extern void FUN_020380CC(struct TaskManager *taskManager, u16 *param1, struct SaveBlock2 *save, u16 partyPos, u16 param4);
extern void FUN_020380CC(struct TaskManager *taskManager, u16 *param1, struct SaveData *save, u16 partyPos, u16 param4);
extern void FUN_02038130(FieldSystem *fieldSystem, FashionAppData *fashionData);
extern u32 FUN_02027008(SaveFashionData *fashionData, u32 param1);
extern void FUN_02027478(u32 param0, u16 param1);
extern void ShowGeonetScreen(FieldSystem *fieldSystem);
extern void ShowSealCapsuleEditor(TaskManager *taskManager, struct SaveBlock2 *save);
extern void ShowSealCapsuleEditor(TaskManager *taskManager, struct SaveData *save);
extern void FUN_0205F7A0(FieldSystem *fieldSystem, TownMapAppData *townMap, u32 param2); //TownMap_Init?
extern void FUN_02037E90(FieldSystem *fieldSystem, TownMapAppData *townMap); //ShowTownMap?
extern u32 FUN_02028048(struct SaveBlock2 *save);
extern u32 FUN_02028048(struct SaveData *save);
extern u32 FUN_020281B8(u32 param0);
extern void FUN_02037FE4(FieldSystem *fieldSystem, ScrCmdUnkStruct01D9 *param1);
extern void LaunchStoragePCInterface(FieldSystem *fieldSystem, PCBoxAppData *pcBoxAppData);
@@ -158,7 +158,7 @@ extern BOOL IsPaletteFadeFinished(void);
extern void CallTask_ScriptWarp(TaskManager *taskManager, u16 mapId, s32 param2, u16 xVar, u16 yVar, u16 dir);
extern void FUN_02049F98(TaskManager *taskManager, u16 mapId, s32 param2, u16 xVar, u16 yVar, u16 dir);
extern void FUN_02049FFC(TaskManager *taskManager);
extern LocalFieldData *Save_LocalFieldData_Get(struct SaveBlock2 *save);
extern LocalFieldData *Save_LocalFieldData_Get(struct SaveData *save);
extern Location *FUN_02034DC8(LocalFieldData *localFieldData);
extern void CallFieldTask_RockClimb(TaskManager *taskManager, u32 playerDirection, u16 partyPosition);
extern void FUN_0205DD40(u32 param0);

View File

@@ -6,8 +6,8 @@
#include "pokemon_storage_system.h"
#include "unk_0202C144.h"
extern struct PCStorage* GetStoragePCPointer(struct SaveBlock2* sav2);
extern void* FUN_02022528(struct SaveBlock2* sav2);
extern struct PCStorage* GetStoragePCPointer(struct SaveData* save);
extern void* FUN_02022528(struct SaveData* save);
extern void FUN_0202BEDC(struct Pokemon* pokemon);
extern void FUN_0202BFD8(void* a0, s32 a1, struct Pokemon* pokemon);
extern u16 FUN_0202C000(struct Pokemon* pokemon);

View File

@@ -80,9 +80,9 @@ BOOL ScrCmd_TakeCoinsAddress(struct ScriptContext * ctx) //02A8 - todo: TakeCoin
BOOL ScrCmd_HasEnoughCoinsImmediate(struct ScriptContext * ctx) //0274 - todo: CanAffordCoins?
{
struct FieldSystem* fieldSystem = ctx->fieldSystem;
struct SaveBlock2 * sav2 = ScriptEnvironment_GetSavePtr(fieldSystem);
struct SaveData * save = ScriptEnvironment_GetSavePtr(fieldSystem);
// Created, but discarded.
struct PlayerData * player = Save_PlayerData_GetProfileAddr(sav2);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(save);
u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(fieldSystem->saveData);
u16 * ret_ptr = ScriptGetVarPointer(ctx);
@@ -104,9 +104,9 @@ BOOL ScrCmd_HasEnoughCoinsImmediate(struct ScriptContext * ctx) //0274 - todo: C
BOOL ScrCmd_HasEnoughCoinsAddress(struct ScriptContext * ctx) //02A9 - todo: CanAffordCoinsVar?
{
struct FieldSystem* fieldSystem = ctx->fieldSystem;
struct SaveBlock2 * sav2 = ScriptEnvironment_GetSavePtr(fieldSystem);
struct SaveData * save = ScriptEnvironment_GetSavePtr(fieldSystem);
// Created, but discarded
struct PlayerData * player = Save_PlayerData_GetProfileAddr(sav2);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(save);
u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(fieldSystem->saveData);
u16 * ret_ptr = ScriptGetVarPointer(ctx);

View File

@@ -6,7 +6,7 @@
extern void* FieldSysGetAttrAddr(struct FieldSystem*, int idx);
extern void MOD05_021EC57C(struct PlayerParty* party, u8 idx, struct DayCare* daycare, struct SaveBlock2* sav2);
extern void MOD05_021EC57C(struct PlayerParty* party, u8 idx, struct DayCare* daycare, struct SaveData* save);
extern u16 MOD05_021EC71C(struct PlayerParty* party, MessageFormat *messageFormat, struct DayCare* daycare, u8 idx);
extern u16 MOD05_021EC854(struct DayCare* daycare, u8 idx, MessageFormat *messageFormat);
extern u8 MOD05_021EC864(struct DayCare* daycare, int idx, MessageFormat *messageFormat);
@@ -20,9 +20,9 @@ extern u32 MOD05_021ED644(struct DayCare* daycare);
BOOL ScrCmd_GetDaycarePokemonNames(struct ScriptContext* ctx) //016D
{
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
struct DayCare* daycare = Save_DayCare_Get(sav2);
struct DayCare* daycare = Save_DayCare_Get(save);
MOD05_021ED4E0(daycare, *messageFormat);
@@ -32,9 +32,9 @@ BOOL ScrCmd_GetDaycarePokemonNames(struct ScriptContext* ctx) //016D
BOOL ScrCmd_GetDaycareStatus(struct ScriptContext* ctx) //016E
{
struct FieldSystem* fieldSystem = ctx->fieldSystem;
struct SaveBlock2* sav2 = fieldSystem->saveData;
struct SaveData* save = fieldSystem->saveData;
u16* ret_ptr = ScriptGetVarPointer(ctx);
struct DayCare* daycare = SaveArray_Get(sav2, 8);
struct DayCare* daycare = SaveArray_Get(save, 8);
*ret_ptr = MOD05_021ED5EC(daycare);
@@ -54,8 +54,8 @@ BOOL ScrCmd_GiveDaycareEgg(struct ScriptContext* ctx) //01A9
struct FieldSystem* fieldSystem = ctx->fieldSystem;
struct DayCare* daycare = SaveArray_Get(fieldSystem->saveData, 8);
struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData);
struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData* player = Save_PlayerData_GetProfileAddr(sav2);
struct SaveData* save = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData* player = Save_PlayerData_GetProfileAddr(save);
MOD05_DayCare_GiveEggToPlayer(daycare, party, player);
@@ -66,10 +66,10 @@ BOOL ScrCmd_Unk01A4(struct ScriptContext* ctx) //01A4
{
struct FieldSystem* fieldSystem = ctx->fieldSystem;
MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
struct SaveBlock2* sav2 = fieldSystem->saveData;
struct SaveData* save = fieldSystem->saveData;
u16* ret_ptr = ScriptGetVarPointer(ctx);
u16 idx = ScriptGetVar(ctx);
struct DayCare* daycare = SaveArray_Get(sav2, 8);
struct DayCare* daycare = SaveArray_Get(save, 8);
struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData);
*ret_ptr = MOD05_021EC71C(party, *messageFormat, daycare, (u8)idx);
@@ -81,10 +81,10 @@ BOOL ScrCmd_Unk01AA(struct ScriptContext* ctx) //01AA
{
struct FieldSystem* fieldSystem = ctx->fieldSystem;
MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
struct SaveBlock2* sav2 = fieldSystem->saveData;
struct SaveData* save = fieldSystem->saveData;
u16* ret_ptr = ScriptGetVarPointer(ctx);
u16 idx = ScriptGetVar(ctx);
struct DayCare* daycare = SaveArray_Get(sav2, 8);
struct DayCare* daycare = SaveArray_Get(save, 8);
*ret_ptr = MOD05_021EC854(daycare, (u8)idx, *messageFormat);
@@ -93,11 +93,11 @@ BOOL ScrCmd_Unk01AA(struct ScriptContext* ctx) //01AA
BOOL ScrCmd_GetDaycareLevel(struct ScriptContext* ctx) //01AE
{
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16* ret_ptr = ScriptGetVarPointer(ctx);
u16 idx = ScriptGetVar(ctx);
struct DayCare* daycare = SaveArray_Get(sav2, 8);
struct DayCare* daycare = SaveArray_Get(save, 8);
*ret_ptr = MOD05_021EC864(daycare, idx, *messageFormat);
@@ -121,25 +121,25 @@ BOOL ScrCmd_Unk01AF(struct ScriptContext* ctx) //01AF
BOOL ScrCmd_Unk01B0(struct ScriptContext* ctx) //01B0
{
struct FieldSystem* fieldSystem = ctx->fieldSystem;
struct SaveBlock2* sav2 = fieldSystem->saveData;
struct SaveData* save = fieldSystem->saveData;
u16 idx = ScriptGetVar(ctx);
struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData);
struct DayCare* daycare = SaveArray_Get(sav2, 8);
struct DayCare* daycare = SaveArray_Get(save, 8);
MOD05_021EC57C(party, (u8)idx, daycare, sav2);
MOD05_021EC57C(party, (u8)idx, daycare, save);
return FALSE;
}
BOOL ScrCmd_Unk01BC(struct ScriptContext* ctx) //01BC
{
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u16 idx1 = ScriptGetVar(ctx);
u16 idx2 = ScriptGetVar(ctx);
u16 idx3 = ScriptGetVar(ctx);
u16 idx4 = ScriptGetVar(ctx);
struct DayCare* daycare = Save_DayCare_Get(sav2);
struct DayCare* daycare = Save_DayCare_Get(save);
MOD05_021ED52C(daycare, (u8)idx1, (u8)idx2, (u8)idx3, (u8)idx4, *messageFormat);
@@ -148,9 +148,9 @@ BOOL ScrCmd_Unk01BC(struct ScriptContext* ctx) //01BC
BOOL ScrCmd_Unk01BE(struct ScriptContext* ctx) //01BE
{
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
u16* ret_ptr = ScriptGetVarPointer(ctx);
struct DayCare* daycare = SaveArray_Get(sav2, 8);
struct DayCare* daycare = SaveArray_Get(save, 8);
*ret_ptr = (u16)MOD05_021ED644(daycare);
@@ -159,9 +159,9 @@ BOOL ScrCmd_Unk01BE(struct ScriptContext* ctx) //01BE
BOOL ScrCmd_Unk01BF(struct ScriptContext* ctx) //01BF - todo: SaveEggPID?
{
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
u16* ret_ptr = ScriptGetVarPointer(ctx);
struct DayCare* daycare = SaveArray_Get(sav2, 8);
struct DayCare* daycare = SaveArray_Get(save, 8);
*ret_ptr = (u16)Save_DayCare_GetEggPID(daycare);

View File

@@ -10,8 +10,8 @@ extern void MOD05_021E28A0(struct FieldSystem *fieldSystem, Window *moneyBox);
BOOL ScrCmd_GiveMoney(struct ScriptContext * ctx) //006F
{
struct SaveBlock2 * sav2 = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(sav2);
struct SaveData * save = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(save);
u32 amount = ScriptReadWord(ctx);
PlayerProfile_AddMoney(player, amount);
@@ -21,8 +21,8 @@ BOOL ScrCmd_GiveMoney(struct ScriptContext * ctx) //006F
BOOL ScrCmd_TakeMoneyImmediate(struct ScriptContext * ctx) //0070 - todo: TakeMoney?
{
struct SaveBlock2 * sav2 = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(sav2);
struct SaveData * save = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(save);
u32 amount = ScriptReadWord(ctx);
PlayerProfile_SubMoney(player, amount);
@@ -32,8 +32,8 @@ BOOL ScrCmd_TakeMoneyImmediate(struct ScriptContext * ctx) //0070 - todo: TakeMo
BOOL ScrCmd_TakeMoneyAddress(struct ScriptContext * ctx) //01A3 - todo: TakeMoneyVar?
{
struct SaveBlock2 * sav2 = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(sav2);
struct SaveData * save = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(save);
u16 amount = ScriptGetVar(ctx);
PlayerProfile_SubMoney(player, (u32)amount);
@@ -43,8 +43,8 @@ BOOL ScrCmd_TakeMoneyAddress(struct ScriptContext * ctx) //01A3 - todo: TakeMone
BOOL ScrCmd_HasEnoughMoneyImmediate(struct ScriptContext * ctx) //0071 - todo: CanAffordMoney?
{
struct SaveBlock2 * sav2 = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(sav2);
struct SaveData * save = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(save);
u16 * ret_ptr = ScriptGetVarPointer(ctx);
u32 amount = ScriptReadWord(ctx);
@@ -64,8 +64,8 @@ BOOL ScrCmd_HasEnoughMoneyImmediate(struct ScriptContext * ctx) //0071 - todo: C
BOOL ScrCmd_HasEnoughMoneyAddress(struct ScriptContext * ctx) //01AB - todo: CanAffordMoneyVar?
{
struct SaveBlock2 * sav2 = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(sav2);
struct SaveData * save = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
struct PlayerData * player = Save_PlayerData_GetProfileAddr(save);
u16 * ret_ptr = ScriptGetVarPointer(ctx);
u16 amount = ScriptGetVar(ctx);

View File

@@ -63,8 +63,8 @@ void FUN_02045E74(struct ScriptContext* ctx, u8 a1, struct Pokemon* pokemon, u16
moveRelearner->pokemon = pokemon;
struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
moveRelearner->player = Save_PlayerData_GetProfileAddr(sav2);
struct SaveData* save = ScriptEnvironment_GetSavePtr(ctx->fieldSystem);
moveRelearner->player = Save_PlayerData_GetProfileAddr(save);
moveRelearner->options = Save_PlayerData_GetOptionsAddr(ctx->fieldSystem->saveData);
moveRelearner->eligibleMoves = eligibleMoves;

View File

@@ -16,7 +16,7 @@ extern void* FieldSysGetAttrAddr(struct FieldSystem* fieldSystem, int idx);
extern u32 FUN_020536D0(u32 gender, u32 avatar, u32 a2);
extern u32 FUN_0205F388(struct ScriptState* state);
extern u32 FUN_0205F398(struct ScriptState* state);
extern struct PCStorage* GetStoragePCPointer(struct SaveBlock2* sav2);
extern struct PCStorage* GetStoragePCPointer(struct SaveData* save);
extern u32 FUN_0205F3C0(struct ScriptState* state);
extern u32 FUN_02054C14(u32 number);
@@ -25,8 +25,8 @@ BOOL ScrCmd_GetPlayerName(struct ScriptContext* ctx) //00CD - todo: BufferPlayer
struct FieldSystem *fieldSystem = ctx->fieldSystem;
MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u8 idx = ScriptReadByte(ctx);
struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(fieldSystem);
struct PlayerData* player = Save_PlayerData_GetProfileAddr(sav2);
struct SaveData* save = ScriptEnvironment_GetSavePtr(fieldSystem);
struct PlayerData* player = Save_PlayerData_GetProfileAddr(save);
BufferPlayersName(*messageFormat, idx, player);
@@ -202,8 +202,8 @@ BOOL ScrCmd_GetTrainerClassName(struct ScriptContext* ctx) //00D8 - todo: Buffer
BOOL ScrCmd_Unk00D9(struct ScriptContext* ctx) //00D9 - todo: BufferPlayerTrainerClassName? TextPlayerTrainerClassName?
{
struct FieldSystem *fieldSystem = ctx->fieldSystem;
struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(fieldSystem);
struct PlayerData* player = Save_PlayerData_GetProfileAddr(sav2);
struct SaveData* save = ScriptEnvironment_GetSavePtr(fieldSystem);
struct PlayerData* player = Save_PlayerData_GetProfileAddr(save);
MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
u8 idx = ScriptReadByte(ctx);
u32 gender = PlayerProfile_GetTrainerGender(player);

View File

@@ -4,7 +4,7 @@
#include "map_header.h"
#include "module_05.h"
#include "party.h"
#include "save_block_2.h"
#include "save.h"
#include "scrcmd.h"
#include "script_pokemon_util.h"
#include "task.h"
@@ -12,7 +12,7 @@
#include "unk_02022504.h"
#include "unk_0207FC5C.h"
extern u16 FUN_02054DEC(struct SaveBlock2* sav2);
extern u16 FUN_02054DEC(struct SaveData* save);
BOOL ScrCmd_GiveMon(struct ScriptContext* ctx) //0096 - todo: GivePokemon?
{
@@ -55,8 +55,8 @@ BOOL ScrCmd_GetPartyMonSpecies(struct ScriptContext* ctx) //0198 - todo: GetPart
BOOL ScrCmd_CheckPartyMonOTID(struct ScriptContext* ctx) //0199 - todo: CheckPartyPokemonTraded?
{
struct FieldSystem *fieldSystem = ctx->fieldSystem;
struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(fieldSystem);
struct PlayerData* player = Save_PlayerData_GetProfileAddr(sav2);
struct SaveData* save = ScriptEnvironment_GetSavePtr(fieldSystem);
struct PlayerData* player = Save_PlayerData_GetProfileAddr(save);
u16* mon_slot = ScriptGetVarPointer(ctx);
u16* ret_ptr = ScriptGetVarPointer(ctx);

View File

@@ -4,18 +4,18 @@
extern BOOL FUN_02025D6C(void*, u16);
extern BOOL FUN_02025D94(void*, u16);
extern BOOL FUN_02026298(void*, u16);
extern void* FUN_02026CC4(struct SaveBlock2* sav2);
extern void* FUN_02026CC4(struct SaveData* save);
extern BOOL FUN_020260C4(void*, u16, u16);
/* Given the amount of dummy functions in this file, I believe this is a debug file of some kind */
BOOL ScrCmd_GiveSecretBaseDecoration(struct ScriptContext* ctx) //0083
{
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
u16 unk1 = ScriptGetVar(ctx);
u16 unused = ScriptGetVar(ctx);
u16* ret_ptr = ScriptGetVarPointer(ctx);
void* unk2 = FUN_02026CC4(sav2);
void* unk2 = FUN_02026CC4(save);
*ret_ptr = (u16)FUN_02025D6C(unk2, unk1);
@@ -33,11 +33,11 @@ BOOL ScrCmd_TakeSecretBaseDecoration(struct ScriptContext* ctx) //0084
BOOL ScrCmd_HasSpaceForDecoration(struct ScriptContext* ctx) //0085
{
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
u16 unk1 = ScriptGetVar(ctx);
u16 unused = ScriptGetVar(ctx);
u16* ret_ptr = ScriptGetVarPointer(ctx);
void* unk2 = FUN_02026CC4(sav2);
void* unk2 = FUN_02026CC4(save);
*ret_ptr = (u16)FUN_02025D94(unk2, unk1);
@@ -55,11 +55,11 @@ BOOL ScrCmd_GetDecorationCount(struct ScriptContext* ctx) //0086 - somewhat unsu
BOOL ScrCmd_GiveUndergroundTrap(struct ScriptContext* ctx) //0087
{
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
u16 unk1 = ScriptGetVar(ctx);
u16 unused = ScriptGetVar(ctx);
u16* ret_ptr = ScriptGetVarPointer(ctx);
void* unk2 = FUN_02026CC4(sav2);
void* unk2 = FUN_02026CC4(save);
*ret_ptr = (u16)FUN_02026298(unk2, unk1);
@@ -95,11 +95,11 @@ BOOL ScrCmd_GetTrapCount(struct ScriptContext* ctx) //008A
BOOL ScrCmd_GiveTreasure(struct ScriptContext* ctx) //008B
{
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
u16 unused1 = ScriptGetVar(ctx);
u16 unused2 = ScriptGetVar(ctx);
u16* ret_ptr = ScriptGetVarPointer(ctx);
void* unused3 = FUN_02026CC4(sav2);
void* unused3 = FUN_02026CC4(save);
return FALSE;
}
@@ -133,11 +133,11 @@ BOOL ScrCmd_GetTreasureCount(struct ScriptContext* ctx) //008E
BOOL ScrCmd_GiveUndergroundSphere(struct ScriptContext* ctx) //008F
{
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
u16 unk1 = ScriptGetVar(ctx);
u16 unk2 = ScriptGetVar(ctx);
u16* ret_ptr = ScriptGetVarPointer(ctx);
void* unk3 = FUN_02026CC4(sav2);
void* unk3 = FUN_02026CC4(save);
*ret_ptr = (u16)FUN_020260C4(unk3, unk1, unk2);

View File

@@ -14,7 +14,7 @@ BOOL ScrCmd_UnionGroup(struct ScriptContext* ctx) //021D
{
MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
struct UnkSaveStruct_020286F8* unk_sav_ptr = FUN_0202881C(ctx->fieldSystem->saveData);
struct SaveBlock2* sav2 = ctx->fieldSystem->saveData;
struct SaveData* save = ctx->fieldSystem->saveData;
u16 option = ScriptReadHalfword(ctx);
switch (option)
@@ -37,14 +37,14 @@ BOOL ScrCmd_UnionGroup(struct ScriptContext* ctx) //021D
u16 unk_var = ScriptGetVar(ctx);
u16 idx = ScriptGetVar(ctx);
BufferGroupName(*messageFormat, sav2, unk_var, idx, 0);
BufferGroupName(*messageFormat, save, unk_var, idx, 0);
break;
}
case 3: { //writes group leader name to string buffer
u16 unk_var = ScriptGetVar(ctx);
u16 idx = ScriptGetVar(ctx);
BufferGroupName(*messageFormat, sav2, unk_var, idx, 1);
BufferGroupName(*messageFormat, save, unk_var, idx, 1);
break;
}
case 4: { //opens keyboard, 2 if group id exists, 1 if cancel, 0 otherwise

View File

@@ -3,7 +3,7 @@
#include "party.h"
#include "player_data.h"
#include "pokemon.h"
#include "save_block_2.h"
#include "save.h"
#include "unk_02015CC0.h"
#include "unk_0202C144.h"
#include "module_05.h"
@@ -20,11 +20,11 @@ BOOL MonNotFaintedOrEgg(struct Pokemon * pokemon)
return TRUE;
}
BOOL GiveMon(u32 heap_id, struct SaveBlock2 * sav2, u16 species, u8 level, u16 item, u32 mapSec, u32 encounterType)
BOOL GiveMon(u32 heap_id, struct SaveData * save, u16 species, u8 level, u16 item, u32 mapSec, u32 encounterType)
{
u32 ptr;
struct PlayerData * data = Save_PlayerData_GetProfileAddr(sav2);
struct PlayerParty * party = SaveArray_PlayerParty_Get(sav2);
struct PlayerData * data = Save_PlayerData_GetProfileAddr(save);
struct PlayerParty * party = SaveArray_PlayerParty_Get(save);
struct Pokemon * mon = AllocMonZeroed(heap_id);
ZeroMonData(mon);
CreateMon(mon, species, level, 32, 0, 0, OT_ID_PLAYER_ID, 0);
@@ -34,18 +34,18 @@ BOOL GiveMon(u32 heap_id, struct SaveBlock2 * sav2, u16 species, u8 level, u16 i
BOOL isAdded = AddMonToParty(party, mon);
if (isAdded)
{
FUN_0202C144(sav2, mon);
FUN_0202C144(save, mon);
}
FreeToHeap(mon);
return isAdded;
}
/* Seems to have something to do with Manaphy Egg*/
BOOL GiveEgg(u32 heapId, struct SaveBlock2 * sav2, u16 species, int level, int metLocIndex, int a3)
BOOL GiveEgg(u32 heapId, struct SaveData * save, u16 species, int level, int metLocIndex, int a3)
{
#pragma unused(heapId)
struct PlayerData * data = Save_PlayerData_GetProfileAddr(sav2);
struct PlayerParty * party = SaveArray_PlayerParty_Get(sav2);
struct PlayerData * data = Save_PlayerData_GetProfileAddr(save);
struct PlayerParty * party = SaveArray_PlayerParty_Get(save);
struct Pokemon * mon = AllocMonZeroed(32);
ZeroMonData(mon);
MOD05_SetEggStats(mon, species, level, data, 4, FUN_02015CF8(metLocIndex, a3));

View File

@@ -1,5 +1,5 @@
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "MI_memory.h"
#include "seal.h"
@@ -18,9 +18,9 @@ void CapsuleArray_Copy(const CapsuleArray * a0, CapsuleArray * a1)
MI_CpuCopy8(a0, a1, sizeof(CapsuleArray));
}
struct SealCase * Save_SealCase_Get(struct SaveBlock2 * sav2)
struct SealCase * Save_SealCase_Get(struct SaveData * save)
{
return (struct SealCase *)SaveArray_Get(sav2, 21);
return (struct SealCase *)SaveArray_Get(save, 21);
}
CapsuleArray * SealCase_GetCapsuleI(struct SealCase * sealCase, s32 idx)

View File

@@ -9,7 +9,7 @@
#include "unk_02024E64.h"
// Loads all battle opponents, including multi-battle partner if exists.
void EnemyTrainerSet_Init(struct BattleSetupStruct * enemies, struct SaveBlock2 * sav2, u32 heap_id)
void EnemyTrainerSet_Init(struct BattleSetupStruct * enemies, struct SaveData * save, u32 heap_id)
{
struct TrainerDataLoaded trdata;
struct MsgData * msgData;
@@ -18,7 +18,7 @@ void EnemyTrainerSet_Init(struct BattleSetupStruct * enemies, struct SaveBlock2
struct String * str;
msgData = NewMsgDataFromNarc(MSGDATA_LOAD_LAZY, NARC_MSGDATA_MSG, 559, heap_id);
rivalName = GetRivalNamePtr(FUN_02024EC0(sav2));
rivalName = GetRivalNamePtr(FUN_02024EC0(save));
for (i = 0; i < 4; i++)
{
if (enemies->trainer_idxs[i] != 0)

View File

@@ -1,7 +1,7 @@
#include "global.h"
#include "msgdata.h"
#include "heap.h"
#include "save_block_2.h"
#include "save.h"
#include "math_util.h"
#include "unk_020139D8.h"
#include "msgdata/msg.naix"
@@ -177,9 +177,9 @@ void FUN_02013B2C(struct UnkStruct_02013B28 * unk)
}
}
struct UnkStruct_02013B28 * FUN_02013B5C(struct SaveBlock2 * sav2)
struct UnkStruct_02013B28 * FUN_02013B5C(struct SaveData * save)
{
return (struct UnkStruct_02013B28 *)SaveArray_Get(sav2, 34);
return (struct UnkStruct_02013B28 *)SaveArray_Get(save, 34);
}
BOOL FUN_02013B68(struct UnkStruct_02013B28 * unk, u32 a1)

View File

@@ -1,32 +1,32 @@
#include "global.h"
#include "unk_02022504.h"
void *FUN_02022504(struct SaveBlock2 *sav2)
void *FUN_02022504(struct SaveData *save)
{
return SaveArray_Get(sav2, 27);
return SaveArray_Get(save, 27);
}
struct PCStorage *GetStoragePCPointer(struct SaveBlock2 *sav2)
struct PCStorage *GetStoragePCPointer(struct SaveData *save)
{
return SaveArray_Get(sav2, 35);
return SaveArray_Get(save, 35);
}
struct UnkStruct_0202AC20 * FUN_0202251C(struct SaveBlock2 *sav2)
struct UnkStruct_0202AC20 * FUN_0202251C(struct SaveData *save)
{
return SaveArray_Get(sav2, 31);
return SaveArray_Get(save, 31);
}
void *FUN_02022528(struct SaveBlock2 *sav2)
void *FUN_02022528(struct SaveData *save)
{
return SaveArray_Get(sav2, 32);
return SaveArray_Get(save, 32);
}
u8 *LoadHallOfFame(struct SaveBlock2 *sav2, u32 heap_id, int *ret_p)
u8 *LoadHallOfFame(struct SaveData *save, u32 heap_id, int *ret_p)
{
return ReadSaveFileFromFlash(sav2, heap_id, 0, ret_p);
return ReadSaveFileFromFlash(save, heap_id, 0, ret_p);
}
s32 SaveHallOfFame(struct SaveBlock2 *sav2, u8 *data)
s32 SaveHallOfFame(struct SaveData *save, u8 *data)
{
return WriteSaveFileToFlash(sav2, 0, data);
return WriteSaveFileToFlash(save, 0, data);
}

View File

@@ -21,24 +21,24 @@ void FUN_02024E6C(struct UnkStruct_02024E64 *param0)
MI_CpuFill16(param0->unk734, EOS, sizeof(param0->unk734) / sizeof(u16));
}
struct UnkStruct_02024E64 *FUN_02024EB4(struct SaveBlock2 *sav2)
struct UnkStruct_02024E64 *FUN_02024EB4(struct SaveData *save)
{
return SaveArray_Get(sav2, 0xa);
return SaveArray_Get(save, 0xa);
}
void *FUN_02024EC0(struct SaveBlock2 *sav2)
void *FUN_02024EC0(struct SaveData *save)
{
return FUN_02022634(sav2, 0xa);
return FUN_02022634(save, 0xa);
}
struct UnkStruct_02024E64 *FUN_02024ECC(struct SaveBlock2 *sav2)
struct UnkStruct_02024E64 *FUN_02024ECC(struct SaveData *save)
{
return SaveArray_Get(sav2, 0xa);
return SaveArray_Get(save, 0xa);
}
void *FUN_02024ED8(struct SaveBlock2 *sav2)
void *FUN_02024ED8(struct SaveData *save)
{
struct UnkStruct_02024E64 *res = SaveArray_Get(sav2, 0xa);
struct UnkStruct_02024E64 *res = SaveArray_Get(save, 0xa);
return res->unk700;
}

View File

@@ -1,6 +1,6 @@
#include "global.h"
#include "string_util.h"
#include "save_block_2.h"
#include "save.h"
#include "heap.h"
#include "unk_020254B8.h"
@@ -9,9 +9,9 @@ u32 FUN_020254B8(void)
return 16 * sizeof(struct UnkStruct_020254B8);
}
struct UnkStruct_020254B8 * FUN_020254C0(struct SaveBlock2 * sav2)
struct UnkStruct_020254B8 * FUN_020254C0(struct SaveData * save)
{
return (struct UnkStruct_020254B8 *)SaveArray_Get(sav2, 9);
return (struct UnkStruct_020254B8 *)SaveArray_Get(save, 9);
}
void FUN_020254CC(struct UnkStruct_020254B8 * arr)

View File

@@ -1,5 +1,5 @@
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "MI_memory.h"
#include "string_util.h"
#include "math_util.h"
@@ -93,9 +93,9 @@ void FUN_02028810(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j)
ptr[i].unk_21 = (u8)j;
}
struct UnkSaveStruct_020286F8 * FUN_0202881C(struct SaveBlock2 * sav2)
struct UnkSaveStruct_020286F8 * FUN_0202881C(struct SaveData * save)
{
return (struct UnkSaveStruct_020286F8 *)SaveArray_Get(sav2, 17);
return (struct UnkSaveStruct_020286F8 *)SaveArray_Get(save, 17);
}
BOOL FUN_0202888C(struct UnkSaveStruct_020286F8 * ptr);

View File

@@ -189,9 +189,9 @@ void Save_GameStats_Init(struct GameStats * ptr)
MI_CpuClear32(ptr, sizeof(struct GameStats));
}
struct GameStats * Save_GameStats_Get(struct SaveBlock2 * sav2)
struct GameStats * Save_GameStats_Get(struct SaveData * save)
{
return SaveArray_Get(sav2, 20);
return SaveArray_Get(save, 20);
}
u32 GameStats_GetValue(struct GameStats * ptr, s32 a1)

View File

@@ -345,15 +345,15 @@ u32 SaveStruct23_Substruct2_GetField_0x4(struct SaveStruct23_Substruct2 *substru
}
void SaveStruct23_SetMessage(struct SaveBlock2 *sav2, u32 index, struct MailMessage *message)
void SaveStruct23_SetMessage(struct SaveData *save, u32 index, struct MailMessage *message)
{
struct SaveStruct23 *data = SaveArray_Get(sav2, 23);
struct SaveStruct23 *data = SaveArray_Get(save, 23);
MailMsg_Copy(&data->messages.messages[index], message);
}
struct MailMessage *SaveStruct23_GetMessage(struct SaveBlock2 *sav2, u32 index)
struct MailMessage *SaveStruct23_GetMessage(struct SaveData *save, u32 index)
{
struct SaveStruct23 *data = SaveArray_Get(sav2, 23);
struct SaveStruct23 *data = SaveArray_Get(save, 23);
return &data->messages.messages[index];
}
@@ -520,17 +520,17 @@ void SaveStruct23_Init(struct SaveStruct23 *saveStruct23)
SaveStruct23_Substruct4_Init(&saveStruct23->substruct4);
}
struct SaveStruct23_Substruct1 *SaveStruct23_GetSubstruct1(struct SaveBlock2* sav2)
struct SaveStruct23_Substruct1 *SaveStruct23_GetSubstruct1(struct SaveData* save)
{
return &((struct SaveStruct23 *)SaveArray_Get(sav2, 23))->substruct1;
return &((struct SaveStruct23 *)SaveArray_Get(save, 23))->substruct1;
}
struct SaveStruct23_Substruct2 *SaveStruct23_GetSubstruct2(struct SaveBlock2* sav2)
struct SaveStruct23_Substruct2 *SaveStruct23_GetSubstruct2(struct SaveData* save)
{
return &((struct SaveStruct23 *)SaveArray_Get(sav2, 23))->substruct2;
return &((struct SaveStruct23 *)SaveArray_Get(save, 23))->substruct2;
}
struct SaveStruct23_Substruct4 *SaveStruct23_GetSubstruct4(struct SaveBlock2* sav2)
struct SaveStruct23_Substruct4 *SaveStruct23_GetSubstruct4(struct SaveData* save)
{
return &((struct SaveStruct23 *)SaveArray_Get(sav2, 23))->substruct4;
return &((struct SaveStruct23 *)SaveArray_Get(save, 23))->substruct4;
}

View File

@@ -1,5 +1,5 @@
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "unk_0202A8F4.h"
u32 FUN_0202A8F4()
@@ -25,7 +25,7 @@ void FUN_0202A8F8(struct Unk0202A8F4 *unk)
unk->u_D = 0;
}
void *FUN_0202A918(struct SaveBlock2* sav2)
void *FUN_0202A918(struct SaveData* save)
{
return SaveArray_Get(sav2, 24);
return SaveArray_Get(save, 24);
}

View File

@@ -1,11 +1,11 @@
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "MI_memory.h"
#include "unk_0202ABBC.h"
void *FUN_0202ABBC(struct SaveBlock2* sav2)
void *FUN_0202ABBC(struct SaveData* save)
{
return SaveArray_Get(sav2, 26);
return SaveArray_Get(save, 26);
}
u32 FUN_0202ABC8()

View File

@@ -1,5 +1,5 @@
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "unk_0202C0E0.h"
u32 FUN_0202C0E0()
@@ -20,17 +20,17 @@ void FUN_0202C0E4(struct UnkSaveStruct0202C0E4 *unkStruct)
}
}
void FUN_0202C108(struct SaveBlock2 *sav2, u32 a1, u32 a2)
void FUN_0202C108(struct SaveData *save, u32 a1, u32 a2)
{
struct UnkSaveStruct0202C0E4 *unkSavStruct = SaveArray_Get(sav2, 33);
struct UnkSaveStruct0202C0E4 *unkSavStruct = SaveArray_Get(save, 33);
if (unkSavStruct->data[a1][a2] < 9999)
{
unkSavStruct->data[a1][a2]++;
}
}
u16 FUN_0202C12C(struct SaveBlock2 *sav2, u32 a1, u32 a2)
u16 FUN_0202C12C(struct SaveData *save, u32 a1, u32 a2)
{
struct UnkSaveStruct0202C0E4 *unkSavStruct = SaveArray_Get(sav2, 33);
struct UnkSaveStruct0202C0E4 *unkSavStruct = SaveArray_Get(save, 33);
return unkSavStruct->data[a1][a2];
}

View File

@@ -4,18 +4,18 @@
#include "unk_02029FB0.h"
#include "unk_0202C144.h"
void FUN_0202C144(struct SaveBlock2 * sav2, struct Pokemon * mon)
void FUN_0202C144(struct SaveData * save, struct Pokemon * mon)
{
u32 is_egg = GetMonData(mon, MON_DATA_IS_EGG, NULL);
if (!is_egg)
{
struct Pokedex * pokedex = Save_Pokedex_Get(sav2);
struct GameStats * unk = Save_GameStats_Get(sav2);
struct Pokedex * pokedex = Save_Pokedex_Get(save);
struct GameStats * unk = Save_GameStats_Get(save);
u32 species = GetMonData(mon, MON_DATA_SPECIES, NULL);
GameStats_IncSpeciesCaught(unk, pokedex, (u16) species);
Pokedex_SetMonCaughtFlag(pokedex, mon);
struct SavePoketch * poketch = Save_Poketch_Get(sav2);
struct SavePoketch * poketch = Save_Poketch_Get(save);
Save_Poketch_PokemonHistoryAddMon(poketch, &mon->box);
}
}

View File

@@ -36,7 +36,7 @@ extern void FUN_0202D36C(u32 param0);
extern u32 MOD04_021DDB08();
extern void FUN_02033EEC(u32 param0);
extern u32 WM_GetLinkLevel();
extern void FUN_0202DB14(struct SaveBlock2 *sav2, u32 param1);
extern void FUN_0202DB14(struct SaveData *save, u32 param1);
extern s64 _ll_mul(s64, s64);
extern void FUN_0202DBE0();
extern void FUN_0202DDE8();
@@ -51,11 +51,11 @@ extern void MOD04_021D836C();
extern u32 MOD04_021DD718(u32 *param0, u32 *param1);
extern void MOD04_021DD6F0();
extern s32 MOD04_021D76AC();
extern MOD05_021D74E0(struct SaveBlock2 *sav2, u32 param1);
extern MOD05_021D74E0(struct SaveData *save, u32 param1);
extern void MOD04_021D83A8(void (*param0)(s32));
extern void FUN_0200541C();
void FUN_02031734(struct SaveBlock2 *sav2, u8 param1)
void FUN_02031734(struct SaveData *save, u8 param1)
{
if (UNK_021C5A00 == NULL)
{
@@ -66,9 +66,9 @@ void FUN_02031734(struct SaveBlock2 *sav2, u8 param1)
UNK_021C5A00->unk3A = 0x32;
UNK_021C5A00->unk43 = 1;
UNK_021C5A00->unk28 = sav2;
UNK_021C5A00->unk28 = save;
UNK_021C5A00->unk2C = Save_PlayerData_GetProfileAddr(sav2);
UNK_021C5A00->unk2C = Save_PlayerData_GetProfileAddr(save);
UNK_021C5A00->unk3C = 2;
UNK_021C5A00->unk3D = 0;
@@ -119,12 +119,12 @@ BOOL FUN_02031810()
return FALSE;
}
void FUN_02031824(struct SaveBlock2 *sav2)
void FUN_02031824(struct SaveData *save)
{
if (UNK_021C5A00 == NULL)
{
CreateHeapAtEnd(3, 0xf, 0xe000);
FUN_02031734(sav2, 0xa);
FUN_02031734(save, 0xa);
UNK_021C5A00->unk40 = 0;
FUN_02031D20(FUN_02031D30, 0x32);
@@ -197,24 +197,24 @@ void FUN_02031934()
FUN_02031D20(FUN_02032194, 0);
}
void FUN_02031948(struct SaveBlock2 *sav2, u8 param1, u8 param2, u32 param3)
void FUN_02031948(struct SaveData *save, u8 param1, u8 param2, u32 param3)
{
if (FUN_02030F40() == 0)
{
CreateHeapAtEnd(3, 0xf, 0x7080);
FUN_02031734(sav2, param1);
FUN_02031734(save, param1);
UNK_021C5A00->unk40 = param2;
UNK_021C5A00->unk30 = param3;
FUN_02031D20(FUN_020321D0, 0);
}
}
void FUN_02031990(struct SaveBlock2 *sav2, u8 param1, u8 param2, u32 param3)
void FUN_02031990(struct SaveData *save, u8 param1, u8 param2, u32 param3)
{
if (FUN_02030F40() == 0)
{
CreateHeapAtEnd(3, 0xf, 0x7080);
FUN_02031734(sav2, param1);
FUN_02031734(save, param1);
UNK_021C5A00->unk40 = param2;
UNK_021C5A00->unk30 = param3;
FUN_02031D20(FUN_0203224C, 0);
@@ -269,7 +269,7 @@ BOOL FUN_02031A2C()
return FALSE;
}
void FUN_02031A7C(struct SaveBlock2 *sav2)
void FUN_02031A7C(struct SaveData *save)
{
if (UNK_021C5A00 == NULL)
{
@@ -278,7 +278,7 @@ void FUN_02031A7C(struct SaveBlock2 *sav2)
FUN_020335E0();
}
FUN_02031734(sav2, 9);
FUN_02031734(save, 9);
UNK_021C5A00->unk3F = 9;
UNK_021C5A00->unk40 = 0;
FUN_02031D20(FUN_02032478, 0);
@@ -402,22 +402,22 @@ void FUN_02031C64()
UNK_021C5A00->unk3F = 0x9;
}
void FUN_02031C74(struct SaveBlock2 *sav2, u8 param1)
void FUN_02031C74(struct SaveData *save, u8 param1)
{
if (FUN_02030F40() == 0)
{
CreateHeapAtEnd(3, 0xf, 0x7080);
FUN_02031734(sav2, param1);
FUN_02031734(save, param1);
FUN_02031D20(FUN_02032E00, 0);
}
}
void FUN_02031CA8(struct SaveBlock2 *sav2, u8 param1)
void FUN_02031CA8(struct SaveData *save, u8 param1)
{
if (FUN_02030F40() == 0)
{
CreateHeapAtEnd(3, 0xf, 0x7080);
FUN_02031734(sav2, param1);
FUN_02031734(save, param1);
FUN_02031D20(FUN_02032E48, 0);
}
}
@@ -1389,12 +1389,12 @@ void FUN_02032B8C()
}
}
void FUN_02032BD0(struct SaveBlock2 *sav2)
void FUN_02032BD0(struct SaveData *save)
{
if (FUN_02030F40() == 0)
{
CreateHeapAtEnd(3, 0xf, 0x7000);
FUN_02031734(sav2, 0xe);
FUN_02031734(save, 0xe);
UNK_021C5A00->unk40 = 0;
FUN_02031D20(FUN_02032B8C, 0);
}
@@ -1475,12 +1475,12 @@ void FUN_02032CF4()
}
}
void FUN_02032D44(struct SaveBlock2 *sav2)
void FUN_02032D44(struct SaveData *save)
{
if (FUN_02030F40() == 0)
{
CreateHeapAtEnd(3, 0xf, 0x7000);
FUN_02031734(sav2, 0x11);
FUN_02031734(save, 0x11);
UNK_021C5A00->unk40 = 0;
FUN_02031D20(FUN_02032CF4, 0);
}
@@ -1862,7 +1862,7 @@ u32 FUN_02033250()
return 0;
}
void FUN_02033288(struct SaveBlock2 *sav2)
void FUN_02033288(struct SaveData *save)
{
if (UNK_021C5A00 == NULL)
{
@@ -1873,7 +1873,7 @@ void FUN_02033288(struct SaveBlock2 *sav2)
UNK_021C5A00->unk3F = 0x18;
UNK_021C5A00->unk46 = 1;
UNK_021C5A00->unk28 = sav2;
UNK_021C5A00->unk28 = save;
FUN_020334E8(0, 1);
SetSoftResetDisableMask(1);
}
@@ -1891,7 +1891,7 @@ void FUN_020332DC()
}
}
void FUN_02033310(struct SaveBlock2 *sav2)
void FUN_02033310(struct SaveData *save)
{
if (UNK_021C5A00 == NULL)
{
@@ -1901,7 +1901,7 @@ void FUN_02033310(struct SaveBlock2 *sav2)
MI_CpuFill8(UNK_021C5A00, 0, sizeof(struct UnkStruct_02031734));
UNK_021C5A00->unk3F = 0x19;
UNK_021C5A00->unk46 = 1;
UNK_021C5A00->unk28 = sav2;
UNK_021C5A00->unk28 = save;
FUN_020334E8(0, 1);
SetSoftResetDisableMask(1);
}
@@ -1977,9 +1977,9 @@ void FUN_0203341C()
}
}
void *FUN_0203346C(struct SaveBlock2 *sav2, u32 param1)
void *FUN_0203346C(struct SaveData *save, u32 param1)
{
Save_PlayerData_GetProfileAddr(sav2);
Save_PlayerData_GetProfileAddr(save);
if (FUN_02030F40() != 0)
{
return 0;
@@ -1987,12 +1987,12 @@ void *FUN_0203346C(struct SaveBlock2 *sav2, u32 param1)
SetSoftResetDisableMask(1);
CreateHeapAtEnd(3, 0xf, 0x7080);
FUN_02031734(sav2, 0x17);
FUN_02031734(save, 0x17);
UNK_021C5A00->unk00 = AllocFromHeap(0xf, param1);
MI_CpuFill8(UNK_021C5A00->unk00, 0, param1);
UNK_021C5A00->unk40 = 0;
UNK_021C5A00->unk28 = sav2;
UNK_021C5A00->unk28 = save;
FUN_02031D20(FUN_0203341C, 0);
return UNK_021C5A00->unk00;

View File

@@ -2,7 +2,7 @@
#include "unk_020337E8.h"
#include "heap.h"
extern struct DWC_Struct *FUN_020286EC(struct SaveBlock2 *sav2);
extern struct DWC_Struct *FUN_020286EC(struct SaveData *save);
extern struct DWC_Struct *FUN_02028228(struct DWC_Struct *);
// DWC_init
@@ -44,8 +44,8 @@ s32 FUN_02033830(struct DWC_Struct *dwc)
return DWC_GetGsProfileId(dwc1, &token);
}
BOOL FUN_0203384C(struct SaveBlock2 *sav2)
BOOL FUN_0203384C(struct SaveData *save)
{
struct DWC_Struct * dwc = FUN_02028228(FUN_020286EC(sav2));
struct DWC_Struct * dwc = FUN_02028228(FUN_020286EC(save));
return (DWC_CheckHasProfile(dwc) && DWC_CheckValidConsole(dwc));
}

View File

@@ -8,21 +8,21 @@ extern void FUN_02029C08(void*);
extern void FUN_0202B3C4(void*, s32, u32);
extern u8 GF_RTC_GetTimeOfDayByHour(u32 hour);
extern s64 GF_RTC_DateTimeToSec(void);
extern void* FUN_02029AFC(struct SaveBlock2* sav2);
extern void* FUN_02022504(struct SaveBlock2* sav2);
extern void FUN_02025B60(struct SaveBlock2* sav2, s32, BOOL);
extern BOOL FUN_0205F668(struct SaveBlock2* sav2);
extern void FUN_0202A9D0(struct SaveBlock2* sav2, s32);
extern BOOL FUN_0205F618(struct SaveBlock2* sav2, u16);
extern void* FUN_02029AFC(struct SaveData* save);
extern void* FUN_02022504(struct SaveData* save);
extern void FUN_02025B60(struct SaveData* save, s32, BOOL);
extern BOOL FUN_0205F668(struct SaveData* save);
extern void FUN_0202A9D0(struct SaveData* save, s32);
extern BOOL FUN_0205F618(struct SaveData* save, u16);
extern void FUN_0204B3D0(struct FieldSystem*, s32);
extern void FUN_0205F5A4(struct ScriptState* state, u16);
extern s32 FUN_0205F594(struct ScriptState* state);
extern void FUN_0202A988(void*, u32);
extern void* FUN_0202A9B0(struct SaveBlock2* sav2);
extern void FUN_02060344(struct SaveBlock2* sav2, s32);
extern void* Save_Roamers_Get(struct SaveData* save);
extern void FUN_02060344(struct SaveData* save, s32);
extern void FUN_0203959C(struct FieldSystem*);
extern void FUN_02025A60(struct SaveBlock2* sav2, s32);
extern struct SaveBlock2* ScriptEnvironment_GetSavePtr(struct FieldSystem*);
extern void FUN_02025A60(struct SaveData* save, s32);
extern struct SaveData* ScriptEnvironment_GetSavePtr(struct FieldSystem*);
void FUN_0204B0F8(struct FieldSystem *fieldSystem)
{
@@ -79,15 +79,15 @@ void FUN_0204B158(struct FieldSystem *fieldSystem, struct UnkSaveStruct_0202376C
void FUN_0204B1DC(struct FieldSystem *fieldSystem, s32 a1)
{
struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(fieldSystem);
FUN_02025A60(sav2, a1);
struct SaveData* save = ScriptEnvironment_GetSavePtr(fieldSystem);
FUN_02025A60(save, a1);
FUN_0203959C(fieldSystem);
FUN_02060344(fieldSystem->saveData, a1);
void* unk_sav_ptr1 = FUN_0202881C(fieldSystem->saveData);
FUN_02028754(unk_sav_ptr1, (u32)a1);
void* unk_sav_ptr2 = FUN_0202A9B0(fieldSystem->saveData);
void* unk_sav_ptr2 = Save_Roamers_Get(fieldSystem->saveData);
unk_sav_ptr1 = FUN_0202881C(fieldSystem->saveData);
u32 unk1 = FUN_020287A4(unk_sav_ptr1);
FUN_0202A988(unk_sav_ptr2, unk1);

View File

@@ -6,7 +6,7 @@
extern OverlayManagerTemplate UNK_020F96DC;
extern OverlayManagerTemplate UNK_020FA6E8;
extern u32 FUN_02079C70(struct SaveBlock2 *sav2);
extern u32 FUN_02079C70(struct SaveData *save);
extern void FUN_0207B000(struct UnkPlayerStruct2_0205FA2C *ptr, const u8 param1[12]);
extern void FUN_0207C2A4(struct UnkPlayerStruct2_0205FA2C *ptr, struct PlayerData *player_data);
extern u32 *FUN_02038790(struct FieldSystem *fieldSystem, u16 param1, u16 param2);
@@ -14,7 +14,7 @@ extern u16 *GetVarPointer(struct FieldSystem *fieldSystem, u16);
extern u16 MOD06_02244660(struct FieldSystem *fieldSystem, u8 *param1);
extern u16 MOD06_022446BC(struct FieldSystem *fieldSystem, u8 *param1);
extern u16 MOD06_022446E0(struct FieldSystem *fieldSystem, u8 *param1);
extern u32 FUN_02026CC4(struct SaveBlock2 *sav2);
extern u32 FUN_02026CC4(struct SaveData *save);
extern u32 FUN_02025D94(u32 param0, u32 param1);
const u8 UNK_020F7454[] = {
@@ -35,14 +35,14 @@ u32 FUN_0205FA2C(
struct UnkPlayerStruct1_0205FA2C *ptr = (struct UnkPlayerStruct1_0205FA2C *)AllocFromHeapAtEnd(
heap_id, sizeof(struct UnkPlayerStruct1_0205FA2C));
struct SaveBlock2 *sav2 = fieldSystem->saveData;
struct SaveData *save = fieldSystem->saveData;
MI_CpuFill8(ptr, 0, sizeof(struct UnkPlayerStruct1_0205FA2C));
ptr->options = Save_PlayerData_GetOptionsAddr(sav2);
ptr->options = Save_PlayerData_GetOptionsAddr(save);
ptr->player_party = SaveArray_PlayerParty_Get(sav2);
ptr->player_party = SaveArray_PlayerParty_Get(save);
ptr->bag = Save_Bag_Get(sav2);
ptr->bag = Save_Bag_Get(save);
ptr->unk21 = 0;
ptr->unk20 = param0->unk08;
@@ -101,16 +101,16 @@ u32 FUN_0205FAD8(
u32 FUN_0205FB34(
struct UnkCallbackStruct1_0205FA2C *param0, struct FieldSystem *fieldSystem, u32 heap_id)
{
struct SaveBlock2 *sav2 = fieldSystem->saveData;
struct SaveData *save = fieldSystem->saveData;
struct UnkPlayerStruct2_0205FA2C *ptr = (struct UnkPlayerStruct2_0205FA2C *)AllocFromHeapAtEnd(
heap_id, sizeof(struct UnkPlayerStruct2_0205FA2C));
MI_CpuFill8(ptr, 0, sizeof(struct UnkPlayerStruct2_0205FA2C));
ptr->options = Save_PlayerData_GetOptionsAddr(sav2);
ptr->player_party = SaveArray_PlayerParty_Get(sav2);
ptr->IsNatDex = SaveArray_IsNatDexEnabled(sav2);
ptr->unk2c = FUN_02079C70(sav2);
ptr->options = Save_PlayerData_GetOptionsAddr(save);
ptr->player_party = SaveArray_PlayerParty_Get(save);
ptr->IsNatDex = SaveArray_IsNatDexEnabled(save);
ptr->unk2c = FUN_02079C70(save);
ptr->unk11 = 1;
ptr->unk14 = param0->unk0d;
@@ -120,11 +120,11 @@ u32 FUN_0205FB34(
ptr->unk18 = 0;
ptr->unk12 = param0->unk09;
ptr->unk20 = FUN_0202A918(sav2);
ptr->unk20 = FUN_0202A918(save);
FUN_0207B000(ptr, UNK_020F7454);
FUN_0207C2A4(ptr, Save_PlayerData_GetProfileAddr(sav2));
FUN_0207C2A4(ptr, Save_PlayerData_GetProfileAddr(save));
FUN_020373D4(fieldSystem, &UNK_020FA6E8, ptr);
@@ -312,16 +312,16 @@ void FUN_0205FDDC(struct TaskManager *taskManager, u16 param1, u16 param2)
FUN_0204640C(fieldSystem->taskManager, &FUN_0205FD70, (u32 *)ptr);
}
u32 FUN_0205FE10(struct SaveBlock2 *sav2)
u32 FUN_0205FE10(struct SaveData *save)
{
u16 res = (u16) GameStats_GetCapped(Save_GameStats_Get(sav2), 0x35);
u16 res = (u16) GameStats_GetCapped(Save_GameStats_Get(save), 0x35);
if (res < 20)
{
return 0;
}
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(sav2);
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(save);
BOOL flagD = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xd, DATA_GET);
BOOL flag0 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0, DATA_GET);
@@ -336,7 +336,7 @@ u32 FUN_0205FE10(struct SaveBlock2 *sav2)
return 0;
}
u32 res9 = FUN_02026CC4(sav2);
u32 res9 = FUN_02026CC4(save);
if (!flagD)
{
if (FUN_02025D94(res9, 0x55) != 0)
@@ -393,15 +393,15 @@ u32 FUN_0205FE10(struct SaveBlock2 *sav2)
return 4;
}
u32 FUN_0205FF5C(struct SaveBlock2 *sav2)
u32 FUN_0205FF5C(struct SaveData *save)
{
u16 res = (u16) GameStats_GetCapped(Save_GameStats_Get(sav2), 0x35);
u16 res = (u16) GameStats_GetCapped(Save_GameStats_Get(save), 0x35);
if (res < 20)
{
return 0;
}
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(sav2);
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(save);
BOOL flagD = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xd, DATA_GET);
BOOL flag0 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0, DATA_GET);
@@ -478,34 +478,34 @@ u32 FUN_02060070(u32 param0)
return param0 * 0x5D588B65 + 1;
}
u32 FUN_0206007C(struct SaveBlock2 *sav2)
u32 FUN_0206007C(struct SaveData *save)
{
u32 res = FUN_02060070(FUN_020287A4(FUN_0202881C(sav2)));
u32 res = FUN_02060070(FUN_020287A4(FUN_0202881C(save)));
SaveStruct23_Substruct2_SetField_0x4(SaveStruct23_GetSubstruct2(sav2), res);
SaveStruct23_Substruct2_SetField_0x4(SaveStruct23_GetSubstruct2(save), res);
return res;
}
u32 FUN_020600A0(struct SaveBlock2 *sav2)
u32 FUN_020600A0(struct SaveData *save)
{
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(sav2);
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(save);
u32 res2 = FUN_02060070(SaveStruct23_Substruct2_GetField_0x4(saveStruct23_substruct2));
SaveStruct23_Substruct2_SetField_0x4(saveStruct23_substruct2, res2);
u32 res3 = FUN_02060064(res2);
SaveStruct23_Substruct1_SetField(SaveStruct23_GetSubstruct1(sav2), FIELD_0x28, &res3);
SaveStruct23_Substruct1_SetField(SaveStruct23_GetSubstruct1(save), FIELD_0x28, &res3);
return res3;
}
u32 FUN_020600DC(struct SaveBlock2 *sav2)
u32 FUN_020600DC(struct SaveData *save)
{
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(sav2);
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(save);
struct SaveStruct23_Substruct1 *saveStruct23_substruct1 = SaveStruct23_GetSubstruct1(sav2);
struct SaveStruct23_Substruct1 *saveStruct23_substruct1 = SaveStruct23_GetSubstruct1(save);
u32 res3 = FUN_02060064(SaveStruct23_Substruct2_GetField_0x4(saveStruct23_substruct2));
@@ -517,7 +517,7 @@ u32 FUN_020600DC(struct SaveBlock2 *sav2)
res3 = FUN_02060064(res3);
}
SaveStruct23_Substruct1_SetField(SaveStruct23_GetSubstruct1(sav2), FIELD_0x28, &res3);
SaveStruct23_Substruct1_SetField(SaveStruct23_GetSubstruct1(save), FIELD_0x28, &res3);
return res3;
}

View File

@@ -1,13 +1,13 @@
#include "global.h"
#include "heap.h"
#include "party.h"
#include "save_block_2.h"
#include "save.h"
#include "unk_0206439C.h"
struct UnkStruct_0206439C* FUN_0206439C(u32 heap_id, u8 mon_idx, struct SaveBlock2* sav2)
struct UnkStruct_0206439C* FUN_0206439C(u32 heap_id, u8 mon_idx, struct SaveData* save)
{
struct UnkStruct_0206439C* ret = AllocFromHeapAtEnd(heap_id, sizeof(struct UnkStruct_0206439C));
struct PlayerParty* party = SaveArray_PlayerParty_Get(sav2);
struct PlayerParty* party = SaveArray_PlayerParty_Get(save);
ret->pokemon = GetPartyMonByIndex(party, mon_idx);
ret->unk4 = NULL;

View File

@@ -1,12 +1,12 @@
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "pokedex.h"
#include "pokemon.h"
#include "unk_0206BB28.h"
BOOL SaveArray_IsNatDexEnabled(struct SaveBlock2 * sav2)
BOOL SaveArray_IsNatDexEnabled(struct SaveData * save)
{
return Pokedex_IsNatDexEnabled(Save_Pokedex_Get(sav2));
return Pokedex_IsNatDexEnabled(Save_Pokedex_Get(save));
}
BOOL Pokedex_IsNatDexEnabled(struct Pokedex * pokedex)

View File

@@ -5,18 +5,18 @@
extern BOOL FUN_0205ED0C(struct ScriptState * state);
struct UnkStruct_02085338 * FUN_02085338(u8 r5, u8 r7, struct SaveBlock2 * sav2, u32 heap_id)
struct UnkStruct_02085338 * FUN_02085338(u8 r5, u8 r7, struct SaveData * save, u32 heap_id)
{
struct UnkStruct_02085338 * ret = (struct UnkStruct_02085338 *) AllocFromHeap(heap_id, sizeof(struct UnkStruct_02085338));
ret->unk_00 = r5;
ret->unk_01 = r7;
ret->unk_0c = Save_Pokedex_Get(sav2);
ret->unk_10 = FUN_02013B5C(sav2);
ret->unk_04 = (u8)FUN_0205ED0C(SaveArray_Flags_Get(sav2));
ret->unk_0c = Save_Pokedex_Get(save);
ret->unk_10 = FUN_02013B5C(save);
ret->unk_04 = (u8)FUN_0205ED0C(SaveArray_Flags_Get(save));
ret->unk_05 = 0;
ret->unk_02 = 1;
ret->unk_03 = 0;
ret->unk_08 = Options_GetFrame(Save_PlayerData_GetOptionsAddr(sav2));
ret->unk_08 = Options_GetFrame(Save_PlayerData_GetOptionsAddr(save));
if (r5 == 2)
{
MailMsg_Init_WithBank(&ret->unk_14, 3);

View File

@@ -7,8 +7,8 @@
#include "player_data.h"
#include "poke_overlay.h"
extern struct SaveBlock2* ScriptEnvironment_GetSavePtr(struct FieldSystem *);
extern u32 FUN_02028048(struct SaveBlock2* sav2);
extern struct SaveData* ScriptEnvironment_GetSavePtr(struct FieldSystem *);
extern u32 FUN_02028048(struct SaveData* save);
extern void FUN_020373D4(struct FieldSystem *, struct OverlayManagerTemplate *, void*);
extern BOOL FUN_020889B0(struct OverlayManager *, u32*);
extern BOOL FUN_02088A00(struct OverlayManager *, u32*);
@@ -21,16 +21,16 @@ const struct OverlayManagerTemplate UNK_020FD6E4 = {
SDK_OVERLAY_INVALID_ID,
};
struct PoffinCaseAppData* FUN_0208890C(u32 a0, struct SaveBlock2* sav2, u32 heap_id, u32 *a3)
struct PoffinCaseAppData* FUN_0208890C(u32 a0, struct SaveData* save, u32 heap_id, u32 *a3)
{
struct PoffinCaseAppData* ret = AllocFromHeap(heap_id, sizeof(struct PoffinCaseAppData));
MI_CpuFill8(ret, 0, sizeof(struct PoffinCaseAppData));
ret->sav2 = sav2;
ret->unk8 = FUN_02028048(sav2);
ret->player = Save_PlayerData_GetProfileAddr(sav2);
ret->bag = Save_Bag_Get(sav2);
ret->options = Save_PlayerData_GetOptionsAddr(sav2);
ret->save = save;
ret->unk8 = FUN_02028048(save);
ret->player = Save_PlayerData_GetProfileAddr(save);
ret->bag = Save_Bag_Get(save);
ret->options = Save_PlayerData_GetOptionsAddr(save);
ret->unk1C = a3;
ret->unk4 = a0;
@@ -44,8 +44,8 @@ void FUN_02088950(struct FieldSystem *fieldSystem, struct PoffinCaseAppData *par
struct PoffinCaseAppData* FUN_02088960(struct FieldSystem *fieldSystem, u32 a1, u32 heap_id)
{
struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(fieldSystem);
struct PoffinCaseAppData* ret = FUN_0208890C(a1, sav2, heap_id, fieldSystem->unk98);
struct SaveData* save = ScriptEnvironment_GetSavePtr(fieldSystem);
struct PoffinCaseAppData* ret = FUN_0208890C(a1, save, heap_id, fieldSystem->unk98);
FUN_02088950(fieldSystem, ret);

View File

@@ -91,7 +91,7 @@ u32 FUN_02088B4C(struct UnkStruct_02088AAC *r0)
};
struct BagView *bag_view = CreateBagView(r0->poffinCaseAppData->bag, UNK_020FD6F4, r0->heap_id);
FUN_0206E314(bag_view, r0->poffinCaseAppData->sav2, (u8)((u8)r0->unk06 == 1 ? 5 : 4), r0->unk0C);
FUN_0206E314(bag_view, r0->poffinCaseAppData->save, (u8)((u8)r0->unk06 == 1 ? 5 : 4), r0->unk0C);
r0->ovly_data = OverlayManager_New(&OVERLAY_75_MANAGER, (s32 *)bag_view, r0->heap_id);
r0->ovly_param = bag_view;

View File

@@ -3,7 +3,7 @@
#include "bag_view.h"
#include "itemtool.h"
#include "save_block_2.h"
#include "save.h"
struct Bag
{
@@ -55,7 +55,7 @@ void PocketCompaction(struct ItemSlot * slots, u32 count);
void SortPocket(struct ItemSlot * slots, u32 count);
struct BagView * CreateBagView(struct Bag * bag, const u8 * pockets, u32 heap_id);
struct ItemSlot * Bag_GetPocketSlotN(struct Bag * bag, u32 pocket, u32 slot);
struct Bag * Save_Bag_Get(struct SaveBlock2 * sav2);
struct Bag * Save_Bag_Get(struct SaveData * save);
struct UnkStruct_0206F164 * FUN_0206F164(u32 heap_id);
void FUN_0206F17C(struct UnkStruct_0206F164 * a0, u32 a1, u8 * a2, u8 * a3);
u16 FUN_0206F18C(struct UnkStruct_0206F164 * a0);

View File

@@ -2,7 +2,7 @@
#define POKEDIAMOND_BAG_VIEW_H
#include "player_data.h"
#include "save_block_2.h"
#include "save.h"
struct UnkStruct_0206F164;
@@ -16,7 +16,7 @@ struct BagView_UnkSub
struct BagView
{
struct SaveBlock2 *sav2;
struct SaveData *save;
struct BagView_UnkSub slots[8];
u8 padding;
u8 unk65;
@@ -35,7 +35,7 @@ struct BagView *BagView_New(u8 heap_id);
u32 BagView_sizeof();
void FUN_0206E30C(struct BagView *bag_view, u8 r1);
void FUN_0206E314(
struct BagView *bag_view, struct SaveBlock2 *sav2, u8 r2, struct UnkStruct_0206F164 *r3);
struct BagView *bag_view, struct SaveData *save, u8 r2, struct UnkStruct_0206F164 *r3);
void BagView_SetItem(struct BagView *bag_view, struct ItemSlot *slot, u8 pocket, u8 idx);
void FUN_0206E340(struct BagView *bag_view);
void FUN_0206E354(struct BagView *bag_view, u32 r1);
@@ -45,10 +45,10 @@ u16 FUN_0206E37C(struct BagView *bag_view);
u16 FUN_0206E384(struct BagView *bag_view);
u8 FUN_0206E38C(struct BagView *bag_view);
u8 FUN_0206E394(struct BagView *bag_view);
u32 FUN_0206E3C8(struct SaveBlock2 *sav2);
u32 FUN_0206E3D8(struct SaveBlock2 *sav2);
u32 FUN_0206E3E8(struct SaveBlock2 *sav2);
BOOL TryFormatRegisteredKeyItemUseMessage(struct SaveBlock2 *sav2, struct String *dest, u32 item_id, u32 heap_id);
u32 FUN_0206E3C8(struct SaveData *save);
u32 FUN_0206E3D8(struct SaveData *save);
u32 FUN_0206E3E8(struct SaveData *save);
BOOL TryFormatRegisteredKeyItemUseMessage(struct SaveData *save, struct String *dest, u32 item_id, u32 heap_id);
void FUN_0206E51C(struct PlayerData *playerData, struct String *dest, u32 r2, u32 r3, u32 heap_id);
#endif // POKEDIAMOND_BAG_VIEW_H

View File

@@ -0,0 +1,9 @@
#ifndef POKEDIAMOND_CONSTANTS_SAVE_ARRAYS_H
#define POKEDIAMOND_CONSTANTS_SAVE_ARRAYS_H
#define SAVE_BLOCK_NUM 36
#define SAVE_PAGE_MAX 32
#define SAVE_SECTOR_SIZE 0x1000
#endif //POKEDIAMOND_CONSTANTS_SAVE_ARRAYS_H

View File

@@ -43,6 +43,6 @@ BOOL Save_DayCare_MasudaCheck(struct DayCare * daycare);
void DayCareMon_Copy(struct DayCareMon * dest, const struct DayCareMon * src);
void DayCareMon_Extras_Init(struct DayCareMail * mail);
void DayCareMon_Init(struct DayCareMon * mon);
struct DayCare * Save_DayCare_Get(struct SaveBlock2 * sav2);
struct DayCare * Save_DayCare_Get(struct SaveData * save);
#endif //POKEDIAMOND_DAYCARE_H

View File

@@ -1,7 +1,7 @@
#ifndef GUARD_SCRIPT_STATE_H
#define GUARD_SCRIPT_STATE_H
#include "save_block_2.h"
#include "save.h"
struct ScriptState //todo this is not a very good name
{
@@ -11,7 +11,7 @@ struct ScriptState //todo this is not a very good name
u32 SaveArray_Flags_sizeof(void);
void SaveArray_Flags_Init(struct ScriptState * state);
struct ScriptState * SaveArray_Flags_Get(struct SaveBlock2 * sav2);
struct ScriptState * SaveArray_Flags_Get(struct SaveData * save);
BOOL CheckFlagInArray(struct ScriptState * state, u16 flag_id);
void SetFlagInArray(struct ScriptState * state, u16 flag_id);
void ClearFlagInArray(struct ScriptState * state, u16 flag_id);

View File

@@ -1,7 +1,7 @@
#ifndef POKEDIAMOND_SEALS_H
#define POKEDIAMOND_SEALS_H
#include "save_block_2.h"
#include "save.h"
#include "mail_message.h"
union MailPatternData
@@ -32,7 +32,7 @@ void Mail_Init(struct Mail * mail);
BOOL Mail_TypeIsValid(struct Mail * mail);
struct Mail * Mail_New(u32 heap_id);
void Mail_Copy(const struct Mail * src, struct Mail * dest);
void Mail_SetNewMessageDetails(struct Mail * mail, u8 type, u8 monIdx, struct SaveBlock2 * sav2);
void Mail_SetNewMessageDetails(struct Mail * mail, u8 type, u8 monIdx, struct SaveData * save);
u32 Mail_GetOTID(struct Mail * mail);
u16 * Mail_GetAuthorNamePtr(struct Mail * mail);
u8 Mail_GetAuthorGender(struct Mail * mail);
@@ -43,7 +43,7 @@ u8 Mail_GetVersion(struct Mail * mail);
u16 Mail_GetAttrFromUnk18Array(struct Mail * mail, u32 idx, u32 attr);
struct MailMessage * Mail_GetUnk20Array(struct Mail * mail, u32 idx);
void Mail_CopyToUnk20Array(struct Mail * mail, const struct MailMessage * src, u32 idx);
struct Mail * Save_Mailbox_Get(struct SaveBlock2 * sav2);
struct Mail * Save_Mailbox_Get(struct SaveData * save);
u32 Save_Mailbox_sizeof(void);
void Save_Mailbox_Init(struct Mail * mail);
s32 Mailbox_GetFirstEmptySlotIdx(struct Mail * mail, BOOL r1);

View File

@@ -4,7 +4,7 @@
#include "FS_overlay.h"
#include "SPI_pm.h"
#include "overlay_manager.h"
#include "save_block_2.h"
#include "save.h"
struct Unk21C4818
{
@@ -82,7 +82,7 @@ struct UnkStruct_02016FA8
const struct OverlayManagerTemplate *template;
s32 unk10;
s32 unk14;
struct SaveBlock2 *save;
struct SaveData *save;
};

View File

@@ -47,8 +47,8 @@ void MessageFormat_InitFields(MessageFormatFields *fields);
void SetStringAsPlaceholder(MessageFormat *messageFormat, u32 idx, struct String * str, MessageFormatAttrs *attrs);
void BufferString(MessageFormat *messageFormat, u32 idx, struct String * str, u32 a3, u32 a4, u32 a5);
void BufferPlayersName(MessageFormat *messageFormat, u32 idx, struct PlayerData * data);
void BufferRivalsName(MessageFormat *messageFormat, u32 idx, struct SaveBlock2 * sav2);
void BufferFriendsName(MessageFormat *messageFormat, u32 idx, struct SaveBlock2 * sav2);
void BufferRivalsName(MessageFormat *messageFormat, u32 idx, struct SaveData * save);
void BufferFriendsName(MessageFormat *messageFormat, u32 idx, struct SaveData * save);
void BufferBoxMonSpeciesName(MessageFormat *messageFormat, u32 idx, struct BoxPokemon * mon);
void BufferBoxMonSpeciesNameWithArticle(MessageFormat *messageFormat, u32 idx, struct BoxPokemon * mon);
void BufferSpeciesNameWithArticle(MessageFormat *messageFormat, u32 idx, u32 species);
@@ -99,7 +99,7 @@ void BufferPoffinName(MessageFormat *messageFormat, u32 idx, u32 poffin);
void BufferFashionName(MessageFormat *messageFormat, u32 idx, u32 fashion);
void BufferFashionNameWithArticle(MessageFormat *messageFormat, u32 idx, u32 fashion);
void BufferContestBackgroundName(MessageFormat *messageFormat, u32 idx, u32 bg);
void BufferGroupName(MessageFormat *messageFormat, struct SaveBlock2 * sav2, u32 r5, u32 idx, u32 sp28);
void BufferGroupName(MessageFormat *messageFormat, struct SaveData * save, u32 r5, u32 idx, u32 sp28);
void BufferMonthNameAbbr(MessageFormat *messageFormat, u32 idx, u32 month);
void MessageFormat_UpperFirstChar(MessageFormat *messageFormat, u32 idx);
void StringExpandPlaceholders(MessageFormat *messageFormat, struct String * dest, struct String * src);

View File

@@ -1,7 +1,7 @@
#ifndef POKEDIAMOND_OPTIONS_H
#define POKEDIAMOND_OPTIONS_H
struct SaveBlock2;
struct SaveData;
struct Options {
u16 textSpeed:4;
@@ -15,7 +15,7 @@ struct Options {
struct Options * Options_New(u32 heap_id);
void Options_Copy(struct Options * src, struct Options * dest);
void Options_Init(struct Options * options);
void Options_SetButtonModeOnMain(struct SaveBlock2 * sav2, u32 buttonMode);
void Options_SetButtonModeOnMain(struct SaveData * save, u32 buttonMode);
u16 Options_GetTextSpeed(struct Options * options);
void Options_SetTextSpeed(struct Options * options, u16 textSpeed);
u32 Options_GetTextFrameDelay(struct Options * options);

View File

@@ -20,7 +20,7 @@ struct OverlayManager
u32 overlayStatus;
s32 * unk18; //args?
void * data;
struct SaveBlock2 *save;
struct SaveData *save;
u32 unk24;
};

View File

@@ -2,7 +2,7 @@
#define POKEDIAMOND_PARTY_H
#include "pokemon.h"
#include "save_block_2.h"
#include "save.h"
BOOL PartyHasMon(struct PlayerParty * party_p, u16 species);
int GetPartyCount(struct PlayerParty * party_p);
@@ -16,6 +16,6 @@ BOOL RemoveMonFromParty(struct PlayerParty * party, int pos);
void ReplacePartySlotWithMon(struct PlayerParty * party, int pos, struct Pokemon * pokemon);
BOOL SwapSlotsInParty(struct PlayerParty * party, int pos1, int pos2);
void CopyPlayerParty(struct PlayerParty * src, struct PlayerParty * dest);
struct PlayerParty * SaveArray_PlayerParty_Get(struct SaveBlock2 * ptr);
struct PlayerParty * SaveArray_PlayerParty_Get(struct SaveData * ptr);
#endif //POKEDIAMOND_PARTY_H

View File

@@ -5,7 +5,7 @@
#include "igt.h"
#include "string16.h"
struct SaveBlock2;
struct SaveData;
#define MAX_MONEY 999999
@@ -43,10 +43,10 @@ struct PlayerDataSav
u32 Save_PlayerData_sizeof(void);
void Save_PlayerData_Init(struct PlayerDataSav * pds);
struct PlayerData * Save_PlayerData_GetProfileAddr(struct SaveBlock2 * sav2);
struct Options * Save_PlayerData_GetOptionsAddr(struct SaveBlock2 * sav2);
u16 * Save_PlayerData_GetCoinsAddr(struct SaveBlock2 * sav2);
struct IGT * Save_PlayerData_GetIGTAddr(struct SaveBlock2 * sav2);
struct PlayerData * Save_PlayerData_GetProfileAddr(struct SaveData * save);
struct Options * Save_PlayerData_GetOptionsAddr(struct SaveData * save);
u16 * Save_PlayerData_GetCoinsAddr(struct SaveData * save);
struct IGT * Save_PlayerData_GetIGTAddr(struct SaveData * save);
u32 PlayerProfile_sizeof(void);
struct PlayerData * PlayerProfile_New(u32 heap_id);
void PlayerProfile_Copy(const struct PlayerData * src, struct PlayerData * dest);

View File

@@ -3,7 +3,7 @@
#include "global.h"
#include "pokemon.h"
#include "save_block_2.h"
#include "save.h"
struct Pokedex
{
@@ -82,7 +82,7 @@ void FUN_02024D4C(struct Pokedex * pokedex);
BOOL FUN_02024D58(struct Pokedex * pokedex);
BOOL Pokedex_GetSinnohDexFlag(struct Pokedex * pokedex);
void Pokedex_SetSinnohDexFlag(struct Pokedex * pokedex);
struct Pokedex * Save_Pokedex_Get(struct SaveBlock2 * sav2);
struct Pokedex * Save_Pokedex_Get(struct SaveData * save);
s32 Pokedex_GetSeenMonForme(struct Pokedex * pokedex, s32 a1, u32 a2);
#endif //POKEDIAMOND_POKEDEX_H

View File

@@ -1,7 +1,7 @@
#ifndef POKEDIAMOND_POKETCH_H
#define POKEDIAMOND_POKETCH_H
#include "save_block_2.h"
#include "save.h"
#define DOT_ARTIST_SIZE (480 / 4) // 2bpp
@@ -90,6 +90,6 @@ void Save_Poketch_DotArtistSetDrawingAndEnable(struct SavePoketch * poketch, voi
void Save_Poketch_PokemonHistoryAddMon(struct SavePoketch * poketch, struct BoxPokemon * mon);
int Save_Poketch_PokemonHistoryGetFirstEmptySlot(struct SavePoketch * poketch);
void Save_Poketch_PokemonHistoryGetSlotN(struct SavePoketch * poketch, s32 i, u32 * species_p, u32 * forme_p);
struct SavePoketch * Save_Poketch_Get(struct SaveBlock2 * sav2);
struct SavePoketch * Save_Poketch_Get(struct SaveData * save);
#endif //POKEDIAMOND_POKETCH_H

View File

@@ -1,7 +1,7 @@
#ifndef POKEDIAMOND_SAV_CHATOT_H
#define POKEDIAMOND_SAV_CHATOT_H
#include "save_block_2.h"
#include "save.h"
struct SaveChatotSoundClip
{
@@ -13,7 +13,7 @@ struct SaveChatotSoundClip
u32 Save_Chatot_sizeof(void);
void Save_Chatot_Init(struct SaveChatotSoundClip * chatot);
struct SaveChatotSoundClip * Chatot_New(u32 heap_id);
struct SaveChatotSoundClip * Save_Chatot_Get(struct SaveBlock2 * sav2);
struct SaveChatotSoundClip * Save_Chatot_Get(struct SaveData * save);
BOOL Chatot_Exists(struct SaveChatotSoundClip * chatot);
void Chatot_Invalidate(struct SaveChatotSoundClip * chatot);
s8 * Chatot_GetData(struct SaveChatotSoundClip * chatot);

View File

@@ -3,7 +3,7 @@
#include "RTC_api.h"
struct SaveBlock2;
struct SaveData;
struct UnkSaveStruct_0202376C_sub
{
@@ -31,8 +31,8 @@ struct SavSysInfo
u32 Save_SysInfo_sizeof(void);
void Save_SysInfo_Init(struct SavSysInfo * unk);
struct SavSysInfo * Save_SysInfo_Get(struct SaveBlock2 * sav2);
struct UnkSaveStruct_0202376C_sub * Save_SysInfo_RTC_Get(struct SaveBlock2 * sav2);
struct SavSysInfo * Save_SysInfo_Get(struct SaveData * save);
struct UnkSaveStruct_0202376C_sub * Save_SysInfo_RTC_Get(struct SaveData * save);
void Save_SysInfo_InitFromSystem(struct SavSysInfo * unk);
BOOL Save_SysInfo_MacAddressIsMine(struct SavSysInfo * unk);
BOOL Save_SysInfo_RTCOffsetIsMine(struct SavSysInfo * unk);

158
include/save.h Normal file
View File

@@ -0,0 +1,158 @@
#ifndef POKEDIAMOND_SAVE_H
#define POKEDIAMOND_SAVE_H
#include "MATH_crc.h"
#include "constants/save_arrays.h"
struct SaveArrayHeader
{
int id;
u32 size;
u32 offset;
u16 crc;
u16 slot;
};
struct SaveArrayFooter
{
u32 magic;
u32 saveno;
u32 size;
u16 idx;
u16 crc;
};
struct SaveChunkFooter
{
u32 unk_0;
u32 offset;
u32 size;
u32 magic;
u8 unk_10;
u8 padding_11;
u16 crc;
};
struct SaveSlotSpec {
u8 id;
u8 firstPage;
u8 numPages;
u8 padding_3;
u32 offset;
u32 size;
};
struct AsyncWriteManager
{
int rollbackCounter;
int unk_4;
int curSector;
int numSectors;
int lockId;
u32 state;
u32 count;
u32 unk_1C[2]; //differes from HG
};
struct UnkStruct_0202288C
{
BOOL unk_0;
u32 offset;
u32 size;
};
struct SaveData
{
/* 0x00000 */ BOOL flashOkay;
/* 0x00004 */ int unk_00004;
/* 0x00008 */ int unk_00008;
/* 0x0000C */ int largeSectorChanged;
/* 0x00010 */ int unk_00010;
/* 0x00014 */ struct MATHCRC16Table crcTable;
/* 0x00214 */ u8 dynamic_region[SAVE_PAGE_MAX * SAVE_SECTOR_SIZE];
/* 0x20214 */ u32 unk_20214;
/* 0x20218 */ u32 unk_20218[2];
/* 0x20220 */ u8 unk_20220[2];
/* 0x20222 */ u8 filler_20222[2];
/* 0x20224 */ struct SaveArrayHeader arrayHeaders[SAVE_BLOCK_NUM];
/* 0x20464 */ struct SaveSlotSpec saveSlotSpecs[2];
/* 0x2047C */ struct AsyncWriteManager asyncWriteMan;
/* 0x204A0 */ u32 unk_204A0;
/* 0x204A4 */ u32 unk_204A4;
}; // size: 0x204A8
typedef u32 (*SAVSIZEFN)(void);
typedef void (*SAVINITFN)(void *);
struct SaveChunkHeader
{
int id;
int linkedId;
SAVSIZEFN sizeFunc;
SAVINITFN initFunc;
};
extern const struct SaveChunkHeader UNK_020EE6E0[];
extern const struct SaveChunkHeader UNK_020EE700[];
extern const int UNK_020EE6DC;
extern const int UNK_020EE6D8;
struct SaveData * SaveData_New(void);
struct SaveData * FUN_020225F8(void);
void * SaveArray_Get(struct SaveData * save, int idx);
void * FUN_02022634(struct SaveData * save, int idx);
BOOL FUN_0202263C(struct SaveData * save);
BOOL FUN_020226FC(struct SaveData * save);
int FUN_02022720(struct SaveData * save);
void FUN_020227A0(struct SaveData * save, int a1);
void Save_InitDynamicRegion(struct SaveData * save);
int FUN_020227FC(struct SaveData * save);
int FUN_02022800(struct SaveData * save);
int FUN_02022804(struct SaveData * save);
int FUN_02022808(struct SaveData * save);
BOOL FUN_0202280C(struct SaveData * save);
int SaveGetDirtyBit(struct SaveData * save);
void SaveSetDirtyBit(void);
void FUN_02022840(struct SaveData * save, int a1);
int FUN_02022854(struct SaveData * save);
void FUN_0202287C(struct SaveData * save);
void FUN_0202288C(struct UnkStruct_0202288C * header);
u16 FUN_02022898(struct SaveData * save, void * data, u32 size);
u32 GetChunkOffsetFromCurrentSaveSlot(u32 slot, struct SaveSlotSpec * header);
struct SaveChunkFooter * FUN_020228B8(struct SaveData * save, u8 * offset, int idx);
BOOL FUN_020228E0(struct SaveData * save, void * data, int idx);
void FUN_0202293C(struct UnkStruct_0202288C * r5, struct SaveData * save, void * data, int idx);
void FUN_02022968(struct SaveData * save, void * data, int idx);
int FUN_020229B8(u32 x, u32 y);
int FUN_020229F0(struct UnkStruct_0202288C * r7, struct UnkStruct_0202288C * r6, u32 * r5, u32 * r4);
void FUN_02022AA0(struct SaveData * save, struct UnkStruct_0202288C * a1, struct UnkStruct_0202288C * a2, u32 a3, u32 a4);
int FUN_02022AD8(struct SaveData * save);
BOOL FlashLoadChunkIntoDynamicRegionFromHeader(u32 slot, struct SaveSlotSpec * header, u8 * dest);
BOOL Save_LoadDynamicRegion(struct SaveData * save);
int FUN_02022D54(struct SaveData * save, int chunk, u8 slot);
int FUN_02022D94(struct SaveData * save, int chunk, u8 slot);
int FUN_02022DC8(struct SaveData * save, int chunk, u8 slot);
void FUN_02022DFC(struct SaveData * save, struct AsyncWriteManager * a1, int a2);
int FUN_02022E78(struct SaveData * save, struct AsyncWriteManager * a1);
void FUN_02022F80(struct SaveData * save, struct AsyncWriteManager * a1, int a2);
void FUN_02022FF0(struct SaveData * save, struct AsyncWriteManager * a1);
int FUN_02023044(struct SaveData * save);
int FlashClobberChunkFooter(struct SaveData * save, int x, u32 y);
u32 SaveArray_sizeof(int idx);
void SaveData_InitSubstructs(struct SaveArrayHeader * headers);
void FUN_02023160(struct SaveSlotSpec * spec, struct SaveArrayHeader * headers);
void Save_InitDynamicRegion_Internal(u8 * dynamic_region, struct SaveArrayHeader * headers);
void CreateChunkFooter(struct SaveData * save, u8 * data, int id, u32 size);
BOOL ValidateChunk(struct SaveData * save, u8 * data, int id, u32 size);
u32 FUN_020232B4(u8 * data, u32 size);
int WriteSaveFileToFlash(struct SaveData * save, int idx, u8 * data);
u8 * ReadSaveFileFromFlash(struct SaveData * save, u32 heap_id, int idx, int * ret_p);
BOOL SaveDetectFlash(void);
int FlashWriteChunk(u32 offset, u8 * data, u32 size);
BOOL FlashLoadChunk(u32 src, void * dest, u32 size);
void FlashWriteCommandCallback(void * arg);
int FlashWriteChunkInternal(u32 dest, void * src, u32 size);
BOOL WaitFlashWrite(int lock, BOOL * res);
void SaveErrorHandling(int lock, u32 errno);
#endif //POKEDIAMOND_SAVE_H

View File

@@ -1,157 +0,0 @@
#ifndef POKEDIAMOND_SAVE_BLOCK_2_H
#define POKEDIAMOND_SAVE_BLOCK_2_H
#include "MATH_crc.h"
struct SaveArrayHeader
{
int id;
u32 size;
u32 offset;
u16 field_C;
u16 field_E;
};
struct SaveArrayFooter
{
u32 magic;
u32 unk_4;
u32 unk_8;
u16 unk_C;
u16 crc;
};
struct SaveChunkFooter
{
u32 unk_0;
u32 offset;
u32 size;
u32 magic;
u8 unk_10;
u8 padding_11;
u16 crc;
};
struct SaveBlock2_Sub_20464 {
u8 unk_0;
u8 unk_1;
u8 unk_2;
u8 padding_3;
u32 offset;
u32 size;
};
struct UnkSavSub_2047C
{
int unk_0;
int unk_4;
int unk_8;
int unk_C;
int unk_10;
u32 unk_14;
u32 unk_18;
u32 unk_1C[2];
};
struct UnkStruct_0202288C
{
BOOL unk_0;
u32 offset;
u32 size;
};
struct SaveBlock2
{
/* 0x00000 */ BOOL flashOkay;
/* 0x00004 */ int unk_00004;
/* 0x00008 */ int unk_00008;
/* 0x0000C */ int largeSectorChanged;
/* 0x00010 */ int unk_00010;
/* 0x00014 */ struct MATHCRC16Table crcTable;
/* 0x00214 */ u8 dynamic_region[0x20000];
/* 0x20214 */ u32 unk_20214;
/* 0x20218 */ u32 unk_20218[2];
/* 0x20220 */ u8 unk_20220[2];
/* 0x20222 */ u8 filler_20222[2];
/* 0x20224 */ struct SaveArrayHeader arrayHeaders[36];
/* 0x20464 */ struct SaveBlock2_Sub_20464 saveSlotSpecs[2];
/* 0x2047C */ struct UnkSavSub_2047C unk_2047C;
/* 0x204A0 */ u32 unk_204A0;
/* 0x204A4 */ u32 unk_204A4;
}; // size: 0x204A8
typedef u32 (*SAVSIZEFN)(void);
typedef void (*SAVINITFN)(void *);
struct SaveChunkHeader
{
int id;
int linkedId;
SAVSIZEFN sizeFunc;
SAVINITFN initFunc;
};
extern const struct SaveChunkHeader UNK_020EE6E0[];
extern const struct SaveChunkHeader UNK_020EE700[];
extern const int UNK_020EE6DC;
extern const int UNK_020EE6D8;
struct SaveBlock2 * SaveBlock2_New(void);
struct SaveBlock2 * FUN_020225F8(void);
void * SaveArray_Get(struct SaveBlock2 * sav2, int idx);
void * FUN_02022634(struct SaveBlock2 * sav2, int idx);
BOOL FUN_0202263C(struct SaveBlock2 * sav2);
BOOL FUN_020226FC(struct SaveBlock2 * sav2);
int FUN_02022720(struct SaveBlock2 * sav2);
void FUN_020227A0(struct SaveBlock2 * sav2, int a1);
void Save_InitDynamicRegion(struct SaveBlock2 * sav2);
int FUN_020227FC(struct SaveBlock2 * sav2);
int FUN_02022800(struct SaveBlock2 * sav2);
int FUN_02022804(struct SaveBlock2 * sav2);
int FUN_02022808(struct SaveBlock2 * sav2);
BOOL FUN_0202280C(struct SaveBlock2 * sav2);
int SaveGetDirtyBit(struct SaveBlock2 * sav2);
void SaveSetDirtyBit(void);
void FUN_02022840(struct SaveBlock2 * sav2, int a1);
int FUN_02022854(struct SaveBlock2 * sav2);
void FUN_0202287C(struct SaveBlock2 * sav2);
void FUN_0202288C(struct UnkStruct_0202288C * header);
u16 FUN_02022898(struct SaveBlock2 * sav2, void * data, u32 size);
u32 GetChunkOffsetFromCurrentSaveSlot(u32 slot, struct SaveBlock2_Sub_20464 * header);
struct SaveChunkFooter * FUN_020228B8(struct SaveBlock2 * sav2, u8 * offset, int idx);
BOOL FUN_020228E0(struct SaveBlock2 * sav2, void * data, int idx);
void FUN_0202293C(struct UnkStruct_0202288C * r5, struct SaveBlock2 * sav2, void * data, int idx);
void FUN_02022968(struct SaveBlock2 * sav2, void * data, int idx);
int FUN_020229B8(u32 x, u32 y);
int FUN_020229F0(struct UnkStruct_0202288C * r7, struct UnkStruct_0202288C * r6, u32 * r5, u32 * r4);
void FUN_02022AA0(struct SaveBlock2 * sav2, struct UnkStruct_0202288C * a1, struct UnkStruct_0202288C * a2, u32 a3, u32 a4);
int FUN_02022AD8(struct SaveBlock2 * sav2);
BOOL FlashLoadChunkIntoDynamicRegionFromHeader(u32 slot, struct SaveBlock2_Sub_20464 * header, u8 * dest);
BOOL Save_LoadDynamicRegion(struct SaveBlock2 * sav2);
int FUN_02022D54(struct SaveBlock2 * sav2, int chunk, u8 slot);
int FUN_02022D94(struct SaveBlock2 * sav2, int chunk, u8 slot);
int FUN_02022DC8(struct SaveBlock2 * sav2, int chunk, u8 slot);
void FUN_02022DFC(struct SaveBlock2 * sav2, struct UnkSavSub_2047C * a1, int a2);
int FUN_02022E78(struct SaveBlock2 * sav2, struct UnkSavSub_2047C * a1);
void FUN_02022F80(struct SaveBlock2 * sav2, struct UnkSavSub_2047C * a1, int a2);
void FUN_02022FF0(struct SaveBlock2 * sav2, struct UnkSavSub_2047C * a1);
int FUN_02023044(struct SaveBlock2 * sav2);
int FlashClobberChunkFooter(struct SaveBlock2 * sav2, int x, u32 y);
u32 SaveArray_sizeof(int idx);
void SaveBlock2_InitSubstructs(struct SaveArrayHeader * headers);
void FUN_02023160(struct SaveBlock2_Sub_20464 * spec, struct SaveArrayHeader * headers);
void Save_InitDynamicRegion_Internal(u8 * dynamic_region, struct SaveArrayHeader * headers);
void CreateChunkFooter(struct SaveBlock2 * sav2, u8 * data, int id, u32 size);
BOOL ValidateChunk(struct SaveBlock2 * sav2, u8 * data, int id, u32 size);
u32 FUN_020232B4(u8 * data, u32 size);
int WriteSaveFileToFlash(struct SaveBlock2 * sav2, int idx, u8 * data);
u8 * ReadSaveFileFromFlash(struct SaveBlock2 * sav2, u32 heap_id, int idx, int * ret_p);
BOOL SaveDetectFlash(void);
int FlashWriteChunk(u32 offset, u8 * data, u32 size);
BOOL FlashLoadChunk(u32 src, void * dest, u32 size);
void FlashWriteCommandCallback(void * arg);
int FlashWriteChunkInternal(u32 dest, void * src, u32 size);
BOOL WaitFlashWrite(int lock, BOOL * res);
void SaveErrorHandling(int lock, u32 errno);
#endif //POKEDIAMOND_SAVE_BLOCK_2_H

View File

@@ -6,7 +6,7 @@
extern u16 VarGet(struct FieldSystem *fieldSystem, u16);
extern u16* GetVarPointer(struct FieldSystem *fieldSystem, u16);
extern struct SaveBlock2* ScriptEnvironment_GetSavePtr(struct FieldSystem *fieldSystem);
extern struct SaveData* ScriptEnvironment_GetSavePtr(struct FieldSystem *fieldSystem);
static inline u16 ScriptGetVar(struct ScriptContext* ctx)
{

View File

@@ -8,7 +8,7 @@
#include "field_player_avatar.h"
#include "msgdata.h"
#include "render_window.h"
#include "save_block_2.h"
#include "save.h"
#include "task.h"
struct ScriptContext;
@@ -43,7 +43,7 @@ enum PCBoxOperation {
};
typedef struct PCBoxAppData {
struct SaveBlock2 *save;
struct SaveData *save;
enum PCBoxOperation operation;
BOOL unk08;
} PCBoxAppData; //todo move to own file
@@ -59,7 +59,7 @@ typedef struct TownMapAppData { //todo fill out
} TownMapAppData; //todo move to own file
typedef struct ScrCmdUnkStruct01D9 {
struct SaveBlock2 *save;
struct SaveData *save;
u16 unk04;
u16 unk06;
} ScrCmdUnkStruct01D9; //todo identify and move to own file
@@ -95,7 +95,7 @@ typedef struct FieldSystem //todo move to field_system.c
u32 *unk00;
UnkFieldStruct04 *unk04;
struct BgConfig *bgConfig;
struct SaveBlock2 *saveData; //0xC
struct SaveData *saveData; //0xC
TaskManager *taskManager;
u8 padding2[0x8];
Location *location;

View File

@@ -2,8 +2,8 @@
#define POKEDIAMOND_SCRIPT_POKEMON_UTIL_H
BOOL MonNotFaintedOrEgg(struct Pokemon * pokemon);
BOOL GiveMon(u32 heap_id, struct SaveBlock2 * sav2, u16 species, u8 level, u16 item, u32 mapSec, u32 encounterType);
BOOL GiveEgg(u32 heapId, struct SaveBlock2 * sav2, u16 species, int level, int metLocIndex, int a3);
BOOL GiveMon(u32 heap_id, struct SaveData * save, u16 species, u8 level, u16 item, u32 mapSec, u32 encounterType);
BOOL GiveEgg(u32 heapId, struct SaveData * save, u16 species, int level, int metLocIndex, int a3);
void PartyMonSetMoveInSlot(struct PlayerParty * party, int partySlot, int moveSlot, u16 move);
int GetIdxOfFirstPartyMonWithMove(struct PlayerParty * party, int move);
int CountAlivePokemon(struct PlayerParty * party);

View File

@@ -13,7 +13,7 @@ struct SealCase
u32 Save_SealCase_sizeof(void);
void Save_SealCase_Init(struct SealCase * sealCase);
void CapsuleArray_Copy(const CapsuleArray * a0, CapsuleArray * a1);
struct SealCase * Save_SealCase_Get(struct SaveBlock2 * sav2);
struct SealCase * Save_SealCase_Get(struct SaveData * save);
CapsuleArray * SealCase_GetCapsuleI(struct SealCase * sealCase, s32 idx);
void SealCase_SetCapsuleI(struct SealCase * sealCase, const CapsuleArray * src, s32 idx);
Coords8 * Capsule_GetSealI(CapsuleArray * a0, s32 a1);

View File

@@ -2,7 +2,7 @@
#define POKEDIAMOND_TRAINER_DATA_H
#include "global.h"
#include "save_block_2.h"
#include "save.h"
#include "string16.h"
#include "constants/pokemon.h"
@@ -78,7 +78,7 @@ struct BattleSetupStruct
struct TrainerDataLoaded datas[4];
};
void EnemyTrainerSet_Init(struct BattleSetupStruct * sp0, struct SaveBlock2 * r4, u32 sp4);
void EnemyTrainerSet_Init(struct BattleSetupStruct * sp0, struct SaveData * r4, u32 sp4);
s32 TrainerData_GetAttr(u32 tr_idx, u32 attr_no);
BOOL TrainerMessageWithIdPairExists(u32 pos, u32 idx, u32 heap_id);
void GetTrainerMessageByIdPair(u32 pos, u32 idx, struct String * str, u32 heap_id);

View File

@@ -21,7 +21,7 @@ u16 GetECWordIndexByPair(u16 a0, u16 a1);
void GetCategoryAndMsgNoByECWordIdx(u32 a0, s32 * a1, s32 * a2);
u32 FUN_02013B28(void);
void FUN_02013B2C(struct UnkStruct_02013B28 * unk);
struct UnkStruct_02013B28 * FUN_02013B5C(struct SaveBlock2 * sav2);
struct UnkStruct_02013B28 * FUN_02013B5C(struct SaveData * save);
BOOL FUN_02013B68(struct UnkStruct_02013B28 * unk, u32 a1);
s32 FUN_02013B74(struct UnkStruct_02013B28 * unk);
BOOL FUN_02013BC8(struct UnkStruct_02013B28 * unk);

View File

@@ -1,15 +1,15 @@
#ifndef POKEDIAMOND_UNK_02022504_H
#define POKEDIAMOND_UNK_02022504_H
#include "save_block_2.h"
#include "save.h"
#include "pokemon_storage_system.h"
#include "unk_0202AC20.h"
void *FUN_02022504(struct SaveBlock2 *sav2);
struct PCStorage *GetStoragePCPointer(struct SaveBlock2 *sav2);
struct UnkStruct_0202AC20 * FUN_0202251C(struct SaveBlock2 *sav2);
void *FUN_02022528(struct SaveBlock2 *sav2);
u8 *LoadHallOfFame(struct SaveBlock2 *sav2, u32 heap_id, int *ret_p);
s32 SaveHallOfFame(struct SaveBlock2 *sav2, u8 *data);
void *FUN_02022504(struct SaveData *save);
struct PCStorage *GetStoragePCPointer(struct SaveData *save);
struct UnkStruct_0202AC20 * FUN_0202251C(struct SaveData *save);
void *FUN_02022528(struct SaveData *save);
u8 *LoadHallOfFame(struct SaveData *save, u32 heap_id, int *ret_p);
s32 SaveHallOfFame(struct SaveData *save, u8 *data);
#endif //POKEDIAMOND_UNK_02022504_H

View File

@@ -3,7 +3,7 @@
#include "global.h"
#include "MI_memory.h"
#include "save_block_2.h"
#include "save.h"
#include "string16.h"
struct UnkStruct_02024E64 {
@@ -16,10 +16,10 @@ struct UnkStruct_02024E64 {
u32 FUN_02024E64();
void FUN_02024E6C(struct UnkStruct_02024E64 *param0);
struct UnkStruct_02024E64 *FUN_02024EB4(struct SaveBlock2 *sav2);
void *FUN_02024EC0(struct SaveBlock2 *sav2);
struct UnkStruct_02024E64 *FUN_02024ECC(struct SaveBlock2 *sav2);
void *FUN_02024ED8(struct SaveBlock2 *sav2);
struct UnkStruct_02024E64 *FUN_02024EB4(struct SaveData *save);
void *FUN_02024EC0(struct SaveData *save);
struct UnkStruct_02024E64 *FUN_02024ECC(struct SaveData *save);
void *FUN_02024ED8(struct SaveData *save);
u16 *GetRivalNamePtr(struct UnkStruct_02024E64 *unk);
void RivalsNameToU16Array(struct UnkStruct_02024E64 *unk, struct String *str);
u16 *FUN_02024F0C(struct UnkStruct_02024E64 *unk);

View File

@@ -12,7 +12,7 @@ struct UnkStruct_020254B8
};
u32 FUN_020254B8(void);
struct UnkStruct_020254B8 * FUN_020254C0(struct SaveBlock2 * sav2);
struct UnkStruct_020254B8 * FUN_020254C0(struct SaveData * save);
void FUN_020254CC(struct UnkStruct_020254B8 * arr);
u16 * FUN_020254F0(struct UnkStruct_020254B8 * arr, s32 i);
u8 FUN_020254F8(struct UnkStruct_020254B8 * unk, s32 i);

View File

@@ -25,7 +25,7 @@ void FUN_020287EC(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j);
u8 FUN_020287F8(struct UnkSaveStruct_020286F8 * ptr, u32 i);
u8 FUN_02028804(struct UnkSaveStruct_020286F8 * ptr, u32 i);
void FUN_02028810(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j);
struct UnkSaveStruct_020286F8 * FUN_0202881C(struct SaveBlock2 * sav2);
struct UnkSaveStruct_020286F8 * FUN_0202881C(struct SaveData * save);
BOOL FUN_02028828(struct UnkSaveStruct_020286F8 * ptr, u32 i);
BOOL FUN_02028840(struct UnkSaveStruct_020286F8 * ptr, int i);
BOOL FUN_02028854(struct UnkSaveStruct_020286F8 * ptr, const u16 * str);

View File

@@ -11,7 +11,7 @@ struct GameStats
u32 Save_GameStats_sizeof(void);
void Save_GameStats_Init(struct GameStats * ptr);
struct GameStats * Save_GameStats_Get(struct SaveBlock2 * sav2);
struct GameStats * Save_GameStats_Get(struct SaveData * save);
u32 GameStats_GetValue(struct GameStats * ptr, s32 a1);
u32 GameStats_SetValue(struct GameStats * ptr, s32 a1, u32 a2);
u32 GameStats_GetMaxValue(s32 a0);

View File

@@ -2,7 +2,7 @@
#define POKEDIAMOND_UNK_0202A1E0_H
#include "mail_message.h"
#include "save_block_2.h"
#include "save.h"
typedef enum
{
@@ -115,7 +115,7 @@ struct SaveStruct23_Substruct4
/* 0x740 */ struct SaveStruct23_Substruct4_Substruct2 substruct2;
}; // total size 0xB3C (2876)
struct SaveStruct23 // Struct fetched with SaveArray_Get(sav2, 23)
struct SaveStruct23 // Struct fetched with SaveArray_Get(save, 23)
{
/* 0x000 */ struct SaveStruct23_Substruct1 substruct1;
/* 0x03C */ struct SaveStruct23_Substruct2 substruct2;
@@ -186,8 +186,8 @@ u16 SaveStruct23_Substruct2_SetField_0xC(struct SaveStruct23_Substruct2 *substru
BOOL SaveStruct23_Substruct2_SetFlag(struct SaveStruct23_Substruct2 *substruct2, u16 flagNumber, DataSetMode mode);
void SaveStruct23_Substruct2_SetField_0x4(struct SaveStruct23_Substruct2 *substruct2, u32 arg1);
u32 SaveStruct23_Substruct2_GetField_0x4(struct SaveStruct23_Substruct2 *substruct2);
void SaveStruct23_SetMessage(struct SaveBlock2 *sav2, u32 index, struct MailMessage *message);
struct MailMessage *SaveStruct23_GetMessage(struct SaveBlock2 *sav2, u32 index);
void SaveStruct23_SetMessage(struct SaveData *save, u32 index, struct MailMessage *message);
struct MailMessage *SaveStruct23_GetMessage(struct SaveData *save, u32 index);
void SaveStruct23_Substruct4_SetArrayFlag(struct SaveStruct23_Substruct4 *substruct4, u8 arg1, u8 arg2, struct Unk0202A68C *arg3);
void SaveStruct23_Substruct4_ClearArrayFlags(struct SaveStruct23_Substruct4 *substruct4);
BOOL StructUnk0202A68C_Compare(struct Unk0202A68C *struct1, struct Unk0202A68C *struct2);
@@ -202,8 +202,8 @@ void FUN_0202A864(struct SaveStruct23_Substruct4 *substruct4, struct Unk0202A784
struct SaveStruct23_Substruct4_Substruct2 *FUN_0202A878(struct SaveStruct23_Substruct4 *substruct4, u32 heap_id);
s32 SaveStruct23_sizeof();
void SaveStruct23_Init(struct SaveStruct23 *saveStruct23);
struct SaveStruct23_Substruct1 *SaveStruct23_GetSubstruct1(struct SaveBlock2* sav2);
struct SaveStruct23_Substruct2 *SaveStruct23_GetSubstruct2(struct SaveBlock2* sav2);
struct SaveStruct23_Substruct4 *SaveStruct23_GetSubstruct4(struct SaveBlock2* sav2);
struct SaveStruct23_Substruct1 *SaveStruct23_GetSubstruct1(struct SaveData* save);
struct SaveStruct23_Substruct2 *SaveStruct23_GetSubstruct2(struct SaveData* save);
struct SaveStruct23_Substruct4 *SaveStruct23_GetSubstruct4(struct SaveData* save);
#endif //POKEDIAMOND_UNK_0202A1E0_H

View File

@@ -21,6 +21,6 @@ struct Unk0202A8F4
u32 FUN_0202A8F4();
void FUN_0202A8F8(struct Unk0202A8F4 *unk);
void *FUN_0202A918(struct SaveBlock2 *sav2);
void *FUN_0202A918(struct SaveData *save);
#endif //POKEDIAMOND_UNK_0202A8F4_H

View File

@@ -9,7 +9,7 @@ struct Unk0202ABBC
/* 0x0f0 */ u32 unk_F0;
}; // size: 0xF4
void *FUN_0202ABBC(struct SaveBlock2* sav2);
void *FUN_0202ABBC(struct SaveData* save);
u32 FUN_0202ABC8();
void FUN_0202ABCC(struct Unk0202ABBC* unk);
u16 FUN_0202ABDC(struct Unk0202ABBC* unk);

View File

@@ -8,7 +8,7 @@ struct UnkSaveStruct0202C0E4
u32 FUN_0202C0E0();
void FUN_0202C0E4(struct UnkSaveStruct0202C0E4 *unkStruct);
void FUN_0202C108(struct SaveBlock2 *sav2, u32 a1, u32 a2);
u16 FUN_0202C12C(struct SaveBlock2 *sav2, u32 a1, u32 a2);
void FUN_0202C108(struct SaveData *save, u32 a1, u32 a2);
u16 FUN_0202C12C(struct SaveData *save, u32 a1, u32 a2);
#endif //POKEDIAMOND_UNK_0202C0E0_H

View File

@@ -1,9 +1,9 @@
#ifndef POKEDIAMOND_UNK_0202C144_H
#define POKEDIAMOND_UNK_0202C144_H
#include "save_block_2.h"
#include "save.h"
#include "pokemon.h"
void FUN_0202C144(struct SaveBlock2 * sav2, struct Pokemon * mon);
void FUN_0202C144(struct SaveData * save, struct Pokemon * mon);
#endif //POKEDIAMOND_UNK_0202C144_H

Some files were not shown because too many files have changed in this diff Show More