summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-11-19 11:27:18 -0600
committerSeth Barberee <seth.barberee@gmail.com>2020-11-19 11:27:18 -0600
commit5f8105180b15f04d48c72df2953d267c87d6148c (patch)
tree64b6ab71a45c858aee68509e11810d278decd93a /src
parent578522b3d344866c38e6e2e01e6b26ba6a5c0107 (diff)
combining and doc'ing of playtime things
Diffstat (limited to 'src')
-rw-r--r--src/code_8094F88.c137
-rw-r--r--src/code_8095014.c87
-rw-r--r--src/save_mid.c20
3 files changed, 131 insertions, 113 deletions
diff --git a/src/code_8094F88.c b/src/code_8094F88.c
index 2a0e618..dea2561 100644
--- a/src/code_8094F88.c
+++ b/src/code_8094F88.c
@@ -1,35 +1,140 @@
#include "global.h"
+#include "time.h"
+
+extern struct PlayTimeStruct *gUnknown_203B47C;
+extern struct PlayTimeStruct gPlayTime;
+
+extern u8 gUnknown_2038C88;
+extern u8 gUnknown_2039288;
+extern u32 gUnknown_20392E8;
+extern u32 gUnknown_20393C0;
+extern u8 *gUnknown_203B480;
+extern u8 *gUnknown_203B484;
+extern u32 *gUnknown_203B488;
+extern u32 *gUnknown_203B48C;
-struct unkTimeStruct
-{
- u16 unk0;
- u8 unk2;
- u8 unk3;
- u8 unk4;
-};
-extern struct unkTimeStruct *gUnknown_203B47C;
-extern struct unkTimeStruct gPlayTime;
+extern void sub_809488C(u32, u32, u32);
+extern void sub_8094924(u32, u32, u32);
+
// Forward Declaration
-void sub_8094FA8(struct unkTimeStruct *Time);
+void ResetPlayTime(struct PlayTimeStruct *Time);
void sub_8094F88(void)
{
gUnknown_203B47C = &gPlayTime;
- sub_8094FA8(&gPlayTime);
+ ResetPlayTime(&gPlayTime);
}
-struct unkTimeStruct *sub_8094FA0(void)
+struct PlayTimeStruct *sub_8094FA0(void)
{
return &gPlayTime;
}
-void sub_8094FA8(struct unkTimeStruct *Time)
+void ResetPlayTime(struct PlayTimeStruct *Time)
{
- Time->unk4 = 0;
- Time->unk3 = 0;
- Time->unk2 = 0;
+ Time->seconds = 0;
+ Time->minutes = 0;
+ Time->hours = 0;
Time->unk0 = 0;
}
+
+void sub_8094FB4(struct PlayTimeStruct *Time)
+{
+ u16 temp_store16;
+
+ Time->seconds++;
+ if(Time->seconds <= 59)
+ return;
+ Time->seconds = 0;
+
+ Time->minutes++;
+ if(Time->minutes <= 59)
+ return;
+ Time->minutes = 0;
+
+ Time->hours++;
+ if(Time->hours <= 59)
+ return;
+ Time->hours = 0;
+
+ // ???
+ temp_store16 = Time->unk0;
+ if(Time->unk0 <= 9998)
+ {
+ temp_store16++;
+ Time->unk0 = temp_store16;
+ }
+ else
+ {
+ Time->minutes = 59;
+ Time->hours = 59;
+ Time->unk0 = 9999;
+ }
+}
+
+void sub_8095014(struct PlayTimeStruct *r0, u32 *r1, u32 *r2, u32 *r3)
+{
+ u32 temp;
+ if(r0->unk0 <= 9999)
+ {
+ *r1 = r0->unk0;
+ *r2 = r0->hours;
+ temp = r0->minutes;
+ }
+ else
+ {
+ *r1 = 9999;
+ *r2 = 59;
+ temp = 59;
+ }
+ *r3 = temp;
+}
+
+void sub_8095044(u32 r0)
+{
+ sub_809488C(r0, (u32)(gUnknown_203B47C) + 4, 0x6);
+ sub_809488C(r0, (u32)(gUnknown_203B47C) + 3, 0x6);
+ sub_809488C(r0, (u32)(gUnknown_203B47C) + 2, 0x6);
+ sub_809488C(r0, (u32)(gUnknown_203B47C), 0xE);
+}
+
+void sub_8095080(u32 r0)
+{
+ sub_8094924(r0, (u32)(gUnknown_203B47C) + 4, 0x6);
+ sub_8094924(r0, (u32)(gUnknown_203B47C) + 3, 0x6);
+ sub_8094924(r0, (u32)(gUnknown_203B47C) + 2, 0x6);
+ sub_8094924(r0, (u32)(gUnknown_203B47C), 0xE);
+}
+
+void sub_80950BC(void)
+{
+ gUnknown_203B480 = &gUnknown_2038C88;
+ gUnknown_203B484 = &gUnknown_2039288;
+ gUnknown_203B488 = &gUnknown_20392E8;
+ gUnknown_203B48C = &gUnknown_20393C0;
+}
+
+u8 *sub_80950F8(void)
+{
+ return &gUnknown_2038C88;
+}
+
+u8 *sub_8095100(void)
+{
+ return &gUnknown_2039288;
+}
+
+u32 *sub_8095108(void)
+{
+ return &gUnknown_20392E8;
+}
+
+u32 *sub_8095110(void)
+{
+ return &gUnknown_20393C0;
+}
+
+
diff --git a/src/code_8095014.c b/src/code_8095014.c
deleted file mode 100644
index 7f3fb05..0000000
--- a/src/code_8095014.c
+++ /dev/null
@@ -1,87 +0,0 @@
-#include "global.h"
-
-struct unk_8094FB4
-{
- s16 unk0;
- u8 unk2;
- u8 unk3;
- u8 unk4;
-};
-
-
-extern u32 *gUnknown_203B480;
-extern u32 *gUnknown_203B484;
-extern u32 *gUnknown_203B488;
-extern u32 *gUnknown_203B48C;
-
-extern u32 gUnknown_203B47C;
-extern u32 gUnknown_2038C88;
-extern u32 gUnknown_2039288;
-extern u32 gUnknown_20392E8;
-extern u32 gUnknown_20393C0;
-
-extern void sub_809488C(u32, u32, u32);
-extern void sub_8094924(u32, u32, u32);
-
-void sub_8095014(struct unk_8094FB4 *r0, u32 *r1, u32 *r2, u32 *r3)
-{
- u32 temp;
- if(r0->unk0 <= 0x270f)
- {
- *r1 = r0->unk0;
- *r2 = r0->unk2;
- temp = r0->unk3;
- }
- else
- {
- *r1 = 0x270f;
- *r2 = 0x3B;
- temp = 0x3B;
- }
- *r3 = temp;
-}
-
-void sub_8095044(u32 r0)
-{
- sub_809488C(r0, gUnknown_203B47C + 4, 0x6);
- sub_809488C(r0, gUnknown_203B47C + 3, 0x6);
- sub_809488C(r0, gUnknown_203B47C + 2, 0x6);
- sub_809488C(r0, gUnknown_203B47C, 0xE);
-}
-
-void sub_8095080(u32 r0)
-{
- sub_8094924(r0, gUnknown_203B47C + 4, 0x6);
- sub_8094924(r0, gUnknown_203B47C + 3, 0x6);
- sub_8094924(r0, gUnknown_203B47C + 2, 0x6);
- sub_8094924(r0, gUnknown_203B47C, 0xE);
-}
-
-void sub_80950BC(void)
-{
- gUnknown_203B480 = &gUnknown_2038C88;
- gUnknown_203B484 = &gUnknown_2039288;
- gUnknown_203B488 = &gUnknown_20392E8;
- gUnknown_203B48C = &gUnknown_20393C0;
-}
-
-u32 *sub_80950F8(void)
-{
- return &gUnknown_2038C88;
-}
-
-u32 *sub_8095100(void)
-{
- return &gUnknown_2039288;
-}
-
-u32 *sub_8095108(void)
-{
- return &gUnknown_20392E8;
-}
-
-u32 *sub_8095110(void)
-{
- return &gUnknown_20393C0;
-}
-
diff --git a/src/save_mid.c b/src/save_mid.c
index ce1b378..13e9cbf 100644
--- a/src/save_mid.c
+++ b/src/save_mid.c
@@ -25,18 +25,18 @@ struct unk_struct
extern struct unk_203B188 *gUnknown_203B188;
-extern u32 *gUnknown_203B460;
extern u32 *gUnknown_203B45C;
-extern u32 *gUnknown_203B480;
-extern u32 *gUnknown_203B484;
+extern u32 *gUnknown_203B460;
+extern u32 gUnknown_203B464;
+extern u8 *gUnknown_203B468;
+extern u32 gUnknown_203B46C;
+extern u8 *gUnknown_203B480;
+extern u8 *gUnknown_203B484;
extern u32 *gUnknown_203B488;
extern u32 *gUnknown_203B48C;
extern u32 gUnknown_203B490;
-extern u32 gUnknown_203B464;
extern u32 gUnknown_203B494;
extern u8 *gUnknown_203B498;
-extern u8 *gUnknown_203B468;
-extern u32 gUnknown_203B46C;
extern void sub_800135C(void);
extern u32 *sub_808CE00(void);
@@ -49,8 +49,8 @@ extern u8 *sub_80923B0(void);
extern void sub_80923B8(void);
extern u32 sub_8094990(void);
extern void sub_8094998(u8 r0);
-extern u32 *sub_80950F8(void);
-extern u32 *sub_8095100(void);
+extern u8 *sub_80950F8(void);
+extern u8 *sub_8095100(void);
extern u32 *sub_8095108(void);
extern u32 *sub_8095110(void);
extern void sub_8095118(void);
@@ -67,7 +67,7 @@ extern void sub_8011C40(s32 r0);
extern void sub_8097748(void);
-extern void sub_8094FA8(struct unkTimeStruct *Time); // defined in src/code_8094F88.c
+extern void ResetPlayTime(struct unkTimeStruct *Time); // defined in src/code_8094F88.c
extern struct unkTimeStruct *sub_8094FA0(void);
extern void* MemoryAlloc(u32 a, u32 b);
@@ -167,7 +167,7 @@ void sub_80122D0(void)
sub_8011C28(0);
sub_8011C40(-1);
sub_8097748();
- sub_8094FA8(gUnknown_203B47C);
+ ResetPlayTime(gUnknown_203B47C);
}
void sub_80122F4(void)