mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-13 19:46:02 -05:00
rename SaveBlock2 to SaveData
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
470
arm9/src/save.c
470
arm9/src/save.c
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
9
include/constants/save_arrays.h
Normal file
9
include/constants/save_arrays.h
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -20,7 +20,7 @@ struct OverlayManager
|
||||
u32 overlayStatus;
|
||||
s32 * unk18; //args?
|
||||
void * data;
|
||||
struct SaveBlock2 *save;
|
||||
struct SaveData *save;
|
||||
u32 unk24;
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
158
include/save.h
Normal 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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user