summaryrefslogtreecommitdiff
path: root/src/battle/battle_controller_opponent.c
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2018-02-18 20:21:56 -0500
committerProjectRevoTPP <projectrevotpp@hotmail.com>2018-02-18 20:21:56 -0500
commit958dac2cf952ff94767ddec90bc3b1ddd0887a51 (patch)
tree41cfe9278c3590493c3ba4ed904fc08e44c377e9 /src/battle/battle_controller_opponent.c
parent2ecf9cb5f3f89ad8c9bbe64957de40ac509e4ea7 (diff)
parent2e21a867487e2187a954a351f775bd3f3a9535b1 (diff)
Merge branch 'master' of https://github.com/pret/pokeruby into visual_studio
Diffstat (limited to 'src/battle/battle_controller_opponent.c')
-rw-r--r--src/battle/battle_controller_opponent.c550
1 files changed, 275 insertions, 275 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