summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-11-19 21:32:13 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-11-19 21:32:13 -0500
commitccc245601756237b4cd452b421506922be944d21 (patch)
tree709cf10dc7f5da5038af1f3834784aadfcd6b4e4
parentc7439253be8a79bfb628640276135c174c8fad11 (diff)
through sub_81150CC
-rw-r--r--asm/quest_log.s397
-rw-r--r--src/quest_log.c129
2 files changed, 127 insertions, 399 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
index a28cba2dc..e6d9448f1 100644
--- a/asm/quest_log.s
+++ b/asm/quest_log.s
@@ -5,403 +5,6 @@
.text
- thumb_func_start sub_8114E68
-sub_8114E68: @ 8114E68
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _08114E80 @ =gUnknown_8456AA0
- ldrb r1, [r0, 0x1F]
- adds r0, r5, 0
- bl sub_8110944
- lsls r0, 24
- cmp r0, 0
- bne _08114E84
- movs r0, 0
- b _08114FAE
- .align 2, 0
-_08114E80: .4byte gUnknown_8456AA0
-_08114E84:
- adds r6, r5, 0
- adds r6, 0x8
- bl UnkTextUtil_Reset
- ldr r4, _08114F00 @ =gStringVar1
- ldrb r1, [r6, 0x2]
- adds r0, r4, 0
- bl sub_80C4DF8
- movs r0, 0
- adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r5, 0x4]
- movs r1, 0
- movs r2, 0x1
- bl QuestLog_AutoGetSpeciesName
- ldr r4, _08114F04 @ =gStringVar2
- ldrb r1, [r5, 0x8]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0x2
- adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r5, 0x6]
- movs r1, 0
- movs r2, 0x3
- bl QuestLog_AutoGetSpeciesName
- ldr r4, _08114F08 @ =gStringVar3
- ldrb r1, [r6, 0x1]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0x4
- adds r1, r4, 0
- bl UnkTextUtil_SetPtrI
- ldr r0, _08114F0C @ =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x5
- bl UnkTextUtil_SetPtrI
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- bne _08114F2C
- ldrb r0, [r6, 0x1]
- cmp r0, 0x1
- bne _08114F18
- ldr r0, _08114F10 @ =gStringVar4
- ldr r1, _08114F14 @ =gUnknown_841AA01
- bl UnkTextUtil_StringExpandPlaceholders
- b _08114FAC
- .align 2, 0
-_08114F00: .4byte gStringVar1
-_08114F04: .4byte gStringVar2
-_08114F08: .4byte gStringVar3
-_08114F0C: .4byte gSaveBlock2Ptr
-_08114F10: .4byte gStringVar4
-_08114F14: .4byte gUnknown_841AA01
-_08114F18:
- ldr r0, _08114F24 @ =gStringVar4
- ldr r1, _08114F28 @ =gUnknown_841AA2B
- bl UnkTextUtil_StringExpandPlaceholders
- b _08114FAC
- .align 2, 0
-_08114F24: .4byte gStringVar4
-_08114F28: .4byte gUnknown_841AA2B
-_08114F2C:
- ldrb r1, [r6, 0x1]
- cmp r1, 0
- bne _08114F5C
- cmp r0, 0x1
- bne _08114F48
- ldr r0, _08114F40 @ =gStringVar4
- ldr r1, _08114F44 @ =gUnknown_841A9A9
- bl UnkTextUtil_StringExpandPlaceholders
- b _08114FAC
- .align 2, 0
-_08114F40: .4byte gStringVar4
-_08114F44: .4byte gUnknown_841A9A9
-_08114F48:
- ldr r0, _08114F54 @ =gStringVar4
- ldr r1, _08114F58 @ =gUnknown_841A9D4
- bl UnkTextUtil_StringExpandPlaceholders
- b _08114FAC
- .align 2, 0
-_08114F54: .4byte gStringVar4
-_08114F58: .4byte gUnknown_841A9D4
-_08114F5C:
- cmp r0, 0x1
- bne _08114F8C
- cmp r1, 0x1
- bne _08114F78
- ldr r0, _08114F70 @ =gStringVar4
- ldr r1, _08114F74 @ =gUnknown_841AA76
- bl UnkTextUtil_StringExpandPlaceholders
- b _08114FAC
- .align 2, 0
-_08114F70: .4byte gStringVar4
-_08114F74: .4byte gUnknown_841AA76
-_08114F78:
- ldr r0, _08114F84 @ =gStringVar4
- ldr r1, _08114F88 @ =gUnknown_841AAAA
- bl UnkTextUtil_StringExpandPlaceholders
- b _08114FAC
- .align 2, 0
-_08114F84: .4byte gStringVar4
-_08114F88: .4byte gUnknown_841AAAA
-_08114F8C:
- cmp r1, 0x1
- bne _08114FA4
- ldr r0, _08114F9C @ =gStringVar4
- ldr r1, _08114FA0 @ =gUnknown_841AAEC
- bl UnkTextUtil_StringExpandPlaceholders
- b _08114FAC
- .align 2, 0
-_08114F9C: .4byte gStringVar4
-_08114FA0: .4byte gUnknown_841AAEC
-_08114FA4:
- ldr r0, _08114FB4 @ =gStringVar4
- ldr r1, _08114FB8 @ =gUnknown_841AB29
- bl UnkTextUtil_StringExpandPlaceholders
-_08114FAC:
- adds r0, r6, 0x4
-_08114FAE:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08114FB4: .4byte gStringVar4
-_08114FB8: .4byte gUnknown_841AB29
- thumb_func_end sub_8114E68
-
- thumb_func_start sub_8114FBC
-sub_8114FBC: @ 8114FBC
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x96
- beq _08114FE6
- cmp r0, 0x96
- bgt _08114FD6
- cmp r0, 0x92
- bgt _08114FEA
- cmp r0, 0x8F
- blt _08114FEA
- b _08114FE6
-_08114FD6:
- cmp r1, 0xF9
- blt _08114FEA
- cmp r1, 0xFA
- ble _08114FE6
- movs r0, 0xCD
- lsls r0, 1
- cmp r1, r0
- bne _08114FEA
-_08114FE6:
- movs r0, 0x1
- b _08114FEC
-_08114FEA:
- movs r0, 0
-_08114FEC:
- pop {r1}
- bx r1
- thumb_func_end sub_8114FBC
-
- thumb_func_start sub_8114FF0
-sub_8114FF0: @ 8114FF0
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r1, _08115008 @ =gUnknown_203B048
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x20
- adds r1, r3, 0
- bl sub_8114D18
- pop {r1}
- bx r1
- .align 2, 0
-_08115008: .4byte gUnknown_203B048
- thumb_func_end sub_8114FF0
-
- thumb_func_start sub_811500C
-sub_811500C: @ 811500C
- push {r4,r5,lr}
- adds r1, r0, 0
- movs r0, 0x20
- bl sub_8113E88
- adds r4, r0, 0
- adds r5, r4, 0x6
- bl UnkTextUtil_Reset
- ldrh r0, [r4, 0x4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08115068 @ =gTrainers+0x4
- adds r1, r0
- movs r0, 0
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r4]
- movs r1, 0
- movs r2, 0x1
- bl QuestLog_AutoGetSpeciesName
- ldrh r0, [r4, 0x2]
- movs r1, 0
- movs r2, 0x2
- bl QuestLog_AutoGetSpeciesName
- ldr r1, _0811506C @ =gUnknown_8456ACC
- ldrb r0, [r5, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x3
- bl UnkTextUtil_SetPtrI
- ldr r0, _08115070 @ =gStringVar4
- ldr r1, _08115074 @ =gUnknown_841AF3E
- bl UnkTextUtil_StringExpandPlaceholders
- adds r4, 0x8
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08115068: .4byte gTrainers+0x4
-_0811506C: .4byte gUnknown_8456ACC
-_08115070: .4byte gStringVar4
-_08115074: .4byte gUnknown_841AF3E
- thumb_func_end sub_811500C
-
- thumb_func_start sub_8115078
-sub_8115078: @ 8115078
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _081150B4 @ =gUnknown_8456AA0
- adds r0, 0x21
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8110944
- lsls r0, 24
- cmp r0, 0
- beq _081150C4
- ldr r1, _081150B8 @ =0x00002021
- adds r0, r1, 0
- strh r0, [r4]
- ldr r0, _081150BC @ =gUnknown_203AF98
- ldrh r0, [r0]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x4]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x6]
- ldrb r0, [r5, 0x6]
- strb r0, [r4, 0x8]
- ldr r1, _081150C0 @ =gUnknown_203B048
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0xA
- b _081150C6
- .align 2, 0
-_081150B4: .4byte gUnknown_8456AA0
-_081150B8: .4byte 0x00002021
-_081150BC: .4byte gUnknown_203AF98
-_081150C0: .4byte gUnknown_203B048
-_081150C4:
- movs r0, 0
-_081150C6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8115078
-
- thumb_func_start sub_81150CC
-sub_81150CC: @ 81150CC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _081150E8 @ =gUnknown_8456AA0
- adds r0, 0x21
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8110944
- lsls r0, 24
- cmp r0, 0
- bne _081150EC
- movs r0, 0
- b _081151AE
- .align 2, 0
-_081150E8: .4byte gUnknown_8456AA0
-_081150EC:
- adds r5, r4, 0
- adds r5, 0x8
- bl UnkTextUtil_Reset
- ldr r0, _08115108 @ =gUnknown_203B044
- ldrh r0, [r0, 0x2]
- cmp r0, 0x1
- beq _08115148
- cmp r0, 0x1
- bgt _0811510C
- cmp r0, 0
- beq _08115112
- b _081151AC
- .align 2, 0
-_08115108: .4byte gUnknown_203B044
-_0811510C:
- cmp r0, 0x2
- beq _08115194
- b _081151AC
-_08115112:
- ldr r0, _08115134 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0
- bl UnkTextUtil_SetPtrI
- ldr r0, _08115138 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, _0811513C @ =0x00003a4c
- adds r1, r0
- movs r0, 0x1
- bl UnkTextUtil_SetPtrI
- ldr r0, _08115140 @ =gStringVar4
- ldr r1, _08115144 @ =gUnknown_841A2E1
- bl UnkTextUtil_StringExpandPlaceholders
- b _081151AC
- .align 2, 0
-_08115134: .4byte gSaveBlock2Ptr
-_08115138: .4byte gSaveBlock1Ptr
-_0811513C: .4byte 0x00003a4c
-_08115140: .4byte gStringVar4
-_08115144: .4byte gUnknown_841A2E1
-_08115148:
- ldr r0, _08115180 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, _08115184 @ =0x00003a4c
- adds r1, r0
- movs r0, 0
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r4, 0x4]
- movs r1, 0
- movs r2, 0x1
- bl QuestLog_AutoGetSpeciesName
- ldr r0, _08115188 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x2
- bl UnkTextUtil_SetPtrI
- ldrh r0, [r4, 0x6]
- movs r1, 0
- movs r2, 0x3
- bl QuestLog_AutoGetSpeciesName
- ldr r0, _0811518C @ =gStringVar4
- ldr r1, _08115190 @ =gUnknown_841A312
- bl UnkTextUtil_StringExpandPlaceholders
- b _081151AC
- .align 2, 0
-_08115180: .4byte gSaveBlock1Ptr
-_08115184: .4byte 0x00003a4c
-_08115188: .4byte gSaveBlock2Ptr
-_0811518C: .4byte gStringVar4
-_08115190: .4byte gUnknown_841A312
-_08115194:
- ldr r1, _081151B4 @ =gUnknown_8456AD8
- ldrb r0, [r4, 0x8]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0
- bl UnkTextUtil_SetPtrI
- ldr r0, _081151B8 @ =gStringVar4
- ldr r1, _081151BC @ =gUnknown_841A349
- bl UnkTextUtil_StringExpandPlaceholders
-_081151AC:
- adds r0, r5, 0x2
-_081151AE:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_081151B4: .4byte gUnknown_8456AD8
-_081151B8: .4byte gStringVar4
-_081151BC: .4byte gUnknown_841A349
- thumb_func_end sub_81150CC
-
thumb_func_start sub_81151C0
sub_81151C0: @ 81151C0
push {lr}
diff --git a/src/quest_log.c b/src/quest_log.c
index 593585aac..9bd7d6227 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -462,12 +462,12 @@ void sub_811092C(void)
gUnknown_203AE8C();
}
-bool8 sub_8110944(void * a0, size_t a1)
+bool8 sub_8110944(const void * a0, size_t a1)
{
void * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568;
void * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end;
r0 -= a1;
- if ((void *)a0 < r2 || (void *)a0 > r0)
+ if ((const void *)a0 < r2 || (const void *)a0 > r0)
return FALSE;
return TRUE;
}
@@ -4390,3 +4390,128 @@ u16 * sub_8114DE8(u16 * a0, const u16 * a1)
r5[2] = *((const u8 *)a1 + 4);
return (u16 *)(r5 + 4);
}
+
+const u16 * sub_8114E68(const u16 * a0)
+{
+ const u8 * r6;
+ if (!sub_8110944(a0, gUnknown_8456AA0[31]))
+ return NULL;
+
+ r6 = (const u8 *)a0 + 8;
+ UnkTextUtil_Reset();
+ sub_80C4DF8(gStringVar1, r6[2]);
+ UnkTextUtil_SetPtrI(0, gStringVar1);
+ QuestLog_AutoGetSpeciesName(a0[2], NULL, 1);
+ ConvertIntToDecimalStringN(gStringVar2, r6[0], STR_CONV_MODE_LEFT_ALIGN, 3);
+ UnkTextUtil_SetPtrI(2, gStringVar2);
+ QuestLog_AutoGetSpeciesName(a0[3], NULL, 3);
+ ConvertIntToDecimalStringN(gStringVar3, r6[1], STR_CONV_MODE_LEFT_ALIGN, 3);
+ UnkTextUtil_SetPtrI(4, gStringVar3);
+ UnkTextUtil_SetPtrI(5, gSaveBlock2Ptr->playerName);
+ if (r6[0] == 0)
+ {
+ if (r6[1] == 1)
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA01);
+ else
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA2B);
+ }
+ else if (r6[1] == 0)
+ {
+ if (r6[0] == 1)
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A9A9);
+ else
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A9D4);
+ }
+ else if (r6[0] == 1)
+ {
+ if (r6[1] == 1)
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA76);
+ else
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AAAA);
+ }
+ else
+ {
+ if (r6[1] == 1)
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AAEC);
+ else
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AB29);
+ }
+ return (const u16 *)(r6 + 4);
+}
+
+bool8 sub_8114FBC(u16 a0)
+{
+ switch (a0)
+ {
+ case 0x96:
+ case 0x8F ... 0x92:
+ case 0xF9 ... 0xFA:
+ case 0x19A:
+ return TRUE;
+ }
+ return FALSE;
+}
+
+u16 * sub_8114FF0(u16 * a0, const u16 * a1)
+{
+ gUnknown_203B048 = TRUE;
+ return sub_8114D18(32, a0, a1);
+}
+
+const u16 * sub_811500C(const u16 * a0)
+{
+ const u8 * r5;
+ a0 = sub_8113E88(32, a0);
+ r5 = (const u8 *)a0 + 6;
+ UnkTextUtil_Reset();
+ UnkTextUtil_SetPtrI(0, gTrainers[a0[2]].trainerName);
+ QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
+ QuestLog_AutoGetSpeciesName(a0[1], NULL, 2);
+ UnkTextUtil_SetPtrI(3, gUnknown_8456ACC[r5[1]]);
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF3E);
+ return a0 + 4;
+}
+
+u16 * sub_8115078(u16 * a0, const u16 * a1)
+{
+ if (!sub_8110944(a0, gUnknown_8456AA0[33]))
+ return NULL;
+ a0[0] = 0x2021;
+ a0[1] = gUnknown_203AF98;
+ a0[2] = a1[1];
+ a0[3] = a1[2];
+ *((u8 *)a0 + 8) = *((const u8 *)a1 + 6);
+ gUnknown_203B048 = TRUE;
+ return a0 + 5;
+}
+
+const u16 * sub_81150CC(const u16 * a0)
+{
+ const u8 * r5;
+ if (!sub_8110944(a0, gUnknown_8456AA0[33]))
+ return NULL;
+
+ r5 = (const u8 *)a0 + 8;
+ UnkTextUtil_Reset();
+
+ switch (gUnknown_203B044.unk_2)
+ {
+ case 0:
+ UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName);
+ UnkTextUtil_SetPtrI(1, gSaveBlock1Ptr->rivalName);
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A2E1);
+ break;
+ case 1:
+ UnkTextUtil_SetPtrI(0, gSaveBlock1Ptr->rivalName);
+ QuestLog_AutoGetSpeciesName(a0[2], NULL, 1);
+ UnkTextUtil_SetPtrI(2, gSaveBlock2Ptr->playerName);
+ QuestLog_AutoGetSpeciesName(a0[3], NULL, 3);
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A312);
+ break;
+ case 2:
+ UnkTextUtil_SetPtrI(0, gUnknown_8456AD8[r5[0]]);
+ UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A349);
+ break;
+ }
+ return (const u16 *)(r5 + 2);
+}