summaryrefslogtreecommitdiff
path: root/src/save.c
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-12-17 13:17:58 -0600
committerGitHub <noreply@github.com>2020-12-17 13:17:58 -0600
commit096de8d9b2ffd90c52e790296bfd7c5436d45ca3 (patch)
tree9c5af2e04dea05221c71946a5dfc06471f77801d /src/save.c
parentbc504264f1e54b3c1e482710c592e5549828bfe1 (diff)
parentf90f3affeb9b0a66aa7df68f5fdecd692033faf9 (diff)
Merge pull request #12 from SethBarberee/master
Merge work from SethBarberee/pmd-red into pret.
Diffstat (limited to 'src/save.c')
-rw-r--r--src/save.c77
1 files changed, 66 insertions, 11 deletions
diff --git a/src/save.c b/src/save.c
index 6478c12..50a682f 100644
--- a/src/save.c
+++ b/src/save.c
@@ -1,14 +1,7 @@
#include "global.h"
#include "flash.h"
#include "memory.h"
-
-struct UnkStruct_203B184 {
- u8 fill000[0x4C];
- u8 *unk04C;
- u32 unk050;
- u32 unk054;
- u32 unk058;
-};
+#include "save.h"
struct UnkStruct_sub_8011DAC {
u8 fill000[0x4];
@@ -30,7 +23,20 @@ struct UnkStruct_sub_8011DAC {
u8 fill448[0x538C];
};
-extern u32 gUnknown_202DE28;
+
+struct unk_struct
+{
+ u32 unk0;
+ u32 unk4;
+ u32 unk8;
+ u32 unkC;
+ u32 unk10;
+ u32 unk14;
+ u32 unk18;
+ u32 padding[505];
+};
+
+extern s32 gUnknown_202DE28;
extern u32 gUnknown_203B17C;
extern u32 gUnknown_203B180;
extern volatile struct UnkStruct_203B184 *gUnknown_203B184;
@@ -61,12 +67,12 @@ void sub_8011C28(u32 in)
gUnknown_203B17C = in;
}
-u32 sub_8011C34(void)
+s32 sub_8011C34(void)
{
return gUnknown_202DE28;
}
-void sub_8011C40(u32 in)
+void sub_8011C40(s32 in)
{
gUnknown_202DE28 = in;
}
@@ -269,3 +275,52 @@ u32 sub_8011DAC(u32 *a)
MemoryFree(r5);
return r7;
}
+
+u32 sub_8011F9C(s32 *r0, u8 *r1, s32 r2)
+{
+ return ReadSaveSector(r0, r1, r2);
+}
+
+u32 sub_8011FA8(void)
+{
+ u32 temp2;
+ u32 temp3;
+ u32 temp;
+ struct unk_struct *r5 = MemoryAlloc(sizeof(struct unk_struct), 5);
+ temp = 0x1F;
+ temp2 = ReadSaveSector(&temp, (u8 *)r5, sizeof(struct unk_struct));
+ if( temp2 == 0)
+ {
+ if(r5->unk14 != 0x5071412)
+ {
+ temp2 = 4;
+ }
+ }
+ temp3 = 0xf1209;
+ if(temp2 == 0)
+ {
+ temp3 = r5->unk18;
+ }
+ MemoryFree(r5);
+ return temp3;
+}
+
+bool8 sub_8011FF8(void)
+{
+ u32 temp2;
+ u32 temp;
+ bool8 r6;
+ struct unk_struct *r5 = MemoryAlloc(sizeof(struct unk_struct), 5);
+ temp = 0x1F;
+ r6 = FALSE;
+ temp2 = ReadSaveSector(&temp, (u8 *)r5, sizeof(struct unk_struct));
+ if(temp2 == 0)
+ {
+ if(r5->unk14 == 0x5071412)
+ {
+ r6 = TRUE;
+ }
+ }
+ MemoryFree(r5);
+ return r6;
+}