summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-08-12 15:52:49 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-08-12 15:52:49 -0400
commit9e8e57cacbdb4e75cb7e3adce06a957dec25c33f (patch)
treea22b7328a7d1026f84888dd62f7596ac0fb480c1
parentdda861d78ad47a85a54c4c6a2dd3f7e301e65fa5 (diff)
Pad out struct SaveBlock2
-rw-r--r--arm9/asm/save.s24
-rw-r--r--arm9/global.inc2
-rw-r--r--arm9/modules/52/asm/module_52.s2
-rw-r--r--include/save_block_2.h20
4 files changed, 31 insertions, 17 deletions
diff --git a/arm9/asm/save.s b/arm9/asm/save.s
index a8ee71f8..cbef5ecb 100644
--- a/arm9/asm/save.s
+++ b/arm9/asm/save.s
@@ -129,7 +129,7 @@ _020225C4:
b _020225DA
_020225D4:
add r0, r4, #0x0
- bl FUN_020227DC
+ bl Sav2_InitDynamicRegion
_020225DA:
add r0, r4, #0x0
pop {r4, pc}
@@ -263,7 +263,7 @@ _020226B4:
add r0, r6, #0x0
bl FreeToHeap
ldr r0, [sp, #0x0]
- bl FUN_020227DC
+ bl Sav2_InitDynamicRegion
ldr r0, [sp, #0x0]
mov r1, #0x0
str r1, [r0, #0x4]
@@ -395,8 +395,8 @@ _020227CA:
pop {r3-r5, pc}
.balign 4
- thumb_func_start FUN_020227DC
-FUN_020227DC: ; 0x020227DC
+ thumb_func_start Sav2_InitDynamicRegion
+Sav2_InitDynamicRegion: ; 0x020227DC
add r2, r0, #0x0
mov r0, #0x1
str r0, [r2, #0x8]
@@ -404,13 +404,13 @@ FUN_020227DC: ; 0x020227DC
mov r0, #0x85
ldr r1, _020227F4 ; =0x00020224
lsl r0, r0, #0x2
- ldr r3, _020227F8 ; =FUN_020231F4
+ ldr r3, _020227F8 ; =Sav2_InitDynamicRegion_Internal
add r0, r2, r0
add r1, r2, r1
bx r3
nop
_020227F4: .word 0x00020224
-_020227F8: .word FUN_020231F4
+_020227F8: .word Sav2_InitDynamicRegion_Internal
thumb_func_start FUN_020227FC
FUN_020227FC: ; 0x020227FC
@@ -1609,8 +1609,8 @@ FUN_02023074: ; 0x02023074
.balign 4
_020230A8: .word 0x00020464
- thumb_func_start FUN_020230AC
-FUN_020230AC: ; 0x020230AC
+ thumb_func_start SavArray_sizeof
+SavArray_sizeof: ; 0x020230AC
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _020230DC ; =UNK_020EE6DC
@@ -1667,7 +1667,7 @@ _02023112:
ldr r0, [r4, #0x0]
str r0, [r5, #0x0]
add r0, r6, #0x0
- bl FUN_020230AC
+ bl SavArray_sizeof
str r0, [r5, #0x4]
str r7, [r5, #0x8]
mov r0, #0x0
@@ -1784,8 +1784,10 @@ _020231E6:
_020231EC: .word UNK_020EE6DC
_020231F0: .word 0x00000FFF
- thumb_func_start FUN_020231F4
-FUN_020231F4: ; 0x020231F4
+ thumb_func_start Sav2_InitDynamicRegion_Internal
+Sav2_InitDynamicRegion_Internal: ; 0x020231F4
+ ; r0: &sav2->dynamic_region
+ ; r1: &sav2->arraySpecs
push {r3-r7, lr}
sub sp, #0x8
add r6, r0, #0x0
diff --git a/arm9/global.inc b/arm9/global.inc
index b5c4f6cc..02f56526 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -1441,7 +1441,7 @@
.extern FUN_020226FC
.extern FUN_02022720
.extern FUN_020227A0
-.extern FUN_020227DC
+.extern Sav2_InitDynamicRegion
.extern FUN_020227FC
.extern FUN_02022800
.extern FUN_02022804
diff --git a/arm9/modules/52/asm/module_52.s b/arm9/modules/52/asm/module_52.s
index eb64cd58..53f3737b 100644
--- a/arm9/modules/52/asm/module_52.s
+++ b/arm9/modules/52/asm/module_52.s
@@ -228,7 +228,7 @@ MOD52_021D769C: ; 0x021D769C
push {r4, lr}
add r4, r1, #0
add r0, r4, #0
- bl FUN_020227DC
+ bl Sav2_InitDynamicRegion
add r0, r4, #0
bl FUN_020377E0
add r0, r4, #0
diff --git a/include/save_block_2.h b/include/save_block_2.h
index b086e566..bfac686d 100644
--- a/include/save_block_2.h
+++ b/include/save_block_2.h
@@ -3,6 +3,15 @@
#include "pokemon.h"
+struct SavArrayHeader
+{
+ u32 id;
+ u32 size;
+ u32 offset;
+ u16 field_C;
+ u16 field_E;
+};
+
struct SaveBlock2
{
/* 0x00000 */ u16 playerName[OT_NAME_LENGTH + 1];
@@ -12,10 +21,13 @@ struct SaveBlock2
/* 0x00019 */ u8 origin;
/* 0x0001A */ u8 badges;
/* 0x0001B */ u8 avatar;
- /* 0x0001C */ u8 filler_0001C[0x14];
- /* 0x00030 */ struct PlayerParty party;
- // TODO: finish this st ruct
-};
+ /* 0x0001C */ u8 filler_0001C[0x1F8];
+ /* 0x00214 */ u8 dynamic_region[0x20000];
+ /* 0x20214 */ u8 filler_20214[16];
+ /* 0x20224 */ struct SavArrayHeader arrayHeaders[36];
+ /* 0x20464 */ u8 filler_20464[0x44];
+ // TODO: finish this struct
+}; // size: 0x204A8
struct String * FUN_020239A0(struct SaveBlock2 *, u32 heap_id);
u32 FUN_020239BC(struct SaveBlock2 *);