summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-10-16 17:32:29 -0700
committerPikalaxALT <pikalaxalt@gmail.com>2018-10-16 17:32:29 -0700
commitd50948133d3ad740ee4c719bc84a7991abd53a34 (patch)
tree04a9a202498c6f3c39b113b9a99a97c0fdc5d03a
parent9dd047d9db67586529cbde6a32176413af659c1d (diff)
through sub_81132E0
-rw-r--r--asm/quest_log.s118
-rw-r--r--src/quest_log.c53
2 files changed, 52 insertions, 119 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
index 2f032248a..53672cf3f 100644
--- a/asm/quest_log.s
+++ b/asm/quest_log.s
@@ -5,124 +5,6 @@
.text
- thumb_func_start sub_8113288
-sub_8113288: @ 8113288
- push {lr}
- ldr r0, _0811329C @ =0x00004038
- bl GetVarPointer
- bl sub_81132A0
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_0811329C: .4byte 0x00004038
- thumb_func_end sub_8113288
-
- thumb_func_start sub_81132A0
-sub_81132A0: @ 81132A0
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldrb r3, [r0, 0x1]
- movs r4, 0x1
-_081132AA:
- adds r0, r3, 0
- asrs r0, r1
- ands r0, r4
- cmp r0, 0
- beq _081132BA
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_081132BA:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _081132AA
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81132A0
-
- thumb_func_start sub_81132CC
-sub_81132CC: @ 81132CC
- push {lr}
- ldr r0, _081132DC @ =0x00004038
- bl GetVarPointer
- bl sub_81132E0
- pop {r0}
- bx r0
- .align 2, 0
-_081132DC: .4byte 0x00004038
- thumb_func_end sub_81132CC
-
- thumb_func_start sub_81132E0
-sub_81132E0: @ 81132E0
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r5, 0
- ldr r2, _081132F8 @ =gSaveBlock2Ptr
- ldr r0, [r2]
- ldrh r1, [r0, 0xE]
- ldr r0, _081132FC @ =0x000003e6
- cmp r1, r0
- bhi _0811335C
- adds r6, r2, 0
- b _08113338
- .align 2, 0
-_081132F8: .4byte gSaveBlock2Ptr
-_081132FC: .4byte 0x000003e6
-_08113300:
- ldr r0, _08113354 @ =0x00004039
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [r6]
- ldrh r1, [r1, 0xE]
- subs r1, r0
- cmp r1, 0xB
- ble _0811335C
- adds r0, r4, 0
- bl sub_81131FC
- ldr r0, _08113354 @ =0x00004039
- bl VarGet
- adds r1, r0, 0
- lsls r1, 16
- movs r0, 0xC0
- lsls r0, 12
- adds r1, r0
- lsrs r1, 16
- ldr r0, _08113354 @ =0x00004039
- bl VarSet
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08113338:
- adds r0, r4, 0
- bl sub_81132A0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bhi _08113358
- ldr r0, [r6]
- ldrh r1, [r0, 0xE]
- ldr r0, _08113354 @ =0x00004039
- bl VarSet
- b _0811335C
- .align 2, 0
-_08113354: .4byte 0x00004039
-_08113358:
- cmp r5, 0x8
- bne _08113300
-_0811335C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81132E0
-
thumb_func_start sub_8113364
sub_8113364: @ 8113364
push {lr}
diff --git a/src/quest_log.c b/src/quest_log.c
index 51ffaac11..7d2b2511d 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -140,8 +140,8 @@ bool8 sub_8112CEC(void);
bool8 sub_8112D1C(void);
void sub_8113078(struct Var4038Struct *);
void sub_81130BC(struct Var4038Struct *);
-u16 sub_81132A0(struct Var4038Struct *);
u8 sub_8113194(struct Var4038Struct *);
+u16 sub_81132A0(struct Var4038Struct *);
void sub_81132E0(struct Var4038Struct *);
bool8 sub_8113508(void);
void sub_8113524(struct Var4038Struct *);
@@ -2360,3 +2360,54 @@ u8 sub_81131FC(struct Var4038Struct * a0)
a0->unk_1 ^= 1 << gUnknown_8456940[retval];
return gUnknown_8456940[retval];
}
+
+u16 sub_8113288(void)
+{
+ return sub_81132A0((struct Var4038Struct *)GetVarPointer(VAR_0x4038));
+}
+
+u16 sub_81132A0(struct Var4038Struct * a0)
+{
+ u8 count = 0;
+ u8 i;
+
+ for (i = 0; i < 8; i++)
+ {
+ if ((a0->unk_1 >> i) & 1)
+ count++;
+ }
+
+ return count;
+}
+
+void sub_81132CC(void)
+{
+ sub_81132E0((struct Var4038Struct *)GetVarPointer(VAR_0x4038));
+}
+
+void sub_81132E0(struct Var4038Struct * a0)
+{
+ u8 i = 0;
+ u16 var_4039;
+
+ if (gSaveBlock2Ptr->playTimeHours < 999)
+ {
+ while (1)
+ {
+ if (sub_81132A0(a0) < 5)
+ {
+ VarSet(VAR_0x4039, gSaveBlock2Ptr->playTimeHours);
+ break;
+ }
+ if (i == 8)
+ break;
+ var_4039 = VarGet(VAR_0x4039);
+ if (gSaveBlock2Ptr->playTimeHours - var_4039 < 12)
+ break;
+ sub_81131FC(a0);
+ var_4039 = VarGet(VAR_0x4039);
+ VarSet(VAR_0x4039, var_4039 + 12);
+ i++;
+ }
+ }
+}