through sub_81150CC

This commit is contained in:
PikalaxALT
2018-11-19 21:32:13 -05:00
parent c7439253be
commit ccc2456017
2 changed files with 127 additions and 399 deletions
-397
View File
@@ -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}
+127 -2
View File
@@ -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);
}