summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCameron Hall <cameronghall@cox.net>2018-02-15 21:27:31 -0600
committerCameron Hall <cameronghall@cox.net>2018-02-15 21:27:31 -0600
commit900f5739be2ea39a9f37494948fb09d5bb3969b4 (patch)
tree16b71726bd48e7d7d4416b6f803a3abc31c57e25 /src
parenta785995c71cd56ed5e87e976cac7a91395f69230 (diff)
decompile various debug functions
Diffstat (limited to 'src')
-rw-r--r--src/battle/battle_controller_opponent.c550
-rw-r--r--src/battle/battle_controller_player.c825
-rw-r--r--src/battle/battle_controller_safari.c6
-rw-r--r--src/battle/battle_records.c80
-rw-r--r--src/field/region_map.c148
-rw-r--r--src/scene/cute_sketch.c344
6 files changed, 587 insertions, 1366 deletions
diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c
index 8e8743dbc..e986eb38d 100644
--- a/src/battle/battle_controller_opponent.c
+++ b/src/battle/battle_controller_opponent.c
@@ -1217,19 +1217,19 @@ void OpponentHandleTrainerThrow(void)
#if DEBUG
if (gUnknown_02023A14_50 & 0x10)
{
- trainerPicIndex = gSharedMem[0x160A3];
+ trainerPicIndex = gSharedMem[0x160A3];
}
else
#endif
{
- if (gTrainerBattleOpponent == 0x400)
- trainerPicIndex = GetSecretBaseTrainerPicIndex();
- else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
- trainerPicIndex = get_trainer_class_pic_index();
- else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
- trainerPicIndex = GetEReaderTrainerPicIndex();
- else
- trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic;
+ if (gTrainerBattleOpponent == 0x400)
+ trainerPicIndex = GetSecretBaseTrainerPicIndex();
+ else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
+ trainerPicIndex = get_trainer_class_pic_index();
+ else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
+ trainerPicIndex = GetEReaderTrainerPicIndex();
+ else
+ trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic;
}
sub_8031A6C(trainerPicIndex, gActiveBank);
@@ -1442,308 +1442,308 @@ __attribute__((naked))
void OpponentHandlecmd20(void)
{
asm("\
- push {r4, r5, r6, r7, lr}\n\
- mov r7, sl\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5, r6, r7}\n\
- ldr r6, ._549 @ gActiveBank\n\
- ldrb r0, [r6]\n\
- lsl r0, r0, #0x9\n\
- ldr r1, ._549 + 4 @ gBattleBufferA\n\
- add r5, r0, r1\n\
- ldr r2, ._549 + 8 @ gUnknown_02023A14_50\n\
- ldrb r1, [r2]\n\
- mov r0, #0x4\n\
- and r0, r0, r1\n\
- mov sl, r6\n\
- cmp r0, #0\n\
- beq ._546 @cond_branch\n\
- ldr r0, ._549 + 12 @ gBattleMoves\n\
- mov r9, r0\n\
- ldr r1, ._549 + 16 @ \n\
- mov ip, r1\n\
- add r7, r6, #0\n\
- mov r0, #0x2\n\
- mov r8, r0\n\
- ldr r6, ._549 + 20 @ \n\
+ push {r4, r5, r6, r7, lr}\n\
+ mov r7, sl\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5, r6, r7}\n\
+ ldr r6, ._549 @ gActiveBank\n\
+ ldrb r0, [r6]\n\
+ lsl r0, r0, #0x9\n\
+ ldr r1, ._549 + 4 @ gBattleBufferA\n\
+ add r5, r0, r1\n\
+ ldr r2, ._549 + 8 @ gUnknown_02023A14_50\n\
+ ldrb r1, [r2]\n\
+ mov r0, #0x4\n\
+ and r0, r0, r1\n\
+ mov sl, r6\n\
+ cmp r0, #0\n\
+ beq ._546 @cond_branch\n\
+ ldr r0, ._549 + 12 @ gBattleMoves\n\
+ mov r9, r0\n\
+ ldr r1, ._549 + 16 @ \n\
+ mov ip, r1\n\
+ add r7, r6, #0\n\
+ mov r0, #0x2\n\
+ mov r8, r0\n\
+ ldr r6, ._549 + 20 @ \n\
._552:\n\
- ldrb r1, [r7]\n\
- mov r0, r8\n\
- and r0, r0, r1\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x19\n\
- add r0, r0, r6\n\
- mov r1, ip\n\
- add r3, r0, r1\n\
- ldrb r1, [r3]\n\
- lsl r0, r1, #0x1\n\
- add r0, r5, r0\n\
- ldrh r2, [r0]\n\
- add r4, r1, #0\n\
- cmp r2, #0\n\
- beq ._547 @cond_branch\n\
- add r0, r4, #1\n\
- strb r0, [r3]\n\
- b ._548\n\
+ ldrb r1, [r7]\n\
+ mov r0, r8\n\
+ and r0, r0, r1\n\
+ lsl r0, r0, #0x18\n\
+ lsr r0, r0, #0x19\n\
+ add r0, r0, r6\n\
+ mov r1, ip\n\
+ add r3, r0, r1\n\
+ ldrb r1, [r3]\n\
+ lsl r0, r1, #0x1\n\
+ add r0, r5, r0\n\
+ ldrh r2, [r0]\n\
+ add r4, r1, #0\n\
+ cmp r2, #0\n\
+ beq ._547 @cond_branch\n\
+ add r0, r4, #1\n\
+ strb r0, [r3]\n\
+ b ._548\n\
._550:\n\
- .align 2, 0\n\
+ .align 2, 0\n\
._549:\n\
- .word gActiveBank\n\
- .word gBattleBufferA+4\n\
- .word gUnknown_02023A14_50\n\
- .word gBattleMoves\n\
- .word +0x2000000\n\
- .word 0x1609e\n\
+ .word gActiveBank\n\
+ .word gBattleBufferA+4\n\
+ .word gUnknown_02023A14_50\n\
+ .word gBattleMoves\n\
+ .word +0x2000000\n\
+ .word 0x1609e\n\
._547:\n\
- strb r2, [r3]\n\
+ strb r2, [r3]\n\
._548:\n\
- ldrb r0, [r7]\n\
- mov r1, r8\n\
- and r1, r1, r0\n\
- lsl r1, r1, #0x18\n\
- lsr r1, r1, #0x19\n\
- add r1, r1, r6\n\
- add r1, r1, ip\n\
- ldrb r0, [r1]\n\
- cmp r0, #0x3\n\
- bls ._551 @cond_branch\n\
- mov r0, #0x0\n\
- strb r0, [r1]\n\
+ ldrb r0, [r7]\n\
+ mov r1, r8\n\
+ and r1, r1, r0\n\
+ lsl r1, r1, #0x18\n\
+ lsr r1, r1, #0x19\n\
+ add r1, r1, r6\n\
+ add r1, r1, ip\n\
+ ldrb r0, [r1]\n\
+ cmp r0, #0x3\n\
+ bls ._551 @cond_branch\n\
+ mov r0, #0x0\n\
+ strb r0, [r1]\n\
._551:\n\
- cmp r2, #0\n\
- beq ._552 @cond_branch\n\
- lsl r0, r2, #0x1\n\
- add r0, r0, r2\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r9\n\
- ldrb r3, [r0, #0x6]\n\
- mov r0, #0x12\n\
- and r0, r0, r3\n\
- cmp r0, #0\n\
- beq ._553 @cond_branch\n\
- mov r1, sl\n\
- ldrb r0, [r1]\n\
- b ._561\n\
+ cmp r2, #0\n\
+ beq ._552 @cond_branch\n\
+ lsl r0, r2, #0x1\n\
+ add r0, r0, r2\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r9\n\
+ ldrb r3, [r0, #0x6]\n\
+ mov r0, #0x12\n\
+ and r0, r0, r3\n\
+ cmp r0, #0\n\
+ beq ._553 @cond_branch\n\
+ mov r1, sl\n\
+ ldrb r0, [r1]\n\
+ b ._561\n\
._553:\n\
- ldr r0, ._559 @ gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- mov r0, #0x1\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._557 @cond_branch\n\
- ldr r0, ._559 + 4 @ gUnknown_02023A14_50\n\
- ldrb r1, [r0]\n\
- mov r5, #0x2\n\
- add r0, r5, #0\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._556 @cond_branch\n\
- cmp r3, #0\n\
- bne ._557 @cond_branch\n\
- mov r1, sl\n\
- ldrb r0, [r1]\n\
- bl GetBankIdentity\n\
- mov r1, #0x2\n\
- eor r0, r0, r1\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
- b ._558\n\
+ ldr r0, ._559 @ gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._557 @cond_branch\n\
+ ldr r0, ._559 + 4 @ gUnknown_02023A14_50\n\
+ ldrb r1, [r0]\n\
+ mov r5, #0x2\n\
+ add r0, r5, #0\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._556 @cond_branch\n\
+ cmp r3, #0\n\
+ bne ._557 @cond_branch\n\
+ mov r1, sl\n\
+ ldrb r0, [r1]\n\
+ bl GetBankIdentity\n\
+ mov r1, #0x2\n\
+ eor r0, r0, r1\n\
+ lsl r0, r0, #0x18\n\
+ lsr r0, r0, #0x18\n\
+ b ._558\n\
._560:\n\
- .align 2, 0\n\
+ .align 2, 0\n\
._559:\n\
- .word gBattleTypeFlags\n\
- .word gUnknown_02023A14_50\n\
+ .word gBattleTypeFlags\n\
+ .word gUnknown_02023A14_50\n\
._556:\n\
- bl Random\n\
- add r1, r5, #0\n\
- and r1, r1, r0\n\
- lsl r1, r1, #0x10\n\
- lsr r0, r1, #0x10\n\
- b ._561\n\
+ bl Random\n\
+ add r1, r5, #0\n\
+ and r1, r1, r0\n\
+ lsl r1, r1, #0x10\n\
+ lsr r0, r1, #0x10\n\
+ b ._561\n\
._557:\n\
- mov r0, #0x0\n\
+ mov r0, #0x0\n\
._558:\n\
- bl GetBankByIdentity\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
+ bl GetBankByIdentity\n\
+ lsl r0, r0, #0x18\n\
+ lsr r0, r0, #0x18\n\
._561:\n\
- lsl r2, r0, #0x8\n\
- orr r2, r2, r4\n\
- mov r0, #0x1\n\
- mov r1, #0xa\n\
+ lsl r2, r0, #0x8\n\
+ orr r2, r2, r4\n\
+ mov r0, #0x1\n\
+ mov r1, #0xa\n\
._569:\n\
- bl Emitcmd33\n\
+ bl Emitcmd33\n\
._573:\n\
- bl OpponentBufferExecCompleted\n\
- b ._562\n\
+ bl OpponentBufferExecCompleted\n\
+ b ._562\n\
._546:\n\
- ldr r0, ._567 @ gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- mov r0, #0x93\n\
- lsl r0, r0, #0x3\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._563 @cond_branch\n\
- bl BattleAI_SetupAIData\n\
- bl BattleAI_GetAIActionToUse\n\
- lsl r0, r0, #0x18\n\
- lsr r4, r0, #0x18\n\
- cmp r4, #0x4\n\
- beq ._564 @cond_branch\n\
- cmp r4, #0x5\n\
- bne ._565 @cond_branch\n\
- mov r0, #0x1\n\
- mov r1, #0x4\n\
- b ._566\n\
+ ldr r0, ._567 @ gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x93\n\
+ lsl r0, r0, #0x3\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._563 @cond_branch\n\
+ bl BattleAI_SetupAIData\n\
+ bl BattleAI_GetAIActionToUse\n\
+ lsl r0, r0, #0x18\n\
+ lsr r4, r0, #0x18\n\
+ cmp r4, #0x4\n\
+ beq ._564 @cond_branch\n\
+ cmp r4, #0x5\n\
+ bne ._565 @cond_branch\n\
+ mov r0, #0x1\n\
+ mov r1, #0x4\n\
+ b ._566\n\
._568:\n\
- .align 2, 0\n\
+ .align 2, 0\n\
._567:\n\
- .word gBattleTypeFlags\n\
+ .word gBattleTypeFlags\n\
._564:\n\
- mov r0, #0x1\n\
- mov r1, #0x3\n\
+ mov r0, #0x1\n\
+ mov r1, #0x3\n\
._566:\n\
- mov r2, #0x0\n\
- b ._569\n\
+ mov r2, #0x0\n\
+ b ._569\n\
._565:\n\
- ldr r3, ._574 @ gBattleMoves\n\
- lsl r0, r4, #0x1\n\
- add r2, r5, r0\n\
- ldrh r1, [r2]\n\
- lsl r0, r1, #0x1\n\
- add r0, r0, r1\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r3\n\
- ldrb r1, [r0, #0x6]\n\
- mov r0, #0x12\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._570 @cond_branch\n\
- ldr r1, ._574 + 4 @ gBankTarget\n\
- ldrb r0, [r6]\n\
- strb r0, [r1]\n\
+ ldr r3, ._574 @ gBattleMoves\n\
+ lsl r0, r4, #0x1\n\
+ add r2, r5, r0\n\
+ ldrh r1, [r2]\n\
+ lsl r0, r1, #0x1\n\
+ add r0, r0, r1\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r3\n\
+ ldrb r1, [r0, #0x6]\n\
+ mov r0, #0x12\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._570 @cond_branch\n\
+ ldr r1, ._574 + 4 @ gBankTarget\n\
+ ldrb r0, [r6]\n\
+ strb r0, [r1]\n\
._570:\n\
- ldrh r1, [r2]\n\
- lsl r0, r1, #0x1\n\
- add r0, r0, r1\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r3\n\
- ldrb r1, [r0, #0x6]\n\
- mov r0, #0x8\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._572 @cond_branch\n\
- mov r0, #0x0\n\
- bl GetBankByIdentity\n\
- ldr r5, ._574 + 4 @ gBankTarget\n\
- strb r0, [r5]\n\
- ldr r0, ._574 + 8 @ gAbsentBankFlags\n\
- ldrb r1, [r0]\n\
- ldr r2, ._574 + 12 @ gBitTable\n\
- ldrb r0, [r5]\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r2\n\
- ldr r0, [r0]\n\
- and r1, r1, r0\n\
- cmp r1, #0\n\
- beq ._572 @cond_branch\n\
- mov r0, #0x2\n\
- bl GetBankByIdentity\n\
- strb r0, [r5]\n\
+ ldrh r1, [r2]\n\
+ lsl r0, r1, #0x1\n\
+ add r0, r0, r1\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r3\n\
+ ldrb r1, [r0, #0x6]\n\
+ mov r0, #0x8\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._572 @cond_branch\n\
+ mov r0, #0x0\n\
+ bl GetBankByIdentity\n\
+ ldr r5, ._574 + 4 @ gBankTarget\n\
+ strb r0, [r5]\n\
+ ldr r0, ._574 + 8 @ gAbsentBankFlags\n\
+ ldrb r1, [r0]\n\
+ ldr r2, ._574 + 12 @ gBitTable\n\
+ ldrb r0, [r5]\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r2\n\
+ ldr r0, [r0]\n\
+ and r1, r1, r0\n\
+ cmp r1, #0\n\
+ beq ._572 @cond_branch\n\
+ mov r0, #0x2\n\
+ bl GetBankByIdentity\n\
+ strb r0, [r5]\n\
._572:\n\
- ldr r0, ._574 + 4 @ gBankTarget\n\
- ldrb r2, [r0]\n\
- lsl r2, r2, #0x8\n\
- orr r2, r2, r4\n\
- mov r0, #0x1\n\
- mov r1, #0xa\n\
- bl Emitcmd33\n\
- b ._573\n\
+ ldr r0, ._574 + 4 @ gBankTarget\n\
+ ldrb r2, [r0]\n\
+ lsl r2, r2, #0x8\n\
+ orr r2, r2, r4\n\
+ mov r0, #0x1\n\
+ mov r1, #0xa\n\
+ bl Emitcmd33\n\
+ b ._573\n\
._575:\n\
- .align 2, 0\n\
+ .align 2, 0\n\
._574:\n\
- .word gBattleMoves\n\
- .word gBankTarget\n\
- .word gAbsentBankFlags\n\
- .word gBitTable\n\
+ .word gBattleMoves\n\
+ .word gBankTarget\n\
+ .word gAbsentBankFlags\n\
+ .word gBitTable\n\
._563:\n\
- mov r6, #0x3\n\
+ mov r6, #0x3\n\
._576:\n\
- bl Random\n\
- add r4, r0, #0\n\
- and r4, r4, r6\n\
- lsl r0, r4, #0x1\n\
- add r0, r5, r0\n\
- ldrh r2, [r0]\n\
- cmp r2, #0\n\
- beq ._576 @cond_branch\n\
- ldr r1, ._579 @ gBattleMoves\n\
- lsl r0, r2, #0x1\n\
- add r0, r0, r2\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r1\n\
- ldrb r1, [r0, #0x6]\n\
- mov r0, #0x12\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._577 @cond_branch\n\
- ldr r0, ._579 + 4 @ gActiveBank\n\
- ldrb r2, [r0]\n\
- lsl r2, r2, #0x8\n\
- b ._578\n\
+ bl Random\n\
+ add r4, r0, #0\n\
+ and r4, r4, r6\n\
+ lsl r0, r4, #0x1\n\
+ add r0, r5, r0\n\
+ ldrh r2, [r0]\n\
+ cmp r2, #0\n\
+ beq ._576 @cond_branch\n\
+ ldr r1, ._579 @ gBattleMoves\n\
+ lsl r0, r2, #0x1\n\
+ add r0, r0, r2\n\
+ lsl r0, r0, #0x2\n\
+ add r0, r0, r1\n\
+ ldrb r1, [r0, #0x6]\n\
+ mov r0, #0x12\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._577 @cond_branch\n\
+ ldr r0, ._579 + 4 @ gActiveBank\n\
+ ldrb r2, [r0]\n\
+ lsl r2, r2, #0x8\n\
+ b ._578\n\
._580:\n\
- .align 2, 0\n\
+ .align 2, 0\n\
._579:\n\
- .word gBattleMoves\n\
- .word gActiveBank\n\
+ .word gBattleMoves\n\
+ .word gActiveBank\n\
._577:\n\
- ldr r0, ._583 @ gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- mov r0, #0x1\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._581 @cond_branch\n\
- bl Random\n\
- mov r1, #0x2\n\
- and r1, r1, r0\n\
- lsl r1, r1, #0x18\n\
- lsr r1, r1, #0x18\n\
- add r0, r1, #0\n\
- bl GetBankByIdentity\n\
- add r2, r0, #0\n\
- lsl r2, r2, #0x18\n\
- lsr r2, r2, #0x10\n\
+ ldr r0, ._583 @ gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ mov r0, #0x1\n\
+ and r0, r0, r1\n\
+ cmp r0, #0\n\
+ beq ._581 @cond_branch\n\
+ bl Random\n\
+ mov r1, #0x2\n\
+ and r1, r1, r0\n\
+ lsl r1, r1, #0x18\n\
+ lsr r1, r1, #0x18\n\
+ add r0, r1, #0\n\
+ bl GetBankByIdentity\n\
+ add r2, r0, #0\n\
+ lsl r2, r2, #0x18\n\
+ lsr r2, r2, #0x10\n\
._578:\n\
- orr r2, r2, r4\n\
- mov r0, #0x1\n\
- mov r1, #0xa\n\
- bl Emitcmd33\n\
- b ._582\n\
+ orr r2, r2, r4\n\
+ mov r0, #0x1\n\
+ mov r1, #0xa\n\
+ bl Emitcmd33\n\
+ b ._582\n\
._584:\n\
- .align 2, 0\n\
+ .align 2, 0\n\
._583:\n\
- .word gBattleTypeFlags\n\
+ .word gBattleTypeFlags\n\
._581:\n\
- mov r0, #0x0\n\
- bl GetBankByIdentity\n\
- add r2, r0, #0\n\
- lsl r2, r2, #0x18\n\
- lsr r2, r2, #0x10\n\
- orr r2, r2, r4\n\
- mov r0, #0x1\n\
- mov r1, #0xa\n\
- bl Emitcmd33\n\
+ mov r0, #0x0\n\
+ bl GetBankByIdentity\n\
+ add r2, r0, #0\n\
+ lsl r2, r2, #0x18\n\
+ lsr r2, r2, #0x10\n\
+ orr r2, r2, r4\n\
+ mov r0, #0x1\n\
+ mov r1, #0xa\n\
+ bl Emitcmd33\n\
._582:\n\
- bl OpponentBufferExecCompleted\n\
+ bl OpponentBufferExecCompleted\n\
._562:\n\
- pop {r3, r4, r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov sl, r5\n\
- pop {r4, r5, r6, r7}\n\
- pop {r0}\n\
- bx r0");
+ pop {r3, r4, r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov sl, r5\n\
+ pop {r4, r5, r6, r7}\n\
+ pop {r0}\n\
+ bx r0");
}
#else
#ifdef NONMATCHING
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index e28c058a3..fb2c5ed51 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -42,6 +42,8 @@ extern struct Window gUnknown_03004210;
extern void (*gBattleBankFunc[])(void);
+extern u8 gBankAttacker;
+extern u8 gBankTarget;
extern u32 gOamMatrixAllocBitmap;
extern u8 gUnknown_020297ED;
extern u8 gActiveBank;
@@ -115,7 +117,6 @@ extern void sub_802D18C(void);
extern void sub_802DF18(void);
extern void BufferStringBattle();
extern void sub_80326EC();
-extern void DoMoveAnim();
extern void sub_8031F24(void);
extern void sub_80324BC();
extern u8 sub_8031720();
@@ -1001,685 +1002,163 @@ void sub_802D18C(void)
}
#if DEBUG
-__attribute__((naked))
+
+void debug_sub_803107C(void);
+
void debug_sub_8030C24(void)
{
- asm("\
- push {r4, r5, r6, lr}\n\
- add sp, sp, #0xfffffff4\n\
- ldr r1, ._293 @ gBattlePartyID\n\
- ldr r4, ._293 + 4 @ gActiveBank\n\
- ldrb r0, [r4]\n\
- lsl r0, r0, #0x1\n\
- add r0, r0, r1\n\
- ldrh r1, [r0]\n\
- mov r0, #0x64\n\
- mul r0, r0, r1\n\
- ldr r1, ._293 + 8 @ gPlayerParty\n\
- add r0, r0, r1\n\
- mov r1, #0xd\n\
- bl GetMonData\n\
- add r1, sp, #0x8\n\
- strh r0, [r1]\n\
- ldr r5, ._293 + 12 @ gMain\n\
- ldrh r1, [r5, #0x30]\n\
- cmp r1, #0x20\n\
- bne ._286 @cond_branch\n\
- b ._287\n\
-._286:\n\
- cmp r1, #0x20\n\
- bgt ._288 @cond_branch\n\
- cmp r1, #0x8\n\
- beq ._289 @cond_branch\n\
- cmp r1, #0x8\n\
- bgt ._290 @cond_branch\n\
- cmp r1, #0x4\n\
- beq ._291 @cond_branch\n\
- b ._348\n\
-._294:\n\
- .align 2, 0\n\
-._293:\n\
- .word gBattlePartyID\n\
- .word gActiveBank\n\
- .word gPlayerParty\n\
- .word gMain\n\
-._290:\n\
- cmp r1, #0x10\n\
- bne ._295 @cond_branch\n\
- b ._296\n\
-._295:\n\
- b ._348\n\
-._288:\n\
- cmp r1, #0x80\n\
- bne ._298 @cond_branch\n\
- b ._302\n\
-._298:\n\
- cmp r1, #0x80\n\
- bgt ._300 @cond_branch\n\
- cmp r1, #0x40\n\
- bne ._301 @cond_branch\n\
- b ._302\n\
-._301:\n\
- b ._348\n\
-._300:\n\
- mov r0, #0x80\n\
- lsl r0, r0, #0x1\n\
- cmp r1, r0\n\
- bne ._304 @cond_branch\n\
- b ._305\n\
-._304:\n\
- mov r0, #0x80\n\
- lsl r0, r0, #0x2\n\
- cmp r1, r0\n\
- bne ._306 @cond_branch\n\
- b ._307\n\
-._306:\n\
- b ._348\n\
-._289:\n\
- ldrb r0, [r4]\n\
- mov r1, #0x1\n\
- bl dp11b_obj_free\n\
- ldrb r0, [r4]\n\
- mov r1, #0x0\n\
- bl dp11b_obj_free\n\
- ldr r0, ._312 @ gBankAttacker\n\
- ldrb r2, [r4]\n\
- strb r2, [r0]\n\
- ldrh r1, [r5, #0x28]\n\
- mov r0, #0x2\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._310 @cond_branch\n\
- ldr r0, ._312 + 4 @ gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- mov r0, #0x1\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._310 @cond_branch\n\
- ldr r0, ._312 + 8 @ gBankTarget\n\
- mov r1, #0x2\n\
- eor r1, r1, r2\n\
- strb r1, [r0]\n\
- b ._311\n\
-._313:\n\
- .align 2, 0\n\
-._312:\n\
- .word gBankAttacker\n\
- .word gBattleTypeFlags\n\
- .word gBankTarget\n\
-._310:\n\
- ldr r0, ._317 @ gMain\n\
- ldrh r1, [r0, #0x28]\n\
- mov r2, #0x1\n\
- add r0, r2, #0\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._315 @cond_branch\n\
- ldr r0, ._317 + 4 @ gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- add r0, r2, #0\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._315 @cond_branch\n\
- mov r0, #0x3\n\
- b ._316\n\
-._318:\n\
- .align 2, 0\n\
-._317:\n\
- .word gMain\n\
- .word gBattleTypeFlags\n\
-._315:\n\
- mov r0, #0x1\n\
-._316:\n\
- bl GetBankByIdentity\n\
- ldr r1, ._320 @ gBankTarget\n\
- strb r0, [r1]\n\
-._311:\n\
- mov r0, #0x0\n\
- bl sub_80326EC\n\
- add r0, sp, #0x8\n\
- ldrh r0, [r0]\n\
- bl DoMoveAnim\n\
- ldr r1, ._320 + 4 @ gBattleBankFunc\n\
- ldr r0, ._320 + 8 @ gActiveBank\n\
- ldrb r0, [r0]\n\
- b ._332\n\
-._321:\n\
- .align 2, 0\n\
-._320:\n\
- .word gBankTarget\n\
- .word gBattleBankFunc\n\
- .word gActiveBank\n\
-._291:\n\
- ldrb r0, [r4]\n\
- mov r1, #0x1\n\
- bl dp11b_obj_free\n\
- ldrb r0, [r4]\n\
- mov r1, #0x0\n\
- bl dp11b_obj_free\n\
- ldr r0, ._325 @ gBankTarget\n\
- ldrb r2, [r4]\n\
- strb r2, [r0]\n\
- ldrh r1, [r5, #0x28]\n\
- mov r0, #0x2\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._323 @cond_branch\n\
- ldr r0, ._325 + 4 @ gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- mov r0, #0x1\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._323 @cond_branch\n\
- ldr r0, ._325 + 8 @ gBankAttacker\n\
- mov r1, #0x2\n\
- eor r1, r1, r2\n\
- strb r1, [r0]\n\
- b ._324\n\
-._326:\n\
- .align 2, 0\n\
-._325:\n\
- .word gBankTarget\n\
- .word gBattleTypeFlags\n\
- .word gBankAttacker\n\
-._323:\n\
- ldr r0, ._330 @ gMain\n\
- ldrh r1, [r0, #0x28]\n\
- mov r2, #0x1\n\
- add r0, r2, #0\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._328 @cond_branch\n\
- ldr r0, ._330 + 4 @ gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- add r0, r2, #0\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._328 @cond_branch\n\
- mov r0, #0x3\n\
- b ._329\n\
-._331:\n\
- .align 2, 0\n\
-._330:\n\
- .word gMain\n\
- .word gBattleTypeFlags\n\
-._328:\n\
- mov r0, #0x1\n\
-._329:\n\
- bl GetBankByIdentity\n\
- ldr r1, ._333 @ gBankAttacker\n\
- strb r0, [r1]\n\
-._324:\n\
- mov r0, #0x0\n\
- bl sub_80326EC\n\
- add r0, sp, #0x8\n\
- ldrh r0, [r0]\n\
- bl DoMoveAnim\n\
- ldr r1, ._333 + 4 @ gBattleBankFunc\n\
- ldr r0, ._333 + 8 @ gActiveBank\n\
- ldrb r0, [r0]\n\
- b ._332\n\
-._334:\n\
- .align 2, 0\n\
-._333:\n\
- .word gBankAttacker\n\
- .word gBattleBankFunc\n\
- .word gActiveBank\n\
-._305:\n\
- ldrh r1, [r5, #0x28]\n\
- mov r0, #0x2\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._336 @cond_branch\n\
- ldr r0, ._338 @ gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- mov r0, #0x1\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._336 @cond_branch\n\
- ldrb r0, [r4]\n\
- mov r1, #0x1\n\
- bl dp11b_obj_free\n\
- ldrb r0, [r4]\n\
- mov r1, #0x0\n\
- bl dp11b_obj_free\n\
- mov r0, #0x3\n\
- bl GetBankByIdentity\n\
- ldr r1, ._338 + 4 @ gBankAttacker\n\
- strb r0, [r1]\n\
- mov r0, #0x1\n\
- b ._337\n\
-._339:\n\
- .align 2, 0\n\
-._338:\n\
- .word gBattleTypeFlags\n\
- .word gBankAttacker\n\
-._336:\n\
- add r0, sp, #0x8\n\
- mov r1, #0x0\n\
- ldsh r0, [r0, r1]\n\
- add r0, r0, #0x9\n\
- add r1, sp, #0x8\n\
- strh r0, [r1]\n\
-._296:\n\
- add r0, sp, #0x8\n\
- mov r2, #0x0\n\
- ldsh r0, [r0, r2]\n\
- add r0, r0, #0x1\n\
- lsl r2, r0, #0x10\n\
- add r1, sp, #0x8\n\
- strh r0, [r1]\n\
- mov r0, #0xb1\n\
- lsl r0, r0, #0x11\n\
- cmp r2, r0\n\
- ble ._347 @cond_branch\n\
- mov r1, #0x1\n\
- add r0, sp, #0x8\n\
- strh r1, [r0]\n\
- b ._347\n\
-._307:\n\
- ldrh r1, [r5, #0x28]\n\
- mov r0, #0x2\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._343 @cond_branch\n\
- ldr r0, ._345 @ gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- mov r0, #0x1\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._343 @cond_branch\n\
- ldrb r0, [r4]\n\
- mov r1, #0x1\n\
- bl dp11b_obj_free\n\
- ldrb r0, [r4]\n\
- mov r1, #0x0\n\
- bl dp11b_obj_free\n\
- mov r0, #0x1\n\
- bl GetBankByIdentity\n\
- ldr r1, ._345 + 4 @ gBankAttacker\n\
- strb r0, [r1]\n\
- mov r0, #0x3\n\
-._337:\n\
- bl GetBankByIdentity\n\
- ldr r1, ._345 + 8 @ gBankTarget\n\
- strb r0, [r1]\n\
- mov r0, #0x0\n\
- bl sub_80326EC\n\
- add r0, sp, #0x8\n\
- ldrh r0, [r0]\n\
- bl DoMoveAnim\n\
- ldr r1, ._345 + 12 @ gBattleBankFunc\n\
- ldrb r0, [r4]\n\
-._332:\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r1\n\
- ldr r1, ._345 + 16 @ debug_sub_803107C\n\
- str r1, [r0]\n\
- b ._348\n\
-._346:\n\
- .align 2, 0\n\
-._345:\n\
- .word gBattleTypeFlags\n\
- .word gBankAttacker\n\
- .word gBankTarget\n\
- .word gBattleBankFunc\n\
- .word debug_sub_803107C+1\n\
-._343:\n\
- add r1, sp, #0x8\n\
- add r0, r1, #0\n\
- ldrh r0, [r0]\n\
- sub r0, r0, #0x9\n\
- strh r0, [r1]\n\
-._287:\n\
- add r1, sp, #0x8\n\
- add r0, r1, #0\n\
- ldrh r0, [r0]\n\
- sub r0, r0, #0x1\n\
- strh r0, [r1]\n\
- lsl r0, r0, #0x10\n\
- cmp r0, #0\n\
- bgt ._347 @cond_branch\n\
- mov r2, #0xb1\n\
- lsl r2, r2, #0x1\n\
- add r0, r2, #0\n\
- strh r0, [r1]\n\
-._347:\n\
- ldr r1, ._349 @ gBattlePartyID\n\
- ldr r4, ._349 + 4 @ gActiveBank\n\
- ldrb r0, [r4]\n\
- lsl r0, r0, #0x1\n\
- add r0, r0, r1\n\
- ldrh r1, [r0]\n\
- mov r0, #0x64\n\
- mul r0, r0, r1\n\
- ldr r1, ._349 + 8 @ gPlayerParty\n\
- add r0, r0, r1\n\
- mov r1, #0xd\n\
- add r2, sp, #0x8\n\
- bl SetMonData\n\
- ldr r2, ._349 + 12 @ gBattleMons\n\
- ldrb r1, [r4]\n\
- mov r0, #0x58\n\
- mul r0, r0, r1\n\
- add r0, r0, r2\n\
- add r1, sp, #0x8\n\
- ldrh r1, [r1]\n\
- strh r1, [r0, #0xc]\n\
- ldr r5, ._349 + 16 @ gUnknown_03004210\n\
- ldr r1, ._349 + 20 @ 0x1016\n\
- mov r0, #0x10\n\
- str r0, [sp]\n\
- mov r0, #0x38\n\
- str r0, [sp, #0x4]\n\
- add r0, r5, #0\n\
- mov r2, #0x1\n\
- mov r3, #0x37\n\
- bl Text_FillWindowRect\n\
- add r0, sp, #0x8\n\
- mov r2, #0x0\n\
- ldsh r1, [r0, r2]\n\
- mov r0, #0xd\n\
- mul r1, r1, r0\n\
- ldr r0, ._349 + 24 @ gMoveNames\n\
- add r1, r1, r0\n\
- mov r2, #0x80\n\
- lsl r2, r2, #0x1\n\
- mov r6, #0x37\n\
- str r6, [sp]\n\
- add r0, r5, #0\n\
- mov r3, #0x2\n\
- bl Text_InitWindowAndPrintText\n\
- ldr r4, ._349 + 28 @ gDisplayedStringBattle\n\
- add r0, sp, #0x8\n\
- mov r2, #0x0\n\
- ldsh r1, [r0, r2]\n\
- add r0, r4, #0\n\
- mov r2, #0x2\n\
- mov r3, #0x3\n\
- bl ConvertIntToDecimalStringN\n\
- mov r2, #0x88\n\
- lsl r2, r2, #0x1\n\
- str r6, [sp]\n\
- add r0, r5, #0\n\
- add r1, r4, #0\n\
- mov r3, #0xa\n\
- bl Text_InitWindowAndPrintText\n\
- b ._348\n\
-._350:\n\
- .align 2, 0\n\
-._349:\n\
- .word gBattlePartyID\n\
- .word gActiveBank\n\
- .word gPlayerParty\n\
- .word gBattleMons\n\
- .word gUnknown_03004210\n\
- .word 0x1016\n\
- .word gMoveNames\n\
- .word gDisplayedStringBattle\n\
-._302:\n\
- ldr r0, ._353 @ gMain\n\
- ldrh r0, [r0, #0x30]\n\
- cmp r0, #0x40\n\
- bne ._351 @cond_branch\n\
- ldr r1, ._353 + 4 @ gAnimMoveTurn\n\
- ldrb r0, [r1]\n\
- sub r0, r0, #0x1\n\
- b ._352\n\
-._354:\n\
- .align 2, 0\n\
-._353:\n\
- .word gMain\n\
- .word gAnimMoveTurn\n\
-._351:\n\
- ldr r1, ._359 @ gAnimMoveTurn\n\
- ldrb r0, [r1]\n\
- add r0, r0, #0x1\n\
-._352:\n\
- strb r0, [r1]\n\
- ldr r4, ._359 + 4 @ gDisplayedStringBattle\n\
- ldrb r1, [r1]\n\
- add r0, r4, #0\n\
- mov r2, #0x2\n\
- mov r3, #0x3\n\
- bl ConvertIntToDecimalStringN\n\
- ldr r0, ._359 + 8 @ gUnknown_03004210\n\
- mov r2, #0x8e\n\
- lsl r2, r2, #0x1\n\
- mov r1, #0x39\n\
- str r1, [sp]\n\
- add r1, r4, #0\n\
- mov r3, #0x4\n\
- bl Text_InitWindowAndPrintText\n\
-._348:\n\
- ldr r0, ._359 + 12 @ gMain\n\
- ldrh r2, [r0, #0x28]\n\
- mov r1, #0xc0\n\
- lsl r1, r1, #0x2\n\
- add r0, r1, #0\n\
- and r0, r0, r2\n\
- cmp r0, r1\n\
- bne ._355 @cond_branch\n\
- mov r4, #0x0\n\
- ldr r5, ._359 + 4 @ gDisplayedStringBattle\n\
- ldr r6, ._359 + 8 @ gUnknown_03004210\n\
-._361:\n\
- add r0, r5, #0\n\
- ldr r1, ._359 + 16 @ BattleText_Format\n\
- bl StringCopy\n\
- ldr r1, ._359 + 20 @ gBattlePartyID\n\
- ldr r0, ._359 + 24 @ gActiveBank\n\
- ldrb r0, [r0]\n\
- lsl r0, r0, #0x1\n\
- add r0, r0, r1\n\
- ldrh r1, [r0]\n\
- mov r0, #0x64\n\
- mul r0, r0, r1\n\
- ldr r1, ._359 + 28 @ gPlayerParty\n\
- add r0, r0, r1\n\
- add r1, r4, #0\n\
- add r1, r1, #0xd\n\
- bl GetMonData\n\
- mov r1, #0xd\n\
- mul r1, r1, r0\n\
- ldr r0, ._359 + 32 @ gMoveNames\n\
- add r1, r1, r0\n\
- add r0, r5, #0\n\
- bl StringAppend\n\
- lsl r0, r4, #0x14\n\
- mov r1, #0x80\n\
- lsl r1, r1, #0x11\n\
- add r0, r0, r1\n\
- lsr r2, r0, #0x10\n\
- mov r0, #0x1\n\
- and r0, r0, r4\n\
- mov r3, #0x2\n\
- cmp r0, #0\n\
- beq ._356 @cond_branch\n\
- mov r3, #0xa\n\
-._356:\n\
- cmp r4, #0x1\n\
- bhi ._357 @cond_branch\n\
- mov r0, #0x37\n\
- b ._358\n\
-._360:\n\
- .align 2, 0\n\
-._359:\n\
- .word gAnimMoveTurn\n\
- .word gDisplayedStringBattle\n\
- .word gUnknown_03004210\n\
- .word gMain\n\
- .word BattleText_Format\n\
- .word gBattlePartyID\n\
- .word gActiveBank\n\
- .word gPlayerParty\n\
- .word gMoveNames\n\
-._357:\n\
- mov r0, #0x39\n\
-._358:\n\
- str r0, [sp]\n\
- add r0, r6, #0\n\
- add r1, r5, #0\n\
- bl Text_InitWindow\n\
- ldr r0, ._362 @ gUnknown_03004210\n\
- bl Text_PrintWindow8002F44\n\
- add r0, r4, #1\n\
- lsl r0, r0, #0x18\n\
- lsr r4, r0, #0x18\n\
- cmp r4, #0x3\n\
- bls ._361 @cond_branch\n\
- ldr r1, ._362 + 4 @ gBattleBankFunc\n\
- ldr r0, ._362 + 8 @ gActiveBank\n\
- ldrb r0, [r0]\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r1\n\
- ldr r1, ._362 + 12 @ sub_802C68C\n\
- str r1, [r0]\n\
-._355:\n\
- add sp, sp, #0xc\n\
- pop {r4, r5, r6}\n\
- pop {r0}\n\
- bx r0\n\
-._363:\n\
- .align 2, 0\n\
-._362:\n\
- .word gUnknown_03004210\n\
- .word gBattleBankFunc\n\
- .word gActiveBank\n\
- .word sub_802C68C+1");
+ s16 move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1);
+
+ switch (gMain.newAndRepeatedKeys)
+ {
+ case START_BUTTON:
+ dp11b_obj_free(gActiveBank, 1);
+ dp11b_obj_free(gActiveBank, 0);
+ gBankAttacker = gActiveBank;
+ if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ gBankTarget = gBankAttacker ^ 2;
+ else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ gBankTarget = GetBankByIdentity(3);
+ else
+ gBankTarget = GetBankByIdentity(1);
+ sub_80326EC(0);
+ DoMoveAnim(move);
+ gBattleBankFunc[gActiveBank] = debug_sub_803107C;
+ break;
+ case SELECT_BUTTON:
+ dp11b_obj_free(gActiveBank, 1);
+ dp11b_obj_free(gActiveBank, 0);
+ gBankTarget = gActiveBank;
+ if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ gBankAttacker = gBankTarget ^ 2;
+ else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ gBankAttacker = GetBankByIdentity(3);
+ else
+ gBankAttacker = GetBankByIdentity(1);
+ sub_80326EC(0);
+ DoMoveAnim(move);
+ gBattleBankFunc[gActiveBank] = debug_sub_803107C;
+ break;
+ case R_BUTTON:
+ if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ {
+ dp11b_obj_free(gActiveBank, 1);
+ dp11b_obj_free(gActiveBank, 0);
+ gBankAttacker = GetBankByIdentity(3);
+ gBankTarget = GetBankByIdentity(1);
+ sub_80326EC(0);
+ DoMoveAnim(move);
+ gBattleBankFunc[gActiveBank] = debug_sub_803107C;
+ }
+ else
+ {
+ move += 9;
+ case DPAD_RIGHT:
+ if (++move > 354)
+ move = 1;
+ SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1, &move);
+ gBattleMons[gActiveBank].moves[0] = move;
+ Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x38);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gMoveNames[move], 0x100, 2, 0x37);
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, move, 2, 3);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 272, 10, 0x37);
+ }
+ break;
+ case L_BUTTON:
+ if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ {
+ dp11b_obj_free(gActiveBank, 1);
+ dp11b_obj_free(gActiveBank, 0);
+ gBankAttacker = GetBankByIdentity(1);
+ gBankTarget = GetBankByIdentity(3);
+ sub_80326EC(0);
+ DoMoveAnim(move);
+ gBattleBankFunc[gActiveBank] = debug_sub_803107C;
+ }
+ else
+ {
+ move -= 9;
+ case DPAD_LEFT:
+ if (--move <= 0)
+ move = 354;
+ SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1, &move);
+ gBattleMons[gActiveBank].moves[0] = move;
+ Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x38);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gMoveNames[move], 0x100, 2, 0x37);
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, move, 2, 3);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 272, 10, 0x37);
+ }
+ break;
+ case DPAD_UP:
+ case DPAD_DOWN:
+ if (gMain.newAndRepeatedKeys == DPAD_UP)
+ gAnimMoveTurn--;
+ else
+ gAnimMoveTurn++;
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, gAnimMoveTurn, 2, 3);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 284, 4, 0x39);
+ break;
+ }
+
+ if ((gMain.heldKeysRaw & (L_BUTTON | R_BUTTON)) == (L_BUTTON | R_BUTTON))
+ {
+ u8 i;
+ u32 move;
+
+ for (i = 0; i < 4; i++)
+ {
+ StringCopy(gDisplayedStringBattle, BattleText_Format);
+ move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i);
+ StringAppend(gDisplayedStringBattle, gMoveNames[move]);
+ Text_InitWindow(
+ &gUnknown_03004210,
+ gDisplayedStringBattle,
+ 0x100 + i * 16,
+ (i & 1) ? 10 : 2,
+ (i < 2) ? 0x37 : 0x39);
+ Text_PrintWindow8002F44(&gUnknown_03004210);
+ }
+ gBattleBankFunc[gActiveBank] = sub_802C68C;
+ }
}
-__attribute__((naked))
void debug_sub_803107C(void)
{
- asm("\
- push {r4, r5, r6, r7, lr}\n\
- add sp, sp, #0xfffffffc\n\
- mov r7, #0x0\n\
- ldr r0, ._369 @ gAnimScriptCallback\n\
- ldr r0, [r0]\n\
- bl _call_via_r0\n\
- ldr r0, ._369 + 4 @ gAnimScriptActive\n\
- ldrb r0, [r0]\n\
- cmp r0, #0\n\
- bne ._364 @cond_branch\n\
- mov r0, #0x1\n\
- bl sub_80326EC\n\
- ldr r4, ._369 + 8 @ gActiveBank\n\
- ldrb r0, [r4]\n\
- mov r1, #0x1\n\
- mov r2, #0x7\n\
- mov r3, #0x1\n\
- bl dp11b_obj_instanciate\n\
- ldrb r0, [r4]\n\
- mov r1, #0x0\n\
- mov r2, #0x7\n\
- mov r3, #0x1\n\
- bl dp11b_obj_instanciate\n\
- ldr r0, ._369 + 12 @ gSprites\n\
- add r2, r0, #0\n\
- add r2, r2, #0x3e\n\
- mov r1, #0x3f\n\
-._366:\n\
- ldrb r0, [r2]\n\
- lsl r0, r0, #0x1f\n\
- cmp r0, #0\n\
- beq ._365 @cond_branch\n\
- add r0, r7, #1\n\
- lsl r0, r0, #0x18\n\
- lsr r7, r0, #0x18\n\
-._365:\n\
- add r2, r2, #0x44\n\
- sub r1, r1, #0x1\n\
- cmp r1, #0\n\
- bge ._366 @cond_branch\n\
- ldr r4, ._369 + 16 @ gDisplayedStringBattle\n\
- add r0, r4, #0\n\
- add r1, r7, #0\n\
- mov r2, #0x2\n\
- mov r3, #0x2\n\
- bl ConvertIntToDecimalStringN\n\
- ldr r6, ._369 + 20 @ gUnknown_03004210\n\
- mov r2, #0x91\n\
- lsl r2, r2, #0x1\n\
- mov r5, #0x39\n\
- str r5, [sp]\n\
- add r0, r6, #0\n\
- add r1, r4, #0\n\
- mov r3, #0x8\n\
- bl Text_InitWindowAndPrintText\n\
- bl GetTaskCount\n\
- lsl r0, r0, #0x18\n\
- lsr r7, r0, #0x18\n\
- add r0, r4, #0\n\
- add r1, r7, #0\n\
- mov r2, #0x2\n\
- mov r3, #0x2\n\
- bl ConvertIntToDecimalStringN\n\
- mov r2, #0x93\n\
- lsl r2, r2, #0x1\n\
- str r5, [sp]\n\
- add r0, r6, #0\n\
- add r1, r4, #0\n\
- mov r3, #0xb\n\
- bl Text_InitWindowAndPrintText\n\
- mov r1, #0x0\n\
- mov r7, #0x0\n\
- ldr r0, ._369 + 24 @ gOamMatrixAllocBitmap\n\
- mov r3, #0x1\n\
- ldr r2, [r0]\n\
-._368:\n\
- add r0, r3, #0\n\
- LSL r0, r1\n\
- and r0, r0, r2\n\
- cmp r0, #0\n\
- beq ._367 @cond_branch\n\
- add r0, r7, #1\n\
- lsl r0, r0, #0x18\n\
- lsr r7, r0, #0x18\n\
-._367:\n\
- add r1, r1, #0x1\n\
- cmp r1, #0x1f\n\
- ble ._368 @cond_branch\n\
- ldr r4, ._369 + 16 @ gDisplayedStringBattle\n\
- add r0, r4, #0\n\
- add r1, r7, #0\n\
- mov r2, #0x2\n\
- mov r3, #0x2\n\
- bl ConvertIntToDecimalStringN\n\
- ldr r0, ._369 + 20 @ gUnknown_03004210\n\
- mov r2, #0x95\n\
- lsl r2, r2, #0x1\n\
- mov r1, #0x39\n\
- str r1, [sp]\n\
- add r1, r4, #0\n\
- mov r3, #0xe\n\
- bl Text_InitWindowAndPrintText\n\
- ldr r1, ._369 + 28 @ gBattleBankFunc\n\
- ldr r0, ._369 + 8 @ gActiveBank\n\
- ldrb r0, [r0]\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r1\n\
- ldr r1, ._369 + 32 @ debug_sub_8030C24\n\
- str r1, [r0]\n\
-._364:\n\
- add sp, sp, #0x4\n\
- pop {r4, r5, r6, r7}\n\
- pop {r0}\n\
- bx r0\n\
-._370:\n\
- .align 2, 0\n\
-._369:\n\
- .word gAnimScriptCallback\n\
- .word gAnimScriptActive\n\
- .word gActiveBank\n\
- .word gSprites\n\
- .word gDisplayedStringBattle\n\
- .word gUnknown_03004210\n\
- .word gOamMatrixAllocBitmap\n\
- .word gBattleBankFunc\n\
- .word debug_sub_8030C24+1");
+ u8 count = 0;
+
+ gAnimScriptCallback();
+ if (!gAnimScriptActive)
+ {
+ s32 i;
+
+ sub_80326EC(1);
+ dp11b_obj_instanciate(gActiveBank, 1, 7, 1);
+ dp11b_obj_instanciate(gActiveBank, 0, 7, 1);
+
+ for (i = 0, count = 0; i < MAX_SPRITES; i++)
+ {
+ if (gSprites[i].inUse)
+ count++;
+ }
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 290, 8, 0x39);
+
+ count = GetTaskCount();
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 294, 11, 0x39);
+
+ for (i = 0, count = 0; i < 32; i++)
+ {
+ if (gOamMatrixAllocBitmap & (1 << i))
+ count++;
+ }
+ ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2);
+ Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 298, 14, 0x39);
+
+ gBattleBankFunc[gActiveBank] = debug_sub_8030C24;
+ }
}
+
#endif
void sub_802D204(void)
diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c
index e9425e7e7..03cf8759d 100644
--- a/src/battle/battle_controller_safari.c
+++ b/src/battle/battle_controller_safari.c
@@ -276,12 +276,12 @@ void bx_battle_menu_t6_2(void)
#if DEBUG
else if (gMain.newKeys & R_BUTTON)
{
- if (!ewram17810[gActiveBank].unk0_5)
- move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, 4, 0);
+ if (!ewram17810[gActiveBank].unk0_5)
+ move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, 4, 0);
}
else if (gMain.newKeys & START_BUTTON)
{
- sub_804454C();
+ sub_804454C();
}
#endif
}
diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c
index 1532a0b2f..8b9cf9ea0 100644
--- a/src/battle/battle_records.c
+++ b/src/battle/battle_records.c
@@ -29,11 +29,11 @@ const struct DebugStruct1 gUnknown_Debug_4245CC[] =
{ 7, _("ナンバー7") },
};
-const u8 gUnknown_Debug_8424620[][4] =
+const struct {u8 unk0; u8 unk1;} gUnknown_Debug_8424620[] =
{
- { 1, 1, 0, 0 },
- { 2, 1, 0, 0 },
- { 3, 1, 0, 0 },
+ { 1, 1 },
+ { 2, 1 },
+ { 3, 1 },
};
#endif
@@ -64,7 +64,7 @@ static int GetLinkBattleRecordTotalBattles(struct LinkBattleRecord *record)
return record->wins + record->losses + record->draws;
}
-static int FindLinkBattleRecord(struct LinkBattleRecord *records, u8 *name, u16 trainerId)
+static int FindLinkBattleRecord(struct LinkBattleRecord *records, const u8 *name, u16 trainerId)
{
int i;
@@ -145,7 +145,7 @@ static void UpdateLinkBattleGameStats(int battleOutcome)
IncrementGameStat(stat);
}
-static void UpdateLinkBattleRecords_(struct LinkBattleRecord *records, u8 *name, u16 trainerId, int battleOutcome, u8 language)
+static void UpdateLinkBattleRecords_(struct LinkBattleRecord *records, const u8 *name, u16 trainerId, int battleOutcome, u8 language)
{
int index;
UpdateLinkBattleGameStats(battleOutcome);
@@ -224,62 +224,22 @@ void UpdateLinkBattleRecords(int id)
}
#if DEBUG
-__attribute__((naked))
void debug_sub_81257E0(void)
{
- asm("\
- push {r4, r5, r6, r7, lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- add sp, sp, #0xfffffffc\n\
- bl InitLinkBattleRecords\n\
- mov r5, #0x0\n\
- ldr r6, ._62 @ gUnknown_Debug_4245CC\n\
- sub r0, r6, #2\n\
- mov r8, r0\n\
- ldr r7, ._62 + 4 @ gLinkPlayers\n\
-._61:\n\
- ldr r0, ._62 + 8 @ gUnknown_Debug_8424620\n\
- lsl r3, r5, #0x2\n\
- add r3, r3, r0\n\
- ldrb r4, [r3]\n\
- sub r4, r4, #0x1\n\
- lsl r0, r4, #0x1\n\
- add r0, r0, r4\n\
- lsl r0, r0, #0x2\n\
- add r1, r0, r6\n\
- add r0, r0, r8\n\
- ldrh r2, [r0]\n\
- ldrb r3, [r3, #0x1]\n\
- ldr r0, ._62 + 12 @ gLinkPlayerMapObjects\n\
- lsl r4, r4, #0x2\n\
- add r4, r4, r0\n\
- ldrb r4, [r4, #0x1]\n\
- lsl r0, r4, #0x3\n\
- sub r0, r0, r4\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r7\n\
- ldrb r0, [r0, #0x1a]\n\
- str r0, [sp]\n\
- ldr r0, ._62 + 16 @ gSaveBlock1\n\
- bl UpdateLinkBattleRecords_\n\
- add r5, r5, #0x1\n\
- cmp r5, #0x2\n\
- bls ._61 @cond_branch\n\
- add sp, sp, #0x4\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4, r5, r6, r7}\n\
- pop {r0}\n\
- bx r0\n\
-._63:\n\
- .align 2, 0\n\
-._62:\n\
- .word gUnknown_Debug_4245CC+2\n\
- .word gLinkPlayers\n\
- .word gUnknown_Debug_8424620\n\
- .word gLinkPlayerMapObjects\n\
- .word gSaveBlock1+0x30b8");
+ u32 i;
+
+ InitLinkBattleRecords();
+ for (i = 0; i < 3; i++)
+ {
+ u32 id = gUnknown_Debug_8424620[i].unk0 - 1;
+
+ UpdateLinkBattleRecords_(
+ gSaveBlock1.linkBattleRecords,
+ gUnknown_Debug_4245CC[id].var1,
+ gUnknown_Debug_4245CC[id].var0,
+ gUnknown_Debug_8424620[i].unk1,
+ gLinkPlayers[gLinkPlayerMapObjects[id].linkPlayerId].language);
+ }
}
#endif
diff --git a/src/field/region_map.c b/src/field/region_map.c
index 7bfda1a81..bd625402b 100644
--- a/src/field/region_map.c
+++ b/src/field/region_map.c
@@ -1413,14 +1413,14 @@ static const u8 sUnknown_083E7920[][3] =
struct UnknownStruct4
{
- const u8 *const *unk0;
+ const u8 *const *partNames;
u16 mapSectionId;
- u16 flag;
+ u16 requiredFlag;
};
static const u8 *const sEverGrandeCityAreaNames[] = {OtherText_PokeLeague, OtherText_PokeCenter};
-const struct UnknownStruct4 gUnknown_083E79C0[1] =
+static const struct UnknownStruct4 sMultiPartMapSections[1] =
{
{sEverGrandeCityAreaNames, MAPSEC_EVER_GRANDE_CITY, FLAG_SYS_POKEMON_LEAGUE_FLY},
};
@@ -1608,21 +1608,19 @@ static void PrintFlyTargetName(void)
{
if (ewram0_3.regionMap.unk16 == 2 || ewram0_3.regionMap.unk16 == 4)
{
+ bool8 drawFrameDisabled = FALSE;
u16 i;
- bool32 drawFrameDisabled = FALSE;
- for (i = 0; i < ARRAY_COUNT(gUnknown_083E79C0); i++)
+ for (i = 0; i < ARRAY_COUNT(sMultiPartMapSections); i++)
{
- const struct UnknownStruct4 *r4 = &gUnknown_083E79C0[i];
-
- if (ewram0_3.regionMap.mapSectionId == r4->mapSectionId)
+ if (ewram0_3.regionMap.mapSectionId == sMultiPartMapSections[i].mapSectionId)
{
- if (FlagGet(r4->flag))
+ if (FlagGet(sMultiPartMapSections[i].requiredFlag))
{
Menu_DrawStdWindowFrame(16, 14, 29, 19);
Menu_PrintText(ewram0_3.regionMap.mapSectionName, 17, 15);
- MenuPrint_RightAligned(r4->unk0[ewram0_3.regionMap.everGrandeCityArea], 29, 17);
- return;
+ MenuPrint_RightAligned(sMultiPartMapSections[i].partNames[ewram0_3.regionMap.everGrandeCityArea], 29, 17);
+ drawFrameDisabled = TRUE;
}
break;
}
@@ -1839,3 +1837,131 @@ void sub_80FC69C(void)
break;
}
}
+
+#if DEBUG
+
+void debug_sub_8110CCC(void)
+{
+ bool8 r7 = FALSE;
+ u16 i;
+ s16 indent;
+
+ for (i = 0; i < ARRAY_COUNT(sMultiPartMapSections); i++)
+ {
+ if (ewram0_3.regionMap.mapSectionId == sMultiPartMapSections[i].mapSectionId)
+ {
+ if (FlagGet(sMultiPartMapSections[i].requiredFlag))
+ {
+ indent = 12 - StringLength(sMultiPartMapSections[i].partNames[ewram0_3.regionMap.everGrandeCityArea]);
+ if (indent < 0)
+ indent = 0;
+ r7 = TRUE;
+ Menu_DrawStdWindowFrame(16, 14, 29, 19);
+ Menu_PrintText(ewram0_3.regionMap.mapSectionName, 17, 15);
+ Menu_PrintText(sMultiPartMapSections[i].partNames[ewram0_3.regionMap.everGrandeCityArea], 17 + indent, 17);
+ }
+ break;
+ }
+ }
+ if (!r7)
+ {
+ Menu_DrawStdWindowFrame(16, 16, 29, 19);
+ Menu_PrintText(ewram0_3.regionMap.mapSectionName, 17, 17);
+ Menu_EraseWindowRect(16, 14, 29, 15);
+ }
+}
+
+void debug_sub_8110D84(void)
+{
+ switch (ewram0_3.unk4)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ ewram0_3.unk4++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ ewram0_3.unk4++;
+ break;
+ case 2:
+ switch (sub_80FAB60())
+ {
+ case 0:
+ break;
+ case 3:
+ debug_sub_8110CCC();
+ break;
+ case 4:
+ if (ewram0_3.regionMap.unk16 != 0)
+ {
+ m4aSongNumStart(SE_SELECT);
+ gSharedMem[0xA6E] = 1; // TODO: what is this?
+ sub_80FC244(sub_80FC69C);
+ }
+ break;
+ case 5:
+ m4aSongNumStart(SE_SELECT);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ ewram0_3.unk4++;
+ break;
+ }
+ break;
+ case 3:
+ if (!UpdatePaletteFade())
+ SetMainCallback2(sub_805469C);
+ break;
+ case 4:
+ if (sub_80FAB60() != 0)
+ {
+ debug_sub_8110CCC();
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ sub_80FBCA0();
+ sub_80FAEC4();
+ ewram0_3.unk4++;
+ }
+ break;
+ case 5:
+ if (sub_80FAFC0() == 0)
+ {
+ CreateRegionMapCursor(0, 0);
+ ewram0_3.unk4++;
+ }
+ break;
+ case 6:
+ if (sub_80FAB60() != 0)
+ {
+ debug_sub_8110CCC();
+ }
+ if (gMain.newKeys & A_BUTTON) // no "else if" like above?
+ {
+ sub_80FBCA0();
+ sub_80FAEC4();
+ ewram0_3.unk4++;
+ }
+ break;
+ case 7:
+ if (sub_80FAFC0() == 0)
+ {
+ CreateRegionMapCursor(0, 0);
+ ewram0_3.unk4 = 3;
+ }
+ break;
+ }
+}
+
+void debug_sub_8110F28(void)
+{
+ CB2_InitFlyRegionMap();
+
+ if (gMain.callback2 == CB2_FlyRegionMap)
+ {
+ sub_80FBF94();
+ sub_80FC244(debug_sub_8110D84);
+ debug_sub_8110CCC();
+ }
+}
+
+#endif
+
diff --git a/src/scene/cute_sketch.c b/src/scene/cute_sketch.c
index 2af990290..5317bc334 100644
--- a/src/scene/cute_sketch.c
+++ b/src/scene/cute_sketch.c
@@ -29,350 +29,6 @@ void sub_80FD1C8(u16);
u16 sub_80FD39C(u16*);
u16 sub_80FD68C(u16*, u16*, u16*);
-#if DEBUG
-
-__attribute__((naked))
-void debug_sub_8110CCC(void)
-{
- asm("\
- push {r4, r5, r6, r7, lr}\n\
- mov r7, #0x0\n\
- mov r1, #0x0\n\
- ldr r2, ._5 @ gUnknown_083E79C0\n\
- ldr r6, ._5 + 4 @ \n\
-._7:\n\
- lsl r0, r1, #0x3\n\
- add r4, r0, r2\n\
- ldrh r0, [r6, #0x1c]\n\
- ldrh r3, [r4, #0x4]\n\
- cmp r0, r3\n\
- bne ._1 @cond_branch\n\
- ldrh r0, [r4, #0x6]\n\
- bl FlagGet\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- beq ._4 @cond_branch\n\
- ldrb r0, [r6, #0x1f]\n\
- ldr r1, [r4]\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r1\n\
- ldr r0, [r0]\n\
- bl StringLength\n\
- mov r1, #0xc\n\
- sub r1, r1, r0\n\
- lsl r1, r1, #0x10\n\
- lsr r5, r1, #0x10\n\
- cmp r1, #0\n\
- bge ._3 @cond_branch\n\
- mov r5, #0x0\n\
-._3:\n\
- mov r7, #0x1\n\
- mov r0, #0x10\n\
- mov r1, #0xe\n\
- mov r2, #0x1d\n\
- mov r3, #0x13\n\
- bl Menu_DrawStdWindowFrame\n\
- add r0, r6, #0\n\
- add r0, r0, #0x8\n\
- mov r1, #0x11\n\
- mov r2, #0xf\n\
- bl Menu_PrintText\n\
- ldrb r0, [r6, #0x1f]\n\
- ldr r1, [r4]\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r1\n\
- ldr r0, [r0]\n\
- add r1, r5, #0\n\
- add r1, r1, #0x11\n\
- lsl r1, r1, #0x18\n\
- lsr r1, r1, #0x18\n\
- mov r2, #0x11\n\
- bl Menu_PrintText\n\
- b ._4\n\
-._6:\n\
- .align 2, 0\n\
-._5:\n\
- .word gUnknown_083E79C0\n\
- .word +0x2000000\n\
-._1:\n\
- add r0, r1, #1\n\
- lsl r0, r0, #0x10\n\
- lsr r1, r0, #0x10\n\
- cmp r1, #0\n\
- beq ._7 @cond_branch\n\
-._4:\n\
- cmp r7, #0\n\
- bne ._8 @cond_branch\n\
- mov r0, #0x10\n\
- mov r1, #0x10\n\
- mov r2, #0x1d\n\
- mov r3, #0x13\n\
- bl Menu_DrawStdWindowFrame\n\
- ldr r0, ._9 @ \n\
- mov r1, #0x11\n\
- mov r2, #0x11\n\
- bl Menu_PrintText\n\
- mov r0, #0x10\n\
- mov r1, #0xe\n\
- mov r2, #0x1d\n\
- mov r3, #0xf\n\
- bl Menu_EraseWindowRect\n\
-._8:\n\
- pop {r4, r5, r6, r7}\n\
- pop {r0}\n\
- bx r0\n\
-._10:\n\
- .align 2, 0\n\
-._9:\n\
- .word +0x2000008");
-}
-
-__attribute__((naked))
-void debug_sub_8110D84(void)
-{
- asm("\
- push {r4, lr}\n\
- add sp, sp, #0xfffffffc\n\
- ldr r0, ._13 @ \n\
- ldrh r0, [r0, #0x4]\n\
- cmp r0, #0x7\n\
- bls ._11 @cond_branch\n\
- b ._65\n\
-._11:\n\
- lsl r0, r0, #0x2\n\
- ldr r1, ._13 + 4 @ \n\
- add r0, r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
-._14:\n\
- .align 2, 0\n\
-._13:\n\
- .word +0x2000000\n\
- .word ._15\n\
-._15:\n\
- .word ._16\n\
- .word ._17\n\
- .word ._18\n\
- .word ._19\n\
- .word ._20\n\
- .word ._21\n\
- .word ._22\n\
- .word ._23\n\
-._16:\n\
- mov r0, #0x1\n\
- neg r0, r0\n\
- mov r1, #0x0\n\
- str r1, [sp]\n\
- mov r2, #0x10\n\
- mov r3, #0x0\n\
- bl BeginNormalPaletteFade\n\
- ldr r1, ._25 @ \n\
- ldrh r0, [r1, #0x4]\n\
- add r0, r0, #0x1\n\
- b ._62\n\
-._26:\n\
- .align 2, 0\n\
-._25:\n\
- .word +0x2000000\n\
-._17:\n\
- bl UpdatePaletteFade\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- beq ._27 @cond_branch\n\
- b ._65\n\
-._27:\n\
- ldr r1, ._30 @ \n\
- ldrh r0, [r1, #0x4]\n\
- add r0, r0, #0x1\n\
- b ._62\n\
-._31:\n\
- .align 2, 0\n\
-._30:\n\
- .word +0x2000000\n\
-._18:\n\
- bl sub_80FAB60\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
- cmp r0, #0x3\n\
- beq ._32 @cond_branch\n\
- cmp r0, #0x3\n\
- bgt ._33 @cond_branch\n\
- b ._65\n\
-._33:\n\
- cmp r0, #0x4\n\
- beq ._35 @cond_branch\n\
- cmp r0, #0x5\n\
- beq ._36 @cond_branch\n\
- b ._65\n\
-._35:\n\
- ldr r4, ._41 @ \n\
- ldrb r0, [r4, #0x1e]\n\
- cmp r0, #0\n\
- bne ._38 @cond_branch\n\
- b ._65\n\
-._38:\n\
- mov r0, #0x5\n\
- bl m4aSongNumStart\n\
- ldr r1, ._41 + 4 @ \n\
- add r0, r4, r1\n\
- mov r1, #0x1\n\
- strb r1, [r0]\n\
- ldr r0, ._41 + 8 @ \n\
- bl sub_80FC244\n\
- b ._65\n\
-._42:\n\
- .align 2, 0\n\
-._41:\n\
- .word +0x2000000\n\
- .word 0xa6e\n\
- .word sub_80FC69C+1\n\
-._36:\n\
- mov r0, #0x5\n\
- bl m4aSongNumStart\n\
- mov r0, #0x1\n\
- neg r0, r0\n\
- mov r1, #0x0\n\
- str r1, [sp]\n\
- mov r2, #0x0\n\
- mov r3, #0x10\n\
- bl BeginNormalPaletteFade\n\
- ldr r1, ._44 @ \n\
- ldrh r0, [r1, #0x4]\n\
- add r0, r0, #0x1\n\
- b ._62\n\
-._45:\n\
- .align 2, 0\n\
-._44:\n\
- .word +0x2000000\n\
-._19:\n\
- bl UpdatePaletteFade\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- bne ._65 @cond_branch\n\
- ldr r0, ._48 @ sub_805469C\n\
- bl SetMainCallback2\n\
- b ._65\n\
-._49:\n\
- .align 2, 0\n\
-._48:\n\
- .word sub_805469C+1\n\
-._20:\n\
- bl sub_80FAB60\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- beq ._50 @cond_branch\n\
-._32:\n\
- bl debug_sub_8110CCC\n\
- b ._65\n\
-._50:\n\
- ldr r0, ._54 @ gMain\n\
- ldrh r1, [r0, #0x2e]\n\
- mov r0, #0x1\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._65 @cond_branch\n\
- bl sub_80FBCA0\n\
- bl sub_80FAEC4\n\
- ldr r1, ._54 + 4 @ \n\
- ldrh r0, [r1, #0x4]\n\
- add r0, r0, #0x1\n\
- b ._62\n\
-._55:\n\
- .align 2, 0\n\
-._54:\n\
- .word gMain\n\
- .word +0x2000000\n\
-._21:\n\
- bl sub_80FAFC0\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- bne ._65 @cond_branch\n\
- mov r0, #0x0\n\
- mov r1, #0x0\n\
- bl CreateRegionMapCursor\n\
- ldr r1, ._58 @ \n\
- ldrh r0, [r1, #0x4]\n\
- add r0, r0, #0x1\n\
- b ._62\n\
-._59:\n\
- .align 2, 0\n\
-._58:\n\
- .word +0x2000000\n\
-._22:\n\
- bl sub_80FAB60\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- beq ._60 @cond_branch\n\
- bl debug_sub_8110CCC\n\
-._60:\n\
- ldr r0, ._63 @ gMain\n\
- ldrh r1, [r0, #0x2e]\n\
- mov r0, #0x1\n\
- and r0, r0, r1\n\
- cmp r0, #0\n\
- beq ._65 @cond_branch\n\
- bl sub_80FBCA0\n\
- bl sub_80FAEC4\n\
- ldr r1, ._63 + 4 @ \n\
- ldrh r0, [r1, #0x4]\n\
- add r0, r0, #0x1\n\
- b ._62\n\
-._64:\n\
- .align 2, 0\n\
-._63:\n\
- .word gMain\n\
- .word +0x2000000\n\
-._23:\n\
- bl sub_80FAFC0\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- bne ._65 @cond_branch\n\
- mov r0, #0x0\n\
- mov r1, #0x0\n\
- bl CreateRegionMapCursor\n\
- ldr r1, ._66 @ \n\
- mov r0, #0x3\n\
-._62:\n\
- strh r0, [r1, #0x4]\n\
-._65:\n\
- add sp, sp, #0x4\n\
- pop {r4}\n\
- pop {r0}\n\
- bx r0\n\
-._67:\n\
- .align 2, 0\n\
-._66:\n\
- .word +0x2000000");
-}
-
-__attribute__((naked))
-void debug_sub_8110F28(void)
-{
- asm("\
- push {lr}\n\
- bl CB2_InitFlyRegionMap\n\
- ldr r0, ._69 @ gMain\n\
- ldr r1, [r0, #0x4]\n\
- ldr r0, ._69 + 4 @ CB2_FlyRegionMap\n\
- cmp r1, r0\n\
- bne ._68 @cond_branch\n\
- bl sub_80FBF94\n\
- ldr r0, ._69 + 8 @ debug_sub_8110D84\n\
- bl sub_80FC244\n\
- bl debug_sub_8110CCC\n\
-._68:\n\
- pop {r0}\n\
- bx r0\n\
-._70:\n\
- .align 2, 0\n\
-._69:\n\
- .word gMain\n\
- .word CB2_FlyRegionMap+1\n\
- .word debug_sub_8110D84+1");
-}
-
-#endif
-
void sub_80FC7A0(struct Unk03005E20* info)
{
gUnknown_03005DEC = info->var_4;