From ec84ae801985ac7f83397979bde6a15508eb02ed Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 11:54:49 -0600 Subject: add more debug code --- src/battle/battle_controller_opponent.c | 548 ++++++++++++++++++++++++++++++++ 1 file changed, 548 insertions(+) (limited to 'src/battle/battle_controller_opponent.c') diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 5947053b6..cc69c0120 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -1209,6 +1209,243 @@ void sub_8034B74(void) } } +#if DEBUG +__attribute__((naked)) +void OpponentHandleTrainerThrow(void) +{ + asm("\ + push {r4, r5, r6, lr}\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5, r6}\n\ + ldr r0, ._480\n\ + ldrb r1, [r0]\n\ + mov r0, #0x10\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._478 @cond_branch\n\ + ldr r0, ._480 + 4\n\ + ldr r1, ._480 + 8\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + b ._491\n\ +._481:\n\ + .align 2, 0\n\ +._480:\n\ + .word gUnknown_02023A14+0x50\n\ + .word +0x2000000\n\ + .word 0x160a3\n\ +._478:\n\ + ldr r3, ._484\n\ + ldrh r1, [r3]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x3\n\ + cmp r1, r0\n\ + bne ._482 @cond_branch\n\ + bl GetSecretBaseTrainerPicIndex\n\ + b ._487\n\ +._485:\n\ + .align 2, 0\n\ +._484:\n\ + .word gTrainerBattleOpponent\n\ +._482:\n\ + ldr r0, ._488\n\ + ldrh r1, [r0]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._486 @cond_branch\n\ + bl get_trainer_class_pic_index\n\ + b ._487\n\ +._489:\n\ + .align 2, 0\n\ +._488:\n\ + .word gBattleTypeFlags\n\ +._486:\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._490 @cond_branch\n\ + bl GetEReaderTrainerPicIndex\n\ +._487:\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + b ._491\n\ +._490:\n\ + ldr r2, ._492\n\ + ldrh r1, [r3]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r2\n\ + ldrb r0, [r0, #0x3]\n\ +._491:\n\ + mov r9, r0\n\ + ldr r2, ._492 + 4\n\ + mov r8, r2\n\ + ldrb r1, [r2]\n\ + bl sub_8031A6C\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + bl GetBankIdentity\n\ + add r1, r0, #0\n\ + lsl r1, r1, #0x18\n\ + lsr r1, r1, #0x18\n\ + mov r0, r9\n\ + bl GetMonSpriteTemplate_803C5A0\n\ + ldr r5, ._492 + 8\n\ + ldr r1, ._492 + 12\n\ + mov r2, r9\n\ + lsl r0, r2, #0x2\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r4, #0x8\n\ + sub r4, r4, r0\n\ + lsl r4, r4, #0x12\n\ + mov r0, #0xa0\n\ + lsl r0, r0, #0xe\n\ + add r4, r4, r0\n\ + asr r4, r4, #0x10\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + bl sub_8079E90\n\ + add r3, r0, #0\n\ + lsl r3, r3, #0x18\n\ + lsr r3, r3, #0x18\n\ + add r0, r5, #0\n\ + mov r1, #0xb0\n\ + add r2, r4, #0\n\ + bl CreateSprite\n\ + ldr r5, ._492 + 16\n\ + mov r2, r8\n\ + ldrb r1, [r2]\n\ + add r1, r1, r5\n\ + strb r0, [r1]\n\ + ldr r4, ._492 + 20\n\ + ldrb r0, [r2]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x4\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r4\n\ + ldr r1, ._492 + 24\n\ + strh r1, [r0, #0x24]\n\ + ldrb r0, [r2]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x4\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r4\n\ + mov r1, #0x2\n\ + strh r1, [r0, #0x2e]\n\ + ldr r0, ._492 + 28\n\ + mov r1, r9\n\ + lsl r6, r1, #0x3\n\ + add r0, r6, r0\n\ + ldrh r0, [r0, #0x4]\n\ + bl IndexOfSpritePaletteTag\n\ + mov r2, r8\n\ + ldrb r1, [r2]\n\ + add r1, r1, r5\n\ + ldrb r1, [r1]\n\ + lsl r2, r1, #0x4\n\ + add r2, r2, r1\n\ + lsl r2, r2, #0x2\n\ + add r2, r2, r4\n\ + lsl r0, r0, #0x4\n\ + ldrb r3, [r2, #0x5]\n\ + mov r1, #0xf\n\ + and r1, r1, r3\n\ + orr r1, r1, r0\n\ + strb r1, [r2, #0x5]\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + add r0, r0, r5\n\ + ldrb r0, [r0]\n\ + lsl r1, r0, #0x4\n\ + add r1, r1, r0\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r4\n\ + ldrh r0, [r1, #0x4]\n\ + lsl r0, r0, #0x16\n\ + lsr r0, r0, #0x16\n\ + strh r0, [r1, #0x38]\n\ + ldr r0, ._492 + 32\n\ + add r6, r6, r0\n\ + ldrh r0, [r6, #0x6]\n\ + bl GetSpriteTileStartByTag\n\ + mov r2, r8\n\ + ldrb r1, [r2]\n\ + add r1, r1, r5\n\ + ldrb r2, [r1]\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r2\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r4\n\ + ldr r2, ._492 + 36\n\ + and r2, r2, r0\n\ + ldrh r3, [r1, #0x4]\n\ + ldr r0, ._492 + 40\n\ + and r0, r0, r3\n\ + orr r0, r0, r2\n\ + strh r0, [r1, #0x4]\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x4\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r4\n\ + mov r2, r9\n\ + strh r2, [r0, #0x6]\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x4\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r4, r4, #0x1c\n\ + add r0, r0, r4\n\ + ldr r1, ._492 + 44\n\ + str r1, [r0]\n\ + ldr r1, ._492 + 48\n\ + mov r2, r8\n\ + ldrb r0, [r2]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r1, ._492 + 52\n\ + str r1, [r0]\n\ + pop {r3, r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4, r5, r6}\n\ + pop {r0}\n\ + bx r0\n\ +._493:\n\ + .align 2, 0\n\ +._492:\n\ + .word gTrainers\n\ + .word gActiveBank\n\ + .word gUnknown_02024E8C\n\ + .word gTrainerFrontPicCoords\n\ + .word gObjectBankIDs\n\ + .word gSprites\n\ + .word 0xff10\n\ + .word gTrainerFrontPicPaletteTable\n\ + .word gTrainerFrontPicTable\n\ + .word 0x3ff\n\ + .word 0xfffffc00\n\ + .word sub_80313A0+1\n\ + .word gBattleBankFunc\n\ + .word sub_8032B4C+1"); +} +#else void OpponentHandleTrainerThrow(void) { u32 trainerPicIndex; @@ -1238,6 +1475,7 @@ void OpponentHandleTrainerThrow(void) gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_8032B4C; } +#endif void OpponentHandleTrainerSlide(void) { @@ -1427,6 +1665,315 @@ void OpponentHandlecmd19(void) OpponentBufferExecCompleted(); } +#if DEBUG +__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\n\ + ldrb r0, [r6]\n\ + lsl r0, r0, #0x9\n\ + ldr r1, ._549 + 4\n\ + add r5, r0, r1\n\ + ldr r2, ._549 + 8\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\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\ +._550:\n\ + .align 2, 0\n\ +._549:\n\ + .word gActiveBank\n\ + .word gUnknown_02023A64\n\ + .word gUnknown_02023A14+0x50\n\ + .word gBattleMoves\n\ + .word +0x2000000\n\ + .word 0x1609e\n\ +._547:\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\ +._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\ +._553:\n\ + ldr r0, ._559\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\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\ +._559:\n\ + .word gBattleTypeFlags\n\ + .word gUnknown_02023A14+0x50\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\ +._557:\n\ + mov r0, #0x0\n\ +._558:\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\ +._569:\n\ + bl Emitcmd33\n\ +._573:\n\ + bl OpponentBufferExecCompleted\n\ + b ._562\n\ +._546:\n\ + ldr r0, ._567\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\ +._567:\n\ + .word gBattleTypeFlags\n\ +._564:\n\ + mov r0, #0x1\n\ + mov r1, #0x3\n\ +._566:\n\ + mov r2, #0x0\n\ + b ._569\n\ +._565:\n\ + ldr r3, ._574\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\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\n\ + strb r0, [r5]\n\ + ldr r0, ._574 + 8\n\ + ldrb r1, [r0]\n\ + ldr r2, ._574 + 12\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\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\ +._574:\n\ + .word gBattleMoves\n\ + .word gBankTarget\n\ + .word gAbsentBankFlags\n\ + .word gBitTable\n\ +._563:\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\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\n\ + ldrb r2, [r0]\n\ + lsl r2, r2, #0x8\n\ + b ._578\n\ +._580:\n\ + .align 2, 0\n\ +._579:\n\ + .word gBattleMoves\n\ + .word gActiveBank\n\ +._577:\n\ + ldr r0, ._583\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\ +._584:\n\ + .align 2, 0\n\ +._583:\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\ +._582:\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"); +} +#else #ifdef NONMATCHING void OpponentHandlecmd20(void) { @@ -1670,6 +2217,7 @@ _0803558A:\n\ .syntax divided\n"); } #endif +#endif void OpponentHandleOpenBag(void) { -- cgit v1.2.3 From e03633d6bc1e1cd155bc258edbb7783020b4bdb7 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 16:55:48 -0600 Subject: fix more false offsets --- src/battle/battle_controller_opponent.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/battle/battle_controller_opponent.c') diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index cc69c0120..d2045b6c4 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -1232,7 +1232,7 @@ void OpponentHandleTrainerThrow(void) ._481:\n\ .align 2, 0\n\ ._480:\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ .word +0x2000000\n\ .word 0x160a3\n\ ._478:\n\ @@ -1718,8 +1718,8 @@ void OpponentHandlecmd20(void) .align 2, 0\n\ ._549:\n\ .word gActiveBank\n\ - .word gUnknown_02023A64\n\ - .word gUnknown_02023A14+0x50\n\ + .word gBattleBufferA+4\n\ + .word gUnknown_02023A14_50\n\ .word gBattleMoves\n\ .word +0x2000000\n\ .word 0x1609e\n\ @@ -1781,7 +1781,7 @@ void OpponentHandlecmd20(void) .align 2, 0\n\ ._559:\n\ .word gBattleTypeFlags\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ ._556:\n\ bl Random\n\ add r1, r5, #0\n\ @@ -2048,7 +2048,7 @@ void OpponentHandlecmd20(void) ldr r6, _0803545C @ =gActiveBank\n\ ldrb r0, [r6]\n\ lsls r0, 9\n\ - ldr r1, _08035460 @ =gUnknown_02023A64\n\ + ldr r1, _08035460 @ =gBattleBufferA+4\n\ adds r5, r0, r1\n\ ldr r0, _08035464 @ =gBattleTypeFlags\n\ ldrh r1, [r0]\n\ @@ -2070,7 +2070,7 @@ void OpponentHandlecmd20(void) b _0803546C\n\ .align 2, 0\n\ _0803545C: .4byte gActiveBank\n\ -_08035460: .4byte gUnknown_02023A64\n\ +_08035460: .4byte gBattleBufferA+4\n\ _08035464: .4byte gBattleTypeFlags\n\ _08035468:\n\ movs r0, 0x1\n\ -- cgit v1.2.3 From e50f5e906776a799ec69418168f032880e16384c Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 25 Jan 2018 19:36:54 -0600 Subject: more debug integrations --- src/battle/battle_controller_opponent.c | 262 +++----------------------------- 1 file changed, 17 insertions(+), 245 deletions(-) (limited to 'src/battle/battle_controller_opponent.c') diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index d2045b6c4..5382738f7 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -30,6 +30,7 @@ struct MovePpInfo u8 ppBonuses; }; +extern u8 gUnknown_02023A14_50; extern u8 gActiveBank; extern u8 gBattleBufferA[][0x200]; extern u16 gBattlePartyID[]; @@ -1209,255 +1210,27 @@ void sub_8034B74(void) } } -#if DEBUG -__attribute__((naked)) -void OpponentHandleTrainerThrow(void) -{ - asm("\ - push {r4, r5, r6, lr}\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5, r6}\n\ - ldr r0, ._480\n\ - ldrb r1, [r0]\n\ - mov r0, #0x10\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._478 @cond_branch\n\ - ldr r0, ._480 + 4\n\ - ldr r1, ._480 + 8\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - b ._491\n\ -._481:\n\ - .align 2, 0\n\ -._480:\n\ - .word gUnknown_02023A14_50\n\ - .word +0x2000000\n\ - .word 0x160a3\n\ -._478:\n\ - ldr r3, ._484\n\ - ldrh r1, [r3]\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x3\n\ - cmp r1, r0\n\ - bne ._482 @cond_branch\n\ - bl GetSecretBaseTrainerPicIndex\n\ - b ._487\n\ -._485:\n\ - .align 2, 0\n\ -._484:\n\ - .word gTrainerBattleOpponent\n\ -._482:\n\ - ldr r0, ._488\n\ - ldrh r1, [r0]\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._486 @cond_branch\n\ - bl get_trainer_class_pic_index\n\ - b ._487\n\ -._489:\n\ - .align 2, 0\n\ -._488:\n\ - .word gBattleTypeFlags\n\ -._486:\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x4\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._490 @cond_branch\n\ - bl GetEReaderTrainerPicIndex\n\ -._487:\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - b ._491\n\ -._490:\n\ - ldr r2, ._492\n\ - ldrh r1, [r3]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x3\n\ - add r0, r0, r2\n\ - ldrb r0, [r0, #0x3]\n\ -._491:\n\ - mov r9, r0\n\ - ldr r2, ._492 + 4\n\ - mov r8, r2\n\ - ldrb r1, [r2]\n\ - bl sub_8031A6C\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - bl GetBankIdentity\n\ - add r1, r0, #0\n\ - lsl r1, r1, #0x18\n\ - lsr r1, r1, #0x18\n\ - mov r0, r9\n\ - bl GetMonSpriteTemplate_803C5A0\n\ - ldr r5, ._492 + 8\n\ - ldr r1, ._492 + 12\n\ - mov r2, r9\n\ - lsl r0, r2, #0x2\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - mov r4, #0x8\n\ - sub r4, r4, r0\n\ - lsl r4, r4, #0x12\n\ - mov r0, #0xa0\n\ - lsl r0, r0, #0xe\n\ - add r4, r4, r0\n\ - asr r4, r4, #0x10\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - bl sub_8079E90\n\ - add r3, r0, #0\n\ - lsl r3, r3, #0x18\n\ - lsr r3, r3, #0x18\n\ - add r0, r5, #0\n\ - mov r1, #0xb0\n\ - add r2, r4, #0\n\ - bl CreateSprite\n\ - ldr r5, ._492 + 16\n\ - mov r2, r8\n\ - ldrb r1, [r2]\n\ - add r1, r1, r5\n\ - strb r0, [r1]\n\ - ldr r4, ._492 + 20\n\ - ldrb r0, [r2]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x4\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r4\n\ - ldr r1, ._492 + 24\n\ - strh r1, [r0, #0x24]\n\ - ldrb r0, [r2]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x4\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r4\n\ - mov r1, #0x2\n\ - strh r1, [r0, #0x2e]\n\ - ldr r0, ._492 + 28\n\ - mov r1, r9\n\ - lsl r6, r1, #0x3\n\ - add r0, r6, r0\n\ - ldrh r0, [r0, #0x4]\n\ - bl IndexOfSpritePaletteTag\n\ - mov r2, r8\n\ - ldrb r1, [r2]\n\ - add r1, r1, r5\n\ - ldrb r1, [r1]\n\ - lsl r2, r1, #0x4\n\ - add r2, r2, r1\n\ - lsl r2, r2, #0x2\n\ - add r2, r2, r4\n\ - lsl r0, r0, #0x4\n\ - ldrb r3, [r2, #0x5]\n\ - mov r1, #0xf\n\ - and r1, r1, r3\n\ - orr r1, r1, r0\n\ - strb r1, [r2, #0x5]\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - add r0, r0, r5\n\ - ldrb r0, [r0]\n\ - lsl r1, r0, #0x4\n\ - add r1, r1, r0\n\ - lsl r1, r1, #0x2\n\ - add r1, r1, r4\n\ - ldrh r0, [r1, #0x4]\n\ - lsl r0, r0, #0x16\n\ - lsr r0, r0, #0x16\n\ - strh r0, [r1, #0x38]\n\ - ldr r0, ._492 + 32\n\ - add r6, r6, r0\n\ - ldrh r0, [r6, #0x6]\n\ - bl GetSpriteTileStartByTag\n\ - mov r2, r8\n\ - ldrb r1, [r2]\n\ - add r1, r1, r5\n\ - ldrb r2, [r1]\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r2\n\ - lsl r1, r1, #0x2\n\ - add r1, r1, r4\n\ - ldr r2, ._492 + 36\n\ - and r2, r2, r0\n\ - ldrh r3, [r1, #0x4]\n\ - ldr r0, ._492 + 40\n\ - and r0, r0, r3\n\ - orr r0, r0, r2\n\ - strh r0, [r1, #0x4]\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x4\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r4\n\ - mov r2, r9\n\ - strh r2, [r0, #0x6]\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x4\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - add r4, r4, #0x1c\n\ - add r0, r0, r4\n\ - ldr r1, ._492 + 44\n\ - str r1, [r0]\n\ - ldr r1, ._492 + 48\n\ - mov r2, r8\n\ - ldrb r0, [r2]\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldr r1, ._492 + 52\n\ - str r1, [r0]\n\ - pop {r3, r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4, r5, r6}\n\ - pop {r0}\n\ - bx r0\n\ -._493:\n\ - .align 2, 0\n\ -._492:\n\ - .word gTrainers\n\ - .word gActiveBank\n\ - .word gUnknown_02024E8C\n\ - .word gTrainerFrontPicCoords\n\ - .word gObjectBankIDs\n\ - .word gSprites\n\ - .word 0xff10\n\ - .word gTrainerFrontPicPaletteTable\n\ - .word gTrainerFrontPicTable\n\ - .word 0x3ff\n\ - .word 0xfffffc00\n\ - .word sub_80313A0+1\n\ - .word gBattleBankFunc\n\ - .word sub_8032B4C+1"); -} -#else void OpponentHandleTrainerThrow(void) { u32 trainerPicIndex; - 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(); +#if DEBUG + if (gUnknown_02023A14_50 & 0x10) + { + trainerPicIndex = gSharedMem[0x160A3]; + } else - trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; +#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; + } sub_8031A6C(trainerPicIndex, gActiveBank); GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); @@ -1475,7 +1248,6 @@ void OpponentHandleTrainerThrow(void) gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_8032B4C; } -#endif void OpponentHandleTrainerSlide(void) { -- cgit v1.2.3 From fe400f60b6609d37d2b8a0c2aec75321adc3e95f Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sat, 27 Jan 2018 17:03:40 -0600 Subject: add comments for pool loads in C files --- src/battle/battle_controller_opponent.c | 36 ++++++++++++++++----------------- 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'src/battle/battle_controller_opponent.c') diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 5382738f7..338f8d418 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -1447,26 +1447,26 @@ void OpponentHandlecmd20(void) mov r6, r9\n\ mov r5, r8\n\ push {r5, r6, r7}\n\ - ldr r6, ._549\n\ + ldr r6, ._549 @ gActiveBank\n\ ldrb r0, [r6]\n\ lsl r0, r0, #0x9\n\ - ldr r1, ._549 + 4\n\ + ldr r1, ._549 + 4 @ gBattleBufferA\n\ add r5, r0, r1\n\ - ldr r2, ._549 + 8\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\n\ + ldr r0, ._549 + 12 @ gBattleMoves\n\ mov r9, r0\n\ - ldr r1, ._549 + 16\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\ + ldr r6, ._549 + 20 @ \n\ ._552:\n\ ldrb r1, [r7]\n\ mov r0, r8\n\ @@ -1526,13 +1526,13 @@ void OpponentHandlecmd20(void) ldrb r0, [r1]\n\ b ._561\n\ ._553:\n\ - ldr r0, ._559\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\n\ + ldr r0, ._559 + 4 @ gUnknown_02023A14_50\n\ ldrb r1, [r0]\n\ mov r5, #0x2\n\ add r0, r5, #0\n\ @@ -1578,7 +1578,7 @@ void OpponentHandlecmd20(void) bl OpponentBufferExecCompleted\n\ b ._562\n\ ._546:\n\ - ldr r0, ._567\n\ + ldr r0, ._567 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ mov r0, #0x93\n\ lsl r0, r0, #0x3\n\ @@ -1607,7 +1607,7 @@ void OpponentHandlecmd20(void) mov r2, #0x0\n\ b ._569\n\ ._565:\n\ - ldr r3, ._574\n\ + ldr r3, ._574 @ gBattleMoves\n\ lsl r0, r4, #0x1\n\ add r2, r5, r0\n\ ldrh r1, [r2]\n\ @@ -1620,7 +1620,7 @@ void OpponentHandlecmd20(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._570 @cond_branch\n\ - ldr r1, ._574 + 4\n\ + ldr r1, ._574 + 4 @ gBankTarget\n\ ldrb r0, [r6]\n\ strb r0, [r1]\n\ ._570:\n\ @@ -1636,11 +1636,11 @@ void OpponentHandlecmd20(void) beq ._572 @cond_branch\n\ mov r0, #0x0\n\ bl GetBankByIdentity\n\ - ldr r5, ._574 + 4\n\ + ldr r5, ._574 + 4 @ gBankTarget\n\ strb r0, [r5]\n\ - ldr r0, ._574 + 8\n\ + ldr r0, ._574 + 8 @ gAbsentBankFlags\n\ ldrb r1, [r0]\n\ - ldr r2, ._574 + 12\n\ + ldr r2, ._574 + 12 @ gBitTable\n\ ldrb r0, [r5]\n\ lsl r0, r0, #0x2\n\ add r0, r0, r2\n\ @@ -1652,7 +1652,7 @@ void OpponentHandlecmd20(void) bl GetBankByIdentity\n\ strb r0, [r5]\n\ ._572:\n\ - ldr r0, ._574 + 4\n\ + ldr r0, ._574 + 4 @ gBankTarget\n\ ldrb r2, [r0]\n\ lsl r2, r2, #0x8\n\ orr r2, r2, r4\n\ @@ -1678,7 +1678,7 @@ void OpponentHandlecmd20(void) ldrh r2, [r0]\n\ cmp r2, #0\n\ beq ._576 @cond_branch\n\ - ldr r1, ._579\n\ + ldr r1, ._579 @ gBattleMoves\n\ lsl r0, r2, #0x1\n\ add r0, r0, r2\n\ lsl r0, r0, #0x2\n\ @@ -1688,7 +1688,7 @@ void OpponentHandlecmd20(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._577 @cond_branch\n\ - ldr r0, ._579 + 4\n\ + ldr r0, ._579 + 4 @ gActiveBank\n\ ldrb r2, [r0]\n\ lsl r2, r2, #0x8\n\ b ._578\n\ @@ -1698,7 +1698,7 @@ void OpponentHandlecmd20(void) .word gBattleMoves\n\ .word gActiveBank\n\ ._577:\n\ - ldr r0, ._583\n\ + ldr r0, ._583 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ -- cgit v1.2.3 From c59acc702458caa610ce856ce20ac6dc12d16621 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 10 Feb 2018 17:29:11 -0800 Subject: Start documenting battle anims --- src/battle/battle_controller_opponent.c | 128 ++++++++++++++++---------------- 1 file changed, 64 insertions(+), 64 deletions(-) (limited to 'src/battle/battle_controller_opponent.c') diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 338f8d418..5fb642e0c 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -34,7 +34,7 @@ extern u8 gUnknown_02023A14_50; extern u8 gActiveBank; extern u8 gBattleBufferA[][0x200]; extern u16 gBattlePartyID[]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u8 gBattleMonForms[]; extern struct SpriteTemplate gUnknown_02024E8C; extern void (*gBattleBankFunc[])(void); @@ -280,25 +280,25 @@ void OpponentBufferRunCommand(void) void sub_8032B4C(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } // Duplicate of sub_8032B4C void sub_8032B84(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } void sub_8032BBC(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) { - sub_8031B74(gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam); - gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = gSprites[gObjectBankIDs[gActiveBank]].data[5]; - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + sub_8031B74(gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam); + gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBank]].data[5]; + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); OpponentBufferExecCompleted(); } } @@ -386,8 +386,8 @@ void sub_8032E2C(void) void sub_8033018(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].animEnded == TRUE - && gSprites[gObjectBankIDs[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBank]].animEnded == TRUE + && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) { if (!ewram17810[gActiveBank].unk0_7) { @@ -419,7 +419,7 @@ void sub_80330C8(void) void sub_803311C(void) { - if (!gSprites[gObjectBankIDs[gActiveBank]].inUse) + if (!gSprites[gBankSpriteIds[gActiveBank]].inUse) { sub_8043DB0(gHealthboxIDs[gActiveBank]); OpponentBufferExecCompleted(); @@ -430,8 +430,8 @@ void sub_8033160(void) { if (!ewram17810[gActiveBank].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8032A08(gActiveBank); sub_8043DB0(gHealthboxIDs[gActiveBank]); OpponentBufferExecCompleted(); @@ -446,7 +446,7 @@ void sub_80331D0(void) void bx_blink_t7(void) { - u8 spriteId = gObjectBankIDs[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBank]; if (gSprites[spriteId].data[1] == 32) { @@ -490,7 +490,7 @@ void sub_8033308(void) ewram17810[gActiveBank].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 0); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); sub_8045A5C( gHealthboxIDs[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], @@ -1126,16 +1126,16 @@ void OpponentHandleLoadPokeSprite(void) BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(gActiveBank, 2), sub_8077F68(gActiveBank), sub_8079E90(gActiveBank)); - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = gActiveBank; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = species; - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], gBattleMonForms[gActiveBank]); + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = species; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); gBattleBankFunc[gActiveBank] = sub_8033018; } @@ -1158,18 +1158,18 @@ void sub_803495C(u8 a, u8 b) gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); - gObjectBankIDs[a] = CreateSprite( + gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(a, 2), sub_8077F68(a), sub_8079E90(a)); - gSprites[gObjectBankIDs[a]].data[0] = a; - gSprites[gObjectBankIDs[a]].data[2] = species; - gSprites[gUnknown_0300434C[a]].data[1] = gObjectBankIDs[a]; - gSprites[gObjectBankIDs[a]].oam.paletteNum = a; - StartSpriteAnim(&gSprites[gObjectBankIDs[a]], gBattleMonForms[a]); - gSprites[gObjectBankIDs[a]].invisible = TRUE; - gSprites[gObjectBankIDs[a]].callback = SpriteCallbackDummy; + gSprites[gBankSpriteIds[a]].data[0] = a; + gSprites[gBankSpriteIds[a]].data[2] = species; + gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; + gSprites[gBankSpriteIds[a]].oam.paletteNum = a; + StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]); + gSprites[gBankSpriteIds[a]].invisible = TRUE; + gSprites[gBankSpriteIds[a]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[a]].data[0] = sub_8046400(0, 0xFE); } @@ -1182,8 +1182,8 @@ void OpponentHandleReturnPokeToBall(void) } else { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8032A08(gActiveBank); sub_8043DB0(gHealthboxIDs[gActiveBank]); OpponentBufferExecCompleted(); @@ -1234,18 +1234,18 @@ void OpponentHandleTrainerThrow(void) sub_8031A6C(trainerPicIndex, gActiveBank); GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 0xB0, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), sub_8079E90(gActiveBank)); - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 2; - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); - gSprites[gObjectBankIDs[gActiveBank]].data[5] = gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum; - gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); - gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam = trainerPicIndex; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicIndex; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_8032B4C; } @@ -1264,30 +1264,30 @@ void OpponentHandleTrainerSlide(void) sub_8031A6C(trainerPicIndex, gActiveBank); GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 0xB0, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), 0x1E); - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = 96; - gSprites[gObjectBankIDs[gActiveBank]].pos1.x += 32; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = -2; - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); - gSprites[gObjectBankIDs[gActiveBank]].data[5] = gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum; - gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); - gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam = trainerPicIndex; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96; + gSprites[gBankSpriteIds[gActiveBank]].pos1.x += 32; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicIndex; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_8032B84; } void OpponentHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 35; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = 280; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); gBattleBankFunc[gActiveBank] = sub_8032BBC; } @@ -1303,7 +1303,7 @@ void OpponentHandlecmd10(void) { ewram17810[gActiveBank].unk4 = 0; PlaySE12WithPanning(SE_POKE_DEAD, 63); - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8010384; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8010384; gBattleBankFunc[gActiveBank] = sub_803311C; } } @@ -2166,14 +2166,14 @@ void OpponentHandlecmd40(void) void OpponentHandleHitAnimation(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) { OpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gObjectBankIDs[gActiveBank]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; sub_8047858(gActiveBank); gBattleBankFunc[gActiveBank] = bx_blink_t7; } @@ -2221,12 +2221,12 @@ void OpponentHandleTrainerBallThrow(void) { u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 35; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = 280; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], sub_8035C10); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8035C10); taskId = CreateTask(sub_8035C44, 5); gTasks[taskId].data[0] = gActiveBank; if (ewram17810[gActiveBank].unk0_0) @@ -2325,7 +2325,7 @@ void OpponentHandleSpriteInvisibility(void) { if (IsBankSpritePresent(gActiveBank) != 0) { - gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; + gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; sub_8031F88(gActiveBank); } OpponentBufferExecCompleted(); -- cgit v1.2.3 From c775680d716299ae74cbcfb7eeb41c8982010021 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 11 Feb 2018 12:43:48 -0800 Subject: Document battle anim things related to STRENGTH, TACKLE, BODY_SLAM, and SUPERSONIC --- src/battle/battle_controller_opponent.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/battle/battle_controller_opponent.c') diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 5fb642e0c..8e8743dbc 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -84,7 +84,7 @@ extern void sub_80313A0(struct Sprite *); extern void sub_8032B4C(void); extern void sub_8031A6C(u16, u8); extern void sub_8032B84(void); -extern void sub_8078B34(struct Sprite *); +extern void StartTranslateAnimSpriteByDeltas(struct Sprite *); extern void sub_8032BBC(void); extern void oamt_add_pos2_onto_pos1(); extern void StoreSpriteCallbackInData(); @@ -1286,7 +1286,7 @@ void OpponentHandleTrainerSlideBack(void) gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); gBattleBankFunc[gActiveBank] = sub_8032BBC; } @@ -2225,7 +2225,7 @@ void OpponentHandleTrainerBallThrow(void) gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8035C10); taskId = CreateTask(sub_8035C44, 5); gTasks[taskId].data[0] = gActiveBank; -- cgit v1.2.3 From 900f5739be2ea39a9f37494948fb09d5bb3969b4 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 15 Feb 2018 21:27:31 -0600 Subject: decompile various debug functions --- src/battle/battle_controller_opponent.c | 550 ++++++++++++++++---------------- 1 file changed, 275 insertions(+), 275 deletions(-) (limited to 'src/battle/battle_controller_opponent.c') 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 -- cgit v1.2.3