through sub_815DC40

This commit is contained in:
scnorton
2019-01-02 11:04:34 -05:00
parent e98d46f430
commit 45ef283468
3 changed files with 33 additions and 100 deletions
-91
View File
@@ -5,97 +5,6 @@
.text
thumb_func_start sub_815DBDC
sub_815DBDC: @ 815DBDC
push {r4,lr}
ldr r4, _0815DBF0 @ =gUnknown_203F45C
ldr r0, [r4]
bl Free
movs r0, 0
str r0, [r4]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0815DBF0: .4byte gUnknown_203F45C
thumb_func_end sub_815DBDC
thumb_func_start sub_815DBF4
sub_815DBF4: @ 815DBF4
push {r4-r6,lr}
adds r6, r0, 0
lsls r4, r1, 24
lsrs r4, 24
ldr r0, _0815DC28 @ =0x00004003
adds r1, r4, 0
bl VarSet
ldr r5, _0815DC2C @ =gUnknown_203F45C
ldr r1, [r5]
adds r0, r1, 0
adds r0, 0x3C
ldrb r0, [r0]
adds r1, 0x3D
ldrb r1, [r1]
bl sub_815E068
cmp r4, 0
bne _0815DC30
ldr r0, [r5]
adds r0, 0xC
adds r1, r6, 0
bl sub_815DEFC
b _0815DC3A
.align 2, 0
_0815DC28: .4byte 0x00004003
_0815DC2C: .4byte gUnknown_203F45C
_0815DC30:
ldr r0, [r5]
adds r0, 0x24
adds r1, r6, 0
bl sub_815DEFC
_0815DC3A:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_815DBF4
thumb_func_start sub_815DC40
sub_815DC40: @ 815DC40
push {r4-r6,lr}
adds r6, r0, 0
lsls r4, r1, 24
lsrs r4, 24
ldr r0, _0815DC74 @ =0x00004003
adds r1, r4, 0
bl VarSet
ldr r5, _0815DC78 @ =gUnknown_203F45C
ldr r1, [r5]
adds r0, r1, 0
adds r0, 0x3C
ldrb r0, [r0]
adds r1, 0x3D
ldrb r1, [r1]
bl sub_815E068
cmp r4, 0
bne _0815DC7C
ldr r0, [r5]
adds r0, 0x18
adds r1, r6, 0
bl sub_815DEFC
b _0815DC86
.align 2, 0
_0815DC74: .4byte 0x00004003
_0815DC78: .4byte gUnknown_203F45C
_0815DC7C:
ldr r0, [r5]
adds r0, 0x30
adds r1, r6, 0
bl sub_815DEFC
_0815DC86:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_815DC40
thumb_func_start sub_815DC8C
sub_815DC8C: @ 815DC8C
push {r4-r7,lr}
+30 -5
View File
@@ -65,7 +65,9 @@ void sub_815D96C(void);
void sub_815DC8C(void); // setup
void sub_815DD2C(void); // teardown
void sub_815DD44(void);
void sub_815DEFC(u16 * ecWords, u8 * dest);
void sub_815DF54(void);
void sub_815E068(u8 battleType, u8 facilityClass);
void sub_815E160(void);
void sub_815E1C0(void);
void sub_815E1F0(void);
@@ -223,12 +225,7 @@ void sub_815DA54(void)
StringCopyN(gUnknown_203F45C->unk_00, gUnknown_203F458->unk_000C[gUnknown_203F458->unk_0000].unk_004[r10].unk_000, 11);
for (r9 = 0; r9 < 6; r9++)
// r6 = r10 * 4
// r12 = r10 * 328
// r5 = (r10 + 1) * 328
{
// r8 = *gUnknown_203F45C
// r4 = r9 * 2
gUnknown_203F45C->unk_0C[r9] = gUnknown_203F458->unk_000C[gUnknown_203F458->unk_0000].unk_004[r10].unk_01A[r9];
gUnknown_203F45C->unk_18[r9] = gUnknown_203F458->unk_000C[gUnknown_203F458->unk_0000].unk_004[r10].unk_026[r9];
@@ -245,3 +242,31 @@ void sub_815DA54(void)
SetVBlankCounter1Ptr(gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx]);
sub_815DD2C();
}
void sub_815DBDC(void)
{
Free(gUnknown_203F45C);
gUnknown_203F45C = NULL;
}
void sub_815DBF4(u8 * dest, u8 opponentIdx)
// TTower_GetBeforeBattleMessage?
{
VarSet(VAR_0x4003, opponentIdx);
sub_815E068(gUnknown_203F45C->unk_3C, gUnknown_203F45C->unk_3D);
if (opponentIdx == 0)
sub_815DEFC(gUnknown_203F45C->unk_0C, dest);
else
sub_815DEFC(gUnknown_203F45C->unk_24, dest);
}
void sub_815DC40(u8 * dest, u8 opponentIdx)
// TTower_GetAfterBattleMessage?
{
VarSet(VAR_0x4003, opponentIdx);
sub_815E068(gUnknown_203F45C->unk_3C, gUnknown_203F45C->unk_3D);
if (opponentIdx == 0)
sub_815DEFC(gUnknown_203F45C->unk_18, dest);
else
sub_815DEFC(gUnknown_203F45C->unk_30, dest);
}
+3 -4
View File
@@ -1753,11 +1753,10 @@ gUnknown_203F450: @ 203F450
gUnknown_203F454: @ 203F454
.space 0x4
gUnknown_203F458: @ 203F458
.space 0x4
.include "src/trainer_tower.o"
gUnknown_203F45C: @ 203F45C
.space 0x8
gUnknown_203F460: @ 203F460
.space 0x4
gUnknown_203F464: @ 203F464
.space 0x1