diff options
-rw-r--r-- | asm/trainer_tower.s | 91 | ||||
-rw-r--r-- | src/trainer_tower.c | 35 | ||||
-rw-r--r-- | sym_ewram.txt | 7 |
3 files changed, 33 insertions, 100 deletions
diff --git a/asm/trainer_tower.s b/asm/trainer_tower.s index 8082a016a..bbe0bc39e 100644 --- a/asm/trainer_tower.s +++ b/asm/trainer_tower.s @@ -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} diff --git a/src/trainer_tower.c b/src/trainer_tower.c index 1df4dddcd..d9031635f 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -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); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index d68a01f8f..f8e0df713 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -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 |