diff options
Diffstat (limited to 'asm')
50 files changed, 2305 insertions, 38753 deletions
diff --git a/asm/battle_811DA74.s b/asm/battle_811DA74.s index 13a7f974e..0715b5110 100644 --- a/asm/battle_811DA74.s +++ b/asm/battle_811DA74.s @@ -6,2218 +6,6 @@ .text - thumb_func_start nullsub_74 -nullsub_74: @ 811DA74 - bx lr - thumb_func_end nullsub_74 - - thumb_func_start sub_811DA78 -sub_811DA78: @ 811DA78 - ldr r1, _0811DA88 @ =gUnknown_03004330 - ldr r0, _0811DA8C @ =gUnknown_02024A60 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0811DA90 @ =sub_811DA94 - str r1, [r0] - bx lr - .align 2, 0 -_0811DA88: .4byte gUnknown_03004330 -_0811DA8C: .4byte gUnknown_02024A60 -_0811DA90: .4byte sub_811DA94 - thumb_func_end sub_811DA78 - - thumb_func_start sub_811DA94 -sub_811DA94: @ 811DA94 - push {lr} - ldr r2, _0811DAC8 @ =gUnknown_02024A64 - ldr r1, _0811DACC @ =gBitTable - ldr r0, _0811DAD0 @ =gUnknown_02024A60 - ldrb r3, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0811DAE0 - ldr r0, _0811DAD4 @ =gUnknown_02023A60 - lsls r1, r3, 9 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x38 - bhi _0811DADC - ldr r0, _0811DAD8 @ =gUnknown_083FE4F4 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 - b _0811DAE0 - .align 2, 0 -_0811DAC8: .4byte gUnknown_02024A64 -_0811DACC: .4byte gBitTable -_0811DAD0: .4byte gUnknown_02024A60 -_0811DAD4: .4byte gUnknown_02023A60 -_0811DAD8: .4byte gUnknown_083FE4F4 -_0811DADC: - bl dp01_tbl3_exec_completed -_0811DAE0: - pop {r0} - bx r0 - thumb_func_end sub_811DA94 - - thumb_func_start sub_811DAE4 -sub_811DAE4: @ 811DAE4 - push {lr} - ldr r2, _0811DB0C @ =gSprites - ldr r1, _0811DB10 @ =gUnknown_02024BE0 - ldr r0, _0811DB14 @ =gUnknown_02024A60 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _0811DB18 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0811DB08 - bl dp01_tbl3_exec_completed -_0811DB08: - pop {r0} - bx r0 - .align 2, 0 -_0811DB0C: .4byte gSprites -_0811DB10: .4byte gUnknown_02024BE0 -_0811DB14: .4byte gUnknown_02024A60 -_0811DB18: .4byte SpriteCallbackDummy - thumb_func_end sub_811DAE4 - - thumb_func_start sub_811DB1C -sub_811DB1C: @ 811DB1C - push {r4-r6,lr} - ldr r6, _0811DB74 @ =gSprites - ldr r5, _0811DB78 @ =gUnknown_02024BE0 - ldr r4, _0811DB7C @ =gUnknown_02024A60 - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, [r0] - ldr r0, _0811DB80 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0811DB6C - movs r0, 0 - bl nullsub_10 - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl FreeSpriteOamMatrix - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl DestroySprite - bl dp01_tbl3_exec_completed -_0811DB6C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811DB74: .4byte gSprites -_0811DB78: .4byte gUnknown_02024BE0 -_0811DB7C: .4byte gUnknown_02024A60 -_0811DB80: .4byte SpriteCallbackDummy - thumb_func_end sub_811DB1C - - thumb_func_start sub_811DB84 -sub_811DB84: @ 811DB84 - push {lr} - ldr r3, _0811DBB8 @ =gUnknown_02024A60 - ldrb r0, [r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r2, _0811DBBC @ =0x02017810 - adds r1, r2 - ldrb r0, [r1, 0x9] - subs r0, 0x1 - strb r0, [r1, 0x9] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0811DBB4 - ldrb r0, [r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0 - strb r0, [r1, 0x9] - bl dp01_tbl3_exec_completed -_0811DBB4: - pop {r0} - bx r0 - .align 2, 0 -_0811DBB8: .4byte gUnknown_02024A60 -_0811DBBC: .4byte 0x02017810 - thumb_func_end sub_811DB84 - - thumb_func_start sub_811DBC0 -sub_811DBC0: @ 811DBC0 - push {r4-r6,lr} - movs r6, 0 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0811DBE4 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0811DC18 - ldr r0, _0811DC04 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0811DC18 -_0811DBE4: - ldr r2, _0811DC08 @ =gSprites - ldr r1, _0811DC0C @ =gUnknown_03004340 - ldr r0, _0811DC10 @ =gUnknown_02024A60 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _0811DC14 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0811DC50 - b _0811DC4E - .align 2, 0 -_0811DC04: .4byte gBattleTypeFlags -_0811DC08: .4byte gSprites -_0811DC0C: .4byte gUnknown_03004340 -_0811DC10: .4byte gUnknown_02024A60 -_0811DC14: .4byte SpriteCallbackDummy -_0811DC18: - ldr r2, _0811DC84 @ =gSprites - ldr r5, _0811DC88 @ =gUnknown_03004340 - ldr r0, _0811DC8C @ =gUnknown_02024A60 - ldrb r3, [r0] - adds r0, r3, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r2, 0 - adds r4, 0x1C - adds r0, r4 - ldr r2, [r0] - ldr r0, _0811DC90 @ =SpriteCallbackDummy - cmp r2, r0 - bne _0811DC50 - movs r0, 0x2 - eors r3, r0 - adds r0, r3, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - cmp r0, r2 - bne _0811DC50 -_0811DC4E: - movs r6, 0x1 -_0811DC50: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _0811DC5C - movs r6, 0 -_0811DC5C: - cmp r6, 0 - beq _0811DC7E - ldr r2, _0811DC8C @ =gUnknown_02024A60 - ldrb r1, [r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _0811DC94 @ =0x02017810 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0, 0x9] - ldr r1, _0811DC98 @ =gUnknown_03004330 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _0811DC9C @ =sub_811DB84 - str r1, [r0] -_0811DC7E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811DC84: .4byte gSprites -_0811DC88: .4byte gUnknown_03004340 -_0811DC8C: .4byte gUnknown_02024A60 -_0811DC90: .4byte SpriteCallbackDummy -_0811DC94: .4byte 0x02017810 -_0811DC98: .4byte gUnknown_03004330 -_0811DC9C: .4byte sub_811DB84 - thumb_func_end sub_811DBC0 - - thumb_func_start sub_811DCA0 -sub_811DCA0: @ 811DCA0 - push {r4-r7,lr} - ldr r6, _0811DDBC @ =gUnknown_02024A60 - ldrb r2, [r6] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r4, _0811DDC0 @ =0x02017810 - adds r3, r0, r4 - ldrb r1, [r3] - movs r5, 0x8 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _0811DDB4 - movs r7, 0x2 - adds r1, r7, 0 - eors r1, r2 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - adds r0, r5, 0 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _0811DDB4 - ldrb r0, [r3, 0x9] - adds r0, 0x1 - strb r0, [r3, 0x9] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0811DDB4 - ldrb r0, [r6] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - strb r2, [r1, 0x9] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0811DD56 - ldr r0, _0811DDC4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0811DD56 - ldr r1, _0811DDC8 @ =gUnknown_0300434C - ldrb r0, [r6] - eors r0, r7 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0811DDCC @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, _0811DDD0 @ =gUnknown_03004340 - ldrb r0, [r6] - adds r1, r7, 0 - eors r1, r0 - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _0811DDD4 @ =gUnknown_02024A6A - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _0811DDD8 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl sub_8045A5C - ldrb r0, [r6] - eors r0, r7 - bl sub_804777C - ldrb r0, [r6] - eors r0, r7 - adds r0, r4 - ldrb r0, [r0] - bl sub_8043DFC -_0811DD56: - ldr r1, _0811DDC8 @ =gUnknown_0300434C - ldr r4, _0811DDBC @ =gUnknown_02024A60 - ldrb r0, [r4] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0811DDCC @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r5, _0811DDD0 @ =gUnknown_03004340 - ldrb r1, [r4] - adds r0, r1, r5 - ldrb r0, [r0] - ldr r2, _0811DDD4 @ =gUnknown_02024A6A - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _0811DDD8 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl sub_8045A5C - ldrb r0, [r4] - bl sub_804777C - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - bl sub_8043DFC - ldr r2, _0811DDDC @ =0x02017840 - ldrb r1, [r2, 0x9] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x9] - ldr r1, _0811DDE0 @ =gUnknown_03004330 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0811DDE4 @ =sub_811DBC0 - str r1, [r0] -_0811DDB4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811DDBC: .4byte gUnknown_02024A60 -_0811DDC0: .4byte 0x02017810 -_0811DDC4: .4byte gBattleTypeFlags -_0811DDC8: .4byte gUnknown_0300434C -_0811DDCC: .4byte gSprites -_0811DDD0: .4byte gUnknown_03004340 -_0811DDD4: .4byte gUnknown_02024A6A -_0811DDD8: .4byte gPlayerParty -_0811DDDC: .4byte 0x02017840 -_0811DDE0: .4byte gUnknown_03004330 -_0811DDE4: .4byte sub_811DBC0 - thumb_func_end sub_811DCA0 - - thumb_func_start sub_811DDE8 -sub_811DDE8: @ 811DDE8 - push {lr} - ldr r2, _0811DE1C @ =gSprites - ldr r1, _0811DE20 @ =gUnknown_02024BE0 - ldr r0, _0811DE24 @ =gUnknown_02024A60 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - bge _0811DE16 - movs r2, 0x24 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0811DE16 - bl dp01_tbl3_exec_completed -_0811DE16: - pop {r0} - bx r0 - .align 2, 0 -_0811DE1C: .4byte gSprites -_0811DE20: .4byte gUnknown_02024BE0 -_0811DE24: .4byte gUnknown_02024A60 - thumb_func_end sub_811DDE8 - - thumb_func_start bx_t3_healthbar_update -bx_t3_healthbar_update: @ 811DE28 - push {r4-r6,lr} - ldr r5, _0811DE68 @ =gUnknown_02024A60 - ldrb r0, [r5] - ldr r6, _0811DE6C @ =gUnknown_03004340 - adds r1, r0, r6 - ldrb r1, [r1] - movs r2, 0 - movs r3, 0 - bl sub_8045C78 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r5] - adds r0, r6 - ldrb r0, [r0] - bl sub_8043DFC - lsls r4, 16 - asrs r1, r4, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0811DE70 - ldrb r0, [r5] - adds r0, r6 - ldrb r0, [r0] - movs r2, 0 - bl sub_80440EC - b _0811DE8A - .align 2, 0 -_0811DE68: .4byte gUnknown_02024A60 -_0811DE6C: .4byte gUnknown_03004340 -_0811DE70: - ldr r2, _0811DE90 @ =gUnknown_02024A6A - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _0811DE94 @ =gPlayerParty - adds r0, r2 - bl sub_80324F8 - bl dp01_tbl3_exec_completed -_0811DE8A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811DE90: .4byte gUnknown_02024A6A -_0811DE94: .4byte gPlayerParty - thumb_func_end bx_t3_healthbar_update - - thumb_func_start sub_811DE98 -sub_811DE98: @ 811DE98 - push {r4-r6,lr} - ldr r6, _0811DF1C @ =gSprites - ldr r5, _0811DF20 @ =gUnknown_02024BE0 - ldr r4, _0811DF24 @ =gUnknown_02024A60 - ldrb r2, [r4] - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r3, 0x22 - ldrsh r1, [r0, r3] - movs r3, 0x26 - ldrsh r0, [r0, r3] - adds r1, r0 - cmp r1, 0xA0 - ble _0811DF14 - ldr r1, _0811DF28 @ =gUnknown_02024A6A - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0811DF2C @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl nullsub_9 - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl DestroySprite - ldr r1, _0811DF30 @ =gUnknown_03004340 - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - bl sub_8043DB0 - bl dp01_tbl3_exec_completed -_0811DF14: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811DF1C: .4byte gSprites -_0811DF20: .4byte gUnknown_02024BE0 -_0811DF24: .4byte gUnknown_02024A60 -_0811DF28: .4byte gUnknown_02024A6A -_0811DF2C: .4byte gPlayerParty -_0811DF30: .4byte gUnknown_03004340 - thumb_func_end sub_811DE98 - - thumb_func_start sub_811DF34 -sub_811DF34: @ 811DF34 - push {r4-r6,lr} - ldr r6, _0811DF8C @ =gUnknown_02024A60 - ldrb r2, [r6] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _0811DF90 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0811DF84 - ldr r5, _0811DF94 @ =gUnknown_02024BE0 - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0811DF98 @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, _0811DF9C @ =gUnknown_03004340 - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl sub_8043DB0 - bl dp01_tbl3_exec_completed -_0811DF84: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811DF8C: .4byte gUnknown_02024A60 -_0811DF90: .4byte 0x02017810 -_0811DF94: .4byte gUnknown_02024BE0 -_0811DF98: .4byte gSprites -_0811DF9C: .4byte gUnknown_03004340 - thumb_func_end sub_811DF34 - - thumb_func_start sub_811DFA0 -sub_811DFA0: @ 811DFA0 - push {lr} - ldr r0, _0811DFB4 @ =gUnknown_03004210 - ldrh r0, [r0, 0x16] - cmp r0, 0 - bne _0811DFAE - bl dp01_tbl3_exec_completed -_0811DFAE: - pop {r0} - bx r0 - .align 2, 0 -_0811DFB4: .4byte gUnknown_03004210 - thumb_func_end sub_811DFA0 - - thumb_func_start bx_blink_t3 -bx_blink_t3: @ 811DFB8 - push {r4,lr} - ldr r1, _0811DFF4 @ =gUnknown_02024BE0 - ldr r0, _0811DFF8 @ =gUnknown_02024A60 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - ldr r2, _0811DFFC @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x20 - bne _0811E004 - movs r3, 0 - movs r0, 0 - strh r0, [r4, 0x30] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x5 - ands r0, r1 - strb r0, [r2] - ldr r0, _0811E000 @ =gUnknown_02024E6D - strb r3, [r0] - bl dp01_tbl3_exec_completed - b _0811E02E - .align 2, 0 -_0811DFF4: .4byte gUnknown_02024BE0 -_0811DFF8: .4byte gUnknown_02024A60 -_0811DFFC: .4byte gSprites -_0811E000: .4byte gUnknown_02024E6D -_0811E004: - ldrh r0, [r4, 0x30] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0811E028 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_0811E028: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_0811E02E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end bx_blink_t3 - - thumb_func_start sub_811E034 -sub_811E034: @ 811E034 - push {r4,lr} - ldr r2, _0811E084 @ =gSprites - ldr r0, _0811E088 @ =gUnknown_03004340 - ldr r4, _0811E08C @ =gUnknown_02024A60 - ldrb r3, [r4] - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _0811E090 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0811E07C - lsls r0, r3, 2 - ldr r1, _0811E094 @ =0x02017800 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811E070 - adds r0, r3, 0 - adds r1, r3, 0 - adds r2, r3, 0 - movs r3, 0x6 - bl move_anim_start_t4 -_0811E070: - ldr r0, _0811E098 @ =gUnknown_03004330 - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, _0811E09C @ =sub_811E0A0 - str r0, [r1] -_0811E07C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811E084: .4byte gSprites -_0811E088: .4byte gUnknown_03004340 -_0811E08C: .4byte gUnknown_02024A60 -_0811E090: .4byte SpriteCallbackDummy -_0811E094: .4byte 0x02017800 -_0811E098: .4byte gUnknown_03004330 -_0811E09C: .4byte sub_811E0A0 - thumb_func_end sub_811E034 - - thumb_func_start sub_811E0A0 -sub_811E0A0: @ 811E0A0 - push {lr} - ldr r0, _0811E0C4 @ =gUnknown_02024A60 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _0811E0C8 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0811E0BE - bl dp01_tbl3_exec_completed -_0811E0BE: - pop {r0} - bx r0 - .align 2, 0 -_0811E0C4: .4byte gUnknown_02024A60 -_0811E0C8: .4byte 0x02017810 - thumb_func_end sub_811E0A0 - - thumb_func_start sub_811E0CC -sub_811E0CC: @ 811E0CC - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _0811E190 @ =gUnknown_02024A60 - ldrb r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r3, _0811E194 @ =0x02017810 - adds r2, r0, r3 - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811E186 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrb r0, [r7] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0x1] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - ldr r4, _0811E198 @ =0x000027f9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - ldr r0, _0811E19C @ =c3_0802FDF4 - movs r1, 0xA - bl CreateTask - ldr r0, _0811E1A0 @ =gUnknown_02024A6A - mov r8, r0 - ldrb r1, [r7] - lsls r0, r1, 1 - add r0, r8 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _0811E1A4 @ =gPlayerParty - adds r0, r5 - bl sub_80324F8 - ldr r1, _0811E1A8 @ =gUnknown_02024BE0 - ldrb r0, [r7] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0811E1AC @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - ldr r4, _0811E1B0 @ =gUnknown_03004340 - ldrb r1, [r7] - adds r0, r1, r4 - ldrb r0, [r0] - lsls r1, 1 - add r1, r8 - ldrh r1, [r1] - muls r1, r6 - adds r1, r5 - movs r2, 0 - bl sub_8045A5C - ldrb r0, [r7] - bl sub_804777C - ldrb r0, [r7] - adds r0, r4 - ldrb r0, [r0] - bl sub_8043DFC - ldrb r0, [r7] - bl sub_8031F88 - ldr r1, _0811E1B4 @ =gUnknown_03004330 - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldr r1, _0811E1B8 @ =sub_811E034 - str r1, [r0] -_0811E186: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811E190: .4byte gUnknown_02024A60 -_0811E194: .4byte 0x02017810 -_0811E198: .4byte 0x000027f9 -_0811E19C: .4byte c3_0802FDF4 -_0811E1A0: .4byte gUnknown_02024A6A -_0811E1A4: .4byte gPlayerParty -_0811E1A8: .4byte gUnknown_02024BE0 -_0811E1AC: .4byte gSprites -_0811E1B0: .4byte gUnknown_03004340 -_0811E1B4: .4byte gUnknown_03004330 -_0811E1B8: .4byte sub_811E034 - thumb_func_end sub_811E0CC - - thumb_func_start sub_811E1BC -sub_811E1BC: @ 811E1BC - push {r4-r6,lr} - ldr r4, _0811E234 @ =gUnknown_02024A60 - ldrb r2, [r4] - lsls r3, r2, 1 - adds r0, r3, r2 - lsls r0, 2 - ldr r6, _0811E238 @ =0x02017810 - adds r0, r6 - ldrb r1, [r0] - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - bne _0811E1EA - ldr r0, _0811E23C @ =gUnknown_02024A6A - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0811E240 @ =gPlayerParty - adds r1, r0 - adds r0, r2, 0 - bl sub_8141828 -_0811E1EA: - ldr r5, _0811E244 @ =gSprites - ldr r0, _0811E248 @ =gUnknown_0300434C - ldrb r2, [r4] - adds r0, r2, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r3, r0, 2 - adds r0, r5, 0 - adds r0, 0x1C - adds r0, r3, r0 - ldr r1, [r0] - ldr r0, _0811E24C @ =SpriteCallbackDummy - cmp r1, r0 - bne _0811E22C - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0811E22C - adds r0, r3, r5 - bl DestroySprite - ldr r1, _0811E250 @ =gUnknown_03004330 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0811E254 @ =sub_811E0CC - str r1, [r0] -_0811E22C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811E234: .4byte gUnknown_02024A60 -_0811E238: .4byte 0x02017810 -_0811E23C: .4byte gUnknown_02024A6A -_0811E240: .4byte gPlayerParty -_0811E244: .4byte gSprites -_0811E248: .4byte gUnknown_0300434C -_0811E24C: .4byte SpriteCallbackDummy -_0811E250: .4byte gUnknown_03004330 -_0811E254: .4byte sub_811E0CC - thumb_func_end sub_811E1BC - - thumb_func_start sub_811E258 -sub_811E258: @ 811E258 - push {lr} - ldr r0, _0811E288 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0811E284 - movs r0, 0x5A - bl m4aSongNumStop - ldr r3, _0811E28C @ =gMain - ldr r0, _0811E290 @ =0x0000043d - adds r2, r3, r0 - ldrb r1, [r2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, _0811E294 @ =gUnknown_030042D0 - ldr r0, [r0] - str r0, [r3] - ldr r0, _0811E298 @ =c2_8011A1C - bl SetMainCallback2 -_0811E284: - pop {r0} - bx r0 - .align 2, 0 -_0811E288: .4byte gReceivedRemoteLinkPlayers -_0811E28C: .4byte gMain -_0811E290: .4byte 0x0000043d -_0811E294: .4byte gUnknown_030042D0 -_0811E298: .4byte c2_8011A1C - thumb_func_end sub_811E258 - - thumb_func_start sub_811E29C -sub_811E29C: @ 811E29C - push {lr} - ldr r0, _0811E2CC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811E302 - ldr r0, _0811E2D0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811E2E0 - bl sub_800832C - ldr r1, _0811E2D4 @ =gUnknown_03004330 - ldr r0, _0811E2D8 @ =gUnknown_02024A60 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0811E2DC @ =sub_811E258 - str r1, [r0] - b _0811E302 - .align 2, 0 -_0811E2CC: .4byte gPaletteFade -_0811E2D0: .4byte gBattleTypeFlags -_0811E2D4: .4byte gUnknown_03004330 -_0811E2D8: .4byte gUnknown_02024A60 -_0811E2DC: .4byte sub_811E258 -_0811E2E0: - movs r0, 0x5A - bl m4aSongNumStop - ldr r2, _0811E308 @ =gMain - ldr r0, _0811E30C @ =0x0000043d - adds r3, r2, r0 - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldr r0, _0811E310 @ =gUnknown_030042D0 - ldr r0, [r0] - str r0, [r2] - ldr r0, [r2, 0x8] - bl SetMainCallback2 -_0811E302: - pop {r0} - bx r0 - .align 2, 0 -_0811E308: .4byte gMain -_0811E30C: .4byte 0x0000043d -_0811E310: .4byte gUnknown_030042D0 - thumb_func_end sub_811E29C - - thumb_func_start dp01_tbl3_exec_completed -dp01_tbl3_exec_completed: @ 811E314 - push {r4,lr} - sub sp, 0x4 - ldr r1, _0811E354 @ =gUnknown_03004330 - ldr r4, _0811E358 @ =gUnknown_02024A60 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0811E35C @ =sub_811DA94 - str r1, [r0] - ldr r0, _0811E360 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811E368 - bl GetMultiplayerId - mov r1, sp - strb r0, [r1] - movs r0, 0x2 - movs r1, 0x4 - mov r2, sp - bl dp01_prepare_buffer_wireless_probably - ldr r1, _0811E364 @ =gUnknown_02023A60 - ldrb r0, [r4] - lsls r0, 9 - adds r0, r1 - movs r1, 0x38 - strb r1, [r0] - b _0811E37A - .align 2, 0 -_0811E354: .4byte gUnknown_03004330 -_0811E358: .4byte gUnknown_02024A60 -_0811E35C: .4byte sub_811DA94 -_0811E360: .4byte gBattleTypeFlags -_0811E364: .4byte gUnknown_02023A60 -_0811E368: - ldr r2, _0811E384 @ =gUnknown_02024A64 - ldr r1, _0811E388 @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r2] - bics r0, r1 - str r0, [r2] -_0811E37A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811E384: .4byte gUnknown_02024A64 -_0811E388: .4byte gBitTable - thumb_func_end dp01_tbl3_exec_completed - - thumb_func_start sub_811E38C -sub_811E38C: @ 811E38C - push {lr} - ldr r0, _0811E3B0 @ =gUnknown_02024A60 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _0811E3B4 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0811E3AA - bl dp01_tbl3_exec_completed -_0811E3AA: - pop {r0} - bx r0 - .align 2, 0 -_0811E3B0: .4byte gUnknown_02024A60 -_0811E3B4: .4byte 0x02017810 - thumb_func_end sub_811E38C - - thumb_func_start sub_811E3B8 -sub_811E3B8: @ 811E3B8 - push {lr} - ldr r0, _0811E3DC @ =gUnknown_02024A60 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _0811E3E0 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0811E3D6 - bl dp01_tbl3_exec_completed -_0811E3D6: - pop {r0} - bx r0 - .align 2, 0 -_0811E3DC: .4byte gUnknown_02024A60 -_0811E3E0: .4byte 0x02017810 - thumb_func_end sub_811E3B8 - - thumb_func_start dp01t_00_3_getattr -dp01t_00_3_getattr: @ 811E3E4 - push {r4-r6,lr} - sub sp, 0x100 - movs r6, 0 - ldr r1, _0811E410 @ =gUnknown_02023A60 - ldr r0, _0811E414 @ =gUnknown_02024A60 - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _0811E41C - ldr r0, _0811E418 @ =gUnknown_02024A6A - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - mov r1, sp - bl dp01_getattr_by_ch1_for_player_pokemon - adds r6, r0, 0 - b _0811E43E - .align 2, 0 -_0811E410: .4byte gUnknown_02023A60 -_0811E414: .4byte gUnknown_02024A60 -_0811E418: .4byte gUnknown_02024A6A -_0811E41C: - ldrb r4, [r1] - movs r5, 0 -_0811E420: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0811E436 - lsls r0, r5, 24 - lsrs r0, 24 - mov r2, sp - adds r1, r2, r6 - bl dp01_getattr_by_ch1_for_player_pokemon - adds r6, r0 -_0811E436: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x5 - ble _0811E420 -_0811E43E: - lsls r1, r6, 16 - lsrs r1, 16 - movs r0, 0x1 - mov r2, sp - bl dp01_build_cmdbuf_x1D_1D_numargs_varargs - bl dp01_tbl3_exec_completed - add sp, 0x100 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end dp01t_00_3_getattr - - thumb_func_start dp01_getattr_by_ch1_for_player_pokemon -dp01_getattr_by_ch1_for_player_pokemon: @ 811E458 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x90 - adds r7, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r2, _0811E48C @ =gUnknown_02023A60 - ldr r3, _0811E490 @ =gUnknown_02024A60 - ldrb r0, [r3] - lsls r0, 9 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3B - bls _0811E482 - bl _0811EBEE -_0811E482: - lsls r0, 2 - ldr r1, _0811E494 @ =_0811E498 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811E48C: .4byte gUnknown_02023A60 -_0811E490: .4byte gUnknown_02024A60 -_0811E494: .4byte _0811E498 - .align 2, 0 -_0811E498: - .4byte _0811E588 - .4byte _0811E7AC - .4byte _0811E7BC - .4byte _0811E7CC - .4byte _0811E834 - .4byte _0811E834 - .4byte _0811E834 - .4byte _0811E834 - .4byte _0811E850 - .4byte _0811E88C - .4byte _0811E88C - .4byte _0811E88C - .4byte _0811E88C - .4byte _0811EBEE - .4byte _0811EBEE - .4byte _0811EBEE - .4byte _0811EBEE - .4byte _0811E8A8 - .4byte _0811E8B8 - .4byte _0811E8E8 - .4byte _0811E8F8 - .4byte _0811E908 - .4byte _0811E918 - .4byte _0811E928 - .4byte _0811E938 - .4byte _0811E948 - .4byte _0811E958 - .4byte _0811E968 - .4byte _0811E978 - .4byte _0811E988 - .4byte _0811E998 - .4byte _0811E9A8 - .4byte _0811E9F8 - .4byte _0811EA08 - .4byte _0811EA18 - .4byte _0811EA28 - .4byte _0811EA38 - .4byte _0811EA48 - .4byte _0811EA58 - .4byte _0811EA68 - .4byte _0811EA78 - .4byte _0811EAAC - .4byte _0811EABC - .4byte _0811EACC - .4byte _0811EADC - .4byte _0811EAEC - .4byte _0811EAFC - .4byte _0811EB0C - .4byte _0811EB1C - .4byte _0811EB3C - .4byte _0811EB4C - .4byte _0811EB5C - .4byte _0811EB6C - .4byte _0811EB7C - .4byte _0811EB8C - .4byte _0811EB9C - .4byte _0811EBAC - .4byte _0811EBBC - .4byte _0811EBCC - .4byte _0811EBDC -_0811E588: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0811E79C @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - mov r1, sp - strh r0, [r1] - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2E] - movs r6, 0 - add r0, sp, 0x24 - mov r9, r0 - movs r1, 0x3B - add r1, sp - mov r10, r1 - mov r2, sp - adds r2, 0x2B - str r2, [sp, 0x80] - mov r0, sp - adds r0, 0x2A - str r0, [sp, 0x7C] - mov r1, sp - adds r1, 0x68 - str r1, [sp, 0x8C] - adds r2, 0x5 - str r2, [sp, 0x84] - adds r0, 0x12 - str r0, [sp, 0x88] - mov r8, r4 - add r4, sp, 0xC -_0811E5D4: - adds r1, r6, 0 - adds r1, 0xD - mov r0, r8 - bl GetMonData - strh r0, [r4] - adds r1, r6, 0 - adds r1, 0x11 - mov r0, r8 - bl GetMonData - mov r2, r9 - adds r1, r2, r6 - strb r0, [r1] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _0811E5D4 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0811E79C @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl GetMonData - mov r1, r10 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - ldr r2, [sp, 0x80] - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x19 - bl GetMonData - str r0, [sp, 0x44] - adds r0, r4, 0 - movs r1, 0x27 - bl GetMonData - mov r3, sp - movs r5, 0x1F - ands r0, r5 - ldrb r2, [r3, 0x14] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x14] - adds r0, r4, 0 - movs r1, 0x28 - bl GetMonData - mov r3, sp - movs r6, 0x1F - ands r0, r6 - lsls r0, 5 - ldrh r2, [r3, 0x14] - ldr r1, _0811E7A0 @ =0xfffffc1f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x14] - adds r0, r4, 0 - movs r1, 0x29 - bl GetMonData - mov r3, sp - ands r0, r5 - lsls r0, 2 - ldrb r2, [r3, 0x15] - movs r1, 0x7D - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x15] - adds r0, r4, 0 - movs r1, 0x2A - bl GetMonData - movs r1, 0x1F - ands r1, r0 - lsls r1, 15 - ldr r0, [sp, 0x14] - ldr r2, _0811E7A4 @ =0xfff07fff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x14] - adds r0, r4, 0 - movs r1, 0x2B - bl GetMonData - mov r3, sp - ands r0, r6 - lsls r0, 4 - ldrh r2, [r3, 0x16] - ldr r1, _0811E7A8 @ =0xfffffe0f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x16] - adds r0, r4, 0 - movs r1, 0x2C - bl GetMonData - mov r3, sp - ands r0, r5 - lsls r0, 1 - ldrb r2, [r3, 0x17] - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x48] - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - str r0, [sp, 0x4C] - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - ldr r1, [sp, 0x7C] - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - mov r1, sp - strh r0, [r1, 0x28] - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2C] - adds r0, r4, 0 - movs r1, 0x3B - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2] - adds r0, r4, 0 - movs r1, 0x3C - bl GetMonData - mov r1, sp - strh r0, [r1, 0x4] - adds r0, r4, 0 - movs r1, 0x3D - bl GetMonData - mov r1, sp - strh r0, [r1, 0x6] - adds r0, r4, 0 - movs r1, 0x3E - bl GetMonData - mov r1, sp - strh r0, [r1, 0x8] - adds r0, r4, 0 - movs r1, 0x3F - bl GetMonData - mov r1, sp - strh r0, [r1, 0xA] - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - mov r3, sp - movs r1, 0x1 - ands r0, r1 - lsls r0, 6 - ldrb r2, [r3, 0x17] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - mov r3, sp - lsls r0, 7 - ldrb r2, [r3, 0x17] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [sp, 0x54] - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, [sp, 0x8C] - bl GetMonData - ldr r0, [sp, 0x84] - ldr r1, [sp, 0x8C] - bl StringCopy10 - adds r0, r4, 0 - movs r1, 0x7 - ldr r2, [sp, 0x88] - bl GetMonData - mov r2, sp - movs r6, 0 -_0811E78C: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x57 - bls _0811E78C - b _0811EBEE - .align 2, 0 -_0811E79C: .4byte gPlayerParty -_0811E7A0: .4byte 0xfffffc1f -_0811E7A4: .4byte 0xfff07fff -_0811E7A8: .4byte 0xfffffe0f -_0811E7AC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E7B8 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - b _0811EB26 - .align 2, 0 -_0811E7B8: .4byte gPlayerParty -_0811E7BC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E7C8 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - b _0811EB26 - .align 2, 0 -_0811E7C8: .4byte gPlayerParty -_0811E7CC: - movs r6, 0 - add r2, sp, 0x58 - mov r9, r2 - add r0, sp, 0x60 - mov r10, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0811E830 @ =gPlayerParty - adds r4, r1, r0 - mov r8, r9 -_0811E7E2: - adds r1, r6, 0 - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - mov r1, r8 - strh r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r4, 0 - bl GetMonData - mov r2, r10 - adds r1, r2, r6 - strb r0, [r1] - movs r0, 0x2 - add r8, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _0811E7E2 - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E830 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - mov r1, r9 - strb r0, [r1, 0xC] - mov r2, r9 - movs r6, 0 -_0811E820: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0xF - bls _0811E820 - b _0811EBEE - .align 2, 0 -_0811E830: .4byte gPlayerParty -_0811E834: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E84C @ =gPlayerParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x9 - b _0811EB26 - .align 2, 0 -_0811E84C: .4byte gPlayerParty -_0811E850: - movs r6, 0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r2, _0811E888 @ =gPlayerParty - mov r8, r2 -_0811E85C: - adds r1, r6, 0 - adds r1, 0x11 - mov r2, r8 - adds r0, r4, r2 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - cmp r6, 0x3 - ble _0811E85C - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E888 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - b _0811EBEE - .align 2, 0 -_0811E888: .4byte gPlayerParty -_0811E88C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E8A4 @ =gPlayerParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x8 - b _0811EBE6 - .align 2, 0 -_0811E8A4: .4byte gPlayerParty -_0811E8A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E8B4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1 - b _0811E8C2 - .align 2, 0 -_0811E8B4: .4byte gPlayerParty -_0811E8B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E8E4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x19 -_0811E8C2: - bl GetMonData - adds r1, r0, 0 - strb r1, [r7] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r7, 0x2] - movs r6, 0x3 - b _0811EBEE - .align 2, 0 -_0811E8E4: .4byte gPlayerParty -_0811E8E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E8F4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1A - b _0811EBE6 - .align 2, 0 -_0811E8F4: .4byte gPlayerParty -_0811E8F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E904 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1B - b _0811EBE6 - .align 2, 0 -_0811E904: .4byte gPlayerParty -_0811E908: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E914 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1C - b _0811EBE6 - .align 2, 0 -_0811E914: .4byte gPlayerParty -_0811E918: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E924 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1D - b _0811EBE6 - .align 2, 0 -_0811E924: .4byte gPlayerParty -_0811E928: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E934 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1E - b _0811EBE6 - .align 2, 0 -_0811E934: .4byte gPlayerParty -_0811E938: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E944 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1F - b _0811EBE6 - .align 2, 0 -_0811E944: .4byte gPlayerParty -_0811E948: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E954 @ =gPlayerParty - adds r0, r1 - movs r1, 0x20 - b _0811EBE6 - .align 2, 0 -_0811E954: .4byte gPlayerParty -_0811E958: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E964 @ =gPlayerParty - adds r0, r1 - movs r1, 0x22 - b _0811EBE6 - .align 2, 0 -_0811E964: .4byte gPlayerParty -_0811E968: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E974 @ =gPlayerParty - adds r0, r1 - movs r1, 0x23 - b _0811EBE6 - .align 2, 0 -_0811E974: .4byte gPlayerParty -_0811E978: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E984 @ =gPlayerParty - adds r0, r1 - movs r1, 0x24 - b _0811EBE6 - .align 2, 0 -_0811E984: .4byte gPlayerParty -_0811E988: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E994 @ =gPlayerParty - adds r0, r1 - movs r1, 0x25 - b _0811EBE6 - .align 2, 0 -_0811E994: .4byte gPlayerParty -_0811E998: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811E9A4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x26 - b _0811EBE6 - .align 2, 0 -_0811E9A4: .4byte gPlayerParty -_0811E9A8: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0811E9F4 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x27 - bl GetMonData - strb r0, [r7] - adds r0, r4, 0 - movs r1, 0x28 - bl GetMonData - strb r0, [r7, 0x1] - adds r0, r4, 0 - movs r1, 0x29 - bl GetMonData - strb r0, [r7, 0x2] - adds r0, r4, 0 - movs r1, 0x2A - bl GetMonData - strb r0, [r7, 0x3] - adds r0, r4, 0 - movs r1, 0x2B - bl GetMonData - strb r0, [r7, 0x4] - adds r0, r4, 0 - movs r1, 0x2C - bl GetMonData - strb r0, [r7, 0x5] - movs r6, 0x6 - b _0811EBEE - .align 2, 0 -_0811E9F4: .4byte gPlayerParty -_0811E9F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EA04 @ =gPlayerParty - adds r0, r1 - movs r1, 0x27 - b _0811EBE6 - .align 2, 0 -_0811EA04: .4byte gPlayerParty -_0811EA08: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EA14 @ =gPlayerParty - adds r0, r1 - movs r1, 0x28 - b _0811EBE6 - .align 2, 0 -_0811EA14: .4byte gPlayerParty -_0811EA18: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EA24 @ =gPlayerParty - adds r0, r1 - movs r1, 0x29 - b _0811EBE6 - .align 2, 0 -_0811EA24: .4byte gPlayerParty -_0811EA28: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EA34 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2A - b _0811EBE6 - .align 2, 0 -_0811EA34: .4byte gPlayerParty -_0811EA38: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EA44 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2B - b _0811EBE6 - .align 2, 0 -_0811EA44: .4byte gPlayerParty -_0811EA48: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EA54 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2C - b _0811EBE6 - .align 2, 0 -_0811EA54: .4byte gPlayerParty -_0811EA58: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EA64 @ =gPlayerParty - adds r0, r1 - movs r1, 0 - b _0811EA82 - .align 2, 0 -_0811EA64: .4byte gPlayerParty -_0811EA68: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EA74 @ =gPlayerParty - adds r0, r1 - movs r1, 0x9 - b _0811EB26 - .align 2, 0 -_0811EA74: .4byte gPlayerParty -_0811EA78: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EAA8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x37 -_0811EA82: - bl GetMonData - adds r1, r0, 0 - strb r1, [r7] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r7, 0x2] - lsrs r0, r1, 24 - strb r0, [r7, 0x3] - movs r6, 0x4 - b _0811EBEE - .align 2, 0 -_0811EAA8: .4byte gPlayerParty -_0811EAAC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EAB8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - b _0811EBE6 - .align 2, 0 -_0811EAB8: .4byte gPlayerParty -_0811EABC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EAC8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - b _0811EB26 - .align 2, 0 -_0811EAC8: .4byte gPlayerParty -_0811EACC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EAD8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - b _0811EB26 - .align 2, 0 -_0811EAD8: .4byte gPlayerParty -_0811EADC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EAE8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3B - b _0811EB26 - .align 2, 0 -_0811EAE8: .4byte gPlayerParty -_0811EAEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EAF8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3C - b _0811EB26 - .align 2, 0 -_0811EAF8: .4byte gPlayerParty -_0811EAFC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EB08 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3D - b _0811EB26 - .align 2, 0 -_0811EB08: .4byte gPlayerParty -_0811EB0C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EB18 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3E - b _0811EB26 - .align 2, 0 -_0811EB18: .4byte gPlayerParty -_0811EB1C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EB38 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3F -_0811EB26: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - strb r0, [r7] - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r6, 0x2 - b _0811EBEE - .align 2, 0 -_0811EB38: .4byte gPlayerParty -_0811EB3C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EB48 @ =gPlayerParty - adds r0, r1 - movs r1, 0x16 - b _0811EBE6 - .align 2, 0 -_0811EB48: .4byte gPlayerParty -_0811EB4C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EB58 @ =gPlayerParty - adds r0, r1 - movs r1, 0x17 - b _0811EBE6 - .align 2, 0 -_0811EB58: .4byte gPlayerParty -_0811EB5C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EB68 @ =gPlayerParty - adds r0, r1 - movs r1, 0x18 - b _0811EBE6 - .align 2, 0 -_0811EB68: .4byte gPlayerParty -_0811EB6C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EB78 @ =gPlayerParty - adds r0, r1 - movs r1, 0x21 - b _0811EBE6 - .align 2, 0 -_0811EB78: .4byte gPlayerParty -_0811EB7C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EB88 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2F - b _0811EBE6 - .align 2, 0 -_0811EB88: .4byte gPlayerParty -_0811EB8C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EB98 @ =gPlayerParty - adds r0, r1 - movs r1, 0x30 - b _0811EBE6 - .align 2, 0 -_0811EB98: .4byte gPlayerParty -_0811EB9C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EBA8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x32 - b _0811EBE6 - .align 2, 0 -_0811EBA8: .4byte gPlayerParty -_0811EBAC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EBB8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x33 - b _0811EBE6 - .align 2, 0 -_0811EBB8: .4byte gPlayerParty -_0811EBBC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EBC8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x34 - b _0811EBE6 - .align 2, 0 -_0811EBC8: .4byte gPlayerParty -_0811EBCC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EBD8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x35 - b _0811EBE6 - .align 2, 0 -_0811EBD8: .4byte gPlayerParty -_0811EBDC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0811EC00 @ =gPlayerParty - adds r0, r1 - movs r1, 0x36 -_0811EBE6: - bl GetMonData - strb r0, [r7] - movs r6, 0x1 -_0811EBEE: - adds r0, r6, 0 - add sp, 0x90 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0811EC00: .4byte gPlayerParty - thumb_func_end dp01_getattr_by_ch1_for_player_pokemon - - thumb_func_start sub_811EC04 -sub_811EC04: @ 811EC04 - push {lr} - bl dp01_tbl3_exec_completed - pop {r0} - bx r0 - thumb_func_end sub_811EC04 - - thumb_func_start sub_811EC10 -sub_811EC10: @ 811EC10 - push {r4,r5,lr} - ldr r1, _0811EC34 @ =gUnknown_02023A60 - ldr r0, _0811EC38 @ =gUnknown_02024A60 - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _0811EC40 - ldr r0, _0811EC3C @ =gUnknown_02024A6A - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - bl sub_811EC68 - b _0811EC5E - .align 2, 0 -_0811EC34: .4byte gUnknown_02023A60 -_0811EC38: .4byte gUnknown_02024A60 -_0811EC3C: .4byte gUnknown_02024A6A -_0811EC40: - ldrb r4, [r1] - movs r5, 0 -_0811EC44: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0811EC52 - adds r0, r5, 0 - bl sub_811EC68 -_0811EC52: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0811EC44 -_0811EC5E: - bl dp01_tbl3_exec_completed - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811EC10 - thumb_func_start sub_811EC68 sub_811EC68: @ 811EC68 push {r4-r7,lr} diff --git a/asm/battle_ai.s b/asm/battle_ai.s deleted file mode 100644 index 426790c89..000000000 --- a/asm/battle_ai.s +++ /dev/null @@ -1,2067 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start BattleAICmd_if_status_not_in_party -BattleAICmd_if_status_not_in_party: @ 8108A28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08108A44 @ =gAIScriptPtr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r2, r0, 0 - cmp r1, 0x1 - bne _08108A4C - ldr r0, _08108A48 @ =gEnemyParty - mov r10, r0 - b _08108A50 - .align 2, 0 -_08108A44: .4byte gAIScriptPtr -_08108A48: .4byte gEnemyParty -_08108A4C: - ldr r1, _08108AE4 @ =gPlayerParty - mov r10, r1 -_08108A50: - ldr r1, [r2] - ldrb r7, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - orrs r7, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - orrs r7, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - orrs r7, r0 - movs r0, 0 - mov r8, r0 - mov r9, r2 -_08108A6C: - movs r0, 0x64 - mov r4, r8 - muls r4, r0 - add r4, r10 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - cmp r5, 0 - beq _08108AB0 - movs r1, 0xCE - lsls r1, 1 - cmp r5, r1 - beq _08108AB0 - cmp r6, 0 - beq _08108AB0 - cmp r0, r7 - bne _08108AB0 - mov r1, r9 - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] -_08108AB0: - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x5 - ble _08108A6C - ldr r3, _08108AE8 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x6] - ldrb r0, [r2, 0x7] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x9] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08108AE4: .4byte gPlayerParty -_08108AE8: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_if_status_not_in_party - - thumb_func_start BattleAICmd_unk_36 -BattleAICmd_unk_36: @ 8108AEC - push {lr} - ldr r2, _08108B3C @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08108B00 - ldr r1, _08108B40 @ =0x02016800 - movs r0, 0x1 - str r0, [r1, 0x8] -_08108B00: - ldrh r2, [r2] - movs r0, 0x18 - ands r0, r2 - adds r3, r2, 0 - cmp r0, 0 - beq _08108B12 - ldr r1, _08108B40 @ =0x02016800 - movs r0, 0x2 - str r0, [r1, 0x8] -_08108B12: - movs r0, 0x60 - ands r0, r3 - cmp r0, 0 - beq _08108B20 - ldr r1, _08108B40 @ =0x02016800 - movs r0, 0 - str r0, [r1, 0x8] -_08108B20: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _08108B2E - ldr r1, _08108B40 @ =0x02016800 - movs r0, 0x3 - str r0, [r1, 0x8] -_08108B2E: - ldr r1, _08108B44 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08108B3C: .4byte gBattleWeather -_08108B40: .4byte 0x02016800 -_08108B44: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_unk_36 - - thumb_func_start BattleAICmd_if_effect -BattleAICmd_if_effect: @ 8108B48 - push {lr} - ldr r2, _08108B7C @ =gBattleMoves - ldr r0, _08108B80 @ =0x02016800 - ldrh r1, [r0, 0x2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r3, _08108B84 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r0, [r0] - ldrb r1, [r2, 0x1] - cmp r0, r1 - bne _08108B88 - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08108B8C - .align 2, 0 -_08108B7C: .4byte gBattleMoves -_08108B80: .4byte 0x02016800 -_08108B84: .4byte gAIScriptPtr -_08108B88: - adds r0, r2, 0x6 - str r0, [r3] -_08108B8C: - pop {r0} - bx r0 - thumb_func_end BattleAICmd_if_effect - - thumb_func_start BattleAICmd_if_not_effect -BattleAICmd_if_not_effect: @ 8108B90 - push {lr} - ldr r2, _08108BC4 @ =gBattleMoves - ldr r0, _08108BC8 @ =0x02016800 - ldrh r1, [r0, 0x2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r3, _08108BCC @ =gAIScriptPtr - ldr r2, [r3] - ldrb r0, [r0] - ldrb r1, [r2, 0x1] - cmp r0, r1 - beq _08108BD0 - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08108BD4 - .align 2, 0 -_08108BC4: .4byte gBattleMoves -_08108BC8: .4byte 0x02016800 -_08108BCC: .4byte gAIScriptPtr -_08108BD0: - adds r0, r2, 0x6 - str r0, [r3] -_08108BD4: - pop {r0} - bx r0 - thumb_func_end BattleAICmd_if_not_effect - - thumb_func_start BattleAICmd_if_stat_level_less_than -BattleAICmd_if_stat_level_less_than: @ 8108BD8 - push {r4,lr} - ldr r0, _08108BEC @ =gAIScriptPtr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _08108BF4 - ldr r0, _08108BF0 @ =gUnknown_02024C07 - b _08108BF6 - .align 2, 0 -_08108BEC: .4byte gAIScriptPtr -_08108BF0: .4byte gUnknown_02024C07 -_08108BF4: - ldr r0, _08108C2C @ =gUnknown_02024C08 -_08108BF6: - ldrb r3, [r0] - ldr r1, _08108C30 @ =gBattleMons - ldr r2, [r4] - movs r0, 0x58 - muls r0, r3 - ldrb r3, [r2, 0x2] - adds r0, r3 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r2, 0x3] - cmp r0, r1 - bge _08108C34 - ldrb r1, [r2, 0x4] - ldrb r0, [r2, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08108C3A - .align 2, 0 -_08108C2C: .4byte gUnknown_02024C08 -_08108C30: .4byte gBattleMons -_08108C34: - adds r0, r2, 0 - adds r0, 0x8 - str r0, [r4] -_08108C3A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end BattleAICmd_if_stat_level_less_than - - thumb_func_start BattleAICmd_if_stat_level_more_than -BattleAICmd_if_stat_level_more_than: @ 8108C40 - push {r4,lr} - ldr r0, _08108C54 @ =gAIScriptPtr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _08108C5C - ldr r0, _08108C58 @ =gUnknown_02024C07 - b _08108C5E - .align 2, 0 -_08108C54: .4byte gAIScriptPtr -_08108C58: .4byte gUnknown_02024C07 -_08108C5C: - ldr r0, _08108C94 @ =gUnknown_02024C08 -_08108C5E: - ldrb r3, [r0] - ldr r1, _08108C98 @ =gBattleMons - ldr r2, [r4] - movs r0, 0x58 - muls r0, r3 - ldrb r3, [r2, 0x2] - adds r0, r3 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r2, 0x3] - cmp r0, r1 - ble _08108C9C - ldrb r1, [r2, 0x4] - ldrb r0, [r2, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08108CA2 - .align 2, 0 -_08108C94: .4byte gUnknown_02024C08 -_08108C98: .4byte gBattleMons -_08108C9C: - adds r0, r2, 0 - adds r0, 0x8 - str r0, [r4] -_08108CA2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end BattleAICmd_if_stat_level_more_than - - thumb_func_start BattleAICmd_if_stat_level_equal -BattleAICmd_if_stat_level_equal: @ 8108CA8 - push {r4,lr} - ldr r0, _08108CBC @ =gAIScriptPtr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _08108CC4 - ldr r0, _08108CC0 @ =gUnknown_02024C07 - b _08108CC6 - .align 2, 0 -_08108CBC: .4byte gAIScriptPtr -_08108CC0: .4byte gUnknown_02024C07 -_08108CC4: - ldr r0, _08108CFC @ =gUnknown_02024C08 -_08108CC6: - ldrb r3, [r0] - ldr r1, _08108D00 @ =gBattleMons - ldr r2, [r4] - movs r0, 0x58 - muls r0, r3 - ldrb r3, [r2, 0x2] - adds r0, r3 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r2, 0x3] - cmp r0, r1 - bne _08108D04 - ldrb r1, [r2, 0x4] - ldrb r0, [r2, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08108D0A - .align 2, 0 -_08108CFC: .4byte gUnknown_02024C08 -_08108D00: .4byte gBattleMons -_08108D04: - adds r0, r2, 0 - adds r0, 0x8 - str r0, [r4] -_08108D0A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end BattleAICmd_if_stat_level_equal - - thumb_func_start BattleAICmd_if_stat_level_not_equal -BattleAICmd_if_stat_level_not_equal: @ 8108D10 - push {r4,lr} - ldr r0, _08108D24 @ =gAIScriptPtr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _08108D2C - ldr r0, _08108D28 @ =gUnknown_02024C07 - b _08108D2E - .align 2, 0 -_08108D24: .4byte gAIScriptPtr -_08108D28: .4byte gUnknown_02024C07 -_08108D2C: - ldr r0, _08108D64 @ =gUnknown_02024C08 -_08108D2E: - ldrb r3, [r0] - ldr r1, _08108D68 @ =gBattleMons - ldr r2, [r4] - movs r0, 0x58 - muls r0, r3 - ldrb r3, [r2, 0x2] - adds r0, r3 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r2, 0x3] - cmp r0, r1 - beq _08108D6C - ldrb r1, [r2, 0x4] - ldrb r0, [r2, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08108D72 - .align 2, 0 -_08108D64: .4byte gUnknown_02024C08 -_08108D68: .4byte gBattleMons -_08108D6C: - adds r0, r2, 0 - adds r0, 0x8 - str r0, [r4] -_08108D72: - pop {r4} - pop {r0} - bx r0 - thumb_func_end BattleAICmd_if_stat_level_not_equal - - thumb_func_start BattleAICmd_if_can_faint -BattleAICmd_if_can_faint: @ 8108D78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, _08108E1C @ =gBattleMoves - ldr r6, _08108E20 @ =0x02016800 - ldrh r1, [r6, 0x2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bls _08108E4C - ldr r0, _08108E24 @ =gUnknown_02024DEC - movs r1, 0 - strh r1, [r0] - ldr r2, _08108E28 @ =0xfffff81c - adds r0, r6, r2 - strb r1, [r0] - adds r2, 0x3 - adds r0, r6, r2 - movs r2, 0x1 - mov r8, r2 - mov r2, r8 - strb r2, [r0] - ldr r0, _08108E2C @ =gUnknown_02024C68 - strb r1, [r0] - ldr r0, _08108E30 @ =gCritMultiplier - strb r2, [r0] - ldr r5, _08108E34 @ =gUnknown_02024BE6 - ldrh r0, [r6, 0x2] - strh r0, [r5] - ldr r4, _08108E38 @ =gUnknown_02024C07 - ldrb r0, [r4] - ldr r7, _08108E3C @ =gUnknown_02024C08 - ldrb r1, [r7] - bl sub_801CAF8 - ldrh r0, [r5] - ldrb r1, [r4] - ldrb r2, [r7] - bl move_effectiveness_something - ldr r4, _08108E40 @ =gUnknown_02024BEC - adds r0, r6, 0 - adds r0, 0x18 - ldrb r6, [r6, 0x1] - adds r0, r6 - ldrb r1, [r0] - ldr r0, [r4] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _08108DEE - mov r0, r8 - str r0, [r4] -_08108DEE: - ldr r2, _08108E44 @ =gBattleMons - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r1, [r0, 0x28] - ldr r0, [r4] - cmp r1, r0 - bgt _08108E4C - ldr r3, _08108E48 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08108E54 - .align 2, 0 -_08108E1C: .4byte gBattleMoves -_08108E20: .4byte 0x02016800 -_08108E24: .4byte gUnknown_02024DEC -_08108E28: .4byte 0xfffff81c -_08108E2C: .4byte gUnknown_02024C68 -_08108E30: .4byte gCritMultiplier -_08108E34: .4byte gUnknown_02024BE6 -_08108E38: .4byte gUnknown_02024C07 -_08108E3C: .4byte gUnknown_02024C08 -_08108E40: .4byte gUnknown_02024BEC -_08108E44: .4byte gBattleMons -_08108E48: .4byte gAIScriptPtr -_08108E4C: - ldr r1, _08108E60 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08108E54: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08108E60: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_if_can_faint - - thumb_func_start BattleAICmd_if_cant_faint -BattleAICmd_if_cant_faint: @ 8108E64 - push {r4-r7,lr} - ldr r2, _08108EF8 @ =gBattleMoves - ldr r7, _08108EFC @ =0x02016800 - ldrh r1, [r7, 0x2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bls _08108F28 - ldr r0, _08108F00 @ =gUnknown_02024DEC - movs r1, 0 - strh r1, [r0] - ldr r2, _08108F04 @ =0xfffff81c - adds r0, r7, r2 - strb r1, [r0] - adds r2, 0x3 - adds r0, r7, r2 - movs r2, 0x1 - strb r2, [r0] - ldr r0, _08108F08 @ =gUnknown_02024C68 - strb r1, [r0] - ldr r0, _08108F0C @ =gCritMultiplier - strb r2, [r0] - ldr r6, _08108F10 @ =gUnknown_02024BE6 - ldrh r0, [r7, 0x2] - strh r0, [r6] - ldr r4, _08108F14 @ =gUnknown_02024C07 - ldrb r0, [r4] - ldr r5, _08108F18 @ =gUnknown_02024C08 - ldrb r1, [r5] - bl sub_801CAF8 - ldrh r0, [r6] - ldrb r1, [r4] - ldrb r2, [r5] - bl move_effectiveness_something - ldr r4, _08108F1C @ =gUnknown_02024BEC - adds r0, r7, 0 - adds r0, 0x18 - ldrb r7, [r7, 0x1] - adds r0, r7 - ldrb r1, [r0] - ldr r0, [r4] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - ldr r3, _08108F20 @ =gBattleMons - ldrb r2, [r5] - movs r1, 0x58 - muls r1, r2 - adds r1, r3 - ldrh r1, [r1, 0x28] - cmp r1, r0 - ble _08108F28 - ldr r3, _08108F24 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08108F30 - .align 2, 0 -_08108EF8: .4byte gBattleMoves -_08108EFC: .4byte 0x02016800 -_08108F00: .4byte gUnknown_02024DEC -_08108F04: .4byte 0xfffff81c -_08108F08: .4byte gUnknown_02024C68 -_08108F0C: .4byte gCritMultiplier -_08108F10: .4byte gUnknown_02024BE6 -_08108F14: .4byte gUnknown_02024C07 -_08108F18: .4byte gUnknown_02024C08 -_08108F1C: .4byte gUnknown_02024BEC -_08108F20: .4byte gBattleMons -_08108F24: .4byte gAIScriptPtr -_08108F28: - ldr r1, _08108F38 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08108F30: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08108F38: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_if_cant_faint - - thumb_func_start BattleAICmd_unk_3F -BattleAICmd_unk_3F: @ 8108F3C - push {r4-r7,lr} - ldr r1, _08108F58 @ =gAIScriptPtr - ldr r0, [r1] - adds r6, r0, 0x2 - ldrb r0, [r0, 0x1] - adds r4, r1, 0 - cmp r0, 0x1 - beq _08108F64 - cmp r0, 0x1 - bgt _08108F5C - cmp r0, 0 - beq _08108FA8 - b _08109008 - .align 2, 0 -_08108F58: .4byte gAIScriptPtr -_08108F5C: - cmp r0, 0x2 - beq _08108FA8 - cmp r0, 0x3 - bne _08109008 -_08108F64: - movs r3, 0 - ldr r2, _08108FA0 @ =gBattleMons - ldr r5, _08108FA4 @ =gUnknown_02024C07 - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r2, 0xC - adds r0, r2 - ldrh r0, [r0] - ldrh r1, [r6] - cmp r0, r1 - beq _08108F9A - adds r7, r5, 0 - movs r6, 0x58 - adds r5, r2, 0 - adds r2, r1, 0 -_08108F84: - adds r3, 0x1 - cmp r3, 0x3 - bgt _08108F9A - lsls r1, r3, 1 - ldrb r0, [r7] - muls r0, r6 - adds r1, r0 - adds r1, r5 - ldrh r0, [r1] - cmp r0, r2 - bne _08108F84 -_08108F9A: - cmp r3, 0x4 - beq _08108FDE - b _08108FF0 - .align 2, 0 -_08108FA0: .4byte gBattleMons -_08108FA4: .4byte gUnknown_02024C07 -_08108FA8: - movs r3, 0 - ldr r5, _08108FE8 @ =0x02016a00 - ldr r1, _08108FEC @ =gUnknown_02024C08 - ldrb r0, [r1] - lsrs r0, 1 - lsls r0, 4 - adds r0, r5 - ldrh r0, [r0] - ldrh r2, [r6] - cmp r0, r2 - beq _08108FDA - adds r6, r5, 0 - adds r5, r1, 0 -_08108FC2: - adds r3, 0x1 - cmp r3, 0x7 - bgt _08108FDA - lsls r0, r3, 1 - ldrb r1, [r5] - lsrs r1, 1 - lsls r1, 4 - adds r0, r1 - adds r0, r6 - ldrh r0, [r0] - cmp r0, r2 - bne _08108FC2 -_08108FDA: - cmp r3, 0x8 - bne _08108FF0 -_08108FDE: - ldr r0, [r4] - adds r0, 0x8 - str r0, [r4] - b _08109008 - .align 2, 0 -_08108FE8: .4byte 0x02016a00 -_08108FEC: .4byte gUnknown_02024C08 -_08108FF0: - ldr r2, [r4] - ldrb r1, [r2, 0x4] - ldrb r0, [r2, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] -_08109008: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BattleAICmd_unk_3F - - thumb_func_start BattleAICmd_unk_40 -BattleAICmd_unk_40: @ 8109010 - push {r4-r7,lr} - ldr r1, _0810902C @ =gAIScriptPtr - ldr r0, [r1] - adds r6, r0, 0x2 - ldrb r0, [r0, 0x1] - adds r4, r1, 0 - cmp r0, 0x1 - beq _08109038 - cmp r0, 0x1 - bgt _08109030 - cmp r0, 0 - beq _0810907C - b _081090DC - .align 2, 0 -_0810902C: .4byte gAIScriptPtr -_08109030: - cmp r0, 0x2 - beq _0810907C - cmp r0, 0x3 - bne _081090DC -_08109038: - movs r3, 0 - ldr r2, _08109074 @ =gBattleMons - ldr r5, _08109078 @ =gUnknown_02024C07 - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r2, 0xC - adds r0, r2 - ldrh r0, [r0] - ldrh r1, [r6] - cmp r0, r1 - beq _0810906E - adds r7, r5, 0 - movs r6, 0x58 - adds r5, r2, 0 - adds r2, r1, 0 -_08109058: - adds r3, 0x1 - cmp r3, 0x3 - bgt _0810906E - lsls r1, r3, 1 - ldrb r0, [r7] - muls r0, r6 - adds r1, r0 - adds r1, r5 - ldrh r0, [r1] - cmp r0, r2 - bne _08109058 -_0810906E: - cmp r3, 0x4 - bne _081090B2 - b _081090C4 - .align 2, 0 -_08109074: .4byte gBattleMons -_08109078: .4byte gUnknown_02024C07 -_0810907C: - movs r3, 0 - ldr r5, _081090BC @ =0x02016a00 - ldr r1, _081090C0 @ =gUnknown_02024C08 - ldrb r0, [r1] - lsrs r0, 1 - lsls r0, 4 - adds r0, r5 - ldrh r0, [r0] - ldrh r2, [r6] - cmp r0, r2 - beq _081090AE - adds r6, r5, 0 - adds r5, r1, 0 -_08109096: - adds r3, 0x1 - cmp r3, 0x7 - bgt _081090AE - lsls r0, r3, 1 - ldrb r1, [r5] - lsrs r1, 1 - lsls r1, 4 - adds r0, r1 - adds r0, r6 - ldrh r0, [r0] - cmp r0, r2 - bne _08109096 -_081090AE: - cmp r3, 0x8 - beq _081090C4 -_081090B2: - ldr r0, [r4] - adds r0, 0x8 - str r0, [r4] - b _081090DC - .align 2, 0 -_081090BC: .4byte 0x02016a00 -_081090C0: .4byte gUnknown_02024C08 -_081090C4: - ldr r2, [r4] - ldrb r1, [r2, 0x4] - ldrb r0, [r2, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] -_081090DC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BattleAICmd_unk_40 - - thumb_func_start BattleAICmd_if_move_effect -BattleAICmd_if_move_effect: @ 81090E4 - push {r4-r7,lr} - ldr r1, _081090FC @ =gAIScriptPtr - ldr r0, [r1] - ldrb r0, [r0, 0x1] - adds r4, r1, 0 - cmp r0, 0x1 - beq _08109108 - cmp r0, 0x1 - bgt _08109100 - cmp r0, 0 - beq _0810915C - b _081091B8 - .align 2, 0 -_081090FC: .4byte gAIScriptPtr -_08109100: - cmp r0, 0x2 - beq _0810915C - cmp r0, 0x3 - bne _081091B8 -_08109108: - movs r3, 0 - ldr r1, _0810914C @ =gBattleMons - ldr r0, _08109150 @ =gUnknown_02024C07 - ldrb r2, [r0] - ldr r6, _08109154 @ =gBattleMoves - movs r0, 0x58 - muls r0, r2 - adds r1, 0xC - adds r2, r0, r1 - ldr r5, _08109158 @ =gAIScriptPtr -_0810911C: - ldrh r0, [r2] - cmp r0, 0 - beq _08109136 - adds r1, r0, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldr r1, [r5] - ldrb r0, [r0] - ldrb r1, [r1, 0x2] - cmp r0, r1 - beq _0810913E -_08109136: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - ble _0810911C -_0810913E: - cmp r3, 0x4 - bne _081091A0 - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - b _081091B8 - .align 2, 0 -_0810914C: .4byte gBattleMons -_08109150: .4byte gUnknown_02024C07 -_08109154: .4byte gBattleMoves -_08109158: .4byte gAIScriptPtr -_0810915C: - movs r3, 0 - ldr r1, _081091C0 @ =gBattleMons - ldr r0, _081091C4 @ =gUnknown_02024C07 - ldrb r2, [r0] - ldr r7, _081091C8 @ =gBattleMoves - ldr r6, _081091CC @ =0x02016a00 - ldr r5, _081091D0 @ =gUnknown_02024C08 - movs r0, 0x58 - muls r0, r2 - adds r1, 0xC - adds r2, r0, r1 -_08109172: - lsls r1, r3, 1 - ldrh r0, [r2] - cmp r0, 0 - beq _08109198 - ldrb r0, [r5] - lsrs r0, 1 - lsls r0, 4 - adds r0, r1, r0 - adds r0, r6 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, [r4] - ldrb r0, [r0] - ldrb r1, [r1, 0x2] - cmp r0, r1 - beq _081091A0 -_08109198: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x7 - ble _08109172 -_081091A0: - ldr r2, [r4] - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] -_081091B8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081091C0: .4byte gBattleMons -_081091C4: .4byte gUnknown_02024C07 -_081091C8: .4byte gBattleMoves -_081091CC: .4byte 0x02016a00 -_081091D0: .4byte gUnknown_02024C08 - thumb_func_end BattleAICmd_if_move_effect - - thumb_func_start BattleAICmd_if_not_move_effect -BattleAICmd_if_not_move_effect: @ 81091D4 - push {r4-r6,lr} - ldr r1, _081091EC @ =gAIScriptPtr - ldr r0, [r1] - ldrb r0, [r0, 0x1] - adds r4, r1, 0 - cmp r0, 0x1 - beq _081091F8 - cmp r0, 0x1 - bgt _081091F0 - cmp r0, 0 - beq _0810925C - b _08109294 - .align 2, 0 -_081091EC: .4byte gAIScriptPtr -_081091F0: - cmp r0, 0x2 - beq _0810925C - cmp r0, 0x3 - bne _08109294 -_081091F8: - movs r3, 0 - ldr r1, _0810924C @ =gBattleMons - ldr r0, _08109250 @ =gUnknown_02024C07 - ldrb r2, [r0] - ldr r6, _08109254 @ =gBattleMoves - movs r0, 0x58 - muls r0, r2 - adds r1, 0xC - adds r2, r0, r1 - ldr r5, _08109258 @ =gAIScriptPtr -_0810920C: - ldrh r0, [r2] - cmp r0, 0 - beq _08109226 - adds r1, r0, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldr r1, [r5] - ldrb r0, [r0] - ldrb r1, [r1, 0x2] - cmp r0, r1 - beq _0810922E -_08109226: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - ble _0810920C -_0810922E: - cmp r3, 0x4 - bne _0810928E - ldr r2, [r4] - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08109294 - .align 2, 0 -_0810924C: .4byte gBattleMons -_08109250: .4byte gUnknown_02024C07 -_08109254: .4byte gBattleMoves -_08109258: .4byte gAIScriptPtr -_0810925C: - movs r3, 0 - ldr r1, _0810929C @ =0x02016a00 - ldr r0, _081092A0 @ =gUnknown_02024C08 - ldrb r0, [r0] - lsrs r0, 1 - lsls r0, 4 - adds r2, r0, r1 - ldr r5, _081092A4 @ =gBattleMoves -_0810926C: - ldrh r0, [r2] - cmp r0, 0 - beq _08109286 - adds r1, r0, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, [r4] - ldrb r0, [r0] - ldrb r1, [r1, 0x2] - cmp r0, r1 - beq _0810928E -_08109286: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x7 - ble _0810926C -_0810928E: - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] -_08109294: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810929C: .4byte 0x02016a00 -_081092A0: .4byte gUnknown_02024C08 -_081092A4: .4byte gBattleMoves - thumb_func_end BattleAICmd_if_not_move_effect - - thumb_func_start BattleAICmd_if_last_move_did_damage -BattleAICmd_if_last_move_did_damage: @ 81092A8 - push {r4,r5,lr} - ldr r0, _081092BC @ =gAIScriptPtr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r5, r0, 0 - cmp r1, 0x1 - bne _081092C4 - ldr r0, _081092C0 @ =gUnknown_02024C07 - b _081092C6 - .align 2, 0 -_081092BC: .4byte gAIScriptPtr -_081092C0: .4byte gUnknown_02024C07 -_081092C4: - ldr r0, _081092E4 @ =gUnknown_02024C08 -_081092C6: - ldrb r3, [r0] - adds r4, r5, 0 - ldr r2, [r4] - ldrb r0, [r2, 0x2] - cmp r0, 0 - bne _081092EC - ldr r0, _081092E8 @ =gUnknown_02024CA8 - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x4] - cmp r0, 0 - beq _081092F0 - b _08109306 - .align 2, 0 -_081092E4: .4byte gUnknown_02024C08 -_081092E8: .4byte gUnknown_02024CA8 -_081092EC: - cmp r0, 0x1 - beq _081092F6 -_081092F0: - adds r0, r2, 0x7 - str r0, [r4] - b _08109328 -_081092F6: - ldr r0, _08109320 @ =gUnknown_02024CA8 - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - cmp r0, 0 - beq _08109324 -_08109306: - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08109328 - .align 2, 0 -_08109320: .4byte gUnknown_02024CA8 -_08109324: - adds r0, r2, 0x7 - str r0, [r5] -_08109328: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end BattleAICmd_if_last_move_did_damage - - thumb_func_start BattleAICmd_if_encored -BattleAICmd_if_encored: @ 8109330 - push {r4,lr} - ldr r4, _08109344 @ =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - cmp r0, 0 - beq _08109348 - cmp r0, 0x1 - beq _08109370 - b _081093AC - .align 2, 0 -_08109344: .4byte gAIScriptPtr -_08109348: - ldr r2, _08109364 @ =gUnknown_02024CA8 - ldr r0, _08109368 @ =gUnknown_02024A60 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _0810936C @ =0x02016800 - ldrh r0, [r0, 0x4] - ldrh r1, [r1, 0x2] - cmp r0, r1 - beq _08109388 - b _081093AC - .align 2, 0 -_08109364: .4byte gUnknown_02024CA8 -_08109368: .4byte gUnknown_02024A60 -_0810936C: .4byte 0x02016800 -_08109370: - ldr r2, _081093A0 @ =gUnknown_02024CA8 - ldr r0, _081093A4 @ =gUnknown_02024A60 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _081093A8 @ =0x02016800 - ldrh r0, [r0, 0x6] - ldrh r1, [r1, 0x2] - cmp r0, r1 - bne _081093AC -_08109388: - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081093B0 - .align 2, 0 -_081093A0: .4byte gUnknown_02024CA8 -_081093A4: .4byte gUnknown_02024A60 -_081093A8: .4byte 0x02016800 -_081093AC: - adds r0, r3, 0x6 - str r0, [r4] -_081093B0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end BattleAICmd_if_encored - - thumb_func_start BattleAICmd_unk_45 -BattleAICmd_unk_45: @ 81093B8 - ldr r2, _081093C4 @ =0x02016800 - ldrb r1, [r2, 0x10] - movs r0, 0xB - orrs r0, r1 - strb r0, [r2, 0x10] - bx lr - .align 2, 0 -_081093C4: .4byte 0x02016800 - thumb_func_end BattleAICmd_unk_45 - - thumb_func_start BattleAICmd_if_random_2 -BattleAICmd_if_random_2: @ 81093C8 - push {r4,lr} - ldr r0, _0810940C @ =0x02000000 - ldr r1, _08109410 @ =0x00016088 - adds r0, r1 - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r4 - bcs _08109418 - ldr r3, _08109414 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08109420 - .align 2, 0 -_0810940C: .4byte 0x02000000 -_08109410: .4byte 0x00016088 -_08109414: .4byte gAIScriptPtr -_08109418: - ldr r1, _08109428 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08109420: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08109428: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_if_random_2 - - thumb_func_start BattleAICmd_unk_47 -BattleAICmd_unk_47: @ 810942C - ldr r2, _08109438 @ =0x02016800 - ldrb r1, [r2, 0x10] - movs r0, 0xD - orrs r0, r1 - strb r0, [r2, 0x10] - bx lr - .align 2, 0 -_08109438: .4byte 0x02016800 - thumb_func_end BattleAICmd_unk_47 - - thumb_func_start BattleAICmd_get_hold_effect -BattleAICmd_get_hold_effect: @ 810943C - push {r4,lr} - ldr r0, _0810944C @ =gAIScriptPtr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _08109454 - ldr r0, _08109450 @ =gUnknown_02024C07 - b _08109456 - .align 2, 0 -_0810944C: .4byte gAIScriptPtr -_08109450: .4byte gUnknown_02024C07 -_08109454: - ldr r0, _0810947C @ =gUnknown_02024C08 -_08109456: - ldrb r4, [r0] - adds r0, r4, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08109488 - adds r0, r4, 0 - bl battle_get_per_side_status - movs r1, 0x1 - ands r1, r0 - ldr r2, _08109480 @ =0x02016800 - ldr r3, _08109484 @ =0x00000222 - adds r0, r2, r3 - adds r1, r0 - ldrb r0, [r1] - str r0, [r2, 0x8] - b _0810949E - .align 2, 0 -_0810947C: .4byte gUnknown_02024C08 -_08109480: .4byte 0x02016800 -_08109484: .4byte 0x00000222 -_08109488: - ldr r1, _081094AC @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffect - ldr r1, _081094B0 @ =0x02016800 - lsls r0, 24 - lsrs r0, 24 - str r0, [r1, 0x8] -_0810949E: - ldr r1, _081094B4 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081094AC: .4byte gBattleMons -_081094B0: .4byte 0x02016800 -_081094B4: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_get_hold_effect - - thumb_func_start BattleAICmd_get_gender -BattleAICmd_get_gender: @ 81094B8 - push {lr} - ldr r0, _081094C8 @ =gAIScriptPtr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _081094D0 - ldr r0, _081094CC @ =gUnknown_02024C07 - b _081094D2 - .align 2, 0 -_081094C8: .4byte gAIScriptPtr -_081094CC: .4byte gUnknown_02024C07 -_081094D0: - ldr r0, _081094FC @ =gUnknown_02024C08 -_081094D2: - ldrb r1, [r0] - ldr r2, _08109500 @ =gBattleMons - movs r0, 0x58 - muls r1, r0 - adds r0, r1, r2 - ldrh r0, [r0] - adds r2, 0x48 - adds r1, r2 - ldr r1, [r1] - bl GetGenderFromSpeciesAndPersonality - ldr r1, _08109504 @ =0x02016800 - lsls r0, 24 - lsrs r0, 24 - str r0, [r1, 0x8] - ldr r1, _08109508 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_081094FC: .4byte gUnknown_02024C08 -_08109500: .4byte gBattleMons -_08109504: .4byte 0x02016800 -_08109508: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_get_gender - - thumb_func_start BattleAICmd_is_first_turn -BattleAICmd_is_first_turn: @ 810950C - push {r4,lr} - ldr r0, _08109520 @ =gAIScriptPtr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _08109528 - ldr r0, _08109524 @ =gUnknown_02024C07 - b _0810952A - .align 2, 0 -_08109520: .4byte gAIScriptPtr -_08109524: .4byte gUnknown_02024C07 -_08109528: - ldr r0, _08109548 @ =gUnknown_02024C08 -_0810952A: - ldrb r3, [r0] - ldr r2, _0810954C @ =0x02016800 - ldr r1, _08109550 @ =gUnknown_02024CA8 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x16] - str r0, [r2, 0x8] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08109548: .4byte gUnknown_02024C08 -_0810954C: .4byte 0x02016800 -_08109550: .4byte gUnknown_02024CA8 - thumb_func_end BattleAICmd_is_first_turn - - thumb_func_start BattleAICmd_get_stockpile_count -BattleAICmd_get_stockpile_count: @ 8109554 - push {r4,lr} - ldr r0, _08109568 @ =gAIScriptPtr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _08109570 - ldr r0, _0810956C @ =gUnknown_02024C07 - b _08109572 - .align 2, 0 -_08109568: .4byte gAIScriptPtr -_0810956C: .4byte gUnknown_02024C07 -_08109570: - ldr r0, _08109590 @ =gUnknown_02024C08 -_08109572: - ldrb r3, [r0] - ldr r2, _08109594 @ =0x02016800 - ldr r1, _08109598 @ =gUnknown_02024CA8 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x9] - str r0, [r2, 0x8] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08109590: .4byte gUnknown_02024C08 -_08109594: .4byte 0x02016800 -_08109598: .4byte gUnknown_02024CA8 - thumb_func_end BattleAICmd_get_stockpile_count - - thumb_func_start BattleAICmd_unk_4C -BattleAICmd_unk_4C: @ 810959C - ldr r2, _081095B4 @ =0x02016800 - ldr r0, _081095B8 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - str r0, [r2, 0x8] - ldr r1, _081095BC @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_081095B4: .4byte 0x02016800 -_081095B8: .4byte gBattleTypeFlags -_081095BC: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_unk_4C - - thumb_func_start BattleAICmd_get_item -BattleAICmd_get_item: @ 81095C0 - push {lr} - ldr r0, _081095D4 @ =gAIScriptPtr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r2, r0, 0 - cmp r1, 0x1 - bne _081095DC - ldr r0, _081095D8 @ =gUnknown_02024C07 - b _081095DE - .align 2, 0 -_081095D4: .4byte gAIScriptPtr -_081095D8: .4byte gUnknown_02024C07 -_081095DC: - ldr r0, _081095F8 @ =gUnknown_02024C08 -_081095DE: - ldrb r0, [r0] - ldr r1, _081095FC @ =0x02016800 - lsls r0, 1 - adds r0, r1 - ldr r3, _08109600 @ =0xfffff8cc - adds r0, r3 - ldrb r0, [r0] - str r0, [r1, 0x8] - ldr r0, [r2] - adds r0, 0x2 - str r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_081095F8: .4byte gUnknown_02024C08 -_081095FC: .4byte 0x02016800 -_08109600: .4byte 0xfffff8cc - thumb_func_end BattleAICmd_get_item - - thumb_func_start BattleAICmd_unk_4E -BattleAICmd_unk_4E: @ 8109604 - ldr r3, _08109620 @ =0x02016800 - ldr r2, _08109624 @ =gBattleMoves - ldr r1, [r3, 0x8] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - str r0, [r3, 0x8] - ldr r1, _08109628 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_08109620: .4byte 0x02016800 -_08109624: .4byte gBattleMoves -_08109628: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_unk_4E - - thumb_func_start BattleAICmd_unk_4F -BattleAICmd_unk_4F: @ 810962C - ldr r3, _08109648 @ =0x02016800 - ldr r2, _0810964C @ =gBattleMoves - ldr r1, [r3, 0x8] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - str r0, [r3, 0x8] - ldr r1, _08109650 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_08109648: .4byte 0x02016800 -_0810964C: .4byte gBattleMoves -_08109650: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_unk_4F - - thumb_func_start BattleAICmd_unk_50 -BattleAICmd_unk_50: @ 8109654 - ldr r3, _08109670 @ =0x02016800 - ldr r2, _08109674 @ =gBattleMoves - ldr r1, [r3, 0x8] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - str r0, [r3, 0x8] - ldr r1, _08109678 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_08109670: .4byte 0x02016800 -_08109674: .4byte gBattleMoves -_08109678: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_unk_50 - - thumb_func_start BattleAICmd_get_protect_count -BattleAICmd_get_protect_count: @ 810967C - push {r4,lr} - ldr r0, _08109690 @ =gAIScriptPtr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _08109698 - ldr r0, _08109694 @ =gUnknown_02024C07 - b _0810969A - .align 2, 0 -_08109690: .4byte gAIScriptPtr -_08109694: .4byte gUnknown_02024C07 -_08109698: - ldr r0, _081096B8 @ =gUnknown_02024C08 -_0810969A: - ldrb r3, [r0] - ldr r2, _081096BC @ =0x02016800 - ldr r1, _081096C0 @ =gUnknown_02024CA8 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x8] - str r0, [r2, 0x8] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081096B8: .4byte gUnknown_02024C08 -_081096BC: .4byte 0x02016800 -_081096C0: .4byte gUnknown_02024CA8 - thumb_func_end BattleAICmd_get_protect_count - - thumb_func_start BattleAICmd_unk_52 -BattleAICmd_unk_52: @ 81096C4 - bx lr - thumb_func_end BattleAICmd_unk_52 - - thumb_func_start BattleAICmd_unk_53 -BattleAICmd_unk_53: @ 81096C8 - bx lr - thumb_func_end BattleAICmd_unk_53 - - thumb_func_start BattleAICmd_unk_54 -BattleAICmd_unk_54: @ 81096CC - bx lr - thumb_func_end BattleAICmd_unk_54 - - thumb_func_start BattleAICmd_unk_55 -BattleAICmd_unk_55: @ 81096D0 - bx lr - thumb_func_end BattleAICmd_unk_55 - - thumb_func_start BattleAICmd_unk_56 -BattleAICmd_unk_56: @ 81096D4 - bx lr - thumb_func_end BattleAICmd_unk_56 - - thumb_func_start BattleAICmd_unk_57 -BattleAICmd_unk_57: @ 81096D8 - bx lr - thumb_func_end BattleAICmd_unk_57 - - thumb_func_start BattleAICmd_call -BattleAICmd_call: @ 81096DC - push {r4,lr} - ldr r4, _08109708 @ =gAIScriptPtr - ldr r0, [r4] - adds r0, 0x5 - bl sub_81098C4 - ldr r2, [r4] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08109708: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_call - - thumb_func_start BattleAICmd_jump -BattleAICmd_jump: @ 810970C - ldr r3, _08109728 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - bx lr - .align 2, 0 -_08109728: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_jump - - thumb_func_start BattleAICmd_unk_5A -BattleAICmd_unk_5A: @ 810972C - push {lr} - bl sub_8109908 - lsls r0, 24 - cmp r0, 0 - bne _08109742 - ldr r2, _08109748 @ =0x02016800 - ldrb r1, [r2, 0x10] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x10] -_08109742: - pop {r0} - bx r0 - .align 2, 0 -_08109748: .4byte 0x02016800 - thumb_func_end BattleAICmd_unk_5A - - thumb_func_start BattleAICmd_if_level_cond -BattleAICmd_if_level_cond: @ 810974C - push {r4,r5,lr} - ldr r5, _08109764 @ =gAIScriptPtr - ldr r4, [r5] - ldrb r0, [r4, 0x1] - cmp r0, 0x1 - beq _081097A0 - cmp r0, 0x1 - bgt _08109768 - cmp r0, 0 - beq _0810976E - b _0810981C - .align 2, 0 -_08109764: .4byte gAIScriptPtr -_08109768: - cmp r0, 0x2 - beq _081097D0 - b _0810981C -_0810976E: - ldr r3, _08109794 @ =gBattleMons - ldr r0, _08109798 @ =gUnknown_02024C07 - ldrb r0, [r0] - movs r2, 0x58 - adds r1, r0, 0 - muls r1, r2 - adds r1, r3 - adds r1, 0x2A - ldr r0, _0810979C @ =gUnknown_02024C08 - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bhi _081097F2 - b _08109818 - .align 2, 0 -_08109794: .4byte gBattleMons -_08109798: .4byte gUnknown_02024C07 -_0810979C: .4byte gUnknown_02024C08 -_081097A0: - ldr r3, _081097C4 @ =gBattleMons - ldr r0, _081097C8 @ =gUnknown_02024C07 - ldrb r0, [r0] - movs r2, 0x58 - adds r1, r0, 0 - muls r1, r2 - adds r1, r3 - adds r1, 0x2A - ldr r0, _081097CC @ =gUnknown_02024C08 - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bcc _081097F2 - b _08109818 - .align 2, 0 -_081097C4: .4byte gBattleMons -_081097C8: .4byte gUnknown_02024C07 -_081097CC: .4byte gUnknown_02024C08 -_081097D0: - ldr r3, _0810980C @ =gBattleMons - ldr r0, _08109810 @ =gUnknown_02024C07 - ldrb r0, [r0] - movs r2, 0x58 - adds r1, r0, 0 - muls r1, r2 - adds r1, r3 - adds r1, 0x2A - ldr r0, _08109814 @ =gUnknown_02024C08 - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bne _08109818 -_081097F2: - ldrb r1, [r4, 0x2] - ldrb r0, [r4, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r4, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r4, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r5] - b _0810981C - .align 2, 0 -_0810980C: .4byte gBattleMons -_08109810: .4byte gUnknown_02024C07 -_08109814: .4byte gUnknown_02024C08 -_08109818: - adds r0, r4, 0x6 - str r0, [r5] -_0810981C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end BattleAICmd_if_level_cond - - thumb_func_start BattleAICmd_if_taunted -BattleAICmd_if_taunted: @ 8109824 - push {lr} - ldr r2, _08109858 @ =gUnknown_02024CA8 - ldr r0, _0810985C @ =gUnknown_02024C08 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x13] - lsls r0, 28 - cmp r0, 0 - beq _08109864 - ldr r3, _08109860 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0810986C - .align 2, 0 -_08109858: .4byte gUnknown_02024CA8 -_0810985C: .4byte gUnknown_02024C08 -_08109860: .4byte gAIScriptPtr -_08109864: - ldr r1, _08109870 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0810986C: - pop {r0} - bx r0 - .align 2, 0 -_08109870: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_if_taunted - - thumb_func_start BattleAICmd_if_not_taunted -BattleAICmd_if_not_taunted: @ 8109874 - push {lr} - ldr r2, _081098A8 @ =gUnknown_02024CA8 - ldr r0, _081098AC @ =gUnknown_02024C08 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x13] - lsls r0, 28 - cmp r0, 0 - bne _081098B4 - ldr r3, _081098B0 @ =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081098BC - .align 2, 0 -_081098A8: .4byte gUnknown_02024CA8 -_081098AC: .4byte gUnknown_02024C08 -_081098B0: .4byte gAIScriptPtr -_081098B4: - ldr r1, _081098C0 @ =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_081098BC: - pop {r0} - bx r0 - .align 2, 0 -_081098C0: .4byte gAIScriptPtr - thumb_func_end BattleAICmd_if_not_taunted - - thumb_func_start sub_81098C4 -sub_81098C4: @ 81098C4 - push {r4,lr} - ldr r4, _081098E0 @ =0x02016c00 - adds r3, r4, 0 - adds r3, 0x20 - ldrb r1, [r3] - adds r2, r1, 0x1 - strb r2, [r3] - lsls r1, 24 - lsrs r1, 22 - adds r1, r4 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081098E0: .4byte 0x02016c00 - thumb_func_end sub_81098C4 - - thumb_func_start unref_sub_81098E4 -unref_sub_81098E4: @ 81098E4 - ldr r3, _08109900 @ =0x02016c00 - adds r2, r3, 0 - adds r2, 0x20 - ldrb r0, [r2] - adds r1, r0, 0x1 - strb r1, [r2] - lsls r0, 24 - lsrs r0, 22 - adds r0, r3 - ldr r1, _08109904 @ =gAIScriptPtr - ldr r1, [r1] - str r1, [r0] - bx lr - .align 2, 0 -_08109900: .4byte 0x02016c00 -_08109904: .4byte gAIScriptPtr - thumb_func_end unref_sub_81098E4 - - thumb_func_start sub_8109908 -sub_8109908: @ 8109908 - push {lr} - ldr r3, _0810991C @ =0x02016c00 - adds r2, r3, 0 - adds r2, 0x20 - ldrb r0, [r2] - cmp r0, 0 - bne _08109920 - movs r0, 0 - b _08109932 - .align 2, 0 -_0810991C: .4byte 0x02016c00 -_08109920: - subs r0, 0x1 - strb r0, [r2] - ldr r1, _08109938 @ =gAIScriptPtr - ldrb r0, [r2] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - str r0, [r1] - movs r0, 0x1 -_08109932: - pop {r1} - bx r1 - .align 2, 0 -_08109938: .4byte gAIScriptPtr - thumb_func_end sub_8109908 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim.s b/asm/battle_anim.s deleted file mode 100644 index a64d0414a..000000000 --- a/asm/battle_anim.s +++ /dev/null @@ -1,4729 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8075624 -sub_8075624: @ 8075624 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _080756B8 @ =gUnknown_0202F7B0 - movs r1, 0 - strb r1, [r0] - ldr r0, _080756BC @ =gUnknown_0202F7B1 - strb r1, [r0] - ldr r0, _080756C0 @ =gUnknown_0202F7B2 - strb r1, [r0] - ldr r0, _080756C4 @ =gUnknown_0202F7B3 - strb r1, [r0] - ldr r0, _080756C8 @ =gUnknown_0202F7B4 - movs r1, 0 - str r1, [r0] - ldr r0, _080756CC @ =gUnknown_0202F7B8 - str r1, [r0] - ldr r0, _080756D0 @ =gUnknown_0202F7BC - movs r2, 0 - strh r1, [r0] - ldr r0, _080756D4 @ =gUnknown_0202F7BE - strb r2, [r0] - ldr r4, _080756D8 @ =gUnknown_0202F7C2 - ldr r5, _080756DC @ =gUnknown_0202F7C4 - ldr r6, _080756E0 @ =gUnknown_0202F7C5 - ldr r7, _080756E4 @ =gUnknown_0202F7C6 - ldr r0, _080756E8 @ =gUnknown_0202F7C8 - mov r12, r0 - ldr r1, _080756EC @ =gUnknown_0202F7C9 - mov r8, r1 - ldr r0, _080756F0 @ =gUnknown_0202F7D2 - mov r9, r0 - ldr r1, _080756F4 @ =0x0000ffff - adds r3, r1, 0 - ldr r1, _080756F8 @ =gUnknown_03004B10 - movs r2, 0x7 -_0807566E: - ldrh r0, [r1] - orrs r0, r3 - strh r0, [r1] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _0807566E - ldr r1, _080756FC @ =gBattleAnimArgs - movs r2, 0 - adds r0, r1, 0 - adds r0, 0xE -_08075684: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _08075684 - movs r1, 0 - movs r0, 0xFF - strb r0, [r4] - movs r0, 0x1 - negs r0, r0 - strb r0, [r4, 0x1] - strb r1, [r5] - strb r1, [r6] - movs r0, 0 - strh r1, [r7] - mov r1, r12 - strb r0, [r1] - mov r1, r8 - strb r0, [r1] - mov r1, r9 - strb r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080756B8: .4byte gUnknown_0202F7B0 -_080756BC: .4byte gUnknown_0202F7B1 -_080756C0: .4byte gUnknown_0202F7B2 -_080756C4: .4byte gUnknown_0202F7B3 -_080756C8: .4byte gUnknown_0202F7B4 -_080756CC: .4byte gUnknown_0202F7B8 -_080756D0: .4byte gUnknown_0202F7BC -_080756D4: .4byte gUnknown_0202F7BE -_080756D8: .4byte gUnknown_0202F7C2 -_080756DC: .4byte gUnknown_0202F7C4 -_080756E0: .4byte gUnknown_0202F7C5 -_080756E4: .4byte gUnknown_0202F7C6 -_080756E8: .4byte gUnknown_0202F7C8 -_080756EC: .4byte gUnknown_0202F7C9 -_080756F0: .4byte gUnknown_0202F7D2 -_080756F4: .4byte 0x0000ffff -_080756F8: .4byte gUnknown_03004B10 -_080756FC: .4byte gBattleAnimArgs - thumb_func_end sub_8075624 - - thumb_func_start move_anim_start_t1 -move_anim_start_t1: @ 8075700 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _08075724 @ =gUnknown_0202F7C8 - ldr r0, _08075728 @ =gUnknown_02024C07 - ldrb r0, [r0] - strb r0, [r2] - ldr r2, _0807572C @ =gUnknown_0202F7C9 - ldr r0, _08075730 @ =gUnknown_02024C08 - ldrb r0, [r0] - strb r0, [r2] - ldr r0, _08075734 @ =gBattleAnims_Moves - movs r2, 0x1 - bl move_something - pop {r0} - bx r0 - .align 2, 0 -_08075724: .4byte gUnknown_0202F7C8 -_08075728: .4byte gUnknown_02024C07 -_0807572C: .4byte gUnknown_0202F7C9 -_08075730: .4byte gUnknown_02024C08 -_08075734: .4byte gBattleAnims_Moves - thumb_func_end move_anim_start_t1 - - thumb_func_start move_something -move_something: @ 8075738 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080757D8 - bl sub_8079E24 - movs r0, 0 - bl sub_8043EB4 - movs r4, 0 - mov r0, r8 - lsls r0, 2 - mov r10, r0 - ldr r6, _0807578C @ =gUnknown_02024A6A - movs r7, 0x64 - ldr r5, _08075790 @ =gUnknown_0202F7CA -_08075774: - lsls r0, r4, 24 - lsrs r0, 24 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _08075798 - ldrh r0, [r6] - muls r0, r7 - ldr r1, _08075794 @ =gEnemyParty - b _0807579E - .align 2, 0 -_0807578C: .4byte gUnknown_02024A6A -_08075790: .4byte gUnknown_0202F7CA -_08075794: .4byte gEnemyParty -_08075798: - ldrh r0, [r6] - muls r0, r7 - ldr r1, _080757C0 @ =gPlayerParty -_0807579E: - adds r0, r1 - movs r1, 0xB - bl GetMonData - strh r0, [r5] - adds r6, 0x2 - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _08075774 - ldr r3, _080757C4 @ =gUnknown_0202F7C6 - ldr r5, _080757C8 @ =gUnknown_0202F7C2 - ldr r1, _080757CC @ =gUnknown_0202F7B1 - mov r12, r1 - ldr r7, _080757D0 @ =gUnknown_0202F7AC - ldr r6, _080757D4 @ =sub_80759D0 - b _080757FC - .align 2, 0 -_080757C0: .4byte gPlayerParty -_080757C4: .4byte gUnknown_0202F7C6 -_080757C8: .4byte gUnknown_0202F7C2 -_080757CC: .4byte gUnknown_0202F7B1 -_080757D0: .4byte gUnknown_0202F7AC -_080757D4: .4byte sub_80759D0 -_080757D8: - ldr r3, _08075808 @ =gUnknown_0202F7C6 - ldr r5, _0807580C @ =gUnknown_0202F7C2 - mov r0, r8 - lsls r0, 2 - mov r10, r0 - ldr r1, _08075810 @ =gUnknown_0202F7B1 - mov r12, r1 - ldr r7, _08075814 @ =gUnknown_0202F7AC - ldr r6, _08075818 @ =sub_80759D0 - ldr r2, _0807581C @ =0x02019348 - ldr r1, _08075820 @ =gUnknown_0202F7CA - movs r4, 0x3 -_080757F0: - ldrh r0, [r2] - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080757F0 -_080757FC: - mov r0, r9 - cmp r0, 0 - bne _08075824 - strh r0, [r3] - b _08075828 - .align 2, 0 -_08075808: .4byte gUnknown_0202F7C6 -_0807580C: .4byte gUnknown_0202F7C2 -_08075810: .4byte gUnknown_0202F7B1 -_08075814: .4byte gUnknown_0202F7AC -_08075818: .4byte sub_80759D0 -_0807581C: .4byte 0x02019348 -_08075820: .4byte gUnknown_0202F7CA -_08075824: - mov r1, r8 - strh r1, [r3] -_08075828: - ldr r1, _0807587C @ =gBattleAnimArgs - movs r2, 0 - adds r0, r1, 0 - adds r0, 0xE -_08075830: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _08075830 - movs r0, 0xFF - strb r0, [r5] - movs r0, 0x1 - negs r0, r0 - strb r0, [r5, 0x1] - ldr r0, [sp] - add r0, r10 - ldr r0, [r0] - ldr r1, _08075880 @ =gUnknown_0202F7A4 - str r0, [r1] - movs r0, 0x1 - mov r1, r12 - strb r0, [r1] - movs r0, 0 - ldr r1, _08075884 @ =gUnknown_0202F7B0 - strb r0, [r1] - str r6, [r7] - ldr r0, _08075888 @ =0x0000ffff - adds r2, r0, 0 - ldr r1, _0807588C @ =gUnknown_03004B10 - movs r4, 0x7 -_08075862: - ldrh r0, [r1] - orrs r0, r2 - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08075862 - mov r1, r9 - cmp r1, 0 - beq _080758AE - movs r4, 0 - ldr r2, _08075890 @ =gUnknown_081C7160 - b _08075896 - .align 2, 0 -_0807587C: .4byte gBattleAnimArgs -_08075880: .4byte gUnknown_0202F7A4 -_08075884: .4byte gUnknown_0202F7B0 -_08075888: .4byte 0x0000ffff -_0807588C: .4byte gUnknown_03004B10 -_08075890: .4byte gUnknown_081C7160 -_08075894: - adds r4, 0x1 -_08075896: - lsls r0, r4, 1 - adds r0, r2 - ldrh r0, [r0] - ldr r1, _080758D0 @ =0x0000ffff - cmp r0, r1 - beq _080758AE - cmp r8, r0 - bne _08075894 - ldr r0, _080758D4 @ =gMPlay_BGM - movs r2, 0x80 - bl m4aMPlayVolumeControl -_080758AE: - ldr r0, _080758D8 @ =gUnknown_030042C4 - movs r1, 0 - strh r1, [r0] - ldr r0, _080758DC @ =gUnknown_03004240 - strh r1, [r0] - ldr r0, _080758E0 @ =gUnknown_03004200 - strh r1, [r0] - ldr r0, _080758E4 @ =gUnknown_03004244 - strh r1, [r0] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080758D0: .4byte 0x0000ffff -_080758D4: .4byte gMPlay_BGM -_080758D8: .4byte gUnknown_030042C4 -_080758DC: .4byte gUnknown_03004240 -_080758E0: .4byte gUnknown_03004200 -_080758E4: .4byte gUnknown_03004244 - thumb_func_end move_something - - thumb_func_start move_anim_8072740 -move_anim_8072740: @ 80758E8 - push {r4,lr} - adds r4, r0, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - ldr r1, _08075904 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075904: .4byte gUnknown_0202F7B2 - thumb_func_end move_anim_8072740 - - thumb_func_start move_anim_task_del -move_anim_task_del: @ 8075908 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r1, _08075920 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08075920: .4byte gUnknown_0202F7B2 - thumb_func_end move_anim_task_del - - thumb_func_start move_anim_related_task_del -move_anim_related_task_del: @ 8075924 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r1, _0807593C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807593C: .4byte gUnknown_0202F7B3 - thumb_func_end move_anim_related_task_del - - thumb_func_start sub_8075940 -sub_8075940: @ 8075940 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r4, _08075958 @ =0x0000ffff - ldr r1, _0807595C @ =gUnknown_03004B10 -_0807594C: - ldrh r0, [r1] - cmp r0, r4 - bne _08075960 - strh r3, [r1] - b _08075968 - .align 2, 0 -_08075958: .4byte 0x0000ffff -_0807595C: .4byte gUnknown_03004B10 -_08075960: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x7 - ble _0807594C -_08075968: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075940 - - thumb_func_start sub_8075970 -sub_8075970: @ 8075970 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r0, _0807598C @ =0x0000ffff - adds r4, r0, 0 - ldr r1, _08075990 @ =gUnknown_03004B10 -_0807597E: - ldrh r0, [r1] - cmp r0, r3 - bne _08075994 - orrs r0, r4 - strh r0, [r1] - b _0807599C - .align 2, 0 -_0807598C: .4byte 0x0000ffff -_08075990: .4byte gUnknown_03004B10 -_08075994: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x7 - ble _0807597E -_0807599C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075970 - - thumb_func_start move_anim_waiter -move_anim_waiter: @ 80759A4 - push {lr} - ldr r2, _080759BC @ =gUnknown_0202F7B0 - ldrb r1, [r2] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0 - bgt _080759C8 - ldr r0, _080759C0 @ =gUnknown_0202F7AC - ldr r1, _080759C4 @ =sub_80759D0 - str r1, [r0] - movs r0, 0 - b _080759CA - .align 2, 0 -_080759BC: .4byte gUnknown_0202F7B0 -_080759C0: .4byte gUnknown_0202F7AC -_080759C4: .4byte sub_80759D0 -_080759C8: - subs r0, r1, 0x1 -_080759CA: - strb r0, [r2] - pop {r0} - bx r0 - thumb_func_end move_anim_waiter - - thumb_func_start sub_80759D0 -sub_80759D0: @ 80759D0 - push {r4,lr} - ldr r4, _08075A00 @ =gUnknown_0837F4B8 -_080759D4: - ldr r0, _08075A04 @ =gUnknown_0202F7A4 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08075A08 @ =gUnknown_0202F7B0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080759F8 - ldr r0, _08075A0C @ =gUnknown_0202F7B1 - ldrb r0, [r0] - cmp r0, 0 - bne _080759D4 -_080759F8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075A00: .4byte gUnknown_0837F4B8 -_08075A04: .4byte gUnknown_0202F7A4 -_08075A08: .4byte gUnknown_0202F7B0 -_08075A0C: .4byte gUnknown_0202F7B1 - thumb_func_end sub_80759D0 - - thumb_func_start ma00_load_graphics -ma00_load_graphics: @ 8075A10 - push {r4-r6,lr} - ldr r6, _08075A5C @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r4, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r4, r0 - lsls r5, r4, 3 - ldr r0, _08075A60 @ =gBattleAnimPicTable - (10000 * 8) - adds r0, r5, r0 - bl LoadCompressedObjectPic - ldr r0, _08075A64 @ =gBattleAnimPaletteTable - (10000 * 8) - adds r5, r0 - adds r0, r5, 0 - bl LoadCompressedObjectPalette - ldr r0, [r6] - adds r0, 0x2 - str r0, [r6] - ldr r0, _08075A68 @ =0xffffd8f0 - adds r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - bl sub_8075940 - ldr r1, _08075A6C @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _08075A70 @ =gUnknown_0202F7AC - ldr r0, _08075A74 @ =move_anim_waiter - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08075A5C: .4byte gUnknown_0202F7A4 -_08075A60: .4byte gBattleAnimPicTable - (10000 * 8) -_08075A64: .4byte gBattleAnimPaletteTable - (10000 * 8) -_08075A68: .4byte 0xffffd8f0 -_08075A6C: .4byte gUnknown_0202F7B0 -_08075A70: .4byte gUnknown_0202F7AC -_08075A74: .4byte move_anim_waiter - thumb_func_end ma00_load_graphics - - thumb_func_start ma01_080728D0 -ma01_080728D0: @ 8075A78 - push {r4-r6,lr} - ldr r6, _08075AB8 @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r4, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r4, r0 - ldr r1, _08075ABC @ =gBattleAnimPicTable - ldr r0, _08075AC0 @ =0xffffd8f0 - adds r4, r0 - lsls r0, r4, 3 - adds r0, r1 - ldrh r5, [r0, 0x6] - adds r0, r5, 0 - bl FreeSpriteTilesByTag - adds r0, r5, 0 - bl FreeSpritePaletteByTag - ldr r0, [r6] - adds r0, 0x2 - str r0, [r6] - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - bl sub_8075970 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08075AB8: .4byte gUnknown_0202F7A4 -_08075ABC: .4byte gBattleAnimPicTable -_08075AC0: .4byte 0xffffd8f0 - thumb_func_end ma01_080728D0 - - thumb_func_start ma02_instanciate_template -ma02_instanciate_template: @ 8075AC4 - push {r4-r7,lr} - ldr r5, _08075B2C @ =gUnknown_0202F7A4 - ldr r1, [r5] - adds r3, r1, 0x1 - str r3, [r5] - ldrb r2, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r7, r2, r0 - adds r0, r1, 0x5 - str r0, [r5] - ldrb r4, [r1, 0x5] - adds r0, r1, 0x6 - str r0, [r5] - ldrb r0, [r1, 0x6] - adds r1, 0x7 - str r1, [r5] - cmp r0, 0 - beq _08075B14 - adds r6, r5, 0 - ldr r5, _08075B30 @ =gBattleAnimArgs - adds r3, r0, 0 -_08075AFC: - ldr r2, [r6] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - strh r1, [r5] - adds r2, 0x2 - str r2, [r6] - adds r5, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _08075AFC -_08075B14: - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - beq _08075B44 - movs r0, 0x80 - eors r4, r0 - cmp r4, 0x3F - bls _08075B34 - adds r0, r4, 0 - subs r0, 0x40 - b _08075B36 - .align 2, 0 -_08075B2C: .4byte gUnknown_0202F7A4 -_08075B30: .4byte gBattleAnimArgs -_08075B34: - negs r0, r4 -_08075B36: - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08075B40 @ =gUnknown_0202F7C9 - b _08075B56 - .align 2, 0 -_08075B40: .4byte gUnknown_0202F7C9 -_08075B44: - cmp r4, 0x3F - bls _08075B4E - adds r0, r4, 0 - subs r0, 0x40 - b _08075B50 -_08075B4E: - negs r0, r4 -_08075B50: - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08075BAC @ =gUnknown_0202F7C8 -_08075B56: - ldrb r0, [r0] - bl sub_8079E90 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 24 - asrs r1, 24 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0x2 - bgt _08075B74 - movs r6, 0x3 -_08075B74: - ldr r5, _08075BB0 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, r6, 24 - lsrs r3, 24 - adds r0, r7, 0 - adds r1, r4, 0 - bl CreateSpriteAndAnimate - ldr r1, _08075BB4 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075BAC: .4byte gUnknown_0202F7C8 -_08075BB0: .4byte gUnknown_0202F7C9 -_08075BB4: .4byte gUnknown_0202F7B2 - thumb_func_end ma02_instanciate_template - - thumb_func_start sub_8075BB8 -sub_8075BB8: @ 8075BB8 - push {r4-r7,lr} - ldr r4, _08075C28 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r3, r1, 0x1 - str r3, [r4] - ldrb r2, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r6, r2, r0 - adds r0, r1, 0x5 - str r0, [r4] - ldrb r7, [r1, 0x5] - adds r0, r1, 0x6 - str r0, [r4] - ldrb r0, [r1, 0x6] - adds r1, 0x7 - str r1, [r4] - cmp r0, 0 - beq _08075C08 - adds r5, r4, 0 - ldr r4, _08075C2C @ =gBattleAnimArgs - adds r3, r0, 0 -_08075BF0: - ldr r2, [r5] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - strh r1, [r4] - adds r2, 0x2 - str r2, [r5] - adds r4, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _08075BF0 -_08075C08: - adds r0, r6, 0 - adds r1, r7, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r6 - ldr r1, _08075C30 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075C28: .4byte gUnknown_0202F7A4 -_08075C2C: .4byte gBattleAnimArgs -_08075C30: .4byte gUnknown_0202F7B2 - thumb_func_end sub_8075BB8 - - thumb_func_start ma04_wait_countdown -ma04_wait_countdown: @ 8075C34 - push {r4,lr} - ldr r1, _08075C64 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r2, r0, 0x1 - str r2, [r1] - ldr r3, _08075C68 @ =gUnknown_0202F7B0 - ldrb r0, [r0, 0x1] - strb r0, [r3] - lsls r0, 24 - cmp r0, 0 - bne _08075C52 - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - strb r0, [r3] -_08075C52: - adds r0, r2, 0x1 - str r0, [r1] - ldr r1, _08075C6C @ =gUnknown_0202F7AC - ldr r0, _08075C70 @ =move_anim_waiter - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075C64: .4byte gUnknown_0202F7A4 -_08075C68: .4byte gUnknown_0202F7B0 -_08075C6C: .4byte gUnknown_0202F7AC -_08075C70: .4byte move_anim_waiter - thumb_func_end ma04_wait_countdown - - thumb_func_start sub_8075C74 -sub_8075C74: @ 8075C74 - push {lr} - ldr r0, _08075C8C @ =gUnknown_0202F7B2 - ldrb r2, [r0] - cmp r2, 0 - bne _08075C98 - ldr r0, _08075C90 @ =gUnknown_0202F7A4 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - ldr r0, _08075C94 @ =gUnknown_0202F7B0 - strb r2, [r0] - b _08075C9E - .align 2, 0 -_08075C8C: .4byte gUnknown_0202F7B2 -_08075C90: .4byte gUnknown_0202F7A4 -_08075C94: .4byte gUnknown_0202F7B0 -_08075C98: - ldr r1, _08075CA4 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] -_08075C9E: - pop {r0} - bx r0 - .align 2, 0 -_08075CA4: .4byte gUnknown_0202F7B0 - thumb_func_end sub_8075C74 - - thumb_func_start nullsub_53 -nullsub_53: @ 8075CA8 - bx lr - thumb_func_end nullsub_53 - - thumb_func_start nullsub_88 -nullsub_88: @ 8075CAC - bx lr - thumb_func_end nullsub_88 - - thumb_func_start sub_8075CB0 -sub_8075CB0: @ 8075CB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - ldr r0, _08075CE0 @ =gUnknown_0202F7B2 - ldrb r0, [r0] - cmp r0, 0 - bne _08075CD8 - ldr r0, _08075CE4 @ =gUnknown_0202F7B3 - ldrb r0, [r0] - cmp r0, 0 - bne _08075CD8 - ldr r1, _08075CE8 @ =gUnknown_0202F7C2 - ldrb r0, [r1] - cmp r0, 0xFF - bne _08075CD8 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _08075CF0 -_08075CD8: - ldr r1, _08075CEC @ =gUnknown_03004AF0 - movs r0, 0 - strh r0, [r1] - b _08075D0A - .align 2, 0 -_08075CE0: .4byte gUnknown_0202F7B2 -_08075CE4: .4byte gUnknown_0202F7B3 -_08075CE8: .4byte gUnknown_0202F7C2 -_08075CEC: .4byte gUnknown_03004AF0 -_08075CF0: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08075D28 - ldr r1, _08075D14 @ =gUnknown_03004AF0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5A - bhi _08075D1C -_08075D0A: - ldr r1, _08075D18 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] - b _08075D8E - .align 2, 0 -_08075D14: .4byte gUnknown_03004AF0 -_08075D18: .4byte gUnknown_0202F7B0 -_08075D1C: - ldr r0, _08075D98 @ =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, _08075D9C @ =gMPlay_SE2 - bl m4aMPlayStop -_08075D28: - ldr r1, _08075DA0 @ =gUnknown_03004AF0 - movs r0, 0 - strh r0, [r1] - movs r5, 0 - ldr r7, _08075DA4 @ =0x0000ffff - ldr r6, _08075DA8 @ =gBattleAnimPicTable - ldr r4, _08075DAC @ =gUnknown_03004B10 -_08075D36: - ldrh r0, [r4] - cmp r0, r7 - beq _08075D5A - lsls r0, 3 - adds r0, r6 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldrh r0, [r4] - lsls r0, 3 - adds r0, r6 - ldrh r0, [r0, 0x6] - bl FreeSpritePaletteByTag - ldrh r1, [r4] - adds r0, r7, 0 - orrs r0, r1 - strh r0, [r4] -_08075D5A: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x7 - ble _08075D36 - mov r1, r8 - cmp r1, 0 - bne _08075D8E - ldr r0, _08075DB0 @ =gMPlay_BGM - ldr r1, _08075DA4 @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08075D88 - bl sub_8079E24 - movs r0, 0x1 - bl sub_8043EB4 -_08075D88: - ldr r0, _08075DB4 @ =gUnknown_0202F7B1 - mov r1, r8 - strb r1, [r0] -_08075D8E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075D98: .4byte gMPlay_SE1 -_08075D9C: .4byte gMPlay_SE2 -_08075DA0: .4byte gUnknown_03004AF0 -_08075DA4: .4byte 0x0000ffff -_08075DA8: .4byte gBattleAnimPicTable -_08075DAC: .4byte gUnknown_03004B10 -_08075DB0: .4byte gMPlay_BGM -_08075DB4: .4byte gUnknown_0202F7B1 - thumb_func_end sub_8075CB0 - - thumb_func_start ma09_play_sound -ma09_play_sound: @ 8075DB8 - push {r4,lr} - ldr r4, _08075DDC @ =gUnknown_0202F7A4 - ldr r0, [r4] - adds r1, r0, 0x1 - str r1, [r4] - ldrb r0, [r0, 0x1] - ldrb r1, [r1, 0x1] - lsls r1, 8 - orrs r0, r1 - bl PlaySE - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075DDC: .4byte gUnknown_0202F7A4 - thumb_func_end ma09_play_sound - - thumb_func_start sub_8075DE0 -sub_8075DE0: @ 8075DE0 - push {r4-r7,lr} - ldr r0, _08075DF4 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r6, [r2, 0x1] - cmp r6, 0 - bne _08075DF8 - movs r6, 0x2 - b _08075E02 - .align 2, 0 -_08075DF4: .4byte gUnknown_0202F7A4 -_08075DF8: - cmp r6, 0x1 - bne _08075DFE - movs r6, 0x3 -_08075DFE: - cmp r6, 0 - beq _08075E06 -_08075E02: - cmp r6, 0x2 - bne _08075E10 -_08075E06: - ldr r0, _08075E0C @ =gUnknown_0202F7C8 - b _08075E12 - .align 2, 0 -_08075E0C: .4byte gUnknown_0202F7C8 -_08075E10: - ldr r0, _08075E44 @ =gUnknown_0202F7C9 -_08075E12: - ldrb r5, [r0] - adds r0, r5, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08075ECE - adds r0, r5, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08075E3E - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08075E48 -_08075E3E: - movs r7, 0 - b _08075E4A - .align 2, 0 -_08075E44: .4byte gUnknown_0202F7C9 -_08075E48: - movs r7, 0x1 -_08075E4A: - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_8076034 - ldr r0, _08075E98 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r4, [r0] - ldr r0, _08075E9C @ =task_pA_ma0A_obj_to_bg_pal - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _08075EA0 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r1 - strh r4, [r2, 0x8] - ldr r1, _08075EA4 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x24] - ldrh r4, [r0, 0x20] - adds r1, r4 - strh r1, [r2, 0xA] - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - strh r1, [r2, 0xC] - cmp r7, 0 - bne _08075EB0 - ldr r0, _08075EA8 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075EAC @ =gUnknown_030041B4 - b _08075EB8 - .align 2, 0 -_08075E98: .4byte gUnknown_02024BE0 -_08075E9C: .4byte task_pA_ma0A_obj_to_bg_pal -_08075EA0: .4byte gTasks -_08075EA4: .4byte gSprites -_08075EA8: .4byte gUnknown_030042C0 -_08075EAC: .4byte gUnknown_030041B4 -_08075EB0: - ldr r0, _08075F04 @ =gUnknown_03004288 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075F08 @ =gUnknown_03004280 -_08075EB8: - ldrh r0, [r0] - strh r0, [r2, 0x10] - ldr r0, _08075F0C @ =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r7, [r1, 0x12] - strh r5, [r1, 0x14] - ldr r0, _08075F10 @ =gUnknown_0202F7C2 - strb r3, [r0] -_08075ECE: - movs r0, 0x2 - eors r5, r0 - cmp r6, 0x1 - bls _08075F9A - adds r0, r5, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08075F9A - adds r0, r5, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08075F00 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08075F14 -_08075F00: - movs r7, 0 - b _08075F16 - .align 2, 0 -_08075F04: .4byte gUnknown_03004288 -_08075F08: .4byte gUnknown_03004280 -_08075F0C: .4byte gTasks -_08075F10: .4byte gUnknown_0202F7C2 -_08075F14: - movs r7, 0x1 -_08075F16: - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_8076034 - ldr r0, _08075F64 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r4, [r0] - ldr r0, _08075F68 @ =task_pA_ma0A_obj_to_bg_pal - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _08075F6C @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r1 - strh r4, [r2, 0x8] - ldr r1, _08075F70 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x24] - ldrh r4, [r0, 0x20] - adds r1, r4 - strh r1, [r2, 0xA] - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - strh r1, [r2, 0xC] - cmp r7, 0 - bne _08075F7C - ldr r0, _08075F74 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075F78 @ =gUnknown_030041B4 - b _08075F84 - .align 2, 0 -_08075F64: .4byte gUnknown_02024BE0 -_08075F68: .4byte task_pA_ma0A_obj_to_bg_pal -_08075F6C: .4byte gTasks -_08075F70: .4byte gSprites -_08075F74: .4byte gUnknown_030042C0 -_08075F78: .4byte gUnknown_030041B4 -_08075F7C: - ldr r0, _08075FA8 @ =gUnknown_03004288 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075FAC @ =gUnknown_03004280 -_08075F84: - ldrh r0, [r0] - strh r0, [r2, 0x10] - ldr r0, _08075FB0 @ =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r7, [r1, 0x12] - strh r5, [r1, 0x14] - ldr r0, _08075FB4 @ =gUnknown_0202F7C2 - strb r3, [r0, 0x1] -_08075F9A: - ldr r1, _08075FB8 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075FA8: .4byte gUnknown_03004288 -_08075FAC: .4byte gUnknown_03004280 -_08075FB0: .4byte gTasks -_08075FB4: .4byte gUnknown_0202F7C2 -_08075FB8: .4byte gUnknown_0202F7A4 - thumb_func_end sub_8075DE0 - - thumb_func_start b_side_obj__get_some_boolean -b_side_obj__get_some_boolean: @ 8075FBC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08075FDC - ldr r0, _08075FD8 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - cmp r4, r0 - beq _0807601C - b _0807602C - .align 2, 0 -_08075FD8: .4byte gUnknown_0202F7C8 -_08075FDC: - adds r0, r4, 0 - bl sub_8078874 - lsls r0, 24 - cmp r0, 0 - beq _0807602C - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _0807601C - lsls r0, r5, 2 - ldr r1, _08076020 @ =0x02017800 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807601C - ldr r2, _08076024 @ =gSprites - ldr r0, _08076028 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _0807602C -_0807601C: - movs r0, 0x1 - b _0807602E - .align 2, 0 -_08076020: .4byte 0x02017800 -_08076024: .4byte gSprites -_08076028: .4byte gUnknown_02024BE0 -_0807602C: - movs r0, 0 -_0807602E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end b_side_obj__get_some_boolean - - thumb_func_start sub_8076034 -sub_8076034: @ 8076034 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - cmp r1, 0 - beq _0807604E - b _08076220 -_0807604E: - add r4, sp, 0x10 - adds r0, r4, 0 - bl sub_8078914 - ldr r2, [sp, 0x10] - movs r3, 0x80 - lsls r3, 6 - add r6, sp, 0x1C - add r0, sp, 0x20 - mov r10, r0 - mov r1, r9 - lsls r1, 5 - str r1, [sp, 0x24] - movs r5, 0 - ldr r1, _08076194 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r6 - ldr r7, _08076198 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_0807607A: - str r5, [sp, 0x1C] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _0807607A - str r5, [sp, 0x1C] - str r6, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0xC - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, [sp, 0x14] - movs r0, 0xFF - mov r3, r10 - strh r0, [r3] - ldr r0, _08076194 @ =0x040000d4 - str r3, [r0] - str r1, [r0, 0x4] - ldr r1, _0807619C @ =0x81000800 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r2, _080761A0 @ =REG_BG1CNT - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2, 0x1] - ldrb r1, [r2, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1] - ldr r0, _080761A4 @ =gUnknown_02024BE0 - add r0, r9 - ldrb r4, [r0] - ldr r5, _080761A8 @ =gUnknown_030042C0 - ldr r0, _080761AC @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - negs r0, r0 - adds r0, 0x20 - strh r0, [r5] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _0807611C - ldr r0, _080761B0 @ =0x02019348 - ldrh r0, [r0] - bl sub_80AEB1C - lsls r0, 24 - cmp r0, 0 - beq _0807611C - ldrh r0, [r5] - subs r0, 0x1 - strh r0, [r5] -_0807611C: - ldr r3, _080761B4 @ =gUnknown_030041B4 - ldr r2, _080761AC @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x26] - ldrh r1, [r1, 0x22] - adds r0, r1 - negs r0, r0 - adds r0, 0x20 - strh r0, [r3] - ldr r0, _080761A4 @ =gUnknown_02024BE0 - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r1, _080761B8 @ =REG_BG1HOFS - ldr r0, _080761A8 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r3] - strh r0, [r1] - ldr r4, _080761BC @ =gPlttBufferUnfaded + 0x200 - ldr r0, [sp, 0x24] - adds r4, r0, r4 - mov r2, sp - ldrb r1, [r2, 0x18] - lsls r1, 4 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - mov r3, sp - ldrb r0, [r3, 0x18] - lsls r0, 5 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - ldr r1, _08076194 @ =0x040000d4 - str r4, [r1] - str r0, [r1, 0x4] - ldr r0, _080761C0 @ =0x84000008 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080761C4 - movs r2, 0 - b _080761CE - .align 2, 0 -_08076194: .4byte 0x040000d4 -_08076198: .4byte 0x85000400 -_0807619C: .4byte 0x81000800 -_080761A0: .4byte REG_BG1CNT -_080761A4: .4byte gUnknown_02024BE0 -_080761A8: .4byte gUnknown_030042C0 -_080761AC: .4byte gSprites -_080761B0: .4byte 0x02019348 -_080761B4: .4byte gUnknown_030041B4 -_080761B8: .4byte REG_BG1HOFS -_080761BC: .4byte gPlttBufferUnfaded + 0x200 -_080761C0: .4byte 0x84000008 -_080761C4: - mov r0, r9 - bl battle_get_per_side_status - lsls r0, 24 - lsrs r2, r0, 24 -_080761CE: - mov r0, sp - ldrb r3, [r0, 0x18] - ldr r0, [sp, 0x10] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - ldr r4, [sp, 0x14] - movs r1, 0xFA - lsls r1, 24 - adds r0, r4, r1 - cmp r0, 0 - bge _080761EA - ldr r1, _08076218 @ =0xfa0007ff - adds r0, r4, r1 -_080761EA: - asrs r0, 11 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, _0807621C @ =REG_BG1CNT - ldr r0, [r0] - lsls r0, 28 - lsrs r0, 30 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - bl sub_80E4EF8 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08076210 - b _08076338 -_08076210: - bl sub_8076380 - b _08076338 - .align 2, 0 -_08076218: .4byte 0xfa0007ff -_0807621C: .4byte REG_BG1CNT -_08076220: - ldr r3, _08076348 @ =0x06006000 - movs r5, 0x80 - lsls r5, 6 - add r6, sp, 0x1C - ldr r2, _0807634C @ =gSprites - mov r10, r2 - mov r0, r9 - lsls r0, 5 - str r0, [sp, 0x24] - movs r4, 0 - ldr r1, _08076350 @ =0x040000d4 - movs r2, 0x80 - lsls r2, 5 - mov r12, r6 - ldr r7, _08076354 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_08076244: - str r4, [sp, 0x1C] - mov r0, r12 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - subs r5, r2 - cmp r5, r2 - bhi _08076244 - str r4, [sp, 0x1C] - str r6, [r1] - str r3, [r1, 0x4] - lsrs r0, r5, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0xC - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, _08076358 @ =0x0600f000 - movs r0, 0 - str r0, [sp, 0x1C] - ldr r5, _08076350 @ =0x040000d4 - str r6, [r5] - str r1, [r5, 0x4] - ldr r0, _0807635C @ =0x85000200 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] - ldr r6, _08076360 @ =REG_BG2CNT - ldrb r1, [r6] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r6] - ldrb r1, [r6, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r6, 0x1] - ldrb r1, [r6, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x1] - ldr r2, _08076364 @ =gUnknown_02024BE0 - add r2, r9 - ldrb r4, [r2] - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - add r1, r10 - ldrh r0, [r1, 0x24] - ldrh r3, [r1, 0x20] - adds r0, r3 - negs r0, r0 - adds r0, 0x20 - ldr r3, _08076368 @ =gUnknown_03004288 - strh r0, [r3] - ldrh r0, [r1, 0x26] - ldrh r1, [r1, 0x22] - adds r0, r1 - negs r0, r0 - adds r0, 0x20 - ldr r1, _0807636C @ =gUnknown_03004280 - strh r0, [r1] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r1, _08076370 @ =REG_BG2HOFS - ldrh r0, [r3] - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0807636C @ =gUnknown_03004280 - ldrh r0, [r2] - strh r0, [r1] - ldr r3, [sp, 0x24] - ldr r0, _08076374 @ =gPlttBufferUnfaded + 0x200 - adds r4, r3, r0 - adds r0, r4, 0 - movs r1, 0x90 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08076378 @ =0x05000120 - str r4, [r5] - str r0, [r5, 0x4] - ldr r0, _0807637C @ =0x84000008 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] - mov r0, r9 - bl battle_get_per_side_status - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xC0 - lsls r0, 7 - str r0, [sp] - movs r0, 0x1E - str r0, [sp, 0x4] - ldr r0, [r6] - lsls r0, 28 - lsrs r0, 30 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r3, 0x9 - bl sub_80E4EF8 -_08076338: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076348: .4byte 0x06006000 -_0807634C: .4byte gSprites -_08076350: .4byte 0x040000d4 -_08076354: .4byte 0x85000400 -_08076358: .4byte 0x0600f000 -_0807635C: .4byte 0x85000200 -_08076360: .4byte REG_BG2CNT -_08076364: .4byte gUnknown_02024BE0 -_08076368: .4byte gUnknown_03004288 -_0807636C: .4byte gUnknown_03004280 -_08076370: .4byte REG_BG2HOFS -_08076374: .4byte gPlttBufferUnfaded + 0x200 -_08076378: .4byte 0x05000120 -_0807637C: .4byte 0x84000008 - thumb_func_end sub_8076034 - - thumb_func_start sub_8076380 -sub_8076380: @ 8076380 - push {r4-r7,lr} - sub sp, 0xC - ldr r0, _080763F8 @ =0x02019348 - ldrh r0, [r0] - bl sub_80AEB1C - lsls r0, 24 - cmp r0, 0 - beq _080763EE - mov r0, sp - bl sub_8078914 - ldr r6, [sp, 0x4] - movs r5, 0 - movs r0, 0x7 - mov r12, r0 - movs r7, 0 -_080763A2: - movs r4, 0 - adds r3, r7, r6 - mov r1, r12 - lsls r0, r1, 1 - adds r2, r0, r6 -_080763AC: - ldrh r1, [r3] - ldrh r0, [r2] - strh r0, [r3] - strh r1, [r2] - adds r3, 0x2 - subs r2, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _080763AC - movs r0, 0x20 - add r12, r0 - adds r7, 0x40 - adds r5, 0x1 - cmp r5, 0x7 - ble _080763A2 - movs r5, 0 - movs r1, 0x80 - lsls r1, 3 - adds r3, r1, 0 -_080763D2: - adds r2, r5, 0x1 - lsls r0, r5, 6 - adds r1, r0, r6 - movs r4, 0x7 -_080763DA: - ldrh r0, [r1] - eors r0, r3 - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080763DA - adds r5, r2, 0 - cmp r5, 0x7 - ble _080763D2 -_080763EE: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080763F8: .4byte 0x02019348 - thumb_func_end sub_8076380 - - thumb_func_start sub_80763FC -sub_80763FC: @ 80763FC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r12, r1 - adds r7, r2, 0 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r3, 24 - movs r0, 0x40 - mov r9, r0 - cmp r3, 0 - bne _0807641A - movs r1, 0x20 - mov r9, r1 -_0807641A: - lsls r0, r6, 28 - lsrs r6, r0, 16 - movs r0, 0 - cmp r0, r9 - bcs _08076452 - ldr r1, _08076460 @ =0x00000fff - mov r8, r1 -_08076428: - movs r3, 0 - adds r5, r0, 0x1 - lsls r4, r0, 5 -_0807642E: - adds r1, r4, r3 - lsls r1, 1 - add r1, r12 - ldrh r2, [r1] - mov r0, r8 - ands r0, r2 - orrs r0, r6 - adds r0, r7 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1F - bls _0807642E - lsls r0, r5, 24 - lsrs r0, 24 - cmp r0, r9 - bcc _08076428 -_08076452: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076460: .4byte 0x00000fff - thumb_func_end sub_80763FC - - thumb_func_start sub_8076464 -sub_8076464: @ 8076464 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - add r5, sp, 0x4 - adds r0, r5, 0 - bl sub_8078914 - cmp r4, 0 - beq _0807648C - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080764F0 -_0807648C: - ldr r2, [sp, 0x4] - movs r3, 0x80 - lsls r3, 6 - add r5, sp, 0x10 - ldr r0, _080764E0 @ =gUnknown_030042C0 - mov r9, r0 - ldr r0, _080764E4 @ =gUnknown_030041B4 - mov r10, r0 - movs r6, 0 - ldr r1, _080764E8 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r5 - ldr r7, _080764EC @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_080764AE: - str r6, [sp, 0x10] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080764AE - str r6, [sp, 0x10] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, [sp, 0x8] - b _08076540 - .align 2, 0 -_080764E0: .4byte gUnknown_030042C0 -_080764E4: .4byte gUnknown_030041B4 -_080764E8: .4byte 0x040000d4 -_080764EC: .4byte 0x85000400 -_080764F0: - ldr r2, _08076568 @ =0x06006000 - movs r3, 0x80 - lsls r3, 6 - add r5, sp, 0x10 - ldr r0, _0807656C @ =gUnknown_03004288 - mov r9, r0 - ldr r0, _08076570 @ =gUnknown_03004280 - mov r10, r0 - movs r6, 0 - ldr r1, _08076574 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r5 - ldr r7, _08076578 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_08076512: - str r6, [sp, 0x10] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _08076512 - str r6, [sp, 0x10] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, _0807657C @ =0x0600f000 -_08076540: - movs r2, 0 - str r2, [sp, 0x10] - ldr r0, _08076574 @ =0x040000d4 - str r5, [r0] - str r1, [r0, 0x4] - ldr r1, _08076580 @ =0x85000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - mov r0, r9 - strh r2, [r0] - mov r0, r10 - strh r2, [r0] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076568: .4byte 0x06006000 -_0807656C: .4byte gUnknown_03004288 -_08076570: .4byte gUnknown_03004280 -_08076574: .4byte 0x040000d4 -_08076578: .4byte 0x85000400 -_0807657C: .4byte 0x0600f000 -_08076580: .4byte 0x85000200 - thumb_func_end sub_8076464 - - thumb_func_start task_pA_ma0A_obj_to_bg_pal -task_pA_ma0A_obj_to_bg_pal: @ 8076584 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080765FC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrb r4, [r5, 0x8] - ldrb r6, [r5, 0x14] - mov r0, sp - bl sub_8078914 - ldr r0, _08076600 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x24] - ldrh r0, [r1, 0x20] - adds r2, r0 - ldrh r0, [r5, 0xA] - subs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r2, [r1, 0x26] - ldrh r1, [r1, 0x22] - adds r2, r1 - ldrh r0, [r5, 0xC] - subs r0, r2 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0x12 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08076614 - ldr r1, _08076604 @ =gUnknown_030042C0 - lsls r0, r3, 16 - asrs r0, 16 - ldrh r3, [r5, 0xE] - adds r0, r3 - strh r0, [r1] - ldr r1, _08076608 @ =gUnknown_030041B4 - lsls r0, r2, 16 - asrs r0, 16 - ldrh r5, [r5, 0x10] - adds r0, r5 - strh r0, [r1] - lsls r2, r6, 5 - ldr r1, _0807660C @ =gPlttBufferFaded + 0x200 - adds r2, r1 - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 5 - ldr r3, _08076610 @ =0xfffffe00 - adds r1, r3 - adds r0, r1 - b _08076634 - .align 2, 0 -_080765FC: .4byte gTasks -_08076600: .4byte gSprites -_08076604: .4byte gUnknown_030042C0 -_08076608: .4byte gUnknown_030041B4 -_0807660C: .4byte gPlttBufferFaded + 0x200 -_08076610: .4byte 0xfffffe00 -_08076614: - ldr r1, _08076648 @ =gUnknown_03004288 - lsls r0, r3, 16 - asrs r0, 16 - ldrh r3, [r5, 0xE] - adds r0, r3 - strh r0, [r1] - ldr r1, _0807664C @ =gUnknown_03004280 - lsls r0, r2, 16 - asrs r0, 16 - ldrh r5, [r5, 0x10] - adds r0, r5 - strh r0, [r1] - lsls r2, r6, 5 - ldr r0, _08076650 @ =gPlttBufferFaded + 0x200 - adds r2, r0 - subs r0, 0xE0 -_08076634: - ldr r1, _08076654 @ =0x040000d4 - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, _08076658 @ =0x84000008 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076648: .4byte gUnknown_03004288 -_0807664C: .4byte gUnknown_03004280 -_08076650: .4byte gPlttBufferFaded + 0x200 -_08076654: .4byte 0x040000d4 -_08076658: .4byte 0x84000008 - thumb_func_end task_pA_ma0A_obj_to_bg_pal - - thumb_func_start ma0B_0807324C -ma0B_0807324C: @ 807665C - push {r4,r5,lr} - ldr r0, _08076670 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r4, [r2, 0x1] - cmp r4, 0 - bne _08076674 - movs r4, 0x2 - b _0807667E - .align 2, 0 -_08076670: .4byte gUnknown_0202F7A4 -_08076674: - cmp r4, 0x1 - bne _0807667A - movs r4, 0x3 -_0807667A: - cmp r4, 0 - beq _08076682 -_0807667E: - cmp r4, 0x2 - bne _0807668C -_08076682: - ldr r0, _08076688 @ =gUnknown_0202F7C8 - b _0807668E - .align 2, 0 -_08076688: .4byte gUnknown_0202F7C8 -_0807668C: - ldr r0, _080766E4 @ =gUnknown_0202F7C9 -_0807668E: - ldrb r5, [r0] - ldr r3, _080766E8 @ =gUnknown_0202F7C2 - ldrb r0, [r3] - cmp r0, 0xFF - beq _080766B4 - ldr r2, _080766EC @ =gSprites - ldr r0, _080766F0 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_080766B4: - cmp r4, 0x1 - bls _080766F4 - ldrb r0, [r3, 0x1] - cmp r0, 0xFF - beq _080766F4 - ldr r3, _080766EC @ =gSprites - ldr r2, _080766F0 @ =gUnknown_02024BE0 - movs r1, 0x2 - adds r0, r5, 0 - eors r0, r1 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _080766F6 - .align 2, 0 -_080766E4: .4byte gUnknown_0202F7C9 -_080766E8: .4byte gUnknown_0202F7C2 -_080766EC: .4byte gSprites -_080766F0: .4byte gUnknown_02024BE0 -_080766F4: - movs r4, 0 -_080766F6: - ldr r0, _08076720 @ =sub_807672C - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076724 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - strh r5, [r1, 0xC] - ldr r1, _08076728 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08076720: .4byte sub_807672C -_08076724: .4byte gTasks -_08076728: .4byte gUnknown_0202F7A4 - thumb_func_end ma0B_0807324C - - thumb_func_start sub_807672C -sub_807672C: @ 807672C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0807676C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080767B6 - ldrb r0, [r1, 0xC] - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076768 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076770 -_08076768: - movs r4, 0 - b _08076772 - .align 2, 0 -_0807676C: .4byte gTasks -_08076770: - movs r4, 0x1 -_08076772: - ldr r6, _080767BC @ =gUnknown_0202F7C2 - ldrb r0, [r6] - cmp r0, 0xFF - beq _0807678A - adds r0, r4, 0 - bl sub_8076464 - ldrb r0, [r6] - bl DestroyTask - movs r0, 0xFF - strb r0, [r6] -_0807678A: - ldr r0, _080767C0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _080767B0 - movs r0, 0x1 - eors r4, r0 - adds r0, r4, 0 - bl sub_8076464 - ldrb r0, [r6, 0x1] - bl DestroyTask - movs r0, 0xFF - strb r0, [r6, 0x1] -_080767B0: - adds r0, r5, 0 - bl DestroyTask -_080767B6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080767BC: .4byte gUnknown_0202F7C2 -_080767C0: .4byte gTasks - thumb_func_end sub_807672C - - thumb_func_start sub_80767C4 -sub_80767C4: @ 80767C4 - push {r4,r5,lr} - ldr r0, _080767D8 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r5, [r2, 0x1] - cmp r5, 0 - bne _080767DC - movs r5, 0x2 - b _080767E6 - .align 2, 0 -_080767D8: .4byte gUnknown_0202F7A4 -_080767DC: - cmp r5, 0x1 - bne _080767E2 - movs r5, 0x3 -_080767E2: - cmp r5, 0 - beq _080767EA -_080767E6: - cmp r5, 0x2 - bne _080767F4 -_080767EA: - ldr r0, _080767F0 @ =gUnknown_0202F7C8 - b _080767F6 - .align 2, 0 -_080767F0: .4byte gUnknown_0202F7C8 -_080767F4: - ldr r0, _08076828 @ =gUnknown_0202F7C9 -_080767F6: - ldrb r4, [r0] - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076850 - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076822 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _0807682C -_08076822: - movs r1, 0 - b _0807682E - .align 2, 0 -_08076828: .4byte gUnknown_0202F7C9 -_0807682C: - movs r1, 0x1 -_0807682E: - adds r0, r4, 0 - bl sub_8076034 - ldr r2, _08076888 @ =gSprites - ldr r0, _0807688C @ =gUnknown_02024BE0 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_08076850: - movs r0, 0x2 - eors r4, r0 - cmp r5, 0x1 - bls _080768B4 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080768B4 - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076882 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076890 -_08076882: - movs r1, 0 - b _08076892 - .align 2, 0 -_08076888: .4byte gSprites -_0807688C: .4byte gUnknown_02024BE0 -_08076890: - movs r1, 0x1 -_08076892: - adds r0, r4, 0 - bl sub_8076034 - ldr r2, _080768C4 @ =gSprites - ldr r0, _080768C8 @ =gUnknown_02024BE0 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_080768B4: - ldr r1, _080768CC @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080768C4: .4byte gSprites -_080768C8: .4byte gUnknown_02024BE0 -_080768CC: .4byte gUnknown_0202F7A4 - thumb_func_end sub_80767C4 - - thumb_func_start ma23_8073484 -ma23_8073484: @ 80768D0 - push {r4-r6,lr} - ldr r0, _080768E4 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r5, [r2, 0x1] - cmp r5, 0 - bne _080768E8 - movs r5, 0x2 - b _080768F2 - .align 2, 0 -_080768E4: .4byte gUnknown_0202F7A4 -_080768E8: - cmp r5, 0x1 - bne _080768EE - movs r5, 0x3 -_080768EE: - cmp r5, 0 - beq _080768F6 -_080768F2: - cmp r5, 0x2 - bne _08076900 -_080768F6: - ldr r0, _080768FC @ =gUnknown_0202F7C8 - b _08076902 - .align 2, 0 -_080768FC: .4byte gUnknown_0202F7C8 -_08076900: - ldr r0, _08076960 @ =gUnknown_0202F7C9 -_08076902: - ldrb r6, [r0] - adds r0, r6, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _0807692C - ldr r2, _08076964 @ =gSprites - ldr r0, _08076968 @ =gUnknown_02024BE0 - adds r0, r6, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0807692C: - cmp r5, 0x1 - bls _0807696C - movs r0, 0x2 - adds r4, r6, 0 - eors r4, r0 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _0807696C - ldr r2, _08076964 @ =gSprites - ldr r0, _08076968 @ =gUnknown_02024BE0 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _0807696E - .align 2, 0 -_08076960: .4byte gUnknown_0202F7C9 -_08076964: .4byte gSprites -_08076968: .4byte gUnknown_02024BE0 -_0807696C: - movs r5, 0 -_0807696E: - ldr r0, _08076998 @ =sub_80769A4 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807699C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - strh r6, [r1, 0xC] - ldr r1, _080769A0 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076998: .4byte sub_80769A4 -_0807699C: .4byte gTasks -_080769A0: .4byte gUnknown_0202F7A4 - thumb_func_end ma23_8073484 - - thumb_func_start sub_80769A4 -sub_80769A4: @ 80769A4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080769E8 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08076A32 - ldrb r4, [r1, 0xC] - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _080769E2 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080769EC -_080769E2: - movs r5, 0 - b _080769EE - .align 2, 0 -_080769E8: .4byte gTasks -_080769EC: - movs r5, 0x1 -_080769EE: - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076A00 - adds r0, r5, 0 - bl sub_8076464 -_08076A00: - ldr r0, _08076A38 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _08076A2C - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076A2C - movs r0, 0x1 - eors r5, r0 - adds r0, r5, 0 - bl sub_8076464 -_08076A2C: - adds r0, r6, 0 - bl DestroyTask -_08076A32: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076A38: .4byte gTasks - thumb_func_end sub_80769A4 - - thumb_func_start sub_8076A3C -sub_8076A3C: @ 8076A3C - push {r4,lr} - ldr r2, _08076A6C @ =gUnknown_0202F7A4 - ldr r0, [r2] - adds r1, r0, 0x1 - str r1, [r2] - ldrb r3, [r0, 0x1] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r1, [r1, 0x1] - lsls r1, 8 - adds r0, 0x1 - str r0, [r2] - ldr r2, _08076A70 @ =REG_BLDCNT - movs r4, 0xFD - lsls r4, 6 - adds r0, r4, 0 - strh r0, [r2] - ldr r0, _08076A74 @ =REG_BLDALPHA - orrs r3, r1 - strh r3, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076A6C: .4byte gUnknown_0202F7A4 -_08076A70: .4byte REG_BLDCNT -_08076A74: .4byte REG_BLDALPHA - thumb_func_end sub_8076A3C - - thumb_func_start sub_8076A78 -sub_8076A78: @ 8076A78 - ldr r2, _08076A98 @ =gUnknown_0202F7A4 - ldr r0, [r2] - adds r1, r0, 0x1 - str r1, [r2] - ldrb r3, [r0, 0x1] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r1, [r1, 0x1] - lsls r1, 8 - adds r0, 0x1 - str r0, [r2] - ldr r0, _08076A9C @ =REG_BLDCNT - orrs r3, r1 - strh r3, [r0] - bx lr - .align 2, 0 -_08076A98: .4byte gUnknown_0202F7A4 -_08076A9C: .4byte REG_BLDCNT - thumb_func_end sub_8076A78 - - thumb_func_start sub_8076AA0 -sub_8076AA0: @ 8076AA0 - ldr r1, _08076AB4 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076AB8 @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_08076AB4: .4byte gUnknown_0202F7A4 -_08076AB8: .4byte REG_BLDCNT - thumb_func_end sub_8076AA0 - - thumb_func_start ma0E_call -ma0E_call: @ 8076ABC - push {r4,lr} - ldr r4, _08076AE8 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r3, r1, 0x1 - str r3, [r4] - ldr r2, _08076AEC @ =gUnknown_0202F7A8 - adds r0, r1, 0x5 - str r0, [r2] - ldrb r1, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076AE8: .4byte gUnknown_0202F7A4 -_08076AEC: .4byte gUnknown_0202F7A8 - thumb_func_end ma0E_call - - thumb_func_start sub_8076AF0 -sub_8076AF0: @ 8076AF0 - ldr r0, _08076AFC @ =gUnknown_0202F7A4 - ldr r1, _08076B00 @ =gUnknown_0202F7A8 - ldr r1, [r1] - str r1, [r0] - bx lr - .align 2, 0 -_08076AFC: .4byte gUnknown_0202F7A4 -_08076B00: .4byte gUnknown_0202F7A8 - thumb_func_end sub_8076AF0 - - thumb_func_start ma10_080736AC -ma10_080736AC: @ 8076B04 - push {r4,r5,lr} - ldr r5, _08076B30 @ =gUnknown_0202F7A4 - ldr r1, [r5] - adds r0, r1, 0x1 - str r0, [r5] - ldrb r2, [r1, 0x1] - adds r3, r0, 0x1 - str r3, [r5] - ldrb r4, [r0, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r4, r0 - adds r1, 0x4 - str r1, [r5] - ldr r0, _08076B34 @ =gBattleAnimArgs - lsls r2, 1 - adds r2, r0 - strh r4, [r2] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08076B30: .4byte gUnknown_0202F7A4 -_08076B34: .4byte gBattleAnimArgs - thumb_func_end ma10_080736AC - - thumb_func_start ma11_if_else -ma11_if_else: @ 8076B38 - push {lr} - ldr r3, _08076B70 @ =gUnknown_0202F7A4 - ldr r2, [r3] - adds r0, r2, 0x1 - str r0, [r3] - ldr r0, _08076B74 @ =gUnknown_0202F7C4 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08076B52 - adds r0, r2, 0x5 - str r0, [r3] -_08076B52: - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - pop {r0} - bx r0 - .align 2, 0 -_08076B70: .4byte gUnknown_0202F7A4 -_08076B74: .4byte gUnknown_0202F7C4 - thumb_func_end ma11_if_else - - thumb_func_start ma12_cond_if -ma12_cond_if: @ 8076B78 - push {r4,r5,lr} - ldr r5, _08076BA8 @ =gUnknown_0202F7A4 - ldr r4, [r5] - adds r2, r4, 0x1 - str r2, [r5] - ldrb r1, [r4, 0x1] - adds r3, r2, 0x1 - str r3, [r5] - ldr r0, _08076BAC @ =gUnknown_0202F7C4 - ldrb r0, [r0] - cmp r1, r0 - bne _08076BB0 - ldrb r1, [r2, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r5] - b _08076BB4 - .align 2, 0 -_08076BA8: .4byte gUnknown_0202F7A4 -_08076BAC: .4byte gUnknown_0202F7C4 -_08076BB0: - adds r0, r4, 0x6 - str r0, [r5] -_08076BB4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ma12_cond_if - - thumb_func_start sub_8076BBC -sub_8076BBC: @ 8076BBC - ldr r3, _08076BDC @ =gUnknown_0202F7A4 - ldr r0, [r3] - adds r2, r0, 0x1 - str r2, [r3] - ldrb r1, [r0, 0x1] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - bx lr - .align 2, 0 -_08076BDC: .4byte gUnknown_0202F7A4 - thumb_func_end sub_8076BBC - - thumb_func_start sub_8076BE0 -sub_8076BE0: @ 8076BE0 - push {lr} - ldr r0, _08076BF8 @ =gMain - ldr r1, _08076BFC @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08076C00 - movs r0, 0 - b _08076C02 - .align 2, 0 -_08076BF8: .4byte gMain -_08076BFC: .4byte 0x0000043d -_08076C00: - movs r0, 0x1 -_08076C02: - pop {r1} - bx r1 - thumb_func_end sub_8076BE0 - - thumb_func_start ma14_load_background -ma14_load_background: @ 8076C08 - push {r4,lr} - ldr r1, _08076C3C @ =gUnknown_0202F7A4 - ldr r2, [r1] - adds r0, r2, 0x1 - str r0, [r1] - ldrb r4, [r2, 0x1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076C40 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076C44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - ldr r1, _08076C48 @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076C3C: .4byte gUnknown_0202F7A4 -_08076C40: .4byte task_p5_load_battle_screen_elements -_08076C44: .4byte gTasks -_08076C48: .4byte gUnknown_0202F7C5 - thumb_func_end ma14_load_background - - thumb_func_start sub_8076C4C -sub_8076C4C: @ 8076C4C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, _08076C8C @ =gUnknown_0202F7A4 - ldr r1, [r2] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r3, [r1, 0x1] - mov r8, r3 - ldrb r7, [r0, 0x1] - ldrb r6, [r0, 0x2] - adds r1, 0x4 - str r1, [r2] - ldr r0, _08076C90 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076C98 - ldr r1, _08076C94 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x8] - b _08076CCA - .align 2, 0 -_08076C8C: .4byte gUnknown_0202F7A4 -_08076C90: .4byte task_p5_load_battle_screen_elements -_08076C94: .4byte gTasks -_08076C98: - ldr r0, _08076CB4 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08076CBC - ldr r1, _08076CB8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r7, [r0, 0x8] - b _08076CCA - .align 2, 0 -_08076CB4: .4byte gUnknown_0202F7C9 -_08076CB8: .4byte gTasks -_08076CBC: - ldr r1, _08076CDC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - mov r1, r8 - strh r1, [r0, 0x8] -_08076CCA: - ldr r1, _08076CE0 @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076CDC: .4byte gTasks -_08076CE0: .4byte gUnknown_0202F7C5 - thumb_func_end sub_8076C4C - - thumb_func_start task_p5_load_battle_screen_elements -task_p5_load_battle_screen_elements: @ 8076CE4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08076D18 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r6, [r4, 0x1C] - movs r0, 0x1C - ldrsh r3, [r4, r0] - adds r7, r1, 0 - cmp r3, 0 - bne _08076D1C - str r3, [sp] - movs r0, 0xE8 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginHardwarePaletteFade - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - b _08076DAC - .align 2, 0 -_08076D18: .4byte gTasks -_08076D1C: - ldr r2, _08076D38 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08076DAC - cmp r3, 0x1 - bne _08076D40 - adds r0, r6, 0x1 - strh r0, [r4, 0x1C] - ldr r1, _08076D3C @ =gUnknown_0202F7C5 - movs r0, 0x2 - strb r0, [r1] - b _08076D84 - .align 2, 0 -_08076D38: .4byte gPaletteFade -_08076D3C: .4byte gUnknown_0202F7C5 -_08076D40: - cmp r3, 0x2 - bne _08076D84 - ldrh r0, [r4, 0x8] - lsls r2, r0, 16 - asrs r1, r2, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _08076D58 - bl dp01t_11_3_message_for_player_only - b _08076D5E -_08076D58: - lsrs r0, r2, 16 - bl sub_8076DB8 -_08076D5E: - movs r0, 0x1 - str r0, [sp] - movs r0, 0xE8 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginHardwarePaletteFade - ldr r1, _08076D80 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x1C] - adds r1, 0x1 - strh r1, [r0, 0x1C] - b _08076DAC - .align 2, 0 -_08076D80: .4byte gTasks -_08076D84: - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08076DAC - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r7 - movs r1, 0x1C - ldrsh r0, [r0, r1] - cmp r0, 0x3 - bne _08076DAC - adds r0, r5, 0 - bl DestroyTask - ldr r0, _08076DB4 @ =gUnknown_0202F7C5 - strb r4, [r0] -_08076DAC: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076DB4: .4byte gUnknown_0202F7C5 - thumb_func_end task_p5_load_battle_screen_elements - - thumb_func_start sub_8076DB8 -sub_8076DB8: @ 8076DB8 - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076E70 - ldr r7, _08076E54 @ =gBattleAnimBackgroundTable - lsls r0, r6, 1 - adds r0, r6 - lsls r4, r0, 2 - adds r0, r7, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r5, [r0] - bl sub_8076BE0 - lsls r0, 24 - ldr r1, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076DE8 - ldr r0, _08076E5C @ =0xffffc800 - adds r1, r0 -_08076DE8: - adds r0, r5, 0 - bl sub_800D238 - bl sub_80789BC - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - ldr r1, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076E06 - ldr r0, _08076E5C @ =0xffffc800 - adds r1, r0 -_08076E06: - movs r2, 0x80 - lsls r2, 1 - adds r0, r5, 0 - movs r3, 0 - bl sub_80763FC - bl sub_8076BE0 - lsls r0, 24 - ldr r2, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076E22 - ldr r0, _08076E5C @ =0xffffc800 - adds r2, r0 -_08076E22: - ldr r1, _08076E60 @ =0x0600d000 - ldr r0, _08076E64 @ =0x040000d4 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, _08076E68 @ =0x84000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - adds r0, r4, r7 - ldr r0, [r0] - ldr r1, _08076E6C @ =0x06002000 - bl LZDecompressVram - adds r0, r7, 0x4 - adds r0, r4, r0 - ldr r4, [r0] - bl sub_80789BC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 20 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _08076E9E - .align 2, 0 -_08076E54: .4byte gBattleAnimBackgroundTable -_08076E58: .4byte 0x02018000 -_08076E5C: .4byte 0xffffc800 -_08076E60: .4byte 0x0600d000 -_08076E64: .4byte 0x040000d4 -_08076E68: .4byte 0x84000200 -_08076E6C: .4byte 0x06002000 -_08076E70: - ldr r5, _08076EA4 @ =gBattleAnimBackgroundTable - lsls r4, r6, 1 - adds r4, r6 - lsls r4, 2 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _08076EA8 @ =0x0600d000 - bl LZDecompressVram - adds r0, r4, r5 - ldr r0, [r0] - ldr r1, _08076EAC @ =0x06008000 - bl LZDecompressVram - adds r5, 0x4 - adds r4, r5 - ldr r0, [r4] - movs r1, 0x20 - movs r2, 0x20 - bl LoadCompressedPalette -_08076E9E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076EA4: .4byte gBattleAnimBackgroundTable -_08076EA8: .4byte 0x0600d000 -_08076EAC: .4byte 0x06008000 - thumb_func_end sub_8076DB8 - - thumb_func_start dp01t_11_3_message_for_player_only -dp01t_11_3_message_for_player_only: @ 8076EB0 - push {lr} - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076EC2 - bl sub_80AB2AC - b _08076EC6 -_08076EC2: - bl sub_800D7B8 -_08076EC6: - pop {r0} - bx r0 - thumb_func_end dp01t_11_3_message_for_player_only - - thumb_func_start ma15_load_battle_screen_elements -ma15_load_battle_screen_elements: @ 8076ECC - push {lr} - ldr r1, _08076EFC @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076F00 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076F04 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _08076F08 @ =0x0000ffff - strh r0, [r1, 0x8] - ldr r1, _08076F0C @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08076EFC: .4byte gUnknown_0202F7A4 -_08076F00: .4byte task_p5_load_battle_screen_elements -_08076F04: .4byte gTasks -_08076F08: .4byte 0x0000ffff -_08076F0C: .4byte gUnknown_0202F7C5 - thumb_func_end ma15_load_battle_screen_elements - - thumb_func_start ma16_wait_for_battle_screen_elements_s2 -ma16_wait_for_battle_screen_elements_s2: @ 8076F10 - push {lr} - ldr r0, _08076F28 @ =gUnknown_0202F7C5 - ldrb r0, [r0] - cmp r0, 0x2 - bne _08076F34 - ldr r1, _08076F2C @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r1, _08076F30 @ =gUnknown_0202F7B0 - movs r0, 0 - b _08076F38 - .align 2, 0 -_08076F28: .4byte gUnknown_0202F7C5 -_08076F2C: .4byte gUnknown_0202F7A4 -_08076F30: .4byte gUnknown_0202F7B0 -_08076F34: - ldr r1, _08076F40 @ =gUnknown_0202F7B0 - movs r0, 0x1 -_08076F38: - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08076F40: .4byte gUnknown_0202F7B0 - thumb_func_end ma16_wait_for_battle_screen_elements_s2 - - thumb_func_start sub_8076F44 -sub_8076F44: @ 8076F44 - push {lr} - ldr r0, _08076F5C @ =gUnknown_0202F7C5 - ldrb r2, [r0] - cmp r2, 0 - bne _08076F68 - ldr r0, _08076F60 @ =gUnknown_0202F7A4 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - ldr r0, _08076F64 @ =gUnknown_0202F7B0 - strb r2, [r0] - b _08076F6E - .align 2, 0 -_08076F5C: .4byte gUnknown_0202F7C5 -_08076F60: .4byte gUnknown_0202F7A4 -_08076F64: .4byte gUnknown_0202F7B0 -_08076F68: - ldr r1, _08076F74 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] -_08076F6E: - pop {r0} - bx r0 - .align 2, 0 -_08076F74: .4byte gUnknown_0202F7B0 - thumb_func_end sub_8076F44 - - thumb_func_start ma18_load_background_probably -ma18_load_background_probably: @ 8076F78 - push {r4,lr} - ldr r4, _08076F94 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r0, r1, 0x1 - str r0, [r4] - ldrb r0, [r1, 0x1] - bl sub_8076DB8 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076F94: .4byte gUnknown_0202F7A4 - thumb_func_end ma18_load_background_probably - - thumb_func_start sub_8076F98 -sub_8076F98: @ 8076F98 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08076FDC - ldr r0, _08076FD4 @ =gUnknown_0202F7C8 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _08076FD8 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08076FDC - adds r0, r2, 0 - bl battle_side_get_owner - lsls r0, 24 - movs r4, 0xC0 - cmp r0, 0 - beq _0807706E - movs r4, 0x3F - b _0807706E - .align 2, 0 -_08076FD4: .4byte gUnknown_0202F7C8 -_08076FD8: .4byte 0x02017810 -_08076FDC: - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08077004 - ldr r0, _08076FFC @ =gUnknown_0202F7C8 - ldr r1, _08077000 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _08077068 - cmp r0, 0x2 - bne _08077068 - cmp r4, 0x3F - beq _0807707A - b _08077068 - .align 2, 0 -_08076FFC: .4byte gUnknown_0202F7C8 -_08077000: .4byte gUnknown_0202F7C9 -_08077004: - ldr r0, _0807702C @ =gUnknown_0202F7C8 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08077042 - ldr r0, _08077030 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0807706E - lsls r0, r4, 24 - asrs r1, r0, 24 - cmp r1, 0x3F - bne _08077034 - movs r4, 0xC0 - b _0807706E - .align 2, 0 -_0807702C: .4byte gUnknown_0202F7C8 -_08077030: .4byte gUnknown_0202F7C9 -_08077034: - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - beq _0807706E - negs r0, r1 - lsls r0, 24 - b _0807706C -_08077042: - ldr r0, _08077064 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08077068 - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0x40 - negs r1, r1 - cmp r0, r1 - bne _0807706E - movs r4, 0x3F - b _0807706E - .align 2, 0 -_08077064: .4byte gUnknown_0202F7C9 -_08077068: - lsls r0, r4, 24 - negs r0, r0 -_0807706C: - lsrs r4, r0, 24 -_0807706E: - lsls r0, r4, 24 - asrs r0, 24 - cmp r0, 0x3F - ble _0807707A - movs r4, 0x3F - b _08077088 -_0807707A: - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0x40 - negs r1, r1 - cmp r0, r1 - bge _08077088 - movs r4, 0xC0 -_08077088: - lsls r0, r4, 24 - asrs r0, 24 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8076F98 - - thumb_func_start sub_8077094 -sub_8077094: @ 8077094 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080770D8 - ldr r0, _080770D0 @ =gUnknown_0202F7C8 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _080770D4 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080770D8 - adds r0, r2, 0 - bl battle_side_get_owner - lsls r0, 24 - movs r4, 0xC0 - cmp r0, 0 - beq _080770F6 - movs r4, 0x3F - b _080770F6 - .align 2, 0 -_080770D0: .4byte gUnknown_0202F7C8 -_080770D4: .4byte 0x02017810 -_080770D8: - ldr r0, _08077100 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _080770F0 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080770F6 -_080770F0: - lsls r0, r4, 24 - negs r0, r0 - lsrs r4, r0, 24 -_080770F6: - lsls r0, r4, 24 - asrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08077100: .4byte gUnknown_0202F7C8 - thumb_func_end sub_8077094 - - thumb_func_start sub_8077104 -sub_8077104: @ 8077104 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - asrs r2, r0, 16 - cmp r2, 0x3F - ble _08077114 - movs r1, 0x3F - b _0807711E -_08077114: - movs r0, 0x40 - negs r0, r0 - cmp r2, r0 - bge _0807711E - ldr r1, _08077128 @ =0x0000ffc0 -_0807711E: - lsls r0, r1, 16 - asrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08077128: .4byte 0x0000ffc0 - thumb_func_end sub_8077104 - - thumb_func_start sub_807712C -sub_807712C: @ 807712C - push {lr} - lsls r2, 16 - lsrs r2, 16 - adds r3, r2, 0 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bge _0807714A - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0 - bge _0807715A - b _08077158 -_0807714A: - cmp r0, r1 - ble _08077160 - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0 - bge _08077158 - negs r0, r0 -_08077158: - negs r0, r0 -_0807715A: - lsls r0, 16 - lsrs r0, 16 - b _08077162 -_08077160: - movs r0, 0 -_08077162: - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_807712C - - thumb_func_start ma19_08073BC8 -ma19_08073BC8: @ 807716C - push {r4,r5,lr} - ldr r5, _080771A0 @ =gUnknown_0202F7A4 - ldr r0, [r5] - adds r1, r0, 0x1 - str r1, [r5] - ldrb r4, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r4, r0 - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - adds r0, r4, 0 - bl PlaySE12WithPanning - ldr r0, [r5] - adds r0, 0x3 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080771A0: .4byte gUnknown_0202F7A4 - thumb_func_end ma19_08073BC8 - - thumb_func_start ma1A_8073C00 -ma1A_8073C00: @ 80771A4 - push {r4,lr} - ldr r4, _080771CC @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r0, r1, 0x1 - str r0, [r4] - movs r0, 0x1 - ldrsb r0, [r1, r0] - bl sub_8076F98 - lsls r0, 24 - asrs r0, 24 - bl SE12PanpotControl - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080771CC: .4byte gUnknown_0202F7A4 - thumb_func_end ma1A_8073C00 - - thumb_func_start ma1B_8073C2C -ma1B_8073C2C: @ 80771D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08077280 @ =gUnknown_0202F7A4 - mov r10, r0 - ldr r0, [r0] - adds r1, r0, 0x1 - mov r2, r10 - str r1, [r2] - ldrb r0, [r0, 0x1] - mov r9, r0 - ldrb r0, [r1, 0x1] - lsls r0, 8 - mov r2, r9 - orrs r2, r0 - mov r9, r2 - ldrb r4, [r1, 0x3] - ldrb r6, [r1, 0x4] - ldrb r7, [r1, 0x5] - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - asrs r4, 24 - adds r0, r4, 0 - bl sub_8076F98 - mov r8, r0 - lsls r5, 24 - asrs r5, 24 - mov r0, r8 - lsls r0, 24 - asrs r0, 24 - mov r8, r0 - lsls r6, 24 - asrs r6, 24 - adds r0, r5, 0 - mov r1, r8 - adds r2, r6, 0 - bl sub_807712C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08077284 @ =c3_08073CEC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08077288 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - mov r2, r8 - strh r2, [r1, 0xA] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xC] - strh r7, [r1, 0xE] - strh r5, [r1, 0x10] - mov r0, r9 - adds r1, r5, 0 - bl PlaySE12WithPanning - ldr r1, _0807728C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r1, r10 - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077280: .4byte gUnknown_0202F7A4 -_08077284: .4byte c3_08073CEC -_08077288: .4byte gTasks -_0807728C: .4byte gUnknown_0202F7B3 - thumb_func_end ma1B_8073C2C - - thumb_func_start c3_08073CEC -c3_08073CEC: @ 8077290 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0 - ldr r1, _080772D4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x18] - adds r1, r0, 0x1 - strh r1, [r2, 0x18] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xE - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _08077314 - strh r7, [r2, 0x18] - ldrh r6, [r2, 0x8] - ldrh r3, [r2, 0xA] - movs r4, 0x10 - ldrsh r0, [r2, r4] - movs r4, 0xC - ldrsh r1, [r2, r4] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - strh r4, [r2, 0x10] - cmp r1, 0 - bne _080772D8 - lsls r2, r3, 16 - b _080772FC - .align 2, 0 -_080772D4: .4byte gTasks -_080772D8: - lsls r1, r6, 16 - lsls r0, r3, 16 - asrs r3, r0, 16 - adds r2, r0, 0 - cmp r1, r2 - bge _080772EE - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r3 - blt _080772F8 - b _080772FC -_080772EE: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r3 - bgt _080772F8 - movs r7, 0x1 -_080772F8: - cmp r7, 0 - beq _0807730C -_080772FC: - lsrs r4, r2, 16 - adds r0, r5, 0 - bl DestroyTask - ldr r1, _0807731C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_0807730C: - lsls r0, r4, 24 - asrs r0, 24 - bl SE12PanpotControl -_08077314: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807731C: .4byte gUnknown_0202F7B3 - thumb_func_end c3_08073CEC - - thumb_func_start sub_8077320 -sub_8077320: @ 8077320 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - ldr r0, _080773A4 @ =gUnknown_0202F7A4 - mov r9, r0 - ldr r0, [r0] - adds r1, r0, 0x1 - mov r2, r9 - str r1, [r2] - ldrb r0, [r0, 0x1] - mov r8, r0 - ldrb r0, [r1, 0x1] - lsls r0, 8 - mov r2, r8 - orrs r2, r0 - mov r8, r2 - ldrb r4, [r1, 0x2] - ldrb r5, [r1, 0x3] - ldrb r6, [r1, 0x4] - ldrb r1, [r1, 0x5] - mov r10, r1 - ldr r0, _080773A8 @ =c3_08073CEC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080773AC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0x8] - lsls r5, 24 - asrs r5, 24 - strh r5, [r1, 0xA] - lsls r6, 24 - asrs r6, 24 - strh r6, [r1, 0xC] - mov r0, r10 - strh r0, [r1, 0xE] - strh r4, [r1, 0x10] - mov r0, r8 - adds r1, r4, 0 - bl PlaySE12WithPanning - ldr r1, _080773B0 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r1, r9 - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080773A4: .4byte gUnknown_0202F7A4 -_080773A8: .4byte c3_08073CEC -_080773AC: .4byte gTasks -_080773B0: .4byte gUnknown_0202F7B3 - thumb_func_end sub_8077320 - - thumb_func_start sub_80773B4 -sub_80773B4: @ 80773B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08077464 @ =gUnknown_0202F7A4 - mov r10, r0 - ldr r0, [r0] - adds r1, r0, 0x1 - mov r2, r10 - str r1, [r2] - ldrb r0, [r0, 0x1] - mov r9, r0 - ldrb r0, [r1, 0x1] - lsls r0, 8 - mov r2, r9 - orrs r2, r0 - mov r9, r2 - ldrb r4, [r1, 0x3] - ldrb r0, [r1, 0x4] - mov r8, r0 - ldrb r7, [r1, 0x5] - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8077094 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - asrs r4, 24 - adds r0, r4, 0 - bl sub_8077094 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - mov r0, r8 - bl sub_8077094 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08077468 @ =c3_08073CEC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807746C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - lsls r6, 24 - asrs r6, 24 - strh r6, [r1, 0x8] - lsls r5, 24 - asrs r5, 24 - strh r5, [r1, 0xA] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xC] - strh r7, [r1, 0xE] - strh r6, [r1, 0x10] - mov r0, r9 - adds r1, r6, 0 - bl PlaySE12WithPanning - ldr r1, _08077470 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r2, r10 - ldr r0, [r2] - adds r0, 0x6 - str r0, [r2] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077464: .4byte gUnknown_0202F7A4 -_08077468: .4byte c3_08073CEC -_0807746C: .4byte gTasks -_08077470: .4byte gUnknown_0202F7B3 - thumb_func_end sub_80773B4 - - thumb_func_start ma1C_8073ED0 -ma1C_8073ED0: @ 8077474 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r6, _080774EC @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r5, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r5, r0 - ldrb r0, [r1, 0x3] - mov r8, r0 - ldrb r2, [r1, 0x4] - mov r9, r2 - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080774F0 @ =sub_80774FC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080774F4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xA] - mov r2, r8 - strh r2, [r1, 0xC] - mov r2, r9 - strh r2, [r1, 0xE] - mov r2, r8 - strh r2, [r1, 0x18] - ldr r1, [r1] - bl _call_via_r1 - ldr r1, _080774F8 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x5 - str r0, [r6] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080774EC: .4byte gUnknown_0202F7A4 -_080774F0: .4byte sub_80774FC -_080774F4: .4byte gTasks -_080774F8: .4byte gUnknown_0202F7B3 - thumb_func_end ma1C_8073ED0 - - thumb_func_start sub_80774FC -sub_80774FC: @ 80774FC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08077550 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x18] - adds r1, r0, 0x1 - strh r1, [r2, 0x18] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xC - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _0807754A - movs r0, 0 - strh r0, [r2, 0x18] - ldrh r0, [r2, 0x8] - ldrb r1, [r2, 0xA] - ldrh r4, [r2, 0xE] - subs r4, 0x1 - strh r4, [r2, 0xE] - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - asrs r1, 24 - bl PlaySE12WithPanning - cmp r4, 0 - bne _0807754A - adds r0, r5, 0 - bl DestroyTask - ldr r1, _08077554 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_0807754A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08077550: .4byte gTasks -_08077554: .4byte gUnknown_0202F7B3 - thumb_func_end sub_80774FC - - thumb_func_start ma1D_08073FB4 -ma1D_08073FB4: @ 8077558 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r6, _080775BC @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r5, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r5, r0 - ldrb r0, [r1, 0x3] - mov r8, r0 - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080775C0 @ =sub_80775CC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080775C4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xA] - mov r0, r8 - strh r0, [r1, 0xC] - ldr r1, _080775C8 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x4 - str r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080775BC: .4byte gUnknown_0202F7A4 -_080775C0: .4byte sub_80775CC -_080775C4: .4byte gTasks -_080775C8: .4byte gUnknown_0202F7B3 - thumb_func_end ma1D_08073FB4 - - thumb_func_start sub_80775CC -sub_80775CC: @ 80775CC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08077608 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0xC] - subs r1, r0, 0x1 - strh r1, [r2, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _08077600 - ldrh r0, [r2, 0x8] - movs r1, 0xA - ldrsb r1, [r2, r1] - bl PlaySE12WithPanning - adds r0, r4, 0 - bl DestroyTask - ldr r1, _0807760C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_08077600: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077608: .4byte gTasks -_0807760C: .4byte gUnknown_0202F7B3 - thumb_func_end sub_80775CC - - thumb_func_start sub_8077610 -sub_8077610: @ 8077610 - push {r4-r6,lr} - ldr r4, _08077678 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r3, r1, 0x1 - str r3, [r4] - ldrb r2, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r6, r2, r0 - adds r0, r1, 0x5 - str r0, [r4] - ldrb r0, [r1, 0x5] - adds r1, 0x6 - str r1, [r4] - cmp r0, 0 - beq _0807765A - adds r5, r4, 0 - ldr r4, _0807767C @ =gBattleAnimArgs - adds r3, r0, 0 -_08077642: - ldr r2, [r5] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - strh r1, [r4] - adds r2, 0x2 - str r2, [r5] - adds r4, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _08077642 -_0807765A: - adds r0, r6, 0 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r6 - ldr r1, _08077680 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08077678: .4byte gUnknown_0202F7A4 -_0807767C: .4byte gBattleAnimArgs -_08077680: .4byte gUnknown_0202F7B3 - thumb_func_end sub_8077610 - - thumb_func_start ma20_wait_for_something -ma20_wait_for_something: @ 8077684 - push {r4,r5,lr} - ldr r0, _080776BC @ =gUnknown_0202F7B3 - ldrb r5, [r0] - cmp r5, 0 - bne _080776CC - bl IsSEPlaying - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080776E4 - ldr r4, _080776C0 @ =gUnknown_03004AF0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5A - bls _080776D2 - ldr r0, _080776C4 @ =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, _080776C8 @ =gMPlay_SE2 - bl m4aMPlayStop - strh r5, [r4] - b _080776F6 - .align 2, 0 -_080776BC: .4byte gUnknown_0202F7B3 -_080776C0: .4byte gUnknown_03004AF0 -_080776C4: .4byte gMPlay_SE1 -_080776C8: .4byte gMPlay_SE2 -_080776CC: - ldr r1, _080776DC @ =gUnknown_03004AF0 - movs r0, 0 - strh r0, [r1] -_080776D2: - ldr r1, _080776E0 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] - b _080776F6 - .align 2, 0 -_080776DC: .4byte gUnknown_03004AF0 -_080776E0: .4byte gUnknown_0202F7B0 -_080776E4: - ldr r0, _080776FC @ =gUnknown_03004AF0 - movs r2, 0 - strh r1, [r0] - ldr r1, _08077700 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08077704 @ =gUnknown_0202F7B0 - strb r2, [r0] -_080776F6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080776FC: .4byte gUnknown_03004AF0 -_08077700: .4byte gUnknown_0202F7A4 -_08077704: .4byte gUnknown_0202F7B0 - thumb_func_end ma20_wait_for_something - - thumb_func_start ma21_08074164 -ma21_08074164: @ 8077708 - push {r4-r6,lr} - ldr r5, _08077748 @ =gUnknown_0202F7A4 - ldr r4, [r5] - adds r3, r4, 0x1 - str r3, [r5] - ldrb r2, [r4, 0x1] - ldrb r1, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r0, _0807774C @ =gBattleAnimArgs - lsls r2, 1 - adds r2, r0 - lsls r1, 16 - asrs r1, 16 - movs r6, 0 - ldrsh r0, [r2, r6] - cmp r1, r0 - bne _08077750 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - adds r1, r0 - str r1, [r5] - b _08077756 - .align 2, 0 -_08077748: .4byte gUnknown_0202F7A4 -_0807774C: .4byte gBattleAnimArgs -_08077750: - adds r0, r4, 0 - adds r0, 0x8 - str r0, [r5] -_08077756: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ma21_08074164 - - thumb_func_start sub_807775C -sub_807775C: @ 807775C - push {r4,lr} - ldr r4, _0807778C @ =gUnknown_0202F7A4 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08077790 - ldr r2, [r4] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r4] - b _08077796 - .align 2, 0 -_0807778C: .4byte gUnknown_0202F7A4 -_08077790: - ldr r0, [r4] - adds r0, 0x4 - str r0, [r4] -_08077796: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807775C - - thumb_func_start sub_807779C -sub_807779C: @ 807779C - push {r4,lr} - ldr r0, _080777B0 @ =gUnknown_0202F7A4 - ldr r1, [r0] - ldrb r2, [r1, 0x1] - adds r1, 0x2 - str r1, [r0] - cmp r2, 0 - beq _080777B8 - ldr r0, _080777B4 @ =gUnknown_0202F7C9 - b _080777BA - .align 2, 0 -_080777B0: .4byte gUnknown_0202F7A4 -_080777B4: .4byte gUnknown_0202F7C9 -_080777B8: - ldr r0, _080777FC @ =gUnknown_0202F7C8 -_080777BA: - ldrb r0, [r0] - bl battle_get_per_side_status - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080777F4 - cmp r4, 0 - beq _080777D6 - cmp r4, 0x3 - bne _080777F4 -_080777D6: - ldr r3, _08077800 @ =REG_BG1CNT - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x1 - orrs r0, r2 - strb r0, [r3] - ldr r2, _08077804 @ =REG_BG2CNT - ldrb r0, [r2] - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2] -_080777F4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080777FC: .4byte gUnknown_0202F7C8 -_08077800: .4byte REG_BG1CNT -_08077804: .4byte REG_BG2CNT - thumb_func_end sub_807779C - - thumb_func_start sub_8077808 -sub_8077808: @ 8077808 - push {lr} - ldr r0, _08077840 @ =gUnknown_0202F7A4 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _0807783A - ldr r3, _08077844 @ =REG_BG1CNT - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x1 - orrs r0, r2 - strb r0, [r3] - ldr r2, _08077848 @ =REG_BG2CNT - ldrb r0, [r2] - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2] -_0807783A: - pop {r0} - bx r0 - .align 2, 0 -_08077840: .4byte gUnknown_0202F7A4 -_08077844: .4byte REG_BG1CNT -_08077848: .4byte REG_BG2CNT - thumb_func_end sub_8077808 - - thumb_func_start sub_807784C -sub_807784C: @ 807784C - push {r4-r7,lr} - ldr r1, _0807787C @ =gUnknown_0202F7A4 - ldr r0, [r1] - ldrb r6, [r0, 0x1] - adds r0, 0x2 - str r0, [r1] - ldr r7, _08077880 @ =gUnknown_0202F7C8 - ldrb r0, [r7] - bl battle_side_get_owner - adds r4, r0, 0 - ldr r5, _08077884 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - bl battle_side_get_owner - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080778C2 - cmp r6, 0 - beq _08077888 - ldrb r0, [r5] - b _0807788A - .align 2, 0 -_0807787C: .4byte gUnknown_0202F7A4 -_08077880: .4byte gUnknown_0202F7C8 -_08077884: .4byte gUnknown_0202F7C9 -_08077888: - ldrb r0, [r7] -_0807788A: - bl battle_get_per_side_status - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080778C2 - cmp r4, 0 - beq _080778A4 - cmp r4, 0x3 - bne _080778C2 -_080778A4: - ldr r3, _080778C8 @ =REG_BG1CNT - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x1 - orrs r0, r2 - strb r0, [r3] - ldr r2, _080778CC @ =REG_BG2CNT - ldrb r0, [r2] - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2] -_080778C2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080778C8: .4byte REG_BG1CNT -_080778CC: .4byte REG_BG2CNT - thumb_func_end sub_807784C - - thumb_func_start ma2B_make_side_invisible -ma2B_make_side_invisible: @ 80778D0 - push {r4,lr} - ldr r4, _08077904 @ =gUnknown_0202F7A4 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080778F8 - ldr r1, _08077908 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080778F8: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077904: .4byte gUnknown_0202F7A4 -_08077908: .4byte gSprites - thumb_func_end ma2B_make_side_invisible - - thumb_func_start ma2C_make_side_visible -ma2C_make_side_visible: @ 807790C - push {r4,lr} - ldr r4, _08077944 @ =gUnknown_0202F7A4 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _08077936 - ldr r1, _08077948 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_08077936: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077944: .4byte gUnknown_0202F7A4 -_08077948: .4byte gSprites - thumb_func_end ma2C_make_side_visible - - thumb_func_start sub_807794C -sub_807794C: @ 807794C - push {r4-r7,lr} - ldr r1, _08077998 @ =gUnknown_0202F7A4 - ldr r0, [r1] - ldrb r7, [r0, 0x1] - adds r0, 0x2 - str r0, [r1] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080779F6 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080779F6 - ldr r6, _0807799C @ =gUnknown_0202F7C8 - ldrb r0, [r6] - bl battle_side_get_owner - adds r4, r0, 0 - ldr r5, _080779A0 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - bl battle_side_get_owner - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080779F6 - cmp r7, 0 - bne _080779A4 - ldrb r0, [r6] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - b _080779B0 - .align 2, 0 -_08077998: .4byte gUnknown_0202F7A4 -_0807799C: .4byte gUnknown_0202F7C8 -_080779A0: .4byte gUnknown_0202F7C9 -_080779A4: - ldrb r0, [r5] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 -_080779B0: - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080779F6 - ldr r1, _080779EC @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r2, r0, r1 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - cmp r4, 0x2 - bne _080779E0 - ldrb r0, [r2, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r2, 0x5] -_080779E0: - cmp r4, 0x1 - bne _080779F0 - movs r0, 0 - bl sub_8076464 - b _080779F6 - .align 2, 0 -_080779EC: .4byte gSprites -_080779F0: - movs r0, 0x1 - bl sub_8076464 -_080779F6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807794C - - thumb_func_start sub_80779FC -sub_80779FC: @ 80779FC - push {r4-r7,lr} - ldr r1, _08077A48 @ =gUnknown_0202F7A4 - ldr r0, [r1] - ldrb r7, [r0, 0x1] - adds r0, 0x2 - str r0, [r1] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08077A88 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08077A88 - ldr r6, _08077A4C @ =gUnknown_0202F7C8 - ldrb r0, [r6] - bl battle_side_get_owner - adds r4, r0, 0 - ldr r5, _08077A50 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - bl battle_side_get_owner - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08077A88 - cmp r7, 0 - bne _08077A54 - ldrb r0, [r6] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - b _08077A60 - .align 2, 0 -_08077A48: .4byte gUnknown_0202F7A4 -_08077A4C: .4byte gUnknown_0202F7C8 -_08077A50: .4byte gUnknown_0202F7C9 -_08077A54: - ldrb r0, [r5] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 -_08077A60: - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _08077A88 - cmp r4, 0x2 - bne _08077A88 - ldr r1, _08077A90 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] -_08077A88: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077A90: .4byte gSprites - thumb_func_end sub_80779FC - - thumb_func_start ma2F_stop_music -ma2F_stop_music: @ 8077A94 - push {lr} - ldr r0, _08077AB0 @ =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, _08077AB4 @ =gMPlay_SE2 - bl m4aMPlayStop - ldr r1, _08077AB8 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08077AB0: .4byte gMPlay_SE1 -_08077AB4: .4byte gMPlay_SE2 -_08077AB8: .4byte gUnknown_0202F7A4 - thumb_func_end ma2F_stop_music - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_80CA710.s b/asm/battle_anim_80CA710.s index ae6709650..32429e22d 100644 --- a/asm/battle_anim_80CA710.s +++ b/asm/battle_anim_80CA710.s @@ -31309,7 +31309,7 @@ sub_80D97CC: @ 80D97CC ldrsh r0, [r0, r1] cmp r0, 0 bne _080D9828 - ldr r4, _080D981C @ =gUnknown_02024C07 + ldr r4, _080D981C @ =gPlayerMonIndex ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -31338,7 +31338,7 @@ sub_80D97CC: @ 80D97CC b _080D9844 .align 2, 0 _080D9818: .4byte gBattleAnimArgs -_080D981C: .4byte gUnknown_02024C07 +_080D981C: .4byte gPlayerMonIndex _080D9820: .4byte gUnknown_0202F7C8 _080D9824: .4byte gUnknown_0202F7C9 _080D9828: @@ -31614,7 +31614,7 @@ sub_80D9A38: @ 80D9A38 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D9A7C - ldr r4, _080D9A70 @ =gUnknown_02024C07 + ldr r4, _080D9A70 @ =gPlayerMonIndex ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -31633,7 +31633,7 @@ sub_80D9A38: @ 80D9A38 b _080D9A82 .align 2, 0 _080D9A6C: .4byte gBattleAnimArgs -_080D9A70: .4byte gUnknown_02024C07 +_080D9A70: .4byte gPlayerMonIndex _080D9A74: .4byte gUnknown_0202F7C9 _080D9A78: .4byte gUnknown_0202F7C8 _080D9A7C: @@ -43672,7 +43672,7 @@ sub_80DF78C: @ 80DF78C ldr r0, _080DF7E4 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r6, 0x3A] - ldr r4, _080DF7E8 @ =gUnknown_02024C07 + ldr r4, _080DF7E8 @ =gPlayerMonIndex ldrb r0, [r4] movs r1, 0 bl sub_807A100 @@ -43690,7 +43690,7 @@ sub_80DF78C: @ 80DF78C .align 2, 0 _080DF7E0: .4byte gUnknown_0202F7C8 _080DF7E4: .4byte gBattleAnimArgs -_080DF7E8: .4byte gUnknown_02024C07 +_080DF7E8: .4byte gPlayerMonIndex _080DF7EC: lsrs r0, r1, 17 _080DF7EE: @@ -53227,7 +53227,7 @@ sub_80E4234: @ 80E4234 lsls r0, 24 lsrs r0, 24 ldr r2, _080E4254 @ =gUnknown_0202F7C8 - ldr r1, _080E4258 @ =gUnknown_02024C08 + ldr r1, _080E4258 @ =gEnemyMonIndex ldrb r1, [r1] strb r1, [r2] ldr r2, _080E425C @ =gUnknown_0202F7C9 @@ -53239,7 +53239,7 @@ sub_80E4234: @ 80E4234 bx r0 .align 2, 0 _080E4254: .4byte gUnknown_0202F7C8 -_080E4258: .4byte gUnknown_02024C08 +_080E4258: .4byte gEnemyMonIndex _080E425C: .4byte gUnknown_0202F7C9 _080E4260: .4byte gUnknown_02024C0A thumb_func_end sub_80E4234 @@ -53287,7 +53287,7 @@ sub_80E42B0: @ 80E42B0 lsls r0, 24 lsrs r0, 24 ldr r2, _080E42C8 @ =gUnknown_0202F7C9 - ldr r1, _080E42CC @ =gUnknown_02024C08 + ldr r1, _080E42CC @ =gEnemyMonIndex ldrb r1, [r1] strb r1, [r2] bl move_anim_task_del @@ -53295,7 +53295,7 @@ sub_80E42B0: @ 80E42B0 bx r0 .align 2, 0 _080E42C8: .4byte gUnknown_0202F7C9 -_080E42CC: .4byte gUnknown_02024C08 +_080E42CC: .4byte gEnemyMonIndex thumb_func_end sub_80E42B0 thumb_func_start sub_80E42D0 @@ -53304,7 +53304,7 @@ sub_80E42D0: @ 80E42D0 lsls r0, 24 lsrs r0, 24 ldr r2, _080E42F0 @ =gUnknown_0202F7C8 - ldr r1, _080E42F4 @ =gUnknown_02024C07 + ldr r1, _080E42F4 @ =gPlayerMonIndex ldrb r1, [r1] strb r1, [r2] ldr r2, _080E42F8 @ =gUnknown_0202F7C9 @@ -53316,7 +53316,7 @@ sub_80E42D0: @ 80E42D0 bx r0 .align 2, 0 _080E42F0: .4byte gUnknown_0202F7C8 -_080E42F4: .4byte gUnknown_02024C07 +_080E42F4: .4byte gPlayerMonIndex _080E42F8: .4byte gUnknown_0202F7C9 _080E42FC: .4byte gUnknown_02024C0A thumb_func_end sub_80E42D0 diff --git a/asm/battle_message.s b/asm/battle_message.s index c4e4a7dd0..0e3588d14 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -16,7 +16,7 @@ sub_8120AA8: @ 8120AA8 lsls r0, 16 lsrs r7, r0, 16 movs r6, 0 - ldr r5, _08120B70 @ =gUnknown_02039270 + ldr r5, _08120B70 @ =gSelectedOrderFromParty ldr r4, _08120B74 @ =gUnknown_02024A60 ldrb r1, [r4] lsls r1, 9 @@ -73,7 +73,7 @@ _08120B10: movs r2, 0 ldr r0, _08120B9C @ =gUnknown_030041C0 mov r8, r0 - ldr r3, _08120B70 @ =gUnknown_02039270 + ldr r3, _08120B70 @ =gSelectedOrderFromParty ldr r1, _08120BA4 @ =gUnknown_03004290 mov r12, r1 ldr r5, _08120BA8 @ =gUnknown_030042B0 @@ -111,7 +111,7 @@ _08120B64: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08120B70: .4byte gUnknown_02039270 +_08120B70: .4byte gSelectedOrderFromParty _08120B74: .4byte gUnknown_02024A60 _08120B78: .4byte gUnknown_02023A64 _08120B7C: .4byte gUnknown_02024C04 @@ -414,7 +414,7 @@ _08120DE4: .4byte gUnknown_08400622 _08120DE8: mov r0, r10 bl sub_8121D1C - ldr r0, _08120E14 @ =gUnknown_02039270 + ldr r0, _08120E14 @ =gSelectedOrderFromParty ldr r2, [r0] ldrh r1, [r2] movs r0, 0xB1 @@ -433,7 +433,7 @@ _08120DE8: bl StringCopy b _08120E38 .align 2, 0 -_08120E14: .4byte gUnknown_02039270 +_08120E14: .4byte gSelectedOrderFromParty _08120E18: .4byte gUnknown_03004290 _08120E1C: .4byte gUnknown_08401674 _08120E20: .4byte 0x02000000 @@ -968,7 +968,7 @@ _0812129C: .4byte gUnknown_02024A6A _081212A0: .4byte gLinkPlayers _081212A4: .4byte gEnemyParty _081212A8: - ldr r4, _081212CC @ =gUnknown_02024C07 + ldr r4, _081212CC @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -985,7 +985,7 @@ _081212A8: ldr r4, _081212D8 @ =gUnknown_08400797 b _081212E6 .align 2, 0 -_081212CC: .4byte gUnknown_02024C07 +_081212CC: .4byte gPlayerMonIndex _081212D0: .4byte gBattleTypeFlags _081212D4: .4byte gUnknown_08400791 _081212D8: .4byte gUnknown_08400797 @@ -1035,7 +1035,7 @@ _0812131C: .align 2, 0 _08121338: .4byte gUnknown_02024A6A _0812133C: - ldr r4, _08121370 @ =gUnknown_02024C07 + ldr r4, _08121370 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -1059,7 +1059,7 @@ _0812133C: adds r0, r1 b _0812190E .align 2, 0 -_08121370: .4byte gUnknown_02024C07 +_08121370: .4byte gPlayerMonIndex _08121374: .4byte gUnknown_02024A6A _08121378: .4byte gPlayerParty _0812137C: @@ -1083,7 +1083,7 @@ _0812137C: _081213A0: .4byte gUnknown_02024A6A _081213A4: .4byte gEnemyParty _081213A8: - ldr r5, _081213F4 @ =gUnknown_02024C07 + ldr r5, _081213F4 @ =gPlayerMonIndex ldrb r0, [r5] bl battle_side_get_owner lsls r0, 24 @@ -1123,7 +1123,7 @@ _081213E8: ldrh r1, [r0] b _08121908 .align 2, 0 -_081213F4: .4byte gUnknown_02024C07 +_081213F4: .4byte gPlayerMonIndex _081213F8: .4byte gBattleTypeFlags _081213FC: .4byte gUnknown_08400791 _08121400: .4byte gUnknown_08400797 @@ -1139,7 +1139,7 @@ _0812140C: .align 2, 0 _08121418: .4byte gUnknown_02024A6A _0812141C: - ldr r5, _08121468 @ =gUnknown_02024C08 + ldr r5, _08121468 @ =gEnemyMonIndex ldrb r0, [r5] bl battle_side_get_owner lsls r0, 24 @@ -1179,7 +1179,7 @@ _0812145C: ldrh r1, [r0] b _08121908 .align 2, 0 -_08121468: .4byte gUnknown_02024C08 +_08121468: .4byte gEnemyMonIndex _0812146C: .4byte gBattleTypeFlags _08121470: .4byte gUnknown_08400791 _08121474: .4byte gUnknown_08400797 @@ -1368,7 +1368,7 @@ _081215E8: .align 2, 0 _081215F4: .4byte gUnknown_02024A6A _081215F8: - ldr r0, _08121610 @ =gUnknown_02039270 + ldr r0, _08121610 @ =gSelectedOrderFromParty ldr r2, [r0] ldrh r1, [r2] movs r0, 0xB1 @@ -1380,14 +1380,14 @@ _081215F8: adds r0, r2 b _08121634 .align 2, 0 -_08121610: .4byte gUnknown_02039270 +_08121610: .4byte gSelectedOrderFromParty _08121614: .4byte 0x02000000 _08121618: .4byte 0x000160a0 _0812161C: ldrh r1, [r2] b _08121652 _08121620: - ldr r0, _08121640 @ =gUnknown_02039270 + ldr r0, _08121640 @ =gSelectedOrderFromParty ldr r2, [r0] ldrh r1, [r2, 0x2] movs r0, 0xB1 @@ -1404,7 +1404,7 @@ _08121634: adds r4, r0, r1 b _081219E6 .align 2, 0 -_08121640: .4byte gUnknown_02039270 +_08121640: .4byte gSelectedOrderFromParty _08121644: .4byte 0x02000000 _08121648: .4byte 0x000160a0 _0812164C: .4byte gUnknown_08401674 @@ -1489,18 +1489,18 @@ _081216EC: _081216F0: .4byte byte_2024C06 _081216F4: ldr r1, _081216FC @ =gUnknown_0203926C - ldr r0, _08121700 @ =gUnknown_02024C07 + ldr r0, _08121700 @ =gPlayerMonIndex b _08121730 .align 2, 0 _081216FC: .4byte gUnknown_0203926C -_08121700: .4byte gUnknown_02024C07 +_08121700: .4byte gPlayerMonIndex _08121704: ldr r1, _0812170C @ =gUnknown_0203926C - ldr r0, _08121710 @ =gUnknown_02024C08 + ldr r0, _08121710 @ =gEnemyMonIndex b _08121730 .align 2, 0 _0812170C: .4byte gUnknown_0203926C -_08121710: .4byte gUnknown_02024C08 +_08121710: .4byte gEnemyMonIndex _08121714: ldr r1, _08121720 @ =gUnknown_0203926C ldr r0, _08121724 @ =0x02000000 @@ -1805,12 +1805,12 @@ _08121970: .4byte 0x0000084b _08121974: .4byte gUnknown_084009ED _08121978: .4byte gUnknown_084009F7 _0812197C: - ldr r0, _08121980 @ =gUnknown_02024C07 + ldr r0, _08121980 @ =gPlayerMonIndex b _08121986 .align 2, 0 -_08121980: .4byte gUnknown_02024C07 +_08121980: .4byte gPlayerMonIndex _08121984: - ldr r0, _08121998 @ =gUnknown_02024C08 + ldr r0, _08121998 @ =gEnemyMonIndex _08121986: ldrb r0, [r0] bl battle_side_get_owner @@ -1821,16 +1821,16 @@ _08121986: ldr r4, _081219A0 @ =gUnknown_084007AC b _081219E6 .align 2, 0 -_08121998: .4byte gUnknown_02024C08 +_08121998: .4byte gEnemyMonIndex _0812199C: .4byte gUnknown_084007A7 _081219A0: .4byte gUnknown_084007AC _081219A4: - ldr r0, _081219A8 @ =gUnknown_02024C07 + ldr r0, _081219A8 @ =gPlayerMonIndex b _081219AE .align 2, 0 -_081219A8: .4byte gUnknown_02024C07 +_081219A8: .4byte gPlayerMonIndex _081219AC: - ldr r0, _081219C0 @ =gUnknown_02024C08 + ldr r0, _081219C0 @ =gEnemyMonIndex _081219AE: ldrb r0, [r0] bl battle_side_get_owner @@ -1841,16 +1841,16 @@ _081219AE: ldr r4, _081219C8 @ =gUnknown_084007A1 b _081219E6 .align 2, 0 -_081219C0: .4byte gUnknown_02024C08 +_081219C0: .4byte gEnemyMonIndex _081219C4: .4byte gUnknown_0840079C _081219C8: .4byte gUnknown_084007A1 _081219CC: - ldr r0, _081219D0 @ =gUnknown_02024C07 + ldr r0, _081219D0 @ =gPlayerMonIndex b _081219D6 .align 2, 0 -_081219D0: .4byte gUnknown_02024C07 +_081219D0: .4byte gPlayerMonIndex _081219D4: - ldr r0, _08121A24 @ =gUnknown_02024C08 + ldr r0, _08121A24 @ =gEnemyMonIndex _081219D6: ldrb r0, [r0] bl battle_side_get_owner @@ -1894,7 +1894,7 @@ _08121A06: adds r6, 0x1 b _08121A3C .align 2, 0 -_08121A24: .4byte gUnknown_02024C08 +_08121A24: .4byte gEnemyMonIndex _08121A28: .4byte gUnknown_084007B2 _08121A2C: .4byte gUnknown_084007B7 _08121A30: @@ -2274,7 +2274,7 @@ sub_8121D1C: @ 8121D1C push {r4,r5,lr} adds r4, r0, 0 movs r2, 0 - ldr r5, _08121D50 @ =gUnknown_02039270 + ldr r5, _08121D50 @ =gSelectedOrderFromParty ldr r3, _08121D54 @ =gUnknown_084016BC _08121D26: cmp r2, 0x4 @@ -2299,7 +2299,7 @@ _08121D3C: bl StringCopy b _08121D68 .align 2, 0 -_08121D50: .4byte gUnknown_02039270 +_08121D50: .4byte gSelectedOrderFromParty _08121D54: .4byte gUnknown_084016BC _08121D58: .4byte gUnknown_08400E5E _08121D5C: @@ -2329,7 +2329,7 @@ _08121D7E: cmp r0, 0xFF bne _08121D7C ldr r1, _08121DB4 @ =gUnknown_084016BC - ldr r5, _08121DB8 @ =gUnknown_02039270 + ldr r5, _08121DB8 @ =gSelectedOrderFromParty movs r0, 0 lsls r0, 1 adds r2, r0, r1 @@ -2356,7 +2356,7 @@ _08121DA8: mov pc, r0 .align 2, 0 _08121DB4: .4byte gUnknown_084016BC -_08121DB8: .4byte gUnknown_02039270 +_08121DB8: .4byte gSelectedOrderFromParty _08121DBC: .4byte _08121DC0 .align 2, 0 _08121DC0: diff --git a/asm/battle_party_menu.s b/asm/battle_party_menu.s deleted file mode 100644 index 471c5ccc0..000000000 --- a/asm/battle_party_menu.s +++ /dev/null @@ -1,1263 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SetUpBattlePartyMenu -SetUpBattlePartyMenu: @ 8094E58 - push {r4,r5,lr} - ldr r1, _08094E78 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r3, 0 - ldrsh r0, [r0, r3] - adds r4, r1, 0 - cmp r0, 0xA - bls _08094E6E - b _08095048 -_08094E6E: - lsls r0, 2 - ldr r1, _08094E7C @ =_08094E80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08094E78: .4byte 0x0201b000 -_08094E7C: .4byte _08094E80 - .align 2, 0 -_08094E80: - .4byte _08094EAC - .4byte _08094F28 - .4byte _08094F3C - .4byte _08094F4A - .4byte _08094F6C - .4byte _08094F80 - .4byte _08094F94 - .4byte _08094FA8 - .4byte _08094FBC - .4byte _08094FD0 - .4byte _08095000 -_08094EAC: - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08094EDC - ldr r1, _08094ED4 @ =0x0201b000 - ldr r0, _08094ED8 @ =0x00000266 - adds r4, r1, r0 - ldrh r2, [r4] - movs r3, 0 - ldrsh r0, [r4, r3] - cmp r0, 0x6 - bne _08094EEC - movs r0, 0 - strh r0, [r4] - movs r3, 0x99 - lsls r3, 2 - adds r1, r3 - b _08094FEC - .align 2, 0 -_08094ED4: .4byte 0x0201b000 -_08094ED8: .4byte 0x00000266 -_08094EDC: - ldr r1, _08094F10 @ =0x0201b000 - ldr r0, _08094F14 @ =0x00000266 - adds r4, r1, r0 - ldrh r2, [r4] - movs r3, 0 - ldrsh r0, [r4, r3] - cmp r0, 0x5 - bgt _08094F1C -_08094EEC: - movs r3, 0x98 - lsls r3, 2 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r1, r2, 24 - lsrs r1, 24 - movs r2, 0 - ldrsh r3, [r4, r2] - movs r2, 0x64 - muls r2, r3 - ldr r3, _08094F18 @ =gPlayerParty - adds r2, r3 - bl TryCreatePartyMenuMonIcon - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _08095048 - .align 2, 0 -_08094F10: .4byte 0x0201b000 -_08094F14: .4byte 0x00000266 -_08094F18: .4byte gPlayerParty -_08094F1C: - movs r0, 0 - strh r0, [r4] - movs r3, 0x99 - lsls r3, 2 - adds r1, r3 - b _08094FEC -_08094F28: - bl LoadHeldItemIconGraphics - ldr r1, _08094F38 @ =0x0201b000 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _08094FEC - .align 2, 0 -_08094F38: .4byte 0x0201b000 -_08094F3C: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - bl CreateHeldItemIcons_806DC34 - b _08094FE6 -_08094F4A: - movs r3, 0x98 - lsls r3, 2 - adds r0, r4, r3 - ldrb r0, [r0] - ldr r1, _08094F68 @ =0x00000266 - adds r5, r4, r1 - ldrb r1, [r5] - bl sub_806BD58 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08094FE2 - b _08094FF8 - .align 2, 0 -_08094F68: .4byte 0x00000266 -_08094F6C: - bl PartyMenuPrintMonsLevelOrStatus - ldr r1, _08094F7C @ =0x0201b000 - movs r3, 0x99 - lsls r3, 2 - adds r1, r3 - b _08094FEC - .align 2, 0 -_08094F7C: .4byte 0x0201b000 -_08094F80: - bl PrintPartyMenuMonNicknames - ldr r1, _08094F90 @ =0x0201b000 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _08094FEC - .align 2, 0 -_08094F90: .4byte 0x0201b000 -_08094F94: - bl PartyMenuTryPrintMonsHP - ldr r1, _08094FA4 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r1, r2 - b _08094FEC - .align 2, 0 -_08094FA4: .4byte 0x0201b000 -_08094FA8: - bl nullsub_13 - ldr r1, _08094FB8 @ =0x0201b000 - movs r3, 0x99 - lsls r3, 2 - adds r1, r3 - b _08094FEC - .align 2, 0 -_08094FB8: .4byte 0x0201b000 -_08094FBC: - bl PartyMenuDrawHPBars - ldr r1, _08094FCC @ =0x0201b000 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _08094FEC - .align 2, 0 -_08094FCC: .4byte 0x0201b000 -_08094FD0: - ldr r1, _08094FF4 @ =0x00000266 - adds r5, r4, r1 - ldrb r0, [r5] - bl sub_806B58C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08094FF8 -_08094FE2: - movs r0, 0 - strh r0, [r5] -_08094FE6: - movs r2, 0x99 - lsls r2, 2 - adds r1, r4, r2 -_08094FEC: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08095048 - .align 2, 0 -_08094FF4: .4byte 0x00000266 -_08094FF8: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _08095048 -_08095000: - ldr r0, _08095024 @ =gUnknown_02038473 - ldrb r4, [r0] - cmp r4, 0x3 - bne _0809503C - ldr r0, _08095028 @ =gScriptItemId - ldrh r0, [r0] - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA - bne _08095034 - ldr r0, _0809502C @ =0x0201b000 - ldr r3, _08095030 @ =0x00000259 - adds r0, r3 - movs r1, 0xFF - strb r1, [r0] - b _0809503C - .align 2, 0 -_08095024: .4byte gUnknown_02038473 -_08095028: .4byte gScriptItemId -_0809502C: .4byte 0x0201b000 -_08095030: .4byte 0x00000259 -_08095034: - ldr r0, _08095040 @ =0x0201b000 - ldr r1, _08095044 @ =0x00000259 - adds r0, r1 - strb r4, [r0] -_0809503C: - movs r0, 0x1 - b _0809504A - .align 2, 0 -_08095040: .4byte 0x0201b000 -_08095044: .4byte 0x00000259 -_08095048: - movs r0, 0 -_0809504A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end SetUpBattlePartyMenu - - thumb_func_start sub_8095050 -sub_8095050: @ 8095050 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x64 - muls r0, r1 - ldr r1, _0809508C @ =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - adds r5, r0, 0 - cmp r5, 0 - bne _080950C8 - ldr r0, _08095090 @ =gUnknown_02038473 - ldrb r4, [r0] - cmp r4, 0x1 - bne _0809509C - ldr r3, _08095094 @ =gTasks - ldr r2, _08095098 @ =0x0201b000 - movs r0, 0x98 - lsls r0, 2 - adds r2, r0 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - b _080950DE - .align 2, 0 -_0809508C: .4byte gPlayerParty -_08095090: .4byte gUnknown_02038473 -_08095094: .4byte gTasks -_08095098: .4byte 0x0201b000 -_0809509C: - ldr r3, _080950C0 @ =gTasks - ldr r2, _080950C4 @ =0x0201b000 - movs r0, 0x98 - lsls r0, 2 - adds r2, r0 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r5, [r0, 0x10] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r5, [r0, 0x12] - b _080950EC - .align 2, 0 -_080950C0: .4byte gTasks -_080950C4: .4byte 0x0201b000 -_080950C8: - ldr r3, _08095108 @ =gTasks - ldr r2, _0809510C @ =0x0201b000 - movs r0, 0x98 - lsls r0, 2 - adds r2, r0 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r4, 0x2 -_080950DE: - strh r4, [r0, 0x10] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r4, [r0, 0x12] -_080950EC: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x10] - ldr r1, _08095110 @ =gUnknown_083B5FF4 - ldr r2, _08095114 @ =gUnknown_083B5FCC - movs r3, 0 - bl sub_806E750 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08095108: .4byte gTasks -_0809510C: .4byte 0x0201b000 -_08095110: .4byte gUnknown_083B5FF4 -_08095114: .4byte gUnknown_083B5FCC - thumb_func_end sub_8095050 - - thumb_func_start SetUpBattlePokemonMenu -SetUpBattlePokemonMenu: @ 8095118 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08095150 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809512C - b _08095268 -_0809512C: - ldr r0, _08095154 @ =gUnknown_02038473 - ldrb r0, [r0] - cmp r0, 0x3 - bne _08095164 - ldr r5, _08095158 @ =gScriptItemId - ldrh r0, [r5] - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA - bne _08095164 - ldr r0, _0809515C @ =gUnknown_03004AE4 - ldrh r1, [r5] - ldr r2, _08095160 @ =sub_80952E4 - ldr r3, [r0] - b _080951AA - .align 2, 0 -_08095150: .4byte gPaletteFade -_08095154: .4byte gUnknown_02038473 -_08095158: .4byte gScriptItemId -_0809515C: .4byte gUnknown_03004AE4 -_08095160: .4byte sub_80952E4 -_08095164: - adds r0, r4, 0 - bl sub_806BD80 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _08095178 - cmp r0, 0x2 - beq _08095214 - b _08095268 -_08095178: - ldr r0, _080951B4 @ =gUnknown_02038473 - ldrb r0, [r0] - cmp r0, 0x3 - bne _080951C8 - adds r0, r4, 0 - bl sub_806CA38 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _080951B8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0809521C - bl sub_806D5A4 - ldr r3, _080951BC @ =gUnknown_03004AE4 - ldr r0, _080951C0 @ =gScriptItemId - ldrh r1, [r0] - ldr r2, _080951C4 @ =sub_80952E4 - ldr r3, [r3] -_080951AA: - adds r0, r4, 0 - bl _call_via_r3 - b _08095268 - .align 2, 0 -_080951B4: .4byte gUnknown_02038473 -_080951B8: .4byte gPlayerParty -_080951BC: .4byte gUnknown_03004AE4 -_080951C0: .4byte gScriptItemId -_080951C4: .4byte sub_80952E4 -_080951C8: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_806CA38 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _08095204 @ =gPlayerParty - adds r0, r1 - ldr r1, _08095208 @ =gStringVar1 - bl GetMonNickname - adds r0, r4, 0 - bl sub_806CA38 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8095050 - ldr r1, _0809520C @ =sub_8095408 - ldr r2, _08095210 @ =SetUpBattlePokemonMenu - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - b _08095268 - .align 2, 0 -_08095204: .4byte gPlayerParty -_08095208: .4byte gStringVar1 -_0809520C: .4byte sub_8095408 -_08095210: .4byte SetUpBattlePokemonMenu -_08095214: - ldr r5, _08095224 @ =gUnknown_02038473 - ldrb r0, [r5] - cmp r0, 0x1 - bne _08095228 -_0809521C: - movs r0, 0x20 - bl PlaySE - b _08095268 - .align 2, 0 -_08095224: .4byte gUnknown_02038473 -_08095228: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r5] - cmp r0, 0x3 - bne _08095254 - ldr r1, _08095248 @ =gUnknown_0202E8F4 - movs r0, 0 - strb r0, [r1] - ldr r1, _0809524C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095250 @ =sub_80952E4 - b _08095266 - .align 2, 0 -_08095248: .4byte gUnknown_0202E8F4 -_0809524C: .4byte gTasks -_08095250: .4byte sub_80952E4 -_08095254: - ldr r1, _08095270 @ =gUnknown_0202E8F4 - movs r0, 0 - strb r0, [r1] - ldr r1, _08095274 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095278 @ =sub_809527C -_08095266: - str r1, [r0] -_08095268: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08095270: .4byte gUnknown_0202E8F4 -_08095274: .4byte gTasks -_08095278: .4byte sub_809527C - thumb_func_end SetUpBattlePokemonMenu - - thumb_func_start sub_809527C -sub_809527C: @ 809527C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _080952AC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080952B0 @ =sub_80952B4 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080952AC: .4byte gTasks -_080952B0: .4byte sub_80952B4 - thumb_func_end sub_809527C - - thumb_func_start sub_80952B4 -sub_80952B4: @ 80952B4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080952DC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080952D6 - bl sub_8094D60 - adds r0, r4, 0 - bl DestroyTask - ldr r0, _080952E0 @ =sub_802E414 - bl SetMainCallback2 -_080952D6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080952DC: .4byte gPaletteFade -_080952E0: .4byte sub_802E414 - thumb_func_end sub_80952B4 - - thumb_func_start sub_80952E4 -sub_80952E4: @ 80952E4 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080952FC @ =gUnknown_0202E8F4 - ldrb r1, [r0] - cmp r1, 0 - beq _08095300 - adds r0, r4, 0 - bl sub_809527C - b _0809531E - .align 2, 0 -_080952FC: .4byte gUnknown_0202E8F4 -_08095300: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08095328 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809532C @ =sub_8095330 - str r1, [r0] -_0809531E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08095328: .4byte gTasks -_0809532C: .4byte sub_8095330 - thumb_func_end sub_80952E4 - - thumb_func_start sub_8095330 -sub_8095330: @ 8095330 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08095358 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08095350 - bl sub_8094D60 - adds r0, r4, 0 - bl DestroyTask - bl sub_80A6DCC -_08095350: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08095358: .4byte gPaletteFade - thumb_func_end sub_8095330 - - thumb_func_start sub_809535C -sub_809535C: @ 809535C - push {lr} - ldr r2, _08095380 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r2, _08095384 @ =SetUpBattlePokemonMenu - movs r0, 0x1 - movs r1, 0xFF - movs r3, 0x5 - bl sub_806AF4C - ldr r0, _08095388 @ =sub_809538C - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_08095380: .4byte gPaletteFade -_08095384: .4byte SetUpBattlePokemonMenu -_08095388: .4byte sub_809538C - thumb_func_end sub_809535C - - thumb_func_start sub_809538C -sub_809538C: @ 809538C - push {r4,r5,lr} - ldr r4, _080953D8 @ =0x0201b260 - ldr r5, _080953DC @ =gUnknown_020384F0 -_08095392: - bl sub_806B124 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080953F4 - ldrb r0, [r4] - ldrb r1, [r5] - bl sub_806C994 - ldrb r0, [r4] - movs r1, 0 - bl sub_806BF74 - ldrb r1, [r5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080953E0 @ =gPlayerParty - adds r0, r1 - ldr r1, _080953E4 @ =gStringVar1 - bl GetMonNickname - ldrb r0, [r4] - ldrb r1, [r5] - bl sub_8095050 - ldrb r0, [r4] - ldr r1, _080953E8 @ =sub_8095408 - ldr r2, _080953EC @ =SetUpBattlePokemonMenu - bl SetTaskFuncWithFollowupFunc - ldr r0, _080953F0 @ =sub_806AEDC - bl SetMainCallback2 - b _08095400 - .align 2, 0 -_080953D8: .4byte 0x0201b260 -_080953DC: .4byte gUnknown_020384F0 -_080953E0: .4byte gPlayerParty -_080953E4: .4byte gStringVar1 -_080953E8: .4byte sub_8095408 -_080953EC: .4byte SetUpBattlePokemonMenu -_080953F0: .4byte sub_806AEDC -_080953F4: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08095392 -_08095400: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809538C - - thumb_func_start sub_8095408 -sub_8095408: @ 8095408 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, r7, 0 - ldr r0, _0809543C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r3, 0x80 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _080954B8 - ldr r2, _08095440 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08095444 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _080954B8 - .align 2, 0 -_0809543C: .4byte gPaletteFade -_08095440: .4byte gMain -_08095444: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0809545A - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _080954B8 -_0809545A: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080954A4 - movs r0, 0x5 - bl PlaySE - ldr r1, _08095498 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrb r4, [r0, 0x10] - ldr r5, _0809549C @ =gUnknown_083B5FF4 - ldr r6, _080954A0 @ =gUnknown_083B5FCC - bl GetMenuCursorPos - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_806E81C - adds r1, r0, 0 - adds r0, r7, 0 - bl _call_via_r1 - b _080954B8 - .align 2, 0 -_08095498: .4byte gTasks -_0809549C: .4byte gUnknown_083B5FF4 -_080954A0: .4byte gUnknown_083B5FCC -_080954A4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080954B8 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl BattlePokemonMenu_Cancel -_080954B8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8095408 - - thumb_func_start sub_80954C0 -sub_80954C0: @ 80954C0 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080954D8 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _080954D4 - adds r0, r1, 0 - bl BattlePokemonMenu_Cancel -_080954D4: - pop {r0} - bx r0 - .align 2, 0 -_080954D8: .4byte gUnknown_0202E8F6 - thumb_func_end sub_80954C0 - - thumb_func_start BattleShowPokemonSummaryScreen -BattleShowPokemonSummaryScreen: @ 80954DC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_806CA38 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0809552C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08095522 - adds r0, r4, 0 - bl DestroyTask - ldr r0, _08095530 @ =0x0201b000 - ldr r1, _08095534 @ =0x00000262 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _08095538 @ =gPlayerParty - ldr r1, _0809553C @ =gPlayerPartyCount - ldrb r2, [r1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _08095540 @ =sub_809535C - movs r1, 0x4 - str r1, [sp] - adds r1, r5, 0 - bl ShowPokemonSummaryScreen -_08095522: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809552C: .4byte gPaletteFade -_08095530: .4byte 0x0201b000 -_08095534: .4byte 0x00000262 -_08095538: .4byte gPlayerParty -_0809553C: .4byte gPlayerPartyCount -_08095540: .4byte sub_809535C - thumb_func_end BattleShowPokemonSummaryScreen - - thumb_func_start BattlePokemonMenu_Summary -BattlePokemonMenu_Summary: @ 8095544 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_806CA38 - ldr r1, _0809557C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095580 @ =BattleShowPokemonSummaryScreen - str r1, [r0] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809557C: .4byte gTasks -_08095580: .4byte BattleShowPokemonSummaryScreen - thumb_func_end BattlePokemonMenu_Summary - - thumb_func_start BattlePokemonMenu_Shift -BattlePokemonMenu_Shift: @ 8095584 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080955F8 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x10] - ldr r1, _080955FC @ =gUnknown_083B5FF4 - bl sub_806E7D0 - adds r0, r6, 0 - bl sub_806CA38 - lsls r0, 24 - lsrs r5, r0, 24 - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08095610 - cmp r5, 0x1 - beq _080955C6 - cmp r5, 0x4 - beq _080955C6 - cmp r5, 0x5 - bne _08095610 -_080955C6: - bl sub_806D5A4 - ldr r4, _08095600 @ =gStringVar1 - bl sub_8040D08 - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r4, _08095604 @ =gStringVar4 - ldr r1, _08095608 @ =gOtherText_CantSwitchPokeWithYours - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _080955F8 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809560C @ =sub_80954C0 - b _0809589A - .align 2, 0 -_080955F8: .4byte gTasks -_080955FC: .4byte gUnknown_083B5FF4 -_08095600: .4byte gStringVar1 -_08095604: .4byte gStringVar4 -_08095608: .4byte gOtherText_CantSwitchPokeWithYours -_0809560C: .4byte sub_80954C0 -_08095610: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08095654 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _0809566C - bl sub_806D5A4 - ldr r1, _08095658 @ =gStringVar1 - adds r0, r4, 0 - bl GetMonNickname - ldr r4, _0809565C @ =gStringVar4 - ldr r1, _08095660 @ =gOtherText_NoEnergyLeft - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _08095664 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095668 @ =sub_80954C0 - b _0809589A - .align 2, 0 -_08095654: .4byte gPlayerParty -_08095658: .4byte gStringVar1 -_0809565C: .4byte gStringVar4 -_08095660: .4byte gOtherText_NoEnergyLeft -_08095664: .4byte gTasks -_08095668: .4byte sub_80954C0 -_0809566C: - movs r4, 0 - ldr r0, _08095678 @ =gUnknown_02024A68 - lsls r1, r6, 2 - mov r8, r1 - b _080956A8 - .align 2, 0 -_08095678: .4byte gUnknown_02024A68 -_0809567C: - adds r0, r4, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _080956A0 - adds r0, r5, 0 - bl sub_8094C20 - lsls r0, 24 - ldr r2, _080956EC @ =gUnknown_02024A6A - lsls r1, r4, 1 - adds r1, r2 - lsrs r0, 24 - ldrh r1, [r1] - cmp r0, r1 - bne _080956A0 - b _08095808 -_080956A0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080956F0 @ =gUnknown_02024A68 -_080956A8: - ldrb r0, [r0] - cmp r4, r0 - bcc _0809567C - movs r2, 0x64 - mov r9, r2 - mov r0, r9 - muls r0, r5 - ldr r1, _080956F4 @ =gPlayerParty - mov r10, r1 - adds r7, r0, r1 - adds r0, r7, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _08095708 - bl sub_806D5A4 - ldr r4, _080956F8 @ =gStringVar4 - ldr r1, _080956FC @ =gOtherText_EGGCantBattle - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _08095700 @ =gTasks - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095704 @ =sub_80954C0 - b _0809589A - .align 2, 0 -_080956EC: .4byte gUnknown_02024A6A -_080956F0: .4byte gUnknown_02024A68 -_080956F4: .4byte gPlayerParty -_080956F8: .4byte gStringVar4 -_080956FC: .4byte gOtherText_EGGCantBattle -_08095700: .4byte gTasks -_08095704: .4byte sub_80954C0 -_08095708: - adds r0, r5, 0 - bl sub_8094C20 - ldr r1, _0809574C @ =0x02000000 - ldr r2, _08095750 @ =0x0001609d - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _08095768 - bl sub_806D5A4 - ldr r1, _08095754 @ =gStringVar1 - adds r0, r7, 0 - bl GetMonNickname - ldr r4, _08095758 @ =gStringVar4 - ldr r1, _0809575C @ =gOtherText_AlreadySelected - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _08095760 @ =gTasks - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095764 @ =sub_80954C0 - b _0809589A - .align 2, 0 -_0809574C: .4byte 0x02000000 -_08095750: .4byte 0x0001609d -_08095754: .4byte gStringVar1 -_08095758: .4byte gStringVar4 -_0809575C: .4byte gOtherText_AlreadySelected -_08095760: .4byte gTasks -_08095764: .4byte sub_80954C0 -_08095768: - ldr r0, _08095790 @ =gUnknown_02038473 - ldrb r0, [r0] - cmp r0, 0x4 - bne _080957A0 - bl sub_806D5A4 - bl sub_8040B8C - ldr r0, _08095794 @ =gStringVar4 - movs r1, 0 - bl sub_806E834 - ldr r1, _08095798 @ =gTasks - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809579C @ =sub_80954C0 - b _0809589A - .align 2, 0 -_08095790: .4byte gUnknown_02038473 -_08095794: .4byte gStringVar4 -_08095798: .4byte gTasks -_0809579C: .4byte sub_80954C0 -_080957A0: - cmp r0, 0x2 - bne _08095854 - ldr r0, _080957EC @ =gUnknown_02024E6C - ldrb r4, [r0] - bl sub_806D5A4 - ldr r0, _080957F0 @ =gUnknown_02024A6A - lsls r4, 1 - adds r4, r0 - ldrb r0, [r4] - bl pokemon_order_func - lsls r0, 24 - lsrs r0, 24 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r10 - ldr r1, _080957F4 @ =gStringVar1 - bl GetMonNickname - ldr r4, _080957F8 @ =gStringVar4 - ldr r1, _080957FC @ =gOtherText_CantBeSwitched - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _08095800 @ =gTasks - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095804 @ =sub_80954C0 - b _0809589A - .align 2, 0 -_080957EC: .4byte gUnknown_02024E6C -_080957F0: .4byte gUnknown_02024A6A -_080957F4: .4byte gStringVar1 -_080957F8: .4byte gStringVar4 -_080957FC: .4byte gOtherText_CantBeSwitched -_08095800: .4byte gTasks -_08095804: .4byte sub_80954C0 -_08095808: - bl sub_806D5A4 - movs r0, 0x64 - muls r0, r5 - ldr r1, _0809583C @ =gPlayerParty - adds r0, r1 - ldr r1, _08095840 @ =gStringVar1 - bl GetMonNickname - ldr r4, _08095844 @ =gStringVar4 - ldr r1, _08095848 @ =gOtherText_AlreadyBattle - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r1, _0809584C @ =gTasks - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08095850 @ =sub_80954C0 - b _0809589A - .align 2, 0 -_0809583C: .4byte gPlayerParty -_08095840: .4byte gStringVar1 -_08095844: .4byte gStringVar4 -_08095848: .4byte gOtherText_AlreadyBattle -_0809584C: .4byte gTasks -_08095850: .4byte sub_80954C0 -_08095854: - adds r0, r5, 0 - bl sub_8094C20 - ldr r1, _080958AC @ =gUnknown_0202E8F5 - strb r0, [r1] - ldr r1, _080958B0 @ =gUnknown_0202E8F4 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _080958B4 @ =gUnknown_02024A6A - ldr r0, _080958B8 @ =gUnknown_02024E6C - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - bl pokemon_order_func - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8094C98 - mov r0, r9 - muls r0, r4 - add r0, r10 - adds r1, r7, 0 - bl sub_806E6F0 - ldr r1, _080958BC @ =gTasks - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _080958C0 @ =sub_809527C -_0809589A: - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080958AC: .4byte gUnknown_0202E8F5 -_080958B0: .4byte gUnknown_0202E8F4 -_080958B4: .4byte gUnknown_02024A6A -_080958B8: .4byte gUnknown_02024E6C -_080958BC: .4byte gTasks -_080958C0: .4byte sub_809527C - thumb_func_end BattlePokemonMenu_Shift - - thumb_func_start BattlePokemonMenu_Cancel -BattlePokemonMenu_Cancel: @ 80958C4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl sub_8072DEC - ldr r0, _080958FC @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x10] - ldr r1, _08095900 @ =gUnknown_083B5FF4 - bl sub_806E7D0 - ldrh r0, [r4, 0x12] - strh r0, [r4, 0x10] - movs r0, 0 - movs r1, 0 - bl sub_806D538 - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080958FC: .4byte gTasks -_08095900: .4byte gUnknown_083B5FF4 - thumb_func_end BattlePokemonMenu_Cancel - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/bike.s b/asm/bike.s deleted file mode 100644 index a7e3401ac..000000000 --- a/asm/bike.s +++ /dev/null @@ -1,2211 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start MovePlayerOnBike -MovePlayerOnBike: @ 80E50A8 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, _080E50CC @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E50D0 - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnMachBike - b _080E50D8 - .align 2, 0 -_080E50CC: .4byte gPlayerAvatar -_080E50D0: - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnAcroBike -_080E50D8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end MovePlayerOnBike - - thumb_func_start MovePlayerOnMachBike -MovePlayerOnMachBike: @ 80E50E0 - push {r4,lr} - sub sp, 0x4 - mov r1, sp - strb r0, [r1] - ldr r4, _080E510C @ =gUnknown_083DB594 - mov r0, sp - bl CheckMovementInputMachBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E510C: .4byte gUnknown_083DB594 - thumb_func_end MovePlayerOnMachBike - - thumb_func_start CheckMovementInputMachBike -CheckMovementInputMachBike: @ 80E5110 - push {r4,lr} - adds r4, r0, 0 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - ldrb r1, [r4] - cmp r1, 0 - bne _080E5138 - strb r0, [r4] - ldr r2, _080E5134 @ =gPlayerAvatar - ldrb r0, [r2, 0xB] - cmp r0, 0 - bne _080E514C - strb r1, [r2, 0x2] - movs r0, 0 - b _080E5160 - .align 2, 0 -_080E5134: .4byte gPlayerAvatar -_080E5138: - ldr r2, _080E5154 @ =gPlayerAvatar - cmp r1, r3 - beq _080E515C - ldrb r0, [r2, 0x2] - cmp r0, 0x2 - beq _080E515C - ldrb r0, [r2, 0xB] - cmp r0, 0 - beq _080E5158 - strb r3, [r4] -_080E514C: - movs r0, 0x2 - strb r0, [r2, 0x2] - movs r0, 0x3 - b _080E5160 - .align 2, 0 -_080E5154: .4byte gPlayerAvatar -_080E5158: - movs r0, 0x1 - b _080E515E -_080E515C: - movs r0, 0x2 -_080E515E: - strb r0, [r2, 0x2] -_080E5160: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputMachBike - - thumb_func_start sub_80E5168 -sub_80E5168: @ 80E5168 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - bl sub_80E6024 - pop {r0} - bx r0 - thumb_func_end sub_80E5168 - - thumb_func_start sub_80E517C -sub_80E517C: @ 80E517C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080E51AC @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E51B0 @ =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - beq _080E51B4 - adds r0, r5, 0 - bl PlayerTurnInPlace - bl sub_80E6024 - b _080E51BE - .align 2, 0 -_080E51AC: .4byte gPlayerAvatar -_080E51B0: .4byte gMapObjects -_080E51B4: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_80E5168 -_080E51BE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E517C - - thumb_func_start sub_80E51C4 -sub_80E51C4: @ 80E51C4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r6, _080E51F8 @ =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E51FC @ =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E520A - ldrb r0, [r6, 0xB] - cmp r0, 0 - beq _080E5200 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_80E5270 - b _080E5266 - .align 2, 0 -_080E51F8: .4byte gPlayerAvatar -_080E51FC: .4byte gMapObjects -_080E5200: - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_80E5168 - b _080E5266 -_080E520A: - adds r0, r5, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E5242 - cmp r4, 0x6 - bne _080E522C - adds r0, r5, 0 - bl PlayerJumpLedge - b _080E5266 -_080E522C: - bl sub_80E6024 - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080E5266 - adds r0, r5, 0 - bl PlayerOnBikeCollide - b _080E5266 -_080E5242: - ldr r1, _080E526C @ =gUnknown_083DB5A4 - ldrb r0, [r6, 0xA] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r7, 0 - bl _call_via_r1 - ldrb r2, [r6, 0xA] - lsls r0, r2, 24 - lsrs r1, r0, 24 - lsrs r0, 25 - adds r0, r2, r0 - strb r0, [r6, 0xB] - cmp r1, 0x1 - bhi _080E5266 - adds r0, r2, 0x1 - strb r0, [r6, 0xA] -_080E5266: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E526C: .4byte gUnknown_083DB5A4 - thumb_func_end sub_80E51C4 - - thumb_func_start sub_80E5270 -sub_80E5270: @ 80E5270 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - ldr r6, _080E52A8 @ =gPlayerAvatar - ldrb r0, [r6, 0xB] - cmp r0, 0 - beq _080E5286 - subs r0, 0x1 - strb r0, [r6, 0xB] - strb r0, [r6, 0xA] -_080E5286: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E52C2 - cmp r5, 0x6 - bne _080E52AC - adds r0, r4, 0 - bl PlayerJumpLedge - b _080E52D2 - .align 2, 0 -_080E52A8: .4byte gPlayerAvatar -_080E52AC: - bl sub_80E6024 - subs r0, r5, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080E52D2 - adds r0, r4, 0 - bl PlayerOnBikeCollide - b _080E52D2 -_080E52C2: - ldr r0, _080E52D8 @ =gUnknown_083DB5A4 - ldrb r1, [r6, 0xA] - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r7, 0 - bl _call_via_r1 -_080E52D2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E52D8: .4byte gUnknown_083DB5A4 - thumb_func_end sub_80E5270 - - thumb_func_start MovePlayerOnAcroBike -MovePlayerOnAcroBike: @ 80E52DC - push {r4,lr} - sub sp, 0x4 - mov r3, sp - strb r0, [r3] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080E5310 @ =gUnknown_083DB5B0 - mov r0, sp - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5310: .4byte gUnknown_083DB5B0 - thumb_func_end MovePlayerOnAcroBike - - thumb_func_start CheckMovementInputAcroBike -CheckMovementInputAcroBike: @ 80E5314 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080E5338 @ =gUnknown_083DB5E4 - ldr r3, _080E533C @ =gPlayerAvatar - ldrb r3, [r3, 0x8] - lsls r3, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080E5338: .4byte gUnknown_083DB5E4 -_080E533C: .4byte gPlayerAvatar - thumb_func_end CheckMovementInputAcroBike - - thumb_func_start CheckMovementInputAcroBikeNormal -CheckMovementInputAcroBikeNormal: @ 80E5340 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080E5374 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r2, 0xA] - ldrb r1, [r4] - cmp r1, 0 - bne _080E5380 - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _080E5378 - strb r3, [r4] - strb r1, [r2, 0x2] - movs r0, 0x2 - strb r0, [r2, 0x8] - movs r0, 0x3 - b _080E53D4 - .align 2, 0 -_080E5374: .4byte gPlayerAvatar -_080E5378: - strb r3, [r4] - strb r1, [r2, 0x2] - movs r0, 0 - b _080E53D4 -_080E5380: - cmp r1, r3 - bne _080E53A6 - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _080E539E - ldrb r0, [r2, 0xB] - cmp r0, 0 - bne _080E539E - adds r0, 0x1 - strb r0, [r2, 0xB] - movs r0, 0x4 - strb r0, [r2, 0x8] - movs r0, 0xB - b _080E53D4 -_080E539E: - ldrb r0, [r4] - ldr r2, _080E53CC @ =gPlayerAvatar - cmp r0, r3 - beq _080E53D0 -_080E53A6: - ldr r0, _080E53CC @ =gPlayerAvatar - ldrb r1, [r0, 0x2] - adds r2, r0, 0 - cmp r1, 0x2 - beq _080E53D0 - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x8] - ldrb r0, [r4] - strb r0, [r2, 0x9] - strb r1, [r2, 0x2] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _080E53D4 - .align 2, 0 -_080E53CC: .4byte gPlayerAvatar -_080E53D0: - movs r0, 0x2 - strb r0, [r2, 0x2] -_080E53D4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeNormal - - thumb_func_start CheckMovementInputAcroBikeChangingDirection -CheckMovementInputAcroBikeChangingDirection: @ 80E53DC - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _080E5404 @ =gPlayerAvatar - ldrb r0, [r4, 0x9] - strb r0, [r5] - ldrb r0, [r4, 0xA] - adds r0, 0x1 - strb r0, [r4, 0xA] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bls _080E5408 - movs r0, 0x1 - strb r0, [r4, 0x2] - movs r0, 0 - strb r0, [r4, 0x8] - bl sub_80E6024 - movs r0, 0x1 - b _080E544E - .align 2, 0 -_080E5404: .4byte gPlayerAvatar -_080E5408: - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_80E5C2C - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _080E544A - bl sub_80E6024 - movs r0, 0x1 - strb r0, [r4, 0xB] - adds r0, r6, 0 - bl GetOppositeDirection - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _080E543E - movs r0, 0x6 - strb r0, [r4, 0x8] - movs r0, 0x9 - b _080E544E -_080E543E: - movs r0, 0x2 - strb r0, [r4, 0x2] - movs r0, 0x5 - strb r0, [r4, 0x8] - movs r0, 0x8 - b _080E544E -_080E544A: - strb r6, [r5] - movs r0, 0 -_080E544E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeChangingDirection - - thumb_func_start CheckMovementInputAcroBikeStandingWheelie -CheckMovementInputAcroBikeStandingWheelie: @ 80E5454 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r4, r2, 16 - lsrs r4, 16 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080E54A0 @ =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E54A4 @ =gMapObjects - adds r1, r0, r1 - movs r0, 0 - strb r0, [r5, 0x2] - movs r0, 0x2 - ands r4, r0 - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0 - bne _080E54A8 - strb r4, [r5, 0xA] - ldrb r0, [r1, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080E54AE - strb r6, [r7] - strb r0, [r5, 0x8] - bl sub_80E6024 - movs r0, 0x4 - b _080E54EC - .align 2, 0 -_080E54A0: .4byte gPlayerAvatar -_080E54A4: .4byte gMapObjects -_080E54A8: - ldrb r0, [r5, 0xA] - adds r0, 0x1 - strb r0, [r5, 0xA] -_080E54AE: - ldr r1, _080E54C4 @ =gPlayerAvatar - ldrb r0, [r1, 0xA] - cmp r0, 0x27 - bls _080E54C8 - strb r6, [r7] - movs r0, 0x3 - strb r0, [r1, 0x8] - bl sub_80E6024 - movs r0, 0x6 - b _080E54EC - .align 2, 0 -_080E54C4: .4byte gPlayerAvatar -_080E54C8: - ldrb r0, [r7] - cmp r0, r6 - bne _080E54DE - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x4 - strb r0, [r1, 0x8] - bl sub_80E6024 - movs r0, 0xA - b _080E54EC -_080E54DE: - cmp r0, 0 - beq _080E54E8 - movs r0, 0x1 - strb r0, [r1, 0x2] - b _080E54EA -_080E54E8: - strb r6, [r7] -_080E54EA: - movs r0, 0x5 -_080E54EC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeStandingWheelie - - thumb_func_start CheckMovementInputAcroBikeBunnyHop -CheckMovementInputAcroBikeBunnyHop: @ 80E54F4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r4, _080E5554 @ =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5558 @ =gMapObjects - adds r7, r0, r1 - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _080E5566 - bl sub_80E6024 - ldrb r0, [r7, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080E555C - movs r0, 0x2 - strb r0, [r4, 0x8] - adds r0, r6, 0 - mov r1, r9 - mov r2, r8 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _080E558A - .align 2, 0 -_080E5554: .4byte gPlayerAvatar -_080E5558: .4byte gMapObjects -_080E555C: - strb r5, [r6] - strb r0, [r4, 0x2] - strb r0, [r4, 0x8] - movs r0, 0x4 - b _080E558A -_080E5566: - ldrb r0, [r6] - cmp r0, 0 - bne _080E5570 - strb r5, [r6] - b _080E557C -_080E5570: - cmp r0, r2 - beq _080E5582 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _080E5582 - movs r0, 0x1 -_080E557C: - strb r0, [r4, 0x2] - movs r0, 0x6 - b _080E558A -_080E5582: - ldr r1, _080E5598 @ =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x7 -_080E558A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080E5598: .4byte gPlayerAvatar - thumb_func_end CheckMovementInputAcroBikeBunnyHop - - thumb_func_start CheckMovementInputAcroBikeMovingWheelie -CheckMovementInputAcroBikeMovingWheelie: @ 80E559C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r4, _080E55F8 @ =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E55FC @ =gMapObjects - adds r7, r0, r1 - movs r0, 0x2 - mov r9, r0 - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _080E5634 - bl sub_80E6024 - ldrb r0, [r7, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080E5620 - strb r1, [r4, 0x8] - ldrb r0, [r6] - cmp r0, 0 - bne _080E5600 - strb r5, [r6] - b _080E560A - .align 2, 0 -_080E55F8: .4byte gPlayerAvatar -_080E55FC: .4byte gMapObjects -_080E5600: - cmp r0, r5 - beq _080E5610 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _080E5610 -_080E560A: - strb r1, [r4, 0x2] - movs r0, 0x4 - b _080E5664 -_080E5610: - ldr r1, _080E561C @ =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xC - b _080E5664 - .align 2, 0 -_080E561C: .4byte gPlayerAvatar -_080E5620: - mov r0, r9 - strb r0, [r4, 0x8] - adds r0, r6, 0 - mov r1, r10 - mov r2, r8 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _080E5664 -_080E5634: - ldrb r0, [r6] - cmp r0, 0 - bne _080E564A - strb r5, [r6] - mov r1, r9 - strb r1, [r4, 0x8] - strb r0, [r4, 0x2] - bl sub_80E6024 - movs r0, 0x5 - b _080E5664 -_080E564A: - cmp r2, r0 - beq _080E565C - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _080E565C - movs r0, 0 - strb r0, [r4, 0x2] - movs r0, 0x5 - b _080E5664 -_080E565C: - ldr r1, _080E5674 @ =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xA -_080E5664: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080E5674: .4byte gPlayerAvatar - thumb_func_end CheckMovementInputAcroBikeMovingWheelie - - thumb_func_start CheckMovementInputAcroBikeUnknownMode5 -CheckMovementInputAcroBikeUnknownMode5: @ 80E5678 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _080E56CC @ =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E56D0 @ =gMapObjects - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r0, 0x18] - lsls r1, 28 - lsrs r1, 28 - bl FieldObjectSetDirection - movs r0, 0 - strb r0, [r6, 0x8] - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080E56CC: .4byte gPlayerAvatar -_080E56D0: .4byte gMapObjects - thumb_func_end CheckMovementInputAcroBikeUnknownMode5 - - thumb_func_start CheckMovementInputAcroBikeUnknownMode6 -CheckMovementInputAcroBikeUnknownMode6: @ 80E56D4 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080E56F4 @ =gPlayerAvatar - movs r3, 0 - strb r3, [r4, 0x8] - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080E56F4: .4byte gPlayerAvatar - thumb_func_end CheckMovementInputAcroBikeUnknownMode6 - - thumb_func_start sub_80E56F8 -sub_80E56F8: @ 80E56F8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - pop {r0} - bx r0 - thumb_func_end sub_80E56F8 - - thumb_func_start sub_80E5708 -sub_80E5708: @ 80E5708 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E573C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5740 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E572E - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080E572E: - adds r0, r4, 0 - bl PlayerFaceDirection - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E573C: .4byte gPlayerAvatar -_080E5740: .4byte gMapObjects - thumb_func_end sub_80E5708 - - thumb_func_start sub_80E5744 -sub_80E5744: @ 80E5744 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r0, _080E5774 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5778 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E577C - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_80E56F8 - b _080E57B6 - .align 2, 0 -_080E5774: .4byte gPlayerAvatar -_080E5778: .4byte gMapObjects -_080E577C: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E57B0 - cmp r1, 0x6 - bne _080E579E - adds r0, r4, 0 - bl PlayerJumpLedge - b _080E57B6 -_080E579E: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080E57B6 - adds r0, r4, 0 - bl PlayerOnBikeCollide - b _080E57B6 -_080E57B0: - adds r0, r6, 0 - bl npc_use_some_d2s -_080E57B6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E5744 - - thumb_func_start sub_80E57BC -sub_80E57BC: @ 80E57BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E57F0 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E57F4 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E57E2 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080E57E2: - adds r0, r4, 0 - bl sub_805951C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E57F0: .4byte gPlayerAvatar -_080E57F4: .4byte gMapObjects - thumb_func_end sub_80E57BC - - thumb_func_start sub_80E57F8 -sub_80E57F8: @ 80E57F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E582C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5830 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E581E - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080E581E: - adds r0, r4, 0 - bl sub_8059534 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E582C: .4byte gPlayerAvatar -_080E5830: .4byte gMapObjects - thumb_func_end sub_80E57F8 - - thumb_func_start sub_80E5834 -sub_80E5834: @ 80E5834 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E5868 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E586C @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E585A - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080E585A: - adds r0, r4, 0 - bl sub_8059504 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E5868: .4byte gPlayerAvatar -_080E586C: .4byte gMapObjects - thumb_func_end sub_80E5834 - - thumb_func_start sub_80E5870 -sub_80E5870: @ 80E5870 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E58A4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E58A8 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E5896 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080E5896: - adds r0, r4, 0 - bl sub_805954C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E58A4: .4byte gPlayerAvatar -_080E58A8: .4byte gMapObjects - thumb_func_end sub_80E5870 - - thumb_func_start sub_80E58AC -sub_80E58AC: @ 80E58AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E58D8 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E58DC @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E58E0 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_80E5870 - b _080E591A - .align 2, 0 -_080E58D8: .4byte gPlayerAvatar -_080E58DC: .4byte gMapObjects -_080E58E0: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080E5914 - cmp r1, 0x9 - beq _080E5914 - cmp r1, 0x6 - bne _080E58FE - adds r0, r4, 0 - bl sub_8059594 - b _080E591A -_080E58FE: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080E591A - cmp r1, 0xB - bhi _080E5914 - adds r0, r4, 0 - bl sub_80E5870 - b _080E591A -_080E5914: - adds r0, r4, 0 - bl sub_8059570 -_080E591A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E58AC - - thumb_func_start sub_80E5920 -sub_80E5920: @ 80E5920 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - beq _080E5954 - cmp r0, 0x7 - beq _080E5980 - cmp r0, 0x9 - bls _080E594C - adds r0, r1, 0 - adds r1, r5, 0 - bl sub_80E5EC0 - lsls r0, 24 - cmp r0, 0 - bne _080E5954 -_080E594C: - adds r0, r5, 0 - bl sub_80E5708 - b _080E5980 -_080E5954: - ldr r0, _080E5988 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _080E598C @ =gMapObjects - adds r4, r0 - movs r0, 0x22 - bl PlaySE - ldrb r0, [r4, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r5, 0 - bl sub_80608A4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl player_npc_set_state_and_x22_etc -_080E5980: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E5988: .4byte gPlayerAvatar -_080E598C: .4byte gMapObjects - thumb_func_end sub_80E5920 - - thumb_func_start sub_80E5990 -sub_80E5990: @ 80E5990 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80595B8 - pop {r0} - bx r0 - thumb_func_end sub_80E5990 - - thumb_func_start sub_80E59A0 -sub_80E59A0: @ 80E59A0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r7, _080E59D0 @ =gPlayerAvatar - ldrb r1, [r7, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E59D4 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E59D8 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_8059504 - b _080E5A28 - .align 2, 0 -_080E59D0: .4byte gPlayerAvatar -_080E59D4: .4byte gMapObjects -_080E59D8: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E5A1E - cmp r1, 0x6 - bne _080E59FA - adds r0, r4, 0 - bl sub_8059594 - b _080E5A28 -_080E59FA: - cmp r1, 0x9 - beq _080E5A0E - cmp r1, 0x4 - bhi _080E5A28 - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _080E5A16 -_080E5A0E: - adds r0, r4, 0 - bl sub_8059504 - b _080E5A28 -_080E5A16: - adds r0, r4, 0 - bl sub_80595DC - b _080E5A28 -_080E5A1E: - adds r0, r6, 0 - bl sub_8059618 - movs r0, 0x2 - strb r0, [r7, 0x2] -_080E5A28: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E59A0 - - thumb_func_start sub_80E5A30 -sub_80E5A30: @ 80E5A30 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r7, _080E5A60 @ =gPlayerAvatar - ldrb r1, [r7, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5A64 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E5A68 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_805951C - b _080E5AB8 - .align 2, 0 -_080E5A60: .4byte gPlayerAvatar -_080E5A64: .4byte gMapObjects -_080E5A68: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E5AAE - cmp r1, 0x6 - bne _080E5A8A - adds r0, r4, 0 - bl sub_8059594 - b _080E5AB8 -_080E5A8A: - cmp r1, 0x9 - beq _080E5A9E - cmp r1, 0x4 - bhi _080E5AB8 - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _080E5AA6 -_080E5A9E: - adds r0, r4, 0 - bl sub_8059504 - b _080E5AB8 -_080E5AA6: - adds r0, r4, 0 - bl sub_80595DC - b _080E5AB8 -_080E5AAE: - adds r0, r6, 0 - bl sub_8059600 - movs r0, 0x2 - strb r0, [r7, 0x2] -_080E5AB8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E5A30 - - thumb_func_start sub_80E5AC0 -sub_80E5AC0: @ 80E5AC0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r0, _080E5AF0 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5AF4 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E5AF8 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_8059534 - b _080E5B32 - .align 2, 0 -_080E5AF0: .4byte gPlayerAvatar -_080E5AF4: .4byte gMapObjects -_080E5AF8: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E5B2C - cmp r1, 0x6 - bne _080E5B1A - adds r0, r4, 0 - bl PlayerJumpLedge - b _080E5B32 -_080E5B1A: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080E5B32 - adds r0, r4, 0 - bl sub_8059534 - b _080E5B32 -_080E5B2C: - adds r0, r6, 0 - bl sub_8059630 -_080E5B32: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E5AC0 - - thumb_func_start sub_80E5B38 -sub_80E5B38: @ 80E5B38 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r2, r1, 16 - ldr r0, _080E5B5C @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E5B56 - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_80E5B60 -_080E5B56: - pop {r0} - bx r0 - .align 2, 0 -_080E5B5C: .4byte gPlayerAvatar - thumb_func_end sub_80E5B38 - - thumb_func_start sub_80E5B60 -sub_80E5B60: @ 80E5B60 - push {r4,r5,lr} - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r5, 0 - bl sub_80E5CF4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r4, _080E5B88 @ =gPlayerAvatar - ldr r0, [r4, 0xC] - movs r1, 0xF - ands r0, r1 - cmp r2, r0 - bne _080E5B8C - ldrb r0, [r4, 0x14] - cmp r0, 0xFE - bhi _080E5B96 - adds r0, 0x1 - strb r0, [r4, 0x14] - b _080E5B96 - .align 2, 0 -_080E5B88: .4byte gPlayerAvatar -_080E5B8C: - adds r0, r2, 0 - bl sub_80E5C7C - movs r0, 0 - strb r0, [r4, 0xB] -_080E5B96: - movs r0, 0xF - adds r2, r5, 0 - ands r2, r0 - ldr r4, _080E5BB4 @ =gPlayerAvatar - ldr r0, [r4, 0x10] - movs r1, 0xF - ands r0, r1 - cmp r2, r0 - bne _080E5BB8 - ldrb r0, [r4, 0x1C] - cmp r0, 0xFE - bhi _080E5BC2 - adds r0, 0x1 - strb r0, [r4, 0x1C] - b _080E5BC2 - .align 2, 0 -_080E5BB4: .4byte gPlayerAvatar -_080E5BB8: - adds r0, r2, 0 - bl sub_80E5CB8 - movs r0, 0 - strb r0, [r4, 0xB] -_080E5BC2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E5B60 - - thumb_func_start sub_80E5BC8 -sub_80E5BC8: @ 80E5BC8 - push {r4,r5,lr} - adds r3, r0, 0 - adds r4, r1, 0 - movs r2, 0 - ldrb r0, [r3] - cmp r0, 0 - beq _080E5BF2 - ldr r5, _080E5C0C @ =gUnknown_0202E86C -_080E5BD8: - adds r0, r2, r5 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bhi _080E5C08 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080E5BD8 -_080E5BF2: - movs r2, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _080E5C22 - ldr r3, _080E5C10 @ =gUnknown_0202E874 -_080E5BFC: - adds r0, r2, r3 - adds r1, r4, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5C14 -_080E5C08: - movs r0, 0 - b _080E5C24 - .align 2, 0 -_080E5C0C: .4byte gUnknown_0202E86C -_080E5C10: .4byte gUnknown_0202E874 -_080E5C14: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080E5BFC -_080E5C22: - movs r0, 0x1 -_080E5C24: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E5BC8 - - thumb_func_start sub_80E5C2C -sub_80E5C2C: @ 80E5C2C - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 -_080E5C32: - ldr r0, _080E5C64 @ =gUnknown_083DB608 - adds r4, r5, r0 - ldr r0, _080E5C68 @ =gPlayerAvatar - ldr r1, [r0, 0xC] - ldr r2, [r0, 0x10] - ldr r0, [r4, 0x8] - ands r1, r0 - ldr r0, [r4, 0xC] - ands r2, r0 - ldr r0, [r4] - cmp r1, r0 - bne _080E5C6C - ldr r0, [r4, 0x4] - cmp r2, r0 - bne _080E5C6C - ldr r0, [r4, 0x10] - ldr r1, [r4, 0x14] - bl sub_80E5BC8 - lsls r0, 24 - cmp r0, 0 - beq _080E5C6C - ldrb r0, [r4, 0x18] - b _080E5C76 - .align 2, 0 -_080E5C64: .4byte gUnknown_083DB608 -_080E5C68: .4byte gPlayerAvatar -_080E5C6C: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - bls _080E5C32 - movs r0, 0 -_080E5C76: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80E5C2C - - thumb_func_start sub_80E5C7C -sub_80E5C7C: @ 80E5C7C - push {r4,lr} - lsls r0, 24 - ldr r3, _080E5CB4 @ =gPlayerAvatar - ldr r2, [r3, 0xC] - lsls r2, 4 - movs r1, 0xF0 - lsls r1, 20 - ands r1, r0 - lsrs r1, 24 - orrs r2, r1 - str r2, [r3, 0xC] - movs r1, 0x7 - adds r4, r3, 0 - adds r3, 0x14 -_080E5C98: - adds r2, r1, r3 - subs r1, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _080E5C98 - movs r0, 0x1 - strb r0, [r4, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5CB4: .4byte gPlayerAvatar - thumb_func_end sub_80E5C7C - - thumb_func_start sub_80E5CB8 -sub_80E5CB8: @ 80E5CB8 - push {r4,lr} - lsls r0, 24 - ldr r3, _080E5CF0 @ =gPlayerAvatar - ldr r2, [r3, 0x10] - lsls r2, 4 - movs r1, 0xF0 - lsls r1, 20 - ands r1, r0 - lsrs r1, 24 - orrs r2, r1 - str r2, [r3, 0x10] - movs r1, 0x7 - adds r4, r3, 0 - adds r3, 0x1C -_080E5CD4: - adds r2, r1, r3 - subs r1, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _080E5CD4 - movs r0, 0x1 - strb r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5CF0: .4byte gPlayerAvatar - thumb_func_end sub_80E5CB8 - - thumb_func_start sub_80E5CF4 -sub_80E5CF4: @ 80E5CF4 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080E5D08 - movs r0, 0x2 - b _080E5D2E -_080E5D08: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080E5D14 - movs r0, 0x1 - b _080E5D2E -_080E5D14: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080E5D20 - movs r0, 0x3 - b _080E5D2E -_080E5D20: - movs r0, 0x10 - ands r2, r0 - cmp r2, 0 - bne _080E5D2C - movs r0, 0 - b _080E5D2E -_080E5D2C: - movs r0, 0x4 -_080E5D2E: - pop {r1} - bx r1 - thumb_func_end sub_80E5CF4 - - thumb_func_start sub_80E5D34 -sub_80E5D34: @ 80E5D34 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _080E5D98 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _080E5D9C @ =gMapObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_80E5DA0 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080E5D98: .4byte gPlayerAvatar -_080E5D9C: .4byte gMapObjects - thumb_func_end sub_80E5D34 - - thumb_func_start sub_80E5DA0 -sub_80E5DA0: @ 80E5DA0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - adds r5, r4, 0 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - str r5, [sp] - bl CheckForFieldObjectCollision - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bhi _080E5DE0 - cmp r4, 0 - bne _080E5DDC - adds r0, r5, 0 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - beq _080E5DD8 - movs r4, 0x2 -_080E5DD8: - cmp r4, 0 - beq _080E5DE0 -_080E5DDC: - bl sub_80E5E4C -_080E5DE0: - adds r0, r4, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E5DA0 - - thumb_func_start sub_80E5DEC -sub_80E5DEC: @ 80E5DEC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - bne _080E5E04 - ldr r0, _080E5E08 @ =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x8 - bne _080E5E0C -_080E5E04: - movs r0, 0x1 - b _080E5E0E - .align 2, 0 -_080E5E08: .4byte gMapHeader -_080E5E0C: - movs r0, 0 -_080E5E0E: - pop {r1} - bx r1 - thumb_func_end sub_80E5DEC - - thumb_func_start IsRunningDisallowedByMetatile -IsRunningDisallowedByMetatile: @ 80E5E14 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsRunningDisallowed - lsls r0, 24 - cmp r0, 0 - bne _080E5E3E - adds r0, r4, 0 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - cmp r0, 0 - beq _080E5E42 - bl PlayerGetZCoord - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080E5E42 -_080E5E3E: - movs r0, 0x1 - b _080E5E44 -_080E5E42: - movs r0, 0 -_080E5E44: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsRunningDisallowedByMetatile - - thumb_func_start sub_80E5E4C -sub_80E5E4C: @ 80E5E4C - push {lr} - ldr r0, _080E5E68 @ =gUnknown_02039250 - ldrb r0, [r0] - cmp r0, 0 - beq _080E5E62 - ldr r1, _080E5E6C @ =gUnknown_02039251 - ldrb r0, [r1] - cmp r0, 0x63 - bhi _080E5E62 - adds r0, 0x1 - strb r0, [r1] -_080E5E62: - pop {r0} - bx r0 - .align 2, 0 -_080E5E68: .4byte gUnknown_02039250 -_080E5E6C: .4byte gUnknown_02039251 - thumb_func_end sub_80E5E4C - - thumb_func_start sub_80E5E70 -sub_80E5E70: @ 80E5E70 - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - movs r1, 0xFD - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080E5E9A - adds r0, r4, 0 - bl MetatileBehavior_IsIsolatedVerticalRail - lsls r0, 24 - cmp r0, 0 - bne _080E5EB2 - adds r0, r4, 0 - bl MetatileBehavior_IsVerticalRail - b _080E5EAC -_080E5E9A: - adds r0, r5, 0 - bl MetatileBehavior_IsIsolatedHorizontalRail - lsls r0, 24 - cmp r0, 0 - bne _080E5EB2 - adds r0, r5, 0 - bl MetatileBehavior_IsHorizontalRail -_080E5EAC: - lsls r0, 24 - cmp r0, 0 - beq _080E5EB6 -_080E5EB2: - movs r0, 0 - b _080E5EB8 -_080E5EB6: - movs r0, 0x1 -_080E5EB8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E5E70 - - thumb_func_start sub_80E5EC0 -sub_80E5EC0: @ 80E5EC0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - movs r3, 0xFF - lsls r3, 24 - adds r1, r3 - lsrs r1, 24 - cmp r1, 0x1 - bhi _080E5EE0 - cmp r0, 0xA - beq _080E5EE8 - cmp r0, 0xC - bne _080E5EEC - b _080E5EE8 -_080E5EE0: - cmp r2, 0xB - beq _080E5EE8 - cmp r2, 0xD - bne _080E5EEC -_080E5EE8: - movs r0, 0 - b _080E5EEE -_080E5EEC: - movs r0, 0x1 -_080E5EEE: - pop {r1} - bx r1 - thumb_func_end sub_80E5EC0 - - thumb_func_start IsBikingDisallowedByPlayer -IsBikingDisallowedByPlayer: @ 80E5EF4 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080E5F30 @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - bne _080E5F34 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - bne _080E5F34 - movs r0, 0 - b _080E5F36 - .align 2, 0 -_080E5F30: .4byte gPlayerAvatar -_080E5F34: - movs r0, 0x1 -_080E5F36: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsBikingDisallowedByPlayer - - thumb_func_start player_should_look_direction_be_enforced_upon_movement -player_should_look_direction_be_enforced_upon_movement: @ 80E5F40 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080E5F74 - ldr r2, _080E5F6C @ =gMapObjects - ldr r0, _080E5F70 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _080E5F74 - movs r0, 0 - b _080E5F76 - .align 2, 0 -_080E5F6C: .4byte gMapObjects -_080E5F70: .4byte gPlayerAvatar -_080E5F74: - movs r0, 0x1 -_080E5F76: - pop {r1} - bx r1 - thumb_func_end player_should_look_direction_be_enforced_upon_movement - - thumb_func_start GetOnOffBike -GetOnOffBike: @ 80E5F7C - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080E5FA4 @ =gUnknown_0202E854 - movs r0, 0 - strb r0, [r1] - ldr r0, _080E5FA8 @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _080E5FAC - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - bl sav1_reset_battle_music_maybe - bl sub_8053E90 - b _080E5FC0 - .align 2, 0 -_080E5FA4: .4byte gUnknown_0202E854 -_080E5FA8: .4byte gPlayerAvatar -_080E5FAC: - adds r0, r2, 0 - bl SetPlayerAvatarTransitionFlags - ldr r4, _080E5FC8 @ =0x00000193 - adds r0, r4, 0 - bl sav1_set_battle_music_maybe - adds r0, r4, 0 - bl sub_8053FB0 -_080E5FC0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5FC8: .4byte 0x00000193 - thumb_func_end GetOnOffBike - - thumb_func_start sub_80E5FCC -sub_80E5FCC: @ 80E5FCC - push {lr} - ldr r2, _080E6008 @ =gPlayerAvatar - movs r3, 0 - strb r3, [r2, 0x8] - strb r3, [r2, 0x9] - strb r3, [r2, 0xA] - strb r3, [r2, 0xB] - str r0, [r2, 0xC] - str r1, [r2, 0x10] - movs r1, 0 - adds r2, 0x14 -_080E5FE2: - adds r0, r1, r2 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _080E5FE2 - movs r1, 0 - ldr r3, _080E600C @ =gUnknown_0202E874 - movs r2, 0 -_080E5FF6: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _080E5FF6 - pop {r0} - bx r0 - .align 2, 0 -_080E6008: .4byte gPlayerAvatar -_080E600C: .4byte gUnknown_0202E874 - thumb_func_end sub_80E5FCC - - thumb_func_start sub_80E6010 -sub_80E6010: @ 80E6010 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080E6020 @ =gPlayerAvatar - strb r0, [r2, 0xA] - lsrs r1, r0, 1 - adds r0, r1 - strb r0, [r2, 0xB] - bx lr - .align 2, 0 -_080E6020: .4byte gPlayerAvatar - thumb_func_end sub_80E6010 - - thumb_func_start sub_80E6024 -sub_80E6024: @ 80E6024 - ldr r1, _080E6030 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0xA] - strb r0, [r1, 0xB] - bx lr - .align 2, 0 -_080E6030: .4byte gPlayerAvatar - thumb_func_end sub_80E6024 - - thumb_func_start sub_80E6034 -sub_80E6034: @ 80E6034 - push {lr} - sub sp, 0x8 - ldr r1, _080E605C @ =gUnknown_083DB600 - mov r0, sp - movs r2, 0x6 - bl memcpy - ldr r2, _080E6060 @ =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E6064 - ldrb r0, [r2, 0xA] - lsls r0, 1 - add r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - b _080E607E - .align 2, 0 -_080E605C: .4byte gUnknown_083DB600 -_080E6060: .4byte gPlayerAvatar -_080E6064: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E6070 - movs r0, 0x3 - b _080E607E -_080E6070: - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - bne _080E607C - movs r0, 0x1 - b _080E607E -_080E607C: - movs r0, 0x2 -_080E607E: - add sp, 0x8 - pop {r1} - bx r1 - thumb_func_end sub_80E6034 - - thumb_func_start sub_80E6084 -sub_80E6084: @ 80E6084 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080E60D4 @ =gPlayerAvatar - ldrb r1, [r5] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E60CC - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _080E60CC - movs r0, 0x2 - strb r0, [r5, 0x8] - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - bl sub_8059C94 -_080E60CC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E60D4: .4byte gPlayerAvatar - thumb_func_end sub_80E6084 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/braille_puzzles.s b/asm/braille_puzzles.s deleted file mode 100644 index f8f2683a6..000000000 --- a/asm/braille_puzzles.s +++ /dev/null @@ -1,606 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start ShouldDoBrailleDigEffect -ShouldDoBrailleDigEffect: @ 81473B8 - push {lr} - ldr r0, _081473E8 @ =0x0000084f - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08147400 - ldr r2, _081473EC @ =gSaveBlock1 - ldrh r1, [r2, 0x4] - ldr r0, _081473F0 @ =0x00004718 - cmp r1, r0 - bne _08147400 - ldr r1, [r2] - ldr r0, _081473F4 @ =0x0003000a - cmp r1, r0 - beq _081473E4 - ldr r0, _081473F8 @ =0x00030009 - cmp r1, r0 - beq _081473E4 - ldr r0, _081473FC @ =0x0003000b - cmp r1, r0 - bne _08147400 -_081473E4: - movs r0, 0x1 - b _08147402 - .align 2, 0 -_081473E8: .4byte 0x0000084f -_081473EC: .4byte gSaveBlock1 -_081473F0: .4byte 0x00004718 -_081473F4: .4byte 0x0003000a -_081473F8: .4byte 0x00030009 -_081473FC: .4byte 0x0003000b -_08147400: - movs r0, 0 -_08147402: - pop {r1} - bx r1 - thumb_func_end ShouldDoBrailleDigEffect - - thumb_func_start DoBrailleDigEffect -DoBrailleDigEffect: @ 8147408 - push {lr} - ldr r2, _08147460 @ =0x0000022a - movs r0, 0x10 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _08147464 @ =0x0000022b - movs r0, 0x11 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0x8B - lsls r2, 2 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _08147468 @ =0x00000e32 - movs r0, 0x10 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - ldr r2, _0814746C @ =0x00000233 - movs r0, 0x11 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - ldr r2, _08147470 @ =0x00000e34 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - movs r0, 0x14 - bl PlaySE - ldr r0, _08147474 @ =0x0000084f - bl FlagSet - bl ScriptContext2_Disable - pop {r0} - bx r0 - .align 2, 0 -_08147460: .4byte 0x0000022a -_08147464: .4byte 0x0000022b -_08147468: .4byte 0x00000e32 -_0814746C: .4byte 0x00000233 -_08147470: .4byte 0x00000e34 -_08147474: .4byte 0x0000084f - thumb_func_end DoBrailleDigEffect - - thumb_func_start CheckRelicanthWailord -CheckRelicanthWailord: @ 8147478 - push {r4,lr} - ldr r4, _081474B4 @ =gPlayerParty - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - ldr r1, _081474B8 @ =0x0000017d - cmp r0, r1 - bne _081474C0 - bl CalculatePlayerPartyCount - ldr r0, _081474BC @ =gPlayerPartyCount - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - adds r1, r4, 0 - subs r1, 0x64 - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0x9D - lsls r1, 1 - cmp r0, r1 - bne _081474C0 - movs r0, 0x1 - b _081474C2 - .align 2, 0 -_081474B4: .4byte gPlayerParty -_081474B8: .4byte 0x0000017d -_081474BC: .4byte gPlayerPartyCount -_081474C0: - movs r0, 0 -_081474C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CheckRelicanthWailord - - thumb_func_start ShouldDoBrailleStrengthEffect -ShouldDoBrailleStrengthEffect: @ 81474C8 - push {lr} - movs r0, 0x85 - lsls r0, 4 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0814750C - ldr r2, _081474FC @ =gSaveBlock1 - ldrh r1, [r2, 0x4] - movs r0, 0xC3 - lsls r0, 3 - cmp r1, r0 - bne _0814750C - ldr r1, [r2] - ldr r0, _08147500 @ =0x0017000a - cmp r1, r0 - beq _081474F8 - ldr r0, _08147504 @ =0x00170009 - cmp r1, r0 - beq _081474F8 - ldr r0, _08147508 @ =0x0017000b - cmp r1, r0 - bne _0814750C -_081474F8: - movs r0, 0x1 - b _0814750E - .align 2, 0 -_081474FC: .4byte gSaveBlock1 -_08147500: .4byte 0x0017000a -_08147504: .4byte 0x00170009 -_08147508: .4byte 0x0017000b -_0814750C: - movs r0, 0 -_0814750E: - pop {r1} - bx r1 - thumb_func_end ShouldDoBrailleStrengthEffect - - thumb_func_start DoBrailleStrengthEffect -DoBrailleStrengthEffect: @ 8147514 - push {lr} - movs r0, 0x28 - bl FieldEffectActiveListRemove - ldr r2, _08147574 @ =0x0000022a - movs r0, 0xE - movs r1, 0x1A - bl MapGridSetMetatileIdAt - ldr r2, _08147578 @ =0x0000022b - movs r0, 0xF - movs r1, 0x1A - bl MapGridSetMetatileIdAt - movs r2, 0x8B - lsls r2, 2 - movs r0, 0x10 - movs r1, 0x1A - bl MapGridSetMetatileIdAt - ldr r2, _0814757C @ =0x00000e32 - movs r0, 0xE - movs r1, 0x1B - bl MapGridSetMetatileIdAt - ldr r2, _08147580 @ =0x00000233 - movs r0, 0xF - movs r1, 0x1B - bl MapGridSetMetatileIdAt - ldr r2, _08147584 @ =0x00000e34 - movs r0, 0x10 - movs r1, 0x1B - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - movs r0, 0x14 - bl PlaySE - movs r0, 0x85 - lsls r0, 4 - bl FlagSet - bl ScriptContext2_Disable - pop {r0} - bx r0 - .align 2, 0 -_08147574: .4byte 0x0000022a -_08147578: .4byte 0x0000022b -_0814757C: .4byte 0x00000e32 -_08147580: .4byte 0x00000233 -_08147584: .4byte 0x00000e34 - thumb_func_end DoBrailleStrengthEffect - - thumb_func_start ShouldDoBrailleFlyEffect -ShouldDoBrailleFlyEffect: @ 8147588 - push {lr} - ldr r0, _081475AC @ =0x00000852 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _081475BC - ldr r2, _081475B0 @ =gSaveBlock1 - ldrh r1, [r2, 0x4] - ldr r0, _081475B4 @ =0x00004418 - cmp r1, r0 - bne _081475BC - ldr r1, [r2] - ldr r0, _081475B8 @ =0x00190008 - cmp r1, r0 - bne _081475BC - movs r0, 0x1 - b _081475BE - .align 2, 0 -_081475AC: .4byte 0x00000852 -_081475B0: .4byte gSaveBlock1 -_081475B4: .4byte 0x00004418 -_081475B8: .4byte 0x00190008 -_081475BC: - movs r0, 0 -_081475BE: - pop {r1} - bx r1 - thumb_func_end ShouldDoBrailleFlyEffect - - thumb_func_start DoBrailleFlyEffect -DoBrailleFlyEffect: @ 81475C4 - push {lr} - ldr r0, _081475D8 @ =gUnknown_0202FF84 - ldr r1, _081475DC @ =gUnknown_03005CE0 - ldrb r1, [r1] - str r1, [r0] - movs r0, 0x3C - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_081475D8: .4byte gUnknown_0202FF84 -_081475DC: .4byte gUnknown_03005CE0 - thumb_func_end DoBrailleFlyEffect - - thumb_func_start FldEff_UseFlyAncientTomb -FldEff_UseFlyAncientTomb: @ 81475E0 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08147604 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _08147608 @ =UseFlyAncientTomb_Callback - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08147604: .4byte gTasks -_08147608: .4byte UseFlyAncientTomb_Callback - thumb_func_end FldEff_UseFlyAncientTomb - - thumb_func_start UseFlyAncientTomb_Callback -UseFlyAncientTomb_Callback: @ 814760C - push {lr} - movs r0, 0x3C - bl FieldEffectActiveListRemove - bl UseFlyAncientTomb_Finish - pop {r0} - bx r0 - thumb_func_end UseFlyAncientTomb_Callback - - thumb_func_start UseFlyAncientTomb_Finish -UseFlyAncientTomb_Finish: @ 814761C - push {lr} - ldr r2, _08147674 @ =0x0000022a - movs r0, 0xE - movs r1, 0x1A - bl MapGridSetMetatileIdAt - ldr r2, _08147678 @ =0x0000022b - movs r0, 0xF - movs r1, 0x1A - bl MapGridSetMetatileIdAt - movs r2, 0x8B - lsls r2, 2 - movs r0, 0x10 - movs r1, 0x1A - bl MapGridSetMetatileIdAt - ldr r2, _0814767C @ =0x00000e32 - movs r0, 0xE - movs r1, 0x1B - bl MapGridSetMetatileIdAt - ldr r2, _08147680 @ =0x00000233 - movs r0, 0xF - movs r1, 0x1B - bl MapGridSetMetatileIdAt - ldr r2, _08147684 @ =0x00000e34 - movs r0, 0x10 - movs r1, 0x1B - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - movs r0, 0x14 - bl PlaySE - ldr r0, _08147688 @ =0x00000852 - bl FlagSet - bl ScriptContext2_Disable - pop {r0} - bx r0 - .align 2, 0 -_08147674: .4byte 0x0000022a -_08147678: .4byte 0x0000022b -_0814767C: .4byte 0x00000e32 -_08147680: .4byte 0x00000233 -_08147684: .4byte 0x00000e34 -_08147688: .4byte 0x00000852 - thumb_func_end UseFlyAncientTomb_Finish - - thumb_func_start DoBrailleWait -DoBrailleWait: @ 814768C - push {lr} - ldr r0, _081476A8 @ =0x00000851 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _081476A2 - ldr r0, _081476AC @ =Task_BrailleWait - movs r1, 0x50 - bl CreateTask -_081476A2: - pop {r0} - bx r0 - .align 2, 0 -_081476A8: .4byte 0x00000851 -_081476AC: .4byte Task_BrailleWait - thumb_func_end DoBrailleWait - - thumb_func_start Task_BrailleWait -Task_BrailleWait: @ 81476B0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _081476D4 @ =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _0814776A - lsls r0, 2 - ldr r1, _081476D8 @ =_081476DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081476D4: .4byte gTasks + 0x8 -_081476D8: .4byte _081476DC - .align 2, 0 -_081476DC: - .4byte _081476F0 - .4byte _081476FE - .4byte _08147730 - .4byte _08147748 - .4byte _0814775A -_081476F0: - movs r1, 0xE1 - lsls r1, 5 - adds r0, r1, 0 - strh r0, [r4, 0x2] - movs r0, 0x1 - strh r0, [r4] - b _0814776A -_081476FE: - bl BrailleWait_CheckButtonPress - cmp r0, 0 - beq _08147716 - bl MenuZeroFillScreen - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - strh r0, [r4] - b _0814776A -_08147716: - ldrh r0, [r4, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - cmp r0, 0 - bne _0814776A - bl MenuZeroFillScreen - movs r0, 0x3 - strh r0, [r4] - movs r0, 0x1E - strh r0, [r4, 0x2] - b _0814776A -_08147730: - bl BrailleWait_CheckButtonPress - cmp r0, 0 - beq _08147748 - bl sub_8064E2C - adds r0, r5, 0 - bl DestroyTask - bl ScriptContext2_Disable - b _0814776A -_08147748: - ldrh r0, [r4, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - cmp r0, 0 - bne _0814776A - movs r0, 0x4 - strh r0, [r4] - b _0814776A -_0814775A: - bl sub_8064E2C - ldr r0, _08147770 @ =gUnknown_0815EF19 - bl ScriptContext1_SetupScript - adds r0, r5, 0 - bl DestroyTask -_0814776A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08147770: .4byte gUnknown_0815EF19 - thumb_func_end Task_BrailleWait - - thumb_func_start BrailleWait_CheckButtonPress -BrailleWait_CheckButtonPress: @ 8147774 - push {lr} - movs r1, 0xFF - ldr r0, _081477A4 @ =gSaveBlock2 - ldrb r2, [r0, 0x13] - cmp r2, 0x1 - bne _08147788 - movs r3, 0xC0 - lsls r3, 2 - adds r0, r3, 0 - orrs r1, r0 -_08147788: - cmp r2, 0x2 - bne _08147794 - movs r2, 0x80 - lsls r2, 2 - adds r0, r2, 0 - orrs r1, r0 -_08147794: - ldr r0, _081477A8 @ =gMain - ldrh r0, [r0, 0x2E] - ands r1, r0 - cmp r1, 0 - bne _081477AC - movs r0, 0 - b _081477AE - .align 2, 0 -_081477A4: .4byte gSaveBlock2 -_081477A8: .4byte gMain -_081477AC: - movs r0, 0x1 -_081477AE: - pop {r1} - bx r1 - thumb_func_end BrailleWait_CheckButtonPress - - thumb_func_start DoSealedChamberShakingEffect1 -DoSealedChamberShakingEffect1: @ 81477B4 - push {lr} - ldr r0, _081477E8 @ =SealedChamberShakingEffect - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081477EC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - movs r0, 0x2 - strh r0, [r1, 0x10] - movs r0, 0x5 - strh r0, [r1, 0x12] - movs r0, 0x32 - strh r0, [r1, 0x14] - movs r0, 0 - bl SetCameraPanningCallback - pop {r0} - bx r0 - .align 2, 0 -_081477E8: .4byte SealedChamberShakingEffect -_081477EC: .4byte gTasks - thumb_func_end DoSealedChamberShakingEffect1 - - thumb_func_start DoSealedChamberShakingEffect2 -DoSealedChamberShakingEffect2: @ 81477F0 - push {lr} - ldr r0, _08147824 @ =SealedChamberShakingEffect - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08147828 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - movs r0, 0x3 - strh r0, [r1, 0x10] - movs r0, 0x5 - strh r0, [r1, 0x12] - movs r0, 0x2 - strh r0, [r1, 0x14] - movs r0, 0 - bl SetCameraPanningCallback - pop {r0} - bx r0 - .align 2, 0 -_08147824: .4byte SealedChamberShakingEffect -_08147828: .4byte gTasks - thumb_func_end DoSealedChamberShakingEffect2 - - thumb_func_start SealedChamberShakingEffect -SealedChamberShakingEffect: @ 814782C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0814788C @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _08147884 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x10] - negs r0, r0 - strh r0, [r4, 0x10] - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning - movs r2, 0xC - ldrsh r1, [r4, r2] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08147884 - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl InstallCameraPanAheadCallback -_08147884: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814788C: .4byte gTasks - thumb_func_end SealedChamberShakingEffect - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/choose_party.s b/asm/choose_party.s index c895e71e0..25122e4ef 100644 --- a/asm/choose_party.s +++ b/asm/choose_party.s @@ -47,7 +47,7 @@ _08121E54: .4byte 0x00000263 sub_8121E58: @ 8121E58 push {lr} movs r1, 0 - ldr r3, _08121E74 @ =gUnknown_02039270 + ldr r3, _08121E74 @ =gSelectedOrderFromParty movs r2, 0 _08121E60: adds r0, r1, r3 @@ -60,7 +60,7 @@ _08121E60: pop {r0} bx r0 .align 2, 0 -_08121E74: .4byte gUnknown_02039270 +_08121E74: .4byte gSelectedOrderFromParty thumb_func_end sub_8121E58 thumb_func_start sub_8121E78 @@ -192,7 +192,7 @@ _08121F78: _08121F7E: cmp r4, 0x2 bhi _08121FA0 - ldr r0, _08121FC4 @ =gUnknown_02039270 + ldr r0, _08121FC4 @ =gSelectedOrderFromParty adds r0, r4, r0 ldrb r0, [r0] cmp r0, r6 @@ -223,7 +223,7 @@ _08121FA0: bl sub_806BC3C b _08121FD4 .align 2, 0 -_08121FC4: .4byte gUnknown_02039270 +_08121FC4: .4byte gSelectedOrderFromParty _08121FC8: .4byte gPlayerParty _08121FCC: adds r0, r5, 0 @@ -372,7 +372,7 @@ sub_81220C8: @ 81220C8 ldrb r0, [r0] cmp r0, 0 beq _081221A2 - ldr r0, _081220F4 @ =gUnknown_02039270 + ldr r0, _081220F4 @ =gSelectedOrderFromParty ldrb r0, [r0, 0x2] cmp r0, 0 bne _08122100 @@ -381,7 +381,7 @@ sub_81220C8: @ 81220C8 .align 2, 0 _081220EC: .4byte 0x0201b000 _081220F0: .4byte 0x00000263 -_081220F4: .4byte gUnknown_02039270 +_081220F4: .4byte gSelectedOrderFromParty _081220F8: movs r0, 0x12 b _081221A4 @@ -391,7 +391,7 @@ _081220FC: _08122100: movs r5, 0 _08122102: - ldr r4, _081221B4 @ =gUnknown_02039270 + ldr r4, _081221B4 @ =gSelectedOrderFromParty adds r4, r5, r4 ldrb r0, [r4] movs r1, 0x64 @@ -430,7 +430,7 @@ _0812214A: add r0, r9 movs r1, 0 ldrsh r4, [r0, r1] - ldr r0, _081221B4 @ =gUnknown_02039270 + ldr r0, _081221B4 @ =gSelectedOrderFromParty adds r6, r5, r0 ldrb r0, [r6] mov r2, r8 @@ -481,7 +481,7 @@ _081221A4: pop {r1} bx r1 .align 2, 0 -_081221B4: .4byte gUnknown_02039270 +_081221B4: .4byte gSelectedOrderFromParty _081221B8: .4byte gUnknown_030042FC _081221BC: .4byte 0x0201b000 _081221C0: .4byte 0x00000282 @@ -495,7 +495,7 @@ sub_81221CC: @ 81221CC lsls r0, 24 lsrs r2, r0, 24 movs r1, 0 - ldr r3, _081221E4 @ =gUnknown_02039270 + ldr r3, _081221E4 @ =gSelectedOrderFromParty _081221D6: adds r0, r1, r3 ldrb r0, [r0] @@ -504,7 +504,7 @@ _081221D6: movs r0, 0x1 b _081221F4 .align 2, 0 -_081221E4: .4byte gUnknown_02039270 +_081221E4: .4byte gSelectedOrderFromParty _081221E8: adds r0, r1, 0x1 lsls r0, 24 @@ -525,7 +525,7 @@ sub_81221F8: @ 81221F8 movs r0, 0x5 movs r1, 0x1 bl sub_806D538 - ldr r5, _08122248 @ =gUnknown_03005CE0 + ldr r5, _08122248 @ =gLastFieldPokeMenuOpened ldrb r1, [r5] movs r0, 0x64 muls r0, r1 @@ -556,7 +556,7 @@ sub_81221F8: @ 81221F8 movs r0, 0x1 b _08122270 .align 2, 0 -_08122248: .4byte gUnknown_03005CE0 +_08122248: .4byte gLastFieldPokeMenuOpened _0812224C: .4byte gPlayerParty _08122250: .4byte gTasks _08122254: .4byte gUnknown_084017D8 @@ -633,7 +633,7 @@ _081222E0: bl PlaySE adds r0, r4, 0 bl sub_806CA38 - ldr r1, _08122320 @ =gUnknown_03005CE0 + ldr r1, _08122320 @ =gLastFieldPokeMenuOpened strb r0, [r1] lsls r0, 24 lsrs r0, 24 @@ -657,7 +657,7 @@ _081222E0: str r1, [r0] b _08122342 .align 2, 0 -_08122320: .4byte gUnknown_03005CE0 +_08122320: .4byte gLastFieldPokeMenuOpened _08122324: .4byte gPlayerParty _08122328: .4byte gStringVar1 _0812232C: .4byte gTasks @@ -775,7 +775,7 @@ _081223F2: adds r0, r4, 0 adds r1, r5, 0 adds r2, r6, 0 - bl sub_806E81C + bl PartyMenuGetPopupMenuFunc adds r1, r0, 0 adds r0, r7, 0 bl _call_via_r1 @@ -868,7 +868,7 @@ sub_81224A8: @ 81224A8 .align 2, 0 _081224CC: .4byte gTasks _081224D0: - ldr r0, _081224F8 @ =gUnknown_02039270 + ldr r0, _081224F8 @ =gSelectedOrderFromParty ldrb r0, [r0] cmp r0, 0 beq _08122504 @@ -888,7 +888,7 @@ _081224D0: str r1, [r0] b _08122520 .align 2, 0 -_081224F8: .4byte gUnknown_02039270 +_081224F8: .4byte gSelectedOrderFromParty _081224FC: .4byte gTasks _08122500: .4byte sub_8122450 _08122504: @@ -939,7 +939,7 @@ _08122536: adds r0, r1 ldr r1, _08122584 @ =gStringVar1 bl GetMonNickname - ldr r1, _08122588 @ =gUnknown_03005CE0 + ldr r1, _08122588 @ =gLastFieldPokeMenuOpened ldrb r0, [r4] strb r0, [r1] ldrb r0, [r5] @@ -952,7 +952,7 @@ _08122578: .4byte 0x0201b260 _0812257C: .4byte gUnknown_020384F0 _08122580: .4byte gPlayerParty _08122584: .4byte gStringVar1 -_08122588: .4byte gUnknown_03005CE0 +_08122588: .4byte gLastFieldPokeMenuOpened _0812258C: .4byte sub_806AEDC _08122590: bl sub_80F9344 @@ -1088,8 +1088,8 @@ sub_8122694: @ 8122694 lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r3, _081226D4 @ =gUnknown_02039270 - ldr r2, _081226D8 @ =gUnknown_03005CE0 + ldr r3, _081226D4 @ =gSelectedOrderFromParty + ldr r2, _081226D8 @ =gLastFieldPokeMenuOpened _081226A0: adds r1, r4, r3 ldrb r0, [r1] @@ -1116,8 +1116,8 @@ _081226CC: bl sub_8122838 b _08122716 .align 2, 0 -_081226D4: .4byte gUnknown_02039270 -_081226D8: .4byte gUnknown_03005CE0 +_081226D4: .4byte gSelectedOrderFromParty +_081226D8: .4byte gLastFieldPokeMenuOpened _081226DC: adds r0, r4, 0x1 lsls r0, 24 @@ -1196,8 +1196,8 @@ sub_8122770: @ 8122770 lsls r0, 24 lsrs r6, r0, 24 movs r4, 0 - ldr r5, _08122798 @ =gUnknown_03005CE0 - ldr r3, _0812279C @ =gUnknown_02039270 + ldr r5, _08122798 @ =gLastFieldPokeMenuOpened + ldr r3, _0812279C @ =gSelectedOrderFromParty _0812277C: adds r2, r4, r3 ldrb r1, [r2] @@ -1213,8 +1213,8 @@ _0812277C: beq _081227AC b _081227BE .align 2, 0 -_08122798: .4byte gUnknown_03005CE0 -_0812279C: .4byte gUnknown_02039270 +_08122798: .4byte gLastFieldPokeMenuOpened +_0812279C: .4byte gSelectedOrderFromParty _081227A0: ldrb r0, [r3, 0x1] strb r0, [r3] @@ -1237,7 +1237,7 @@ _081227BE: ldrb r0, [r5] movs r1, 0x70 bl sub_806BC3C - ldr r4, _081227F8 @ =gUnknown_02039270 + ldr r4, _081227F8 @ =gSelectedOrderFromParty ldrb r0, [r4] cmp r0, 0 beq _081227DA @@ -1262,7 +1262,7 @@ _081227EC: pop {r0} bx r0 .align 2, 0 -_081227F8: .4byte gUnknown_02039270 +_081227F8: .4byte gSelectedOrderFromParty thumb_func_end sub_8122770 thumb_func_start sub_81227FC @@ -1982,7 +1982,7 @@ sub_8122D94: @ 8122D94 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08122DCC @ =gUnknown_03005CE0 + ldr r0, _08122DCC @ =gLastFieldPokeMenuOpened ldrb r1, [r0] movs r0, 0x64 muls r0, r1 @@ -2006,7 +2006,7 @@ sub_8122D94: @ 8122D94 bl sub_806E750 b _08122DFA .align 2, 0 -_08122DCC: .4byte gUnknown_03005CE0 +_08122DCC: .4byte gLastFieldPokeMenuOpened _08122DD0: .4byte gPlayerParty _08122DD4: .4byte gTasks _08122DD8: .4byte gUnknown_08401810 @@ -2061,7 +2061,7 @@ _08122E38: bl PlaySE adds r0, r4, 0 bl sub_806CA38 - ldr r1, _08122E70 @ =gUnknown_03005CE0 + ldr r1, _08122E70 @ =gLastFieldPokeMenuOpened strb r0, [r1] ldrb r1, [r1] movs r0, 0x64 @@ -2081,7 +2081,7 @@ _08122E38: str r1, [r0] b _08122E9C .align 2, 0 -_08122E70: .4byte gUnknown_03005CE0 +_08122E70: .4byte gLastFieldPokeMenuOpened _08122E74: .4byte gPlayerParty _08122E78: .4byte gStringVar1 _08122E7C: .4byte gTasks @@ -2089,7 +2089,7 @@ _08122E80: .4byte sub_8122EAC _08122E84: movs r0, 0x5 bl PlaySE - ldr r1, _08122EA4 @ =gUnknown_03005CE0 + ldr r1, _08122EA4 @ =gLastFieldPokeMenuOpened movs r0, 0xFF strb r0, [r1] ldr r1, _08122EA8 @ =gSpecialVar_0x8004 @@ -2102,7 +2102,7 @@ _08122E9C: pop {r0} bx r0 .align 2, 0 -_08122EA4: .4byte gUnknown_03005CE0 +_08122EA4: .4byte gLastFieldPokeMenuOpened _08122EA8: .4byte gSpecialVar_0x8004 thumb_func_end sub_8122E0C @@ -2176,7 +2176,7 @@ _08122F12: adds r0, r4, 0 adds r1, r5, 0 adds r2, r6, 0 - bl sub_806E81C + bl PartyMenuGetPopupMenuFunc adds r1, r0, 0 adds r0, r7, 0 bl _call_via_r1 @@ -2204,7 +2204,7 @@ sub_8122F70: @ 8122F70 lsls r0, 24 lsrs r0, 24 ldr r2, _08122F88 @ =gSpecialVar_0x8004 - ldr r1, _08122F8C @ =gUnknown_03005CE0 + ldr r1, _08122F8C @ =gLastFieldPokeMenuOpened ldrb r1, [r1] strh r1, [r2] bl sub_8123138 @@ -2212,7 +2212,7 @@ sub_8122F70: @ 8122F70 bx r0 .align 2, 0 _08122F88: .4byte gSpecialVar_0x8004 -_08122F8C: .4byte gUnknown_03005CE0 +_08122F8C: .4byte gLastFieldPokeMenuOpened thumb_func_end sub_8122F70 thumb_func_start sub_8122F90 @@ -2239,7 +2239,7 @@ _08122F96: adds r0, r1 ldr r1, _08122FE4 @ =gStringVar1 bl GetMonNickname - ldr r1, _08122FE8 @ =gUnknown_03005CE0 + ldr r1, _08122FE8 @ =gLastFieldPokeMenuOpened ldrb r0, [r4] strb r0, [r1] ldrb r0, [r5] @@ -2252,7 +2252,7 @@ _08122FD8: .4byte 0x0201b260 _08122FDC: .4byte gUnknown_020384F0 _08122FE0: .4byte gPlayerParty _08122FE4: .4byte gStringVar1 -_08122FE8: .4byte gUnknown_03005CE0 +_08122FE8: .4byte gLastFieldPokeMenuOpened _08122FEC: .4byte sub_806AEDC _08122FF0: bl sub_80F9344 diff --git a/asm/contest.s b/asm/contest.s index c98f5db0d..a851ac05a 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -878,9 +878,9 @@ _080AB8CC: strb r2, [r1, 0x3] ldr r0, _080AB92C @ =gBattleTypeFlags strh r4, [r0] - ldr r4, _080AB930 @ =gUnknown_02024C07 + ldr r4, _080AB930 @ =gPlayerMonIndex strb r2, [r4] - ldr r0, _080AB934 @ =gUnknown_02024C08 + ldr r0, _080AB934 @ =gEnemyMonIndex strb r3, [r0] bl sub_80AE858 ldr r2, _080AB938 @ =gUnknown_02024BE0 @@ -893,8 +893,8 @@ _080AB8CC: _080AB924: .4byte 0x02019204 _080AB928: .4byte gUnknown_02024A72 _080AB92C: .4byte gBattleTypeFlags -_080AB930: .4byte gUnknown_02024C07 -_080AB934: .4byte gUnknown_02024C08 +_080AB930: .4byte gPlayerMonIndex +_080AB934: .4byte gEnemyMonIndex _080AB938: .4byte gUnknown_02024BE0 _080AB93C: movs r0, 0 @@ -2344,7 +2344,7 @@ _080AC542: adds r4, r0 strh r5, [r4, 0xC] ldr r1, _080AC5E0 @ =gUnknown_02024BE0 - ldr r0, _080AC5E4 @ =gUnknown_02024C07 + ldr r0, _080AC5E4 @ =gPlayerMonIndex ldrb r0, [r0] adds r0, r1 strb r5, [r0] @@ -2365,7 +2365,7 @@ _080AC5D4: .4byte gSprites _080AC5D8: .4byte sub_80AD8FC _080AC5DC: .4byte gTasks _080AC5E0: .4byte gUnknown_02024BE0 -_080AC5E4: .4byte gUnknown_02024C07 +_080AC5E4: .4byte gPlayerMonIndex _080AC5E8: mov r1, r8 lsls r0, r1, 2 @@ -9885,7 +9885,7 @@ _080B004A: adds r0, r1 lsls r0, 2 adds r0, r7 - ldr r1, _080B00C4 @ =gUnknown_083CA464 + ldr r1, _080B00C4 @ =gSubspriteTables_83CA464 bl SetSubspriteTables ldrb r1, [r4, 0x1] lsls r0, r1, 4 @@ -9914,7 +9914,7 @@ _080B00B4: .4byte gUnknown_083CA3C4 _080B00B8: .4byte gSpriteTemplate_83CA3F4 _080B00BC: .4byte gUnknown_02038696 _080B00C0: .4byte 0x02019338 -_080B00C4: .4byte gUnknown_083CA464 +_080B00C4: .4byte gSubspriteTables_83CA464 thumb_func_end sub_80B0034 thumb_func_start sub_80B00C8 @@ -15034,7 +15034,7 @@ sub_80B2790: @ 80B2790 movs r1, 0 movs r2, 0x14 bl memset - bl sub_8075624 + bl battle_anim_clear_some_data ldr r1, _080B27F8 @ =gUnknown_02024E84 movs r2, 0 adds r0, r1, 0x3 @@ -15226,7 +15226,7 @@ sub_80B292C: @ 80B292C bl CreateInvisibleSpriteWithCallback ldr r1, _080B295C @ =gUnknown_02024BE0 strb r0, [r1, 0x3] - ldr r0, _080B2960 @ =gUnknown_02024C08 + ldr r0, _080B2960 @ =gEnemyMonIndex ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -15242,7 +15242,7 @@ sub_80B292C: @ 80B292C .align 2, 0 _080B2958: .4byte SpriteCallbackDummy _080B295C: .4byte gUnknown_02024BE0 -_080B2960: .4byte gUnknown_02024C08 +_080B2960: .4byte gEnemyMonIndex _080B2964: .4byte gSprites thumb_func_end sub_80B292C @@ -15341,20 +15341,20 @@ _080B29DC: .4byte _080B2A6C .4byte _080B2A6C _080B2A60: - ldr r1, _080B2A68 @ =gUnknown_02024C08 + ldr r1, _080B2A68 @ =gEnemyMonIndex movs r0, 0x2 b _080B2A70 .align 2, 0 -_080B2A68: .4byte gUnknown_02024C08 +_080B2A68: .4byte gEnemyMonIndex _080B2A6C: - ldr r1, _080B2A78 @ =gUnknown_02024C08 + ldr r1, _080B2A78 @ =gEnemyMonIndex movs r0, 0x3 _080B2A70: strb r0, [r1] pop {r0} bx r0 .align 2, 0 -_080B2A78: .4byte gUnknown_02024C08 +_080B2A78: .4byte gEnemyMonIndex thumb_func_end sub_80B29B4 thumb_func_start sub_80B2A7C diff --git a/asm/contest_ai.s b/asm/contest_ai.s index a947110ec..c7a67fed9 100644 --- a/asm/contest_ai.s +++ b/asm/contest_ai.s @@ -164,7 +164,7 @@ _08128A0E: ldrh r1, [r1, 0x2] cmp r1, 0 beq _08128A2C - ldr r1, _08128A28 @ =gUnknown_08401E60 + ldr r1, _08128A28 @ =sContestAICmdTable ldr r0, [r5] ldrb r0, [r0] lsls r0, 2 @@ -173,7 +173,7 @@ _08128A0E: bl _call_via_r0 b _08128A3C .align 2, 0 -_08128A28: .4byte gUnknown_08401E60 +_08128A28: .4byte sContestAICmdTable _08128A2C: adds r0, r4, 0x5 ldrb r2, [r4, 0x4] @@ -249,8 +249,8 @@ _08128A9A: _08128AA4: .4byte 0x020192d0 thumb_func_end sub_8128A7C - thumb_func_start sub_8128AA8 -sub_8128AA8: @ 8128AA8 + thumb_func_start ContestAICmd_unk_00 +ContestAICmd_unk_00: @ 8128AA8 push {lr} ldr r2, _08128AD0 @ =0x020192e4 adds r1, r2, 0x5 @@ -287,10 +287,10 @@ _08128ADE: str r0, [r3] pop {r0} bx r0 - thumb_func_end sub_8128AA8 + thumb_func_end ContestAICmd_unk_00 - thumb_func_start contest_ai_get_turn -contest_ai_get_turn: @ 8128AF0 + thumb_func_start ContestAICmd_get_turn +ContestAICmd_get_turn: @ 8128AF0 ldr r1, _08128B04 @ =0x020192e4 adds r0, r1, 0 subs r0, 0xE0 @@ -304,12 +304,12 @@ contest_ai_get_turn: @ 8128AF0 .align 2, 0 _08128B04: .4byte 0x020192e4 _08128B08: .4byte gAIScriptPtr - thumb_func_end contest_ai_get_turn + thumb_func_end ContestAICmd_get_turn - thumb_func_start sub_8128B0C -sub_8128B0C: @ 8128B0C + thumb_func_start ContestAICmd_unk_02 +ContestAICmd_unk_02: @ 8128B0C push {lr} - bl contest_ai_get_turn + bl ContestAICmd_get_turn ldr r0, _08128B3C @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -339,12 +339,12 @@ _08128B44: _08128B48: pop {r0} bx r0 - thumb_func_end sub_8128B0C + thumb_func_end ContestAICmd_unk_02 - thumb_func_start sub_8128B4C -sub_8128B4C: @ 8128B4C + thumb_func_start ContestAICmd_unk_03 +ContestAICmd_unk_03: @ 8128B4C push {lr} - bl contest_ai_get_turn + bl ContestAICmd_get_turn ldr r0, _08128B7C @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -374,12 +374,12 @@ _08128B84: _08128B88: pop {r0} bx r0 - thumb_func_end sub_8128B4C + thumb_func_end ContestAICmd_unk_03 - thumb_func_start sub_8128B8C -sub_8128B8C: @ 8128B8C + thumb_func_start ContestAICmd_unk_04 +ContestAICmd_unk_04: @ 8128B8C push {lr} - bl contest_ai_get_turn + bl ContestAICmd_get_turn ldr r0, _08128BBC @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -409,12 +409,12 @@ _08128BC4: _08128BC8: pop {r0} bx r0 - thumb_func_end sub_8128B8C + thumb_func_end ContestAICmd_unk_04 - thumb_func_start sub_8128BCC -sub_8128BCC: @ 8128BCC + thumb_func_start ContestAICmd_unk_05 +ContestAICmd_unk_05: @ 8128BCC push {lr} - bl contest_ai_get_turn + bl ContestAICmd_get_turn ldr r0, _08128BFC @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -444,10 +444,10 @@ _08128C04: _08128C08: pop {r0} bx r0 - thumb_func_end sub_8128BCC + thumb_func_end ContestAICmd_unk_05 - thumb_func_start contest_ai_get_excitement -contest_ai_get_excitement: @ 8128C0C + thumb_func_start ContestAICmd_get_excitement +ContestAICmd_get_excitement: @ 8128C0C ldr r1, _08128C24 @ =0x020192e4 adds r0, r1, 0 subs r0, 0xE0 @@ -463,12 +463,12 @@ contest_ai_get_excitement: @ 8128C0C .align 2, 0 _08128C24: .4byte 0x020192e4 _08128C28: .4byte gAIScriptPtr - thumb_func_end contest_ai_get_excitement + thumb_func_end ContestAICmd_get_excitement - thumb_func_start sub_8128C2C -sub_8128C2C: @ 8128C2C + thumb_func_start ContestAICmd_unk_07 +ContestAICmd_unk_07: @ 8128C2C push {lr} - bl contest_ai_get_excitement + bl ContestAICmd_get_excitement ldr r0, _08128C5C @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -498,12 +498,12 @@ _08128C64: _08128C68: pop {r0} bx r0 - thumb_func_end sub_8128C2C + thumb_func_end ContestAICmd_unk_07 - thumb_func_start sub_8128C6C -sub_8128C6C: @ 8128C6C + thumb_func_start ContestAICmd_unk_08 +ContestAICmd_unk_08: @ 8128C6C push {lr} - bl contest_ai_get_excitement + bl ContestAICmd_get_excitement ldr r0, _08128C9C @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -533,12 +533,12 @@ _08128CA4: _08128CA8: pop {r0} bx r0 - thumb_func_end sub_8128C6C + thumb_func_end ContestAICmd_unk_08 - thumb_func_start sub_8128CAC -sub_8128CAC: @ 8128CAC + thumb_func_start ContestAICmd_unk_09 +ContestAICmd_unk_09: @ 8128CAC push {lr} - bl contest_ai_get_excitement + bl ContestAICmd_get_excitement ldr r0, _08128CDC @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -568,12 +568,12 @@ _08128CE4: _08128CE8: pop {r0} bx r0 - thumb_func_end sub_8128CAC + thumb_func_end ContestAICmd_unk_09 - thumb_func_start sub_8128CEC -sub_8128CEC: @ 8128CEC + thumb_func_start ContestAICmd_unk_0A +ContestAICmd_unk_0A: @ 8128CEC push {lr} - bl contest_ai_get_excitement + bl ContestAICmd_get_excitement ldr r0, _08128D1C @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -603,10 +603,10 @@ _08128D24: _08128D28: pop {r0} bx r0 - thumb_func_end sub_8128CEC + thumb_func_end ContestAICmd_unk_0A - thumb_func_start contest_ai_get_user_order -contest_ai_get_user_order: @ 8128D2C + thumb_func_start ContestAICmd_get_user_order +ContestAICmd_get_user_order: @ 8128D2C ldr r1, _08128D48 @ =0x020192e4 adds r2, r1, 0 adds r2, 0x41 @@ -624,12 +624,12 @@ contest_ai_get_user_order: @ 8128D2C .align 2, 0 _08128D48: .4byte 0x020192e4 _08128D4C: .4byte gAIScriptPtr - thumb_func_end contest_ai_get_user_order + thumb_func_end ContestAICmd_get_user_order - thumb_func_start sub_8128D50 -sub_8128D50: @ 8128D50 + thumb_func_start ContestAICmd_unk_0C +ContestAICmd_unk_0C: @ 8128D50 push {lr} - bl contest_ai_get_user_order + bl ContestAICmd_get_user_order ldr r0, _08128D80 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -659,12 +659,12 @@ _08128D88: _08128D8C: pop {r0} bx r0 - thumb_func_end sub_8128D50 + thumb_func_end ContestAICmd_unk_0C - thumb_func_start sub_8128D90 -sub_8128D90: @ 8128D90 + thumb_func_start ContestAICmd_unk_0D +ContestAICmd_unk_0D: @ 8128D90 push {lr} - bl contest_ai_get_user_order + bl ContestAICmd_get_user_order ldr r0, _08128DC0 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -694,12 +694,12 @@ _08128DC8: _08128DCC: pop {r0} bx r0 - thumb_func_end sub_8128D90 + thumb_func_end ContestAICmd_unk_0D - thumb_func_start sub_8128DD0 -sub_8128DD0: @ 8128DD0 + thumb_func_start ContestAICmd_unk_0E +ContestAICmd_unk_0E: @ 8128DD0 push {lr} - bl contest_ai_get_user_order + bl ContestAICmd_get_user_order ldr r0, _08128E00 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -729,12 +729,12 @@ _08128E08: _08128E0C: pop {r0} bx r0 - thumb_func_end sub_8128DD0 + thumb_func_end ContestAICmd_unk_0E - thumb_func_start sub_8128E10 -sub_8128E10: @ 8128E10 + thumb_func_start ContestAICmd_unk_0F +ContestAICmd_unk_0F: @ 8128E10 push {lr} - bl contest_ai_get_user_order + bl ContestAICmd_get_user_order ldr r0, _08128E40 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -764,10 +764,10 @@ _08128E48: _08128E4C: pop {r0} bx r0 - thumb_func_end sub_8128E10 + thumb_func_end ContestAICmd_unk_0F - thumb_func_start contest_ai_get_user_condition_maybe -contest_ai_get_user_condition_maybe: @ 8128E50 + thumb_func_start ContestAICmd_get_user_condition_maybe +ContestAICmd_get_user_condition_maybe: @ 8128E50 push {r4,lr} ldr r4, _08128E88 @ =0x020192e4 adds r0, r4, 0 @@ -797,12 +797,12 @@ contest_ai_get_user_condition_maybe: @ 8128E50 .align 2, 0 _08128E88: .4byte 0x020192e4 _08128E8C: .4byte gAIScriptPtr - thumb_func_end contest_ai_get_user_condition_maybe + thumb_func_end ContestAICmd_get_user_condition_maybe - thumb_func_start sub_8128E90 -sub_8128E90: @ 8128E90 + thumb_func_start ContestAICmd_unk_11 +ContestAICmd_unk_11: @ 8128E90 push {lr} - bl contest_ai_get_user_condition_maybe + bl ContestAICmd_get_user_condition_maybe ldr r0, _08128EC0 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -832,12 +832,12 @@ _08128EC8: _08128ECC: pop {r0} bx r0 - thumb_func_end sub_8128E90 + thumb_func_end ContestAICmd_unk_11 - thumb_func_start sub_8128ED0 -sub_8128ED0: @ 8128ED0 + thumb_func_start ContestAICmd_unk_12 +ContestAICmd_unk_12: @ 8128ED0 push {lr} - bl contest_ai_get_user_condition_maybe + bl ContestAICmd_get_user_condition_maybe ldr r0, _08128F00 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -867,12 +867,12 @@ _08128F08: _08128F0C: pop {r0} bx r0 - thumb_func_end sub_8128ED0 + thumb_func_end ContestAICmd_unk_12 - thumb_func_start sub_8128F10 -sub_8128F10: @ 8128F10 + thumb_func_start ContestAICmd_unk_13 +ContestAICmd_unk_13: @ 8128F10 push {lr} - bl contest_ai_get_user_condition_maybe + bl ContestAICmd_get_user_condition_maybe ldr r0, _08128F40 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -902,12 +902,12 @@ _08128F48: _08128F4C: pop {r0} bx r0 - thumb_func_end sub_8128F10 + thumb_func_end ContestAICmd_unk_13 - thumb_func_start sub_8128F50 -sub_8128F50: @ 8128F50 + thumb_func_start ContestAICmd_unk_14 +ContestAICmd_unk_14: @ 8128F50 push {lr} - bl contest_ai_get_user_condition_maybe + bl ContestAICmd_get_user_condition_maybe ldr r0, _08128F80 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -937,10 +937,10 @@ _08128F88: _08128F8C: pop {r0} bx r0 - thumb_func_end sub_8128F50 + thumb_func_end ContestAICmd_unk_14 - thumb_func_start sub_8128F90 -sub_8128F90: @ 8128F90 + thumb_func_start ContestAICmd_unk_15 +ContestAICmd_unk_15: @ 8128F90 ldr r2, _08128FB4 @ =0x020192e4 adds r0, r2, 0 adds r0, 0x41 @@ -961,12 +961,12 @@ sub_8128F90: @ 8128F90 .align 2, 0 _08128FB4: .4byte 0x020192e4 _08128FB8: .4byte gAIScriptPtr - thumb_func_end sub_8128F90 + thumb_func_end ContestAICmd_unk_15 - thumb_func_start sub_8128FBC -sub_8128FBC: @ 8128FBC + thumb_func_start ContestAICmd_unk_16 +ContestAICmd_unk_16: @ 8128FBC push {r4,r5,lr} - bl sub_8128F90 + bl ContestAICmd_unk_15 ldr r2, _08128FF4 @ =0x020192e4 ldr r4, _08128FF8 @ =gAIScriptPtr ldr r3, [r4] @@ -1002,12 +1002,12 @@ _08129000: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_8128FBC + thumb_func_end ContestAICmd_unk_16 - thumb_func_start sub_8129008 -sub_8129008: @ 8129008 + thumb_func_start ContestAICmd_unk_17 +ContestAICmd_unk_17: @ 8129008 push {r4,r5,lr} - bl sub_8128F90 + bl ContestAICmd_unk_15 ldr r2, _08129040 @ =0x020192e4 ldr r4, _08129044 @ =gAIScriptPtr ldr r3, [r4] @@ -1043,12 +1043,12 @@ _0812904C: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_8129008 + thumb_func_end ContestAICmd_unk_17 - thumb_func_start sub_8129054 -sub_8129054: @ 8129054 + thumb_func_start ContestAICmd_unk_18 +ContestAICmd_unk_18: @ 8129054 push {r4,r5,lr} - bl sub_8128F90 + bl ContestAICmd_unk_15 ldr r2, _0812908C @ =0x020192e4 ldr r4, _08129090 @ =gAIScriptPtr ldr r3, [r4] @@ -1084,12 +1084,12 @@ _08129098: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_8129054 + thumb_func_end ContestAICmd_unk_18 - thumb_func_start sub_81290A0 -sub_81290A0: @ 81290A0 + thumb_func_start ContestAICmd_unk_19 +ContestAICmd_unk_19: @ 81290A0 push {r4,r5,lr} - bl sub_8128F90 + bl ContestAICmd_unk_15 ldr r2, _081290D8 @ =0x020192e4 ldr r4, _081290DC @ =gAIScriptPtr ldr r3, [r4] @@ -1125,10 +1125,10 @@ _081290E4: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_81290A0 + thumb_func_end ContestAICmd_unk_19 - thumb_func_start sub_81290EC -sub_81290EC: @ 81290EC + thumb_func_start ContestAICmd_unk_1A +ContestAICmd_unk_1A: @ 81290EC ldr r2, _08129108 @ =0x020192e4 ldr r1, _0812910C @ =gUnknown_02038670 adds r0, r2, 0 @@ -1147,12 +1147,12 @@ sub_81290EC: @ 81290EC _08129108: .4byte 0x020192e4 _0812910C: .4byte gUnknown_02038670 _08129110: .4byte gAIScriptPtr - thumb_func_end sub_81290EC + thumb_func_end ContestAICmd_unk_1A - thumb_func_start sub_8129114 -sub_8129114: @ 8129114 + thumb_func_start ContestAICmd_unk_1B +ContestAICmd_unk_1B: @ 8129114 push {r4,r5,lr} - bl sub_81290EC + bl ContestAICmd_unk_1A ldr r2, _0812914C @ =0x020192e4 ldr r4, _08129150 @ =gAIScriptPtr ldr r3, [r4] @@ -1188,12 +1188,12 @@ _08129158: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_8129114 + thumb_func_end ContestAICmd_unk_1B - thumb_func_start sub_8129160 -sub_8129160: @ 8129160 + thumb_func_start ContestAICmd_unk_1C +ContestAICmd_unk_1C: @ 8129160 push {r4,r5,lr} - bl sub_81290EC + bl ContestAICmd_unk_1A ldr r2, _08129198 @ =0x020192e4 ldr r4, _0812919C @ =gAIScriptPtr ldr r3, [r4] @@ -1229,12 +1229,12 @@ _081291A4: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_8129160 + thumb_func_end ContestAICmd_unk_1C - thumb_func_start sub_81291AC -sub_81291AC: @ 81291AC + thumb_func_start ContestAICmd_unk_1D +ContestAICmd_unk_1D: @ 81291AC push {r4,r5,lr} - bl sub_81290EC + bl ContestAICmd_unk_1A ldr r2, _081291E4 @ =0x020192e4 ldr r4, _081291E8 @ =gAIScriptPtr ldr r3, [r4] @@ -1270,12 +1270,12 @@ _081291F0: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_81291AC + thumb_func_end ContestAICmd_unk_1D - thumb_func_start sub_81291F8 -sub_81291F8: @ 81291F8 + thumb_func_start ContestAICmd_unk_1E +ContestAICmd_unk_1E: @ 81291F8 push {r4,r5,lr} - bl sub_81290EC + bl ContestAICmd_unk_1A ldr r2, _08129230 @ =0x020192e4 ldr r4, _08129234 @ =gAIScriptPtr ldr r3, [r4] @@ -1311,10 +1311,10 @@ _0812923C: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_81291F8 + thumb_func_end ContestAICmd_unk_1E - thumb_func_start contest_ai_get_contest_type -contest_ai_get_contest_type: @ 8129244 + thumb_func_start ContestAICmd_get_contest_type +ContestAICmd_get_contest_type: @ 8129244 ldr r1, _08129258 @ =0x020192e4 ldr r0, _0812925C @ =gScriptContestCategory ldrh r0, [r0] @@ -1328,12 +1328,12 @@ contest_ai_get_contest_type: @ 8129244 _08129258: .4byte 0x020192e4 _0812925C: .4byte gScriptContestCategory _08129260: .4byte gAIScriptPtr - thumb_func_end contest_ai_get_contest_type + thumb_func_end ContestAICmd_get_contest_type - thumb_func_start sub_8129264 -sub_8129264: @ 8129264 + thumb_func_start ContestAICmd_unk_20 +ContestAICmd_unk_20: @ 8129264 push {lr} - bl contest_ai_get_contest_type + bl ContestAICmd_get_contest_type ldr r0, _08129294 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -1363,12 +1363,12 @@ _0812929C: _081292A0: pop {r0} bx r0 - thumb_func_end sub_8129264 + thumb_func_end ContestAICmd_unk_20 - thumb_func_start sub_81292A4 -sub_81292A4: @ 81292A4 + thumb_func_start ContestAICmd_unk_21 +ContestAICmd_unk_21: @ 81292A4 push {lr} - bl contest_ai_get_contest_type + bl ContestAICmd_get_contest_type ldr r0, _081292D4 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -1398,10 +1398,10 @@ _081292DC: _081292E0: pop {r0} bx r0 - thumb_func_end sub_81292A4 + thumb_func_end ContestAICmd_unk_21 - thumb_func_start contest_ai_get_move_excitement -contest_ai_get_move_excitement: @ 81292E4 + thumb_func_start ContestAICmd_get_move_excitement +ContestAICmd_get_move_excitement: @ 81292E4 push {r4,lr} ldr r2, _08129318 @ =gContestMons ldr r4, _0812931C @ =0x020192e4 @@ -1430,12 +1430,12 @@ contest_ai_get_move_excitement: @ 81292E4 _08129318: .4byte gContestMons _0812931C: .4byte 0x020192e4 _08129320: .4byte gAIScriptPtr - thumb_func_end contest_ai_get_move_excitement + thumb_func_end ContestAICmd_get_move_excitement - thumb_func_start sub_8129324 -sub_8129324: @ 8129324 + thumb_func_start ContestAICmd_unk_23 +ContestAICmd_unk_23: @ 8129324 push {r4,lr} - bl contest_ai_get_move_excitement + bl ContestAICmd_get_move_excitement ldr r0, _08129354 @ =0x020192e4 ldr r3, _08129358 @ =gAIScriptPtr ldr r2, [r3] @@ -1467,12 +1467,12 @@ _08129360: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8129324 + thumb_func_end ContestAICmd_unk_23 - thumb_func_start sub_8129368 -sub_8129368: @ 8129368 + thumb_func_start ContestAICmd_unk_24 +ContestAICmd_unk_24: @ 8129368 push {r4,lr} - bl contest_ai_get_move_excitement + bl ContestAICmd_get_move_excitement ldr r0, _08129398 @ =0x020192e4 ldr r3, _0812939C @ =gAIScriptPtr ldr r2, [r3] @@ -1504,12 +1504,12 @@ _081293A4: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8129368 + thumb_func_end ContestAICmd_unk_24 - thumb_func_start sub_81293AC -sub_81293AC: @ 81293AC + thumb_func_start ContestAICmd_unk_25 +ContestAICmd_unk_25: @ 81293AC push {r4,lr} - bl contest_ai_get_move_excitement + bl ContestAICmd_get_move_excitement ldr r0, _081293DC @ =0x020192e4 ldr r3, _081293E0 @ =gAIScriptPtr ldr r2, [r3] @@ -1541,12 +1541,12 @@ _081293E8: pop {r4} pop {r0} bx r0 - thumb_func_end sub_81293AC + thumb_func_end ContestAICmd_unk_25 - thumb_func_start sub_81293F0 -sub_81293F0: @ 81293F0 + thumb_func_start ContestAICmd_unk_26 +ContestAICmd_unk_26: @ 81293F0 push {r4,lr} - bl contest_ai_get_move_excitement + bl ContestAICmd_get_move_excitement ldr r0, _08129420 @ =0x020192e4 ldr r3, _08129424 @ =gAIScriptPtr ldr r2, [r3] @@ -1578,10 +1578,10 @@ _0812942C: pop {r4} pop {r0} bx r0 - thumb_func_end sub_81293F0 + thumb_func_end ContestAICmd_unk_26 - thumb_func_start contest_ai_get_move_effect -contest_ai_get_move_effect: @ 8129434 + thumb_func_start ContestAICmd_get_move_effect +ContestAICmd_get_move_effect: @ 8129434 ldr r2, _08129460 @ =gContestMons ldr r3, _08129464 @ =0x020192e4 ldrb r1, [r3, 0x4] @@ -1609,12 +1609,12 @@ _08129460: .4byte gContestMons _08129464: .4byte 0x020192e4 _08129468: .4byte gContestMoves _0812946C: .4byte gAIScriptPtr - thumb_func_end contest_ai_get_move_effect + thumb_func_end ContestAICmd_get_move_effect - thumb_func_start sub_8129470 -sub_8129470: @ 8129470 + thumb_func_start ContestAICmd_unk_28 +ContestAICmd_unk_28: @ 8129470 push {lr} - bl contest_ai_get_move_effect + bl ContestAICmd_get_move_effect ldr r0, _081294A0 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -1644,12 +1644,12 @@ _081294A8: _081294AC: pop {r0} bx r0 - thumb_func_end sub_8129470 + thumb_func_end ContestAICmd_unk_28 - thumb_func_start sub_81294B0 -sub_81294B0: @ 81294B0 + thumb_func_start ContestAICmd_unk_29 +ContestAICmd_unk_29: @ 81294B0 push {lr} - bl contest_ai_get_move_effect + bl ContestAICmd_get_move_effect ldr r0, _081294E0 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -1679,10 +1679,10 @@ _081294E8: _081294EC: pop {r0} bx r0 - thumb_func_end sub_81294B0 + thumb_func_end ContestAICmd_unk_29 - thumb_func_start contest_ai_get_move_effect_type -contest_ai_get_move_effect_type: @ 81294F0 + thumb_func_start ContestAICmd_get_move_effect_type +ContestAICmd_get_move_effect_type: @ 81294F0 ldr r2, _08129524 @ =gContestMons ldr r3, _08129528 @ =0x020192e4 ldrb r1, [r3, 0x4] @@ -1715,12 +1715,12 @@ _08129528: .4byte 0x020192e4 _0812952C: .4byte gContestEffects _08129530: .4byte gContestMoves _08129534: .4byte gAIScriptPtr - thumb_func_end contest_ai_get_move_effect_type + thumb_func_end ContestAICmd_get_move_effect_type - thumb_func_start sub_8129538 -sub_8129538: @ 8129538 + thumb_func_start ContestAICmd_unk_2B +ContestAICmd_unk_2B: @ 8129538 push {lr} - bl contest_ai_get_move_effect_type + bl ContestAICmd_get_move_effect_type ldr r0, _08129568 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -1750,12 +1750,12 @@ _08129570: _08129574: pop {r0} bx r0 - thumb_func_end sub_8129538 + thumb_func_end ContestAICmd_unk_2B - thumb_func_start sub_8129578 -sub_8129578: @ 8129578 + thumb_func_start ContestAICmd_unk_2C +ContestAICmd_unk_2C: @ 8129578 push {lr} - bl contest_ai_get_move_effect_type + bl ContestAICmd_get_move_effect_type ldr r0, _081295A8 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -1785,10 +1785,10 @@ _081295B0: _081295B4: pop {r0} bx r0 - thumb_func_end sub_8129578 + thumb_func_end ContestAICmd_unk_2C - thumb_func_start contest_ai_check_move_has_highest_appeal -contest_ai_check_move_has_highest_appeal: @ 81295B8 + thumb_func_start ContestAICmd_check_move_has_highest_appeal +ContestAICmd_check_move_has_highest_appeal: @ 81295B8 push {r4-r7,lr} ldr r2, _08129610 @ =gContestMons ldr r3, _08129614 @ =0x020192e4 @@ -1853,12 +1853,12 @@ _08129626: pop {r4-r7} pop {r0} bx r0 - thumb_func_end contest_ai_check_move_has_highest_appeal + thumb_func_end ContestAICmd_check_move_has_highest_appeal - thumb_func_start sub_8129638 -sub_8129638: @ 8129638 + thumb_func_start ContestAICmd_unk_2E +ContestAICmd_unk_2E: @ 8129638 push {lr} - bl contest_ai_check_move_has_highest_appeal + bl ContestAICmd_check_move_has_highest_appeal ldr r0, _08129664 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -1891,10 +1891,10 @@ _08129674: bx r0 .align 2, 0 _08129678: .4byte gAIScriptPtr - thumb_func_end sub_8129638 + thumb_func_end ContestAICmd_unk_2E - thumb_func_start sub_812967C -sub_812967C: @ 812967C + thumb_func_start ContestAICmd_unk_2F +ContestAICmd_unk_2F: @ 812967C push {r4-r7,lr} ldr r2, _081296D4 @ =gContestMons ldr r3, _081296D8 @ =0x020192e4 @@ -1959,12 +1959,12 @@ _081296EA: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_812967C + thumb_func_end ContestAICmd_unk_2F - thumb_func_start sub_81296FC -sub_81296FC: @ 81296FC + thumb_func_start ContestAICmd_unk_30 +ContestAICmd_unk_30: @ 81296FC push {lr} - bl sub_812967C + bl ContestAICmd_unk_2F ldr r0, _08129728 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -1997,10 +1997,10 @@ _08129738: bx r0 .align 2, 0 _0812973C: .4byte gAIScriptPtr - thumb_func_end sub_81296FC + thumb_func_end ContestAICmd_unk_30 - thumb_func_start sub_8129740 -sub_8129740: @ 8129740 + thumb_func_start ContestAICmd_unk_31 +ContestAICmd_unk_31: @ 8129740 push {r4,lr} ldr r2, _08129784 @ =gContestMons ldr r4, _08129788 @ =0x020192e4 @@ -2040,12 +2040,12 @@ _08129788: .4byte 0x020192e4 _0812978C: .4byte gContestEffects _08129790: .4byte gContestMoves _08129794: .4byte gAIScriptPtr - thumb_func_end sub_8129740 + thumb_func_end ContestAICmd_unk_31 - thumb_func_start sub_8129798 -sub_8129798: @ 8129798 + thumb_func_start ContestAICmd_unk_32 +ContestAICmd_unk_32: @ 8129798 push {lr} - bl sub_8129740 + bl ContestAICmd_unk_31 ldr r0, _081297C8 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2075,12 +2075,12 @@ _081297D0: _081297D4: pop {r0} bx r0 - thumb_func_end sub_8129798 + thumb_func_end ContestAICmd_unk_32 - thumb_func_start sub_81297D8 -sub_81297D8: @ 81297D8 + thumb_func_start ContestAICmd_unk_33 +ContestAICmd_unk_33: @ 81297D8 push {lr} - bl sub_8129740 + bl ContestAICmd_unk_31 ldr r0, _08129808 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2110,12 +2110,12 @@ _08129810: _08129814: pop {r0} bx r0 - thumb_func_end sub_81297D8 + thumb_func_end ContestAICmd_unk_33 - thumb_func_start sub_8129818 -sub_8129818: @ 8129818 + thumb_func_start ContestAICmd_unk_34 +ContestAICmd_unk_34: @ 8129818 push {lr} - bl sub_8129740 + bl ContestAICmd_unk_31 ldr r0, _08129848 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2145,12 +2145,12 @@ _08129850: _08129854: pop {r0} bx r0 - thumb_func_end sub_8129818 + thumb_func_end ContestAICmd_unk_34 - thumb_func_start sub_8129858 -sub_8129858: @ 8129858 + thumb_func_start ContestAICmd_unk_35 +ContestAICmd_unk_35: @ 8129858 push {lr} - bl sub_8129740 + bl ContestAICmd_unk_31 ldr r0, _08129888 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2180,10 +2180,10 @@ _08129890: _08129894: pop {r0} bx r0 - thumb_func_end sub_8129858 + thumb_func_end ContestAICmd_unk_35 - thumb_func_start sub_8129898 -sub_8129898: @ 8129898 + thumb_func_start ContestAICmd_unk_36 +ContestAICmd_unk_36: @ 8129898 push {r4,lr} ldr r2, _081298DC @ =gContestMons ldr r4, _081298E0 @ =0x020192e4 @@ -2223,12 +2223,12 @@ _081298E0: .4byte 0x020192e4 _081298E4: .4byte gContestEffects _081298E8: .4byte gContestMoves _081298EC: .4byte gAIScriptPtr - thumb_func_end sub_8129898 + thumb_func_end ContestAICmd_unk_36 - thumb_func_start sub_81298F0 -sub_81298F0: @ 81298F0 + thumb_func_start ContestAICmd_unk_37 +ContestAICmd_unk_37: @ 81298F0 push {lr} - bl sub_8129898 + bl ContestAICmd_unk_36 ldr r0, _08129920 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2258,12 +2258,12 @@ _08129928: _0812992C: pop {r0} bx r0 - thumb_func_end sub_81298F0 + thumb_func_end ContestAICmd_unk_37 - thumb_func_start sub_8129930 -sub_8129930: @ 8129930 + thumb_func_start ContestAICmd_unk_38 +ContestAICmd_unk_38: @ 8129930 push {lr} - bl sub_8129898 + bl ContestAICmd_unk_36 ldr r0, _08129960 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2293,12 +2293,12 @@ _08129968: _0812996C: pop {r0} bx r0 - thumb_func_end sub_8129930 + thumb_func_end ContestAICmd_unk_38 - thumb_func_start sub_8129970 -sub_8129970: @ 8129970 + thumb_func_start ContestAICmd_unk_39 +ContestAICmd_unk_39: @ 8129970 push {lr} - bl sub_8129898 + bl ContestAICmd_unk_36 ldr r0, _081299A0 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2328,12 +2328,12 @@ _081299A8: _081299AC: pop {r0} bx r0 - thumb_func_end sub_8129970 + thumb_func_end ContestAICmd_unk_39 - thumb_func_start sub_81299B0 -sub_81299B0: @ 81299B0 + thumb_func_start ContestAICmd_unk_3A +ContestAICmd_unk_3A: @ 81299B0 push {lr} - bl sub_8129898 + bl ContestAICmd_unk_36 ldr r0, _081299E0 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2363,10 +2363,10 @@ _081299E8: _081299EC: pop {r0} bx r0 - thumb_func_end sub_81299B0 + thumb_func_end ContestAICmd_unk_3A - thumb_func_start contest_ai_get_move_used_count -contest_ai_get_move_used_count: @ 81299F0 + thumb_func_start ContestAICmd_get_move_used_count +ContestAICmd_get_move_used_count: @ 81299F0 push {r4,lr} ldr r3, _08129A20 @ =gContestMons ldr r4, _08129A24 @ =0x020192e4 @@ -2410,12 +2410,12 @@ _08129A30: bx r0 .align 2, 0 _08129A40: .4byte gAIScriptPtr - thumb_func_end contest_ai_get_move_used_count + thumb_func_end ContestAICmd_get_move_used_count - thumb_func_start sub_8129A44 -sub_8129A44: @ 8129A44 + thumb_func_start ContestAICmd_unk_3C +ContestAICmd_unk_3C: @ 8129A44 push {lr} - bl contest_ai_get_move_used_count + bl ContestAICmd_get_move_used_count ldr r0, _08129A74 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2445,12 +2445,12 @@ _08129A7C: _08129A80: pop {r0} bx r0 - thumb_func_end sub_8129A44 + thumb_func_end ContestAICmd_unk_3C - thumb_func_start sub_8129A84 -sub_8129A84: @ 8129A84 + thumb_func_start ContestAICmd_unk_3D +ContestAICmd_unk_3D: @ 8129A84 push {lr} - bl contest_ai_get_move_used_count + bl ContestAICmd_get_move_used_count ldr r0, _08129AB4 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2480,12 +2480,12 @@ _08129ABC: _08129AC0: pop {r0} bx r0 - thumb_func_end sub_8129A84 + thumb_func_end ContestAICmd_unk_3D - thumb_func_start sub_8129AC4 -sub_8129AC4: @ 8129AC4 + thumb_func_start ContestAICmd_unk_3E +ContestAICmd_unk_3E: @ 8129AC4 push {lr} - bl contest_ai_get_move_used_count + bl ContestAICmd_get_move_used_count ldr r0, _08129AF4 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2515,12 +2515,12 @@ _08129AFC: _08129B00: pop {r0} bx r0 - thumb_func_end sub_8129AC4 + thumb_func_end ContestAICmd_unk_3E - thumb_func_start sub_8129B04 -sub_8129B04: @ 8129B04 + thumb_func_start ContestAICmd_unk_3F +ContestAICmd_unk_3F: @ 8129B04 push {lr} - bl contest_ai_get_move_used_count + bl ContestAICmd_get_move_used_count ldr r0, _08129B34 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2550,10 +2550,10 @@ _08129B3C: _08129B40: pop {r0} bx r0 - thumb_func_end sub_8129B04 + thumb_func_end ContestAICmd_unk_3F - thumb_func_start contest_ai_check_combo_starter -contest_ai_check_combo_starter: @ 8129B44 + thumb_func_start ContestAICmd_check_combo_starter +ContestAICmd_check_combo_starter: @ 8129B44 push {r4-r7,lr} mov r7, r8 push {r7} @@ -2613,12 +2613,12 @@ _08129B96: _08129BAC: .4byte gContestMons _08129BB0: .4byte 0x020192e4 _08129BB4: .4byte gAIScriptPtr - thumb_func_end contest_ai_check_combo_starter + thumb_func_end ContestAICmd_check_combo_starter - thumb_func_start sub_8129BB8 -sub_8129BB8: @ 8129BB8 + thumb_func_start ContestAICmd_unk_41 +ContestAICmd_unk_41: @ 8129BB8 push {lr} - bl contest_ai_check_combo_starter + bl ContestAICmd_check_combo_starter ldr r0, _08129BE4 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2651,12 +2651,12 @@ _08129BF4: bx r0 .align 2, 0 _08129BF8: .4byte gAIScriptPtr - thumb_func_end sub_8129BB8 + thumb_func_end ContestAICmd_unk_41 - thumb_func_start sub_8129BFC -sub_8129BFC: @ 8129BFC + thumb_func_start ContestAICmd_unk_42 +ContestAICmd_unk_42: @ 8129BFC push {lr} - bl contest_ai_check_combo_starter + bl ContestAICmd_check_combo_starter ldr r0, _08129C28 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2689,10 +2689,10 @@ _08129C38: bx r0 .align 2, 0 _08129C3C: .4byte gAIScriptPtr - thumb_func_end sub_8129BFC + thumb_func_end ContestAICmd_unk_42 - thumb_func_start contest_ai_check_combo_finisher -contest_ai_check_combo_finisher: @ 8129C40 + thumb_func_start ContestAICmd_check_combo_finisher +ContestAICmd_check_combo_finisher: @ 8129C40 push {r4-r7,lr} mov r7, r8 push {r7} @@ -2751,12 +2751,12 @@ _08129C90: _08129CA8: .4byte gContestMons _08129CAC: .4byte 0x020192e4 _08129CB0: .4byte gAIScriptPtr - thumb_func_end contest_ai_check_combo_finisher + thumb_func_end ContestAICmd_check_combo_finisher - thumb_func_start sub_8129CB4 -sub_8129CB4: @ 8129CB4 + thumb_func_start ContestAICmd_unk_44 +ContestAICmd_unk_44: @ 8129CB4 push {lr} - bl contest_ai_check_combo_finisher + bl ContestAICmd_check_combo_finisher ldr r0, _08129CE0 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2789,12 +2789,12 @@ _08129CF0: bx r0 .align 2, 0 _08129CF4: .4byte gAIScriptPtr - thumb_func_end sub_8129CB4 + thumb_func_end ContestAICmd_unk_44 - thumb_func_start sub_8129CF8 -sub_8129CF8: @ 8129CF8 + thumb_func_start ContestAICmd_unk_45 +ContestAICmd_unk_45: @ 8129CF8 push {lr} - bl contest_ai_check_combo_finisher + bl ContestAICmd_check_combo_finisher ldr r0, _08129D24 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2827,10 +2827,10 @@ _08129D34: bx r0 .align 2, 0 _08129D38: .4byte gAIScriptPtr - thumb_func_end sub_8129CF8 + thumb_func_end ContestAICmd_unk_45 - thumb_func_start contest_ai_check_would_finish_combo -contest_ai_check_would_finish_combo: @ 8129D3C + thumb_func_start ContestAICmd_check_would_finish_combo +ContestAICmd_check_would_finish_combo: @ 8129D3C push {r4,r5,lr} movs r5, 0 ldr r3, _08129D8C @ =gContestMons @@ -2875,12 +2875,12 @@ _08129D7A: _08129D8C: .4byte gContestMons _08129D90: .4byte 0x020192e4 _08129D94: .4byte gAIScriptPtr - thumb_func_end contest_ai_check_would_finish_combo + thumb_func_end ContestAICmd_check_would_finish_combo - thumb_func_start sub_8129D98 -sub_8129D98: @ 8129D98 + thumb_func_start ContestAICmd_unk_47 +ContestAICmd_unk_47: @ 8129D98 push {lr} - bl contest_ai_check_would_finish_combo + bl ContestAICmd_check_would_finish_combo ldr r0, _08129DC4 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2913,12 +2913,12 @@ _08129DD4: bx r0 .align 2, 0 _08129DD8: .4byte gAIScriptPtr - thumb_func_end sub_8129D98 + thumb_func_end ContestAICmd_unk_47 - thumb_func_start sub_8129DDC -sub_8129DDC: @ 8129DDC + thumb_func_start ContestAICmd_unk_48 +ContestAICmd_unk_48: @ 8129DDC push {lr} - bl contest_ai_check_would_finish_combo + bl ContestAICmd_check_would_finish_combo ldr r0, _08129E08 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -2951,10 +2951,10 @@ _08129E18: bx r0 .align 2, 0 _08129E1C: .4byte gAIScriptPtr - thumb_func_end sub_8129DDC + thumb_func_end ContestAICmd_unk_48 - thumb_func_start contest_ai_get_condition -contest_ai_get_condition: @ 8129E20 + thumb_func_start ContestAICmd_get_condition +ContestAICmd_get_condition: @ 8129E20 push {r4,r5,lr} ldr r4, _08129E5C @ =gAIScriptPtr ldr r0, [r4] @@ -2985,12 +2985,12 @@ contest_ai_get_condition: @ 8129E20 .align 2, 0 _08129E5C: .4byte gAIScriptPtr _08129E60: .4byte 0x020192e4 - thumb_func_end contest_ai_get_condition + thumb_func_end ContestAICmd_get_condition - thumb_func_start sub_8129E64 -sub_8129E64: @ 8129E64 + thumb_func_start ContestAICmd_unk_4A +ContestAICmd_unk_4A: @ 8129E64 push {lr} - bl contest_ai_get_condition + bl ContestAICmd_get_condition ldr r0, _08129E94 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3020,12 +3020,12 @@ _08129E9C: _08129EA0: pop {r0} bx r0 - thumb_func_end sub_8129E64 + thumb_func_end ContestAICmd_unk_4A - thumb_func_start sub_8129EA4 -sub_8129EA4: @ 8129EA4 + thumb_func_start ContestAICmd_unk_4B +ContestAICmd_unk_4B: @ 8129EA4 push {lr} - bl contest_ai_get_condition + bl ContestAICmd_get_condition ldr r0, _08129ED4 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3055,12 +3055,12 @@ _08129EDC: _08129EE0: pop {r0} bx r0 - thumb_func_end sub_8129EA4 + thumb_func_end ContestAICmd_unk_4B - thumb_func_start sub_8129EE4 -sub_8129EE4: @ 8129EE4 + thumb_func_start ContestAICmd_unk_4C +ContestAICmd_unk_4C: @ 8129EE4 push {lr} - bl contest_ai_get_condition + bl ContestAICmd_get_condition ldr r0, _08129F14 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3090,12 +3090,12 @@ _08129F1C: _08129F20: pop {r0} bx r0 - thumb_func_end sub_8129EE4 + thumb_func_end ContestAICmd_unk_4C - thumb_func_start sub_8129F24 -sub_8129F24: @ 8129F24 + thumb_func_start ContestAICmd_unk_4D +ContestAICmd_unk_4D: @ 8129F24 push {lr} - bl contest_ai_get_condition + bl ContestAICmd_get_condition ldr r0, _08129F54 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3125,10 +3125,10 @@ _08129F5C: _08129F60: pop {r0} bx r0 - thumb_func_end sub_8129F24 + thumb_func_end ContestAICmd_unk_4D - thumb_func_start contest_ai_get_used_combo_starter -contest_ai_get_used_combo_starter: @ 8129F64 + thumb_func_start ContestAICmd_get_used_combo_starter +ContestAICmd_get_used_combo_starter: @ 8129F64 push {r4-r6,lr} movs r6, 0 ldr r5, _08129FAC @ =gAIScriptPtr @@ -3169,12 +3169,12 @@ _08129FAC: .4byte gAIScriptPtr _08129FB0: .4byte gContestMoves _08129FB4: .4byte 0x02019260 _08129FB8: .4byte 0x020192e4 - thumb_func_end contest_ai_get_used_combo_starter + thumb_func_end ContestAICmd_get_used_combo_starter - thumb_func_start sub_8129FBC -sub_8129FBC: @ 8129FBC + thumb_func_start ContestAICmd_unk_4F +ContestAICmd_unk_4F: @ 8129FBC push {lr} - bl contest_ai_get_used_combo_starter + bl ContestAICmd_get_used_combo_starter ldr r0, _08129FEC @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3204,12 +3204,12 @@ _08129FF4: _08129FF8: pop {r0} bx r0 - thumb_func_end sub_8129FBC + thumb_func_end ContestAICmd_unk_4F - thumb_func_start sub_8129FFC -sub_8129FFC: @ 8129FFC + thumb_func_start ContestAICmd_unk_50 +ContestAICmd_unk_50: @ 8129FFC push {lr} - bl contest_ai_get_used_combo_starter + bl ContestAICmd_get_used_combo_starter ldr r0, _0812A02C @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3239,12 +3239,12 @@ _0812A034: _0812A038: pop {r0} bx r0 - thumb_func_end sub_8129FFC + thumb_func_end ContestAICmd_unk_50 - thumb_func_start sub_812A03C -sub_812A03C: @ 812A03C + thumb_func_start ContestAICmd_unk_51 +ContestAICmd_unk_51: @ 812A03C push {lr} - bl contest_ai_get_used_combo_starter + bl ContestAICmd_get_used_combo_starter ldr r0, _0812A06C @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3274,12 +3274,12 @@ _0812A074: _0812A078: pop {r0} bx r0 - thumb_func_end sub_812A03C + thumb_func_end ContestAICmd_unk_51 - thumb_func_start sub_812A07C -sub_812A07C: @ 812A07C + thumb_func_start ContestAICmd_unk_52 +ContestAICmd_unk_52: @ 812A07C push {lr} - bl contest_ai_get_used_combo_starter + bl ContestAICmd_get_used_combo_starter ldr r0, _0812A0AC @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3309,10 +3309,10 @@ _0812A0B4: _0812A0B8: pop {r0} bx r0 - thumb_func_end sub_812A07C + thumb_func_end ContestAICmd_unk_52 - thumb_func_start contest_ai_check_can_participate -contest_ai_check_can_participate: @ 812A0BC + thumb_func_start ContestAICmd_check_can_participate +ContestAICmd_check_can_participate: @ 812A0BC push {lr} ldr r0, _0812A0DC @ =gAIScriptPtr ldr r0, [r0] @@ -3344,12 +3344,12 @@ _0812A0E8: .align 2, 0 _0812A0F8: .4byte 0x020192e4 _0812A0FC: .4byte gAIScriptPtr - thumb_func_end contest_ai_check_can_participate + thumb_func_end ContestAICmd_check_can_participate - thumb_func_start sub_812A100 -sub_812A100: @ 812A100 + thumb_func_start ContestAICmd_unk_54 +ContestAICmd_unk_54: @ 812A100 push {lr} - bl contest_ai_check_can_participate + bl ContestAICmd_check_can_participate ldr r0, _0812A12C @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3382,12 +3382,12 @@ _0812A13C: bx r0 .align 2, 0 _0812A140: .4byte gAIScriptPtr - thumb_func_end sub_812A100 + thumb_func_end ContestAICmd_unk_54 - thumb_func_start sub_812A144 -sub_812A144: @ 812A144 + thumb_func_start ContestAICmd_unk_55 +ContestAICmd_unk_55: @ 812A144 push {lr} - bl contest_ai_check_can_participate + bl ContestAICmd_check_can_participate ldr r0, _0812A170 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3420,10 +3420,10 @@ _0812A180: bx r0 .align 2, 0 _0812A184: .4byte gAIScriptPtr - thumb_func_end sub_812A144 + thumb_func_end ContestAICmd_unk_55 - thumb_func_start contest_ai_get_val_812A188 -contest_ai_get_val_812A188: @ 812A188 + thumb_func_start ContestAICmd_get_val_812A188 +ContestAICmd_get_val_812A188: @ 812A188 push {r4,lr} ldr r4, _0812A1BC @ =gAIScriptPtr ldr r0, [r4] @@ -3451,12 +3451,12 @@ contest_ai_get_val_812A188: @ 812A188 .align 2, 0 _0812A1BC: .4byte gAIScriptPtr _0812A1C0: .4byte 0x020192e4 - thumb_func_end contest_ai_get_val_812A188 + thumb_func_end ContestAICmd_get_val_812A188 - thumb_func_start sub_812A1C4 -sub_812A1C4: @ 812A1C4 + thumb_func_start ContestAICmd_unk_57 +ContestAICmd_unk_57: @ 812A1C4 push {lr} - bl contest_ai_get_val_812A188 + bl ContestAICmd_get_val_812A188 ldr r0, _0812A1F0 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3489,12 +3489,12 @@ _0812A200: bx r0 .align 2, 0 _0812A204: .4byte gAIScriptPtr - thumb_func_end sub_812A1C4 + thumb_func_end ContestAICmd_unk_57 - thumb_func_start sub_812A208 -sub_812A208: @ 812A208 + thumb_func_start ContestAICmd_unk_58 +ContestAICmd_unk_58: @ 812A208 push {lr} - bl contest_ai_get_val_812A188 + bl ContestAICmd_get_val_812A188 ldr r0, _0812A234 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3527,10 +3527,10 @@ _0812A244: bx r0 .align 2, 0 _0812A248: .4byte gAIScriptPtr - thumb_func_end sub_812A208 + thumb_func_end ContestAICmd_unk_58 - thumb_func_start sub_812A24C -sub_812A24C: @ 812A24C + thumb_func_start ContestAICmd_unk_59 +ContestAICmd_unk_59: @ 812A24C push {r4,r5,lr} ldr r5, _0812A28C @ =gAIScriptPtr ldr r0, [r5] @@ -3565,12 +3565,12 @@ sub_812A24C: @ 812A24C .align 2, 0 _0812A28C: .4byte gAIScriptPtr _0812A290: .4byte 0x020192e4 - thumb_func_end sub_812A24C + thumb_func_end ContestAICmd_unk_59 - thumb_func_start sub_812A294 -sub_812A294: @ 812A294 + thumb_func_start ContestAICmd_unk_5A +ContestAICmd_unk_5A: @ 812A294 push {lr} - bl sub_812A24C + bl ContestAICmd_unk_59 ldr r0, _0812A2C0 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3603,12 +3603,12 @@ _0812A2D0: bx r0 .align 2, 0 _0812A2D4: .4byte gAIScriptPtr - thumb_func_end sub_812A294 + thumb_func_end ContestAICmd_unk_5A - thumb_func_start sub_812A2D8 -sub_812A2D8: @ 812A2D8 + thumb_func_start ContestAICmd_unk_5B +ContestAICmd_unk_5B: @ 812A2D8 push {lr} - bl sub_812A24C + bl ContestAICmd_unk_59 ldr r0, _0812A304 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3641,12 +3641,12 @@ _0812A314: bx r0 .align 2, 0 _0812A318: .4byte gAIScriptPtr - thumb_func_end sub_812A2D8 + thumb_func_end ContestAICmd_unk_5B - thumb_func_start sub_812A31C -sub_812A31C: @ 812A31C + thumb_func_start ContestAICmd_unk_5C +ContestAICmd_unk_5C: @ 812A31C push {lr} - bl sub_812A24C + bl ContestAICmd_unk_59 ldr r0, _0812A348 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3679,12 +3679,12 @@ _0812A358: bx r0 .align 2, 0 _0812A35C: .4byte gAIScriptPtr - thumb_func_end sub_812A31C + thumb_func_end ContestAICmd_unk_5C - thumb_func_start sub_812A360 -sub_812A360: @ 812A360 + thumb_func_start ContestAICmd_unk_5D +ContestAICmd_unk_5D: @ 812A360 push {lr} - bl sub_812A24C + bl ContestAICmd_unk_59 ldr r0, _0812A38C @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3717,10 +3717,10 @@ _0812A39C: bx r0 .align 2, 0 _0812A3A0: .4byte gAIScriptPtr - thumb_func_end sub_812A360 + thumb_func_end ContestAICmd_unk_5D - thumb_func_start sub_812A3A4 -sub_812A3A4: @ 812A3A4 + thumb_func_start ContestAICmd_unk_5E +ContestAICmd_unk_5E: @ 812A3A4 push {r4,lr} ldr r4, _0812A3D8 @ =gAIScriptPtr ldr r0, [r4] @@ -3750,12 +3750,12 @@ sub_812A3A4: @ 812A3A4 _0812A3D8: .4byte gAIScriptPtr _0812A3DC: .4byte 0x020192e4 _0812A3E0: .4byte gUnknown_02038670 - thumb_func_end sub_812A3A4 + thumb_func_end ContestAICmd_unk_5E - thumb_func_start sub_812A3E4 -sub_812A3E4: @ 812A3E4 + thumb_func_start ContestAICmd_unk_5F +ContestAICmd_unk_5F: @ 812A3E4 push {lr} - bl sub_812A3A4 + bl ContestAICmd_unk_5E ldr r0, _0812A410 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3788,12 +3788,12 @@ _0812A420: bx r0 .align 2, 0 _0812A424: .4byte gAIScriptPtr - thumb_func_end sub_812A3E4 + thumb_func_end ContestAICmd_unk_5F - thumb_func_start sub_812A428 -sub_812A428: @ 812A428 + thumb_func_start ContestAICmd_unk_60 +ContestAICmd_unk_60: @ 812A428 push {lr} - bl sub_812A3A4 + bl ContestAICmd_unk_5E ldr r0, _0812A454 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3826,12 +3826,12 @@ _0812A464: bx r0 .align 2, 0 _0812A468: .4byte gAIScriptPtr - thumb_func_end sub_812A428 + thumb_func_end ContestAICmd_unk_60 - thumb_func_start sub_812A46C -sub_812A46C: @ 812A46C + thumb_func_start ContestAICmd_unk_61 +ContestAICmd_unk_61: @ 812A46C push {lr} - bl sub_812A3A4 + bl ContestAICmd_unk_5E ldr r0, _0812A498 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3864,12 +3864,12 @@ _0812A4A8: bx r0 .align 2, 0 _0812A4AC: .4byte gAIScriptPtr - thumb_func_end sub_812A46C + thumb_func_end ContestAICmd_unk_61 - thumb_func_start sub_812A4B0 -sub_812A4B0: @ 812A4B0 + thumb_func_start ContestAICmd_unk_62 +ContestAICmd_unk_62: @ 812A4B0 push {lr} - bl sub_812A3A4 + bl ContestAICmd_unk_5E ldr r0, _0812A4DC @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3902,10 +3902,10 @@ _0812A4EC: bx r0 .align 2, 0 _0812A4F0: .4byte gAIScriptPtr - thumb_func_end sub_812A4B0 + thumb_func_end ContestAICmd_unk_62 - thumb_func_start sub_812A4F4 -sub_812A4F4: @ 812A4F4 + thumb_func_start ContestAICmd_unk_63 +ContestAICmd_unk_63: @ 812A4F4 push {r4,lr} ldr r4, _0812A52C @ =gAIScriptPtr ldr r0, [r4] @@ -3937,12 +3937,12 @@ sub_812A4F4: @ 812A4F4 _0812A52C: .4byte gAIScriptPtr _0812A530: .4byte 0x02019204 _0812A534: .4byte gContestMoves - thumb_func_end sub_812A4F4 + thumb_func_end ContestAICmd_unk_63 - thumb_func_start sub_812A538 -sub_812A538: @ 812A538 + thumb_func_start ContestAICmd_unk_64 +ContestAICmd_unk_64: @ 812A538 push {lr} - bl sub_812A4F4 + bl ContestAICmd_unk_63 ldr r0, _0812A568 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -3972,12 +3972,12 @@ _0812A570: _0812A574: pop {r0} bx r0 - thumb_func_end sub_812A538 + thumb_func_end ContestAICmd_unk_64 - thumb_func_start sub_812A578 -sub_812A578: @ 812A578 + thumb_func_start ContestAICmd_unk_65 +ContestAICmd_unk_65: @ 812A578 push {lr} - bl sub_812A4F4 + bl ContestAICmd_unk_63 ldr r0, _0812A5A8 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -4007,12 +4007,12 @@ _0812A5B0: _0812A5B4: pop {r0} bx r0 - thumb_func_end sub_812A578 + thumb_func_end ContestAICmd_unk_65 - thumb_func_start sub_812A5B8 -sub_812A5B8: @ 812A5B8 + thumb_func_start ContestAICmd_unk_66 +ContestAICmd_unk_66: @ 812A5B8 push {lr} - bl sub_812A4F4 + bl ContestAICmd_unk_63 ldr r0, _0812A5E8 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -4042,12 +4042,12 @@ _0812A5F0: _0812A5F4: pop {r0} bx r0 - thumb_func_end sub_812A5B8 + thumb_func_end ContestAICmd_unk_66 - thumb_func_start sub_812A5F8 -sub_812A5F8: @ 812A5F8 + thumb_func_start ContestAICmd_unk_67 +ContestAICmd_unk_67: @ 812A5F8 push {lr} - bl sub_812A4F4 + bl ContestAICmd_unk_63 ldr r0, _0812A628 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -4077,10 +4077,10 @@ _0812A630: _0812A634: pop {r0} bx r0 - thumb_func_end sub_812A5F8 + thumb_func_end ContestAICmd_unk_67 - thumb_func_start sub_812A638 -sub_812A638: @ 812A638 + thumb_func_start ContestAICmd_unk_68 +ContestAICmd_unk_68: @ 812A638 push {r4,lr} ldr r4, _0812A66C @ =gAIScriptPtr ldr r0, [r4] @@ -4109,12 +4109,12 @@ sub_812A638: @ 812A638 .align 2, 0 _0812A66C: .4byte gAIScriptPtr _0812A670: .4byte 0x02019204 - thumb_func_end sub_812A638 + thumb_func_end ContestAICmd_unk_68 - thumb_func_start sub_812A674 -sub_812A674: @ 812A674 + thumb_func_start ContestAICmd_unk_69 +ContestAICmd_unk_69: @ 812A674 push {lr} - bl sub_812A638 + bl ContestAICmd_unk_68 ldr r0, _0812A6A4 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -4144,12 +4144,12 @@ _0812A6AC: _0812A6B0: pop {r0} bx r0 - thumb_func_end sub_812A674 + thumb_func_end ContestAICmd_unk_69 - thumb_func_start sub_812A6B4 -sub_812A6B4: @ 812A6B4 + thumb_func_start ContestAICmd_unk_6A +ContestAICmd_unk_6A: @ 812A6B4 push {lr} - bl sub_812A638 + bl ContestAICmd_unk_68 ldr r0, _0812A6E4 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -4179,12 +4179,12 @@ _0812A6EC: _0812A6F0: pop {r0} bx r0 - thumb_func_end sub_812A6B4 + thumb_func_end ContestAICmd_unk_6A - thumb_func_start sub_812A6F4 -sub_812A6F4: @ 812A6F4 + thumb_func_start ContestAICmd_unk_6B +ContestAICmd_unk_6B: @ 812A6F4 push {lr} - bl sub_812A638 + bl ContestAICmd_unk_68 ldr r0, _0812A724 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -4214,12 +4214,12 @@ _0812A72C: _0812A730: pop {r0} bx r0 - thumb_func_end sub_812A6F4 + thumb_func_end ContestAICmd_unk_6B - thumb_func_start sub_812A734 -sub_812A734: @ 812A734 + thumb_func_start ContestAICmd_unk_6C +ContestAICmd_unk_6C: @ 812A734 push {lr} - bl sub_812A638 + bl ContestAICmd_unk_68 ldr r0, _0812A764 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -4249,10 +4249,10 @@ _0812A76C: _0812A770: pop {r0} bx r0 - thumb_func_end sub_812A734 + thumb_func_end ContestAICmd_unk_6C - thumb_func_start sub_812A774 -sub_812A774: @ 812A774 + thumb_func_start ContestAICmd_unk_6D +ContestAICmd_unk_6D: @ 812A774 push {r4,r5,lr} ldr r5, _0812A7B4 @ =gAIScriptPtr ldr r0, [r5] @@ -4289,12 +4289,12 @@ _0812A7B4: .4byte gAIScriptPtr _0812A7B8: .4byte 0x02019204 _0812A7BC: .4byte gContestEffects _0812A7C0: .4byte gContestMoves - thumb_func_end sub_812A774 + thumb_func_end ContestAICmd_unk_6D - thumb_func_start sub_812A7C4 -sub_812A7C4: @ 812A7C4 + thumb_func_start ContestAICmd_unk_6E +ContestAICmd_unk_6E: @ 812A7C4 push {lr} - bl sub_812A774 + bl ContestAICmd_unk_6D ldr r0, _0812A7F4 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -4324,12 +4324,12 @@ _0812A7FC: _0812A800: pop {r0} bx r0 - thumb_func_end sub_812A7C4 + thumb_func_end ContestAICmd_unk_6E - thumb_func_start sub_812A804 -sub_812A804: @ 812A804 + thumb_func_start ContestAICmd_unk_6F +ContestAICmd_unk_6F: @ 812A804 push {lr} - bl sub_812A774 + bl ContestAICmd_unk_6D ldr r0, _0812A834 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -4359,10 +4359,10 @@ _0812A83C: _0812A840: pop {r0} bx r0 - thumb_func_end sub_812A804 + thumb_func_end ContestAICmd_unk_6F - thumb_func_start sub_812A844 -sub_812A844: @ 812A844 + thumb_func_start ContestAICmd_unk_70 +ContestAICmd_unk_70: @ 812A844 push {r4,lr} ldr r3, _0812A864 @ =0x020192e4 ldr r4, _0812A868 @ =gAIScriptPtr @@ -4382,10 +4382,10 @@ sub_812A844: @ 812A844 .align 2, 0 _0812A864: .4byte 0x020192e4 _0812A868: .4byte gAIScriptPtr - thumb_func_end sub_812A844 + thumb_func_end ContestAICmd_unk_70 - thumb_func_start sub_812A86C -sub_812A86C: @ 812A86C + thumb_func_start ContestAICmd_unk_71 +ContestAICmd_unk_71: @ 812A86C push {r4,lr} ldr r0, _0812A890 @ =0x020192e4 ldr r4, _0812A894 @ =gAIScriptPtr @@ -4407,10 +4407,10 @@ sub_812A86C: @ 812A86C .align 2, 0 _0812A890: .4byte 0x020192e4 _0812A894: .4byte gAIScriptPtr - thumb_func_end sub_812A86C + thumb_func_end ContestAICmd_unk_71 - thumb_func_start sub_812A898 -sub_812A898: @ 812A898 + thumb_func_start ContestAICmd_unk_72 +ContestAICmd_unk_72: @ 812A898 push {r4,lr} ldr r0, _0812A8C4 @ =0x020192e4 ldr r4, _0812A8C8 @ =gAIScriptPtr @@ -4435,10 +4435,10 @@ sub_812A898: @ 812A898 .align 2, 0 _0812A8C4: .4byte 0x020192e4 _0812A8C8: .4byte gAIScriptPtr - thumb_func_end sub_812A898 + thumb_func_end ContestAICmd_unk_72 - thumb_func_start sub_812A8CC -sub_812A8CC: @ 812A8CC + thumb_func_start ContestAICmd_unk_73 +ContestAICmd_unk_73: @ 812A8CC push {r4,lr} ldr r2, _0812A8F4 @ =0x020192e4 ldr r4, _0812A8F8 @ =gAIScriptPtr @@ -4462,10 +4462,10 @@ sub_812A8CC: @ 812A8CC .align 2, 0 _0812A8F4: .4byte 0x020192e4 _0812A8F8: .4byte gAIScriptPtr - thumb_func_end sub_812A8CC + thumb_func_end ContestAICmd_unk_73 - thumb_func_start sub_812A8FC -sub_812A8FC: @ 812A8FC + thumb_func_start ContestAICmd_unk_74 +ContestAICmd_unk_74: @ 812A8FC push {r4,lr} ldr r2, _0812A924 @ =0x020192e4 ldr r4, _0812A928 @ =gAIScriptPtr @@ -4489,10 +4489,10 @@ sub_812A8FC: @ 812A8FC .align 2, 0 _0812A924: .4byte 0x020192e4 _0812A928: .4byte gAIScriptPtr - thumb_func_end sub_812A8FC + thumb_func_end ContestAICmd_unk_74 - thumb_func_start sub_812A92C -sub_812A92C: @ 812A92C + thumb_func_start ContestAICmd_unk_75 +ContestAICmd_unk_75: @ 812A92C push {r4,lr} ldr r1, _0812A964 @ =0x020192e4 ldr r4, _0812A968 @ =gAIScriptPtr @@ -4532,10 +4532,10 @@ _0812A972: pop {r4} pop {r0} bx r0 - thumb_func_end sub_812A92C + thumb_func_end ContestAICmd_unk_75 - thumb_func_start sub_812A978 -sub_812A978: @ 812A978 + thumb_func_start ContestAICmd_unk_76 +ContestAICmd_unk_76: @ 812A978 push {r4,lr} ldr r1, _0812A9B0 @ =0x020192e4 ldr r4, _0812A9B4 @ =gAIScriptPtr @@ -4575,10 +4575,10 @@ _0812A9BE: pop {r4} pop {r0} bx r0 - thumb_func_end sub_812A978 + thumb_func_end ContestAICmd_unk_76 - thumb_func_start sub_812A9C4 -sub_812A9C4: @ 812A9C4 + thumb_func_start ContestAICmd_unk_77 +ContestAICmd_unk_77: @ 812A9C4 push {r4,lr} ldr r1, _0812A9FC @ =0x020192e4 ldr r4, _0812AA00 @ =gAIScriptPtr @@ -4618,10 +4618,10 @@ _0812AA0A: pop {r4} pop {r0} bx r0 - thumb_func_end sub_812A9C4 + thumb_func_end ContestAICmd_unk_77 - thumb_func_start sub_812AA10 -sub_812AA10: @ 812AA10 + thumb_func_start ContestAICmd_unk_78 +ContestAICmd_unk_78: @ 812AA10 push {r4,lr} ldr r1, _0812AA48 @ =0x020192e4 ldr r4, _0812AA4C @ =gAIScriptPtr @@ -4661,10 +4661,10 @@ _0812AA56: pop {r4} pop {r0} bx r0 - thumb_func_end sub_812AA10 + thumb_func_end ContestAICmd_unk_78 - thumb_func_start sub_812AA5C -sub_812AA5C: @ 812AA5C + thumb_func_start ContestAICmd_unk_79 +ContestAICmd_unk_79: @ 812AA5C push {r4,lr} ldr r2, _0812AA98 @ =0x020192e4 ldr r4, _0812AA9C @ =gAIScriptPtr @@ -4704,10 +4704,10 @@ _0812AAA4: pop {r4} pop {r0} bx r0 - thumb_func_end sub_812AA5C + thumb_func_end ContestAICmd_unk_79 - thumb_func_start sub_812AAAC -sub_812AAAC: @ 812AAAC + thumb_func_start ContestAICmd_unk_7A +ContestAICmd_unk_7A: @ 812AAAC push {r4,lr} ldr r2, _0812AAE8 @ =0x020192e4 ldr r4, _0812AAEC @ =gAIScriptPtr @@ -4747,10 +4747,10 @@ _0812AAF4: pop {r4} pop {r0} bx r0 - thumb_func_end sub_812AAAC + thumb_func_end ContestAICmd_unk_7A - thumb_func_start sub_812AAFC -sub_812AAFC: @ 812AAFC + thumb_func_start ContestAICmd_unk_7B +ContestAICmd_unk_7B: @ 812AAFC push {r4,lr} ldr r2, _0812AB38 @ =0x020192e4 ldr r4, _0812AB3C @ =gAIScriptPtr @@ -4790,10 +4790,10 @@ _0812AB44: pop {r4} pop {r0} bx r0 - thumb_func_end sub_812AAFC + thumb_func_end ContestAICmd_unk_7B - thumb_func_start sub_812AB4C -sub_812AB4C: @ 812AB4C + thumb_func_start ContestAICmd_unk_7C +ContestAICmd_unk_7C: @ 812AB4C push {r4,lr} ldr r2, _0812AB88 @ =0x020192e4 ldr r4, _0812AB8C @ =gAIScriptPtr @@ -4833,10 +4833,10 @@ _0812AB94: pop {r4} pop {r0} bx r0 - thumb_func_end sub_812AB4C + thumb_func_end ContestAICmd_unk_7C - thumb_func_start sub_812AB9C -sub_812AB9C: @ 812AB9C + thumb_func_start ContestAICmd_unk_7D +ContestAICmd_unk_7D: @ 812AB9C push {r4,lr} bl Random movs r2, 0xFF @@ -4874,10 +4874,10 @@ _0812ABE0: pop {r4} pop {r0} bx r0 - thumb_func_end sub_812AB9C + thumb_func_end ContestAICmd_unk_7D - thumb_func_start sub_812ABE8 -sub_812ABE8: @ 812ABE8 + thumb_func_start ContestAICmd_unk_7E +ContestAICmd_unk_7E: @ 812ABE8 push {r4,lr} bl Random movs r2, 0xFF @@ -4915,10 +4915,10 @@ _0812AC2C: pop {r4} pop {r0} bx r0 - thumb_func_end sub_812ABE8 + thumb_func_end ContestAICmd_unk_7E - thumb_func_start sub_812AC34 -sub_812AC34: @ 812AC34 + thumb_func_start ContestAICmd_unk_7F +ContestAICmd_unk_7F: @ 812AC34 ldr r3, _0812AC50 @ =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2, 0x1] @@ -4935,10 +4935,10 @@ sub_812AC34: @ 812AC34 bx lr .align 2, 0 _0812AC50: .4byte gAIScriptPtr - thumb_func_end sub_812AC34 + thumb_func_end ContestAICmd_unk_7F - thumb_func_start sub_812AC54 -sub_812AC54: @ 812AC54 + thumb_func_start ContestAICmd_unk_80 +ContestAICmd_unk_80: @ 812AC54 push {r4,lr} ldr r4, _0812AC80 @ =gAIScriptPtr ldr r0, [r4] @@ -4961,10 +4961,10 @@ sub_812AC54: @ 812AC54 bx r0 .align 2, 0 _0812AC80: .4byte gAIScriptPtr - thumb_func_end sub_812AC54 + thumb_func_end ContestAICmd_unk_80 - thumb_func_start sub_812AC84 -sub_812AC84: @ 812AC84 + thumb_func_start ContestAICmd_unk_81 +ContestAICmd_unk_81: @ 812AC84 push {lr} bl sub_812ACC8 lsls r0, 24 @@ -4980,7 +4980,7 @@ _0812AC9A: bx r0 .align 2, 0 _0812ACA0: .4byte 0x020192e4 - thumb_func_end sub_812AC84 + thumb_func_end ContestAICmd_unk_81 thumb_func_start sub_812ACA4 sub_812ACA4: @ 812ACA4 @@ -5034,8 +5034,8 @@ _0812ACF4: _0812ACF8: .4byte gAIScriptPtr thumb_func_end sub_812ACC8 - thumb_func_start contest_ai_check_for_exciting_move -contest_ai_check_for_exciting_move: @ 812ACFC + thumb_func_start ContestAICmd_check_for_exciting_move +ContestAICmd_check_for_exciting_move: @ 812ACFC push {r4-r7,lr} movs r5, 0 movs r4, 0 @@ -5077,12 +5077,12 @@ _0812AD36: .align 2, 0 _0812AD48: .4byte 0x020192e4 _0812AD4C: .4byte gAIScriptPtr - thumb_func_end contest_ai_check_for_exciting_move + thumb_func_end ContestAICmd_check_for_exciting_move - thumb_func_start sub_812AD50 -sub_812AD50: @ 812AD50 + thumb_func_start ContestAICmd_unk_83 +ContestAICmd_unk_83: @ 812AD50 push {lr} - bl contest_ai_check_for_exciting_move + bl ContestAICmd_check_for_exciting_move ldr r0, _0812AD7C @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -5115,12 +5115,12 @@ _0812AD8C: bx r0 .align 2, 0 _0812AD90: .4byte gAIScriptPtr - thumb_func_end sub_812AD50 + thumb_func_end ContestAICmd_unk_83 - thumb_func_start sub_812AD94 -sub_812AD94: @ 812AD94 + thumb_func_start ContestAICmd_unk_84 +ContestAICmd_unk_84: @ 812AD94 push {lr} - bl contest_ai_check_for_exciting_move + bl ContestAICmd_check_for_exciting_move ldr r0, _0812ADC0 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -5153,10 +5153,10 @@ _0812ADD0: bx r0 .align 2, 0 _0812ADD4: .4byte gAIScriptPtr - thumb_func_end sub_812AD94 + thumb_func_end ContestAICmd_unk_84 - thumb_func_start sub_812ADD8 -sub_812ADD8: @ 812ADD8 + thumb_func_start ContestAICmd_unk_85 +ContestAICmd_unk_85: @ 812ADD8 push {r4-r7,lr} movs r6, 0 ldr r2, _0812AE08 @ =gAIScriptPtr @@ -5212,12 +5212,12 @@ _0812AE34: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_812ADD8 + thumb_func_end ContestAICmd_unk_85 - thumb_func_start sub_812AE44 -sub_812AE44: @ 812AE44 + thumb_func_start ContestAICmd_unk_86 +ContestAICmd_unk_86: @ 812AE44 push {lr} - bl sub_812ADD8 + bl ContestAICmd_unk_85 ldr r0, _0812AE70 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -5250,12 +5250,12 @@ _0812AE80: bx r0 .align 2, 0 _0812AE84: .4byte gAIScriptPtr - thumb_func_end sub_812AE44 + thumb_func_end ContestAICmd_unk_86 - thumb_func_start sub_812AE88 -sub_812AE88: @ 812AE88 + thumb_func_start ContestAICmd_unk_87 +ContestAICmd_unk_87: @ 812AE88 push {lr} - bl sub_812ADD8 + bl ContestAICmd_unk_85 ldr r0, _0812AEB4 @ =0x020192e4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -5288,6 +5288,6 @@ _0812AEC4: bx r0 .align 2, 0 _0812AEC8: .4byte gAIScriptPtr - thumb_func_end sub_812AE88 + thumb_func_end ContestAICmd_unk_87 .align 2, 0 @ Don't pad with nop. diff --git a/asm/credits.s b/asm/credits.s deleted file mode 100644 index 860015e46..000000000 --- a/asm/credits.s +++ /dev/null @@ -1,2713 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start task_d_8144514 -task_d_8144514: @ 8144514 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, _08144548 @ =0x0201c000 - ldr r3, _0814454C @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r2, r0, r3 - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _08144550 - cmp r0, 0x1 - bgt _0814453C - b _08144658 -_0814453C: - cmp r0, 0x2 - beq _08144584 - cmp r0, 0x3 - bne _08144546 - b _08144644 -_08144546: - b _08144658 - .align 2, 0 -_08144548: .4byte 0x0201c000 -_0814454C: .4byte gTasks -_08144550: - adds r0, r6, 0 - adds r0, 0x8A - ldrh r0, [r0] - cmp r0, 0 - bne _0814456E - movs r4, 0xA - ldrsh r0, [r2, r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r4, 0x24 - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _08144658 -_0814456E: - movs r0, 0xA - ldrsh r1, [r2, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x24] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - b _08144656 -_08144584: - adds r0, r6, 0 - adds r0, 0x88 - ldrh r1, [r0] - mov r9, r0 - cmp r1, 0x44 - beq _08144658 - movs r4, 0xA - ldrsh r1, [r2, r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - ldr r1, [r0] - ldr r0, _081445EC @ =sub_8143B68 - cmp r1, r0 - bne _08144658 - adds r7, r6, 0 - adds r7, 0x8C - ldrh r0, [r7] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - ldr r4, _081445F0 @ =gUnknown_0840CA00 - adds r5, r6, 0 - adds r5, 0x8A - ldrh r3, [r5] - lsls r2, r3, 1 - adds r1, r2, r4 - ldrb r1, [r1] - adds r4, 0x1 - adds r2, r4 - ldrb r2, [r2] - bl sub_81456B4 - lsls r0, 24 - lsrs r2, r0, 24 - ldrh r1, [r7] - adds r0, r6, 0 - adds r0, 0x8E - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bge _081445F8 - adds r0, r1, 0x1 - strh r0, [r7] - ldr r1, _081445F4 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x32 - b _0814460A - .align 2, 0 -_081445EC: .4byte task_a_8143B68 -_081445F0: .4byte gUnknown_0840CA00 -_081445F4: .4byte gSprites -_081445F8: - movs r0, 0 - strh r0, [r7] - ldr r1, _08144620 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x80 - lsls r1, 2 -_0814460A: - strh r1, [r0, 0x34] - mov r1, r9 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrh r0, [r5] - cmp r0, 0x2 - bne _08144624 - movs r0, 0 - b _08144626 - .align 2, 0 -_08144620: .4byte gSprites -_08144624: - adds r0, 0x1 -_08144626: - strh r0, [r5] - ldr r0, _08144640 @ =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x32 - strh r0, [r1, 0xE] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08144658 - .align 2, 0 -_08144640: .4byte gTasks -_08144644: - ldrh r1, [r2, 0xE] - movs r3, 0xE - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08144654 - subs r0, r1, 0x1 - strh r0, [r2, 0xE] - b _08144658 -_08144654: - movs r0, 0x1 -_08144656: - strh r0, [r2, 0x8] -_08144658: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end task_d_8144514 - - thumb_func_start sub_8144664 -sub_8144664: @ 8144664 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0814468C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r6, r1, 0 - cmp r0, 0x32 - bls _08144680 - b _0814492C -_08144680: - lsls r0, 2 - ldr r1, _08144690 @ =_08144694 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814468C: .4byte gTasks -_08144690: .4byte _08144694 - .align 2, 0 -_08144694: - .4byte _08144760 - .4byte _08144784 - .4byte _081447D8 - .4byte _081447F0 - .4byte _0814482C - .4byte _08144850 - .4byte _0814489C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _081448A8 - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _081448C8 - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _081448EC - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _08144920 -_08144760: - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r6 - ldrh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 17 - movs r1, 0x7F - ands r0, r1 - movs r1, 0xC - bl Sin - ldr r1, _08144780 @ =gUnknown_0203935A - strh r0, [r1] - b _081447A8 - .align 2, 0 -_08144780: .4byte gUnknown_0203935A -_08144784: - ldr r7, _081447B0 @ =gUnknown_0203935A - movs r3, 0 - ldrsh r4, [r7, r3] - cmp r4, 0 - beq _081447B4 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r6 - ldrh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 17 - movs r1, 0x7F - ands r0, r1 - movs r1, 0xC - bl Sin - strh r0, [r7] -_081447A8: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - b _0814492C - .align 2, 0 -_081447B0: .4byte gUnknown_0203935A -_081447B4: - ldr r3, _081447D4 @ =gSprites - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r6 - movs r0, 0xC - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - movs r2, 0x2 - strh r2, [r0, 0x2E] - strh r4, [r1, 0x12] - b _08144848 - .align 2, 0 -_081447D4: .4byte gSprites -_081447D8: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r6 - ldrh r2, [r1, 0x12] - movs r3, 0x12 - ldrsh r0, [r1, r3] - cmp r0, 0x3F - bgt _08144848 - adds r0, r2, 0x1 - strh r0, [r1, 0x12] - b _08144866 -_081447F0: - ldr r3, _08144828 @ =gSprites - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r6 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x3 - strh r1, [r0, 0x2E] - movs r0, 0xE - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x1 - strh r1, [r0, 0x2E] - movs r0, 0x78 - strh r0, [r2, 0x10] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _0814492C - .align 2, 0 -_08144828: .4byte gSprites -_0814482C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r6 - ldrh r2, [r1, 0x10] - movs r3, 0x10 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08144844 - subs r0, r2, 0x1 - strh r0, [r1, 0x10] - b _0814492C -_08144844: - movs r0, 0x40 - strh r0, [r1, 0x12] -_08144848: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0814492C -_08144850: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - ldrh r1, [r4, 0x12] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _0814487C - subs r0, r1, 0x1 - strh r0, [r4, 0x12] -_08144866: - movs r1, 0x7F - ands r0, r1 - movs r1, 0x14 - bl Sin - ldr r1, _08144878 @ =gUnknown_0203935A - strh r0, [r1] - b _0814492C - .align 2, 0 -_08144878: .4byte gUnknown_0203935A -_0814487C: - ldr r2, _08144898 @ =gSprites - movs r3, 0xC - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x2E] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0814492C - .align 2, 0 -_08144898: .4byte gSprites -_0814489C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0x32 - b _0814492A -_081448A8: - ldr r3, _081448C4 @ =gSprites - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r6 - movs r0, 0xE - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - movs r2, 0x2 - b _081448E0 - .align 2, 0 -_081448C4: .4byte gSprites -_081448C8: - ldr r3, _081448E8 @ =gSprites - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r6 - movs r0, 0xC - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - movs r2, 0x4 -_081448E0: - strh r2, [r0, 0x2E] - movs r0, 0x32 - strh r0, [r1, 0x8] - b _0814492C - .align 2, 0 -_081448E8: .4byte gSprites -_081448EC: - ldr r3, _0814491C @ =gSprites - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r6 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5 - strh r1, [r0, 0x2E] - movs r0, 0xE - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x3 - strh r1, [r0, 0x2E] - movs r0, 0x32 - strh r0, [r2, 0x8] - b _0814492C - .align 2, 0 -_0814491C: .4byte gSprites -_08144920: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0 -_0814492A: - strh r1, [r0, 0x8] -_0814492C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8144664 - - thumb_func_start sub_8144934 -sub_8144934: @ 8144934 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _08144958 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r3, 0x8 - ldrsh r0, [r0, r3] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _08144974 - lsls r0, 2 - ldr r1, _0814495C @ =_08144960 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08144958: .4byte gTasks -_0814495C: .4byte _08144960 - .align 2, 0 -_08144960: - .4byte _08144974 - .4byte _081449B8 - .4byte _081449C4 - .4byte _08144A0C - .4byte _08144A5C -_08144974: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r2, r0, r4 - movs r1, 0xA - ldrsh r0, [r2, r1] - ldr r5, _081449C0 @ =0x00007fff - cmp r0, r5 - beq _081449B8 - movs r3, 0xC - ldrsh r1, [r2, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r3, r0, r4 - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0x2 - bne _081449B8 - movs r1, 0xA - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x14 - strh r0, [r1, 0x8] - strh r5, [r2, 0xA] -_081449B8: - movs r0, 0 - bl sub_8149020 - b _08144A62 - .align 2, 0 -_081449C0: .4byte 0x00007fff -_081449C4: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r2, r0, r4 - movs r3, 0xA - ldrsh r0, [r2, r3] - ldr r5, _08144A08 @ =0x00007fff - cmp r0, r5 - beq _08144A54 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r3, 0xA - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r3, r0, r4 - ldrh r1, [r3, 0x12] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - movs r1, 0xA0 - lsls r1, 2 - cmp r0, r1 - bne _08144A54 - movs r0, 0x1 - strh r0, [r3, 0x8] - strh r5, [r2, 0xA] - b _08144A54 - .align 2, 0 -_08144A08: .4byte 0x00007fff -_08144A0C: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r2, r0, r4 - ldrh r3, [r2, 0xA] - movs r0, 0xA - ldrsh r1, [r2, r0] - ldr r5, _08144A48 @ =0x00007fff - cmp r1, r5 - beq _08144A54 - ldr r0, _08144A4C @ =0x000001f3 - cmp r1, r0 - bne _08144A50 - movs r3, 0xC - ldrsh r1, [r2, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r3, 0xA - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0xA - strh r1, [r0, 0x8] - strh r5, [r2, 0xA] - b _08144A54 - .align 2, 0 -_08144A48: .4byte 0x00007fff -_08144A4C: .4byte 0x000001f3 -_08144A50: - adds r0, r3, 0x1 - strh r0, [r2, 0xA] -_08144A54: - movs r0, 0x1 - bl sub_8149020 - b _08144A62 -_08144A5C: - movs r0, 0x2 - bl sub_8149020 -_08144A62: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8144934 - - thumb_func_start sub_8144A68 -sub_8144A68: @ 8144A68 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - cmp r0, 0x4 - bls _08144A7E - b _08144DFC -_08144A7E: - lsls r0, 2 - ldr r1, _08144A88 @ =_08144A8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08144A88: .4byte _08144A8C - .align 2, 0 -_08144A8C: - .4byte _08144AA0 - .4byte _08144B48 - .4byte _08144BF4 - .4byte _08144CA0 - .4byte _08144D50 -_08144AA0: - ldr r5, _08144B40 @ =gSprites - ldr r0, _08144B44 @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r2, 0x88 - lsls r2, 1 - strh r2, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - movs r2, 0x20 - b _08144DF0 - .align 2, 0 -_08144B40: .4byte gSprites -_08144B44: .4byte gTasks -_08144B48: - ldr r5, _08144BEC @ =gSprites - ldr r0, _08144BF0 @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x88 - lsls r1, 1 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - movs r2, 0x20 - b _08144DF0 - .align 2, 0 -_08144BEC: .4byte gSprites -_08144BF0: .4byte gTasks -_08144BF4: - ldr r5, _08144C98 @ =gSprites - ldr r0, _08144C9C @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x88 - lsls r1, 1 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x1 - b _08144DF0 - .align 2, 0 -_08144C98: .4byte gSprites -_08144C9C: .4byte gTasks -_08144CA0: - ldr r5, _08144D44 @ =gSprites - ldr r0, _08144D48 @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08144D4C @ =0x0000ffe0 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x1 - b _08144DF0 - .align 2, 0 -_08144D44: .4byte gSprites -_08144D48: .4byte gTasks -_08144D4C: .4byte 0x0000ffe0 -_08144D50: - ldr r5, _08144EBC @ =gSprites - ldr r0, _08144EC0 @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x58 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x98 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x2 -_08144DF0: - movs r3, 0x8 - bl sub_8148EC0 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] -_08144DFC: - ldr r0, _08144EC4 @ =sub_8144934 - movs r1, 0 - bl CreateTask - ldr r6, _08144EC0 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r5, r1, r6 - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - strh r0, [r5, 0xC] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x8] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r4, [r0, 0xA] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r7, [r0, 0xC] - ldr r0, _08144EC8 @ =sub_8144664 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r4, [r0, 0x8] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r7, [r0, 0xA] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrh r1, [r5, 0x12] - strh r1, [r0, 0xC] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrh r1, [r5, 0x14] - strh r1, [r0, 0xE] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r4, [r0, 0x10] - mov r1, r8 - cmp r1, 0x2 - bne _08144EB0 - movs r1, 0xA - ldrsh r0, [r5, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - movs r0, 0x45 - strh r0, [r1, 0x12] -_08144EB0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08144EBC: .4byte gSprites -_08144EC0: .4byte gTasks -_08144EC4: .4byte sub_8144934 -_08144EC8: .4byte sub_8144664 - thumb_func_end sub_8144A68 - - thumb_func_start sub_8144ECC -sub_8144ECC: @ 8144ECC - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _08144F28 @ =gMain - ldr r1, _08144F2C @ =0x0000043c - adds r6, r0, r1 - ldrb r0, [r6] - cmp r0, 0x1 - beq _08144F38 - cmp r0, 0x1 - ble _08144EF0 - cmp r0, 0x2 - beq _08144F5C - cmp r0, 0x3 - bne _08144EF0 - b _0814508C -_08144EF0: - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - ldr r2, _08144F30 @ =REG_BG3HOFS - movs r0, 0x8 - strh r0, [r2] - ldr r0, _08144F34 @ =REG_BG3VOFS - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x3A - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0x1 - strb r0, [r6] - b _081450A2 - .align 2, 0 -_08144F28: .4byte gMain -_08144F2C: .4byte 0x0000043c -_08144F30: .4byte REG_BG3HOFS -_08144F34: .4byte REG_BG3VOFS -_08144F38: - ldr r1, _08144F54 @ =gUnknown_02039358 - movs r0, 0x22 - strh r0, [r1] - ldr r1, _08144F58 @ =gUnknown_0203935A - movs r0, 0 - strh r0, [r1] - adds r0, r4, 0 - bl sub_8148CB0 - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _081450A2 - .align 2, 0 -_08144F54: .4byte gUnknown_02039358 -_08144F58: .4byte gUnknown_0203935A -_08144F5C: - ldr r0, _08144FBC @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08144FE0 - ldr r0, _08144FC0 @ =gIntro2BrendanSpriteSheet - bl LoadCompressedObjectPic - ldr r0, _08144FC4 @ =gUnknown_08416E34 - bl LoadCompressedObjectPic - ldr r0, _08144FC8 @ =gIntro2BicycleSpriteSheet - bl LoadCompressedObjectPic - ldr r0, _08144FCC @ =gIntro2SpritePalettes - bl LoadSpritePalettes - movs r0, 0x78 - movs r1, 0x2E - bl intro_create_brendan_sprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _08144FD0 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - strh r2, [r4, 0x12] - ldr r6, _08144FD4 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r2, r0, r5 - ldr r1, _08144FD8 @ =sub_8145378 - str r1, [r2] - adds r6, 0x8 - adds r0, r6 - ldr r1, _08144FDC @ =gUnknown_0840CA54 - str r1, [r0] - movs r0, 0x88 - lsls r0, 1 - movs r1, 0x2E - bl intro_create_may_sprite - b _08145034 - .align 2, 0 -_08144FBC: .4byte gSaveBlock2 -_08144FC0: .4byte gIntro2BrendanSpriteSheet -_08144FC4: .4byte gUnknown_08416E34 -_08144FC8: .4byte gIntro2BicycleSpriteSheet -_08144FCC: .4byte gIntro2SpritePalettes -_08144FD0: .4byte gTasks -_08144FD4: .4byte gSprites -_08144FD8: .4byte sub_8145378 -_08144FDC: .4byte gUnknown_0840CA54 -_08144FE0: - ldr r0, _0814505C @ =gIntro2MaySpriteSheet - bl LoadCompressedObjectPic - ldr r0, _08145060 @ =gUnknown_08416E24 - bl LoadCompressedObjectPic - ldr r0, _08145064 @ =gIntro2BicycleSpriteSheet - bl LoadCompressedObjectPic - ldr r0, _08145068 @ =gIntro2SpritePalettes - bl LoadSpritePalettes - movs r0, 0x78 - movs r1, 0x2E - bl intro_create_may_sprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0814506C @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - strh r2, [r4, 0x12] - ldr r6, _08145070 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r2, r0, r5 - ldr r1, _08145074 @ =sub_8145378 - str r1, [r2] - adds r6, 0x8 - adds r0, r6 - ldr r1, _08145078 @ =gUnknown_0840CA54 - str r1, [r0] - movs r0, 0x88 - lsls r0, 1 - movs r1, 0x2E - bl intro_create_brendan_sprite -_08145034: - lsls r0, 24 - lsrs r2, r0, 24 - strh r2, [r4, 0x14] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r0, r5 - ldr r1, _0814507C @ =sub_8145420 - str r1, [r5] - adds r0, r6 - ldr r1, _08145080 @ =gUnknown_0840CA94 - str r1, [r0] - ldr r1, _08145084 @ =gMain - ldr r0, _08145088 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081450A2 - .align 2, 0 -_0814505C: .4byte gIntro2MaySpriteSheet -_08145060: .4byte gUnknown_08416E24 -_08145064: .4byte gIntro2BicycleSpriteSheet -_08145068: .4byte gIntro2SpritePalettes -_0814506C: .4byte gTasks -_08145070: .4byte gSprites -_08145074: .4byte sub_8145378 -_08145078: .4byte gUnknown_0840CA54 -_0814507C: .4byte sub_8145420 -_08145080: .4byte gUnknown_0840CA94 -_08145084: .4byte gMain -_08145088: .4byte 0x0000043c -_0814508C: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8144A68 - adds r0, r4, 0 - bl sub_8148E90 - movs r0, 0 - strb r0, [r6] - movs r0, 0x1 - b _081450A4 -_081450A2: - movs r0, 0 -_081450A4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8144ECC - - thumb_func_start sub_81450AC -sub_81450AC: @ 81450AC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08145120 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081450D2 - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0x8] -_081450D2: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081450E8 - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0xA] -_081450E8: - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081450FE - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0xC] -_081450FE: - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08145114 - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0xE] -_08145114: - ldr r1, _08145124 @ =gUnknown_0203935C - movs r0, 0x1 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08145120: .4byte gTasks -_08145124: .4byte gUnknown_0203935C - thumb_func_end sub_81450AC - - thumb_func_start sub_8145128 -sub_8145128: @ 8145128 - push {r4-r7,lr} - adds r3, r0, 0 - adds r4, r2, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r4, 16 - lsrs r5, r4, 16 - ldr r0, _081451EC @ =gCreditsCopyrightEnd_Gfx - movs r6, 0xC0 - lsls r6, 19 - adds r3, r6 - adds r1, r3, 0 - bl LZ77UnCompVram - ldr r0, _081451F0 @ =gIntroCopyright_Pal - adds r1, r5, 0 - movs r2, 0x20 - bl LoadPalette - lsrs r4, 20 - lsls r4, 28 - lsrs r4, 16 - movs r2, 0 - adds r1, r4, 0x1 - ldr r3, _081451F4 @ =0x000003ff -_0814515E: - lsls r0, r2, 1 - adds r0, r7 - adds r0, r6 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bls _0814515E - movs r2, 0 - adds r0, r4, 0x2 - adds r6, r4, 0 - adds r6, 0x17 - movs r1, 0x2B - adds r1, r4 - mov r12, r1 - adds r4, 0x42 - ldr r5, _081451F8 @ =0x060001c8 - adds r3, r0, 0 -_08145184: - lsls r0, r2, 1 - adds r0, r7 - adds r0, r5 - adds r1, r2, r3 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x14 - bls _08145184 - movs r2, 0 - ldr r5, _081451FC @ =0x06000248 - adds r3, r6, 0 -_0814519E: - lsls r0, r2, 1 - adds r0, r7 - adds r0, r5 - adds r1, r2, r3 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x13 - bls _0814519E - movs r2, 0 - ldr r5, _08145200 @ =0x060002c8 - mov r3, r12 -_081451B8: - lsls r0, r2, 1 - adds r0, r7 - adds r0, r5 - adds r1, r2, r3 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x16 - bls _081451B8 - movs r2, 0 - ldr r3, _08145204 @ =0x06000348 -_081451D0: - lsls r0, r2, 1 - adds r0, r7 - adds r0, r3 - adds r1, r2, r4 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xB - bls _081451D0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081451EC: .4byte gCreditsCopyrightEnd_Gfx -_081451F0: .4byte gIntroCopyright_Pal -_081451F4: .4byte 0x000003ff -_081451F8: .4byte 0x060001c8 -_081451FC: .4byte 0x06000248 -_08145200: .4byte 0x060002c8 -_08145204: .4byte 0x06000348 - thumb_func_end sub_8145128 - - thumb_func_start sub_8145208 -sub_8145208: @ 8145208 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - movs r0, 0x3F - ands r0, r2 - adds r1, r0, 0 - adds r1, 0x50 - cmp r2, 0xFF - bne _08145220 - movs r0, 0x1 - b _08145246 -_08145220: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _08145230 - movs r2, 0x80 - lsls r2, 4 - adds r0, r2, 0 - orrs r1, r0 -_08145230: - movs r0, 0x40 - ands r3, r0 - cmp r3, 0 - beq _08145244 - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - orrs r1, r0 - lsls r0, r1, 16 - lsrs r1, r0, 16 -_08145244: - adds r0, r1, 0 -_08145246: - pop {r1} - bx r1 - thumb_func_end sub_8145208 - - thumb_func_start sub_814524C -sub_814524C: @ 814524C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - str r0, [sp] - ldr r0, [sp, 0x2C] - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x4] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x8] - lsls r0, 16 - lsrs r0, 20 - lsls r0, 28 - lsrs r0, 16 - mov r9, r0 - movs r5, 0 -_0814527A: - movs r4, 0 - lsls r7, r5, 1 - ldr r1, [sp, 0x4] - adds r0, r1, r5 - adds r2, r5, 0x1 - mov r8, r2 - lsls r0, 6 - ldr r1, [sp, 0x8] - adds r6, r0, r1 -_0814528C: - adds r0, r7, r5 - adds r0, r4 - ldr r2, [sp] - adds r0, r2, r0 - ldrb r0, [r0] - bl sub_8145208 - mov r2, r10 - adds r1, r2, r4 - lsls r1, 1 - adds r1, r6 - movs r2, 0xC0 - lsls r2, 19 - adds r1, r2 - add r0, r9 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0814528C - mov r1, r8 - lsls r0, r1, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0814527A - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814524C - - thumb_func_start sub_81452D0 -sub_81452D0: @ 81452D0 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsrs r1, 20 - lsls r1, 28 - lsrs r1, 16 - movs r2, 0 - ldr r7, _08145360 @ =gUnknown_0840B83C - movs r4, 0xC0 - lsls r4, 19 - adds r1, 0x1 - ldr r3, _08145364 @ =0x000003ff -_081452EE: - lsls r0, r2, 1 - adds r0, r5 - adds r0, r4 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bls _081452EE - str r6, [sp] - adds r0, r7, 0 - movs r1, 0x3 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - ldr r0, _08145368 @ =gUnknown_0840B84B - str r6, [sp] - movs r1, 0x7 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - ldr r4, _0814536C @ =gUnknown_0840B85A - str r6, [sp] - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - str r6, [sp] - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - ldr r0, _08145370 @ =gUnknown_0840B869 - str r6, [sp] - movs r1, 0x14 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - ldr r0, _08145374 @ =gUnknown_0840B878 - str r6, [sp] - movs r1, 0x18 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08145360: .4byte gUnknown_0840B83C -_08145364: .4byte 0x000003ff -_08145368: .4byte gUnknown_0840B84B -_0814536C: .4byte gUnknown_0840B85A -_08145370: .4byte gUnknown_0840B869 -_08145374: .4byte gUnknown_0840B878 - thumb_func_end sub_81452D0 - - thumb_func_start sub_8145378 -sub_8145378: @ 8145378 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08145390 @ =gUnknown_0203935C - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08145394 - adds r0, r4, 0 - bl DestroySprite - b _08145418 - .align 2, 0 -_08145390: .4byte gUnknown_0203935C -_08145394: - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x5 - bhi _08145418 - lsls r0, 2 - ldr r1, _081453A8 @ =_081453AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081453A8: .4byte _081453AC - .align 2, 0 -_081453AC: - .4byte _081453C4 - .4byte _081453CE - .4byte _081453D4 - .4byte _081453DE - .4byte _081453E8 - .4byte _081453FE -_081453C4: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - b _08145418 -_081453CE: - adds r0, r4, 0 - movs r1, 0x1 - b _08145402 -_081453D4: - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnimIfDifferent - b _08145418 -_081453DE: - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnimIfDifferent - b _08145418 -_081453E8: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x78 - ble _08145418 - subs r0, r1, 0x1 - b _08145416 -_081453FE: - adds r0, r4, 0 - movs r1, 0 -_08145402: - bl StartSpriteAnimIfDifferent - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _08145418 - subs r0, r2, 0x1 -_08145416: - strh r0, [r4, 0x20] -_08145418: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8145378 - - thumb_func_start sub_8145420 -sub_8145420: @ 8145420 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08145438 @ =gUnknown_0203935C - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0814543C - adds r0, r4, 0 - bl DestroySprite - b _081454D8 - .align 2, 0 -_08145438: .4byte gUnknown_0203935C -_0814543C: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08145464 - cmp r0, 0x1 - bgt _0814544E - cmp r0, 0 - beq _08145458 - b _081454D8 -_0814544E: - cmp r0, 0x2 - beq _081454A0 - cmp r0, 0x3 - beq _081454BE - b _081454D8 -_08145458: - strh r0, [r4, 0x26] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - b _081454D8 -_08145464: - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r0, 0xC8 - ble _08145476 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - b _0814547E -_08145476: - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnimIfDifferent -_0814547E: - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _08145490 - subs r0, r2, 0x2 - strh r0, [r4, 0x20] -_08145490: - ldr r0, _0814549C @ =gUnknown_0203935A - ldrh r0, [r0] - negs r0, r0 - strh r0, [r4, 0x26] - b _081454D8 - .align 2, 0 -_0814549C: .4byte gUnknown_0203935A -_081454A0: - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r1, [r4, 0x3C] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081454D8 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - b _081454D6 -_081454BE: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _081454D8 - subs r0, r2, 0x1 -_081454D6: - strh r0, [r4, 0x20] -_081454D8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8145420 - - thumb_func_start sub_81454E0 -sub_81454E0: @ 81454E0 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, _081454F8 @ =gUnknown_0203935C - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081454FC - adds r0, r5, 0 - bl DestroySprite - b _081456A6 - .align 2, 0 -_081454F8: .4byte gUnknown_0203935C -_081454FC: - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0xA - bhi _08145544 - lsls r0, 2 - ldr r1, _08145514 @ =_08145518 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08145514: .4byte _08145518 - .align 2, 0 -_08145518: - .4byte _08145544 - .4byte _0814559E - .4byte _08145620 - .4byte _08145660 - .4byte _08145544 - .4byte _08145544 - .4byte _08145544 - .4byte _08145544 - .4byte _08145544 - .4byte _08145544 - .4byte _08145696 -_08145544: - ldrb r1, [r5, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - movs r0, 0x10 - strh r0, [r5, 0x32] - ldrh r4, [r5, 0x30] - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x80 - lsls r0, 9 - movs r1, 0x10 - bl __divsi3 - adds r1, r0, 0 - str r1, [sp] - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x1 - strh r0, [r5, 0x2E] - b _081456A6 -_0814559E: - ldrh r1, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r0, 0xFF - bgt _081455D4 - adds r0, r1, 0 - adds r0, 0x8 - strh r0, [r5, 0x32] - ldrh r4, [r5, 0x30] - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x32 - ldrsh r1, [r5, r0] - movs r0, 0x80 - lsls r0, 9 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - b _081455DA -_081455D4: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_081455DA: - movs r2, 0x30 - ldrsh r1, [r5, r2] - cmp r1, 0x2 - beq _081456A6 - cmp r1, 0x2 - bgt _081455EC - cmp r1, 0x1 - beq _081455F2 - b _081456A6 -_081455EC: - cmp r1, 0x3 - beq _0814560A - b _081456A6 -_081455F2: - ldrh r1, [r5, 0x3C] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08145602 - ldrh r0, [r5, 0x22] - adds r0, 0x1 - strh r0, [r5, 0x22] -_08145602: - ldrh r0, [r5, 0x20] - subs r0, 0x2 - strh r0, [r5, 0x20] - b _081456A6 -_0814560A: - ldrh r0, [r5, 0x3C] - ands r1, r0 - cmp r1, 0 - bne _08145618 - ldrh r0, [r5, 0x22] - adds r0, 0x1 - strh r0, [r5, 0x22] -_08145618: - ldrh r0, [r5, 0x20] - adds r0, 0x2 - strh r0, [r5, 0x20] - b _081456A6 -_08145620: - ldrh r1, [r5, 0x34] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _08145630 - subs r0, r1, 0x1 - strh r0, [r5, 0x34] - b _081456A6 -_08145630: - ldr r1, _0814565C @ =REG_BLDCNT - movs r2, 0xF4 - lsls r2, 4 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x10 - strh r0, [r1] - ldrb r1, [r5, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x10 - strh r0, [r5, 0x34] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _081456A6 - .align 2, 0 -_0814565C: .4byte REG_BLDCNT -_08145660: - ldrh r1, [r5, 0x34] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _08145684 - subs r1, 0x1 - strh r1, [r5, 0x34] - ldr r3, _08145680 @ =REG_BLDALPHA - movs r0, 0x34 - ldrsh r2, [r5, r0] - movs r0, 0x10 - subs r0, r2 - lsls r0, 8 - adds r1, r0 - strh r1, [r3] - b _081456A6 - .align 2, 0 -_08145680: .4byte REG_BLDALPHA -_08145684: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0xA - strh r0, [r5, 0x2E] - b _081456A6 -_08145696: - ldr r0, _081456B0 @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, r5, 0 - bl DestroySprite -_081456A6: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081456B0: .4byte REG_BLDCNT - thumb_func_end sub_81454E0 - - thumb_func_start sub_81456B4 -sub_81456B4: @ 81456B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x10] - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - adds r0, r6, 0 - bl NationalPokedexNumToSpecies - adds r6, r0, 0 - cmp r6, 0xC9 - beq _081456F8 - movs r0, 0x9A - lsls r0, 1 - cmp r6, r0 - beq _081456EE - movs r7, 0 - b _081456FC -_081456EE: - ldr r0, _081456F4 @ =gSaveBlock2 - ldr r7, [r0, 0x20] - b _081456FC - .align 2, 0 -_081456F4: .4byte gSaveBlock2 -_081456F8: - ldr r0, _081457E8 @ =gSaveBlock2 - ldr r7, [r0, 0x1C] -_081456FC: - lsls r0, r6, 3 - ldr r1, _081457EC @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _081457F0 @ =gMonFrontPicCoords - lsls r2, r6, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _081457F4 @ =gUnknown_0840B5A0 - mov r8, r4 - mov r5, r9 - lsls r4, r5, 2 - add r4, r8 - ldr r4, [r4] - str r4, [sp] - str r6, [sp, 0x4] - str r7, [sp, 0x8] - movs r4, 0x1 - str r4, [sp, 0xC] - bl LoadSpecialPokePic - ldr r2, _081457F8 @ =0x0000ffff - adds r0, r6, 0 - movs r1, 0 - bl species_and_otid_get_pal - lsls r5, 4 - mov r8, r5 - movs r1, 0x80 - lsls r1, 1 - add r1, r8 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - mov r7, r9 - lsls r6, r7, 24 - lsrs r6, 24 - mov r0, r9 - adds r1, r6, 0 - bl sub_8143648 - ldr r0, _081457FC @ =gUnknown_02024E8C - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldr r3, [sp, 0x10] - lsls r2, r3, 16 - asrs r2, 16 - movs r3, 0 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08145800 @ =gSprites - lsls r2, r4, 4 - adds r2, r4 - lsls r2, 2 - adds r3, r2, r5 - ldrb r1, [r3, 0x5] - movs r0, 0xF - ands r0, r1 - mov r7, r8 - orrs r0, r7 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3, 0x5] - mov r0, r9 - adds r0, 0x1 - strh r0, [r3, 0x30] - movs r0, 0x3E - adds r0, r3 - mov r8, r0 - ldrb r0, [r0] - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - adds r0, r5, 0 - adds r0, 0x1C - adds r2, r0 - ldr r0, _08145804 @ =sub_81454E0 - str r0, [r2] - ldr r0, _08145808 @ =gSpriteTemplate_840CAEC - movs r2, 0x20 - ldrsh r1, [r3, r2] - movs r7, 0x22 - ldrsh r2, [r3, r7] - movs r3, 0x1 - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r4, [r0, 0x2E] - adds r1, r6, 0 - bl StartSpriteAnimIfDifferent - adds r0, r4, 0 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081457E8: .4byte gSaveBlock2 -_081457EC: .4byte gMonFrontPicTable -_081457F0: .4byte gMonFrontPicCoords -_081457F4: .4byte gUnknown_0840B5A0 -_081457F8: .4byte 0x0000ffff -_081457FC: .4byte gUnknown_02024E8C -_08145800: .4byte gSprites -_08145804: .4byte sub_81454E0 -_08145808: .4byte gSpriteTemplate_840CAEC - thumb_func_end sub_81456B4 - - thumb_func_start sub_814580C -sub_814580C: @ 814580C - push {r4,lr} - adds r3, r0, 0 - ldr r4, _08145838 @ =gSprites - movs r1, 0x2E - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0xA - beq _08145830 - ldr r0, _0814583C @ =gUnknown_0203935C - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - beq _08145840 -_08145830: - adds r0, r3, 0 - bl DestroySprite - b _081458D4 - .align 2, 0 -_08145838: .4byte gSprites -_0814583C: .4byte gUnknown_0203935C -_08145840: - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - movs r1, 0x4 - ands r1, r0 - mov r0, r12 - ldrb r2, [r0] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - movs r2, 0x2E - ldrsh r1, [r3, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r0, 0xC - ands r0, r1 - ldrb r2, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] - movs r0, 0x2E - ldrsh r2, [r3, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r2, 0x4 - negs r2, r2 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] - movs r2, 0x2E - ldrsh r1, [r3, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x3] - movs r1, 0x3E - ands r1, r0 - ldrb r2, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x3] - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r3, 0x20] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r3, 0x22] -_081458D4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_814580C - - thumb_func_start sub_81458DC -sub_81458DC: @ 81458DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r7, _0814597C @ =0x0201c000 - ldr r0, _08145980 @ =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - movs r4, 0x1 - movs r5, 0 - ldr r0, _08145984 @ =0x00000181 - mov r8, r0 -_0814590E: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8090D90 - lsls r0, 24 - adds r6, r7, 0 - adds r6, 0x90 - cmp r0, 0 - beq _0814592C - lsls r0, r5, 1 - adds r0, r6, r0 - strh r4, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0814592C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r8 - bls _0814590E - adds r4, r5, 0 - ldr r0, _08145984 @ =0x00000181 - lsls r1, r4, 16 - mov r9, r1 - movs r2, 0x8E - adds r2, r7 - mov r8, r2 - adds r1, r7, 0 - adds r1, 0x86 - str r1, [sp] - cmp r4, r0 - bhi _08145964 - adds r1, r6, 0 - movs r3, 0 - adds r2, r0, 0 -_08145954: - lsls r0, r4, 1 - adds r0, r1, r0 - strh r3, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r2 - bls _08145954 -_08145964: - movs r2, 0xE5 - lsls r2, 2 - adds r0, r7, r2 - strh r5, [r0] - mov r1, r9 - lsrs r0, r1, 16 - cmp r0, 0x43 - bhi _08145988 - mov r2, r8 - strh r5, [r2] - b _0814598E - .align 2, 0 -_0814597C: .4byte 0x0201c000 -_08145980: .4byte 0x00004023 -_08145984: .4byte 0x00000181 -_08145988: - movs r0, 0x44 - mov r1, r8 - strh r0, [r1] -_0814598E: - movs r5, 0 - movs r2, 0xE5 - lsls r2, 2 - adds r4, r7, r2 - mov r9, r5 - b _0814599E -_0814599A: - cmp r5, 0x43 - bhi _081459EE -_0814599E: - bl Random - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4] - bl __umodsi3 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, r5, 1 - adds r1, r7, r1 - lsls r0, r2, 1 - adds r3, r6, r0 - ldrh r0, [r3] - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r9 - strh r0, [r3] - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r2, r0 - beq _081459E8 - ldrh r0, [r4] - lsls r0, 1 - adds r0, r6, r0 - ldrh r0, [r0] - strh r0, [r3] - ldrh r0, [r4] - lsls r0, 1 - adds r0, r6, r0 - mov r1, r9 - strh r1, [r0] -_081459E8: - ldrh r0, [r4] - cmp r0, 0 - bne _0814599A -_081459EE: - mov r2, r8 - ldrh r0, [r2] - cmp r0, 0x43 - bhi _08145A26 - adds r5, r0, 0 - movs r2, 0 - cmp r5, 0x43 - bhi _08145A5C - mov r3, r8 -_08145A00: - lsls r1, r5, 1 - adds r1, r7, r1 - lsls r0, r2, 1 - adds r0, r7, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r3] - cmp r2, r0 - bne _08145A1A - movs r2, 0 -_08145A1A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x43 - bls _08145A00 - b _08145A5C -_08145A26: - movs r4, 0 - ldrh r0, [r7] - cmp r0, r10 - beq _08145A42 -_08145A2E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r0, r4, 1 - adds r0, r7, r0 - ldrh r0, [r0] - cmp r0, r10 - beq _08145A42 - cmp r4, 0x43 - bls _08145A2E -_08145A42: - mov r1, r8 - ldrh r0, [r1] - subs r0, 0x1 - cmp r4, r0 - bge _08145A5C - lsls r0, r4, 1 - adds r0, r7, r0 - ldr r2, [sp] - ldrh r1, [r2] - strh r1, [r0] - mov r0, r10 - strh r0, [r2] - b _08145A62 -_08145A5C: - mov r2, r10 - ldr r1, [sp] - strh r2, [r1] -_08145A62: - movs r0, 0x44 - mov r1, r8 - strh r0, [r1] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81458DC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/daycare.s b/asm/daycare.s index d78757d8f..886643fce 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -196,7 +196,7 @@ _08041498: .4byte 0x00002b4c thumb_func_start daycare_send daycare_send: @ 804149C push {lr} - ldr r0, _080414B4 @ =gUnknown_03005CE0 + ldr r0, _080414B4 @ =gLastFieldPokeMenuOpened ldrb r1, [r0] movs r0, 0x64 muls r0, r1 @@ -207,7 +207,7 @@ daycare_send: @ 804149C pop {r0} bx r0 .align 2, 0 -_080414B4: .4byte gUnknown_03005CE0 +_080414B4: .4byte gLastFieldPokeMenuOpened _080414B8: .4byte gPlayerParty _080414BC: .4byte gSaveBlock1 + 0x2F9C thumb_func_end daycare_send @@ -2104,7 +2104,7 @@ _08042324: .4byte gStringVar2 thumb_func_start sub_8042328 sub_8042328: @ 8042328 push {r4-r6,lr} - ldr r6, _08042354 @ =gUnknown_03005CE0 + ldr r6, _08042354 @ =gLastFieldPokeMenuOpened ldrb r0, [r6] movs r5, 0x64 muls r0, r5 @@ -2123,7 +2123,7 @@ sub_8042328: @ 8042328 pop {r1} bx r1 .align 2, 0 -_08042354: .4byte gUnknown_03005CE0 +_08042354: .4byte gLastFieldPokeMenuOpened _08042358: .4byte gPlayerParty _0804235C: .4byte gStringVar1 thumb_func_end sub_8042328 @@ -2722,7 +2722,7 @@ _0804279C: bl sub_8072DEC movs r0, 0x5 bl PlaySE - ldr r3, _080427DC @ =gUnknown_03005CE0 + ldr r3, _080427DC @ =gLastFieldPokeMenuOpened ldr r2, _080427E0 @ =gScriptResult ldr r1, _080427E4 @ =gTasks lsls r0, r4, 2 @@ -2742,7 +2742,7 @@ _0804279C: bl EnableBothScriptContexts b _08042816 .align 2, 0 -_080427DC: .4byte gUnknown_03005CE0 +_080427DC: .4byte gLastFieldPokeMenuOpened _080427E0: .4byte gScriptResult _080427E4: .4byte gTasks _080427E8: @@ -2752,7 +2752,7 @@ _080427E8: cmp r0, 0 beq _08042816 bl sub_8072DEC - ldr r0, _0804281C @ =gUnknown_03005CE0 + ldr r0, _0804281C @ =gLastFieldPokeMenuOpened ldr r1, _08042820 @ =gScriptResult strh r4, [r1] movs r1, 0x2 @@ -2770,7 +2770,7 @@ _08042816: pop {r0} bx r0 .align 2, 0 -_0804281C: .4byte gUnknown_03005CE0 +_0804281C: .4byte gLastFieldPokeMenuOpened _08042820: .4byte gScriptResult thumb_func_end DaycareLevelMenuProcessKeyInput diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s deleted file mode 100644 index c122f7651..000000000 --- a/asm/field_control_avatar.s +++ /dev/null @@ -1,1780 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80682A8 -sub_80682A8: @ 80682A8 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r2, 24 - lsrs r6, r2, 24 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsCounter - lsls r0, 24 - cmp r0, 0 - bne _080682D0 - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - b _080682EE -_080682D0: - ldr r1, _08068314 @ =gUnknown_0821664C - lsls r2, r6, 3 - adds r0, r2, r1 - ldr r3, [r0] - ldrh r0, [r4] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - adds r1, 0x4 - adds r2, r1 - ldr r2, [r2] - ldrh r1, [r4, 0x2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 -_080682EE: - ldrb r2, [r4, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x10 - beq _0806830E - ldr r1, _08068318 @ =gMapObjects - lsls r2, r3, 3 - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x8] - adds r5, r1, 0 - cmp r0, 0xFF - bne _0806831C -_0806830E: - movs r0, 0 - b _0806834E - .align 2, 0 -_08068314: .4byte gUnknown_0821664C -_08068318: .4byte gMapObjects -_0806831C: - movs r4, 0 - ldr r1, _08068354 @ =gLinkPlayerMapObjects -_08068320: - ldrb r0, [r1] - cmp r0, 0x1 - bne _0806832C - ldrb r0, [r1, 0x2] - cmp r0, r3 - beq _0806830E -_0806832C: - adds r1, 0x4 - adds r4, 0x1 - cmp r4, 0x3 - ble _08068320 - ldr r0, _08068358 @ =gSelectedMapObject - strb r3, [r0] - ldr r1, _0806835C @ =gScriptLastTalked - adds r0, r2, r3 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x8] - strh r0, [r1] - ldr r0, _08068360 @ =gScriptFacing - strh r6, [r0] - adds r0, r3, 0 - bl GetFieldObjectScriptPointerByFieldObjectId -_0806834E: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08068354: .4byte gLinkPlayerMapObjects -_08068358: .4byte gSelectedMapObject -_0806835C: .4byte gScriptLastTalked -_08068360: .4byte gScriptFacing - thumb_func_end sub_80682A8 - - thumb_func_start sub_8068364 -sub_8068364: @ 8068364 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - ldrb r2, [r4, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x10 - beq _08068392 - ldr r1, _080683E0 @ =gMapObjects - lsls r2, r3, 3 - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x8] - cmp r0, 0xFF - bne _080683E8 -_08068392: - adds r0, r5, 0 - bl MetatileBehavior_IsCounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080683DC - ldr r1, _080683E4 @ =gUnknown_0821664C - lsls r2, r6, 3 - adds r0, r2, r1 - ldr r3, [r0] - ldrh r0, [r4] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - adds r1, 0x4 - adds r2, r1 - ldr r2, [r2] - ldrh r1, [r4, 0x2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - ldrb r2, [r4, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x10 - beq _080683DC - ldr r1, _080683E0 @ =gMapObjects - lsls r2, r3, 3 - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x8] - cmp r0, 0xFF - bne _080683E8 -_080683DC: - movs r0, 0 - b _0806840C - .align 2, 0 -_080683E0: .4byte gMapObjects -_080683E4: .4byte gUnknown_0821664C -_080683E8: - ldr r0, _08068414 @ =gSelectedMapObject - strb r3, [r0] - ldr r4, _08068418 @ =gScriptLastTalked - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x8] - strh r0, [r4] - ldr r0, _0806841C @ =gScriptFacing - strh r6, [r0] - adds r0, r3, 0 - bl GetFieldObjectScriptPointerByFieldObjectId - adds r1, r0, 0 - ldrb r0, [r4] - bl GetRamScript - adds r1, r0, 0 -_0806840C: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08068414: .4byte gSelectedMapObject -_08068418: .4byte gScriptLastTalked -_0806841C: .4byte gScriptFacing - thumb_func_end sub_8068364 - - thumb_func_start TryGetInvisibleMapObjectScript -TryGetInvisibleMapObjectScript: @ 8068420 - push {r4,r5,lr} - lsls r2, 24 - lsrs r5, r2, 24 - ldr r4, _08068450 @ =gMapHeader - ldrh r1, [r0] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r0, 0x2] - subs r2, 0x7 - lsls r2, 16 - lsrs r2, 16 - ldrb r3, [r0, 0x4] - adds r0, r4, 0 - bl FindInvisibleMapObjectByPosition - cmp r0, 0 - beq _08068494 - ldr r2, [r0, 0x8] - cmp r2, 0 - bne _08068458 - ldr r0, _08068454 @ =gUnknown_081C6C02 - b _080684FA - .align 2, 0 -_08068450: .4byte gMapHeader -_08068454: .4byte gUnknown_081C6C02 -_08068458: - ldrb r0, [r0, 0x5] - cmp r0, 0x8 - bhi _080684F8 - lsls r0, 2 - ldr r1, _08068468 @ =_0806846C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08068468: .4byte _0806846C - .align 2, 0 -_0806846C: - .4byte _080684F8 - .4byte _08068490 - .4byte _08068498 - .4byte _0806849E - .4byte _080684A4 - .4byte _080684AA - .4byte _080684AA - .4byte _080684AA - .4byte _080684D8 -_08068490: - cmp r5, 0x2 - beq _080684F8 -_08068494: - movs r0, 0 - b _080684FA -_08068498: - cmp r5, 0x1 - beq _080684F8 - b _08068494 -_0806849E: - cmp r5, 0x4 - beq _080684F8 - b _08068494 -_080684A4: - cmp r5, 0x3 - beq _080684F8 - b _08068494 -_080684AA: - ldr r1, _080684CC @ =gSpecialVar_0x8004 - lsrs r0, r2, 16 - movs r3, 0x96 - lsls r3, 2 - adds r0, r3 - strh r0, [r1] - ldr r0, _080684D0 @ =gSpecialVar_0x8005 - strh r2, [r0] - ldrh r0, [r1] - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068494 - ldr r0, _080684D4 @ =HiddenItemScript - b _080684FA - .align 2, 0 -_080684CC: .4byte gSpecialVar_0x8004 -_080684D0: .4byte gSpecialVar_0x8005 -_080684D4: .4byte HiddenItemScript -_080684D8: - cmp r5, 0x2 - bne _08068494 - ldr r0, _080684F0 @ =gSpecialVar_0x8004 - strh r2, [r0] - bl sub_80BC050 - lsls r0, 24 - cmp r0, 0 - beq _08068494 - ldr r0, _080684F4 @ =gUnknown_081A2C51 - b _080684FA - .align 2, 0 -_080684F0: .4byte gSpecialVar_0x8004 -_080684F4: .4byte gUnknown_081A2C51 -_080684F8: - adds r0, r2, 0 -_080684FA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end TryGetInvisibleMapObjectScript - - thumb_func_start sub_8068500 -sub_8068500: @ 8068500 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r2, 0 - bl MetatileBehavior_IsPlayerFacingTVScreen - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068524 - ldr r0, _08068520 @ =Event_TV - b _080686EE - .align 2, 0 -_08068520: .4byte Event_TV -_08068524: - adds r0, r5, 0 - bl MetatileBehavior_IsPC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806853C - ldr r0, _08068538 @ =gUnknown_081A0009 - b _080686EE - .align 2, 0 -_08068538: .4byte gUnknown_081A0009 -_0806853C: - adds r0, r5, 0 - bl MetatileBehavior_IsClosedSootpolisGymDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068554 - ldr r0, _08068550 @ =ClosedSootopolisGymDoorScript - b _080686EE - .align 2, 0 -_08068550: .4byte ClosedSootopolisGymDoorScript -_08068554: - adds r0, r5, 0 - bl is_tile_x84 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806856C - ldr r0, _08068568 @ =gUnknown_081A4363 - b _080686EE - .align 2, 0 -_08068568: .4byte gUnknown_081A4363 -_0806856C: - adds r0, r5, 0 - bl MetatileBehavior_IsPokeblockFeeder - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068584 - ldr r0, _08068580 @ =gUnknown_081C346A - b _080686EE - .align 2, 0 -_08068580: .4byte gUnknown_081C346A -_08068584: - adds r0, r5, 0 - bl MetatileBehavior_IsTrickHousePuzzleDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806859C - ldr r0, _08068598 @ =gUnknown_081616E1 - b _080686EE - .align 2, 0 -_08068598: .4byte gUnknown_081616E1 -_0806859C: - adds r0, r5, 0 - bl MetatileBehavior_IsRegionMap - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080685B4 - ldr r0, _080685B0 @ =Event_WorldMap - b _080686EE - .align 2, 0 -_080685B0: .4byte Event_WorldMap -_080685B4: - adds r0, r5, 0 - bl sub_805791C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080685CC - ldr r0, _080685C8 @ =Event_RunningShoesManual - b _080686EE - .align 2, 0 -_080685C8: .4byte Event_RunningShoesManual -_080685CC: - adds r0, r5, 0 - bl MetatileBehavior_IsPictureBookShelf - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080685E4 - ldr r0, _080685E0 @ =PictureBookShelfScript - b _080686EE - .align 2, 0 -_080685E0: .4byte PictureBookShelfScript -_080685E4: - adds r0, r5, 0 - bl MetatileBehavior_IsBookShelf - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080685FC - ldr r0, _080685F8 @ =BookshelfScript - b _080686EE - .align 2, 0 -_080685F8: .4byte BookshelfScript -_080685FC: - adds r0, r5, 0 - bl MetatileBehavior_IsPokeCenterBookShelf - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068614 - ldr r0, _08068610 @ =PokemonCenterBookshelfScript - b _080686EE - .align 2, 0 -_08068610: .4byte PokemonCenterBookshelfScript -_08068614: - adds r0, r5, 0 - bl MetatileBehavior_IsVase - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806862C - ldr r0, _08068628 @ =VaseScript - b _080686EE - .align 2, 0 -_08068628: .4byte VaseScript -_0806862C: - adds r0, r5, 0 - bl MetatileBehavior_IsTrashCan - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068644 - ldr r0, _08068640 @ =TrashCanScript - b _080686EE - .align 2, 0 -_08068640: .4byte TrashCanScript -_08068644: - adds r0, r5, 0 - bl MetatileBehavior_IsShopShelf - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806865C - ldr r0, _08068658 @ =ShopShelfScript - b _080686EE - .align 2, 0 -_08068658: .4byte ShopShelfScript -_0806865C: - adds r0, r5, 0 - bl MetatileBehavior_IsBlueprint - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068674 - ldr r0, _08068670 @ =BlueprintScript - b _080686EE - .align 2, 0 -_08068670: .4byte BlueprintScript -_08068674: - movs r4, 0x4 - ldrsb r4, [r6, r4] - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0x2 - ldrsh r1, [r6, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080686EC - adds r0, r5, 0 - bl MetatileBehavior_IsSecretBasePC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080686A4 - ldr r0, _080686A0 @ =gUnknown_0815F36C - b _080686EE - .align 2, 0 -_080686A0: .4byte gUnknown_0815F36C -_080686A4: - adds r0, r5, 0 - bl sub_805724C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080686BC - ldr r0, _080686B8 @ =gUnknown_0815F43A - b _080686EE - .align 2, 0 -_080686B8: .4byte gUnknown_0815F43A -_080686BC: - adds r0, r5, 0 - bl sub_8057364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080686D4 - ldr r0, _080686D0 @ =gUnknown_0815F523 - b _080686EE - .align 2, 0 -_080686D0: .4byte gUnknown_0815F523 -_080686D4: - adds r0, r5, 0 - bl sub_8057378 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080686EC - ldr r0, _080686E8 @ =gUnknown_0815F528 - b _080686EE - .align 2, 0 -_080686E8: .4byte gUnknown_0815F528 -_080686EC: - movs r0, 0 -_080686EE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8068500 - - thumb_func_start TryGetFieldMoveScript -TryGetFieldMoveScript: @ 80686F4 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _08068724 @ =0x0000080b - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806872C - bl PartyHasMonWithSurf - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806872C - bl IsPlayerFacingSurfableFishableWater - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806872C - ldr r0, _08068728 @ =UseSurfScript - b _0806876A - .align 2, 0 -_08068724: .4byte 0x0000080b -_08068728: .4byte UseSurfScript -_0806872C: - adds r0, r4, 0 - bl MetatileBehavior_IsWaterfall - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068768 - ldr r0, _08068758 @ =0x0000080e - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068760 - bl IsPlayerSurfingNorth - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068760 - ldr r0, _0806875C @ =UseWaterfallScript - b _0806876A - .align 2, 0 -_08068758: .4byte 0x0000080e -_0806875C: .4byte UseWaterfallScript -_08068760: - ldr r0, _08068764 @ =CannotUseWaterfallScript - b _0806876A - .align 2, 0 -_08068764: .4byte CannotUseWaterfallScript -_08068768: - movs r0, 0 -_0806876A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end TryGetFieldMoveScript - - thumb_func_start sub_8068770 -sub_8068770: @ 8068770 - push {lr} - ldr r0, _08068794 @ =0x0000080d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0806879C - bl sub_8068F18 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0806879C - ldr r0, _08068798 @ =UseDiveScript - bl ScriptContext1_SetupScript - movs r0, 0x1 - b _0806879E - .align 2, 0 -_08068794: .4byte 0x0000080d -_08068798: .4byte UseDiveScript -_0806879C: - movs r0, 0 -_0806879E: - pop {r1} - bx r1 - thumb_func_end sub_8068770 - - thumb_func_start sub_80687A4 -sub_80687A4: @ 80687A4 - push {lr} - ldr r0, _080687D0 @ =0x0000080d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080687DC - ldr r0, _080687D4 @ =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x5 - bne _080687DC - bl sub_8068F18 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080687DC - ldr r0, _080687D8 @ =UnderwaterUseDiveScript - bl ScriptContext1_SetupScript - movs r0, 0x1 - b _080687DE - .align 2, 0 -_080687D0: .4byte 0x0000080d -_080687D4: .4byte gMapHeader -_080687D8: .4byte UnderwaterUseDiveScript -_080687DC: - movs r0, 0 -_080687DE: - pop {r1} - bx r1 - thumb_func_end sub_80687A4 - - thumb_func_start sub_80687E4 -sub_80687E4: @ 80687E4 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r6, r4, 0 - bl mapheader_trigger_activate_at__run_now - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068834 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8068A64 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068834 - adds r0, r6, 0 - bl sub_8068870 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068834 - bl sub_8068894 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068834 - bl UpdateRepelCounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068834 - movs r0, 0 - b _08068836 -_08068834: - movs r0, 0x1 -_08068836: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80687E4 - - thumb_func_start mapheader_trigger_activate_at__run_now -mapheader_trigger_activate_at__run_now: @ 806883C - push {r4,lr} - ldr r4, _08068864 @ =gMapHeader - ldrh r1, [r0] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r0, 0x2] - subs r2, 0x7 - lsls r2, 16 - lsrs r2, 16 - ldrb r3, [r0, 0x4] - adds r0, r4, 0 - bl mapheader_trigger_activate_at - cmp r0, 0 - beq _08068868 - bl ScriptContext1_SetupScript - movs r0, 0x1 - b _0806886A - .align 2, 0 -_08068864: .4byte gMapHeader -_08068868: - movs r0, 0 -_0806886A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end mapheader_trigger_activate_at__run_now - - thumb_func_start sub_8068870 -sub_8068870: @ 8068870 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsCrackedFloorHole - lsls r0, 24 - cmp r0, 0 - bne _08068884 - movs r0, 0 - b _0806888C -_08068884: - ldr r0, _08068890 @ =GraniteCave_B1F_EventScript_1C6BC5 - bl ScriptContext1_SetupScript - movs r0, 0x1 -_0806888C: - pop {r1} - bx r1 - .align 2, 0 -_08068890: .4byte GraniteCave_B1F_EventScript_1C6BC5 - thumb_func_end sub_8068870 - - thumb_func_start sub_8068894 -sub_8068894: @ 8068894 - push {lr} - bl sub_8082B78 - bl happiness_algorithm_step - bl overworld_poison_step - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080688B4 - ldr r0, _080688B0 @ =gUnknown_081A14B8 - b _080688E8 - .align 2, 0 -_080688B0: .4byte gUnknown_081A14B8 -_080688B4: - bl sub_80422A0 - lsls r0, 24 - cmp r0, 0 - beq _080688CC - movs r0, 0xD - bl IncrementGameStat - ldr r0, _080688C8 @ =Event_EggHatch - b _080688E8 - .align 2, 0 -_080688C8: .4byte Event_EggHatch -_080688CC: - bl SafariZoneTakeStep - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080688EC - movs r0, 0x1 - bl sub_810D9B0 - cmp r0, 0x1 - beq _080688E6 - movs r0, 0 - b _080688EE -_080688E6: - ldr r0, _080688F4 @ =gUnknown_0815FD0D -_080688E8: - bl ScriptContext1_SetupScript -_080688EC: - movs r0, 0x1 -_080688EE: - pop {r1} - bx r1 - .align 2, 0 -_080688F4: .4byte gUnknown_0815FD0D - thumb_func_end sub_8068894 - - thumb_func_start unref_sub_80688F8 -unref_sub_80688F8: @ 80688F8 - push {lr} - ldr r0, _08068908 @ =0x0000402a - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_08068908: .4byte 0x0000402a - thumb_func_end unref_sub_80688F8 - - thumb_func_start happiness_algorithm_step -happiness_algorithm_step: @ 806890C - push {r4,r5,lr} - ldr r0, _08068940 @ =0x0000402a - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - ldrh r1, [r0] - movs r2, 0x7F - ands r1, r2 - strh r1, [r0] - cmp r1, 0 - bne _0806893A - ldr r5, _08068944 @ =gPlayerParty - movs r4, 0x5 -_0806892A: - adds r0, r5, 0 - movs r1, 0x5 - bl AdjustFriendship - adds r5, 0x64 - subs r4, 0x1 - cmp r4, 0 - bge _0806892A -_0806893A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068940: .4byte 0x0000402a -_08068944: .4byte gPlayerParty - thumb_func_end happiness_algorithm_step - - thumb_func_start overworld_poison_timer_set -overworld_poison_timer_set: @ 8068948 - push {lr} - ldr r0, _08068958 @ =0x0000402b - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_08068958: .4byte 0x0000402b - thumb_func_end overworld_poison_timer_set - - thumb_func_start overworld_poison_step -overworld_poison_step: @ 806895C - push {lr} - ldr r0, _08068994 @ =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x9 - beq _0806899C - ldr r0, _08068998 @ =0x0000402b - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - ldrh r1, [r0] - movs r2, 0x3 - ands r1, r2 - strh r1, [r0] - cmp r1, 0 - bne _0806899C - bl overworld_poison - cmp r0, 0x1 - beq _0806899C - cmp r0, 0x1 - ble _0806899C - cmp r0, 0x2 - bne _0806899C - movs r0, 0x1 - b _0806899E - .align 2, 0 -_08068994: .4byte gMapHeader -_08068998: .4byte 0x0000402b -_0806899C: - movs r0, 0 -_0806899E: - pop {r1} - bx r1 - thumb_func_end overworld_poison_step - - thumb_func_start prev_quest_postbuffer_cursor_backup_reset -prev_quest_postbuffer_cursor_backup_reset: @ 80689A4 - ldr r1, _080689AC @ =gUnknown_0202E8C0 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080689AC: .4byte gUnknown_0202E8C0 - thumb_func_end prev_quest_postbuffer_cursor_backup_reset - - thumb_func_start is_it_battle_time_3 -is_it_battle_time_3: @ 80689B0 - push {r4-r7,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r7, r4, 0 - ldr r6, _080689CC @ =gUnknown_0202E8C0 - ldrb r0, [r6] - cmp r0, 0x3 - bhi _080689D4 - adds r0, 0x1 - strb r0, [r6] - ldr r0, _080689D0 @ =gUnknown_0202E8C2 - strh r4, [r0] - movs r0, 0 - b _080689F8 - .align 2, 0 -_080689CC: .4byte gUnknown_0202E8C0 -_080689D0: .4byte gUnknown_0202E8C2 -_080689D4: - ldr r5, _080689EC @ =gUnknown_0202E8C2 - ldrh r1, [r5] - adds r0, r4, 0 - bl StandardWildEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080689F0 - strh r4, [r5] - movs r0, 0 - b _080689F8 - .align 2, 0 -_080689EC: .4byte gUnknown_0202E8C2 -_080689F0: - movs r0, 0 - strb r0, [r6] - strh r7, [r5] - movs r0, 0x1 -_080689F8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end is_it_battle_time_3 - - thumb_func_start mapheader_run_first_tag2_script_list_match_conditionally -mapheader_run_first_tag2_script_list_match_conditionally: @ 8068A00 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _08068A54 @ =gMapHeader - mov r8, r0 - adds r1, r7, 0 - bl map_warp_check_packed - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl is_non_stair_warp_tile - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068A58 - lsls r0, r6, 24 - asrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08068A58 - bl walkrun_find_lowest_active_bit_in_bitfield - mov r0, r8 - adds r1, r4, 0 - adds r2, r7, 0 - bl sub_8068C30 - bl sub_8080E88 - movs r0, 0x1 - b _08068A5A - .align 2, 0 -_08068A54: .4byte gMapHeader -_08068A58: - movs r0, 0 -_08068A5A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end mapheader_run_first_tag2_script_list_match_conditionally - - thumb_func_start sub_8068A64 -sub_8068A64: @ 8068A64 - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r7, _08068ABC @ =gMapHeader - adds r0, r7, 0 - adds r1, r6, 0 - bl map_warp_check_packed - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08068B28 - adds r0, r5, 0 - bl sub_8068B30 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068B28 - bl walkrun_find_lowest_active_bit_in_bitfield - adds r0, r7, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_8068C30 - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsEscalator - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068AC0 - adds r0, r4, 0 - bl sub_8080F2C - movs r0, 0x1 - b _08068B2A - .align 2, 0 -_08068ABC: .4byte gMapHeader -_08068AC0: - adds r0, r4, 0 - bl MetatileBehavior_IsLavaridgeB1FWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068AD6 - bl sub_8080F48 - movs r0, 0x1 - b _08068B2A -_08068AD6: - adds r0, r4, 0 - bl MetatileBehavior_IsLavaridge1FWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068AEC - bl sub_8080F58 - movs r0, 0x1 - b _08068B2A -_08068AEC: - adds r0, r4, 0 - bl MetatileBehavior_IsAquaHideoutWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068B02 - bl sub_8080F68 - movs r0, 0x1 - b _08068B2A -_08068B02: - adds r0, r4, 0 - bl MetatileBehavior_IsMtPyreHole - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068B20 - ldr r0, _08068B1C @ =gUnknown_081C6BDE - bl ScriptContext1_SetupScript - movs r0, 0x1 - b _08068B2A - .align 2, 0 -_08068B1C: .4byte gUnknown_081C6BDE -_08068B20: - bl sub_8080E88 - movs r0, 0x1 - b _08068B2A -_08068B28: - movs r0, 0 -_08068B2A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8068A64 - - thumb_func_start sub_8068B30 -sub_8068B30: @ 8068B30 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsWarpDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl MetatileBehavior_IsLadder - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl MetatileBehavior_IsEscalator - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl MetatileBehavior_IsNonAnimDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl MetatileBehavior_IsLavaridgeB1FWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl MetatileBehavior_IsLavaridge1FWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl MetatileBehavior_IsAquaHideoutWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl MetatileBehavior_IsMtPyreHole - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - movs r0, 0 - b _08068BAC -_08068BAA: - movs r0, 0x1 -_08068BAC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068B30 - - thumb_func_start is_non_stair_warp_tile -is_non_stair_warp_tile: @ 8068BB4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0x2 - beq _08068BD8 - cmp r1, 0x2 - bgt _08068BCE - cmp r1, 0x1 - beq _08068BE2 - b _08068C04 -_08068BCE: - cmp r2, 0x3 - beq _08068BEC - cmp r2, 0x4 - beq _08068BF6 - b _08068C04 -_08068BD8: - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsNorthArrowWarp - b _08068BFE -_08068BE2: - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSouthArrowWarp - b _08068BFE -_08068BEC: - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsWestArrowWarp - b _08068BFE -_08068BF6: - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsEastArrowWarp -_08068BFE: - lsls r0, 24 - lsrs r0, 24 - b _08068C06 -_08068C04: - movs r0, 0 -_08068C06: - pop {r1} - bx r1 - thumb_func_end is_non_stair_warp_tile - - thumb_func_start map_warp_check_packed -map_warp_check_packed: @ 8068C0C - push {lr} - adds r3, r1, 0 - ldrh r1, [r3] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r3, 0x2] - subs r2, 0x7 - lsls r2, 16 - lsrs r2, 16 - ldrb r3, [r3, 0x4] - bl map_warp_check - lsls r0, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end map_warp_check_packed - - thumb_func_start sub_8068C30 -sub_8068C30: @ 8068C30 - push {r4-r7,lr} - adds r5, r2, 0 - ldr r0, _08068C50 @ =gMapHeader - ldr r0, [r0, 0x4] - lsls r1, 24 - asrs r7, r1, 24 - lsls r6, r7, 3 - ldr r0, [r0, 0x8] - adds r4, r0, r6 - ldrb r0, [r4, 0x6] - cmp r0, 0x7F - bne _08068C54 - ldrb r0, [r4, 0x5] - bl copy_saved_warp2_bank_and_enter_x_to_warp1 - b _08068C9E - .align 2, 0 -_08068C50: .4byte gMapHeader -_08068C54: - movs r0, 0x7 - ldrsb r0, [r4, r0] - movs r1, 0x6 - ldrsb r1, [r4, r1] - movs r2, 0x5 - ldrsb r2, [r4, r2] - bl warp1_set_2 - movs r1, 0 - ldrsh r0, [r5, r1] - movs r2, 0x2 - ldrsh r1, [r5, r2] - bl sub_80535C4 - ldrb r0, [r4, 0x7] - ldrb r1, [r4, 0x6] - bl get_mapheader_by_bank_and_number - ldr r1, [r0, 0x4] - ldrb r0, [r4, 0x5] - ldr r1, [r1, 0x8] - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x6] - cmp r0, 0x7F - bne _08068C9E - adds r0, r6, r1 - ldrb r0, [r0, 0x5] - ldr r2, _08068CA4 @ =gSaveBlock1 - movs r1, 0x4 - ldrsb r1, [r2, r1] - ldrb r2, [r2, 0x5] - lsls r2, 24 - asrs r2, 24 - adds r3, r7, 0 - bl saved_warp2_set -_08068C9E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08068CA4: .4byte gSaveBlock1 - thumb_func_end sub_8068C30 - - thumb_func_start map_warp_consider_2_to_inside -map_warp_consider_2_to_inside: @ 8068CA8 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r0, r1, 16 - adds r7, r0, 0 - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0x2 - bne _08068D2C - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80571C0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068CE0 - ldr r0, _08068CDC @ =gMapHeader - ldr r1, [r0, 0x4] - adds r0, r5, 0 - bl sub_80BC038 - movs r0, 0x1 - b _08068D2E - .align 2, 0 -_08068CDC: .4byte gMapHeader -_08068CE0: - adds r0, r4, 0 - bl MetatileBehavior_IsWarpDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068D2C - ldr r6, _08068D28 @ =gMapHeader - adds r0, r6, 0 - adds r1, r5, 0 - bl map_warp_check_packed - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08068D2C - adds r0, r7, 0 - bl sub_8068B30 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068D2C - bl walkrun_find_lowest_active_bit_in_bitfield - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8068C30 - bl sub_8080EF0 - movs r0, 0x1 - b _08068D2E - .align 2, 0 -_08068D28: .4byte gMapHeader -_08068D2C: - movs r0, 0 -_08068D2E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end map_warp_consider_2_to_inside - - thumb_func_start map_warp_check -map_warp_check: @ 8068D34 - push {r4-r6,lr} - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 24 - lsrs r4, r3, 24 - ldr r0, [r0, 0x4] - ldr r1, [r0, 0x8] - ldrb r3, [r0, 0x1] - movs r2, 0 - cmp r2, r3 - bge _08068D72 -_08068D4E: - ldrh r0, [r1] - cmp r0, r6 - bne _08068D6A - ldrh r0, [r1, 0x2] - cmp r0, r5 - bne _08068D6A - ldrb r0, [r1, 0x4] - cmp r0, r4 - beq _08068D64 - cmp r0, 0 - bne _08068D6A -_08068D64: - lsls r0, r2, 24 - asrs r0, 24 - b _08068D76 -_08068D6A: - adds r2, 0x1 - adds r1, 0x8 - cmp r2, r3 - blt _08068D4E -_08068D72: - movs r0, 0x1 - negs r0, r0 -_08068D76: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end map_warp_check - - thumb_func_start trigger_activate -trigger_activate: @ 8068D7C - push {r4,lr} - adds r4, r0, 0 - cmp r4, 0 - beq _08068DB2 - ldr r1, [r4, 0xC] - cmp r1, 0 - bne _08068D92 - ldrb r0, [r4, 0x6] - bl DoCoordEventWeather - b _08068DB2 -_08068D92: - ldrh r0, [r4, 0x6] - cmp r0, 0 - beq _08068DAC - ldrh r0, [r4, 0x6] - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r4, 0x8] - cmp r0, r1 - bne _08068DB2 - ldr r0, [r4, 0xC] - b _08068DB4 -_08068DAC: - adds r0, r1, 0 - bl ScriptContext2_RunNewScript -_08068DB2: - movs r0, 0 -_08068DB4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end trigger_activate - - thumb_func_start mapheader_trigger_activate_at -mapheader_trigger_activate_at: @ 8068DBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - ldr r0, [r0, 0x4] - ldr r1, [r0, 0xC] - ldrb r7, [r0, 0x2] - movs r6, 0 - cmp r6, r7 - bge _08068E12 - adds r5, r1, 0 - adds r4, r5, 0 -_08068DE8: - ldrh r0, [r4] - cmp r0, r10 - bne _08068E08 - ldrh r0, [r4, 0x2] - cmp r0, r9 - bne _08068E08 - ldrb r0, [r4, 0x4] - cmp r0, r8 - beq _08068DFE - cmp r0, 0 - bne _08068E08 -_08068DFE: - adds r0, r5, 0 - bl trigger_activate - cmp r0, 0 - bne _08068E14 -_08068E08: - adds r4, 0x10 - adds r5, 0x10 - adds r6, 0x1 - cmp r6, r7 - blt _08068DE8 -_08068E12: - movs r0, 0 -_08068E14: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end mapheader_trigger_activate_at - - thumb_func_start sub_8068E24 -sub_8068E24: @ 8068E24 - push {r4,lr} - ldr r4, _08068E48 @ =gMapHeader - ldrh r1, [r0] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r0, 0x2] - subs r2, 0x7 - lsls r2, 16 - lsrs r2, 16 - ldrb r3, [r0, 0x4] - adds r0, r4, 0 - bl mapheader_trigger_activate_at - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08068E48: .4byte gMapHeader - thumb_func_end sub_8068E24 - - thumb_func_start FindInvisibleMapObjectByPosition -FindInvisibleMapObjectByPosition: @ 8068E4C - push {r4-r7,lr} - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r3, 24 - lsrs r5, r3, 24 - ldr r0, [r0, 0x4] - ldr r4, [r0, 0x10] - ldrb r3, [r0, 0x3] - movs r2, 0 - cmp r2, r3 - bcs _08068E92 -_08068E66: - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, r7 - bne _08068E88 - ldrh r0, [r1, 0x2] - cmp r0, r6 - bne _08068E88 - ldrb r0, [r1, 0x4] - cmp r0, r5 - beq _08068E84 - cmp r0, 0 - bne _08068E88 -_08068E84: - adds r0, r1, 0 - b _08068E94 -_08068E88: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _08068E66 -_08068E92: - movs r0, 0 -_08068E94: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end FindInvisibleMapObjectByPosition - - thumb_func_start dive_warp -dive_warp: @ 8068E9C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r0, _08068ED0 @ =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x5 - bne _08068ED4 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_805750C - lsls r0, 24 - cmp r0, 0 - bne _08068ED4 - ldrh r0, [r4] - subs r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0x2] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - bl sub_80538B0 - b _08068EF8 - .align 2, 0 -_08068ED0: .4byte gMapHeader -_08068ED4: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80574EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068F10 - ldrh r0, [r4] - subs r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0x2] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - bl sub_80538D0 -_08068EF8: - lsls r0, 24 - cmp r0, 0 - beq _08068F10 - bl walkrun_find_lowest_active_bit_in_bitfield - bl sp13E_warp_to_last_warp - movs r0, 0xE9 - bl PlaySE - movs r0, 0x1 - b _08068F12 -_08068F10: - movs r0, 0 -_08068F12: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end dive_warp - - thumb_func_start sub_8068F18 -sub_8068F18: @ 8068F18 - push {r4,r5,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08068F70 @ =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x5 - bne _08068F74 - adds r0, r5, 0 - bl sub_805750C - lsls r0, 24 - cmp r0, 0 - bne _08068F74 - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - bl sub_80538B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068FA4 - movs r0, 0x1 - b _08068FA6 - .align 2, 0 -_08068F70: .4byte gMapHeader -_08068F74: - adds r0, r5, 0 - bl sub_80574EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068FA4 - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - bl sub_80538D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068FA4 - movs r0, 0x2 - b _08068FA6 -_08068FA4: - movs r0, 0 -_08068FA6: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8068F18 - - thumb_func_start GetFieldObjectScriptPointerForComparison -GetFieldObjectScriptPointerForComparison: @ 8068FB0 - push {r4,r5,lr} - sub sp, 0x8 - bl player_get_direction_upper_nybble - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r5, sp - mov r0, sp - bl player_get_next_pos_and_height - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0x2 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - adds r2, r4, 0 - bl sub_8068364 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetFieldObjectScriptPointerForComparison - - thumb_func_start sub_8068FEC -sub_8068FEC: @ 8068FEC - push {r4,lr} - sub sp, 0x8 - bl player_get_direction_upper_nybble - mov r4, sp - mov r0, sp - bl player_get_pos_to_and_height - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - ldr r4, _0806902C @ =gMapHeader - adds r0, r4, 0 - mov r1, sp - bl map_warp_check_packed - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - adds r0, r4, 0 - mov r2, sp - bl sub_8068C30 - movs r0, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806902C: .4byte gMapHeader - thumb_func_end sub_8068FEC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_effect.s b/asm/field_effect.s index 4bcba42ce..66d89ef09 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -1620,7 +1620,7 @@ task00_8084310: @ 8086604 cmp r0, 0 beq _08086666 ldr r1, _08086670 @ =gUnknown_0202FF84 - ldr r0, _08086674 @ =gUnknown_03005CE0 + ldr r0, _08086674 @ =gLastFieldPokeMenuOpened ldrb r0, [r0] str r0, [r1] cmp r0, 0x5 @@ -1654,7 +1654,7 @@ _08086666: .align 2, 0 _0808666C: .4byte gTasks _08086670: .4byte gUnknown_0202FF84 -_08086674: .4byte gUnknown_03005CE0 +_08086674: .4byte gLastFieldPokeMenuOpened _08086678: .4byte CB2_LoadMap _0808667C: .4byte gUnknown_0300485C _08086680: .4byte mapldr_08084390 diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index 348e1d0f3..d54b57fed 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -6,4242 +6,6 @@ .text - thumb_func_start npc_clear_ids_and_state -npc_clear_ids_and_state: @ 805AA50 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - movs r2, 0x24 - bl memset - movs r0, 0xFF - strb r0, [r4, 0x8] - movs r0, 0x1 - negs r0, r0 - strb r0, [r4, 0x9] - strb r0, [r4, 0xA] - strb r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end npc_clear_ids_and_state - - thumb_func_start npcs_clear_ids_and_state -npcs_clear_ids_and_state: @ 805AA70 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0805AA94 @ =gMapObjects -_0805AA76: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - bl npc_clear_ids_and_state - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0805AA76 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805AA94: .4byte gMapObjects - thumb_func_end npcs_clear_ids_and_state - - thumb_func_start sub_805AA98 -sub_805AA98: @ 805AA98 - push {lr} - bl strange_npc_table_clear - bl npcs_clear_ids_and_state - bl ClearPlayerAvatarInfo - bl sub_805AAB0 - pop {r0} - bx r0 - thumb_func_end sub_805AA98 - - thumb_func_start sub_805AAB0 -sub_805AAB0: @ 805AAB0 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - ldr r0, _0805AB4C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x54] - mov r9, r0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0805AB50 @ =gSprites - mov r10, r1 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r10 - ldrb r1, [r4, 0x1] - movs r5, 0x4 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - movs r1, 0x1 - mov r8, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - adds r4, 0x3E - ldrb r0, [r4] - movs r6, 0x4 - orrs r0, r6 - strb r0, [r4] - mov r0, r9 - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r10 - ldrb r0, [r4, 0x1] - ands r5, r0 - mov r0, r8 - orrs r5, r0 - strb r5, [r4, 0x1] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r6 - strb r0, [r4] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805AB4C: .4byte gFieldEffectObjectTemplatePointers -_0805AB50: .4byte gSprites - thumb_func_end sub_805AAB0 - - thumb_func_start sub_805AB54 -sub_805AB54: @ 805AB54 - push {lr} - movs r1, 0 - ldr r2, _0805AB60 @ =gMapObjects - ldrb r0, [r2] - b _0805AB78 - .align 2, 0 -_0805AB60: .4byte gMapObjects -_0805AB64: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bhi _0805AB7E - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] -_0805AB78: - lsls r0, 31 - cmp r0, 0 - bne _0805AB64 -_0805AB7E: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_805AB54 - - thumb_func_start GetFieldObjectIdByLocalIdAndMap -GetFieldObjectIdByLocalIdAndMap: @ 805AB84 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r0, 0xFE - bls _0805AB9C - bl GetFieldObjectIdByLocalId - b _0805ABA0 -_0805AB9C: - bl GetFieldObjectIdByLocalIdAndMapInternal -_0805ABA0: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetFieldObjectIdByLocalIdAndMap - - thumb_func_start TryGetFieldObjectIdByLocalIdAndMap -TryGetFieldObjectIdByLocalIdAndMap: @ 805ABA8 - push {r4,lr} - adds r4, r3, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - bl GetFieldObjectIdByLocalIdAndMap - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - beq _0805ABCA - movs r0, 0 - b _0805ABCC -_0805ABCA: - movs r0, 0x1 -_0805ABCC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end TryGetFieldObjectIdByLocalIdAndMap - - thumb_func_start GetFieldObjectIdByXY -GetFieldObjectIdByXY: @ 805ABD4 - push {r4-r6,lr} - movs r3, 0 - ldr r5, _0805AC14 @ =gMapObjects - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r1, 16 -_0805ABE2: - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r5 - ldrb r0, [r2] - lsls r0, 31 - cmp r0, 0 - beq _0805AC02 - movs r6, 0x10 - ldrsh r0, [r2, r6] - cmp r0, r4 - bne _0805AC02 - movs r6, 0x12 - ldrsh r0, [r2, r6] - cmp r0, r1 - beq _0805AC0C -_0805AC02: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _0805ABE2 -_0805AC0C: - adds r0, r3, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805AC14: .4byte gMapObjects - thumb_func_end GetFieldObjectIdByXY - - thumb_func_start GetFieldObjectIdByLocalIdAndMapInternal -GetFieldObjectIdByLocalIdAndMapInternal: @ 805AC18 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - ldr r6, _0805AC50 @ =gMapObjects -_0805AC2A: - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r6 - ldrb r0, [r3] - lsls r0, 31 - cmp r0, 0 - beq _0805AC54 - ldrb r0, [r3, 0x8] - cmp r0, r5 - bne _0805AC54 - ldrb r0, [r3, 0x9] - cmp r0, r4 - bne _0805AC54 - ldrb r0, [r3, 0xA] - cmp r0, r2 - bne _0805AC54 - adds r0, r1, 0 - b _0805AC60 - .align 2, 0 -_0805AC50: .4byte gMapObjects -_0805AC54: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _0805AC2A - movs r0, 0x10 -_0805AC60: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetFieldObjectIdByLocalIdAndMapInternal - - thumb_func_start GetFieldObjectIdByLocalId -GetFieldObjectIdByLocalId: @ 805AC68 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r4, _0805AC8C @ =gMapObjects -_0805AC72: - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r4 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _0805AC90 - ldrb r0, [r1, 0x8] - cmp r0, r3 - bne _0805AC90 - adds r0, r2, 0 - b _0805AC9C - .align 2, 0 -_0805AC8C: .4byte gMapObjects -_0805AC90: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _0805AC72 - movs r0, 0x10 -_0805AC9C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetFieldObjectIdByLocalId - - thumb_func_start InitFieldObjectStateFromTemplate -InitFieldObjectStateFromTemplate: @ 805ACA4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - ldrb r0, [r5] - adds r1, r6, 0 - adds r2, r7, 0 - mov r3, sp - bl GetAvailableFieldObjectSlot - lsls r0, 24 - cmp r0, 0 - beq _0805ACCE - movs r0, 0x10 - b _0805ADC2 -_0805ACCE: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805ADD0 @ =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl npc_clear_ids_and_state - ldrh r3, [r5, 0x4] - adds r3, 0x7 - lsls r3, 16 - lsrs r3, 16 - ldrh r2, [r5, 0x6] - adds r2, 0x7 - lsls r2, 16 - lsrs r2, 16 - ldrb r0, [r4] - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r5, 0x1] - strb r0, [r4, 0x5] - ldrb r0, [r5, 0x9] - strb r0, [r4, 0x6] - ldrb r0, [r5] - strb r0, [r4, 0x8] - strb r6, [r4, 0x9] - strb r7, [r4, 0xA] - strh r3, [r4, 0xC] - strh r2, [r4, 0xE] - strh r3, [r4, 0x10] - strh r2, [r4, 0x12] - strh r3, [r4, 0x14] - strh r2, [r4, 0x16] - ldrb r0, [r5, 0x8] - movs r7, 0xF - adds r1, r7, 0 - ands r1, r0 - ldrb r2, [r4, 0xB] - movs r0, 0x10 - negs r0, r0 - mov r8, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0xB] - ldrb r1, [r5, 0x8] - lsls r1, 4 - ands r0, r7 - orrs r0, r1 - strb r0, [r4, 0xB] - ldrb r1, [r5, 0xA] - lsls r1, 28 - movs r0, 0xF - mov r9, r0 - lsrs r1, 28 - ldrb r2, [r4, 0x19] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x19] - ldrb r1, [r5, 0xA] - lsrs r1, 4 - lsls r1, 4 - ands r0, r7 - orrs r0, r1 - strb r0, [r4, 0x19] - ldrh r0, [r5, 0xC] - strb r0, [r4, 0x7] - ldrh r0, [r5, 0xE] - strb r0, [r4, 0x1D] - ldr r1, _0805ADD4 @ =gUnknown_0836DC09 - ldrb r0, [r5, 0x9] - adds r0, r1 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - strb r1, [r0] - ldrb r1, [r0] - adds r0, r4, 0 - bl FieldObjectSetDirection - adds r0, r4, 0 - bl FieldObjectHandleDynamicGraphicsId - ldr r1, _0805ADD8 @ =gUnknown_0836DBBC - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0805ADBE - ldrb r2, [r4, 0x19] - adds r0, r7, 0 - ands r0, r2 - cmp r0, 0 - bne _0805ADA6 - lsls r0, r2, 28 - lsrs r0, 28 - adds r0, 0x1 - mov r1, r9 - ands r0, r1 - mov r1, r8 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x19] -_0805ADA6: - ldrb r2, [r4, 0x19] - movs r0, 0xF0 - ands r0, r2 - cmp r0, 0 - bne _0805ADBE - lsrs r1, r2, 4 - adds r1, 0x1 - lsls r1, 4 - adds r0, r7, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x19] -_0805ADBE: - mov r0, sp - ldrb r0, [r0] -_0805ADC2: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805ADD0: .4byte gMapObjects -_0805ADD4: .4byte gUnknown_0836DC09 -_0805ADD8: .4byte gUnknown_0836DBBC - thumb_func_end InitFieldObjectStateFromTemplate - - thumb_func_start sub_805ADDC -sub_805ADDC: @ 805ADDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0805ADF4 @ =gMapHeader - ldr r0, [r0, 0x4] - cmp r0, 0 - bne _0805AE10 - b _0805AE3E - .align 2, 0 -_0805ADF4: .4byte gMapHeader -_0805ADF8: - ldr r1, _0805AE0C @ =0xfffff3e0 - adds r0, r7, r1 - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - adds r0, r4, 0 - bl InitFieldObjectStateFromTemplate - lsls r0, 24 - lsrs r0, 24 - b _0805AE40 - .align 2, 0 -_0805AE0C: .4byte 0xfffff3e0 -_0805AE10: - ldrb r6, [r0] - movs r5, 0 - cmp r5, r6 - bcs _0805AE3E - ldr r7, _0805AE4C @ =gSaveBlock1 + 0xC20 -_0805AE1A: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r7 - ldrb r0, [r4] - cmp r0, r8 - bne _0805AE34 - ldrh r0, [r4, 0x14] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0805ADF8 -_0805AE34: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _0805AE1A -_0805AE3E: - movs r0, 0x10 -_0805AE40: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805AE4C: .4byte gSaveBlock1 + 0xC20 - thumb_func_end sub_805ADDC - - thumb_func_start GetAvailableFieldObjectSlot -GetAvailableFieldObjectSlot: @ 805AE50 - push {r4-r7,lr} - mov r12, r3 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r2, 0 - ldr r1, _0805AEAC @ =gMapObjects - ldrb r0, [r1] - lsls r0, 31 - adds r7, r1, 0 - cmp r0, 0 - beq _0805AEA4 - adds r3, r1, 0 -_0805AE70: - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r3 - ldrb r0, [r1, 0x8] - cmp r0, r6 - bne _0805AE8A - ldrb r0, [r1, 0x9] - cmp r0, r5 - bne _0805AE8A - ldrb r0, [r1, 0xA] - cmp r0, r4 - beq _0805AEA8 -_0805AE8A: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bhi _0805AEA8 - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0805AE70 -_0805AEA4: - cmp r2, 0xF - bls _0805AEB0 -_0805AEA8: - movs r0, 0x1 - b _0805AEE4 - .align 2, 0 -_0805AEAC: .4byte gMapObjects -_0805AEB0: - mov r0, r12 - strb r2, [r0] - ldr r1, _0805AEEC @ =gMapObjects -_0805AEB6: - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r1 - ldrb r0, [r3] - lsls r0, 31 - cmp r0, 0 - beq _0805AED8 - ldrb r0, [r3, 0x8] - cmp r0, r6 - bne _0805AED8 - ldrb r0, [r3, 0x9] - cmp r0, r5 - bne _0805AED8 - ldrb r0, [r3, 0xA] - cmp r0, r4 - beq _0805AEA8 -_0805AED8: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _0805AEB6 - movs r0, 0 -_0805AEE4: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805AEEC: .4byte gMapObjects - thumb_func_end GetAvailableFieldObjectSlot - - thumb_func_start RemoveFieldObject -RemoveFieldObject: @ 805AEF0 - push {lr} - ldrb r2, [r0] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bl RemoveFieldObjectInternal - pop {r0} - bx r0 - thumb_func_end RemoveFieldObject - - thumb_func_start RemoveFieldObjectByLocalIdAndMap -RemoveFieldObjectByLocalIdAndMap: @ 805AF04 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805AF42 - mov r0, sp - ldrb r0, [r0] - bl GetFieldObjectFlagIdByFieldObjectId - lsls r0, 16 - lsrs r0, 16 - bl FlagSet - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805AF48 @ =gMapObjects - adds r0, r1 - bl RemoveFieldObject -_0805AF42: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0805AF48: .4byte gMapObjects - thumb_func_end RemoveFieldObjectByLocalIdAndMap - - thumb_func_start RemoveFieldObjectInternal -RemoveFieldObjectInternal: @ 805AF4C - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldrb r0, [r4, 0x5] - bl GetFieldObjectGraphicsInfo - ldrh r2, [r0, 0x6] - ldr r1, _0805AF90 @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - ldr r2, _0805AF94 @ =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0xC - adds r0, r1 - mov r1, sp - str r1, [r0] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - bl DestroySprite - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805AF90: .4byte 0xffff0000 -_0805AF94: .4byte gSprites - thumb_func_end RemoveFieldObjectInternal - - thumb_func_start npc_hide_all_but_player -npc_hide_all_but_player: @ 805AF98 - push {r4,lr} - movs r4, 0 -_0805AF9C: - ldr r0, _0805AFC4 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _0805AFB2 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - ldr r1, _0805AFC8 @ =gMapObjects - adds r0, r1 - bl RemoveFieldObject -_0805AFB2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0805AF9C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805AFC4: .4byte gPlayerAvatar -_0805AFC8: .4byte gMapObjects - thumb_func_end npc_hide_all_but_player - - thumb_func_start sub_805AFCC -sub_805AFCC: @ 805AFCC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r1, 0 - adds r1, r2, 0 - adds r2, r3, 0 - ldr r3, [sp, 0x20] - ldr r4, [sp, 0x24] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - lsls r4, 16 - lsrs r4, 16 - mov r10, r4 - bl InitFieldObjectStateFromTemplate - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x10 - bne _0805B006 - movs r0, 0x10 - b _0805B154 -_0805B006: - mov r0, r8 - lsls r4, r0, 3 - adds r0, r4, r0 - lsls r0, 2 - ldr r1, _0805B030 @ =gMapObjects - adds r5, r0, r1 - ldrb r0, [r5, 0x5] - bl GetFieldObjectGraphicsInfo - adds r6, r0, 0 - ldrb r1, [r6, 0xC] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0805B034 - ldrh r0, [r6, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl npc_load_two_palettes__no_record - b _0805B042 - .align 2, 0 -_0805B030: .4byte gMapObjects -_0805B034: - cmp r0, 0xA - bne _0805B042 - ldrh r0, [r6, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl npc_load_two_palettes__and_record -_0805B042: - ldrb r0, [r5, 0x6] - cmp r0, 0x4C - bne _0805B050 - ldrb r0, [r5, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r5, 0x1] -_0805B050: - ldr r1, _0805B084 @ =0x0000ffff - adds r0, r1, 0 - strh r0, [r7, 0x2] - adds r0, r7, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x40 - bne _0805B08C - ldr r0, _0805B088 @ =gMapObjects - mov r2, r8 - adds r1, r4, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0x10 - b _0805B154 - .align 2, 0 -_0805B084: .4byte 0x0000ffff -_0805B088: .4byte gMapObjects -_0805B08C: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, _0805B164 @ =gSprites - adds r4, r0, r1 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - ldrh r2, [r5, 0x10] - adds r0, r2 - lsls r0, 16 - asrs r0, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldrh r2, [r5, 0x12] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - bl sub_8060388 - ldrh r0, [r6, 0x8] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r4, 0 - adds r1, 0x28 - strb r0, [r1] - ldrh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r2, r4, 0 - adds r2, 0x29 - strb r0, [r2] - ldrh r0, [r4, 0x20] - adds r0, 0x8 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x22] - adds r1, 0x10 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - strh r0, [r4, 0x22] - ldrb r1, [r6, 0xC] - lsls r1, 28 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - mov r0, r8 - strh r0, [r4, 0x2E] - strb r7, [r5, 0x4] - ldrb r1, [r6, 0xC] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 4 - ldrb r2, [r5, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x1] - lsls r0, 27 - cmp r0, 0 - blt _0805B13E - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl FieldObjectDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_0805B13E: - ldrb r0, [r5, 0xB] - lsrs r0, 4 - adds r1, r4, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80634D0 - mov r0, r8 -_0805B154: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805B164: .4byte gSprites - thumb_func_end sub_805AFCC - - thumb_func_start SpawnFieldObject -SpawnFieldObject: @ 805B168 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x2C - mov r9, r0 - adds r6, r1, 0 - mov r8, r2 - adds r4, r3, 0 - ldr r5, [sp, 0x48] - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0 - str r0, [sp, 0x20] - mov r1, r9 - ldrb r0, [r1, 0x1] - bl GetFieldObjectGraphicsInfo - adds r7, r0, 0 - add r2, sp, 0x20 - mov r0, r9 - add r1, sp, 0x8 - bl MakeObjectTemplateFromFieldObjectTemplate - ldrh r3, [r7, 0x6] - ldr r2, _0805B1E0 @ =0xffff0000 - add r1, sp, 0x24 - ldr r0, [r1, 0x4] - ands r0, r2 - orrs r0, r3 - str r0, [r1, 0x4] - str r1, [sp, 0x14] - lsls r4, 16 - asrs r4, 16 - str r4, [sp] - lsls r5, 16 - asrs r5, 16 - str r5, [sp, 0x4] - mov r0, r9 - add r1, sp, 0x8 - adds r2, r6, 0 - mov r3, r8 - bl sub_805AFCC - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - cmp r2, 0x10 - bne _0805B1E4 - movs r0, 0x10 - b _0805B21A - .align 2, 0 -_0805B1E0: .4byte 0xffff0000 -_0805B1E4: - ldr r4, _0805B228 @ =gSprites - ldr r1, _0805B22C @ =gMapObjects - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r1 - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0xC - adds r0, r1 - ldr r1, [r7, 0x1C] - str r1, [r0] - ldr r2, [sp, 0x20] - cmp r2, 0 - beq _0805B218 - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r1, r2, 0 - bl SetSubspriteTables -_0805B218: - adds r0, r5, 0 -_0805B21A: - add sp, 0x2C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805B228: .4byte gSprites -_0805B22C: .4byte gMapObjects - thumb_func_end SpawnFieldObject - - thumb_func_start SpawnSpecialFieldObject -SpawnSpecialFieldObject: @ 805B230 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - mov r4, sp - adds r4, 0x6 - add r0, sp, 0x4 - adds r1, r4, 0 - bl GetFieldObjectMovingCameraOffset - ldr r0, _0805B268 @ =gSaveBlock1 - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - add r0, sp, 0x4 - movs r6, 0 - ldrsh r3, [r0, r6] - movs r6, 0 - ldrsh r0, [r4, r6] - str r0, [sp] - adds r0, r5, 0 - bl SpawnFieldObject - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805B268: .4byte gSaveBlock1 - thumb_func_end SpawnSpecialFieldObject - - thumb_func_start SpawnSpecialFieldObjectParametrized -SpawnSpecialFieldObjectParametrized: @ 805B26C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - ldr r4, [sp, 0x2C] - ldr r5, [sp, 0x30] - mov r8, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r3, 16 - ldr r5, _0805B2D0 @ =0xfff90000 - adds r3, r5 - lsrs r3, 16 - lsls r4, 16 - adds r4, r5 - lsrs r4, 16 - mov r5, sp - movs r6, 0 - strb r2, [r5] - mov r2, sp - strb r0, [r2, 0x1] - mov r0, sp - strb r6, [r0, 0x2] - movs r5, 0 - strh r3, [r0, 0x4] - strh r4, [r0, 0x6] - mov r2, r8 - strb r2, [r0, 0x8] - strb r1, [r0, 0x9] - mov r2, sp - ldrb r1, [r2, 0xA] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0xA] - mov r0, sp - strb r5, [r0, 0xA] - strh r6, [r0, 0xC] - strh r6, [r0, 0xE] - bl SpawnSpecialFieldObject - lsls r0, 24 - lsrs r0, 24 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805B2D0: .4byte 0xfff90000 - thumb_func_end SpawnSpecialFieldObjectParametrized - - thumb_func_start show_sprite -show_sprite: @ 805B2D4 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - adds r1, r7, 0 - adds r2, r6, 0 - bl GetFieldObjectTemplateByLocalIdAndMap - adds r5, r0, 0 - cmp r5, 0 - beq _0805B31A - mov r4, sp - adds r4, 0x6 - add r0, sp, 0x4 - adds r1, r4, 0 - bl GetFieldObjectMovingCameraOffset - add r0, sp, 0x4 - movs r1, 0 - ldrsh r3, [r0, r1] - movs r1, 0 - ldrsh r0, [r4, r1] - str r0, [sp] - adds r0, r5, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl SpawnFieldObject - lsls r0, 24 - lsrs r0, 24 - b _0805B31C -_0805B31A: - movs r0, 0x10 -_0805B31C: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end show_sprite - - thumb_func_start MakeObjectTemplateFromFieldObjectGraphicsInfo -MakeObjectTemplateFromFieldObjectGraphicsInfo: @ 805B324 - push {r4-r6,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r0, 24 - bl GetFieldObjectGraphicsInfo - ldrh r1, [r0] - strh r1, [r4] - ldrh r1, [r0, 0x2] - strh r1, [r4, 0x2] - ldr r1, [r0, 0x10] - str r1, [r4, 0x4] - ldr r1, [r0, 0x18] - str r1, [r4, 0x8] - ldr r1, [r0, 0x1C] - str r1, [r4, 0xC] - ldr r1, [r0, 0x20] - str r1, [r4, 0x10] - str r5, [r4, 0x14] - ldr r0, [r0, 0x14] - str r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end MakeObjectTemplateFromFieldObjectGraphicsInfo - - thumb_func_start MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex -MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex: @ 805B358 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - ldr r4, _0805B374 @ =gUnknown_0836DA88 - lsrs r1, 14 - adds r1, r4 - ldr r1, [r1] - bl MakeObjectTemplateFromFieldObjectGraphicsInfo - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805B374: .4byte gUnknown_0836DA88 - thumb_func_end MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex - - thumb_func_start MakeObjectTemplateFromFieldObjectTemplate -MakeObjectTemplateFromFieldObjectTemplate: @ 805B378 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldrb r0, [r4, 0x1] - ldrb r1, [r4, 0x9] - adds r2, r5, 0 - bl MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end MakeObjectTemplateFromFieldObjectTemplate - - thumb_func_start AddPseudoFieldObject -AddPseudoFieldObject: @ 805B390 - push {r4-r6,lr} - sub sp, 0x1C - ldr r4, [sp, 0x2C] - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r3, 16 - lsrs r5, r3, 16 - lsls r4, 24 - lsrs r4, 24 - add r3, sp, 0x18 - mov r2, sp - bl MakeObjectTemplateFromFieldObjectGraphicsInfo - mov r0, sp - ldrh r1, [r0, 0x2] - ldr r0, _0805B408 @ =0x0000ffff - cmp r1, r0 - beq _0805B3C0 - mov r0, sp - ldrh r0, [r0, 0x2] - bl sub_805BDF8 -_0805B3C0: - lsls r1, r6, 16 - asrs r1, 16 - lsls r2, r5, 16 - asrs r2, 16 - mov r0, sp - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _0805B3FC - ldr r1, [sp, 0x18] - cmp r1, 0 - beq _0805B3FC - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r0, _0805B40C @ =gSprites - adds r4, r0 - adds r0, r4, 0 - bl SetSubspriteTables - adds r4, 0x42 - ldrb r1, [r4] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4] -_0805B3FC: - adds r0, r5, 0 - add sp, 0x1C - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805B408: .4byte 0x0000ffff -_0805B40C: .4byte gSprites - thumb_func_end AddPseudoFieldObject - - thumb_func_start sub_805B410 -sub_805B410: @ 805B410 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - adds r5, r0, 0 - ldr r0, [sp, 0x44] - ldr r4, [sp, 0x48] - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - add r1, sp, 0x18 - mov r8, r1 - strh r2, [r1] - mov r6, sp - adds r6, 0x1A - strh r3, [r6] - lsls r0, 24 - lsrs r7, r0, 24 - mov r9, r7 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x20] - adds r0, r5, 0 - bl GetFieldObjectGraphicsInfo - adds r4, r0, 0 - ldr r1, _0805B550 @ =sub_8064970 - add r3, sp, 0x1C - adds r0, r5, 0 - mov r2, sp - bl MakeObjectTemplateFromFieldObjectGraphicsInfo - mov r1, sp - ldr r2, _0805B554 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1, 0x2] - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, 0x7 - strh r0, [r1] - movs r1, 0 - ldrsh r0, [r6, r1] - adds r0, 0x7 - strh r0, [r6] - mov r0, r8 - adds r1, r6, 0 - movs r2, 0x8 - movs r3, 0x10 - bl sub_8060470 - mov r2, r8 - movs r0, 0 - ldrsh r1, [r2, r0] - movs r0, 0 - ldrsh r2, [r6, r0] - mov r0, sp - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _0805B53C - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - ldr r1, _0805B558 @ =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r5, 0 - adds r1, 0x28 - strb r0, [r1] - ldrh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, 0x1 - strb r0, [r1] - movs r0, 0 - ldrsb r0, [r1, r0] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - ldrb r1, [r4, 0xC] - lsls r1, 28 - lsrs r1, 24 - ldrb r3, [r5, 0x5] - movs r2, 0xF - adds r0, r2, 0 - ands r0, r3 - orrs r0, r1 - strb r0, [r5, 0x5] - adds r3, r5, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - mov r0, r10 - strh r0, [r5, 0x2E] - strh r7, [r5, 0x30] - ldrb r1, [r4, 0xC] - ands r2, r1 - cmp r2, 0xA - bne _0805B4FC - ldrh r0, [r4, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl npc_load_two_palettes__and_record -_0805B4FC: - ldr r1, [sp, 0x1C] - cmp r1, 0 - beq _0805B518 - adds r0, r5, 0 - bl SetSubspriteTables - adds r2, r5, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x3F - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r2] -_0805B518: - adds r0, r5, 0 - mov r1, r9 - bl InitObjectPriorityByZCoord - mov r0, r9 - adds r1, r5, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldr r0, [sp, 0x20] - bl FieldObjectDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim -_0805B53C: - adds r0, r6, 0 - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805B550: .4byte sub_8064970 -_0805B554: .4byte 0x0000ffff -_0805B558: .4byte gSprites - thumb_func_end sub_805B410 - - thumb_func_start sub_805B55C -sub_805B55C: @ 805B55C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x4] - ldr r0, _0805B628 @ =gMapHeader - ldr r5, [r0, 0x4] - cmp r5, 0 - beq _0805B618 - ldr r4, _0805B62C @ =gSaveBlock1 - ldrh r0, [r4] - subs r1, r0, 0x2 - lsls r1, 16 - lsrs r1, 16 - adds r0, 0x11 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - ldrh r2, [r4, 0x2] - adds r0, r2, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - ldrb r6, [r5] - movs r5, 0 - cmp r5, r6 - bcs _0805B618 - lsls r0, r2, 16 - asrs r0, 16 - mov r10, r0 - adds r7, r4, 0 - lsls r0, r1, 16 - asrs r0, 16 - mov r9, r0 - lsls r3, 16 - mov r8, r3 -_0805B5B2: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - ldr r1, _0805B630 @ =gSaveBlock1 + 0xC20 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r4, 0x6] - adds r0, 0x7 - lsls r0, 16 - asrs r1, r0, 16 - cmp r10, r1 - bgt _0805B60E - ldr r3, [sp, 0xC] - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, r1 - blt _0805B60E - lsls r0, r2, 16 - asrs r1, r0, 16 - cmp r9, r1 - bgt _0805B60E - ldr r2, [sp, 0x8] - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, r1 - blt _0805B60E - ldrh r0, [r4, 0x14] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0805B60E - ldrb r1, [r7, 0x5] - ldrb r2, [r7, 0x4] - ldr r3, [sp, 0x4] - lsls r0, r3, 16 - asrs r0, 16 - str r0, [sp] - adds r0, r4, 0 - mov r4, r8 - asrs r3, r4, 16 - bl SpawnFieldObject -_0805B60E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _0805B5B2 -_0805B618: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805B628: .4byte gMapHeader -_0805B62C: .4byte gSaveBlock1 -_0805B630: .4byte gSaveBlock1 + 0xC20 - thumb_func_end sub_805B55C - - thumb_func_start RemoveFieldObjectsOutsideView -RemoveFieldObjectsOutsideView: @ 805B634 - push {r4-r6,lr} - movs r3, 0 - ldr r6, _0805B688 @ =gLinkPlayerMapObjects -_0805B63A: - movs r2, 0 - movs r4, 0 - adds r5, r3, 0x1 -_0805B640: - lsls r0, r2, 2 - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0 - beq _0805B652 - ldrb r1, [r1, 0x2] - cmp r3, r1 - bne _0805B652 - movs r4, 0x1 -_0805B652: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _0805B640 - cmp r4, 0 - bne _0805B67A - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - ldr r1, _0805B68C @ =gMapObjects - adds r2, r0, r1 - ldr r0, [r2] - ldr r1, _0805B690 @ =0x00010001 - ands r0, r1 - cmp r0, 0x1 - bne _0805B67A - adds r0, r2, 0 - bl RemoveFieldObjectIfOutsideView -_0805B67A: - lsls r0, r5, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _0805B63A - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805B688: .4byte gLinkPlayerMapObjects -_0805B68C: .4byte gMapObjects -_0805B690: .4byte 0x00010001 - thumb_func_end RemoveFieldObjectsOutsideView - - thumb_func_start RemoveFieldObjectIfOutsideView -RemoveFieldObjectIfOutsideView: @ 805B694 - push {r4-r7,lr} - adds r3, r0, 0 - ldr r2, _0805B70C @ =gSaveBlock1 - ldrh r0, [r2] - subs r1, r0, 0x2 - lsls r1, 16 - adds r0, 0x11 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r4, [r2, 0x2] - adds r0, r4, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0x10 - ldrsh r2, [r3, r0] - lsrs r7, r1, 16 - asrs r1, 16 - cmp r2, r1 - blt _0805B6D8 - lsls r0, r5, 16 - asrs r0, 16 - cmp r2, r0 - bgt _0805B6D8 - movs r0, 0x12 - ldrsh r1, [r3, r0] - lsls r0, r4, 16 - asrs r0, 16 - cmp r1, r0 - blt _0805B6D8 - lsls r0, r6, 16 - asrs r0, 16 - cmp r1, r0 - ble _0805B706 -_0805B6D8: - movs r0, 0xC - ldrsh r1, [r3, r0] - lsls r0, r7, 16 - asrs r0, 16 - cmp r1, r0 - blt _0805B700 - lsls r0, r5, 16 - asrs r0, 16 - cmp r1, r0 - bgt _0805B700 - movs r0, 0xE - ldrsh r1, [r3, r0] - lsls r0, r4, 16 - asrs r0, 16 - cmp r1, r0 - blt _0805B700 - lsls r0, r6, 16 - asrs r0, 16 - cmp r1, r0 - ble _0805B706 -_0805B700: - adds r0, r3, 0 - bl RemoveFieldObject -_0805B706: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805B70C: .4byte gSaveBlock1 - thumb_func_end RemoveFieldObjectIfOutsideView - - thumb_func_start sub_805B710 -sub_805B710: @ 805B710 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - bl ClearPlayerAvatarInfo - movs r6, 0 - ldr r7, _0805B758 @ =gMapObjects - lsls r4, 16 - lsls r5, 16 -_0805B72A: - lsls r0, r6, 3 - adds r0, r6 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0805B744 - adds r0, r6, 0 - asrs r1, r4, 16 - asrs r2, r5, 16 - bl sub_805B75C -_0805B744: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bls _0805B72A - bl sub_805AAB0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805B758: .4byte gMapObjects - thumb_func_end sub_805B710 - - thumb_func_start sub_805B75C -sub_805B75C: @ 805B75C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r10, r2 - movs r7, 0 - ldr r2, _0805B900 @ =gLinkPlayerMapObjects -_0805B77E: - lsls r0, r7, 2 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0805B790 - ldrb r1, [r1, 0x2] - cmp r8, r1 - bne _0805B790 - b _0805B8EE -_0805B790: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _0805B77E - mov r1, r8 - lsls r0, r1, 3 - add r0, r8 - lsls r0, 2 - ldr r1, _0805B904 @ =gMapObjects - adds r6, r0, r1 - movs r0, 0 - str r0, [sp, 0x20] - ldrb r0, [r6, 0x5] - bl GetFieldObjectGraphicsInfo - adds r5, r0, 0 - ldrh r2, [r5, 0x6] - ldr r1, _0805B908 @ =0xffff0000 - add r4, sp, 0x18 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [r4, 0x4] - ldrb r0, [r6, 0x5] - ldrb r1, [r6, 0x6] - add r3, sp, 0x20 - mov r2, sp - bl MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex - str r4, [sp, 0xC] - mov r0, sp - ldr r2, _0805B90C @ =0x0000ffff - adds r4, r2, 0 - strh r4, [r0, 0x2] - ldrb r1, [r5, 0xC] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0805B7EA - ldrh r0, [r5, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl npc_load_two_palettes__no_record -_0805B7EA: - ldrb r0, [r5, 0xC] - lsls r1, r0, 28 - lsrs r0, r1, 28 - cmp r0, 0x9 - bls _0805B7FC - ldrh r0, [r5, 0x2] - lsrs r1, 28 - bl npc_load_two_palettes__and_record -_0805B7FC: - mov r0, sp - strh r4, [r0, 0x2] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x40 - beq _0805B8EE - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, _0805B910 @ =gSprites - adds r4, r0, r1 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - ldrh r2, [r6, 0x10] - adds r0, r2 - lsls r0, 16 - asrs r0, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldrh r2, [r6, 0x12] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - bl sub_8060388 - ldrh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r4, 0 - adds r1, 0x28 - strb r0, [r1] - ldrh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r2, r4, 0 - adds r2, 0x29 - strb r0, [r2] - ldrh r0, [r4, 0x20] - adds r0, 0x8 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x22] - adds r1, 0x10 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, [r5, 0x1C] - str r0, [r4, 0xC] - ldrb r0, [r6, 0x6] - cmp r0, 0xB - bne _0805B88A - mov r0, r8 - adds r1, r7, 0 - bl SetPlayerAvatarFieldObjectIdAndObjectId - bl sub_8126B54 - strb r0, [r6, 0x1B] -_0805B88A: - ldr r1, [sp, 0x20] - cmp r1, 0 - beq _0805B896 - adds r0, r4, 0 - bl SetSubspriteTables -_0805B896: - ldrb r1, [r5, 0xC] - lsls r1, 28 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - mov r0, r8 - strh r0, [r4, 0x2E] - strb r7, [r6, 0x4] - ldrb r0, [r6, 0x1] - lsls r0, 27 - cmp r0, 0 - blt _0805B8DC - ldrb r0, [r6, 0x6] - cmp r0, 0xB - beq _0805B8DC - ldrb r0, [r6, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl FieldObjectDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_0805B8DC: - adds r0, r6, 0 - bl sub_805B914 - ldrb r0, [r6, 0xB] - lsrs r0, 4 - adds r1, r4, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord -_0805B8EE: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805B900: .4byte gLinkPlayerMapObjects -_0805B904: .4byte gMapObjects -_0805B908: .4byte 0xffff0000 -_0805B90C: .4byte 0x0000ffff -_0805B910: .4byte gSprites - thumb_func_end sub_805B75C - - thumb_func_start sub_805B914 -sub_805B914: @ 805B914 - push {lr} - ldrb r2, [r0] - movs r3, 0x3 - negs r3, r3 - adds r1, r3, 0 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r2, [r0, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - ands r1, r3 - movs r2, 0x5 - negs r2, r2 - ands r1, r2 - subs r2, 0x4 - ands r1, r2 - subs r2, 0x8 - ands r1, r2 - subs r2, 0x10 - ands r1, r2 - strb r1, [r0, 0x2] - bl FieldObjectClearAnim - pop {r0} - bx r0 - thumb_func_end sub_805B914 - - thumb_func_start SetPlayerAvatarFieldObjectIdAndObjectId -SetPlayerAvatarFieldObjectIdAndObjectId: @ 805B94C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0805B978 @ =gPlayerAvatar - strb r0, [r5, 0x5] - strb r1, [r5, 0x4] - ldr r1, _0805B97C @ =gMapObjects - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - adds r4, r1 - ldrb r0, [r4, 0x5] - bl GetPlayerAvatarGenderByGraphicsId - strb r0, [r5, 0x7] - ldrb r0, [r4, 0x5] - movs r1, 0x20 - bl SetPlayerAvatarExtraStateTransition - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805B978: .4byte gPlayerAvatar -_0805B97C: .4byte gMapObjects - thumb_func_end SetPlayerAvatarFieldObjectIdAndObjectId - - thumb_func_start sub_805B980 -sub_805B980: @ 805B980 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r0, r8 - bl GetFieldObjectGraphicsInfo - adds r5, r0, 0 - ldrb r1, [r6, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BA7C @ =gSprites - adds r4, r0, r1 - ldrb r1, [r5, 0xC] - movs r7, 0xF - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _0805B9B8 - ldrh r0, [r5, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl pal_patch_for_npc -_0805B9B8: - ldrb r1, [r5, 0xC] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0xA - bne _0805B9CC - ldrh r0, [r5, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl npc_load_two_palettes__and_record -_0805B9CC: - ldr r0, [r5, 0x10] - ldrb r2, [r0, 0x1] - lsrs r2, 6 - lsls r2, 6 - ldrb r3, [r4, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, 0x1] - ldr r0, [r5, 0x10] - ldrb r0, [r0, 0x3] - lsrs r0, 6 - lsls r0, 6 - ldrb r2, [r4, 0x3] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x3] - ldr r0, [r5, 0x1C] - str r0, [r4, 0xC] - ldr r0, [r5, 0x18] - str r0, [r4, 0x8] - ldr r0, [r5, 0x14] - str r0, [r4, 0x18] - ldrb r1, [r5, 0xC] - lsls r1, 28 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - adds r0, r7, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldrb r1, [r5, 0xC] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 4 - ldrb r2, [r6, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x1] - mov r0, r8 - strb r0, [r6, 0x5] - movs r1, 0x10 - ldrsh r0, [r6, r1] - movs r2, 0x12 - ldrsh r1, [r6, r2] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - bl sub_80603CC - ldrh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r4, 0 - adds r1, 0x28 - strb r0, [r1] - ldrh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r2, r4, 0 - adds r2, 0x29 - strb r0, [r2] - ldrh r0, [r4, 0x20] - adds r0, 0x8 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x22] - adds r1, 0x10 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - strh r0, [r4, 0x22] - ldrb r0, [r6, 0x1] - lsrs r0, 7 - cmp r0, 0 - beq _0805BA72 - bl CameraObjectReset1 -_0805BA72: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805BA7C: .4byte gSprites - thumb_func_end sub_805B980 - - thumb_func_start unref_sub_805BA80 -unref_sub_805BA80: @ 805BA80 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r4, r3, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805BAB4 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BABC @ =gMapObjects - adds r0, r1 - adds r1, r4, 0 - bl sub_805B980 -_0805BAB4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805BABC: .4byte gMapObjects - thumb_func_end unref_sub_805BA80 - - thumb_func_start FieldObjectTurn -FieldObjectTurn: @ 805BAC0 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - bl FieldObjectSetDirection - ldrb r0, [r6, 0x1] - lsls r0, 27 - cmp r0, 0 - blt _0805BB06 - ldrb r0, [r6, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r5, _0805BB0C @ =gSprites - adds r4, r5 - ldrb r0, [r6, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl FieldObjectDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldrb r1, [r6, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - bl SeekSpriteAnim -_0805BB06: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805BB0C: .4byte gSprites - thumb_func_end FieldObjectTurn - - thumb_func_start FieldObjectTurnByLocalIdAndMap -FieldObjectTurnByLocalIdAndMap: @ 805BB10 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r4, r3, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805BB44 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BB4C @ =gMapObjects - adds r0, r1 - adds r1, r4, 0 - bl FieldObjectTurn -_0805BB44: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805BB4C: .4byte gMapObjects - thumb_func_end FieldObjectTurnByLocalIdAndMap - - thumb_func_start unref_sub_805BB50 -unref_sub_805BB50: @ 805BB50 - push {lr} - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0x5] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0805BB6C @ =gMapObjects - adds r0, r2 - bl FieldObjectTurn - pop {r0} - bx r0 - .align 2, 0 -_0805BB6C: .4byte gMapObjects - thumb_func_end unref_sub_805BB50 - - thumb_func_start get_berry_tree_graphics -get_berry_tree_graphics: @ 805BB70 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - ldrb r0, [r5, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r5, 0x1] - adds r4, r7, 0 - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r5, 0x1D] - bl GetStageByBerryTreeId - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _0805BBFC - ldrb r1, [r5, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4] - ldrb r0, [r5, 0x1D] - bl GetBerryTypeByBerryTreeId - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - subs r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r4, 0x2B - bls _0805BBC4 - movs r4, 0 -_0805BBC4: - ldr r0, _0805BC04 @ =gBerryTreeGraphicsIdTablePointers - lsls r4, 2 - adds r0, r4, r0 - ldr r0, [r0] - adds r0, r6 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_805B980 - ldr r0, _0805BC08 @ =gBerryTreePicTablePointers - adds r0, r4, r0 - ldr r0, [r0] - str r0, [r7, 0xC] - ldr r0, _0805BC0C @ =gBerryTreePaletteSlotTablePointers - adds r4, r0 - ldr r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r7, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r7, 0x5] - adds r0, r7, 0 - adds r1, r6, 0 - bl StartSpriteAnim -_0805BBFC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805BC04: .4byte gBerryTreeGraphicsIdTablePointers -_0805BC08: .4byte gBerryTreePicTablePointers -_0805BC0C: .4byte gBerryTreePaletteSlotTablePointers - thumb_func_end get_berry_tree_graphics - - thumb_func_start GetFieldObjectGraphicsInfo -GetFieldObjectGraphicsInfo: @ 805BC10 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xEF - bls _0805BC28 - adds r0, r1, 0 - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl VarGetFieldObjectGraphicsId - adds r1, r0, 0 -_0805BC28: - cmp r1, 0xD9 - bls _0805BC2E - movs r1, 0x5 -_0805BC2E: - ldr r0, _0805BC3C @ =gMapObjectGraphicsInfoPointers - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_0805BC3C: .4byte gMapObjectGraphicsInfoPointers - thumb_func_end GetFieldObjectGraphicsInfo - - thumb_func_start FieldObjectHandleDynamicGraphicsId -FieldObjectHandleDynamicGraphicsId: @ 805BC40 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x5] - cmp r0, 0xEF - bls _0805BC56 - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl VarGetFieldObjectGraphicsId - strb r0, [r4, 0x5] -_0805BC56: - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldObjectHandleDynamicGraphicsId - - thumb_func_start npc_by_local_id_and_map_set_field_1_bit_x20 -npc_by_local_id_and_map_set_field_1_bit_x20: @ 805BC5C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r4, r3, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805BC9E - ldr r2, _0805BCA8 @ =gMapObjects - mov r0, sp - ldrb r0, [r0] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x1 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 5 - ldrb r3, [r1, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x1] -_0805BC9E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805BCA8: .4byte gMapObjects - thumb_func_end npc_by_local_id_and_map_set_field_1_bit_x20 - - thumb_func_start FieldObjectGetLocalIdAndMap -FieldObjectGetLocalIdAndMap: @ 805BCAC - push {r4,lr} - ldrb r4, [r0, 0x8] - strb r4, [r1] - ldrb r1, [r0, 0x9] - strb r1, [r2] - ldrb r0, [r0, 0xA] - strb r0, [r3] - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldObjectGetLocalIdAndMap - - thumb_func_start sub_805BCC0 -sub_805BCC0: @ 805BCC0 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetFieldObjectIdByXY - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x10 - beq _0805BCE8 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BCEC @ =gMapObjects - adds r0, r1 - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0805BCE8: - pop {r0} - bx r0 - .align 2, 0 -_0805BCEC: .4byte gMapObjects - thumb_func_end sub_805BCC0 - - thumb_func_start sub_805BCF0 -sub_805BCF0: @ 805BCF0 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r4, r3, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805BD36 - mov r0, sp - ldrb r0, [r0] - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - ldr r0, _0805BD40 @ =gMapObjects - adds r2, r0 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BD44 @ =gSprites - adds r0, r1 - ldrb r1, [r2, 0x3] - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x3] - adds r0, 0x43 - strb r4, [r0] -_0805BD36: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805BD40: .4byte gMapObjects -_0805BD44: .4byte gSprites - thumb_func_end sub_805BCF0 - - thumb_func_start sub_805BD48 -sub_805BD48: @ 805BD48 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805BD84 - mov r0, sp - ldrb r0, [r0] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _0805BD8C @ =gMapObjects - adds r1, r0 - ldrb r2, [r1, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x3] - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] -_0805BD84: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0805BD8C: .4byte gMapObjects - thumb_func_end sub_805BD48 - - thumb_func_start sub_805BD90 -sub_805BD90: @ 805BD90 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, [sp, 0x10] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 16 - lsrs r5, r3, 16 - lsls r4, 16 - lsrs r4, 16 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805BDD4 - ldr r2, _0805BDDC @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BDE0 @ =gSprites - adds r0, r1 - strh r5, [r0, 0x24] - strh r4, [r0, 0x26] -_0805BDD4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805BDDC: .4byte gMapObjects -_0805BDE0: .4byte gSprites - thumb_func_end sub_805BD90 - - thumb_func_start gpu_pal_allocator_reset__manage_upper_four -gpu_pal_allocator_reset__manage_upper_four: @ 805BDE4 - push {lr} - bl FreeAllSpritePalettes - ldr r1, _0805BDF4 @ =gReservedSpritePaletteCount - movs r0, 0xC - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0805BDF4: .4byte gReservedSpritePaletteCount - thumb_func_end gpu_pal_allocator_reset__manage_upper_four - - thumb_func_start sub_805BDF8 -sub_805BDF8: @ 805BDF8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl FindFieldObjectPaletteIndexByTag - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0805BE1C @ =0x000011ff - cmp r1, r0 - beq _0805BE16 - lsls r0, r1, 3 - ldr r1, _0805BE20 @ =gUnknown_0837377C - adds r0, r1 - bl sub_805BE58 -_0805BE16: - pop {r0} - bx r0 - .align 2, 0 -_0805BE1C: .4byte 0x000011ff -_0805BE20: .4byte gUnknown_0837377C - thumb_func_end sub_805BDF8 - - thumb_func_start unref_sub_805BE24 -unref_sub_805BE24: @ 805BE24 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - ldrh r0, [r5] - ldr r1, _0805BE54 @ =0x000011ff - cmp r0, r1 - beq _0805BE4E - adds r6, r1, 0 -_0805BE34: - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - bl sub_805BDF8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r0, r6 - bne _0805BE34 -_0805BE4E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805BE54: .4byte 0x000011ff - thumb_func_end unref_sub_805BE24 - - thumb_func_start sub_805BE58 -sub_805BE58: @ 805BE58 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0805BE76 - adds r0, r4, 0 - bl LoadSpritePalette - lsls r0, 24 - lsrs r0, 24 - b _0805BE78 -_0805BE76: - movs r0, 0xFF -_0805BE78: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805BE58 - - thumb_func_start pal_patch_for_npc -pal_patch_for_npc: @ 805BE80 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 24 - lsrs r4, 24 - bl FindFieldObjectPaletteIndexByTag - lsls r0, 24 - ldr r1, _0805BEB4 @ =gUnknown_0837377C - lsrs r0, 21 - adds r0, r1 - ldr r0, [r0] - lsls r4, 20 - movs r1, 0x80 - lsls r1, 17 - adds r4, r1 - lsrs r4, 16 - adds r1, r4, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805BEB4: .4byte gUnknown_0837377C - thumb_func_end pal_patch_for_npc - - thumb_func_start pal_patch_for_npc_range -pal_patch_for_npc_range: @ 805BEB8 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - cmp r4, r6 - bcs _0805BEDC -_0805BEC8: - ldrh r0, [r5] - adds r1, r4, 0 - bl pal_patch_for_npc - adds r5, 0x2 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0805BEC8 -_0805BEDC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pal_patch_for_npc_range - - thumb_func_start FindFieldObjectPaletteIndexByTag -FindFieldObjectPaletteIndexByTag: @ 805BEE4 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - movs r2, 0 - ldr r0, _0805BF0C @ =gUnknown_0837377C - ldrh r1, [r0, 0x4] - ldr r3, _0805BF10 @ =0x000011ff - adds r4, r0, 0 - cmp r1, r3 - beq _0805BF24 - adds r6, r4, 0 - adds r1, r3, 0 -_0805BEFC: - lsls r0, r2, 3 - adds r0, r6 - ldrh r0, [r0, 0x4] - cmp r0, r5 - bne _0805BF14 - adds r0, r2, 0 - b _0805BF26 - .align 2, 0 -_0805BF0C: .4byte gUnknown_0837377C -_0805BF10: .4byte 0x000011ff -_0805BF14: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 3 - adds r0, r4 - ldrh r0, [r0, 0x4] - cmp r0, r1 - bne _0805BEFC -_0805BF24: - movs r0, 0xFF -_0805BF26: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end FindFieldObjectPaletteIndexByTag - - thumb_func_start npc_load_two_palettes__no_record -npc_load_two_palettes__no_record: @ 805BF2C - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl pal_patch_for_npc - movs r3, 0 - ldr r1, _0805BF74 @ =gUnknown_08373874 - ldrh r0, [r1] - ldr r2, _0805BF78 @ =0x000011ff - cmp r0, r2 - beq _0805BF94 - ldr r0, _0805BF7C @ =gUnknown_0830FD14 - adds r5, r0 - adds r6, r2, 0 -_0805BF50: - lsls r2, r3, 3 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, r4 - bne _0805BF84 - adds r1, 0x4 - adds r1, r2, r1 - ldr r0, _0805BF80 @ =gUnknown_030005A4 - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - ldrb r1, [r5] - bl pal_patch_for_npc - b _0805BF94 - .align 2, 0 -_0805BF74: .4byte gUnknown_08373874 -_0805BF78: .4byte 0x000011ff -_0805BF7C: .4byte gUnknown_0830FD14 -_0805BF80: .4byte gUnknown_030005A4 -_0805BF84: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r6 - bne _0805BF50 -_0805BF94: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end npc_load_two_palettes__no_record - - thumb_func_start npc_load_two_palettes__and_record -npc_load_two_palettes__and_record: @ 805BF9C - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _0805BFE8 @ =gUnknown_030005A6 - strh r4, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl pal_patch_for_npc - movs r3, 0 - ldr r1, _0805BFEC @ =gUnknown_083738E4 - ldrh r0, [r1] - ldr r2, _0805BFF0 @ =0x000011ff - cmp r0, r2 - beq _0805C00C - ldr r0, _0805BFF4 @ =gUnknown_0830FD14 - adds r5, r0 - adds r6, r2, 0 -_0805BFC4: - lsls r2, r3, 3 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, r4 - bne _0805BFFC - adds r1, 0x4 - adds r1, r2, r1 - ldr r0, _0805BFF8 @ =gUnknown_030005A4 - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - ldrb r1, [r5] - bl pal_patch_for_npc - b _0805C00C - .align 2, 0 -_0805BFE8: .4byte gUnknown_030005A6 -_0805BFEC: .4byte gUnknown_083738E4 -_0805BFF0: .4byte 0x000011ff -_0805BFF4: .4byte gUnknown_0830FD14 -_0805BFF8: .4byte gUnknown_030005A4 -_0805BFFC: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r6 - bne _0805BFC4 -_0805C00C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end npc_load_two_palettes__and_record - - thumb_func_start unref_sub_805C014 -unref_sub_805C014: @ 805C014 - push {r4,lr} - ldrh r3, [r0, 0x10] - strh r3, [r0, 0x14] - ldrh r4, [r0, 0x12] - strh r4, [r0, 0x16] - lsls r1, 16 - asrs r1, 16 - adds r1, r3 - strh r1, [r0, 0x10] - lsls r2, 16 - asrs r2, 16 - adds r2, r4 - strh r2, [r0, 0x12] - pop {r4} - pop {r0} - bx r0 - thumb_func_end unref_sub_805C014 - - thumb_func_start npc_coords_shift -npc_coords_shift: @ 805C034 - ldrh r3, [r0, 0x10] - strh r3, [r0, 0x14] - ldrh r3, [r0, 0x12] - strh r3, [r0, 0x16] - strh r1, [r0, 0x10] - strh r2, [r0, 0x12] - bx lr - thumb_func_end npc_coords_shift - - thumb_func_start npc_coords_set -npc_coords_set: @ 805C044 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - strh r1, [r0, 0x10] - strh r2, [r0, 0x12] - bx lr - thumb_func_end npc_coords_set - - thumb_func_start sub_805C058 -sub_805C058: @ 805C058 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldrb r1, [r6, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805C0F4 @ =gSprites - adds r7, r0, r1 - ldrb r0, [r6, 0x5] - bl GetFieldObjectGraphicsInfo - mov r8, r0 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl npc_coords_set - movs r1, 0x10 - ldrsh r0, [r6, r1] - movs r2, 0x12 - ldrsh r1, [r6, r2] - adds r2, r7, 0 - adds r2, 0x20 - adds r3, r7, 0 - adds r3, 0x22 - bl sub_80603CC - mov r1, r8 - ldrh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r7, 0 - adds r1, 0x28 - strb r0, [r1] - mov r2, r8 - ldrh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r2, r7, 0 - adds r2, 0x29 - strb r0, [r2] - ldrh r0, [r7, 0x20] - adds r0, 0x8 - strh r0, [r7, 0x20] - ldrh r1, [r7, 0x22] - adds r1, 0x10 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - strh r0, [r7, 0x22] - adds r0, r6, 0 - bl sub_805B914 - ldrb r0, [r6, 0x1] - lsrs r0, 7 - cmp r0, 0 - beq _0805C0EA - bl CameraObjectReset1 -_0805C0EA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805C0F4: .4byte gSprites - thumb_func_end sub_805C058 - - thumb_func_start sub_805C0F8 -sub_805C0F8: @ 805C0F8 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, [sp, 0x10] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 16 - lsrs r5, r3, 16 - lsls r4, 16 - lsrs r4, 16 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805C140 - lsls r1, r5, 16 - lsls r2, r4, 16 - mov r0, sp - ldrb r3, [r0] - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - ldr r3, _0805C148 @ =gMapObjects - adds r0, r3 - movs r3, 0xE0 - lsls r3, 11 - adds r1, r3 - asrs r1, 16 - adds r2, r3 - asrs r2, 16 - bl sub_805C058 -_0805C140: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805C148: .4byte gMapObjects - thumb_func_end sub_805C0F8 - - thumb_func_start npc_coords_shift_still -npc_coords_shift_still: @ 805C14C - push {lr} - movs r2, 0x10 - ldrsh r1, [r0, r2] - movs r3, 0x12 - ldrsh r2, [r0, r3] - bl npc_coords_shift - pop {r0} - bx r0 - thumb_func_end npc_coords_shift_still - - thumb_func_start UpdateFieldObjectCoordsForCameraUpdate -UpdateFieldObjectCoordsForCameraUpdate: @ 805C160 - push {r4,r5,lr} - ldr r2, _0805C1C0 @ =gUnknown_0202E844 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805C1B8 - movs r3, 0 - ldr r5, _0805C1C4 @ =gMapObjects - movs r0, 0x4 - ldrsh r4, [r2, r0] - movs r0, 0x8 - ldrsh r1, [r2, r0] -_0805C17A: - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r5 - ldrb r0, [r2] - lsls r0, 31 - cmp r0, 0 - beq _0805C1AE - ldrh r0, [r2, 0xC] - subs r0, r4 - strh r0, [r2, 0xC] - ldrh r0, [r2, 0xE] - subs r0, r1 - strh r0, [r2, 0xE] - ldrh r0, [r2, 0x10] - subs r0, r4 - strh r0, [r2, 0x10] - ldrh r0, [r2, 0x12] - subs r0, r1 - strh r0, [r2, 0x12] - ldrh r0, [r2, 0x14] - subs r0, r4 - strh r0, [r2, 0x14] - ldrh r0, [r2, 0x16] - subs r0, r1 - strh r0, [r2, 0x16] -_0805C1AE: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _0805C17A -_0805C1B8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805C1C0: .4byte gUnknown_0202E844 -_0805C1C4: .4byte gMapObjects - thumb_func_end UpdateFieldObjectCoordsForCameraUpdate - - thumb_func_start GetFieldObjectIdByXYZ -GetFieldObjectIdByXYZ: @ 805C1C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r5, r2, 24 - movs r4, 0 - ldr r0, _0805C214 @ =gMapObjects - mov r8, r0 -_0805C1E0: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - mov r2, r8 - adds r1, r0, r2 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _0805C218 - movs r2, 0x10 - ldrsh r0, [r1, r2] - cmp r0, r7 - bne _0805C218 - movs r2, 0x12 - ldrsh r0, [r1, r2] - cmp r0, r6 - bne _0805C218 - adds r0, r1, 0 - adds r1, r5, 0 - bl FieldObjectDoesZCoordMatch - lsls r0, 24 - cmp r0, 0 - beq _0805C218 - adds r0, r4, 0 - b _0805C224 - .align 2, 0 -_0805C214: .4byte gMapObjects -_0805C218: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0805C1E0 - movs r0, 0x10 -_0805C224: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetFieldObjectIdByXYZ - - thumb_func_start FieldObjectDoesZCoordMatch -FieldObjectDoesZCoordMatch: @ 805C230 - push {lr} - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xB] - movs r0, 0xF - ands r0, r2 - cmp r0, 0 - beq _0805C250 - cmp r1, 0 - beq _0805C250 - lsls r0, r2, 28 - lsrs r0, 28 - cmp r0, r1 - beq _0805C250 - movs r0, 0 - b _0805C252 -_0805C250: - movs r0, 0x1 -_0805C252: - pop {r1} - bx r1 - thumb_func_end FieldObjectDoesZCoordMatch - - thumb_func_start UpdateFieldObjectsForCameraUpdate -UpdateFieldObjectsForCameraUpdate: @ 805C258 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - bl UpdateFieldObjectCoordsForCameraUpdate - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_805B55C - bl RemoveFieldObjectsOutsideView - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end UpdateFieldObjectsForCameraUpdate - - thumb_func_start AddCameraObject -AddCameraObject: @ 805C284 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0805C2C0 @ =gSpriteTemplate_830FD24 - movs r1, 0 - movs r2, 0 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805C2C4 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x3E - adds r2, r1 - mov r12, r2 - ldrb r2, [r2] - movs r3, 0x4 - orrs r2, r3 - mov r3, r12 - strb r2, [r3] - strh r4, [r1, 0x2E] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805C2C0: .4byte gSpriteTemplate_830FD24 -_0805C2C4: .4byte gSprites - thumb_func_end AddCameraObject - - thumb_func_start ObjectCB_CameraObject -ObjectCB_CameraObject: @ 805C2C8 - push {r4,r5,lr} - sub sp, 0xC - mov r2, sp - ldr r1, _0805C2EC @ =gUnknown_0830FD3C - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - movs r2, 0x30 - ldrsh r1, [r0, r2] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - bl _call_via_r1 - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805C2EC: .4byte gUnknown_0830FD3C - thumb_func_end ObjectCB_CameraObject - - thumb_func_start CameraObject_0 -CameraObject_0: @ 805C2F0 - push {lr} - ldr r3, _0805C328 @ =gSprites - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrh r1, [r1, 0x20] - strh r1, [r0, 0x20] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrh r1, [r1, 0x22] - strh r1, [r0, 0x22] - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x1 - strh r1, [r0, 0x30] - bl CameraObject_1 - pop {r0} - bx r0 - .align 2, 0 -_0805C328: .4byte gSprites - thumb_func_end CameraObject_0 - - thumb_func_start CameraObject_1 -CameraObject_1: @ 805C32C - push {r4,r5,lr} - ldr r3, _0805C360 @ =gSprites - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrh r3, [r1, 0x22] - ldrh r2, [r0, 0x20] - ldrh r4, [r1, 0x20] - movs r5, 0x20 - ldrsh r1, [r1, r5] - subs r1, r2 - strh r1, [r0, 0x32] - ldrh r2, [r0, 0x22] - lsls r1, r3, 16 - asrs r1, 16 - subs r1, r2 - strh r1, [r0, 0x34] - strh r4, [r0, 0x20] - strh r3, [r0, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805C360: .4byte gSprites - thumb_func_end CameraObject_1 - - thumb_func_start CameraObject_2 -CameraObject_2: @ 805C364 - push {r4,lr} - ldr r4, _0805C390 @ =gSprites - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x20] - movs r3, 0 - strh r1, [r0, 0x20] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x22] - strh r1, [r0, 0x22] - strh r3, [r0, 0x32] - strh r3, [r0, 0x34] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805C390: .4byte gSprites - thumb_func_end CameraObject_2 - - thumb_func_start FindCameraObject -FindCameraObject: @ 805C394 - push {r4,r5,lr} - movs r3, 0 - ldr r4, _0805C3C0 @ =gSprites - adds r5, r4, 0 - adds r5, 0x1C -_0805C39E: - lsls r0, r3, 4 - adds r0, r3 - lsls r1, r0, 2 - adds r2, r1, r4 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0805C3C8 - adds r0, r1, r5 - ldr r1, [r0] - ldr r0, _0805C3C4 @ =ObjectCB_CameraObject - cmp r1, r0 - bne _0805C3C8 - adds r0, r2, 0 - b _0805C3D4 - .align 2, 0 -_0805C3C0: .4byte gSprites -_0805C3C4: .4byte ObjectCB_CameraObject -_0805C3C8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3F - bls _0805C39E - movs r0, 0 -_0805C3D4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FindCameraObject - - thumb_func_start CameraObjectReset1 -CameraObjectReset1: @ 805C3DC - push {lr} - bl FindCameraObject - adds r2, r0, 0 - cmp r2, 0 - beq _0805C3F4 - movs r0, 0 - strh r0, [r2, 0x30] - ldr r1, [r2, 0x1C] - adds r0, r2, 0 - bl _call_via_r1 -_0805C3F4: - pop {r0} - bx r0 - thumb_func_end CameraObjectReset1 - - thumb_func_start CameraObjectSetFollowedObjectId -CameraObjectSetFollowedObjectId: @ 805C3F8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl FindCameraObject - cmp r0, 0 - beq _0805C40C - strh r4, [r0, 0x2E] - bl CameraObjectReset1 -_0805C40C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end CameraObjectSetFollowedObjectId - - thumb_func_start CameraObjectGetFollowedObjectId -CameraObjectGetFollowedObjectId: @ 805C414 - push {lr} - bl FindCameraObject - cmp r0, 0 - beq _0805C426 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r0, 24 - b _0805C428 -_0805C426: - movs r0, 0x40 -_0805C428: - pop {r1} - bx r1 - thumb_func_end CameraObjectGetFollowedObjectId - - thumb_func_start CameraObjectReset2 -CameraObjectReset2: @ 805C42C - push {lr} - bl FindCameraObject - movs r1, 0x2 - strh r1, [r0, 0x30] - pop {r0} - bx r0 - thumb_func_end CameraObjectReset2 - - thumb_func_start unref_sub_805C43C -unref_sub_805C43C: @ 805C43C - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r12, r0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - movs r5, 0 - ldr r1, _0805C484 @ =gSprites -_0805C456: - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0805C488 - adds r0, r4, 0 - mov r1, r12 - movs r2, 0x44 - bl memcpy - mov r0, r8 - strh r0, [r4, 0x20] - strh r6, [r4, 0x22] - adds r0, r4, 0 - adds r0, 0x43 - strb r7, [r0] - b _0805C492 - .align 2, 0 -_0805C484: .4byte gSprites -_0805C488: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3F - bls _0805C456 -_0805C492: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end unref_sub_805C43C - - thumb_func_start obj_unfreeze -obj_unfreeze: @ 805C4A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r12, r0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - movs r5, 0x3F - ldr r3, _0805C4F4 @ =gSprites - movs r2, 0x1 - negs r2, r2 -_0805C4BE: - lsls r0, r5, 16 - asrs r1, r0, 16 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r3 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0805C4F8 - adds r0, r4, 0 - mov r1, r12 - movs r2, 0x44 - bl memcpy - mov r0, r8 - strh r0, [r4, 0x20] - strh r6, [r4, 0x22] - adds r0, r4, 0 - adds r0, 0x43 - strb r7, [r0] - lsls r0, r5, 24 - lsrs r0, 24 - b _0805C506 - .align 2, 0 -_0805C4F4: .4byte gSprites -_0805C4F8: - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, r2 - bgt _0805C4BE - movs r0, 0x40 -_0805C506: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end obj_unfreeze - - thumb_func_start FieldObjectSetDirection -FieldObjectSetDirection: @ 805C510 - push {r4,lr} - adds r3, r0, 0 - lsls r1, 24 - lsrs r2, r1, 24 - adds r4, r2, 0 - ldrb r0, [r3, 0x18] - lsls r0, 28 - lsrs r0, 28 - adds r1, r3, 0 - adds r1, 0x20 - strb r0, [r1] - ldrb r0, [r3, 0x1] - lsls r0, 30 - cmp r0, 0 - blt _0805C540 - movs r0, 0xF - adds r1, r2, 0 - ands r1, r0 - ldrb r2, [r3, 0x18] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x18] -_0805C540: - lsls r2, r4, 4 - ldrb r1, [r3, 0x18] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x18] - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldObjectSetDirection - - thumb_func_start GetFieldObjectScriptPointerByLocalIdAndMap -GetFieldObjectScriptPointerByLocalIdAndMap: @ 805C554 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - bl GetFieldObjectTemplateByLocalIdAndMap - ldr r0, [r0, 0x10] - pop {r1} - bx r1 - thumb_func_end GetFieldObjectScriptPointerByLocalIdAndMap - - thumb_func_start GetFieldObjectScriptPointerByFieldObjectId -GetFieldObjectScriptPointerByFieldObjectId: @ 805C56C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0805C58C @ =gMapObjects - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r0, [r2, 0x8] - ldrb r1, [r2, 0x9] - ldrb r2, [r2, 0xA] - bl GetFieldObjectScriptPointerByLocalIdAndMap - pop {r1} - bx r1 - .align 2, 0 -_0805C58C: .4byte gMapObjects - thumb_func_end GetFieldObjectScriptPointerByFieldObjectId - - thumb_func_start GetFieldObjectFlagIdByLocalIdAndMap -GetFieldObjectFlagIdByLocalIdAndMap: @ 805C590 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - bl GetFieldObjectTemplateByLocalIdAndMap - ldrh r0, [r0, 0x14] - pop {r1} - bx r1 - thumb_func_end GetFieldObjectFlagIdByLocalIdAndMap - - thumb_func_start GetFieldObjectFlagIdByFieldObjectId -GetFieldObjectFlagIdByFieldObjectId: @ 805C5A8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0805C5CC @ =gMapObjects - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r0, [r2, 0x8] - ldrb r1, [r2, 0x9] - ldrb r2, [r2, 0xA] - bl GetFieldObjectFlagIdByLocalIdAndMap - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_0805C5CC: .4byte gMapObjects - thumb_func_end GetFieldObjectFlagIdByFieldObjectId - - thumb_func_start unref_sub_805C5D0 -unref_sub_805C5D0: @ 805C5D0 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805C604 - ldr r2, _0805C600 @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x7] - b _0805C606 - .align 2, 0 -_0805C600: .4byte gMapObjects -_0805C604: - movs r0, 0xFF -_0805C606: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end unref_sub_805C5D0 - - thumb_func_start unref_sub_805C60C -unref_sub_805C60C: @ 805C60C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805C620 @ =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x7] - bx lr - .align 2, 0 -_0805C620: .4byte gMapObjects - thumb_func_end unref_sub_805C60C - - thumb_func_start unref_sub_805C624 -unref_sub_805C624: @ 805C624 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805C658 - ldr r2, _0805C654 @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1D] - b _0805C65A - .align 2, 0 -_0805C654: .4byte gMapObjects -_0805C658: - movs r0, 0xFF -_0805C65A: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end unref_sub_805C624 - - thumb_func_start FieldObjectGetBerryTreeId -FieldObjectGetBerryTreeId: @ 805C660 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805C674 @ =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1D] - bx lr - .align 2, 0 -_0805C674: .4byte gMapObjects - thumb_func_end FieldObjectGetBerryTreeId - - thumb_func_start GetFieldObjectTemplateByLocalIdAndMap -GetFieldObjectTemplateByLocalIdAndMap: @ 805C678 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r1, _0805C6A4 @ =gSaveBlock1 - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, r3 - bne _0805C6AC - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, r2 - bne _0805C6AC - movs r0, 0xC2 - lsls r0, 4 - adds r1, r0 - ldr r0, _0805C6A8 @ =gMapHeader - ldr r0, [r0, 0x4] - b _0805C6B8 - .align 2, 0 -_0805C6A4: .4byte gSaveBlock1 -_0805C6A8: .4byte gMapHeader -_0805C6AC: - adds r0, r2, 0 - adds r1, r3, 0 - bl get_mapheader_by_bank_and_number - ldr r0, [r0, 0x4] - ldr r1, [r0, 0x4] -_0805C6B8: - ldrb r2, [r0] - adds r0, r4, 0 - bl FindFieldObjectTemplateInArrayByLocalId - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetFieldObjectTemplateByLocalIdAndMap - - thumb_func_start FindFieldObjectTemplateInArrayByLocalId -FindFieldObjectTemplateInArrayByLocalId: @ 805C6C8 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - cmp r1, r2 - bcs _0805C6F6 -_0805C6DA: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r3, r0, r5 - ldrb r0, [r3] - cmp r0, r4 - bne _0805C6EC - adds r0, r3, 0 - b _0805C6F8 -_0805C6EC: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - bcc _0805C6DA -_0805C6F6: - movs r0, 0 -_0805C6F8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FindFieldObjectTemplateInArrayByLocalId - - thumb_func_start sub_805C700 -sub_805C700: @ 805C700 - push {r4,r5,lr} - adds r2, r0, 0 - ldrb r1, [r2, 0x9] - ldr r4, _0805C720 @ =gSaveBlock1 - movs r0, 0x5 - ldrsb r0, [r4, r0] - adds r5, r4, 0 - cmp r1, r0 - bne _0805C74A - ldrb r1, [r2, 0xA] - movs r0, 0x4 - ldrsb r0, [r5, r0] - cmp r1, r0 - beq _0805C72E - b _0805C74A - .align 2, 0 -_0805C720: .4byte gSaveBlock1 -_0805C724: - movs r1, 0xC2 - lsls r1, 4 - adds r0, r5, r1 - adds r0, r2, r0 - b _0805C74C -_0805C72E: - movs r3, 0 - ldrb r0, [r2, 0x8] - movs r2, 0xC2 - lsls r2, 4 - adds r1, r4, r2 - movs r2, 0 -_0805C73A: - ldrb r4, [r1] - cmp r0, r4 - beq _0805C724 - adds r1, 0x18 - adds r2, 0x18 - adds r3, 0x1 - cmp r3, 0x3F - ble _0805C73A -_0805C74A: - movs r0, 0 -_0805C74C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805C700 - - thumb_func_start sub_805C754 -sub_805C754: @ 805C754 - push {r4,lr} - adds r4, r0, 0 - bl sub_805C700 - adds r1, r0, 0 - cmp r1, 0 - beq _0805C76E - ldrh r0, [r4, 0x10] - subs r0, 0x7 - strh r0, [r1, 0x4] - ldrh r0, [r4, 0x12] - subs r0, 0x7 - strh r0, [r1, 0x6] -_0805C76E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805C754 - - thumb_func_start sub_805C774 -sub_805C774: @ 805C774 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_805C700 - cmp r0, 0 - beq _0805C784 - strb r4, [r0, 0x9] -_0805C784: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805C774 - - thumb_func_start sub_805C78C -sub_805C78C: @ 805C78C - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805C7BA - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805C7C0 @ =gMapObjects - adds r0, r1 - bl sub_805C754 -_0805C7BA: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0805C7C0: .4byte gMapObjects - thumb_func_end sub_805C78C - - thumb_func_start sub_805C7C4 -sub_805C7C4: @ 805C7C4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl gpu_pal_allocator_reset__manage_upper_four - ldr r1, _0805C7F4 @ =gUnknown_030005A6 - ldr r2, _0805C7F8 @ =0x000011ff - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0805C7FC @ =gUnknown_030005A4 - strb r4, [r0] - ldr r1, _0805C800 @ =gUnknown_0837399C - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0xA - bl pal_patch_for_npc_range - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805C7F4: .4byte gUnknown_030005A6 -_0805C7F8: .4byte 0x000011ff -_0805C7FC: .4byte gUnknown_030005A4 -_0805C800: .4byte gUnknown_0837399C - thumb_func_end sub_805C7C4 - - thumb_func_start npc_paltag_by_palslot -npc_paltag_by_palslot: @ 805C804 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x9 - bhi _0805C840 - ldr r1, _0805C820 @ =gUnknown_0837399C - ldr r0, _0805C824 @ =gUnknown_030005A4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r0, r2, 1 - b _0805C834 - .align 2, 0 -_0805C820: .4byte gUnknown_0837399C -_0805C824: .4byte gUnknown_030005A4 -_0805C828: - adds r1, r4, 0x4 - adds r1, r2, r1 - ldr r0, _0805C83C @ =gUnknown_030005A4 - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 1 -_0805C834: - adds r0, r1 - ldrh r0, [r0] - b _0805C872 - .align 2, 0 -_0805C83C: .4byte gUnknown_030005A4 -_0805C840: - movs r3, 0 - ldr r0, _0805C878 @ =gUnknown_083738E4 - ldrh r1, [r0] - ldr r2, _0805C87C @ =0x000011ff - adds r4, r0, 0 - cmp r1, r2 - beq _0805C870 - adds r6, r4, 0 - ldr r0, _0805C880 @ =gUnknown_030005A6 - ldrh r1, [r0] - adds r5, r2, 0 -_0805C856: - lsls r2, r3, 3 - adds r0, r2, r6 - ldrh r0, [r0] - cmp r0, r1 - beq _0805C828 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r5 - bne _0805C856 -_0805C870: - ldr r0, _0805C87C @ =0x000011ff -_0805C872: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805C878: .4byte gUnknown_083738E4 -_0805C87C: .4byte 0x000011ff -_0805C880: .4byte gUnknown_030005A6 - thumb_func_end npc_paltag_by_palslot - - thumb_func_start sub_805C884 -sub_805C884: @ 805C884 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0805C8A0 @ =gMapObjects - adds r0, r2 - ldr r2, _0805C8A4 @ =sub_805C8A8 - bl meta_step - pop {r0} - bx r0 - .align 2, 0 -_0805C8A0: .4byte gMapObjects -_0805C8A4: .4byte sub_805C8A8 - thumb_func_end sub_805C884 - - thumb_func_start sub_805C8A8 -sub_805C8A8: @ 805C8A8 - movs r0, 0 - bx lr - thumb_func_end sub_805C8A8 - - thumb_func_start sub_805C8AC -sub_805C8AC: @ 805C8AC - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0805C8C8 @ =gMapObjects - adds r0, r2 - ldr r2, _0805C8CC @ =sub_805C8D0 - bl meta_step - pop {r0} - bx r0 - .align 2, 0 -_0805C8C8: .4byte gMapObjects -_0805C8CC: .4byte sub_805C8D0 - thumb_func_end sub_805C8AC - - thumb_func_start sub_805C8D0 -sub_805C8D0: @ 805C8D0 - push {r4,lr} - ldr r3, _0805C8EC @ =gUnknown_08375224 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805C8EC: .4byte gUnknown_08375224 - thumb_func_end sub_805C8D0 - - thumb_func_start sub_805C8F0 -sub_805C8F0: @ 805C8F0 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805C8F0 - - thumb_func_start sub_805C904 -sub_805C904: @ 805C904 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldObjectSetRegularAnim - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805C904 - thumb_func_start sub_805C930 sub_805C930: @ 805C930 push {r4-r6,lr} diff --git a/asm/field_region_map.s b/asm/field_region_map.s deleted file mode 100644 index 37c97c3ec..000000000 --- a/asm/field_region_map.s +++ /dev/null @@ -1,274 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start FieldInitRegionMap -FieldInitRegionMap: @ 813EEB4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - bl SetVBlankCallback - ldr r2, _0813EED8 @ =0x02000000 - ldr r0, _0813EEDC @ =0x00000888 - adds r1, r2, r0 - movs r0, 0 - strh r0, [r1] - str r4, [r2] - ldr r0, _0813EEE0 @ =CB2_FieldInitRegionMap - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EED8: .4byte 0x02000000 -_0813EEDC: .4byte 0x00000888 -_0813EEE0: .4byte CB2_FieldInitRegionMap - thumb_func_end FieldInitRegionMap - - thumb_func_start CB2_FieldInitRegionMap -CB2_FieldInitRegionMap: @ 813EEE4 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, 0x10 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _0813EF98 @ =0x02000008 - movs r1, 0 - bl sub_80FA8EC - movs r0, 0 - movs r1, 0 - bl sub_80FBCF0 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80FBB3C - ldr r4, _0813EF9C @ =gWindowConfig_81E709C - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - bl MenuZeroFillScreen - ldr r1, _0813EFA0 @ =REG_BG0CNT - movs r2, 0xF8 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0x15 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x3 - bl MenuDrawTextWindow - ldr r0, _0813EFA4 @ =gOtherText_Hoenn - movs r1, 0x16 - movs r2, 0x1 - movs r3, 0x38 - bl sub_8072BD8 - movs r0, 0x10 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - bl sub_813F0C8 - ldr r0, _0813EFA8 @ =CB2_FieldRegionMap - bl SetMainCallback2 - ldr r0, _0813EFAC @ =VBlankCB_FieldRegionMap - bl SetVBlankCallback - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EF98: .4byte 0x02000008 -_0813EF9C: .4byte gWindowConfig_81E709C -_0813EFA0: .4byte REG_BG0CNT -_0813EFA4: .4byte gOtherText_Hoenn -_0813EFA8: .4byte CB2_FieldRegionMap -_0813EFAC: .4byte VBlankCB_FieldRegionMap - thumb_func_end CB2_FieldInitRegionMap - - thumb_func_start VBlankCB_FieldRegionMap -VBlankCB_FieldRegionMap: @ 813EFB0 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end VBlankCB_FieldRegionMap - - thumb_func_start CB2_FieldRegionMap -CB2_FieldRegionMap: @ 813EFC4 - push {lr} - bl sub_813EFDC - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end CB2_FieldRegionMap - - thumb_func_start sub_813EFDC -sub_813EFDC: @ 813EFDC - push {lr} - sub sp, 0x4 - ldr r1, _0813EFF8 @ =0x02000000 - ldr r2, _0813EFFC @ =0x00000888 - adds r0, r1, r2 - ldrh r0, [r0] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _0813F0B8 - lsls r0, 2 - ldr r1, _0813F000 @ =_0813F004 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813EFF8: .4byte 0x02000000 -_0813EFFC: .4byte 0x00000888 -_0813F000: .4byte _0813F004 - .align 2, 0 -_0813F004: - .4byte _0813F018 - .4byte _0813F030 - .4byte _0813F04C - .4byte _0813F078 - .4byte _0813F0A0 -_0813F018: - movs r1, 0x80 - lsls r1, 19 - ldr r3, _0813F028 @ =0x00001541 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _0813F02C @ =0x00000888 - adds r1, r2, r0 - b _0813F08E - .align 2, 0 -_0813F028: .4byte 0x00001541 -_0813F02C: .4byte 0x00000888 -_0813F030: - ldr r0, _0813F044 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813F0B8 - ldr r3, _0813F048 @ =0x00000888 - adds r1, r2, r3 - b _0813F08E - .align 2, 0 -_0813F044: .4byte gPaletteFade -_0813F048: .4byte 0x00000888 -_0813F04C: - bl sub_80FAB60 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0813F05E - bl sub_813F0C8 - b _0813F0B8 -_0813F05E: - cmp r0, 0x3 - blt _0813F0B8 - cmp r0, 0x5 - bgt _0813F0B8 - ldr r1, _0813F070 @ =0x02000000 - ldr r0, _0813F074 @ =0x00000888 - adds r1, r0 - b _0813F08E - .align 2, 0 -_0813F070: .4byte 0x02000000 -_0813F074: .4byte 0x00000888 -_0813F078: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0813F098 @ =0x02000000 - ldr r2, _0813F09C @ =0x00000888 - adds r1, r2 -_0813F08E: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0813F0B8 - .align 2, 0 -_0813F098: .4byte 0x02000000 -_0813F09C: .4byte 0x00000888 -_0813F0A0: - ldr r0, _0813F0C0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813F0B8 - bl sub_80FAB10 - ldr r0, _0813F0C4 @ =0x02000000 - ldr r0, [r0] - bl SetMainCallback2 -_0813F0B8: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0813F0C0: .4byte gPaletteFade -_0813F0C4: .4byte 0x02000000 - thumb_func_end sub_813EFDC - - thumb_func_start sub_813F0C8 -sub_813F0C8: @ 813F0C8 - push {lr} - movs r0, 0x11 - movs r1, 0x11 - movs r2, 0x1C - movs r3, 0x12 - bl MenuFillWindowRectWithBlankTile - ldr r1, _0813F0F0 @ =0x02000000 - ldrb r0, [r1, 0x1E] - cmp r0, 0 - beq _0813F0EA - adds r0, r1, 0 - adds r0, 0x8 - movs r1, 0x11 - movs r2, 0x11 - bl MenuPrint -_0813F0EA: - pop {r0} - bx r0 - .align 2, 0 -_0813F0F0: .4byte 0x02000000 - thumb_func_end sub_813F0C8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_tasks.s b/asm/field_tasks.s index c879ebf63..5f3e3a03f 100644 --- a/asm/field_tasks.s +++ b/asm/field_tasks.s @@ -1523,7 +1523,7 @@ _08069F9E: bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 - bl MetatileBehavior_IsAsh + bl MetatileBehavior_IsAshGrass lsls r0, 24 cmp r0, 0 beq _0806A02A @@ -1708,7 +1708,7 @@ _0806A122: lsls r0, 24 cmp r0, 0 beq _0806A182 - bl sub_80E6034 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x4 diff --git a/asm/fldeff_80C5CD4.s b/asm/fldeff_80C5CD4.s index 4214f8f9e..25ede5738 100644 --- a/asm/fldeff_80C5CD4.s +++ b/asm/fldeff_80C5CD4.s @@ -881,7 +881,7 @@ _080C6398: .4byte sub_80C660C sub_80C639C: @ 80C639C push {lr} ldr r1, _080C63B0 @ =gUnknown_0202FF84 - ldr r0, _080C63B4 @ =gUnknown_03005CE0 + ldr r0, _080C63B4 @ =gLastFieldPokeMenuOpened ldrb r0, [r0] str r0, [r1] ldr r0, _080C63B8 @ =gUnknown_081A2CE6 @@ -890,7 +890,7 @@ sub_80C639C: @ 80C639C bx r0 .align 2, 0 _080C63B0: .4byte gUnknown_0202FF84 -_080C63B4: .4byte gUnknown_03005CE0 +_080C63B4: .4byte gLastFieldPokeMenuOpened _080C63B8: .4byte gUnknown_081A2CE6 thumb_func_end sub_80C639C @@ -1026,7 +1026,7 @@ sub_80C6498: @ 80C6498 sub_80C64A8: @ 80C64A8 push {lr} ldr r1, _080C64BC @ =gUnknown_0202FF84 - ldr r0, _080C64C0 @ =gUnknown_03005CE0 + ldr r0, _080C64C0 @ =gLastFieldPokeMenuOpened ldrb r0, [r0] str r0, [r1] ldr r0, _080C64C4 @ =gUnknown_081A2D3E @@ -1035,7 +1035,7 @@ sub_80C64A8: @ 80C64A8 bx r0 .align 2, 0 _080C64BC: .4byte gUnknown_0202FF84 -_080C64C0: .4byte gUnknown_03005CE0 +_080C64C0: .4byte gLastFieldPokeMenuOpened _080C64C4: .4byte gUnknown_081A2D3E thumb_func_end sub_80C64A8 @@ -1213,7 +1213,7 @@ sub_80C65FC: @ 80C65FC sub_80C660C: @ 80C660C push {lr} ldr r1, _080C6620 @ =gUnknown_0202FF84 - ldr r0, _080C6624 @ =gUnknown_03005CE0 + ldr r0, _080C6624 @ =gLastFieldPokeMenuOpened ldrb r0, [r0] str r0, [r1] ldr r0, _080C6628 @ =gUnknown_081A2D96 @@ -1222,7 +1222,7 @@ sub_80C660C: @ 80C660C bx r0 .align 2, 0 _080C6620: .4byte gUnknown_0202FF84 -_080C6624: .4byte gUnknown_03005CE0 +_080C6624: .4byte gLastFieldPokeMenuOpened _080C6628: .4byte gUnknown_081A2D96 thumb_func_end sub_80C660C diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s deleted file mode 100644 index a56ad32fa..000000000 --- a/asm/fldeff_cut.s +++ /dev/null @@ -1,797 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Cut -SetUpFieldMove_Cut: @ 80A2504 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x52 - bl npc_before_player_of_type - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A2534 - ldr r1, _080A2524 @ =gUnknown_0300485C - ldr r0, _080A2528 @ =sub_808AB90 - str r0, [r1] - ldr r1, _080A252C @ =gUnknown_03005CE4 - ldr r0, _080A2530 @ =sub_80A2634 - b _080A25A8 - .align 2, 0 -_080A2524: .4byte gUnknown_0300485C -_080A2528: .4byte sub_808AB90 -_080A252C: .4byte gUnknown_03005CE4 -_080A2530: .4byte sub_80A2634 -_080A2534: - ldr r4, _080A25B0 @ =gUnknown_0203923C - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - movs r7, 0 - mov r8, r4 -_080A2542: - ldr r1, _080A25B4 @ =0x0000ffff - adds r0, r7, r1 - mov r2, r8 - ldrh r2, [r2, 0x2] - adds r0, r2 - movs r6, 0 - lsls r0, 16 - asrs r5, r0, 16 -_080A2552: - ldr r1, _080A25B4 @ =0x0000ffff - adds r0, r6, r1 - mov r2, r8 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _080A25C8 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsPokeGrass - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A259E - adds r0, r4, 0 - bl MetatileBehavior_IsAsh - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A25C8 -_080A259E: - ldr r1, _080A25B8 @ =gUnknown_0300485C - ldr r0, _080A25BC @ =sub_808AB90 - str r0, [r1] - ldr r1, _080A25C0 @ =gUnknown_03005CE4 - ldr r0, _080A25C4 @ =sub_80A25E8 -_080A25A8: - str r0, [r1] - movs r0, 0x1 - b _080A25DE - .align 2, 0 -_080A25B0: .4byte gUnknown_0203923C -_080A25B4: .4byte 0x0000ffff -_080A25B8: .4byte gUnknown_0300485C -_080A25BC: .4byte sub_808AB90 -_080A25C0: .4byte gUnknown_03005CE4 -_080A25C4: .4byte sub_80A25E8 -_080A25C8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _080A2552 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _080A2542 - movs r0, 0 -_080A25DE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end SetUpFieldMove_Cut - - thumb_func_start sub_80A25E8 -sub_80A25E8: @ 80A25E8 - push {lr} - movs r0, 0x1 - bl FieldEffectStart - ldr r0, _080A25FC @ =gUnknown_0202FF84 - ldr r1, _080A2600 @ =gUnknown_03005CE0 - ldrb r1, [r1] - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080A25FC: .4byte gUnknown_0202FF84 -_080A2600: .4byte gUnknown_03005CE0 - thumb_func_end sub_80A25E8 - - thumb_func_start FldEff_UseCutOnGrass -FldEff_UseCutOnGrass: @ 80A2604 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A262C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080A2630 @ =sub_80A2684 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl IncrementGameStat - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A262C: .4byte gTasks -_080A2630: .4byte sub_80A2684 - thumb_func_end FldEff_UseCutOnGrass - - thumb_func_start sub_80A2634 -sub_80A2634: @ 80A2634 - push {lr} - ldr r1, _080A2648 @ =gUnknown_0202FF84 - ldr r0, _080A264C @ =gUnknown_03005CE0 - ldrb r0, [r0] - str r0, [r1] - ldr r0, _080A2650 @ =UseCutScript - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080A2648: .4byte gUnknown_0202FF84 -_080A264C: .4byte gUnknown_03005CE0 -_080A2650: .4byte UseCutScript - thumb_func_end sub_80A2634 - - thumb_func_start FldEff_UseCutOnTree -FldEff_UseCutOnTree: @ 80A2654 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A267C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080A2680 @ =sub_80A2B00 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl IncrementGameStat - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A267C: .4byte gTasks -_080A2680: .4byte sub_80A2B00 - thumb_func_end FldEff_UseCutOnTree - - thumb_func_start sub_80A2684 -sub_80A2684: @ 80A2684 - push {lr} - movs r0, 0x1 - bl FieldEffectActiveListRemove - movs r0, 0x3A - bl FieldEffectStart - pop {r0} - bx r0 - thumb_func_end sub_80A2684 - - thumb_func_start FldEff_CutGrass -FldEff_CutGrass: @ 80A2698 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - movs r0, 0x80 - bl PlaySE - ldr r4, _080A2790 @ =gUnknown_0203923C - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - mov r8, r4 -_080A26B2: - ldr r1, _080A2794 @ =0x0000ffff - adds r0, r7, r1 - mov r2, r8 - ldrh r2, [r2, 0x2] - adds r0, r2 - movs r6, 0 - lsls r0, 16 - asrs r5, r0, 16 -_080A26C2: - ldr r1, _080A2794 @ =0x0000ffff - adds r0, r6, r1 - mov r2, r8 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _080A270E - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl sub_80578F8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A270E - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A27A8 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_805BCC0 -_080A270E: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _080A26C2 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _080A26B2 - ldr r1, _080A2790 @ =gUnknown_0203923C - ldrh r0, [r1] - subs r0, 0x1 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r1, 0x2] - subs r1, 0x2 - lsls r1, 16 - asrs r1, 16 - bl sub_80A28F4 - bl DrawWholeMapView - movs r7, 0 - ldr r4, _080A2798 @ =gSprites -_080A2740: - ldr r0, _080A279C @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r2, 0x80 - lsls r2, 12 - adds r1, r2 - asrs r1, 16 - ldrb r2, [r0] - adds r2, 0x14 - ldr r0, _080A27A0 @ =gSpriteTemplate_CutGrass - movs r3, 0 - bl CreateSprite - ldr r1, _080A27A4 @ =0x0201fff0 - adds r1, r7, r1 - strb r0, [r1] - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - lsls r1, r7, 5 - strh r1, [r0, 0x32] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _080A2740 - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A2790: .4byte gUnknown_0203923C -_080A2794: .4byte 0x0000ffff -_080A2798: .4byte gSprites -_080A279C: .4byte gPlayerAvatar -_080A27A0: .4byte gSpriteTemplate_CutGrass -_080A27A4: .4byte 0x0201fff0 - thumb_func_end FldEff_CutGrass - - thumb_func_start sub_80A27A8 -sub_80A27A8: @ 80A27A8 - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r6, r0, 16 - asrs r4, r0, 16 - lsrs r7, r1, 16 - asrs r5, r1, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, _080A27E0 @ =0x00000207 - cmp r1, r0 - bgt _080A27F4 - subs r0, 0x1 - cmp r1, r0 - bge _080A286C - cmp r1, 0x25 - beq _080A288E - cmp r1, 0x25 - bgt _080A27E4 - cmp r1, 0xD - beq _080A2834 - cmp r1, 0x15 - beq _080A2834 - b _080A2898 - .align 2, 0 -_080A27E0: .4byte 0x00000207 -_080A27E4: - movs r0, 0xE3 - lsls r0, 1 - cmp r1, r0 - beq _080A2844 - adds r0, 0x1 - cmp r1, r0 - beq _080A284A - b _080A2898 -_080A27F4: - ldr r0, _080A280C @ =0x00000212 - cmp r1, r0 - beq _080A287C - cmp r1, r0 - bgt _080A2810 - subs r0, 0xA - cmp r1, r0 - beq _080A2834 - adds r0, 0x2 - cmp r1, r0 - beq _080A287C - b _080A2898 - .align 2, 0 -_080A280C: .4byte 0x00000212 -_080A2810: - ldr r0, _080A2824 @ =0x00000282 - cmp r1, r0 - beq _080A285C - cmp r1, r0 - bgt _080A2828 - subs r0, 0x1 - cmp r1, r0 - beq _080A2854 - b _080A2898 - .align 2, 0 -_080A2824: .4byte 0x00000282 -_080A2828: - ldr r0, _080A2830 @ =0x00000283 - cmp r1, r0 - beq _080A2864 - b _080A2898 - .align 2, 0 -_080A2830: .4byte 0x00000283 -_080A2834: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - movs r2, 0x1 - bl MapGridSetMetatileIdAt - b _080A2898 -_080A2844: - movs r2, 0xE7 - lsls r2, 1 - b _080A286E -_080A284A: - ldr r2, _080A2850 @ =0x000001cf - b _080A286E - .align 2, 0 -_080A2850: .4byte 0x000001cf -_080A2854: - ldr r2, _080A2858 @ =0x00000279 - b _080A286E - .align 2, 0 -_080A2858: .4byte 0x00000279 -_080A285C: - ldr r2, _080A2860 @ =0x0000027a - b _080A286E - .align 2, 0 -_080A2860: .4byte 0x0000027a -_080A2864: - ldr r2, _080A2868 @ =0x0000027b - b _080A286E - .align 2, 0 -_080A2868: .4byte 0x0000027b -_080A286C: - ldr r2, _080A2878 @ =0x00000271 -_080A286E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _080A2898 - .align 2, 0 -_080A2878: .4byte 0x00000271 -_080A287C: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - movs r2, 0x86 - lsls r2, 2 - bl MapGridSetMetatileIdAt - b _080A2898 -_080A288E: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xE - bl MapGridSetMetatileIdAt -_080A2898: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A27A8 - - thumb_func_start sub_80A28A0 -sub_80A28A0: @ 80A28A0 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - cmp r1, 0x1 - bne _080A28BC - movs r0, 0x1 - b _080A28EE -_080A28BC: - ldr r0, _080A28C8 @ =0x00000279 - cmp r1, r0 - bne _080A28CC - movs r0, 0x2 - b _080A28EE - .align 2, 0 -_080A28C8: .4byte 0x00000279 -_080A28CC: - ldr r0, _080A28D8 @ =0x0000027a - cmp r1, r0 - bne _080A28DC - movs r0, 0x3 - b _080A28EE - .align 2, 0 -_080A28D8: .4byte 0x0000027a -_080A28DC: - ldr r0, _080A28E8 @ =0x0000027b - cmp r2, r0 - beq _080A28EC - movs r0, 0 - b _080A28EE - .align 2, 0 -_080A28E8: .4byte 0x0000027b -_080A28EC: - movs r0, 0x4 -_080A28EE: - pop {r1} - bx r1 - thumb_func_end sub_80A28A0 - - thumb_func_start sub_80A28F4 -sub_80A28F4: @ 80A28F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r1, 16 - movs r2, 0xC0 - lsls r2, 10 - adds r0, r1, r2 - lsrs r0, 16 - mov r9, r0 - movs r4, 0 - asrs r7, r1, 16 -_080A2914: - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - lsls r4, 16 - asrs r1, r4, 16 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - asrs r5, r0, 16 - adds r0, r5, 0 - adds r1, r7, 0 - bl MapGridGetMetatileIdAt - mov r8, r4 - cmp r0, 0x15 - bne _080A2996 - adds r4, r7, 0x1 - lsls r1, r4, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_80A28A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080A296A - cmp r0, 0x2 - bgt _080A2952 - cmp r0, 0x1 - beq _080A295C - b _080A2996 -_080A2952: - cmp r0, 0x3 - beq _080A297C - cmp r0, 0x4 - beq _080A298C - b _080A2996 -_080A295C: - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x82 - lsls r2, 2 - bl MapGridSetMetatileIdAt - b _080A2996 -_080A296A: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2978 @ =0x00000281 - bl MapGridSetMetatileIdAt - b _080A2996 - .align 2, 0 -_080A2978: .4byte 0x00000281 -_080A297C: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2988 @ =0x00000282 - bl MapGridSetMetatileIdAt - b _080A2996 - .align 2, 0 -_080A2988: .4byte 0x00000282 -_080A298C: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A30 @ =0x00000283 - bl MapGridSetMetatileIdAt -_080A2996: - lsls r0, r6, 16 - asrs r5, r0, 16 - mov r2, r9 - lsls r0, r2, 16 - asrs r4, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - cmp r0, 0x1 - bne _080A2A10 - adds r4, 0x1 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x82 - lsls r1, 2 - cmp r0, r1 - bne _080A29C8 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl MapGridSetMetatileIdAt -_080A29C8: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _080A2A34 @ =0x00000281 - cmp r0, r1 - bne _080A29E0 - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A38 @ =0x00000279 - bl MapGridSetMetatileIdAt -_080A29E0: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _080A2A3C @ =0x00000282 - cmp r0, r1 - bne _080A29F8 - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A40 @ =0x0000027a - bl MapGridSetMetatileIdAt -_080A29F8: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _080A2A30 @ =0x00000283 - cmp r0, r1 - bne _080A2A10 - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A44 @ =0x0000027b - bl MapGridSetMetatileIdAt -_080A2A10: - movs r0, 0x80 - lsls r0, 9 - add r0, r8 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bgt _080A2A20 - b _080A2914 -_080A2A20: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A2A30: .4byte 0x00000283 -_080A2A34: .4byte 0x00000281 -_080A2A38: .4byte 0x00000279 -_080A2A3C: .4byte 0x00000282 -_080A2A40: .4byte 0x0000027a -_080A2A44: .4byte 0x0000027b - thumb_func_end sub_80A28F4 - - thumb_func_start sub_80A2A48 -sub_80A2A48: @ 80A2A48 - movs r2, 0 - movs r1, 0x8 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x34] - ldr r1, _080A2A58 @ =objc_8097BBC - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080A2A58: .4byte objc_8097BBC - thumb_func_end sub_80A2A48 - - thumb_func_start objc_8097BBC -objc_8097BBC: @ 80A2A5C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x2E] - adds r1, 0x1 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 18 - adds r1, r0 - strh r1, [r4, 0x2E] - adds r2, 0x1 - strh r2, [r4, 0x34] - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x1C - beq _080A2AA8 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080A2AAC -_080A2AA8: - ldr r0, _080A2AB4 @ =sub_80A2AB8 - str r0, [r4, 0x1C] -_080A2AAC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A2AB4: .4byte sub_80A2AB8 - thumb_func_end objc_8097BBC - - thumb_func_start sub_80A2AB8 -sub_80A2AB8: @ 80A2AB8 - push {r4-r6,lr} - movs r4, 0x1 -_080A2ABC: - ldr r6, _080A2AF8 @ =0x0201fff0 - adds r0, r4, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _080A2AFC @ =gSprites - adds r0, r5 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _080A2ABC - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x3A - bl FieldEffectStop - bl sub_8064E2C - bl ScriptContext2_Disable - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A2AF8: .4byte 0x0201fff0 -_080A2AFC: .4byte gSprites - thumb_func_end sub_80A2AB8 - - thumb_func_start sub_80A2B00 -sub_80A2B00: @ 80A2B00 - push {lr} - movs r0, 0x80 - bl PlaySE - movs r0, 0x2 - bl FieldEffectActiveListRemove - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80A2B00 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s deleted file mode 100644 index 335aed789..000000000 --- a/asm/fldeff_teleport.s +++ /dev/null @@ -1,93 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Teleport -SetUpFieldMove_Teleport: @ 814A374 - push {lr} - ldr r0, _0814A38C @ =gMapHeader - ldrb r0, [r0, 0x17] - bl is_light_level_1_2_3_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0814A390 - movs r0, 0 - b _0814A39E - .align 2, 0 -_0814A38C: .4byte gMapHeader -_0814A390: - ldr r1, _0814A3A4 @ =gUnknown_0300485C - ldr r0, _0814A3A8 @ =sub_808AB90 - str r0, [r1] - ldr r1, _0814A3AC @ =gUnknown_03005CE4 - ldr r0, _0814A3B0 @ =hm_teleport_run_dp02scr - str r0, [r1] - movs r0, 0x1 -_0814A39E: - pop {r1} - bx r1 - .align 2, 0 -_0814A3A4: .4byte gUnknown_0300485C -_0814A3A8: .4byte sub_808AB90 -_0814A3AC: .4byte gUnknown_03005CE4 -_0814A3B0: .4byte hm_teleport_run_dp02scr - thumb_func_end SetUpFieldMove_Teleport - - thumb_func_start hm_teleport_run_dp02scr -hm_teleport_run_dp02scr: @ 814A3B4 - push {lr} - bl new_game - movs r0, 0x3F - bl FieldEffectStart - ldr r0, _0814A3CC @ =gUnknown_0202FF84 - ldr r1, _0814A3D0 @ =gUnknown_03005CE0 - ldrb r1, [r1] - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_0814A3CC: .4byte gUnknown_0202FF84 -_0814A3D0: .4byte gUnknown_03005CE0 - thumb_func_end hm_teleport_run_dp02scr - - thumb_func_start FldEff_UseTeleport -FldEff_UseTeleport: @ 814A3D4 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814A3FC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _0814A400 @ =sub_814A404 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0814A3FC: .4byte gTasks -_0814A400: .4byte sub_814A404 - thumb_func_end FldEff_UseTeleport - - thumb_func_start sub_814A404 -sub_814A404: @ 814A404 - push {lr} - movs r0, 0x3F - bl FieldEffectActiveListRemove - bl sub_8087BA8 - pop {r0} - bx r0 - thumb_func_end sub_814A404 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index c1e93c8b3..3ad85d7cf 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -539,11 +539,11 @@ sub_8142274: @ 8142274 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, _081422A8 @ =gUnknown_03005EBC + ldr r1, _081422A8 @ =gGameContinueCallback ldr r0, _081422AC @ =sub_8141FC4 str r0, [r1] movs r0, 0x3 - bl sub_8125D44 + bl TrySavingData movs r0, 0x37 bl PlaySE ldr r1, _081422B0 @ =gTasks @@ -559,7 +559,7 @@ sub_8142274: @ 8142274 pop {r0} bx r0 .align 2, 0 -_081422A8: .4byte gUnknown_03005EBC +_081422A8: .4byte gGameContinueCallback _081422AC: .4byte sub_8141FC4 _081422B0: .4byte gTasks _081422B4: .4byte sub_81422B8 @@ -1700,7 +1700,7 @@ _08142B8E: adds r0, 0x4 adds r0, r1, r0 ldrh r3, [r0] - ldr r0, _08142BD0 @ =gUnknown_0840B53A + ldr r0, _08142BD0 @ =gUnknown_0840B534 + 0x6 adds r1, r0 b _08142BE2 .align 2, 0 @@ -1710,14 +1710,14 @@ _08142BC0: .4byte gUnknown_0203931C _08142BC4: .4byte 0x000001ff _08142BC8: .4byte gUnknown_0840B564 _08142BCC: .4byte gUnknown_0840B534 -_08142BD0: .4byte gUnknown_0840B53A +_08142BD0: .4byte gUnknown_0840B534 + 0x6 _08142BD4: lsls r1, r5, 3 mov r0, r10 adds r0, 0x4 adds r0, r1, r0 ldrh r3, [r0] - ldr r2, _08142C28 @ =gUnknown_0840B56A + ldr r2, _08142C28 @ =gUnknown_0840B564 + 0x6 adds r1, r2 _08142BE2: ldrh r2, [r1] @@ -1755,7 +1755,7 @@ _08142BE2: strh r0, [r1] b _08142C3C .align 2, 0 -_08142C28: .4byte gUnknown_0840B56A +_08142C28: .4byte gUnknown_0840B564 + 0x6 _08142C2C: .4byte gSprites _08142C30: adds r0, r5, 0x5 diff --git a/asm/item_menu.s b/asm/item_menu.s index 4270b4954..29109f3d9 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -5128,7 +5128,7 @@ sub_80A599C: @ 80A599C movs r4, 0 strh r2, [r1, 0x18] strh r3, [r1, 0x1A] - ldr r1, _080A59CC @ =gUnknown_03005CE0 + ldr r1, _080A59CC @ =gLastFieldPokeMenuOpened strb r4, [r1] bl sub_80A5AE4 pop {r4} @@ -5137,7 +5137,7 @@ sub_80A599C: @ 80A599C .align 2, 0 _080A59C4: .4byte gTasks _080A59C8: .4byte sub_805469C -_080A59CC: .4byte gUnknown_03005CE0 +_080A59CC: .4byte gLastFieldPokeMenuOpened thumb_func_end sub_80A599C thumb_func_start sub_80A59D0 @@ -7539,7 +7539,7 @@ _080A6D14: thumb_func_start sub_80A6D1C sub_80A6D1C: @ 80A6D1C push {r4,r5,lr} - bl HideMapNamePopUpWindow + bl HideMapNamePopup ldr r0, _080A6D70 @ =gSaveBlock1 ldr r1, _080A6D74 @ =0x00000496 adds r4, r0, r1 diff --git a/asm/item_use.s b/asm/item_use.s index c4f6fb74a..66b9d7800 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -6,147 +6,6 @@ .text - thumb_func_start sub_80C962C -sub_80C962C: @ 80C962C - push {r4-r6,lr} - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - ldrb r2, [r0, 0x3] - ldr r5, [r0, 0x10] - movs r1, 0 - cmp r1, r2 - bge _080C9680 - lsls r0, r3, 16 - asrs r6, r0, 16 - lsls r0, r4, 16 - asrs r4, r0, 16 - adds r3, r5, 0 -_080C964A: - ldrb r0, [r3, 0x5] - cmp r0, 0x7 - bne _080C9678 - ldrh r0, [r3] - cmp r6, r0 - bne _080C9678 - ldrh r0, [r3, 0x2] - cmp r4, r0 - bne _080C9678 - movs r1, 0x96 - lsls r1, 2 - adds r0, r1, 0 - ldrh r3, [r3, 0xA] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C9680 - movs r0, 0x1 - b _080C9682 -_080C9678: - adds r3, 0xC - adds r1, 0x1 - cmp r1, r2 - blt _080C964A -_080C9680: - movs r0, 0 -_080C9682: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C962C - - thumb_func_start sub_80C9688 -sub_80C9688: @ 80C9688 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - bl mapconnection_get_mapheader - adds r3, r0, 0 - ldrb r0, [r4] - cmp r0, 0x2 - beq _080C96B0 - cmp r0, 0x2 - bgt _080C96A6 - cmp r0, 0x1 - beq _080C96C4 - b _080C9704 -_080C96A6: - cmp r0, 0x3 - beq _080C96DC - cmp r0, 0x4 - beq _080C96E6 - b _080C9704 -_080C96B0: - ldr r0, [r4, 0x4] - adds r0, 0x7 - subs r0, r5, r0 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, [r3] - ldr r0, [r0, 0x4] - subs r0, 0x7 - adds r0, r6 - b _080C96FA -_080C96C4: - ldr r0, [r4, 0x4] - adds r0, 0x7 - subs r0, r5, r0 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _080C96D8 @ =gMapHeader - ldr r0, [r0] - ldr r0, [r0, 0x4] - b _080C96F6 - .align 2, 0 -_080C96D8: .4byte gMapHeader -_080C96DC: - ldr r0, [r3] - ldr r0, [r0] - subs r0, 0x7 - adds r0, r5 - b _080C96F0 -_080C96E6: - ldr r0, _080C9700 @ =gMapHeader - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x7 - subs r0, r5, r0 -_080C96F0: - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, [r4, 0x4] -_080C96F6: - adds r0, 0x7 - subs r0, r6, r0 -_080C96FA: - lsls r0, 16 - lsrs r2, r0, 16 - b _080C9708 - .align 2, 0 -_080C9700: .4byte gMapHeader -_080C9704: - movs r0, 0 - b _080C971A -_080C9708: - ldr r0, [r3, 0x4] - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - bl sub_80C962C - lsls r0, 24 - lsrs r0, 24 -_080C971A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C9688 - thumb_func_start sub_80C9720 sub_80C9720: @ 80C9720 push {r4-r7,lr} @@ -1033,13 +892,13 @@ ItemUseOutOfBattle_SacredAsh: @ 80C9DCC push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _080C9DDC @ =gUnknown_03005CE0 + ldr r1, _080C9DDC @ =gLastFieldPokeMenuOpened movs r0, 0 strb r0, [r1] movs r5, 0 b _080C9DE6 .align 2, 0 -_080C9DDC: .4byte gUnknown_03005CE0 +_080C9DDC: .4byte gLastFieldPokeMenuOpened _080C9DE0: adds r0, r5, 0x1 lsls r0, 24 @@ -1062,7 +921,7 @@ _080C9DE6: bl GetMonData cmp r0, 0 bne _080C9DE0 - ldr r0, _080C9E2C @ =gUnknown_03005CE0 + ldr r0, _080C9E2C @ =gLastFieldPokeMenuOpened strb r5, [r0] _080C9E10: ldr r1, _080C9E30 @ =gUnknown_03004AE4 @@ -1078,7 +937,7 @@ _080C9E10: bx r0 .align 2, 0 _080C9E28: .4byte gPlayerParty -_080C9E2C: .4byte gUnknown_03005CE0 +_080C9E2C: .4byte gLastFieldPokeMenuOpened _080C9E30: .4byte gUnknown_03004AE4 _080C9E34: .4byte sub_8070048 _080C9E38: .4byte gUnknown_02038561 diff --git a/asm/libgcnmultiboot.s b/asm/libgcnmultiboot.s index 87003abbc..91bc1890c 100644 --- a/asm/libgcnmultiboot.s +++ b/asm/libgcnmultiboot.s @@ -4,11 +4,36 @@ .include "asm/macros.inc" .include "constants/constants.inc" + .equiv GCMB_STRUCT_COUNTER1, 0x00 + .equiv GCMB_STRUCT_COUNTER2, 0x01 + .equiv GCMB_STRUCT_MBPROGRESS, 0x02 + .equiv GCMB_STRUCT_SAVEDVCOUNT, 0x03 + .equiv GCMB_STRUCT_KEYA, 0x04 + .equiv GCMB_STRUCT_KEYB, 0x08 + .equiv GCMB_STRUCT_KEYC, 0x0C + .equiv GCMB_STRUCT_BOOT_KEY, 0x10 + .equiv GCMB_STRUCT_IMAGE_SIZE, 0x12 + .equiv GCMB_STRUCT_SESSION_KEY, 0x14 + .equiv GCMB_STRUCT_HASH_VAL, 0x18 + .equiv GCMB_STRUCT_KEYC_DERIVATION, 0x1C .equiv GCMB_STRUCT_BASE_DEST_PTR, 0x20 .equiv GCMB_STRUCT_CUR_DEST_PTR, 0x24 .equiv GCMB_STRUCT_SERIAL_INTR_HANDLER, 0x28 - .equiv ROM_HEADER_NINTENDO_LOGO_OFFSET, 0x4 + .equiv ROM_HEADER_NINTENDO_LOGO_OFFSET, 0x04 + .equiv ROM_HEADER_NINTENDO_LOGO_LENGTH, 0x98 + .equiv ROM_HEADER_NINTENDO_LOGO_END, 0xA0 + + .equiv MBPROGRESS_NONE, 0x00 + .equiv MBPROGRESS_LOGO_CORRECT, 0x01 + .equiv MBPROGRESS_READY_TO_BOOT, 0x02 + + .equiv GCMB_MAGIC_BOOTKEY_HASHVAL, 0xBB + .equiv GCMB_MAGIC_BOOTKEY, 0xBB + .equiv GCMB_MAGIC_COUNTER2, 0xCC + .equiv GCMB_MAGIC_KEYA, 0xDD + .equiv GCMB_MAGIC_KEYB, 0xEE + .equiv GCMB_MAGIC_KEYCDERIVATION, 0xFF .syntax unified @@ -37,137 +62,177 @@ GameCubeMultiBoot_Hash_SkipEor: thumb_func_start GameCubeMultiBoot_Main @ void GameCubeMultiBoot_Main(struct GameCubeMultiBoot *mb)@ GameCubeMultiBoot_Main: @ 81DCB4C + @ If there is no interrupt handler, skip counter manipulation ldr r1, [r0, GCMB_STRUCT_SERIAL_INTR_HANDLER] cmp r1, 0 - beq _081DCB72 - ldrb r1, [r0, 0x1] + beq GameCubeMultiBoot_Main_SkipCounters + @ Increment the second counter + ldrb r1, [r0, GCMB_STRUCT_COUNTER2] adds r1, 0x1 - strb r1, [r0, 0x1] - ldrb r1, [r0, 0x2] - cmp r1, 0x2 - beq _081DCBBC + strb r1, [r0, GCMB_STRUCT_COUNTER2] + @ If there is nothing more to do, bail out + ldrb r1, [r0, GCMB_STRUCT_MBPROGRESS] + cmp r1, MBPROGRESS_READY_TO_BOOT + beq GameCubeMultiBoot_Main_Return + @ Save current interrupt master register value ldr r3, pool_InterruptRegs ldrh r2, [r3, OFFSET_REG_IME - 0x200] + @ Disable all interrupts movs r1, 0 strh r1, [r3, OFFSET_REG_IME - 0x200] - ldrb r1, [r0] + @ Increment the first counter, if it's less than or equal to 10. + ldrb r1, [r0, GCMB_STRUCT_COUNTER1] cmp r1, 0xA - bgt _081DCB70 + bgt GameCubeMultiBoot_Main_SkipCounter1Inc adds r1, 0x1 - strb r1, [r0] -_081DCB70: + strb r1, [r0, GCMB_STRUCT_COUNTER1] +GameCubeMultiBoot_Main_SkipCounter1Inc: + @ Load the saved interrupt master register value (re-enables interrupts if they were enabled before) strh r2, [r3, OFFSET_REG_IME - 0x200] -_081DCB72: +GameCubeMultiBoot_Main_SkipCounters: + @ Initialise multiboot structures if required bcs GameCubeMultiBoot_Init - ldrb r1, [r0, 0x2] - cmp r1, 0 - bne _081DCBBE + @ Skip this section (check Nintendo logo) if the check has already passed + ldrb r1, [r0, GCMB_STRUCT_MBPROGRESS] + cmp r1, MBPROGRESS_NONE + bne GameCubeMultiBoot_Main_SkipLogoCheck + @ Bail out if no multiboot image data has been transferred yet ldr r1, [r0, GCMB_STRUCT_CUR_DEST_PTR] ldr r2, [r0, GCMB_STRUCT_BASE_DEST_PTR] subs r1, r2 - beq _081DCC3E - cmp r1, 0xA0 - bcc _081DCC3E + beq GameCubeMultiBoot_Main_Return2 + @ Also bail out if not enough data has been transferred + cmp r1, ROM_HEADER_NINTENDO_LOGO_END + bcc GameCubeMultiBoot_Main_Return2 + @ Compare the Nintendo logo of the transferred multiboot image header, with the one in the ROM image of the inserted cart push {r4-r6} - movs r1, 0x98 + movs r1, ROM_HEADER_NINTENDO_LOGO_LENGTH adds r2, ROM_HEADER_NINTENDO_LOGO_OFFSET ldr r4, pool_NintendoLogo -_081DCB8E: +GameCubeMultiBoot_Main_LogoCmpLoop: ldm r2!, {r5} ldm r4!, {r6} cmp r5, r6 - bne _081DCBA4 + bne GameCubeMultiBoot_Main_LogoCmpEnd subs r1, 0x4 - bne _081DCB8E + bne GameCubeMultiBoot_Main_LogoCmpLoop ldm r2!, {r5} ldm r4!, {r6} eors r5, r6 lsrs r5, 8 str r2, [r0, GCMB_STRUCT_BASE_DEST_PTR] -_081DCBA4: +GameCubeMultiBoot_Main_LogoCmpEnd: pop {r4-r6} + @ Throw everything away if the logo data didn't match bne GameCubeMultiBoot_Init - movs r1, 0x1 - strb r1, [r0, 0x2] - ldr r1, [r0, 0x4] - ldr r2, [r0, 0x8] + @ Logo matched, set the relevent multiboot progress bit + movs r1, MBPROGRESS_LOGO_CORRECT + strb r1, [r0, GCMB_STRUCT_MBPROGRESS] + @ XOR together KeyA and KeyB to get the initial multiboot image checksum value + ldr r1, [r0, GCMB_STRUCT_KEYA] + ldr r2, [r0, GCMB_STRUCT_KEYB] eors r1, r2 - str r1, [r0, 0x18] + str r1, [r0, GCMB_STRUCT_HASH_VAL] + @ ...also use it as the initial value for the image encryption session key. Algorithm is the same as the GBA BIOS multiboot: sessionkey = (initialvalue * 0x6177614b) + 1 ldr r2, pool_Kawa muls r1, r2 adds r1, 0x1 - str r1, [r0, 0x14] -_081DCBBC: + str r1, [r0, GCMB_STRUCT_SESSION_KEY] +GameCubeMultiBoot_Main_Return: bx lr -_081DCBBE: +GameCubeMultiBoot_Main_SkipLogoCheck: + @ If this code is executed, then the logo check has passed, and the data being transferred in is encrypted. + @ Set up registers. ldr r1, [r0, GCMB_STRUCT_CUR_DEST_PTR] mov r12, r1 - ldr r3, [r0, 0x18] + ldr r3, [r0, GCMB_STRUCT_HASH_VAL] push {r4-r7} ldr r4, [r0, GCMB_STRUCT_BASE_DEST_PTR] ldr r5, pool_Kawa - ldr r6, [r0, 0x14] + ldr r6, [r0, GCMB_STRUCT_SESSION_KEY] ldr r7, pool_HashVal -_081DCBCE: +GameCubeMultiBoot_Main_ImageDecryptHashLoop: + @ If there's no more data, break out of the loop cmp r4, r12 - bcs _081DCBEE + bcs GameCubeMultiBoot_Main_ImageDecryptHashEnd + @ Get the next uint32 ldr r1, [r4] + @ Decrypt the ciphertext: plaintext = (ciphertext ^ sessionkey) + hashval eors r1, r6 adds r1, r3 + @ Save the current uint32 of plaintext and advance the pointer stm r4!, {r1} + @ Advance the hashval with this uint32 of plaintext -- this is the same code as GameCubeMultiBoot_Hash. eors r3, r1 movs r2, 0x20 -_081DCBDE: +GameCubeMultiBoot_Main_HashLoop: lsrs r3, 1 - bcc _081DCBE4 + bcc GameCubeMultiBoot_Main_HashSkipEor eors r3, r7 -_081DCBE4: +GameCubeMultiBoot_Main_HashSkipEor: subs r2, 0x1 - bne _081DCBDE + bne GameCubeMultiBoot_Main_HashLoop + @ Advance the sessionkey with the usual algorithm: sessionkey = (sessionkey * 0x6177614b) + 1 muls r6, r5 adds r6, 0x1 - b _081DCBCE -_081DCBEE: + b GameCubeMultiBoot_Main_ImageDecryptHashLoop +GameCubeMultiBoot_Main_ImageDecryptHashEnd: + @ Save the new pointer, sessionkey, hashval str r4, [r0, GCMB_STRUCT_BASE_DEST_PTR] - str r6, [r0, 0x14] + str r6, [r0, GCMB_STRUCT_SESSION_KEY] pop {r4-r7} - str r3, [r0, 0x18] - ldrh r1, [r0, 0x12] + str r3, [r0, GCMB_STRUCT_HASH_VAL] + @ Bail out if the image size is unknown + ldrh r1, [r0, GCMB_STRUCT_IMAGE_SIZE] cmp r1, 0 - bne _081DCC3E + bne GameCubeMultiBoot_Main_Return2 + @ Bail out if no image data has been transferred ldr r1, [r0, GCMB_STRUCT_CUR_DEST_PTR] ldr r2, [r0, GCMB_STRUCT_BASE_DEST_PTR] cmp r1, r2 - bne _081DCC3E - ldr r1, [r0, 0xC] + bne GameCubeMultiBoot_Main_Return2 + @ If KeyC hasn't been generated yet, go generate it + ldr r1, [r0, GCMB_STRUCT_KEYC] cmp r1, 0 - beq _081DCC28 - ldrh r1, [r0, 0x10] + beq GameCubeMultiBoot_Main_GenerateKeyC + @ If the other side hasn't sent its boot key yet, bail out + ldrh r1, [r0, GCMB_STRUCT_BOOT_KEY] cmp r1, 0 - beq _081DCBBC + beq GameCubeMultiBoot_Main_Return + @ Save off LR so it doesn't get clobbered by the upcoming function call mov r12, lr - movs r1, 0xBB - ldr r3, [r0, 0xC] + @ Generate the real boot key, which is the checksum of a hardcoded value and KeyC + movs r1, GCMB_MAGIC_BOOTKEY_HASHVAL + ldr r3, [r0, GCMB_STRUCT_KEYC] bl GameCubeMultiBoot_Hash - ldrh r1, [r0, 0x10] + ldrh r1, [r0, GCMB_STRUCT_BOOT_KEY] + @ Restore the saved LR value mov lr, r12 + @ Compare the two boot keys (real and passed in), if they don't match then throw everything away subs r1, r3 bne GameCubeMultiBoot_Init - movs r1, 0x2 - strb r1, [r0, 0x2] + @ The two boot keys matched, tell the caller that the image is ready to boot + movs r1, MBPROGRESS_READY_TO_BOOT + strb r1, [r0, GCMB_STRUCT_MBPROGRESS] + @ Nothing more to do, return. bx lr -_081DCC28: +GameCubeMultiBoot_Main_GenerateKeyC: + @ Save off LR so it doesn't get clobbered by the upcoming function call mov r12, lr - ldrb r1, [r0, 0x3] + @ KeyC = (SavedVCount << 24) - 1 + ldrb r1, [r0, GCMB_STRUCT_SAVEDVCOUNT] lsls r1, 24 subs r1, 0x1 - str r1, [r0, 0xC] + str r1, [r0, GCMB_STRUCT_KEYC] + @ Hash the KeyC with the multiboot image checksum to generate the KeyC derivation material to be sent to the other side of the link bl GameCubeMultiBoot_Hash + @ Make sure the sent KeyC derivation material contains a magic value so that the other side can detect it lsls r3, 8 - adds r3, 0xFF - str r3, [r0, 0x1C] + adds r3, GCMB_MAGIC_KEYCDERIVATION + @ Save off the KeyC derivation material and return to caller + str r3, [r0, GCMB_STRUCT_KEYC_DERIVATION] bx r12 -_081DCC3E: +GameCubeMultiBoot_Main_Return2: bx lr thumb_func_end GameCubeMultiBoot_Main @@ -182,12 +247,15 @@ pool_NintendoLogo: .4byte RomHeaderNintendoLogo thumb_func_start GameCubeMultiBoot_ExecuteProgram @ void GameCubeMultiBoot_ExecuteProgram(struct GameCubeMultiBoot *mb)@ GameCubeMultiBoot_ExecuteProgram: @ 81DCC4C - ldrb r1, [r0, 0x2] - cmp r1, 0x2 + @ If there's no multiboot image ready, just return to caller + ldrb r1, [r0, GCMB_STRUCT_MBPROGRESS] + cmp r1, MBPROGRESS_READY_TO_BOOT bne GameCubeMultiBoot_ExecuteProgram_Fail + @ Disable interrupts ldr r3, pool_InterruptRegs movs r1, 0 strh r1, [r3, OFFSET_REG_IME - 0x200] + @ Jump to the real entry point of the multiboot image (past the image header), in ARM mode ldr r1, pool_MultiBootLoadAddr adds r1, 0xC0 bx r1 @@ -308,19 +376,25 @@ GameCubeMultiBoot_HandleSerialInterruptDone: bx lr GameCubeMultiBoot_BeginHandshake: + @ Throw away anything that got sent ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120] + @ Send the game code, the other side of the link must send back the same game code ldr r1, pool_RubyUSAGameCode str r1, [r3, OFFSET_REG_JOY_TRANS - 0x120] movs r1, 0x10 strh r1, [r3, OFFSET_REG_JOYSTAT - 0x120] - ldrb r1, [r0, 0x3] - strb r1, [r0, 0x9] - ldrb r1, [r0, 0x2] + @ Use the saved VCount value to provide 8 bits of entropy for KeyB + ldrb r1, [r0, GCMB_STRUCT_SAVEDVCOUNT] + strb r1, [r0, GCMB_STRUCT_KEYB + 1] + @ If a multiboot image has been transferred at least enough such that the Nintendo logo check has passed, stop everything. + ldrb r1, [r0, GCMB_STRUCT_MBPROGRESS] cmp r1, 0 bne GcMbIntrHandler_Stop + @ Set the image destination pointers. ldr r1, pool_MultiBootLoadAddr str r1, [r0, GCMB_STRUCT_BASE_DEST_PTR] str r1, [r0, GCMB_STRUCT_CUR_DEST_PTR] + @ Set the new interrupt handler. adr r2, GcMbIntrHandler_CheckGameCodeSent b GameCubeMultiBoot_SetInterruptHandler @@ -347,84 +421,91 @@ GameCubeMultiBoot_CheckHandshakeResponse: ldr r2, pool_RubyUSAGameCode cmp r1, r2 bne GcMbIntrHandler_Stop @ stop if the GameCube didn't reply with the same game code - ldrb r1, [r0, 0x3] - strb r1, [r0, 0xB] - adr r2, GcMbIntrHandler_81DCD0C + @ Use the saved VCount value to provide another 8 bits of entropy for KeyB. + ldrb r1, [r0, GCMB_STRUCT_SAVEDVCOUNT] + strb r1, [r0, GCMB_STRUCT_KEYB + 3] + adr r2, GcMbIntrHandler_ReceiveKeyA b GameCubeMultiBoot_SetInterruptHandler .align 2, 0 -GcMbIntrHandler_81DCD0C: @ 81DCD0C +GcMbIntrHandler_ReceiveKeyA: @ 81DCD0C lsrs r1, 1 @ is receive complete? bcc GcMbIntrHandler_Stop @ branch if not ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120] + @ make sure top 8 bits of the received value is the KeyA magic number, stop if KeyA is invalid lsrs r2, r1, 24 - cmp r2, 0xDD + cmp r2, GCMB_MAGIC_KEYA bne GcMbIntrHandler_Stop - str r1, [r0, 0x4] - ldrb r1, [r0, 0x1] - strb r1, [r0, 0xA] + @ save received KeyA + str r1, [r0, GCMB_STRUCT_KEYA] + @ use the second GameCubeMultiBoot_Main() counter as another 8 bits of entropy for KeyB + ldrb r1, [r0, GCMB_STRUCT_COUNTER2] + strb r1, [r0, GCMB_STRUCT_KEYB + 2] movs r2, 0 movs r3, 0 - ldr r1, [r0, 0x8] + ldr r1, [r0, GCMB_STRUCT_KEYB] lsrs r1, 8 -_081DCD26: + @ make sure KeyB is valid (other side of the link is supposed to check KeyB too), if it's not then change the byte that was just set so it is +GameCubeMultiBoot_KeyBCheckLoop: lsrs r1, 1 adcs r2, r3 cmp r1, 0 - bne _081DCD26 + bne GameCubeMultiBoot_KeyBCheckLoop cmp r2, 0xE - bgt _081DCD38 + bgt GameCubeMultiBoot_KeyBSaveNewByte cmp r2, 0x7 - bge _081DCD3A + bge GameCubeMultiBoot_KeyBCheckEnd movs r1, 0xFF -_081DCD38: - strb r1, [r0, 0xA] -_081DCD3A: - ldr r1, [r0, 0x8] - adds r1, 0xEE +GameCubeMultiBoot_KeyBSaveNewByte: + strb r1, [r0, GCMB_STRUCT_KEYB + 2] +GameCubeMultiBoot_KeyBCheckEnd: + @ add in the KeyB magic number and send off KeyB + ldr r1, [r0, GCMB_STRUCT_KEYB] + adds r1, GCMB_MAGIC_KEYB ldr r3, pool_SerialRegs str r1, [r3, OFFSET_REG_JOY_TRANS - 0x120] movs r1, 0x30 strh r1, [r3, OFFSET_REG_JOYSTAT - 0x120] - adr r2, GcMbIntrHandler_81DCD4C + @ set new interrupt handler + adr r2, GcMbIntrHandler_CheckKeyBSent b GameCubeMultiBoot_SetInterruptHandler .align 2, 0 -GcMbIntrHandler_81DCD4C: @ 81DCD4C +GcMbIntrHandler_CheckKeyBSent: @ 81DCD4C lsls r1, 31 bcc GcMbIntrHandler_Stop @ stop if send failed - bmi _081DCD5C @ branch if receive is complete - adr r2, GcMbIntrHandler_81DCD58 + bmi GameCubeMultiBoot_CheckImageSizeResponse @ branch if receive is complete + adr r2, GcMbIntrHandler_CheckImageSizeResponse b GameCubeMultiBoot_SetInterruptHandler .align 2, 0 -GcMbIntrHandler_81DCD58: @ 81DCD58 +GcMbIntrHandler_CheckImageSizeResponse: @ 81DCD58 lsrs r1, 1 @ is receive complete? bcc GcMbIntrHandler_Stop @ branch if not -_081DCD5C: +GameCubeMultiBoot_CheckImageSizeResponse: ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120] - ldr r2, _081DCDFC + ldr r2, GameCubeMultiBoot_MaximumImageSizeUInt32s cmp r1, r2 bhs GcMbIntrHandler_Stop adds r1, 0x1 adds r1, r1 - strh r1, [r0, 0x12] - ldrb r1, [r0, 0x2] + strh r1, [r0, GCMB_STRUCT_IMAGE_SIZE] + ldrb r1, [r0, GCMB_STRUCT_MBPROGRESS] cmp r1, 0 -_081DCD6E: +GcMbIntrHandler_StopIfNotEqual: bne GcMbIntrHandler_Stop ldr r1, pool_MultiBootLoadAddr str r1, [r0, GCMB_STRUCT_BASE_DEST_PTR] str r1, [r0, GCMB_STRUCT_CUR_DEST_PTR] - adr r2, GcMbIntrHandler_81DCD7C + adr r2, GcMbIntrHandler_CheckImageResponse b GameCubeMultiBoot_SetInterruptHandler .align 2, 0 -GcMbIntrHandler_81DCD7C: @ 81DCD7C +GcMbIntrHandler_CheckImageResponse: @ 81DCD7C lsrs r1, 1 @ is receive complete? bcc GcMbIntrHandler_Stop @ branch if not ldr r2, [r0, GCMB_STRUCT_CUR_DEST_PTR] @@ -433,63 +514,73 @@ GcMbIntrHandler_81DCD7C: @ 81DCD7C adds r1, 0x8 lsls r1, 2 strh r1, [r3, OFFSET_REG_JOYSTAT - 0x120] + @ get the recieved uint32 ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120] + @ put it in the current destination pointer and advance that pointer stm r2!, {r1} + @ save off the advanced pointer str r2, [r0, GCMB_STRUCT_CUR_DEST_PTR] - ldrh r1, [r0, 0x12] + @ decrease the image size (in uint32s) + ldrh r1, [r0, GCMB_STRUCT_IMAGE_SIZE] subs r1, 0x1 - strh r1, [r0, 0x12] + strh r1, [r0, GCMB_STRUCT_IMAGE_SIZE] + @ branch away if the transfer is not yet complete bne GameCubeMultiBoot_ReadVCount -_081DCD9A: - ldrb r1, [r0, 0x1] +GcMbIntrHandler_SendCounter2: + @ send counter2 with magic number + ldrb r1, [r0, GCMB_STRUCT_COUNTER2] lsls r1, 8 - adds r1, 0xCC + adds r1, GCMB_MAGIC_COUNTER2 str r1, [r3, OFFSET_REG_JOY_TRANS - 0x120] - adr r2, _081DCDA8 + adr r2, GcMbIntrHandler_CheckCounter2Sent b GameCubeMultiBoot_SetInterruptHandler .align 2, 0 -_081DCDA8: +GcMbIntrHandler_CheckCounter2Sent: lsls r1, 31 -_081DCDAA: - bcc GcMbIntrHandler_Stop - ldr r1, [r0, 0x1C] +GcMbIntrHandler_StopIfSendFailed: + bcc GcMbIntrHandler_Stop @ stop if send failed + @ if KeyC derivation value has not yet been generated, send Counter2 again, otherwise, send KeyC derivation + ldr r1, [r0, GCMB_STRUCT_KEYC_DERIVATION] cmp r1, 0 - beq _081DCD9A + beq GcMbIntrHandler_SendCounter2 str r1, [r3, OFFSET_REG_JOY_TRANS - 0x120] - adr r2, GcMbIntrHandler_81DCDB8 + adr r2, GcMbIntrHandler_CheckKeyCDerivationSent b GameCubeMultiBoot_SetInterruptHandler .align 2, 0 -GcMbIntrHandler_81DCDB8: @ 81DCDB8 +GcMbIntrHandler_CheckKeyCDerivationSent: @ 81DCDB8 lsls r1, 31 - bcc _081DCDAA @ branch if send failed - bmi _081DCDC8 @ branch if receive is complete - adr r2, GcMbIntrHandler_81DCDC4 + bcc GcMbIntrHandler_StopIfSendFailed @ branch if send failed + bmi GameCubeMultiBoot_CheckBootKeyResponse @ branch if receive is complete + adr r2, GcMbIntrHandler_CheckBootKeyResponse b GameCubeMultiBoot_SetInterruptHandler .align 2, 0 -GcMbIntrHandler_81DCDC4: @ 81DCDC4 +GcMbIntrHandler_CheckBootKeyResponse: @ 81DCDC4 lsrs r1, 1 @ is receive complete? - bcc _081DCDAA @ branch if not + bcc GcMbIntrHandler_StopIfSendFailed @ branch if not -_081DCDC8: +GameCubeMultiBoot_CheckBootKeyResponse: ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120] + @ make sure received boot key contains expected magic number, stop if not lsrs r2, r1, 24 - cmp r2, 0xBB - bne _081DCD6E - strh r1, [r0, 0x10] - adr r2, GcMbIntrHandler_81DCDD8 + cmp r2, GCMB_MAGIC_BOOTKEY + bne GcMbIntrHandler_StopIfNotEqual + @ save received bootkey to be checked in GameCubeMultiBoot_Main() + strh r1, [r0, GCMB_STRUCT_BOOT_KEY] + @ stop if anything more gets sent + adr r2, GcMbIntrHandler_StopUnconditionally b GameCubeMultiBoot_SetInterruptHandler .align 2, 0 -GcMbIntrHandler_81DCDD8: @ 81DCDD8 +GcMbIntrHandler_StopUnconditionally: @ 81DCDD8 b GcMbIntrHandler_Stop thumb_func_end GameCubeMultiBoot_HandleSerialInterrupt @@ -535,7 +626,7 @@ GameCubeMultiBoot_Quit: @ 81DCDDA .align 2, 0 -_081DCDFC: .4byte 0x00004000 +GameCubeMultiBoot_MaximumImageSizeUInt32s: .4byte 0x00004000 pool_InterruptRegs: .4byte REG_BASE + 0x200 diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc index 38a44ddfb..679e30340 100644 --- a/asm/macros/battle_ai_script.inc +++ b/asm/macros/battle_ai_script.inc @@ -1,21 +1,24 @@ - .macro if_random percent, address + .macro if_random_less_than percent, address .byte 0x00 .byte \percent .4byte \address .endm - .macro if_not_random percent, address + @ unused + .macro if_random_greater_than percent, address .byte 0x01 .byte \percent .4byte \address .endm - .macro if_random_1 address + @ unused + .macro if_random_equal address .byte 0x02 .4byte \address .endm - .macro if_not_random_1 address + @ unused + .macro if_random_not_equal address .byte 0x03 .4byte \address .endm @@ -212,7 +215,8 @@ .byte \byte .endm - .macro ai_23 + @ unused + .macro get_move_power .byte 0x23 .endm @@ -225,14 +229,17 @@ .byte \target .endm - .macro if_type type, address + .macro if_arg_equal type, address .byte 0x26 .byte \type .4byte \address .endm - .macro ai_27 + @ unused + .macro if_arg_not_equal type, address .byte 0x27 + .byte \type + .4byte \address .endm .macro if_would_go_first target, address @@ -247,10 +254,12 @@ .4byte \address .endm + @ nullsub .macro ai_2a .byte 0x2a .endm + @ nullsub .macro ai_2b .byte 0x2b .endm @@ -260,7 +269,8 @@ .byte \target .endm - .macro ai_2d + @ unused + .macro get_considered_move .byte 0x2d .endm @@ -273,7 +283,8 @@ .byte \target .endm - .macro ai_30 + @ unused + .macro get_highest_possible_damage .byte 0x30 .endm @@ -283,10 +294,12 @@ .4byte \address .endm + @ nullsub .macro ai_32 .byte 0x32 .endm + @ nullsub .macro ai_33 .byte 0x33 .endm @@ -364,12 +377,20 @@ .4byte \address .endm - .macro if_has_move + @ unused + .macro if_has_move, target, move, address .byte 0x3f + .byte \target + .2byte \move + .4byte \address .endm - .macro if_dont_have_move + @ unused + .macro if_dont_have_move, target, move, address .byte 0x40 + .byte \target + .2byte \move + .4byte \address .endm .macro if_move_effect target, effect, address @@ -393,8 +414,9 @@ .4byte \address .endm - .macro if_encored address + .macro if_encored target, address .byte 0x44 + .byte \target .4byte \address .endm @@ -402,7 +424,7 @@ .byte 0x45 .endm - .macro if_random_2 address + .macro if_random_100 address .byte 0x46 .4byte \address .endm @@ -440,15 +462,15 @@ .byte \target .endm - .macro get_move_type + .macro get_move_type_from_result .byte 0x4e .endm - .macro get_move_power + .macro get_move_power_from_result .byte 0x4f .endm - .macro get_move_effect + .macro get_move_effect_from_result .byte 0x50 .endm @@ -457,30 +479,37 @@ .byte \target .endm + @ nullsub .macro ai_52 .byte 0x52 .endm + @ nullsub .macro ai_53 .byte 0x53 .endm + @ nullsub .macro ai_54 .byte 0x54 .endm + @ nullsub .macro ai_55 .byte 0x55 .endm + @ nullsub .macro ai_56 .byte 0x56 .endm + @ nullsub .macro ai_57 .byte 0x57 .endm + @ unused .macro call address .byte 0x58 .4byte \address @@ -513,6 +542,7 @@ if_level_cond 2, \address .endm + @ unused .macro if_taunted address .byte 0x5c .4byte \address diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s deleted file mode 100644 index b488e5f73..000000000 --- a/asm/map_name_popup.s +++ /dev/null @@ -1,248 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start unref_sub_80A2F44 -unref_sub_80A2F44: @ 80A2F44 - push {lr} - bl CloseMenu - bl AddMapNamePopUpWindowTask - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end unref_sub_80A2F44 - - thumb_func_start AddMapNamePopUpWindowTask -AddMapNamePopUpWindowTask: @ 80A2F54 - push {r4,r5,lr} - movs r0, 0x80 - lsls r0, 7 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A2FE4 - ldr r4, _080A2FAC @ =sub_80A2FF4 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080A2FBC - adds r0, r4, 0 - movs r1, 0x5A - bl CreateTask - ldr r4, _080A2FB0 @ =gUnknown_02038538 - strb r0, [r4] - ldr r1, _080A2FB4 @ =REG_BG0VOFS - movs r0, 0x20 - strh r0, [r1] - bl sub_80A30E0 - ldr r2, _080A2FB8 @ =gTasks - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r5, [r0, 0x8] - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x20 - strh r1, [r0, 0xC] - b _080A2FE4 - .align 2, 0 -_080A2FAC: .4byte sub_80A2FF4 -_080A2FB0: .4byte gUnknown_02038538 -_080A2FB4: .4byte REG_BG0VOFS -_080A2FB8: .4byte gTasks -_080A2FBC: - ldr r3, _080A2FEC @ =gTasks - ldr r2, _080A2FF0 @ =gUnknown_02038538 - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r4, 0x8 - ldrsh r0, [r1, r4] - cmp r0, 0x2 - beq _080A2FD6 - movs r0, 0x2 - strh r0, [r1, 0x8] -_080A2FD6: - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r0, 0x1 - strh r0, [r1, 0xE] -_080A2FE4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2FEC: .4byte gTasks -_080A2FF0: .4byte gUnknown_02038538 - thumb_func_end AddMapNamePopUpWindowTask - - thumb_func_start sub_80A2FF4 -sub_80A2FF4: @ 80A2FF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r3, _080A3018 @ =gTasks - adds r4, r1, r3 - movs r0, 0x8 - ldrsh r2, [r4, r0] - cmp r2, 0x1 - beq _080A304C - cmp r2, 0x1 - bgt _080A301C - cmp r2, 0 - beq _080A3026 - b _080A3092 - .align 2, 0 -_080A3018: .4byte gTasks -_080A301C: - cmp r2, 0x2 - beq _080A3064 - cmp r2, 0x4 - beq _080A308C - b _080A3092 -_080A3026: - ldrh r0, [r4, 0xC] - subs r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _080A3092 - movs r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, _080A3048 @ =gUnknown_02038538 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r2, [r0, 0xA] - b _080A3092 - .align 2, 0 -_080A3048: .4byte gUnknown_02038538 -_080A304C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _080A3092 - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080A3092 -_080A3064: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - movs r5, 0 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - ble _080A3092 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A3086 - bl sub_80A30E0 - strh r5, [r4, 0x8] - strh r5, [r4, 0xE] - b _080A3092 -_080A3086: - movs r0, 0x4 - strh r0, [r4, 0x8] - b _080A3098 -_080A308C: - bl HideMapNamePopUpWindow - b _080A3098 -_080A3092: - ldr r1, _080A30A0 @ =REG_BG0VOFS - ldrh r0, [r4, 0xC] - strh r0, [r1] -_080A3098: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A30A0: .4byte REG_BG0VOFS - thumb_func_end sub_80A2FF4 - - thumb_func_start HideMapNamePopUpWindow -HideMapNamePopUpWindow: @ 80A30A4 - push {lr} - ldr r0, _080A30D4 @ =sub_80A2FF4 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _080A30D0 - bl MenuLoadTextWindowGraphics - movs r0, 0 - movs r1, 0 - movs r2, 0xD - movs r3, 0x3 - bl MenuZeroFillWindowRect - ldr r1, _080A30D8 @ =REG_BG0VOFS - movs r0, 0 - strh r0, [r1] - ldr r0, _080A30DC @ =gUnknown_02038538 - ldrb r0, [r0] - bl DestroyTask -_080A30D0: - pop {r0} - bx r0 - .align 2, 0 -_080A30D4: .4byte sub_80A2FF4 -_080A30D8: .4byte REG_BG0VOFS -_080A30DC: .4byte gUnknown_02038538 - thumb_func_end HideMapNamePopUpWindow - - thumb_func_start sub_80A30E0 -sub_80A30E0: @ 80A30E0 - push {lr} - sub sp, 0x14 - movs r0, 0 - bl MenuLoadTextWindowGraphics_OverrideFrameType - ldr r0, _080A3114 @ =gMapHeader - ldrb r1, [r0, 0x14] - mov r0, sp - movs r2, 0 - bl sub_80FBFB4 - movs r0, 0 - movs r1, 0 - movs r2, 0xD - movs r3, 0x3 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x60 - bl sub_8072BD8 - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_080A3114: .4byte gMapHeader - thumb_func_end sub_80A30E0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s index 3af0f2b11..90d97e9a4 100644 --- a/asm/mauville_old_man.s +++ b/asm/mauville_old_man.s @@ -6,502 +6,6 @@ .text - thumb_func_start sub_80F7A34 -sub_80F7A34: @ 80F7A34 - push {r4,lr} - ldr r0, _080F7A64 @ =gSaveBlock1 + 0x2D94 - movs r1, 0 - strb r1, [r0] - adds r2, r0, 0 - adds r2, 0x29 - strb r1, [r2] - movs r2, 0 - adds r4, r0, 0x2 - ldr r3, _080F7A68 @ =gUnknown_083E537C -_080F7A48: - lsls r0, r2, 1 - adds r1, r4, r0 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _080F7A48 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F7A64: .4byte gSaveBlock1 + 0x2D94 -_080F7A68: .4byte gUnknown_083E537C - thumb_func_end sub_80F7A34 - - thumb_func_start sub_80F7A6C -sub_80F7A6C: @ 80F7A6C - ldr r0, _080F7A78 @ =gSaveBlock1 + 0x2D94 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - strb r2, [r0, 0x1] - bx lr - .align 2, 0 -_080F7A78: .4byte gSaveBlock1 + 0x2D94 - thumb_func_end sub_80F7A6C - - thumb_func_start sub_80F7A7C -sub_80F7A7C: @ 80F7A7C - push {lr} - bl sub_80F83F8 - pop {r0} - bx r0 - thumb_func_end sub_80F7A7C - - thumb_func_start sub_80F7A88 -sub_80F7A88: @ 80F7A88 - ldr r0, _080F7A94 @ =gSaveBlock1 + 0x2D94 - movs r2, 0 - movs r1, 0x4 - strb r1, [r0] - strb r2, [r0, 0x1] - bx lr - .align 2, 0 -_080F7A94: .4byte gSaveBlock1 + 0x2D94 - thumb_func_end sub_80F7A88 - - thumb_func_start sub_80F7A98 -sub_80F7A98: @ 80F7A98 - push {lr} - bl sub_81099CC - pop {r0} - bx r0 - thumb_func_end sub_80F7A98 - - thumb_func_start sub_80F7AA4 -sub_80F7AA4: @ 80F7AA4 - push {lr} - ldr r0, _080F7AC8 @ =gSaveBlock2 - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 17 - cmp r0, 0x4 - bhi _080F7B00 - lsls r0, 2 - ldr r1, _080F7ACC @ =_080F7AD0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F7AC8: .4byte gSaveBlock2 -_080F7ACC: .4byte _080F7AD0 - .align 2, 0 -_080F7AD0: - .4byte _080F7AE4 - .4byte _080F7AEA - .4byte _080F7AF0 - .4byte _080F7AF6 - .4byte _080F7AFC -_080F7AE4: - bl sub_80F7A34 - b _080F7B00 -_080F7AEA: - bl sub_80F7A6C - b _080F7B00 -_080F7AF0: - bl sub_80F7A98 - b _080F7B00 -_080F7AF6: - bl sub_80F7A7C - b _080F7B00 -_080F7AFC: - bl sub_80F7A88 -_080F7B00: - bl sub_80F83D0 - pop {r0} - bx r0 - thumb_func_end sub_80F7AA4 - - thumb_func_start GetCurrentMauvilleOldMan -GetCurrentMauvilleOldMan: @ 80F7B08 - ldr r0, _080F7B10 @ =gSaveBlock1 + 0x2D94 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080F7B10: .4byte gSaveBlock1 + 0x2D94 - thumb_func_end GetCurrentMauvilleOldMan - - thumb_func_start sub_80F7B14 -sub_80F7B14: @ 80F7B14 - push {r4,lr} - ldr r4, _080F7B28 @ =gScriptResult - bl GetCurrentMauvilleOldMan - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F7B28: .4byte gScriptResult - thumb_func_end sub_80F7B14 - - thumb_func_start sub_80F7B2C -sub_80F7B2C: @ 80F7B2C - ldr r0, _080F7B38 @ =gScriptResult - ldr r1, _080F7B3C @ =gSaveBlock1 + 0x2D94 - adds r1, 0x29 - ldrb r1, [r1] - strh r1, [r0] - bx lr - .align 2, 0 -_080F7B38: .4byte gScriptResult -_080F7B3C: .4byte gSaveBlock1 + 0x2D94 - thumb_func_end sub_80F7B2C - - thumb_func_start sub_80F7B40 -sub_80F7B40: @ 80F7B40 - push {r4,r5,lr} - ldr r5, _080F7B98 @ =gSaveBlock1 + 0x2D94 - adds r0, r5, 0 - adds r0, 0x1A - ldr r4, _080F7B9C @ =gSaveBlock2 - adds r1, r4, 0 - bl StringCopy - movs r2, 0 - adds r3, r5, 0 - adds r3, 0x25 - adds r4, 0xA -_080F7B58: - adds r1, r3, r2 - adds r0, r2, r4 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x3 - bls _080F7B58 - movs r2, 0 - movs r0, 0x29 - adds r0, r5 - mov r12, r0 - adds r4, r5, 0x2 - adds r3, r5, 0 - adds r3, 0xE -_080F7B78: - lsls r0, r2, 1 - adds r1, r4, r0 - adds r0, r3, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _080F7B78 - movs r0, 0x1 - mov r1, r12 - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F7B98: .4byte gSaveBlock1 + 0x2D94 -_080F7B9C: .4byte gSaveBlock2 - thumb_func_end sub_80F7B40 - - thumb_func_start sub_80F7BA0 -sub_80F7BA0: @ 80F7BA0 - push {r4-r7,lr} - ldr r1, _080F7C48 @ =gSaveBlock1 + 0x2D94 - ldr r0, _080F7C4C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r5, r1, 0 - adds r5, 0xE - cmp r0, 0 - bne _080F7BB2 - adds r5, r1, 0x2 -_080F7BB2: - ldr r2, _080F7C50 @ =gStringVar4 - adds r4, r2, 0 - movs r6, 0 -_080F7BB8: - ldrh r1, [r5] - adds r5, 0x2 - adds r0, r2, 0 - bl sub_80EB3FC - adds r2, r0, 0 - adds r7, r6, 0x1 - cmp r2, r4 - beq _080F7BDA - movs r1, 0x37 -_080F7BCC: - ldrb r0, [r4] - cmp r0, 0 - bne _080F7BD4 - strb r1, [r4] -_080F7BD4: - adds r4, 0x1 - cmp r2, r4 - bne _080F7BCC -_080F7BDA: - adds r4, 0x1 - movs r0, 0 - strb r0, [r2] - adds r2, 0x1 - ldrh r1, [r5] - adds r5, 0x2 - adds r0, r2, 0 - bl sub_80EB3FC - adds r2, r0, 0 - cmp r2, r4 - beq _080F7C02 - movs r1, 0x37 -_080F7BF4: - ldrb r0, [r4] - cmp r0, 0 - bne _080F7BFC - strb r1, [r4] -_080F7BFC: - adds r4, 0x1 - cmp r2, r4 - bne _080F7BF4 -_080F7C02: - adds r4, 0x1 - movs r0, 0xFE - strb r0, [r2] - adds r2, 0x1 - ldrh r1, [r5] - adds r5, 0x2 - adds r0, r2, 0 - bl sub_80EB3FC - adds r2, r0, 0 - cmp r2, r4 - beq _080F7C2A - movs r1, 0x37 -_080F7C1C: - ldrb r0, [r4] - cmp r0, 0 - bne _080F7C24 - strb r1, [r4] -_080F7C24: - adds r4, 0x1 - cmp r2, r4 - bne _080F7C1C -_080F7C2A: - cmp r6, 0 - bne _080F7C3A - movs r0, 0xFC - strb r0, [r2] - adds r2, 0x1 - movs r0, 0xF - strb r0, [r2] - adds r2, 0x1 -_080F7C3A: - lsls r0, r7, 16 - lsrs r6, r0, 16 - cmp r6, 0x1 - bls _080F7BB8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F7C48: .4byte gSaveBlock1 + 0x2D94 -_080F7C4C: .4byte gSpecialVar_0x8004 -_080F7C50: .4byte gStringVar4 - thumb_func_end sub_80F7BA0 - - thumb_func_start sub_80F7C54 -sub_80F7C54: @ 80F7C54 - push {lr} - ldr r0, _080F7C6C @ =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_80F7F80 - bl MenuDisplayMessageBox - bl ScriptContext1_Stop - pop {r0} - bx r0 - .align 2, 0 -_080F7C6C: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80F7C54 - - thumb_func_start sub_80F7C70 -sub_80F7C70: @ 80F7C70 - ldr r0, _080F7C7C @ =gScriptResult - ldr r1, _080F7C80 @ =gSaveBlock1 + 0x2D94 - ldrb r1, [r1, 0x1] - strh r1, [r0] - bx lr - .align 2, 0 -_080F7C7C: .4byte gScriptResult -_080F7C80: .4byte gSaveBlock1 + 0x2D94 - thumb_func_end sub_80F7C70 - - thumb_func_start sub_80F7C84 -sub_80F7C84: @ 80F7C84 - ldr r1, _080F7C8C @ =gSaveBlock1 + 0x2D94 - movs r0, 0x1 - strb r0, [r1, 0x1] - bx lr - .align 2, 0 -_080F7C8C: .4byte gSaveBlock1 + 0x2D94 - thumb_func_end sub_80F7C84 - - thumb_func_start sub_80F7C90 -sub_80F7C90: @ 80F7C90 - push {lr} - bl sub_80EB8EC - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _080F7CA8 @ =0x0000ffff - cmp r1, r0 - bne _080F7CB0 - ldr r1, _080F7CAC @ =gScriptResult - movs r0, 0 - b _080F7CBA - .align 2, 0 -_080F7CA8: .4byte 0x0000ffff -_080F7CAC: .4byte gScriptResult -_080F7CB0: - ldr r0, _080F7CC0 @ =gStringVar1 - bl sub_80EB3FC - ldr r1, _080F7CC4 @ =gScriptResult - movs r0, 0x1 -_080F7CBA: - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080F7CC0: .4byte gStringVar1 -_080F7CC4: .4byte gScriptResult - thumb_func_end sub_80F7C90 - - thumb_func_start sub_80F7CC8 -sub_80F7CC8: @ 80F7CC8 - push {lr} - ldr r2, _080F7CDC @ =gSaveBlock1 + 0x2D94 - ldrb r0, [r2, 0x1] - cmp r0, 0xA - bne _080F7CE4 - ldr r1, _080F7CE0 @ =gScriptResult - movs r0, 0 - strh r0, [r1] - strb r0, [r2, 0x1] - b _080F7CEA - .align 2, 0 -_080F7CDC: .4byte gSaveBlock1 + 0x2D94 -_080F7CE0: .4byte gScriptResult -_080F7CE4: - ldr r1, _080F7CF0 @ =gScriptResult - movs r0, 0x1 - strh r0, [r1] -_080F7CEA: - pop {r0} - bx r0 - .align 2, 0 -_080F7CF0: .4byte gScriptResult - thumb_func_end sub_80F7CC8 - - thumb_func_start sub_80F7CF4 -sub_80F7CF4: @ 80F7CF4 - push {r4-r6,lr} - ldr r5, _080F7D50 @ =gSaveBlock1 + 0x2D94 - ldrb r0, [r5, 0x1] - cmp r0, 0 - bne _080F7D02 - bl sub_80F7DC0 -_080F7D02: - ldrb r0, [r5, 0x1] - lsls r0, 1 - adds r6, r5, 0x4 - adds r0, r6 - ldrh r1, [r0] - ldr r0, _080F7D54 @ =0x0000ffff - cmp r1, r0 - beq _080F7D68 - bl Random - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x7 - ands r4, r0 - ldr r0, _080F7D58 @ =gStringVar4 - ldrb r1, [r5, 0x1] - lsls r1, 1 - adds r1, r6 - ldrh r1, [r1] - bl sub_80EB3FC - adds r2, r0, 0 - ldr r1, _080F7D5C @ =gOtherText_Is - bl StringCopy - adds r2, r0, 0 - ldr r0, _080F7D60 @ =gUnknown_083E5388 - lsls r4, 2 - adds r4, r0 - ldr r1, [r4] - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - ldr r1, _080F7D64 @ =gOtherText_DontYouAgree - bl StringCopy - b _080F7D88 - .align 2, 0 -_080F7D50: .4byte gSaveBlock1 + 0x2D94 -_080F7D54: .4byte 0x0000ffff -_080F7D58: .4byte gStringVar4 -_080F7D5C: .4byte gOtherText_Is -_080F7D60: .4byte gUnknown_083E5388 -_080F7D64: .4byte gOtherText_DontYouAgree -_080F7D68: - ldr r0, _080F7DA0 @ =gStringVar4 - ldr r3, _080F7DA4 @ =gUnknown_083E53A8 - ldrb r1, [r5, 0x2] - adds r2, r1, 0x1 - strb r2, [r5, 0x2] - lsls r1, 24 - lsrs r1, 24 - adds r2, r5, 0 - adds r2, 0x18 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl StringCopy -_080F7D88: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _080F7DA8 - movs r0, 0xA - b _080F7DAC - .align 2, 0 -_080F7DA0: .4byte gStringVar4 -_080F7DA4: .4byte gUnknown_083E53A8 -_080F7DA8: - ldrb r0, [r5, 0x1] - adds r0, 0x1 -_080F7DAC: - strb r0, [r5, 0x1] - ldr r1, _080F7DBC @ =gScriptResult - movs r0, 0x1 - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F7DBC: .4byte gScriptResult - thumb_func_end sub_80F7CF4 - thumb_func_start sub_80F7DC0 sub_80F7DC0: @ 80F7DC0 push {r4-r7,lr} diff --git a/asm/name_string_util.s b/asm/name_string_util.s deleted file mode 100644 index 3fcfd89d9..000000000 --- a/asm/name_string_util.s +++ /dev/null @@ -1,76 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start PadNameString -PadNameString: @ 814A518 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl StripExtCtrlCodes - adds r0, r4, 0 - bl StringLength - lsls r0, 24 - lsrs r1, r0, 24 - cmp r5, 0xFC - bne _0814A556 - cmp r1, 0x5 - bhi _0814A55A - movs r3, 0xFC - movs r2, 0x7 -_0814A53A: - adds r0, r4, r1 - strb r3, [r0] - strb r2, [r0, 0x1] - adds r0, r1, 0x2 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x5 - bls _0814A53A - b _0814A55A -_0814A54C: - adds r0, r4, r1 - strb r5, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 -_0814A556: - cmp r1, 0x5 - bls _0814A54C -_0814A55A: - adds r1, r4, r1 - movs r0, 0xFF - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end PadNameString - - thumb_func_start SanitizeNameString -SanitizeNameString: @ 814A568 - push {r4,lr} - adds r4, r0, 0 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _0814A582 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString - b _0814A588 -_0814A582: - adds r0, r4, 0 - bl StripExtCtrlCodes -_0814A588: - pop {r4} - pop {r0} - bx r0 - thumb_func_end SanitizeNameString - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/naming_screen.s b/asm/naming_screen.s deleted file mode 100644 index aeec1b4bc..000000000 --- a/asm/naming_screen.s +++ /dev/null @@ -1,4331 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start DoNamingScreen -DoNamingScreen: @ 80B59CC - push {r4,r5,lr} - sub sp, 0x8 - ldr r4, [sp, 0x14] - ldr r5, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - str r4, [sp] - str r5, [sp, 0x4] - bl AddNamingScreenTask - ldr r0, _080B59F8 @ =C2_NamingScreen - bl SetMainCallback2 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B59F8: .4byte C2_NamingScreen - thumb_func_end DoNamingScreen - - thumb_func_start C2_NamingScreen -C2_NamingScreen: @ 80B59FC - push {lr} - ldr r0, _080B5A14 @ =gMain - ldr r1, _080B5A18 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x7 - bhi _080B5A96 - lsls r0, 2 - ldr r1, _080B5A1C @ =_080B5A20 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080B5A14: .4byte gMain -_080B5A18: .4byte 0x0000043c -_080B5A1C: .4byte _080B5A20 - .align 2, 0 -_080B5A20: - .4byte _080B5A40 - .4byte _080B5A4A - .4byte _080B5A50 - .4byte _080B5A56 - .4byte _080B5A5C - .4byte _080B5A62 - .4byte _080B5A68 - .4byte _080B5A84 -_080B5A40: - bl NamingScreen_TurnOffScreen - bl NamingScreen_Init - b _080B5A6C -_080B5A4A: - bl NamingScreen_ClearVram - b _080B5A6C -_080B5A50: - bl NamingScreen_ClearOam - b _080B5A6C -_080B5A56: - bl NamingScreen_SetUpVideoRegs - b _080B5A6C -_080B5A5C: - bl sub_80B5DC8 - b _080B5A6C -_080B5A62: - bl NamingScreen_ResetObjects - b _080B5A6C -_080B5A68: - bl sub_80B5DFC -_080B5A6C: - ldr r1, _080B5A7C @ =gMain - ldr r0, _080B5A80 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080B5A96 - .align 2, 0 -_080B5A7C: .4byte gMain -_080B5A80: .4byte 0x0000043c -_080B5A84: - bl sub_80B5E20 - bl sub_80B5E3C - bl sub_80B5C04 - ldr r0, _080B5A9C @ =sub_80B5AA0 - bl SetMainCallback2 -_080B5A96: - pop {r0} - bx r0 - .align 2, 0 -_080B5A9C: .4byte sub_80B5AA0 - thumb_func_end C2_NamingScreen - - thumb_func_start sub_80B5AA0 -sub_80B5AA0: @ 80B5AA0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80B5AA0 - - thumb_func_start sub_80B5AB8 -sub_80B5AB8: @ 80B5AB8 - push {r4,lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r1, _080B5B00 @ =REG_BG1VOFS - ldr r4, _080B5B04 @ =0x02000000 - ldrh r0, [r4, 0x4] - strh r0, [r1] - adds r1, 0x4 - ldrh r0, [r4, 0x6] - strh r0, [r1] - ldr r2, _080B5B08 @ =REG_BG1CNT - ldrh r1, [r2] - ldr r3, _080B5B0C @ =0x0000fffc - adds r0, r3, 0 - ands r0, r1 - strh r0, [r2] - ldrh r0, [r2] - ldrh r1, [r4, 0x8] - orrs r0, r1 - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r2] - ands r3, r0 - strh r3, [r2] - ldrh r0, [r2] - ldrh r1, [r4, 0xA] - orrs r0, r1 - strh r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B5B00: .4byte REG_BG1VOFS -_080B5B04: .4byte 0x02000000 -_080B5B08: .4byte REG_BG1CNT -_080B5B0C: .4byte 0x0000fffc - thumb_func_end sub_80B5AB8 - - thumb_func_start AddNamingScreenTask -AddNamingScreenTask: @ 80B5B10 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r0 - mov r9, r1 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r7, [sp, 0x1C] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - ldr r0, _080B5B74 @ =NamingScreenDummyTask - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080B5B78 @ =gTasks - adds r4, r0 - mov r0, r8 - strh r0, [r4, 0x8] - strh r5, [r4, 0xA] - strh r6, [r4, 0xC] - lsrs r0, r7, 16 - strh r0, [r4, 0xE] - strh r7, [r4, 0x10] - adds r0, r4, 0 - adds r0, 0x12 - mov r1, r9 - bl StoreWordInTwoHalfwords - adds r4, 0x16 - adds r0, r4, 0 - ldr r1, [sp, 0x20] - bl StoreWordInTwoHalfwords - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B5B74: .4byte NamingScreenDummyTask -_080B5B78: .4byte gTasks - thumb_func_end AddNamingScreenTask - - thumb_func_start GetNamingScreenParameters -GetNamingScreenParameters: @ 80B5B7C - push {r4-r6,lr} - ldr r0, _080B5BD8 @ =NamingScreenDummyTask - bl FindTaskIdByFunc - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _080B5BDC @ =gTasks - adds r4, r0 - ldr r6, _080B5BE0 @ =0x02000000 - ldrh r0, [r4, 0x8] - strb r0, [r6, 0x1] - ldrh r0, [r4, 0xA] - strh r0, [r6, 0x3E] - ldrh r1, [r4, 0xC] - adds r0, r6, 0 - adds r0, 0x40 - strh r1, [r0] - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r0, 16 - ldrh r1, [r4, 0x10] - orrs r0, r1 - str r0, [r6, 0x44] - adds r0, r4, 0 - adds r0, 0x12 - adds r1, r6, 0 - adds r1, 0x38 - bl LoadWordFromTwoHalfwords - adds r4, 0x16 - adds r1, r6, 0 - adds r1, 0x48 - adds r0, r4, 0 - bl LoadWordFromTwoHalfwords - adds r0, r5, 0 - bl DestroyTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B5BD8: .4byte NamingScreenDummyTask -_080B5BDC: .4byte gTasks -_080B5BE0: .4byte 0x02000000 - thumb_func_end GetNamingScreenParameters - - thumb_func_start NamingScreenDummyTask -NamingScreenDummyTask: @ 80B5BE4 - bx lr - thumb_func_end NamingScreenDummyTask - - thumb_func_start NamingScreen_TurnOffScreen -NamingScreen_TurnOffScreen: @ 80B5BE8 - push {lr} - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - pop {r0} - bx r0 - thumb_func_end NamingScreen_TurnOffScreen - - thumb_func_start sub_80B5C04 -sub_80B5C04: @ 80B5C04 - push {r4,lr} - ldr r0, _080B5C3C @ =sub_80B5AB8 - bl SetVBlankCallback - ldr r3, _080B5C40 @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _080B5C44 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _080B5C48 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B5C3C: .4byte sub_80B5AB8 -_080B5C40: .4byte 0x04000208 -_080B5C44: .4byte 0x04000200 -_080B5C48: .4byte REG_DISPSTAT - thumb_func_end sub_80B5C04 - - thumb_func_start NamingScreen_ClearVram -NamingScreen_ClearVram: @ 80B5C4C - push {r4-r7,lr} - sub sp, 0x4 - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0x80 - lsls r3, 9 - mov r4, sp - movs r6, 0 - ldr r1, _080B5C98 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _080B5C9C @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080B5C6A: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _080B5C6A - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B5C98: .4byte 0x040000d4 -_080B5C9C: .4byte 0x81000800 - thumb_func_end NamingScreen_ClearVram - - thumb_func_start NamingScreen_ClearOam -NamingScreen_ClearOam: @ 80B5CA0 - sub sp, 0x4 - movs r2, 0xE0 - lsls r2, 19 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r0, _080B5CBC @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _080B5CC0 @ =0x81000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - add sp, 0x4 - bx lr - .align 2, 0 -_080B5CBC: .4byte 0x040000d4 -_080B5CC0: .4byte 0x81000200 - thumb_func_end NamingScreen_ClearOam - - thumb_func_start NamingScreen_SetUpVideoRegs -NamingScreen_SetUpVideoRegs: @ 80B5CC4 - push {r4,r5,lr} - ldr r5, _080B5D2C @ =REG_BG0CNT - movs r1, 0 - strh r1, [r5] - ldr r2, _080B5D30 @ =REG_BG1CNT - strh r1, [r2] - ldr r3, _080B5D34 @ =REG_BG2CNT - strh r1, [r3] - ldr r4, _080B5D38 @ =REG_BG3CNT - strh r1, [r4] - ldr r0, _080B5D3C @ =REG_BG0HOFS - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - movs r1, 0xF8 - lsls r1, 5 - adds r0, r1, 0 - strh r0, [r5] - ldr r1, _080B5D40 @ =0x00001c01 - adds r0, r1, 0 - strh r0, [r2] - ldr r2, _080B5D44 @ =0x00001d0a - adds r0, r2, 0 - strh r0, [r3] - ldr r1, _080B5D48 @ =0x00001e03 - adds r0, r1, 0 - strh r0, [r4] - ldr r1, _080B5D4C @ =REG_BLDCNT - movs r2, 0xC8 - lsls r2, 3 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _080B5D50 @ =0x0000080c - adds r0, r2, 0 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B5D2C: .4byte REG_BG0CNT -_080B5D30: .4byte REG_BG1CNT -_080B5D34: .4byte REG_BG2CNT -_080B5D38: .4byte REG_BG3CNT -_080B5D3C: .4byte REG_BG0HOFS -_080B5D40: .4byte 0x00001c01 -_080B5D44: .4byte 0x00001d0a -_080B5D48: .4byte 0x00001e03 -_080B5D4C: .4byte REG_BLDCNT -_080B5D50: .4byte 0x0000080c - thumb_func_end NamingScreen_SetUpVideoRegs - - thumb_func_start NamingScreen_Init -NamingScreen_Init: @ 80B5D54 - push {r4-r6,lr} - bl GetNamingScreenParameters - ldr r4, _080B5DBC @ =0x02000000 - movs r0, 0 - strb r0, [r4] - movs r2, 0 - strh r0, [r4, 0x4] - strh r0, [r4, 0x6] - movs r1, 0x1 - movs r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x2 - strh r0, [r4, 0xA] - strb r2, [r4, 0xC] - strb r1, [r4, 0xD] - ldr r1, _080B5DC0 @ =gUnknown_083CE398 - ldrb r0, [r4, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r4, 0x34] - ldrb r1, [r0, 0x4] - strb r1, [r4, 0xE] - ldrb r1, [r0, 0x1] - lsrs r1, 1 - movs r0, 0xE - subs r0, r1 - strh r0, [r4, 0x2] - ldr r6, _080B5DC4 @ =gKeyRepeatStartDelay - ldrh r0, [r6] - strh r0, [r4, 0x3C] - adds r5, r4, 0 - adds r5, 0x11 - adds r0, r5, 0 - movs r1, 0xFF - movs r2, 0x10 - bl memset - ldr r0, [r4, 0x34] - ldrb r0, [r0] - cmp r0, 0 - beq _080B5DB2 - ldr r1, [r4, 0x38] - adds r0, r5, 0 - bl StringCopy -_080B5DB2: - movs r0, 0x10 - strh r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B5DBC: .4byte 0x02000000 -_080B5DC0: .4byte gUnknown_083CE398 -_080B5DC4: .4byte gKeyRepeatStartDelay - thumb_func_end NamingScreen_Init - - thumb_func_start sub_80B5DC8 -sub_80B5DC8: @ 80B5DC8 - push {r4,lr} - ldr r4, _080B5DE0 @ =gWindowConfig_81E6E88 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B5DE0: .4byte gWindowConfig_81E6E88 - thumb_func_end sub_80B5DC8 - - thumb_func_start NamingScreen_ResetObjects -NamingScreen_ResetObjects: @ 80B5DE4 - push {lr} - bl ResetPaletteFade - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - pop {r0} - bx r0 - thumb_func_end NamingScreen_ResetObjects - - thumb_func_start sub_80B5DFC -sub_80B5DFC: @ 80B5DFC - push {lr} - bl sub_80B7558 - bl sub_80B753C - bl sub_80B7680 - bl sub_80B75C4 - bl sub_80B7794 - bl sub_80B78A8 - bl sub_80B7960 - pop {r0} - bx r0 - thumb_func_end sub_80B5DFC - - thumb_func_start sub_80B5E20 -sub_80B5E20: @ 80B5E20 - push {lr} - bl sub_80B6774 - bl sub_80B6A80 - bl sub_80B6CA8 - bl sub_80B6D04 - bl sub_80B6E44 - pop {r0} - bx r0 - thumb_func_end sub_80B5E20 - - thumb_func_start sub_80B5E3C -sub_80B5E3C: @ 80B5E3C - push {lr} - bl sub_80B61D8 - bl sub_80B6438 - bl sub_80B5E50 - pop {r0} - bx r0 - thumb_func_end sub_80B5E3C - - thumb_func_start sub_80B5E50 -sub_80B5E50: @ 80B5E50 - push {r4,lr} - ldr r4, _080B5E6C @ =sub_80B5E70 - adds r0, r4, 0 - movs r1, 0x2 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B5E6C: .4byte sub_80B5E70 - thumb_func_end sub_80B5E50 - - thumb_func_start sub_80B5E70 -sub_80B5E70: @ 80B5E70 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r7, _080B5E9C @ =gUnknown_083CE218 - lsls r1, r0, 2 - adds r1, r0 - lsls r4, r1, 3 - ldr r6, _080B5EA0 @ =0x02000000 - ldr r5, _080B5EA4 @ =gTasks -_080B5E82: - ldrb r0, [r6] - lsls r0, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r4, r5 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080B5E82 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B5E9C: .4byte gUnknown_083CE218 -_080B5EA0: .4byte 0x02000000 -_080B5EA4: .4byte gTasks - thumb_func_end sub_80B5E70 - - thumb_func_start sub_80B5EA8 -sub_80B5EA8: @ 80B5EA8 - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _080B5ECC @ =0x02000000 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_080B5ECC: .4byte 0x02000000 - thumb_func_end sub_80B5EA8 - - thumb_func_start sub_80B5ED0 -sub_80B5ED0: @ 80B5ED0 - push {lr} - ldr r0, _080B5EF8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B5EF2 - movs r0, 0x1 - bl sub_80B6210 - movs r0, 0x1 - bl sub_80B68D8 - ldr r1, _080B5EFC @ =0x02000000 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080B5EF2: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080B5EF8: .4byte gPaletteFade -_080B5EFC: .4byte 0x02000000 - thumb_func_end sub_80B5ED0 - - thumb_func_start sub_80B5F00 -sub_80B5F00: @ 80B5F00 - push {lr} - bl sub_80B60B8 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80B5F00 - - thumb_func_start sub_80B5F10 -sub_80B5F10: @ 80B5F10 - push {lr} - bl sub_80B6938 - lsls r0, 24 - cmp r0, 0 - beq _080B5F2C - movs r0, 0x1 - bl sub_80B6210 - bl sub_80B6878 - ldr r1, _080B5F34 @ =0x02000000 - movs r0, 0x2 - strb r0, [r1] -_080B5F2C: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080B5F34: .4byte 0x02000000 - thumb_func_end sub_80B5F10 - - thumb_func_start sub_80B5F38 -sub_80B5F38: @ 80B5F38 - push {lr} - movs r0, 0 - bl sub_80B6210 - bl sub_80B6B14 - bl sub_80B65F0 - movs r0, 0x1 - bl sub_80B6888 - movs r0, 0 - movs r1, 0 - movs r2, 0x1 - bl sub_80B6460 - movs r0, 0x6 - bl PlaySE - ldr r1, _080B5F6C @ =0x02000000 - movs r0, 0x5 - strb r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080B5F6C: .4byte 0x02000000 - thumb_func_end sub_80B5F38 - - thumb_func_start sub_80B5F70 -sub_80B5F70: @ 80B5F70 - push {r4,r5,lr} - sub sp, 0x4 - bl sub_80B6610 - lsls r0, 24 - cmp r0, 0 - beq _080B5FDC - ldr r4, _080B5FE8 @ =0x02000000 - movs r0, 0x2 - strb r0, [r4] - ldrb r0, [r4, 0xE] - adds r0, 0x1 - strb r0, [r4, 0xE] - ldrb r0, [r4, 0xE] - movs r1, 0x3 - bl __umodsi3 - strb r0, [r4, 0xE] - bl sub_80B7614 - bl sub_80B77F8 - movs r0, 0x1 - bl sub_80B6210 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl sub_80B6858 - ldrb r0, [r4, 0xE] - cmp r0, 0x2 - bne _080B5FC8 - mov r0, sp - ldrh r0, [r0] - subs r0, 0x6 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _080B5FC8 - mov r1, sp - movs r0, 0x5 - strh r0, [r1] -_080B5FC8: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl sub_80B680C - movs r0, 0 - bl sub_80B6888 -_080B5FDC: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080B5FE8: .4byte 0x02000000 - thumb_func_end sub_80B5F70 - - thumb_func_start pokemon_store -pokemon_store: @ 80B5FEC - push {r4,lr} - bl sub_80B74B0 - movs r0, 0 - bl sub_80B6210 - movs r0, 0 - bl sub_80B68D8 - movs r0, 0x3 - movs r1, 0 - movs r2, 0x1 - bl sub_80B6460 - ldr r0, _080B6030 @ =gKeyRepeatStartDelay - ldr r4, _080B6034 @ =0x02000000 - ldrh r1, [r4, 0x3C] - strh r1, [r0] - ldrb r0, [r4, 0x1] - cmp r0, 0x2 - bne _080B6038 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _080B6038 - bl sub_80B74FC - movs r0, 0x7 - strb r0, [r4] - movs r0, 0 - b _080B6040 - .align 2, 0 -_080B6030: .4byte gKeyRepeatStartDelay -_080B6034: .4byte 0x02000000 -_080B6038: - ldr r1, _080B6048 @ =0x02000000 - movs r0, 0x8 - strb r0, [r1] - movs r0, 0x1 -_080B6040: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080B6048: .4byte 0x02000000 - thumb_func_end pokemon_store - - thumb_func_start sub_80B604C -sub_80B604C: @ 80B604C - push {lr} - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - beq _080B6060 - ldr r1, _080B6068 @ =0x02000000 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080B6060: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080B6068: .4byte 0x02000000 - thumb_func_end sub_80B604C - - thumb_func_start sub_80B606C -sub_80B606C: @ 80B606C - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _080B6090 @ =0x02000000 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_080B6090: .4byte 0x02000000 - thumb_func_end sub_80B606C - - thumb_func_start sub_80B6094 -sub_80B6094: @ 80B6094 - push {lr} - ldr r0, _080B60B0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B60AA - ldr r0, _080B60B4 @ =0x02000000 - ldr r0, [r0, 0x48] - bl SetMainCallback2 -_080B60AA: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080B60B0: .4byte gPaletteFade -_080B60B4: .4byte 0x02000000 - thumb_func_end sub_80B6094 - - thumb_func_start sub_80B60B8 -sub_80B60B8: @ 80B60B8 - push {r4,r5,lr} - bl sub_80B61EC - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_80B6958 - lsls r0, 24 - lsrs r0, 24 - cmp r4, 0x8 - bne _080B60D6 - bl sub_80B61C8 - b _080B60F2 -_080B60D6: - cmp r4, 0x6 - bne _080B60E0 - bl sub_80B6FBC - b _080B6100 -_080B60E0: - cmp r5, 0x7 - beq _080B60FC - ldr r1, _080B60F8 @ =gUnknown_083CE240 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_080B60F2: - lsls r0, 24 - lsrs r0, 24 - b _080B6102 - .align 2, 0 -_080B60F8: .4byte gUnknown_083CE240 -_080B60FC: - bl sub_80B7090 -_080B6100: - movs r0, 0 -_080B6102: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B60B8 - - thumb_func_start sub_80B6108 -sub_80B6108: @ 80B6108 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl sub_80B6460 - cmp r4, 0x5 - bne _080B613C - bl sub_80B7004 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80B6914 - cmp r4, 0 - beq _080B613C - movs r0, 0 - bl sub_80B6210 - ldr r1, _080B6144 @ =0x02000000 - movs r0, 0x3 - strb r0, [r1] -_080B613C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080B6144: .4byte 0x02000000 - thumb_func_end sub_80B6108 - - thumb_func_start sub_80B6148 -sub_80B6148: @ 80B6148 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_80B6460 - cmp r4, 0x5 - beq _080B6162 - movs r0, 0 - b _080B616A -_080B6162: - bl sub_80B61C8 - lsls r0, 24 - lsrs r0, 24 -_080B616A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B6148 - - thumb_func_start sub_80B6170 -sub_80B6170: @ 80B6170 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_80B6460 - cmp r4, 0x5 - bne _080B618A - bl sub_80B6FBC -_080B618A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B6170 - - thumb_func_start sub_80B6194 -sub_80B6194: @ 80B6194 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl sub_80B6460 - cmp r4, 0x5 - beq _080B61AE - movs r0, 0 - b _080B61BC -_080B61AE: - movs r0, 0x5 - bl PlaySE - ldr r1, _080B61C4 @ =0x02000000 - movs r0, 0x6 - strb r0, [r1] - movs r0, 0x1 -_080B61BC: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080B61C4: .4byte 0x02000000 - thumb_func_end sub_80B6194 - - thumb_func_start sub_80B61C8 -sub_80B61C8: @ 80B61C8 - ldr r1, _080B61D4 @ =0x02000000 - movs r0, 0x4 - strb r0, [r1] - movs r0, 0x1 - bx lr - .align 2, 0 -_080B61D4: .4byte 0x02000000 - thumb_func_end sub_80B61C8 - - thumb_func_start sub_80B61D8 -sub_80B61D8: @ 80B61D8 - push {lr} - ldr r0, _080B61E8 @ =sub_80B623C - movs r1, 0x1 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080B61E8: .4byte sub_80B623C - thumb_func_end sub_80B61D8 - - thumb_func_start sub_80B61EC -sub_80B61EC: @ 80B61EC - push {lr} - ldr r0, _080B6208 @ =sub_80B623C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B620C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0xA] - pop {r1} - bx r1 - .align 2, 0 -_080B6208: .4byte sub_80B623C -_080B620C: .4byte gTasks - thumb_func_end sub_80B61EC - - thumb_func_start sub_80B6210 -sub_80B6210: @ 80B6210 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080B6234 @ =sub_80B623C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B6238 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B6234: .4byte sub_80B623C -_080B6238: .4byte gTasks - thumb_func_end sub_80B6210 - - thumb_func_start sub_80B623C -sub_80B623C: @ 80B623C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _080B6264 @ =gUnknown_083CE250 - ldr r2, _080B6268 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080B6264: .4byte gUnknown_083CE250 -_080B6268: .4byte gTasks - thumb_func_end sub_80B623C - - thumb_func_start sub_80B626C -sub_80B626C: @ 80B626C - movs r1, 0 - strh r1, [r0, 0xA] - bx lr - thumb_func_end sub_80B626C - - thumb_func_start sub_80B6274 -sub_80B6274: @ 80B6274 - push {lr} - adds r2, r0, 0 - movs r0, 0 - strh r0, [r2, 0xA] - ldr r0, _080B6290 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B6294 - movs r0, 0x5 - strh r0, [r2, 0xA] - b _080B62C8 - .align 2, 0 -_080B6290: .4byte gMain -_080B6294: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080B62A2 - movs r0, 0x6 - strh r0, [r2, 0xA] - b _080B62C8 -_080B62A2: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080B62B0 - movs r0, 0x8 - strh r0, [r2, 0xA] - b _080B62C8 -_080B62B0: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080B62C2 - movs r0, 0x9 - strh r0, [r2, 0xA] - bl sub_80B6878 - b _080B62C8 -_080B62C2: - adds r0, r2, 0 - bl sub_80B62CC -_080B62C8: - pop {r0} - bx r0 - thumb_func_end sub_80B6274 - - thumb_func_start sub_80B62CC -sub_80B62CC: @ 80B62CC - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sub_80B6858 - ldr r0, _080B6374 @ =gMain - ldrh r2, [r0, 0x30] - movs r0, 0x40 - ands r0, r2 - lsls r0, 16 - lsrs r0, 16 - negs r0, r0 - lsrs r1, r0, 31 - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080B62F8 - movs r1, 0x2 -_080B62F8: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _080B6302 - movs r1, 0x3 -_080B6302: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _080B630C - movs r1, 0x4 -_080B630C: - mov r0, sp - ldrh r6, [r0] - mov r2, sp - ldr r0, _080B6378 @ =gUnknown_083CE258 - lsls r1, 1 - adds r0, r1, r0 - ldrh r3, [r0] - adds r0, r6, r3 - strh r0, [r2] - ldr r0, _080B637C @ =gUnknown_083CE262 - adds r1, r0 - ldrh r0, [r1] - ldrh r1, [r4] - adds r0, r1 - strh r0, [r4] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _080B633A - mov r1, sp - movs r0, 0x8 - strh r0, [r1] -_080B633A: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x8 - ble _080B634A - mov r1, sp - movs r0, 0 - strh r0, [r1] -_080B634A: - lsls r0, r3, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _080B63CA - ldr r0, _080B6380 @ =0x02000000 - ldrb r0, [r0, 0xE] - cmp r0, 0x2 - bne _080B638A - mov r0, sp - ldrh r0, [r0] - subs r0, 0x6 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _080B638A - cmp r1, 0 - ble _080B6384 - mov r1, sp - movs r0, 0x8 - b _080B6388 - .align 2, 0 -_080B6374: .4byte gMain -_080B6378: .4byte gUnknown_083CE258 -_080B637C: .4byte gUnknown_083CE262 -_080B6380: .4byte 0x02000000 -_080B6384: - mov r1, sp - movs r0, 0x5 -_080B6388: - strh r0, [r1] -_080B638A: - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0x8 - bne _080B63AC - ldrh r0, [r4] - strh r0, [r5, 0xC] - ldr r1, _080B63A8 @ =gUnknown_083CE26C - movs r2, 0 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - b _080B63C8 - .align 2, 0 -_080B63A8: .4byte gUnknown_083CE26C -_080B63AC: - cmp r6, 0x8 - bne _080B63CA - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _080B63BC - ldrh r0, [r5, 0xC] - b _080B63C8 -_080B63BC: - ldr r0, _080B63FC @ =gUnknown_083CE274 - movs r2, 0 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] -_080B63C8: - strh r0, [r4] -_080B63CA: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x8 - bne _080B6408 - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0 - bge _080B63E0 - movs r0, 0x2 - strh r0, [r4] -_080B63E0: - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x2 - ble _080B63EC - movs r0, 0 - strh r0, [r4] -_080B63EC: - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080B6400 - movs r0, 0x1 - strh r0, [r5, 0xC] - b _080B6420 - .align 2, 0 -_080B63FC: .4byte gUnknown_083CE274 -_080B6400: - cmp r0, 0x2 - bne _080B6420 - strh r0, [r5, 0xC] - b _080B6420 -_080B6408: - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _080B6414 - movs r0, 0x3 - strh r0, [r4] -_080B6414: - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - ble _080B6420 - movs r0, 0 - strh r0, [r4] -_080B6420: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl sub_80B680C - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B62CC - - thumb_func_start sub_80B6438 -sub_80B6438: @ 80B6438 - push {lr} - ldr r0, _080B6458 @ =sub_80B64D4 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B645C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x3 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_080B6458: .4byte sub_80B64D4 -_080B645C: .4byte gTasks - thumb_func_end sub_80B6438 - - thumb_func_start sub_80B6460 -sub_80B6460: @ 80B6460 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _080B6498 @ =sub_80B64D4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B649C @ =gTasks - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r5, r0 - bne _080B64A0 - cmp r6, 0 - bne _080B64A0 - strh r7, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0xC] - b _080B64CC - .align 2, 0 -_080B6498: .4byte sub_80B64D4 -_080B649C: .4byte gTasks -_080B64A0: - cmp r5, 0x3 - bne _080B64B0 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080B64B0 - cmp r6, 0 - beq _080B64CC -_080B64B0: - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _080B64C2 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_80B65AC -_080B64C2: - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r7, 0 - bl sub_80B65D4 -_080B64CC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B6460 - - thumb_func_start sub_80B64D4 -sub_80B64D4: @ 80B64D4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080B6548 @ =gTasks - adds r4, r1, r0 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _080B6540 - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B6540 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_80B654C - lsls r0, 16 - lsrs r0, 16 - ldrb r3, [r4, 0xE] - adds r1, r3, 0 - adds r2, r3, 0 - bl MultiplyInvertedPaletteRGBComponents - ldrh r1, [r4, 0x12] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B6520 - subs r0, r1, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _080B6540 -_080B6520: - movs r0, 0x2 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - ldrh r2, [r4, 0xE] - adds r0, r1, r2 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - beq _080B653C - cmp r0, 0 - bne _080B6540 - ldrh r0, [r4, 0xA] - strh r0, [r4, 0xC] -_080B653C: - negs r0, r1 - strh r0, [r4, 0x10] -_080B6540: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B6548: .4byte gTasks - thumb_func_end sub_80B64D4 - - thumb_func_start sub_80B654C -sub_80B654C: @ 80B654C - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x4 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x87 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - add r6, sp, 0x8 - strh r0, [r6] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x86 - lsls r1, 1 - adds r0, r1 - mov r1, sp - adds r1, 0xA - strh r0, [r1] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r5 - add r1, sp, 0xC - strh r0, [r1] - mov r0, sp - adds r1, r6, 0 - movs r2, 0x6 - bl memcpy - lsls r4, 1 - mov r1, sp - adds r0, r1, r4 - ldrh r0, [r0] - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B654C - - thumb_func_start sub_80B65AC -sub_80B65AC: @ 80B65AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80B654C - lsls r0, 16 - ldr r2, _080B65CC @ =gPlttBufferFaded - lsrs r0, 15 - adds r2, r0, r2 - ldr r1, _080B65D0 @ =gPlttBufferUnfaded - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_080B65CC: .4byte gPlttBufferFaded -_080B65D0: .4byte gPlttBufferUnfaded - thumb_func_end sub_80B65AC - - thumb_func_start sub_80B65D4 -sub_80B65D4: @ 80B65D4 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - movs r2, 0x1 - strh r2, [r0, 0xC] - movs r1, 0xF - strh r1, [r0, 0xE] - strh r2, [r0, 0x10] - strh r3, [r0, 0x12] - bx lr - thumb_func_end sub_80B65D4 - - thumb_func_start sub_80B65F0 -sub_80B65F0: @ 80B65F0 - push {r4,lr} - ldr r4, _080B660C @ =sub_80B6630 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B660C: .4byte sub_80B6630 - thumb_func_end sub_80B65F0 - - thumb_func_start sub_80B6610 -sub_80B6610: @ 80B6610 - push {lr} - ldr r0, _080B6624 @ =sub_80B6630 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080B6628 - movs r0, 0 - b _080B662A - .align 2, 0 -_080B6624: .4byte sub_80B6630 -_080B6628: - movs r0, 0x1 -_080B662A: - pop {r1} - bx r1 - thumb_func_end sub_80B6610 - - thumb_func_start sub_80B6630 -sub_80B6630: @ 80B6630 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080B6660 @ =gUnknown_083CE27C - ldr r2, _080B6664 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080B6642: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080B6642 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B6660: .4byte gUnknown_083CE27C -_080B6664: .4byte gTasks - thumb_func_end sub_80B6630 - - thumb_func_start sub_80B6668 -sub_80B6668: @ 80B6668 - ldr r2, _080B667C @ =0x02000000 - movs r1, 0 - strh r1, [r2, 0x4] - strh r1, [r2, 0x6] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - movs r0, 0 - bx lr - .align 2, 0 -_080B667C: .4byte 0x02000000 - thumb_func_end sub_80B6668 - - thumb_func_start sub_80B6680 -sub_80B6680: @ 80B6680 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r0, _080B66E4 @ =gUnknown_083CE28C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r1, 0x28 - bl Sin - ldr r5, _080B66E8 @ =0x02000000 - ldrb r1, [r5, 0xC] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x80 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x28 - bl Sin - ldrb r1, [r5, 0xD] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _080B66DA - ldrb r1, [r5, 0x8] - ldrh r0, [r5, 0xA] - strh r0, [r5, 0x8] - strh r1, [r5, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B66DA: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080B66E4: .4byte gUnknown_083CE28C -_080B66E8: .4byte 0x02000000 - thumb_func_end sub_80B6680 - - thumb_func_start sub_80B66EC -sub_80B66EC: @ 80B66EC - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r0, _080B6750 @ =gUnknown_083CE28C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r1, 0x28 - bl Sin - ldr r5, _080B6754 @ =0x02000000 - ldrb r1, [r5, 0xC] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x80 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x28 - bl Sin - ldrb r1, [r5, 0xD] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _080B6746 - ldrb r1, [r5, 0xC] - ldrb r0, [r5, 0xD] - strb r0, [r5, 0xC] - strb r1, [r5, 0xD] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B6746: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080B6750: .4byte gUnknown_083CE28C -_080B6754: .4byte 0x02000000 - thumb_func_end sub_80B66EC - - thumb_func_start sub_80B6758 -sub_80B6758: @ 80B6758 - push {lr} - ldr r0, _080B6770 @ =sub_80B6630 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080B6770: .4byte sub_80B6630 - thumb_func_end sub_80B6758 - - thumb_func_start sub_80B6774 -sub_80B6774: @ 80B6774 - push {r4,r5,lr} - ldr r0, _080B67E0 @ =gSpriteTemplate_83CE640 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - ldr r4, _080B67E4 @ =0x02000000 - strb r0, [r4, 0xF] - ldr r5, _080B67E8 @ =gSprites - ldrb r0, [r4, 0xF] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r1, [r4, 0xF] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - ands r2, r1 - orrs r2, r3 - strb r2, [r0, 0x1] - ldrb r1, [r4, 0xF] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x1 - strh r1, [r0, 0x3A] - ldrb r1, [r4, 0xF] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x2 - strh r1, [r0, 0x3A] - movs r0, 0 - movs r1, 0 - bl sub_80B680C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B67E0: .4byte gSpriteTemplate_83CE640 -_080B67E4: .4byte 0x02000000 -_080B67E8: .4byte gSprites - thumb_func_end sub_80B6774 - - thumb_func_start sub_80B67EC -sub_80B67EC: @ 80B67EC - ldr r3, _080B6804 @ =gUnknown_083CE294 - lsls r0, 16 - asrs r0, 16 - ldr r1, _080B6808 @ =0x02000000 - ldrb r2, [r1, 0xE] - lsls r1, r2, 3 - adds r1, r2 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080B6804: .4byte gUnknown_083CE294 -_080B6808: .4byte 0x02000000 - thumb_func_end sub_80B67EC - - thumb_func_start sub_80B680C -sub_80B680C: @ 80B680C - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r1, _080B6850 @ =0x02000000 - ldrb r1, [r1, 0xF] - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - ldr r1, _080B6854 @ =gSprites - adds r4, r1 - lsrs r6, r0, 16 - asrs r0, 16 - bl sub_80B67EC - lsls r0, 24 - lsrs r0, 21 - adds r0, 0x1B - strh r0, [r4, 0x20] - lsls r0, r5, 16 - asrs r0, 12 - adds r0, 0x50 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x2E] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x30] - strh r0, [r4, 0x34] - strh r6, [r4, 0x2E] - strh r5, [r4, 0x30] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B6850: .4byte 0x02000000 -_080B6854: .4byte gSprites - thumb_func_end sub_80B680C - - thumb_func_start sub_80B6858 -sub_80B6858: @ 80B6858 - ldr r2, _080B6870 @ =0x02000000 - ldrb r3, [r2, 0xF] - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - ldr r3, _080B6874 @ =gSprites - adds r2, r3 - ldrh r3, [r2, 0x2E] - strh r3, [r0] - ldrh r0, [r2, 0x30] - strh r0, [r1] - bx lr - .align 2, 0 -_080B6870: .4byte 0x02000000 -_080B6874: .4byte gSprites - thumb_func_end sub_80B6858 - - thumb_func_start sub_80B6878 -sub_80B6878: @ 80B6878 - push {lr} - movs r0, 0x8 - movs r1, 0x2 - bl sub_80B680C - pop {r0} - bx r0 - thumb_func_end sub_80B6878 - - thumb_func_start sub_80B6888 -sub_80B6888: @ 80B6888 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080B68CC @ =gSprites - ldr r4, _080B68D0 @ =0x02000000 - ldrb r1, [r4, 0xF] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x36] - ldr r1, _080B68D4 @ =0xffffff00 - ands r1, r3 - strh r1, [r2, 0x36] - ldrb r2, [r4, 0xF] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldrh r2, [r1, 0x36] - orrs r0, r2 - strh r0, [r1, 0x36] - ldrb r1, [r4, 0xF] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B68CC: .4byte gSprites -_080B68D0: .4byte 0x02000000 -_080B68D4: .4byte 0xffffff00 - thumb_func_end sub_80B6888 - - thumb_func_start sub_80B68D8 -sub_80B68D8: @ 80B68D8 - push {r4,r5,lr} - lsls r0, 24 - ldr r5, _080B690C @ =gSprites - ldr r4, _080B6910 @ =0x02000000 - ldrb r1, [r4, 0xF] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x36] - movs r1, 0xFF - ands r1, r3 - strh r1, [r2, 0x36] - ldrb r2, [r4, 0xF] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsrs r0, 16 - ldrh r2, [r1, 0x36] - orrs r0, r2 - strh r0, [r1, 0x36] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B690C: .4byte gSprites -_080B6910: .4byte 0x02000000 - thumb_func_end sub_80B68D8 - - thumb_func_start sub_80B6914 -sub_80B6914: @ 80B6914 - push {lr} - ldr r0, _080B6930 @ =0x02000000 - ldrb r1, [r0, 0xF] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B6934 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_080B6930: .4byte 0x02000000 -_080B6934: .4byte gSprites - thumb_func_end sub_80B6914 - - thumb_func_start sub_80B6938 -sub_80B6938: @ 80B6938 - ldr r2, _080B6950 @ =gSprites - ldr r0, _080B6954 @ =0x02000000 - ldrb r1, [r0, 0xF] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 31 - bx lr - .align 2, 0 -_080B6950: .4byte gSprites -_080B6954: .4byte 0x02000000 - thumb_func_end sub_80B6938 - - thumb_func_start sub_80B6958 -sub_80B6958: @ 80B6958 - push {r4,r5,lr} - sub sp, 0x8 - ldr r1, _080B6988 @ =gUnknown_083CE2AF - mov r0, sp - movs r2, 0x3 - bl memcpy - add r4, sp, 0x4 - mov r5, sp - adds r5, 0x6 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80B6858 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - ble _080B698C - movs r1, 0 - ldrsh r0, [r5, r1] - add r0, sp - ldrb r0, [r0] - b _080B698E - .align 2, 0 -_080B6988: .4byte gUnknown_083CE2AF -_080B698C: - movs r0, 0 -_080B698E: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B6958 - - thumb_func_start sub_80B6998 -sub_80B6998: @ 80B6998 - push {r4,r5,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B69B0 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_080B69B0: - ldrh r1, [r4, 0x36] - movs r0, 0xFF - ands r0, r1 - adds r3, r4, 0 - adds r3, 0x3E - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - ldrb r1, [r3] - movs r2, 0x5 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r3] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bne _080B69DA - movs r0, 0x4 - orrs r2, r0 - strb r2, [r3] -_080B69DA: - ldrb r1, [r3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080B6A0A - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080B6A0A - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080B6A0A - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _080B6A16 -_080B6A0A: - movs r0, 0 - strh r0, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x3A] - movs r0, 0x2 - strh r0, [r4, 0x3C] -_080B6A16: - ldrh r0, [r4, 0x3C] - subs r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - cmp r0, 0 - bne _080B6A3E - ldrh r1, [r4, 0x3A] - ldrh r2, [r4, 0x38] - adds r0, r1, r2 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - beq _080B6A36 - cmp r0, 0 - bne _080B6A3A -_080B6A36: - negs r0, r1 - strh r0, [r4, 0x3A] -_080B6A3A: - movs r0, 0x2 - strh r0, [r4, 0x3C] -_080B6A3E: - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080B6A74 - ldrh r4, [r4, 0x38] - lsls r5, r4, 24 - lsrs r5, 24 - lsls r4, 16 - asrs r4, 17 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r2, _080B6A7C @ =0x01010000 - adds r0, r2 - lsrs r0, 16 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r5, 0 - bl MultiplyInvertedPaletteRGBComponents -_080B6A74: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B6A7C: .4byte 0x01010000 - thumb_func_end sub_80B6998 - - thumb_func_start sub_80B6A80 -sub_80B6A80: @ 80B6A80 - push {r4,r5,lr} - ldr r0, _080B6AF8 @ =gSpriteTemplate_83CE5C8 - movs r1, 0xCC - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B6AFC @ =0x02000000 - strb r0, [r1, 0x10] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r5, _080B6B00 @ =gSprites - adds r4, r5 - ldr r1, _080B6B04 @ =gSubspriteTables_83CE558 - adds r0, r4, 0 - bl SetSubspriteTables - ldr r0, _080B6B08 @ =gSpriteTemplate_83CE5F8 - movs r1, 0xCC - movs r2, 0x4C - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x3A] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - ldr r1, _080B6B0C @ =gSubspriteTables_83CE560 - adds r0, r2, 0 - bl SetSubspriteTables - ldr r0, _080B6B10 @ =gSpriteTemplate_83CE5E0 - movs r1, 0xCC - movs r2, 0x4B - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - ands r2, r3 - movs r3, 0x4 - orrs r2, r3 - strb r2, [r1, 0x5] - strh r0, [r4, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B6AF8: .4byte gSpriteTemplate_83CE5C8 -_080B6AFC: .4byte 0x02000000 -_080B6B00: .4byte gSprites -_080B6B04: .4byte gSubspriteTables_83CE558 -_080B6B08: .4byte gSpriteTemplate_83CE5F8 -_080B6B0C: .4byte gSubspriteTables_83CE560 -_080B6B10: .4byte gSpriteTemplate_83CE5E0 - thumb_func_end sub_80B6A80 - - thumb_func_start sub_80B6B14 -sub_80B6B14: @ 80B6B14 - ldr r2, _080B6B2C @ =0x02000000 - ldrb r1, [r2, 0x10] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B6B30 @ =gSprites - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldrb r1, [r2, 0xE] - strh r1, [r0, 0x30] - bx lr - .align 2, 0 -_080B6B2C: .4byte 0x02000000 -_080B6B30: .4byte gSprites - thumb_func_end sub_80B6B14 - - thumb_func_start sub_80B6B34 -sub_80B6B34: @ 80B6B34 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080B6B58 @ =gUnknown_083CE2B4 -_080B6B3A: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080B6B3A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B6B58: .4byte gUnknown_083CE2B4 - thumb_func_end sub_80B6B34 - - thumb_func_start sub_80B6B5C -sub_80B6B5C: @ 80B6B5C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r3, _080B6B90 @ =gSprites - adds r1, r3 - movs r2, 0x3C - ldrsh r0, [r4, r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldr r0, _080B6B94 @ =0x02000000 - ldrb r0, [r0, 0xE] - bl sub_80B6C48 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080B6B90: .4byte gSprites -_080B6B94: .4byte 0x02000000 - thumb_func_end sub_80B6B5C - - thumb_func_start sub_80B6B98 -sub_80B6B98: @ 80B6B98 - movs r0, 0 - bx lr - thumb_func_end sub_80B6B98 - - thumb_func_start sub_80B6B9C -sub_80B6B9C: @ 80B6B9C - push {r4,r5,lr} - adds r3, r0, 0 - movs r0, 0x3A - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, _080B6C00 @ =gSprites - adds r4, r0, r2 - movs r0, 0x3C - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080B6BF8 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - ldr r0, _080B6C04 @ =0x0000fffc - strh r0, [r4, 0x26] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80B6C48 -_080B6BF8: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080B6C00: .4byte gSprites -_080B6C04: .4byte 0x0000fffc - thumb_func_end sub_80B6B9C - - thumb_func_start sub_80B6C08 -sub_80B6C08: @ 80B6C08 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B6C44 @ =gSprites - adds r2, r0, r1 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - lsls r0, 16 - cmp r0, 0 - blt _080B6C3C - movs r0, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r4, 0x2E] -_080B6C3C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080B6C44: .4byte gSprites - thumb_func_end sub_80B6C08 - - thumb_func_start sub_80B6C48 -sub_80B6C48: @ 80B6C48 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _080B6CA0 @ =gUnknown_083CE2C4 - lsls r4, r5, 1 - adds r0, r4, r0 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 4 - mov r1, r8 - ldrb r2, [r1, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - mov r0, r8 - strb r1, [r0, 0x5] - ldr r0, _080B6CA4 @ =gUnknown_083CE2CA - adds r4, r0 - ldrh r0, [r4] - bl GetSpriteTileStartByTag - adds r1, r6, 0 - adds r1, 0x40 - strh r0, [r1] - adds r6, 0x42 - movs r1, 0x3F - ands r1, r5 - ldrb r2, [r6] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B6CA0: .4byte gUnknown_083CE2C4 -_080B6CA4: .4byte gUnknown_083CE2CA - thumb_func_end sub_80B6C48 - - thumb_func_start sub_80B6CA8 -sub_80B6CA8: @ 80B6CA8 - push {r4,r5,lr} - ldr r0, _080B6CF4 @ =gSpriteTemplate_83CE610 - movs r1, 0xCC - movs r2, 0x6C - movs r3, 0 - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080B6CF8 @ =gSprites - adds r0, r4 - ldr r5, _080B6CFC @ =gSubspriteTables_83CE578 - adds r1, r5, 0 - bl SetSubspriteTables - ldr r0, _080B6D00 @ =gSpriteTemplate_83CE628 - movs r1, 0xCC - movs r2, 0x84 - movs r3, 0 - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r1, r5, 0 - bl SetSubspriteTables - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B6CF4: .4byte gSpriteTemplate_83CE610 -_080B6CF8: .4byte gSprites -_080B6CFC: .4byte gSubspriteTables_83CE578 -_080B6D00: .4byte gSpriteTemplate_83CE628 - thumb_func_end sub_80B6CA8 - - thumb_func_start sub_80B6D04 -sub_80B6D04: @ 80B6D04 - push {r4-r6,lr} - ldr r4, _080B6D8C @ =0x02000000 - ldrh r1, [r4, 0x2] - subs r1, 0x1 - lsls r1, 3 - adds r1, 0x4 - ldr r0, _080B6D90 @ =gSpriteTemplate_83CE658 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x28 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, _080B6D94 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - ldrh r0, [r4, 0x2] - lsls r0, 3 - adds r0, 0x4 - lsls r0, 16 - lsrs r1, r0, 16 - movs r5, 0 - ldr r0, [r4, 0x34] - ldrb r0, [r0, 0x1] - cmp r5, r0 - bcs _080B6D86 - adds r6, r3, 0 -_080B6D4A: - lsls r4, r1, 16 - asrs r4, 16 - ldr r0, _080B6D98 @ =gSpriteTemplate_83CE670 - adds r1, r4, 0 - movs r2, 0x2C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - strh r5, [r0, 0x2E] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x8 - lsls r4, 16 - lsrs r1, r4, 16 - ldr r0, _080B6D8C @ =0x02000000 - ldr r0, [r0, 0x34] - ldrb r0, [r0, 0x1] - cmp r5, r0 - bcc _080B6D4A -_080B6D86: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B6D8C: .4byte 0x02000000 -_080B6D90: .4byte gSpriteTemplate_83CE658 -_080B6D94: .4byte gSprites -_080B6D98: .4byte gSpriteTemplate_83CE670 - thumb_func_end sub_80B6D04 - - thumb_func_start sub_80B6D9C -sub_80B6D9C: @ 80B6D9C - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _080B6DE4 @ =gUnknown_083CE2D0 - mov r0, sp - movs r2, 0x8 - bl memcpy - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B6DC0 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080B6DCE -_080B6DC0: - movs r0, 0x8 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0x30] -_080B6DCE: - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B6DE4: .4byte gUnknown_083CE2D0 - thumb_func_end sub_80B6D9C - - thumb_func_start sub_80B6DE8 -sub_80B6DE8: @ 80B6DE8 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _080B6E10 @ =gUnknown_083CE2D8 - mov r0, sp - movs r2, 0x8 - bl memcpy - bl sub_80B6F44 - lsls r0, 24 - ldrh r1, [r4, 0x2E] - lsls r1, 24 - cmp r0, r1 - beq _080B6E14 - movs r0, 0 - strh r0, [r4, 0x26] - strh r0, [r4, 0x30] - b _080B6E3A - .align 2, 0 -_080B6E10: .4byte gUnknown_083CE2D8 -_080B6E14: - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080B6E3C - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0x30] - movs r0, 0 -_080B6E3A: - strh r0, [r4, 0x32] -_080B6E3C: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B6DE8 - - thumb_func_start sub_80B6E44 -sub_80B6E44: @ 80B6E44 - push {lr} - ldr r1, _080B6E5C @ =gUnknown_083CE2E0 - ldr r0, _080B6E60 @ =0x02000000 - ldr r0, [r0, 0x34] - ldrb r0, [r0, 0x2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .align 2, 0 -_080B6E5C: .4byte gUnknown_083CE2E0 -_080B6E60: .4byte 0x02000000 - thumb_func_end sub_80B6E44 - - thumb_func_start nullsub_40 -nullsub_40: @ 80B6E64 - bx lr - thumb_func_end nullsub_40 - - thumb_func_start sub_80B6E68 -sub_80B6E68: @ 80B6E68 - push {lr} - sub sp, 0x4 - ldr r0, _080B6EB0 @ =0x02000000 - ldrh r1, [r0, 0x3E] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_805983C - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B6EB4 @ =SpriteCallbackDummy - movs r2, 0 - str r2, [sp] - movs r2, 0x38 - movs r3, 0x18 - bl AddPseudoFieldObject - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080B6EB8 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x4 - bl StartSpriteAnim - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080B6EB0: .4byte 0x02000000 -_080B6EB4: .4byte SpriteCallbackDummy -_080B6EB8: .4byte gSprites - thumb_func_end sub_80B6E68 - - thumb_func_start sub_80B6EBC -sub_80B6EBC: @ 80B6EBC - push {r4,lr} - ldr r0, _080B6EF0 @ =gSpriteTemplate_83CE688 - movs r1, 0x34 - movs r2, 0x18 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _080B6EF4 @ =gSprites - adds r4, r0 - ldr r1, _080B6EF8 @ =gSubspriteTables_83CE580 - adds r0, r4, 0 - bl SetSubspriteTables - ldrb r0, [r4, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r4, 0x5] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B6EF0: .4byte gSpriteTemplate_83CE688 -_080B6EF4: .4byte gSprites -_080B6EF8: .4byte gSubspriteTables_83CE580 - thumb_func_end sub_80B6EBC - - thumb_func_start sub_80B6EFC -sub_80B6EFC: @ 80B6EFC - push {lr} - sub sp, 0x8 - bl sub_809D51C - ldr r3, _080B6F38 @ =0x02000000 - ldrh r0, [r3, 0x3E] - ldr r1, _080B6F3C @ =SpriteCallbackDummy - movs r2, 0 - str r2, [sp] - ldr r2, [r3, 0x44] - str r2, [sp, 0x4] - movs r2, 0x34 - movs r3, 0x18 - bl CreateMonIcon - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B6F40 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080B6F38: .4byte 0x02000000 -_080B6F3C: .4byte SpriteCallbackDummy -_080B6F40: .4byte gSprites - thumb_func_end sub_80B6EFC - - thumb_func_start sub_80B6F44 -sub_80B6F44: @ 80B6F44 - push {r4,lr} - movs r2, 0 - ldr r1, _080B6F64 @ =0x02000000 - ldr r0, [r1, 0x34] - ldrb r0, [r0, 0x1] - adds r4, r1, 0 - cmp r2, r0 - bcs _080B6F72 - adds r1, 0x11 - adds r3, r0, 0 -_080B6F58: - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080B6F68 - adds r0, r2, 0 - b _080B6F7C - .align 2, 0 -_080B6F64: .4byte 0x02000000 -_080B6F68: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _080B6F58 -_080B6F72: - ldr r0, [r4, 0x34] - ldrb r0, [r0, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_080B6F7C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B6F44 - - thumb_func_start sub_80B6F84 -sub_80B6F84: @ 80B6F84 - push {lr} - ldr r2, _080B6FA8 @ =0x02000000 - ldr r0, [r2, 0x34] - ldrb r0, [r0, 0x1] - subs r0, 0x1 - lsls r1, r0, 24 - cmp r1, 0 - ble _080B6FB4 - adds r3, r2, 0 - adds r3, 0x11 -_080B6F98: - asrs r2, r1, 24 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080B6FAC - lsrs r0, r1, 24 - b _080B6FB6 - .align 2, 0 -_080B6FA8: .4byte 0x02000000 -_080B6FAC: - subs r0, r2, 0x1 - lsls r1, r0, 24 - cmp r1, 0 - bgt _080B6F98 -_080B6FB4: - movs r0, 0 -_080B6FB6: - pop {r1} - bx r1 - thumb_func_end sub_80B6F84 - - thumb_func_start sub_80B6FBC -sub_80B6FBC: @ 80B6FBC - push {r4,lr} - bl sub_80B6F84 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080B7000 @ =0x02000000 - adds r0, 0x11 - adds r4, r0 - movs r0, 0 - strb r0, [r4] - bl sub_80B7960 - movs r0, 0xFF - strb r0, [r4] - bl sub_80B6958 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080B6FEA - cmp r0, 0x2 - bne _080B6FF4 -_080B6FEA: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - bl sub_80B6460 -_080B6FF4: - movs r0, 0x17 - bl PlaySE - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B7000: .4byte 0x02000000 - thumb_func_end sub_80B6FBC - - thumb_func_start sub_80B7004 -sub_80B7004: @ 80B7004 - push {r4,r5,lr} - sub sp, 0x4 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl sub_80B6858 - mov r4, sp - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - bl sub_80B67EC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl sub_80B7768 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - movs r4, 0x1 - cmp r0, 0xFF - bne _080B7046 - bl sub_80B7104 - b _080B704E -_080B7046: - cmp r0, 0xFE - bne _080B7054 - bl sub_80B713C -_080B704E: - lsls r0, 24 - lsrs r4, r0, 24 - b _080B705A -_080B7054: - adds r0, r1, 0 - bl sub_80B7174 -_080B705A: - bl sub_80B7960 - movs r0, 0x5 - bl PlaySE - cmp r4, 0 - beq _080B7084 - bl sub_80B6F84 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B7080 @ =0x02000000 - ldr r1, [r1, 0x34] - ldrb r1, [r1, 0x1] - subs r1, 0x1 - cmp r0, r1 - bne _080B7084 - movs r0, 0x1 - b _080B7086 - .align 2, 0 -_080B7080: .4byte 0x02000000 -_080B7084: - movs r0, 0 -_080B7086: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B7004 - - thumb_func_start sub_80B7090 -sub_80B7090: @ 80B7090 - push {r4-r7,lr} - bl sub_80B6F84 - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r0, _080B70C8 @ =0x02000000 - adds r0, 0x11 - adds r0, r5, r0 - ldrb r4, [r0] - adds r6, r4, 0 - adds r0, r4, 0 - bl sub_80B7198 - lsls r0, 24 - cmp r0, 0 - beq _080B70D6 - adds r0, r4, 0 - bl sub_80B7264 - lsls r0, 24 - cmp r0, 0 - beq _080B70CC - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80B7370 - b _080B70F4 - .align 2, 0 -_080B70C8: .4byte 0x02000000 -_080B70CC: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80B73CC - b _080B70F4 -_080B70D6: - adds r0, r4, 0 - bl sub_80B71E4 - lsls r0, 24 - cmp r0, 0 - beq _080B70EC - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80B7474 - b _080B70F4 -_080B70EC: - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_80B72A4 -_080B70F4: - bl sub_80B7960 - movs r0, 0x5 - bl PlaySE - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B7090 - - thumb_func_start sub_80B7104 -sub_80B7104: @ 80B7104 - push {r4,r5,lr} - bl sub_80B6F84 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080B7128 @ =0x02000000 - adds r0, 0x11 - adds r0, r5, r0 - ldrb r4, [r0] - adds r0, r4, 0 - bl sub_80B720C - lsls r0, 24 - cmp r0, 0 - bne _080B712C - movs r0, 0 - b _080B7136 - .align 2, 0 -_080B7128: .4byte 0x02000000 -_080B712C: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80B72A4 - movs r0, 0x1 -_080B7136: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B7104 - - thumb_func_start sub_80B713C -sub_80B713C: @ 80B713C - push {r4,r5,lr} - bl sub_80B6F84 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080B7160 @ =0x02000000 - adds r0, 0x11 - adds r0, r5, r0 - ldrb r4, [r0] - adds r0, r4, 0 - bl sub_80B7264 - lsls r0, 24 - cmp r0, 0 - bne _080B7164 - movs r0, 0 - b _080B716E - .align 2, 0 -_080B7160: .4byte 0x02000000 -_080B7164: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80B7370 - movs r0, 0x1 -_080B716E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B713C - - thumb_func_start sub_80B7174 -sub_80B7174: @ 80B7174 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80B6F44 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B7194 @ =0x02000000 - adds r1, 0x11 - adds r0, r1 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B7194: .4byte 0x02000000 - thumb_func_end sub_80B7174 - - thumb_func_start sub_80B7198 -sub_80B7198: @ 80B7198 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xC9 - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x13 - bls _080B71DA - adds r0, r1, 0 - adds r0, 0x79 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B71DA - adds r0, r1, 0 - adds r0, 0x74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B71DA - adds r0, r1, 0 - adds r0, 0x6F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B71DA - adds r0, r1, 0 - adds r0, 0x6A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B71DE -_080B71DA: - movs r0, 0x1 - b _080B71E0 -_080B71DE: - movs r0, 0 -_080B71E0: - pop {r1} - bx r1 - thumb_func_end sub_80B7198 - - thumb_func_start sub_80B71E4 -sub_80B71E4: @ 80B71E4 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xB5 - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B7202 - adds r0, r1, 0 - adds r0, 0x65 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B7206 -_080B7202: - movs r0, 0x1 - b _080B7208 -_080B7206: - movs r0, 0 -_080B7208: - pop {r1} - bx r1 - thumb_func_end sub_80B71E4 - - thumb_func_start sub_80B720C -sub_80B720C: @ 80B720C - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFA - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xE - bls _080B725A - adds r0, r1, 0 - subs r0, 0x1A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B725A - adds r0, r1, 0 - subs r0, 0x4B - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B725A - adds r0, r1, 0 - subs r0, 0x56 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE - bls _080B725A - adds r0, r1, 0 - subs r0, 0x6A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B725A - adds r0, r1, 0 - adds r0, 0x65 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B725E -_080B725A: - movs r0, 0x1 - b _080B7260 -_080B725E: - movs r0, 0 -_080B7260: - pop {r1} - bx r1 - thumb_func_end sub_80B720C - - thumb_func_start sub_80B7264 -sub_80B7264: @ 80B7264 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xE6 - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B729A - adds r0, r1, 0 - subs r0, 0x46 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B729A - adds r0, r1, 0 - subs r0, 0x6A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B729A - adds r0, r1, 0 - adds r0, 0x6A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B729E -_080B729A: - movs r0, 0x1 - b _080B72A0 -_080B729E: - movs r0, 0 -_080B72A0: - pop {r1} - bx r1 - thumb_func_end sub_80B7264 - - thumb_func_start sub_80B72A4 -sub_80B72A4: @ 80B72A4 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsrs r2, r0, 24 - movs r3, 0xFA - lsls r3, 24 - adds r0, r3 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B72C0 - adds r0, r2, 0 - adds r0, 0x31 - b _080B735A -_080B72C0: - adds r0, r2, 0 - subs r0, 0xB - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B72D2 - adds r0, r2, 0 - adds r0, 0x31 - b _080B735A -_080B72D2: - adds r0, r2, 0 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B72E4 - adds r0, r2, 0 - adds r0, 0x31 - b _080B735A -_080B72E4: - adds r0, r2, 0 - subs r0, 0x1A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B72F6 - adds r0, r2, 0 - adds r0, 0x2C - b _080B735A -_080B72F6: - adds r0, r2, 0 - subs r0, 0x4B - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B7356 - adds r0, r2, 0 - subs r0, 0x56 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B7314 - adds r0, r2, 0 - adds r0, 0x31 - b _080B735A -_080B7314: - adds r0, r2, 0 - subs r0, 0x5B - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B7326 - adds r0, r2, 0 - adds r0, 0x31 - b _080B735A -_080B7326: - adds r0, r2, 0 - subs r0, 0x60 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B7338 - adds r0, r2, 0 - adds r0, 0x31 - b _080B735A -_080B7338: - adds r0, r2, 0 - subs r0, 0x6A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B734A - adds r0, r2, 0 - adds r0, 0x2C - b _080B735A -_080B734A: - adds r0, r2, 0 - adds r0, 0x65 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B735E -_080B7356: - adds r0, r2, 0 - adds r0, 0xFB -_080B735A: - lsls r0, 24 - lsrs r2, r0, 24 -_080B735E: - ldr r0, _080B736C @ =0x02000000 - adds r0, 0x11 - adds r0, r1, r0 - strb r2, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080B736C: .4byte 0x02000000 - thumb_func_end sub_80B72A4 - - thumb_func_start sub_80B7370 -sub_80B7370: @ 80B7370 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsrs r2, r0, 24 - movs r3, 0xE6 - lsls r3, 24 - adds r0, r3 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B738C - adds r0, r2, 0 - adds r0, 0x31 - b _080B73B8 -_080B738C: - adds r0, r2, 0 - subs r0, 0x46 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B73B6 - adds r0, r2, 0 - subs r0, 0x6A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B73AA - adds r0, r2, 0 - adds r0, 0x31 - b _080B73B8 -_080B73AA: - adds r0, r2, 0 - adds r0, 0x6A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B73BC -_080B73B6: - adds r0, r2, 0x5 -_080B73B8: - lsls r0, 24 - lsrs r2, r0, 24 -_080B73BC: - ldr r0, _080B73C8 @ =0x02000000 - adds r0, 0x11 - adds r0, r1, r0 - strb r2, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080B73C8: .4byte 0x02000000 - thumb_func_end sub_80B7370 - - thumb_func_start sub_80B73CC -sub_80B73CC: @ 80B73CC - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsrs r2, r0, 24 - movs r3, 0xC9 - lsls r3, 24 - adds r0, r3 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B73E8 - adds r0, r2, 0 - adds r0, 0xCF - b _080B745E -_080B73E8: - adds r0, r2, 0 - subs r0, 0x3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B73FA - adds r0, r2, 0 - adds r0, 0xCF - b _080B745E -_080B73FA: - adds r0, r2, 0 - subs r0, 0x41 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B740C - adds r0, r2, 0 - adds r0, 0xCF - b _080B745E -_080B740C: - adds r0, r2, 0 - subs r0, 0x46 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B745A - adds r0, r2, 0 - adds r0, 0x79 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B742A - adds r0, r2, 0 - adds r0, 0xCF - b _080B745E -_080B742A: - adds r0, r2, 0 - adds r0, 0x74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B743C - adds r0, r2, 0 - adds r0, 0xCF - b _080B745E -_080B743C: - adds r0, r2, 0 - adds r0, 0x6F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B744E - adds r0, r2, 0 - adds r0, 0xCF - b _080B745E -_080B744E: - adds r0, r2, 0 - adds r0, 0x6A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B7462 -_080B745A: - adds r0, r2, 0 - adds r0, 0xD4 -_080B745E: - lsls r0, 24 - lsrs r2, r0, 24 -_080B7462: - ldr r0, _080B7470 @ =0x02000000 - adds r0, 0x11 - adds r0, r1, r0 - strb r2, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080B7470: .4byte 0x02000000 - thumb_func_end sub_80B73CC - - thumb_func_start sub_80B7474 -sub_80B7474: @ 80B7474 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsrs r2, r0, 24 - movs r3, 0xB5 - lsls r3, 24 - adds r0, r3 - lsrs r0, 24 - cmp r0, 0x4 - bls _080B7496 - adds r0, r2, 0 - adds r0, 0x65 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B749E -_080B7496: - adds r0, r2, 0 - adds r0, 0xCF - lsls r0, 24 - lsrs r2, r0, 24 -_080B749E: - ldr r0, _080B74AC @ =0x02000000 - adds r0, 0x11 - adds r0, r1, r0 - strb r2, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080B74AC: .4byte 0x02000000 - thumb_func_end sub_80B7474 - - thumb_func_start sub_80B74B0 -sub_80B74B0: @ 80B74B0 - push {r4,lr} - movs r1, 0 - ldr r3, _080B74E4 @ =0x02000000 - ldr r0, [r3, 0x34] - ldrb r0, [r0, 0x1] - cmp r1, r0 - bcs _080B74F6 - adds r2, r3, 0 - adds r4, r3, 0 - adds r4, 0x11 -_080B74C4: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _080B74E8 - cmp r0, 0xFF - beq _080B74E8 - ldr r0, [r2, 0x38] - ldr r1, [r2, 0x34] - ldrb r2, [r1, 0x1] - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r1, r4, 0 - bl StringCopyN - b _080B74F6 - .align 2, 0 -_080B74E4: .4byte 0x02000000 -_080B74E8: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, [r3, 0x34] - ldrb r0, [r0, 0x1] - cmp r1, r0 - bcc _080B74C4 -_080B74F6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B74B0 - - thumb_func_start sub_80B74FC -sub_80B74FC: @ 80B74FC - push {r4,lr} - ldr r0, _080B7528 @ =gStringVar1 - ldr r1, _080B752C @ =0x02000000 - ldr r1, [r1, 0x38] - bl StringCopy - ldr r4, _080B7530 @ =gStringVar4 - ldr r1, _080B7534 @ =gOtherText_SentToPC - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r0, _080B7538 @ =gWindowConfig_81E6E88 - bl BasicInitMenuWindow - bl MenuDisplayMessageBox - adds r0, r4, 0 - bl sub_8072044 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B7528: .4byte gStringVar1 -_080B752C: .4byte 0x02000000 -_080B7530: .4byte gStringVar4 -_080B7534: .4byte gOtherText_SentToPC -_080B7538: .4byte gWindowConfig_81E6E88 - thumb_func_end sub_80B74FC - - thumb_func_start sub_80B753C -sub_80B753C: @ 80B753C - push {lr} - ldr r0, _080B7550 @ =gUnknown_083CE6A0 - bl LoadSpriteSheets - ldr r0, _080B7554 @ =gUnknown_083CE708 - bl LoadSpritePalettes - pop {r0} - bx r0 - .align 2, 0 -_080B7550: .4byte gUnknown_083CE6A0 -_080B7554: .4byte gUnknown_083CE708 - thumb_func_end sub_80B753C - - thumb_func_start sub_80B7558 -sub_80B7558: @ 80B7558 - push {lr} - bl sub_80B7568 - bl sub_80B75B0 - pop {r0} - bx r0 - thumb_func_end sub_80B7558 - - thumb_func_start sub_80B7568 -sub_80B7568: @ 80B7568 - push {r4,lr} - ldr r4, _080B759C @ =gNamingScreenMenu_Gfx - ldr r3, _080B75A0 @ =gMenuMessageBoxContentTileOffset - ldrh r0, [r3] - lsls r0, 5 - movs r1, 0xC0 - lsls r1, 19 - adds r0, r1 - ldr r1, _080B75A4 @ =0x040000d4 - str r4, [r1] - str r0, [r1, 0x4] - ldr r2, _080B75A8 @ =0x80000400 - str r2, [r1, 0x8] - ldr r0, [r1, 0x8] - ldrh r0, [r3] - lsls r0, 5 - ldr r3, _080B75AC @ =0x06008000 - adds r0, r3 - str r4, [r1] - str r0, [r1, 0x4] - str r2, [r1, 0x8] - ldr r0, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B759C: .4byte gNamingScreenMenu_Gfx -_080B75A0: .4byte gMenuMessageBoxContentTileOffset -_080B75A4: .4byte 0x040000d4 -_080B75A8: .4byte 0x80000400 -_080B75AC: .4byte 0x06008000 - thumb_func_end sub_80B7568 - - thumb_func_start sub_80B75B0 -sub_80B75B0: @ 80B75B0 - push {lr} - ldr r0, _080B75C0 @ =gNamingScreenPalettes - movs r1, 0 - movs r2, 0x80 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_080B75C0: .4byte gNamingScreenPalettes - thumb_func_end sub_80B75B0 - - thumb_func_start sub_80B75C4 -sub_80B75C4: @ 80B75C4 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _080B7608 @ =gUnknown_083CE308 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldr r4, _080B760C @ =gUnknown_083CE2F0 - ldr r5, _080B7610 @ =0x02000000 - ldrb r1, [r5, 0xE] - lsls r1, 3 - adds r1, r4 - ldrb r0, [r5, 0xC] - lsls r0, 2 - add r0, sp - ldr r0, [r0] - ldr r1, [r1] - bl _call_via_r1 - ldrb r1, [r5, 0xE] - lsls r1, 3 - adds r4, 0x4 - adds r1, r4 - ldrb r0, [r5, 0xD] - lsls r0, 2 - add r0, sp - ldr r0, [r0] - ldr r1, [r1] - bl _call_via_r1 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B7608: .4byte gUnknown_083CE308 -_080B760C: .4byte gUnknown_083CE2F0 -_080B7610: .4byte 0x02000000 - thumb_func_end sub_80B75C4 - - thumb_func_start sub_80B7614 -sub_80B7614: @ 80B7614 - push {lr} - sub sp, 0x8 - ldr r0, _080B7644 @ =gUnknown_083CE308 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, _080B7648 @ =gUnknown_083CE2F0 - ldr r2, _080B764C @ =0x02000000 - ldrb r1, [r2, 0xE] - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldrb r0, [r2, 0xD] - lsls r0, 2 - add r0, sp - ldr r0, [r0] - ldr r1, [r1] - bl _call_via_r1 - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080B7644: .4byte gUnknown_083CE308 -_080B7648: .4byte gUnknown_083CE2F0 -_080B764C: .4byte 0x02000000 - thumb_func_end sub_80B7614 - - thumb_func_start sub_80B7650 -sub_80B7650: @ 80B7650 - push {lr} - ldr r1, _080B765C @ =gUnknown_083CE748 - bl sub_80B7698 - pop {r0} - bx r0 - .align 2, 0 -_080B765C: .4byte gUnknown_083CE748 - thumb_func_end sub_80B7650 - - thumb_func_start sub_80B7660 -sub_80B7660: @ 80B7660 - push {lr} - ldr r1, _080B766C @ =gUnknown_083CEBF8 - bl sub_80B7698 - pop {r0} - bx r0 - .align 2, 0 -_080B766C: .4byte gUnknown_083CEBF8 - thumb_func_end sub_80B7660 - - thumb_func_start sub_80B7670 -sub_80B7670: @ 80B7670 - push {lr} - ldr r1, _080B767C @ =gUnknown_083CF0A8 - bl sub_80B7698 - pop {r0} - bx r0 - .align 2, 0 -_080B767C: .4byte gUnknown_083CF0A8 - thumb_func_end sub_80B7670 - - thumb_func_start sub_80B7680 -sub_80B7680: @ 80B7680 - push {lr} - ldr r0, _080B7690 @ =0x0600f000 - ldr r1, _080B7694 @ =gUnknown_08E86258 - bl sub_80B76E0 - pop {r0} - bx r0 - .align 2, 0 -_080B7690: .4byte 0x0600f000 -_080B7694: .4byte gUnknown_08E86258 - thumb_func_end sub_80B7680 - - thumb_func_start sub_80B7698 -sub_80B7698: @ 80B7698 - push {r4-r7,lr} - mov r12, r0 - adds r3, r1, 0 - movs r4, 0 - ldr r0, _080B76DC @ =gMenuMessageBoxContentTileOffset - ldrh r6, [r0] -_080B76A4: - movs r1, 0 - lsls r4, 16 - asrs r5, r4, 11 -_080B76AA: - lsls r0, r1, 16 - asrs r0, 16 - adds r1, r5, r0 - lsls r1, 1 - add r1, r12 - ldrh r7, [r3] - adds r2, r6, r7 - strh r2, [r1] - adds r0, 0x1 - lsls r0, 16 - adds r3, 0x2 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080B76AA - movs r1, 0x80 - lsls r1, 9 - adds r0, r4, r1 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080B76A4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B76DC: .4byte gMenuMessageBoxContentTileOffset - thumb_func_end sub_80B7698 - - thumb_func_start sub_80B76E0 -sub_80B76E0: @ 80B76E0 - push {r4-r7,lr} - mov r12, r0 - adds r3, r1, 0 - movs r4, 0 - ldr r0, _080B7728 @ =gMenuMessageBoxContentTileOffset - ldrh r6, [r0] -_080B76EC: - movs r1, 0 - lsls r5, r4, 16 - asrs r4, r5, 11 -_080B76F2: - lsls r0, r1, 16 - asrs r0, 16 - adds r1, r4, r0 - lsls r1, 1 - add r1, r12 - ldrh r7, [r3] - adds r2, r6, r7 - strh r2, [r1] - adds r0, 0x1 - lsls r0, 16 - adds r3, 0x2 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080B76F2 - adds r3, 0x4 - movs r1, 0x80 - lsls r1, 9 - adds r0, r5, r1 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080B76EC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B7728: .4byte gMenuMessageBoxContentTileOffset - thumb_func_end sub_80B76E0 - - thumb_func_start sub_80B772C -sub_80B772C: @ 80B772C - push {lr} - ldr r1, _080B773C @ =0x02000000 - ldrb r0, [r1, 0xE] - ldrb r1, [r1, 0xC] - bl nullsub_20 - pop {r0} - bx r0 - .align 2, 0 -_080B773C: .4byte 0x02000000 - thumb_func_end sub_80B772C - - thumb_func_start sub_80B7740 -sub_80B7740: @ 80B7740 - push {r4,lr} - ldr r4, _080B7760 @ =0x02000000 - ldrb r0, [r4, 0xE] - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4, 0xD] - bl nullsub_20 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B7760: .4byte 0x02000000 - thumb_func_end sub_80B7740 - - thumb_func_start nullsub_20 -nullsub_20: @ 80B7764 - bx lr - thumb_func_end nullsub_20 - - thumb_func_start sub_80B7768 -sub_80B7768: @ 80B7768 - ldr r3, _080B778C @ =gUnknown_083CE3A8 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - lsls r2, r1, 2 - adds r2, r1 - lsls r2, 2 - adds r0, r2 - ldr r1, _080B7790 @ =0x02000000 - ldrb r2, [r1, 0xE] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080B778C: .4byte gUnknown_083CE3A8 -_080B7790: .4byte 0x02000000 - thumb_func_end sub_80B7768 - - thumb_func_start sub_80B7794 -sub_80B7794: @ 80B7794 - push {r4-r6,lr} - ldr r6, _080B77EC @ =gUnknown_083CE328 - ldr r4, _080B77F0 @ =0x02000000 - ldrb r0, [r4, 0xC] - lsls r0, 2 - ldrb r1, [r4, 0xE] - lsls r1, 4 - adds r0, r1 - adds r0, r6 - ldr r0, [r0] - bl BasicInitMenuWindow - ldr r5, _080B77F4 @ =gUnknown_083CE310 - ldrb r0, [r4, 0xE] - lsls r0, 3 - adds r0, r5 - ldr r0, [r0] - bl _call_via_r0 - ldrb r1, [r4, 0xD] - lsls r1, 2 - ldrb r0, [r4, 0xE] - lsls r0, 4 - adds r1, r0 - adds r6, 0x8 - adds r1, r6 - ldr r0, [r1] - bl BasicInitMenuWindow - ldrb r0, [r4, 0xE] - lsls r0, 3 - adds r5, 0x4 - adds r0, r5 - ldr r0, [r0] - bl _call_via_r0 - bl sub_80B772C - bl sub_80B7740 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B77EC: .4byte gUnknown_083CE328 -_080B77F0: .4byte 0x02000000 -_080B77F4: .4byte gUnknown_083CE310 - thumb_func_end sub_80B7794 - - thumb_func_start sub_80B77F8 -sub_80B77F8: @ 80B77F8 - push {r4,lr} - ldr r2, _080B782C @ =gUnknown_083CE328 - ldr r4, _080B7830 @ =0x02000000 - ldrb r1, [r4, 0xD] - lsls r1, 2 - ldrb r0, [r4, 0xE] - lsls r0, 4 - adds r1, r0 - adds r2, 0x8 - adds r1, r2 - ldr r0, [r1] - bl BasicInitMenuWindow - ldr r1, _080B7834 @ =gUnknown_083CE310 - ldrb r0, [r4, 0xE] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_80B7740 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B782C: .4byte gUnknown_083CE328 -_080B7830: .4byte 0x02000000 -_080B7834: .4byte gUnknown_083CE310 - thumb_func_end sub_80B77F8 - - thumb_func_start sub_80B7838 -sub_80B7838: @ 80B7838 - push {lr} - movs r0, 0x1 - bl sub_80B785C - pop {r0} - bx r0 - thumb_func_end sub_80B7838 - - thumb_func_start sub_80B7844 -sub_80B7844: @ 80B7844 - push {lr} - movs r0, 0 - bl sub_80B785C - pop {r0} - bx r0 - thumb_func_end sub_80B7844 - - thumb_func_start sub_80B7850 -sub_80B7850: @ 80B7850 - push {lr} - movs r0, 0x2 - bl sub_80B785C - pop {r0} - bx r0 - thumb_func_end sub_80B7850 - - thumb_func_start sub_80B785C -sub_80B785C: @ 80B785C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - movs r5, 0x9 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 4 -_080B786C: - lsls r4, r2, 16 - asrs r4, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - ldr r1, _080B78A4 @ =gUnknown_083CE3A8 - adds r0, r1 - adds r0, r6, r0 - lsls r2, r5, 24 - lsrs r2, 24 - movs r1, 0x3 - bl MenuPrint - adds r4, 0x1 - lsls r4, 16 - lsls r0, r5, 16 - movs r1, 0x80 - lsls r1, 10 - adds r0, r1 - lsrs r5, r0, 16 - lsrs r2, r4, 16 - asrs r4, 16 - cmp r4, 0x3 - ble _080B786C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B78A4: .4byte gUnknown_083CE3A8 - thumb_func_end sub_80B785C - - thumb_func_start sub_80B78A8 -sub_80B78A8: @ 80B78A8 - push {r4,lr} - ldr r0, _080B78E4 @ =gWindowConfig_81E6F4C - bl BasicInitMenuWindow - ldr r1, _080B78E8 @ =gUnknown_083CE358 - ldr r4, _080B78EC @ =0x02000000 - ldrb r0, [r4, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r1, _080B78F0 @ =gUnknown_083CE368 - ldr r0, [r4, 0x34] - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, [r4, 0x34] - ldr r0, [r0, 0x8] - movs r1, 0x9 - movs r2, 0x2 - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B78E4: .4byte gWindowConfig_81E6F4C -_080B78E8: .4byte gUnknown_083CE358 -_080B78EC: .4byte 0x02000000 -_080B78F0: .4byte gUnknown_083CE368 - thumb_func_end sub_80B78A8 - - thumb_func_start nullsub_61 -nullsub_61: @ 80B78F4 - bx lr - thumb_func_end nullsub_61 - - thumb_func_start sub_80B78F8 -sub_80B78F8: @ 80B78F8 - push {lr} - ldr r0, _080B7914 @ =gStringVar1 - ldr r1, _080B7918 @ =0x02000000 - movs r3, 0x3E - ldrsh r2, [r1, r3] - movs r1, 0xB - muls r1, r2 - ldr r2, _080B791C @ =gSpeciesNames - adds r1, r2 - bl StringCopy - pop {r0} - bx r0 - .align 2, 0 -_080B7914: .4byte gStringVar1 -_080B7918: .4byte 0x02000000 -_080B791C: .4byte gSpeciesNames - thumb_func_end sub_80B78F8 - - thumb_func_start nullsub_62 -nullsub_62: @ 80B7920 - bx lr - thumb_func_end nullsub_62 - - thumb_func_start sub_80B7924 -sub_80B7924: @ 80B7924 - push {lr} - sub sp, 0x4 - ldr r1, _080B7958 @ =gUnknown_083CE370 - mov r0, sp - movs r2, 0x2 - bl memcpy - ldr r0, _080B795C @ =0x02000000 - adds r0, 0x40 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0xFF - beq _080B7952 - cmp r0, 0xFE - bne _080B7948 - mov r1, sp - movs r0, 0xB6 - strb r0, [r1] -_080B7948: - mov r0, sp - movs r1, 0x14 - movs r2, 0x4 - bl MenuPrint -_080B7952: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080B7958: .4byte gUnknown_083CE370 -_080B795C: .4byte 0x02000000 - thumb_func_end sub_80B7924 - - thumb_func_start sub_80B7960 -sub_80B7960: @ 80B7960 - push {r4,lr} - ldr r0, _080B799C @ =gStringVar1 - movs r2, 0xFC - strb r2, [r0] - movs r1, 0x14 - strb r1, [r0, 0x1] - movs r1, 0x8 - strb r1, [r0, 0x2] - strb r2, [r0, 0x3] - movs r1, 0x11 - strb r1, [r0, 0x4] - movs r1, 0x1 - strb r1, [r0, 0x5] - adds r0, 0x6 - ldr r4, _080B79A0 @ =0x02000011 - adds r1, r4, 0 - bl StringCopy - ldr r0, _080B79A4 @ =gWindowConfig_81E6F4C - bl BasicInitMenuWindow - ldr r0, _080B799C @ =gStringVar1 - subs r4, 0x11 - ldrb r1, [r4, 0x2] - movs r2, 0x4 - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B799C: .4byte gStringVar1 -_080B79A0: .4byte 0x02000011 -_080B79A4: .4byte gWindowConfig_81E6F4C - thumb_func_end sub_80B7960 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/party_menu.s b/asm/party_menu.s index 0edec1623..f405d174a 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -7430,8 +7430,8 @@ sub_806E7D0: @ 806E7D0 bx r0 thumb_func_end sub_806E7D0 - thumb_func_start sub_806E81C -sub_806E81C: @ 806E81C + thumb_func_start PartyMenuGetPopupMenuFunc +PartyMenuGetPopupMenuFunc: @ 806E81C lsls r0, 24 lsls r3, 24 lsrs r3, 24 @@ -7444,7 +7444,7 @@ sub_806E81C: @ 806E81C adds r0, r2 ldr r0, [r0, 0x4] bx lr - thumb_func_end sub_806E81C + thumb_func_end PartyMenuGetPopupMenuFunc .section .text_806E884 @@ -9414,7 +9414,7 @@ _0806F8FC: strh r3, [r0] _0806F900: adds r5, r0, 0 - ldr r1, _0806F940 @ =gUnknown_02024BEC + ldr r1, _0806F940 @ =gBattleMoveDamage ldrh r0, [r5] negs r0, r0 str r0, [r1] @@ -9442,7 +9442,7 @@ _0806F900: bl StringExpandPlaceholders b _0806F964 .align 2, 0 -_0806F940: .4byte gUnknown_02024BEC +_0806F940: .4byte gBattleMoveDamage _0806F944: .4byte 0x0201c000 _0806F948: .4byte gStringVar1 _0806F94C: .4byte gStringVar2 @@ -10413,13 +10413,13 @@ _080702B0: ldr r1, [r4, 0x10] str r1, [r0] _080702C6: - ldr r1, _080702D4 @ =gUnknown_03005CE0 + ldr r1, _080702D4 @ =gLastFieldPokeMenuOpened movs r0, 0 strb r0, [r1] b _080702DE .align 2, 0 _080702D0: .4byte gTasks -_080702D4: .4byte gUnknown_03005CE0 +_080702D4: .4byte gLastFieldPokeMenuOpened _080702D8: adds r0, r5, 0 bl sub_8070088 diff --git a/asm/pokeball.s b/asm/pokeball.s index 57e4a5a21..9abeed00d 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -152,7 +152,7 @@ _080464D6: beq _0804655C cmp r2, 0xFF bne _08046598 - ldr r0, _08046554 @ =gUnknown_02024C08 + ldr r0, _08046554 @ =gEnemyMonIndex strb r5, [r0] movs r0, 0x18 strh r0, [r4, 0x20] @@ -169,7 +169,7 @@ _08046544: .4byte gUnknown_02024A6A _08046548: .4byte gPlayerParty _0804654C: .4byte gSpriteTemplate_820AAB4 _08046550: .4byte gSprites -_08046554: .4byte gUnknown_02024C08 +_08046554: .4byte gEnemyMonIndex _08046558: .4byte sub_8047074 _0804655C: adds r0, r5, 0 @@ -185,7 +185,7 @@ _0804655C: lsrs r0, 24 adds r0, 0x18 strh r0, [r4, 0x22] - ldr r0, _08046590 @ =gUnknown_02024C08 + ldr r0, _08046590 @ =gEnemyMonIndex strb r5, [r0] movs r3, 0 strh r3, [r4, 0x2E] @@ -196,12 +196,12 @@ _0804655C: str r1, [r0] b _080465A6 .align 2, 0 -_08046590: .4byte gUnknown_02024C08 +_08046590: .4byte gEnemyMonIndex _08046594: .4byte sub_8047254 _08046598: movs r0, 0x1 bl battle_get_side_with_given_state - ldr r1, _080465C4 @ =gUnknown_02024C08 + ldr r1, _080465C4 @ =gEnemyMonIndex strb r0, [r1] movs r0, 0x1 str r0, [sp] @@ -211,7 +211,7 @@ _080465A6: adds r1, r7 lsls r1, 2 adds r4, r1, r0 - ldr r5, _080465C4 @ =gUnknown_02024C08 + ldr r5, _080465C4 @ =gEnemyMonIndex ldrb r0, [r5] strh r0, [r4, 0x3A] ldr r2, [sp] @@ -221,7 +221,7 @@ _080465A6: bl DestroyTask b _08046616 .align 2, 0 -_080465C4: .4byte gUnknown_02024C08 +_080465C4: .4byte gEnemyMonIndex _080465C8: .4byte gSprites _080465CC: movs r0, 0x22 diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s index a8a0ce89d..3a97f8a04 100644 --- a/asm/pokemon_item_effect.s +++ b/asm/pokemon_item_effect.s @@ -1200,7 +1200,7 @@ _0803EB34: .4byte gBattleMons _0803EB38: .4byte gUnknown_02024A60 _0803EB3C: .4byte gUnknown_030042E0 _0803EB40: - ldr r1, _0803EB58 @ =gUnknown_02024BEC + ldr r1, _0803EB58 @ =gBattleMoveDamage ldr r0, [sp] negs r0, r0 str r0, [r1] @@ -1214,7 +1214,7 @@ _0803EB4C: mov r10, r2 b _0803EE0A .align 2, 0 -_0803EB58: .4byte gUnknown_02024BEC +_0803EB58: .4byte gBattleMoveDamage _0803EB5C: movs r7, 0x2 mov r0, r10 diff --git a/asm/pokemon_menu.s b/asm/pokemon_menu.s index 6a3fbb170..2f1c16f8c 100644 --- a/asm/pokemon_menu.s +++ b/asm/pokemon_menu.s @@ -31,7 +31,7 @@ sub_8089A8C: @ 8089A8C ldr r5, _08089AD0 @ =gUnknown_0202FFA9 movs r0, 0 strb r0, [r5] - ldr r0, _08089AD4 @ =gUnknown_03005CE0 + ldr r0, _08089AD4 @ =gLastFieldPokeMenuOpened ldrb r1, [r0] movs r0, 0x64 muls r0, r1 @@ -57,7 +57,7 @@ sub_8089A8C: @ 8089A8C b _08089BC8 .align 2, 0 _08089AD0: .4byte gUnknown_0202FFA9 -_08089AD4: .4byte gUnknown_03005CE0 +_08089AD4: .4byte gLastFieldPokeMenuOpened _08089AD8: .4byte gPlayerParty _08089ADC: .4byte gUnknown_0202FFAA _08089AE0: @@ -73,7 +73,7 @@ _08089AE8: beq _08089B48 ldr r5, _08089B24 @ =gUnknown_0839F554 _08089AF4: - ldr r0, _08089B28 @ =gUnknown_03005CE0 + ldr r0, _08089B28 @ =gLastFieldPokeMenuOpened ldrb r1, [r0] movs r0, 0x64 muls r0, r1 @@ -97,7 +97,7 @@ _08089AF4: b _08089B48 .align 2, 0 _08089B24: .4byte gUnknown_0839F554 -_08089B28: .4byte gUnknown_03005CE0 +_08089B28: .4byte gLastFieldPokeMenuOpened _08089B2C: .4byte gPlayerParty _08089B30: .4byte gUnknown_0202FFAA _08089B34: .4byte gUnknown_0202FFA9 @@ -132,7 +132,7 @@ _08089B48: movs r2, 0x1 bl AppendToList _08089B76: - ldr r0, _08089BB0 @ =gUnknown_03005CE0 + ldr r0, _08089BB0 @ =gLastFieldPokeMenuOpened ldrb r1, [r0] movs r0, 0x64 muls r0, r1 @@ -156,7 +156,7 @@ _08089B76: _08089BA4: .4byte gUnknown_0202FFAA _08089BA8: .4byte gUnknown_0202FFA9 _08089BAC: .4byte gPlayerParty + 1 * 0x64 -_08089BB0: .4byte gUnknown_03005CE0 +_08089BB0: .4byte gLastFieldPokeMenuOpened _08089BB4: adds r0, r4, 0 adds r1, r5, 0 @@ -336,7 +336,7 @@ _08089D04: bl PlaySE adds r0, r4, 0 bl sub_806CA38 - ldr r1, _08089D48 @ =gUnknown_03005CE0 + ldr r1, _08089D48 @ =gLastFieldPokeMenuOpened strb r0, [r1] ldrb r1, [r1] movs r0, 0x64 @@ -361,7 +361,7 @@ _08089D04: bl sub_808B5B4 b _08089D84 .align 2, 0 -_08089D48: .4byte gUnknown_03005CE0 +_08089D48: .4byte gLastFieldPokeMenuOpened _08089D4C: .4byte gPlayerParty _08089D50: .4byte gStringVar1 _08089D54: .4byte gUnknown_0202FFA8 @@ -492,7 +492,7 @@ sub_8089E4C: @ 8089E4C lsrs r1, r0, 24 cmp r1, 0 bne _08089E72 - ldr r0, _08089E7C @ =gUnknown_03005CE0 + ldr r0, _08089E7C @ =gLastFieldPokeMenuOpened strb r1, [r0] ldr r0, _08089E80 @ =sub_805469C bl SetMainCallback2 @@ -504,14 +504,14 @@ _08089E72: bx r0 .align 2, 0 _08089E78: .4byte gPaletteFade -_08089E7C: .4byte gUnknown_03005CE0 +_08089E7C: .4byte gLastFieldPokeMenuOpened _08089E80: .4byte sub_805469C thumb_func_end sub_8089E4C thumb_func_start sub_8089E84 sub_8089E84: @ 8089E84 push {lr} - ldr r0, _08089EAC @ =gUnknown_03005CE0 + ldr r0, _08089EAC @ =gLastFieldPokeMenuOpened ldrb r1, [r0] movs r0, 0x64 muls r0, r1 @@ -528,7 +528,7 @@ sub_8089E84: @ 8089E84 pop {r0} bx r0 .align 2, 0 -_08089EAC: .4byte gUnknown_03005CE0 +_08089EAC: .4byte gLastFieldPokeMenuOpened _08089EB0: .4byte gPlayerParty _08089EB4: .4byte gStringVar1 _08089EB8: .4byte gUnknown_0202FFA8 @@ -561,7 +561,7 @@ _08089ED8: ldrb r0, [r4] movs r1, 0 bl sub_806BF74 - ldr r1, _08089F0C @ =gUnknown_03005CE0 + ldr r1, _08089F0C @ =gLastFieldPokeMenuOpened ldrb r0, [r5] strb r0, [r1] bl sub_8089E84 @@ -572,7 +572,7 @@ _08089F04: pop {r0} bx r0 .align 2, 0 -_08089F0C: .4byte gUnknown_03005CE0 +_08089F0C: .4byte gLastFieldPokeMenuOpened _08089F10: .4byte sub_806AEDC thumb_func_end sub_8089EBC @@ -784,7 +784,7 @@ _0808A0A4: ldr r0, _0808A0D4 @ =gUnknown_0202FFA8 ldrb r3, [r0] movs r0, 0 - bl sub_806E81C + bl PartyMenuGetPopupMenuFunc adds r1, r0, 0 adds r0, r5, 0 bl _call_via_r1 @@ -1126,7 +1126,7 @@ _0808A370: cmp r0, 0x1 bne _0808A364 ldrb r0, [r4] - ldr r1, _0808A39C @ =gUnknown_03005CE0 + ldr r1, _0808A39C @ =gLastFieldPokeMenuOpened ldrb r1, [r1] bl sub_806C994 ldrb r0, [r4] @@ -1139,7 +1139,7 @@ _0808A394: pop {r0} bx r0 .align 2, 0 -_0808A39C: .4byte gUnknown_03005CE0 +_0808A39C: .4byte gLastFieldPokeMenuOpened _0808A3A0: .4byte sub_806AEDC thumb_func_end sub_808A358 @@ -1155,7 +1155,7 @@ _0808A3AA: cmp r0, 0x1 bne _0808A3E4 ldrb r0, [r4] - ldr r1, _0808A3DC @ =gUnknown_03005CE0 + ldr r1, _0808A3DC @ =gLastFieldPokeMenuOpened ldrb r1, [r1] bl sub_806C994 ldrb r0, [r4] @@ -1169,7 +1169,7 @@ _0808A3AA: b _0808A3F0 .align 2, 0 _0808A3D8: .4byte 0x0201b260 -_0808A3DC: .4byte gUnknown_03005CE0 +_0808A3DC: .4byte gLastFieldPokeMenuOpened _0808A3E0: .4byte sub_806AEDC _0808A3E4: bl sub_80F9344 @@ -1205,7 +1205,7 @@ sub_808A3F8: @ 808A3F8 adds r0, r4, 0 movs r1, 0 bl sub_806BD58 - ldr r0, _0808A46C @ =gUnknown_03005CE0 + ldr r0, _0808A46C @ =gLastFieldPokeMenuOpened ldrb r1, [r0] adds r0, r4, 0 bl sub_806C994 @@ -1232,7 +1232,7 @@ sub_808A3F8: @ 808A3F8 _0808A460: .4byte gScriptItemId _0808A464: .4byte sub_808A330 _0808A468: .4byte gPaletteFade -_0808A46C: .4byte gUnknown_03005CE0 +_0808A46C: .4byte gLastFieldPokeMenuOpened _0808A470: .4byte gPlayerParty _0808A474: .4byte sub_808A34C _0808A478: @@ -1298,7 +1298,7 @@ _0808A4EC: cmp r0, 0x1 bne _0808A4E0 ldrb r0, [r4] - ldr r1, _0808A518 @ =gUnknown_03005CE0 + ldr r1, _0808A518 @ =gLastFieldPokeMenuOpened ldrb r1, [r1] bl sub_806C994 ldrb r0, [r4] @@ -1311,7 +1311,7 @@ _0808A510: pop {r0} bx r0 .align 2, 0 -_0808A518: .4byte gUnknown_03005CE0 +_0808A518: .4byte gLastFieldPokeMenuOpened _0808A51C: .4byte sub_806AEDC thumb_func_end sub_808A4D4 @@ -1334,7 +1334,7 @@ sub_808A520: @ 808A520 movs r1, 0x1 bl RemoveBagItem _0808A542: - ldr r6, _0808A590 @ =gUnknown_03005CE0 + ldr r6, _0808A590 @ =gLastFieldPokeMenuOpened ldrb r0, [r6] movs r5, 0x64 muls r0, r5 @@ -1366,7 +1366,7 @@ _0808A542: _0808A584: .4byte gPaletteFade _0808A588: .4byte gScriptResult _0808A58C: .4byte gUnknown_0202E8F8 -_0808A590: .4byte gUnknown_03005CE0 +_0808A590: .4byte gLastFieldPokeMenuOpened _0808A594: .4byte gPlayerParty _0808A598: .4byte sub_8089CD4 _0808A59C: @@ -1397,7 +1397,7 @@ sub_808A5BC: @ 808A5BC ands r0, r1 cmp r0, 0 bne _0808A5EA - ldr r0, _0808A5F4 @ =gUnknown_03005CE0 + ldr r0, _0808A5F4 @ =gLastFieldPokeMenuOpened ldrb r0, [r0] ldr r1, _0808A5F8 @ =gScriptItemId ldrh r1, [r1] @@ -1416,7 +1416,7 @@ _0808A5EA: bx r0 .align 2, 0 _0808A5F0: .4byte gPaletteFade -_0808A5F4: .4byte gUnknown_03005CE0 +_0808A5F4: .4byte gLastFieldPokeMenuOpened _0808A5F8: .4byte gScriptItemId _0808A5FC: .4byte gTasks _0808A600: .4byte sub_808A1E0 @@ -1648,7 +1648,7 @@ _0808A7B4: ldr r0, _0808A7EC @ =gUnknown_0202FFA8 ldrb r3, [r0] movs r0, 0 - bl sub_806E81C + bl PartyMenuGetPopupMenuFunc adds r1, r0, 0 adds r0, r5, 0 bl _call_via_r1 @@ -1755,7 +1755,7 @@ _0808A8A4: .4byte sub_808A8A8 sub_808A8A8: @ 808A8A8 push {lr} ldr r1, _0808A8C4 @ =gUnknown_020384F0 - ldr r0, _0808A8C8 @ =gUnknown_03005CE0 + ldr r0, _0808A8C8 @ =gLastFieldPokeMenuOpened ldrb r0, [r0] strb r0, [r1] ldr r0, _0808A8CC @ =0x0201b000 @@ -1768,7 +1768,7 @@ sub_808A8A8: @ 808A8A8 bx r0 .align 2, 0 _0808A8C4: .4byte gUnknown_020384F0 -_0808A8C8: .4byte gUnknown_03005CE0 +_0808A8C8: .4byte gLastFieldPokeMenuOpened _0808A8CC: .4byte 0x0201b000 _0808A8D0: .4byte 0x00000262 thumb_func_end sub_808A8A8 @@ -2129,7 +2129,7 @@ sub_808ABA8: @ 808ABA8 lsrs r0, 24 cmp r0, 0x1 bne _0808ABDE - ldr r0, _0808ABE4 @ =gUnknown_03005CE0 + ldr r0, _0808ABE4 @ =gLastFieldPokeMenuOpened ldrb r1, [r0] movs r0, 0x64 muls r0, r1 @@ -2149,7 +2149,7 @@ _0808ABDE: pop {r0} bx r0 .align 2, 0 -_0808ABE4: .4byte gUnknown_03005CE0 +_0808ABE4: .4byte gLastFieldPokeMenuOpened _0808ABE8: .4byte gPlayerParty _0808ABEC: .4byte gUnknown_0202FF84 _0808ABF0: .4byte gUnknown_03005CE4 @@ -2190,7 +2190,7 @@ _0808AC28: .4byte gMain sub_808AC2C: @ 808AC2C push {lr} ldr r0, _0808AC40 @ =gUnknown_0202FF84 - ldr r1, _0808AC44 @ =gUnknown_03005CE0 + ldr r1, _0808AC44 @ =gLastFieldPokeMenuOpened ldrb r1, [r1] str r1, [r0] movs r0, 0x9 @@ -2199,7 +2199,7 @@ sub_808AC2C: @ 808AC2C bx r0 .align 2, 0 _0808AC40: .4byte gUnknown_0202FF84 -_0808AC44: .4byte gUnknown_03005CE0 +_0808AC44: .4byte gLastFieldPokeMenuOpened thumb_func_end sub_808AC2C thumb_func_start SetUpFieldMove_Surf @@ -2239,7 +2239,7 @@ _0808AC86: sub_808AC8C: @ 808AC8C push {lr} ldr r0, _0808ACA0 @ =gUnknown_0202FF84 - ldr r1, _0808ACA4 @ =gUnknown_03005CE0 + ldr r1, _0808ACA4 @ =gLastFieldPokeMenuOpened ldrb r1, [r1] str r1, [r0] movs r0, 0x1F @@ -2248,7 +2248,7 @@ sub_808AC8C: @ 808AC8C bx r0 .align 2, 0 _0808ACA0: .4byte gUnknown_0202FF84 -_0808ACA4: .4byte gUnknown_03005CE0 +_0808ACA4: .4byte gLastFieldPokeMenuOpened thumb_func_end sub_808AC8C thumb_func_start SetUpFieldMove_Fly @@ -2320,7 +2320,7 @@ _0808AD24: cmp r0, 0x1 bne _0808AD18 ldrb r0, [r4] - ldr r1, _0808AD50 @ =gUnknown_03005CE0 + ldr r1, _0808AD50 @ =gLastFieldPokeMenuOpened ldrb r1, [r1] bl sub_806C994 ldrb r0, [r4] @@ -2333,7 +2333,7 @@ _0808AD48: pop {r0} bx r0 .align 2, 0 -_0808AD50: .4byte gUnknown_03005CE0 +_0808AD50: .4byte gLastFieldPokeMenuOpened _0808AD54: .4byte sub_806AEDC thumb_func_end sub_808AD0C @@ -2363,7 +2363,7 @@ _0808AD84: .4byte sub_808AD0C thumb_func_start unref_sub_808AD88 unref_sub_808AD88: @ 808AD88 push {lr} - ldr r0, _0808ADA4 @ =gUnknown_03005CE0 + ldr r0, _0808ADA4 @ =gLastFieldPokeMenuOpened ldrb r1, [r0] movs r0, 0x64 muls r0, r1 @@ -2376,7 +2376,7 @@ unref_sub_808AD88: @ 808AD88 pop {r1} bx r1 .align 2, 0 -_0808ADA4: .4byte gUnknown_03005CE0 +_0808ADA4: .4byte gLastFieldPokeMenuOpened _0808ADA8: .4byte gPlayerParty thumb_func_end unref_sub_808AD88 @@ -2384,7 +2384,7 @@ _0808ADA8: .4byte gPlayerParty sub_808ADAC: @ 808ADAC push {lr} ldr r0, _0808ADC0 @ =gUnknown_0202FF84 - ldr r1, _0808ADC4 @ =gUnknown_03005CE0 + ldr r1, _0808ADC4 @ =gLastFieldPokeMenuOpened ldrb r1, [r1] str r1, [r0] movs r0, 0x2C @@ -2393,7 +2393,7 @@ sub_808ADAC: @ 808ADAC bx r0 .align 2, 0 _0808ADC0: .4byte gUnknown_0202FF84 -_0808ADC4: .4byte gUnknown_03005CE0 +_0808ADC4: .4byte gLastFieldPokeMenuOpened thumb_func_end sub_808ADAC thumb_func_start SetUpFieldMove_Dive @@ -2432,7 +2432,7 @@ _0808AE04: .4byte sub_808ADAC sub_808AE08: @ 808AE08 push {lr} ldr r0, _0808AE1C @ =gUnknown_0202FF84 - ldr r1, _0808AE20 @ =gUnknown_03005CE0 + ldr r1, _0808AE20 @ =gLastFieldPokeMenuOpened ldrb r1, [r1] str r1, [r0] movs r0, 0x2B @@ -2441,7 +2441,7 @@ sub_808AE08: @ 808AE08 bx r0 .align 2, 0 _0808AE1C: .4byte gUnknown_0202FF84 -_0808AE20: .4byte gUnknown_03005CE0 +_0808AE20: .4byte gLastFieldPokeMenuOpened thumb_func_end sub_808AE08 thumb_func_start SetUpFieldMove_Waterfall @@ -2648,7 +2648,7 @@ _0808AFBC: _0808AFC2: bl sub_808AF20 _0808AFC6: - ldr r4, _0808B000 @ =gUnknown_03005CE0 + ldr r4, _0808B000 @ =gLastFieldPokeMenuOpened ldrb r0, [r4] cmp r0, 0x5 bhi _0808AFE2 @@ -2666,7 +2666,7 @@ _0808AFE2: strb r0, [r4] _0808AFE6: ldrb r0, [r5] - ldr r1, _0808B000 @ =gUnknown_03005CE0 + ldr r1, _0808B000 @ =gLastFieldPokeMenuOpened ldrb r1, [r1] bl sub_806C994 ldrb r0, [r5] @@ -2676,7 +2676,7 @@ _0808AFE6: bl SetMainCallback2 b _0808B018 .align 2, 0 -_0808B000: .4byte gUnknown_03005CE0 +_0808B000: .4byte gLastFieldPokeMenuOpened _0808B004: .4byte gPlayerParty _0808B008: .4byte sub_806AEDC _0808B00C: @@ -2796,7 +2796,7 @@ _0808B0EC: .4byte gPaletteFade _0808B0F0: adds r0, r4, 0 bl sub_806CA38 - ldr r1, _0808B118 @ =gUnknown_03005CE0 + ldr r1, _0808B118 @ =gLastFieldPokeMenuOpened strb r0, [r1] ldrb r1, [r1] movs r0, 0x64 @@ -2811,7 +2811,7 @@ _0808B0F0: bl PlaySE b _0808B1CE .align 2, 0 -_0808B118: .4byte gUnknown_03005CE0 +_0808B118: .4byte gLastFieldPokeMenuOpened _0808B11C: .4byte gPlayerParty _0808B120: bl sub_806D5A4 @@ -2857,7 +2857,7 @@ _0808B180: .4byte sub_808B2B4 _0808B184: adds r0, r4, 0 bl sub_806CA38 - ldr r1, _0808B1D8 @ =gUnknown_03005CE0 + ldr r1, _0808B1D8 @ =gLastFieldPokeMenuOpened strb r0, [r1] movs r0, 0x5 bl PlaySE @@ -2896,7 +2896,7 @@ _0808B1CE: pop {r0} bx r0 .align 2, 0 -_0808B1D8: .4byte gUnknown_03005CE0 +_0808B1D8: .4byte gLastFieldPokeMenuOpened _0808B1DC: .4byte gUnknown_02038561 _0808B1E0: .4byte gTasks _0808B1E4: .4byte sub_808B25C @@ -3092,7 +3092,7 @@ sub_808B338: @ 808B338 bne _0808B384 adds r0, r5, 0 bl sub_806CA38 - ldr r1, _0808B390 @ =gUnknown_03005CE0 + ldr r1, _0808B390 @ =gLastFieldPokeMenuOpened strb r0, [r1] ldrb r1, [r1] movs r0, 0x64 @@ -3121,7 +3121,7 @@ _0808B384: bx r0 .align 2, 0 _0808B38C: .4byte gPaletteFade -_0808B390: .4byte gUnknown_03005CE0 +_0808B390: .4byte gLastFieldPokeMenuOpened _0808B394: .4byte gPlayerParty _0808B398: .4byte gSaveBlock1 + 0x2B4C _0808B39C: .4byte sub_808B3EC @@ -3147,7 +3147,7 @@ _0808B3B8: cmp r0, 0x1 bne _0808B3AC ldrb r0, [r4] - ldr r1, _0808B3E4 @ =gUnknown_03005CE0 + ldr r1, _0808B3E4 @ =gLastFieldPokeMenuOpened ldrb r1, [r1] bl sub_806C994 ldrb r0, [r4] @@ -3160,7 +3160,7 @@ _0808B3DC: pop {r0} bx r0 .align 2, 0 -_0808B3E4: .4byte gUnknown_03005CE0 +_0808B3E4: .4byte gLastFieldPokeMenuOpened _0808B3E8: .4byte sub_806AEDC thumb_func_end sub_808B3A0 @@ -3187,7 +3187,7 @@ sub_808B3EC: @ 808B3EC movs r1, 0x1 bl RemoveBagItem _0808B416: - ldr r6, _0808B470 @ =gUnknown_03005CE0 + ldr r6, _0808B470 @ =gLastFieldPokeMenuOpened ldrb r0, [r6] movs r5, 0x64 muls r0, r5 @@ -3224,7 +3224,7 @@ _0808B416: _0808B464: .4byte gPaletteFade _0808B468: .4byte gScriptResult _0808B46C: .4byte gUnknown_0202E8F8 -_0808B470: .4byte gUnknown_03005CE0 +_0808B470: .4byte gLastFieldPokeMenuOpened _0808B474: .4byte gPlayerParty _0808B478: .4byte sub_808B25C _0808B47C: .4byte sub_806AEDC @@ -3258,7 +3258,7 @@ sub_808B4A4: @ 808B4A4 ands r0, r1 cmp r0, 0 bne _0808B4D2 - ldr r0, _0808B4DC @ =gUnknown_03005CE0 + ldr r0, _0808B4DC @ =gLastFieldPokeMenuOpened ldrb r0, [r0] ldr r1, _0808B4E0 @ =gScriptItemId ldrh r1, [r1] @@ -3277,7 +3277,7 @@ _0808B4D2: bx r0 .align 2, 0 _0808B4D8: .4byte gPaletteFade -_0808B4DC: .4byte gUnknown_03005CE0 +_0808B4DC: .4byte gLastFieldPokeMenuOpened _0808B4E0: .4byte gScriptItemId _0808B4E4: .4byte gTasks _0808B4E8: .4byte sub_808B4EC diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 801c941d1..bcf005f2f 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -7972,7 +7972,7 @@ _0809988A: strb r0, [r2, 0x1] ldr r0, [r4] ldr r1, [r0] - ldr r0, _080998D4 @ =gUnknown_083B6F5C + ldr r0, _080998D4 @ =gSpriteAffineAnimTable_83B6F5C str r0, [r1, 0x10] ldr r0, [r4] ldr r0, [r0] @@ -7986,7 +7986,7 @@ _080998C0: _080998C8: .4byte gUnknown_083B6DB4 _080998CC: .4byte 0x000010cc _080998D0: .4byte 0x00001034 -_080998D4: .4byte gUnknown_083B6F5C +_080998D4: .4byte gSpriteAffineAnimTable_83B6F5C thumb_func_end sub_809981C thumb_func_start sub_80998D8 diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s index 1b58b417b..2fbc559c8 100644 --- a/asm/reset_rtc_screen.s +++ b/asm/reset_rtc_screen.s @@ -1238,7 +1238,7 @@ _0806AE54: .4byte 0x00004040 _0806AE58: .4byte gSystemText_ClockResetDataSave _0806AE5C: movs r0, 0 - bl sub_8125D44 + bl TrySavingData lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/rom3.s b/asm/rom3.s deleted file mode 100644 index 94862459b..000000000 --- a/asm/rom3.s +++ /dev/null @@ -1,3411 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_800B858 -sub_800B858: @ 800B858 - push {lr} - ldr r0, _0800B87C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800B876 - bl OpenLink - ldr r0, _0800B880 @ =sub_8083C50 - movs r1, 0 - bl CreateTask - bl sub_800BF28 -_0800B876: - pop {r0} - bx r0 - .align 2, 0 -_0800B87C: .4byte gBattleTypeFlags -_0800B880: .4byte sub_8083C50 - thumb_func_end sub_800B858 - - thumb_func_start sub_800B884 -sub_800B884: @ 800B884 - push {r4-r7,lr} - sub sp, 0x14 - ldr r0, _0800B920 @ =gUnknown_030042D4 - ldr r1, _0800B924 @ =nullsub_41 - str r1, [r0] - movs r0, 0 - str r0, [sp, 0x10] - movs r1, 0 - ldr r7, _0800B928 @ =gUnknown_03004330 - ldr r6, _0800B92C @ =gUnknown_02024E60 - movs r2, 0 - ldr r5, _0800B930 @ =gUnknown_02024E64 - ldr r4, _0800B934 @ =nullsub_91 - ldr r3, _0800B938 @ =gUnknown_02024A72 -_0800B8A0: - lsls r0, r1, 2 - adds r0, r7 - str r4, [r0] - adds r1, r3 - movs r0, 0xFF - strb r0, [r1] - ldr r0, [sp, 0x10] - adds r0, r6 - strb r2, [r0] - ldr r0, [sp, 0x10] - adds r0, r5 - strb r2, [r0] - ldr r0, [sp, 0x10] - adds r0, 0x1 - str r0, [sp, 0x10] - adds r1, r0, 0 - cmp r1, 0x3 - ble _0800B8A0 - bl sub_800B858 - ldr r0, _0800B93C @ =gUnknown_02024A64 - movs r5, 0 - str r5, [r0] - bl sub_8075624 - bl sub_8040710 - bl BattleAI_HandleItemUseBeforeAISetup - ldr r0, _0800B940 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0800B90E - bl ZeroEnemyPartyMons - ldr r4, _0800B944 @ =gEnemyParty - movs r1, 0x8F - lsls r1, 1 - str r5, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - str r5, [sp, 0xC] - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x20 - bl CreateMon - str r5, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0xC - add r2, sp, 0x10 - bl SetMonData -_0800B90E: - ldr r0, _0800B948 @ =gUnknown_020239FC - str r5, [r0] - ldr r0, _0800B94C @ =gUnknown_02024C78 - strb r5, [r0] - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800B920: .4byte gUnknown_030042D4 -_0800B924: .4byte nullsub_41 -_0800B928: .4byte gUnknown_03004330 -_0800B92C: .4byte gUnknown_02024E60 -_0800B930: .4byte gUnknown_02024E64 -_0800B934: .4byte nullsub_91 -_0800B938: .4byte gUnknown_02024A72 -_0800B93C: .4byte gUnknown_02024A64 -_0800B940: .4byte gBattleTypeFlags -_0800B944: .4byte gEnemyParty -_0800B948: .4byte gUnknown_020239FC -_0800B94C: .4byte gUnknown_02024C78 - thumb_func_end sub_800B884 - - thumb_func_start sub_800B950 -sub_800B950: @ 800B950 - push {r4,r5,lr} - ldr r0, _0800B964 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800B968 - bl sub_800BA78 - b _0800B96C - .align 2, 0 -_0800B964: .4byte gBattleTypeFlags -_0800B968: - bl sub_800B9A8 -_0800B96C: - bl sub_800BD54 - ldr r0, _0800B9A0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0800B99A - movs r4, 0 - ldr r0, _0800B9A4 @ =gUnknown_02024A68 - ldrb r1, [r0] - cmp r4, r1 - bge _0800B99A - adds r5, r0, 0 -_0800B988: - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8094978 - adds r4, 0x1 - ldrb r0, [r5] - cmp r4, r0 - blt _0800B988 -_0800B99A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800B9A0: .4byte gBattleTypeFlags -_0800B9A4: .4byte gUnknown_02024A68 - thumb_func_end sub_800B950 - - thumb_func_start sub_800B9A8 -sub_800B9A8: @ 800B9A8 - push {r4,lr} - ldr r0, _0800B9CC @ =gBattleTypeFlags - ldrh r2, [r0] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _0800BA28 - ldr r1, _0800B9D0 @ =gUnknown_030042D4 - ldr r0, _0800B9D4 @ =sub_8010800 - str r0, [r1] - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _0800B9E0 - ldr r1, _0800B9D8 @ =gUnknown_03004330 - ldr r0, _0800B9DC @ =sub_812B468 - b _0800B9FC - .align 2, 0 -_0800B9CC: .4byte gBattleTypeFlags -_0800B9D0: .4byte gUnknown_030042D4 -_0800B9D4: .4byte sub_8010800 -_0800B9D8: .4byte gUnknown_03004330 -_0800B9DC: .4byte sub_812B468 -_0800B9E0: - movs r0, 0x80 - lsls r0, 2 - ands r0, r2 - cmp r0, 0 - beq _0800B9F8 - ldr r1, _0800B9F0 @ =gUnknown_03004330 - ldr r0, _0800B9F4 @ =sub_8137224 - b _0800B9FC - .align 2, 0 -_0800B9F0: .4byte gUnknown_03004330 -_0800B9F4: .4byte sub_8137224 -_0800B9F8: - ldr r1, _0800BA14 @ =gUnknown_03004330 - ldr r0, _0800BA18 @ =sub_802BF74 -_0800B9FC: - str r0, [r1] - adds r2, r1, 0 - ldr r1, _0800BA1C @ =gUnknown_02024A72 - movs r0, 0 - strb r0, [r1] - ldr r0, _0800BA20 @ =sub_8032AE0 - str r0, [r2, 0x4] - movs r0, 0x1 - strb r0, [r1, 0x1] - ldr r1, _0800BA24 @ =gUnknown_02024A68 - movs r0, 0x2 - b _0800BA52 - .align 2, 0 -_0800BA14: .4byte gUnknown_03004330 -_0800BA18: .4byte sub_802BF74 -_0800BA1C: .4byte gUnknown_02024A72 -_0800BA20: .4byte sub_8032AE0 -_0800BA24: .4byte gUnknown_02024A68 -_0800BA28: - ldr r1, _0800BA5C @ =gUnknown_030042D4 - ldr r0, _0800BA60 @ =sub_8010800 - str r0, [r1] - ldr r2, _0800BA64 @ =gUnknown_03004330 - ldr r4, _0800BA68 @ =sub_802BF74 - str r4, [r2] - ldr r1, _0800BA6C @ =gUnknown_02024A72 - movs r0, 0 - strb r0, [r1] - ldr r3, _0800BA70 @ =sub_8032AE0 - str r3, [r2, 0x4] - movs r0, 0x1 - strb r0, [r1, 0x1] - str r4, [r2, 0x8] - movs r0, 0x2 - strb r0, [r1, 0x2] - str r3, [r2, 0xC] - movs r0, 0x3 - strb r0, [r1, 0x3] - ldr r1, _0800BA74 @ =gUnknown_02024A68 - movs r0, 0x4 -_0800BA52: - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800BA5C: .4byte gUnknown_030042D4 -_0800BA60: .4byte sub_8010800 -_0800BA64: .4byte gUnknown_03004330 -_0800BA68: .4byte sub_802BF74 -_0800BA6C: .4byte gUnknown_02024A72 -_0800BA70: .4byte sub_8032AE0 -_0800BA74: .4byte gUnknown_02024A68 - thumb_func_end sub_800B9A8 - - thumb_func_start sub_800BA78 -sub_800BA78: @ 800BA78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r6, _0800BAB8 @ =gBattleTypeFlags - ldrh r1, [r6] - movs r5, 0x1 - movs r4, 0x1 - ands r4, r1 - cmp r4, 0 - bne _0800BB04 - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _0800BAD8 - ldr r1, _0800BABC @ =gUnknown_030042D4 - ldr r0, _0800BAC0 @ =sub_8010800 - str r0, [r1] - ldr r2, _0800BAC4 @ =gUnknown_03004330 - ldr r0, _0800BAC8 @ =sub_802BF74 - str r0, [r2] - ldr r1, _0800BACC @ =gUnknown_02024A72 - strb r4, [r1] - ldr r0, _0800BAD0 @ =sub_8037510 - str r0, [r2, 0x4] - strb r5, [r1, 0x1] - ldr r1, _0800BAD4 @ =gUnknown_02024A68 - movs r0, 0x2 - b _0800BD3E - .align 2, 0 -_0800BAB8: .4byte gBattleTypeFlags -_0800BABC: .4byte gUnknown_030042D4 -_0800BAC0: .4byte sub_8010800 -_0800BAC4: .4byte gUnknown_03004330 -_0800BAC8: .4byte sub_802BF74 -_0800BACC: .4byte gUnknown_02024A72 -_0800BAD0: .4byte sub_8037510 -_0800BAD4: .4byte gUnknown_02024A68 -_0800BAD8: - ldr r2, _0800BAF0 @ =gUnknown_03004330 - ldr r0, _0800BAF4 @ =sub_802BF74 - str r0, [r2, 0x4] - ldr r1, _0800BAF8 @ =gUnknown_02024A72 - strb r3, [r1, 0x1] - ldr r0, _0800BAFC @ =sub_8037510 - str r0, [r2] - strb r5, [r1] - ldr r1, _0800BB00 @ =gUnknown_02024A68 - movs r0, 0x2 - b _0800BD3E - .align 2, 0 -_0800BAF0: .4byte gUnknown_03004330 -_0800BAF4: .4byte sub_802BF74 -_0800BAF8: .4byte gUnknown_02024A72 -_0800BAFC: .4byte sub_8037510 -_0800BB00: .4byte gUnknown_02024A68 -_0800BB04: - movs r0, 0x41 - ands r0, r1 - cmp r0, 0x1 - bne _0800BB90 - movs r6, 0x4 - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _0800BB58 - ldr r1, _0800BB40 @ =gUnknown_030042D4 - ldr r0, _0800BB44 @ =sub_8010800 - str r0, [r1] - ldr r2, _0800BB48 @ =gUnknown_03004330 - ldr r4, _0800BB4C @ =sub_802BF74 - str r4, [r2] - ldr r1, _0800BB50 @ =gUnknown_02024A72 - movs r0, 0 - strb r0, [r1] - ldr r3, _0800BB54 @ =sub_8037510 - str r3, [r2, 0x4] - strb r5, [r1, 0x1] - str r4, [r2, 0x8] - movs r0, 0x2 - strb r0, [r1, 0x2] - str r3, [r2, 0xC] - movs r0, 0x3 - strb r0, [r1, 0x3] - b _0800BB74 - .align 2, 0 -_0800BB40: .4byte gUnknown_030042D4 -_0800BB44: .4byte sub_8010800 -_0800BB48: .4byte gUnknown_03004330 -_0800BB4C: .4byte sub_802BF74 -_0800BB50: .4byte gUnknown_02024A72 -_0800BB54: .4byte sub_8037510 -_0800BB58: - ldr r2, _0800BB7C @ =gUnknown_03004330 - ldr r0, _0800BB80 @ =sub_802BF74 - str r0, [r2, 0x4] - ldr r1, _0800BB84 @ =gUnknown_02024A72 - strb r3, [r1, 0x1] - ldr r3, _0800BB88 @ =sub_8037510 - str r3, [r2] - strb r5, [r1] - str r0, [r2, 0xC] - movs r0, 0x2 - strb r0, [r1, 0x3] - str r3, [r2, 0x8] - movs r0, 0x3 - strb r0, [r1, 0x2] -_0800BB74: - ldr r0, _0800BB8C @ =gUnknown_02024A68 - strb r6, [r0] - b _0800BD40 - .align 2, 0 -_0800BB7C: .4byte gUnknown_03004330 -_0800BB80: .4byte sub_802BF74 -_0800BB84: .4byte gUnknown_02024A72 -_0800BB88: .4byte sub_8037510 -_0800BB8C: .4byte gUnknown_02024A68 -_0800BB90: - bl GetMultiplayerId - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0800BBA8 - ldr r1, _0800BBD0 @ =gUnknown_030042D4 - ldr r0, _0800BBD4 @ =sub_8010800 - str r0, [r1] -_0800BBA8: - movs r0, 0 - mov r10, r0 - ldr r1, _0800BBD8 @ =gLinkPlayers - mov r12, r1 - ldr r7, _0800BBDC @ =gUnknown_02024A72 - mov r8, r0 - ldr r6, _0800BBE0 @ =gUnknown_02024A6A - movs r4, 0 - movs r2, 0x3 - mov r9, r2 -_0800BBBC: - mov r1, r12 - adds r0, r4, r1 - ldrh r0, [r0, 0x18] - cmp r0, 0x2 - bgt _0800BBE4 - cmp r0, 0x1 - bge _0800BBFC - cmp r0, 0 - beq _0800BBE8 - b _0800BC06 - .align 2, 0 -_0800BBD0: .4byte gUnknown_030042D4 -_0800BBD4: .4byte sub_8010800 -_0800BBD8: .4byte gLinkPlayers -_0800BBDC: .4byte gUnknown_02024A72 -_0800BBE0: .4byte gUnknown_02024A6A -_0800BBE4: - cmp r0, 0x3 - bne _0800BC06 -_0800BBE8: - ldr r0, _0800BBF8 @ =gLinkPlayers - adds r0, r4, r0 - ldrb r0, [r0, 0x18] - movs r1, 0 - bl sub_8094978 - b _0800BC06 - .align 2, 0 -_0800BBF8: .4byte gLinkPlayers -_0800BBFC: - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8094978 -_0800BC06: - cmp r10, r5 - bne _0800BC56 - ldr r0, _0800BC2C @ =gLinkPlayers - adds r3, r4, r0 - ldrh r1, [r3, 0x18] - lsls r1, 2 - ldr r2, _0800BC30 @ =gUnknown_03004330 - adds r1, r2 - ldr r2, _0800BC34 @ =sub_802BF74 - str r2, [r1] - ldrh r1, [r3, 0x18] - mov r12, r0 - cmp r1, 0x2 - bgt _0800BC38 - cmp r1, 0x1 - bge _0800BC4C - cmp r1, 0 - beq _0800BC3C - b _0800BD2C - .align 2, 0 -_0800BC2C: .4byte gLinkPlayers -_0800BC30: .4byte gUnknown_03004330 -_0800BC34: .4byte sub_802BF74 -_0800BC38: - cmp r1, 0x3 - bne _0800BD2C -_0800BC3C: - mov r1, r12 - adds r0, r4, r1 - ldrh r1, [r0, 0x18] - adds r1, r7 - mov r2, r8 - strb r2, [r1] - ldrh r0, [r0, 0x18] - b _0800BD12 -_0800BC4C: - adds r1, r7 - movs r0, 0x2 - strb r0, [r1] - ldrh r0, [r3, 0x18] - b _0800BD24 -_0800BC56: - ldr r2, _0800BC7C @ =gLinkPlayers - adds r0, r4, r2 - ldrh r1, [r0, 0x18] - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r1 - mov r12, r2 - cmp r0, 0 - bne _0800BC80 - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - add r0, r12 - ldrh r1, [r0, 0x18] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0800BC92 - b _0800BCD8 - .align 2, 0 -_0800BC7C: .4byte gLinkPlayers -_0800BC80: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - add r0, r12 - ldrh r1, [r0, 0x18] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0800BCD8 -_0800BC92: - mov r0, r12 - adds r2, r4, r0 - ldrh r0, [r2, 0x18] - lsls r0, 2 - ldr r1, _0800BCB4 @ =gUnknown_03004330 - adds r0, r1 - ldr r1, _0800BCB8 @ =sub_811DA78 - str r1, [r0] - ldrh r1, [r2, 0x18] - cmp r1, 0x2 - bgt _0800BCBC - cmp r1, 0x1 - bge _0800BCD0 - cmp r1, 0 - beq _0800BCC0 - b _0800BD2C - .align 2, 0 -_0800BCB4: .4byte gUnknown_03004330 -_0800BCB8: .4byte sub_811DA78 -_0800BCBC: - cmp r1, 0x3 - bne _0800BD2C -_0800BCC0: - mov r2, r12 - adds r0, r4, r2 - ldrh r1, [r0, 0x18] - adds r1, r7 - mov r2, r8 - strb r2, [r1] - ldrh r0, [r0, 0x18] - b _0800BD12 -_0800BCD0: - adds r1, r7 - movs r0, 0x2 - strb r0, [r1] - b _0800BD22 -_0800BCD8: - mov r0, r12 - adds r2, r4, r0 - ldrh r0, [r2, 0x18] - lsls r0, 2 - ldr r1, _0800BCF8 @ =gUnknown_03004330 - adds r0, r1 - ldr r1, _0800BCFC @ =sub_8037510 - str r1, [r0] - ldrh r0, [r2, 0x18] - cmp r0, 0x2 - bgt _0800BD00 - cmp r0, 0x1 - bge _0800BD1C - cmp r0, 0 - beq _0800BD04 - b _0800BD2C - .align 2, 0 -_0800BCF8: .4byte gUnknown_03004330 -_0800BCFC: .4byte sub_8037510 -_0800BD00: - cmp r0, 0x3 - bne _0800BD2C -_0800BD04: - mov r0, r12 - adds r2, r4, r0 - ldrh r0, [r2, 0x18] - adds r0, r7 - movs r1, 0x1 - strb r1, [r0] - ldrh r0, [r2, 0x18] -_0800BD12: - lsls r0, 1 - adds r0, r6 - mov r1, r8 - strh r1, [r0] - b _0800BD2C -_0800BD1C: - adds r0, r7 - mov r1, r9 - strb r1, [r0] -_0800BD22: - ldrh r0, [r2, 0x18] -_0800BD24: - lsls r0, 1 - adds r0, r6 - mov r2, r9 - strh r2, [r0] -_0800BD2C: - adds r4, 0x1C - movs r0, 0x1 - add r10, r0 - mov r1, r10 - cmp r1, 0x3 - bgt _0800BD3A - b _0800BBBC -_0800BD3A: - ldr r1, _0800BD50 @ =gUnknown_02024A68 - movs r0, 0x4 -_0800BD3E: - strb r0, [r1] -_0800BD40: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800BD50: .4byte gUnknown_02024A68 - thumb_func_end sub_800BA78 - - thumb_func_start sub_800BD54 -sub_800BD54: @ 800BD54 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0800BD74 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800BD6C - b _0800BE88 -_0800BD6C: - movs r0, 0 - mov r8, r0 - b _0800BE7E - .align 2, 0 -_0800BD74: .4byte gBattleTypeFlags -_0800BD78: - movs r5, 0 - movs r0, 0x1 - add r0, r8 - mov r10, r0 - ldr r0, _0800BDA4 @ =gUnknown_02024A72 - add r0, r8 - mov r9, r0 - mov r0, r8 - lsls r6, r0, 1 - movs r7, 0 -_0800BD8C: - mov r0, r8 - cmp r0, 0x1 - bgt _0800BDF4 - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0800BDAC - ldr r0, _0800BDA8 @ =gPlayerParty - b _0800BDAE - .align 2, 0 -_0800BDA4: .4byte gUnknown_02024A72 -_0800BDA8: .4byte gPlayerParty -_0800BDAC: - ldr r0, _0800BDEC @ =gEnemyParty -_0800BDAE: - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0800BE74 - ldr r0, _0800BDF0 @ =gUnknown_02024A6A - adds r0, r6, r0 - strh r5, [r0] - b _0800BE7C - .align 2, 0 -_0800BDEC: .4byte gEnemyParty -_0800BDF0: .4byte gUnknown_02024A6A -_0800BDF4: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0800BE1C - ldr r0, _0800BE18 @ =gPlayerParty - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0xB - b _0800BE30 - .align 2, 0 -_0800BE18: .4byte gPlayerParty -_0800BE1C: - ldr r0, _0800BE6C @ =gEnemyParty - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x41 -_0800BE30: - bl GetMonData - cmp r0, 0 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0800BE74 - ldr r1, _0800BE70 @ =gUnknown_02024A6A - mov r0, r8 - subs r0, 0x2 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r5 - beq _0800BE74 - adds r0, r6, r1 - strh r5, [r0] - b _0800BE7C - .align 2, 0 -_0800BE6C: .4byte gEnemyParty -_0800BE70: .4byte gUnknown_02024A6A -_0800BE74: - adds r7, 0x64 - adds r5, 0x1 - cmp r5, 0x5 - ble _0800BD8C -_0800BE7C: - mov r8, r10 -_0800BE7E: - ldr r0, _0800BE98 @ =gUnknown_02024A68 - ldrb r0, [r0] - cmp r8, r0 - bge _0800BE88 - b _0800BD78 -_0800BE88: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800BE98: .4byte gUnknown_02024A68 - thumb_func_end sub_800BD54 - - thumb_func_start dp01_prepare_buffer -dp01_prepare_buffer: @ 800BE9C - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r5, r3, 0 - lsls r2, 16 - lsrs r2, 16 - ldr r0, _0800BEC4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800BEC8 - adds r0, r3, 0 - adds r1, r2, 0 - adds r2, r4, 0 - bl dp01_prepare_buffer_wireless_probably - b _0800BF1A - .align 2, 0 -_0800BEC4: .4byte gBattleTypeFlags -_0800BEC8: - cmp r5, 0 - beq _0800BED2 - cmp r5, 0x1 - beq _0800BEFC - b _0800BF1A -_0800BED2: - movs r3, 0 - cmp r3, r2 - bge _0800BF1A - ldr r6, _0800BEF4 @ =gUnknown_02023A60 - ldr r5, _0800BEF8 @ =gUnknown_02024A60 -_0800BEDC: - ldrb r0, [r5] - lsls r0, 9 - adds r0, r3, r0 - adds r0, r6 - ldrb r1, [r4] - strb r1, [r0] - adds r4, 0x1 - adds r3, 0x1 - cmp r3, r2 - blt _0800BEDC - b _0800BF1A - .align 2, 0 -_0800BEF4: .4byte gUnknown_02023A60 -_0800BEF8: .4byte gUnknown_02024A60 -_0800BEFC: - movs r3, 0 - cmp r3, r2 - bge _0800BF1A - ldr r6, _0800BF20 @ =gUnknown_02024260 - ldr r5, _0800BF24 @ =gUnknown_02024A60 -_0800BF06: - ldrb r0, [r5] - lsls r0, 9 - adds r0, r3, r0 - adds r0, r6 - ldrb r1, [r4] - strb r1, [r0] - adds r4, 0x1 - adds r3, 0x1 - cmp r3, r2 - blt _0800BF06 -_0800BF1A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800BF20: .4byte gUnknown_02024260 -_0800BF24: .4byte gUnknown_02024A60 - thumb_func_end dp01_prepare_buffer - - thumb_func_start sub_800BF28 -sub_800BF28: @ 800BF28 - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _0800BFD0 @ =sub_800C1A8 - movs r1, 0 - bl CreateTask - ldr r2, _0800BFD4 @ =gUnknown_020238C4 - strb r0, [r2] - ldr r5, _0800BFD8 @ =gTasks - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r6, 0 - movs r4, 0 - strh r4, [r0, 0x1E] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x26] - ldr r0, _0800BFDC @ =sub_800C47C - movs r1, 0 - bl CreateTask - ldr r2, _0800BFE0 @ =gUnknown_020238C5 - strb r0, [r2] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x26] - ldr r0, _0800BFE4 @ =gUnknown_020238C6 - strb r6, [r0] - mov r0, sp - strh r4, [r0] - ldr r1, _0800BFE8 @ =0x02014000 - ldr r2, _0800BFEC @ =0x01001000 - bl CpuSet - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800BFD0: .4byte sub_800C1A8 -_0800BFD4: .4byte gUnknown_020238C4 -_0800BFD8: .4byte gTasks -_0800BFDC: .4byte sub_800C47C -_0800BFE0: .4byte gUnknown_020238C5 -_0800BFE4: .4byte gUnknown_020238C6 -_0800BFE8: .4byte 0x02014000 -_0800BFEC: .4byte 0x01001000 - thumb_func_end sub_800BF28 - - thumb_func_start dp01_prepare_buffer_wireless_probably -dp01_prepare_buffer_wireless_probably: @ 800BFF0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r2 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - movs r1, 0x3 - mov r0, r8 - bics r0, r1 - adds r0, 0x4 - mov r9, r0 - ldr r2, _0800C168 @ =gTasks - ldr r3, _0800C16C @ =gUnknown_020238C4 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r4, r0, r2 - movs r1, 0x24 - ldrsh r0, [r4, r1] - add r0, r9 - adds r0, 0x9 - movs r1, 0x80 - lsls r1, 5 - adds r5, r2, 0 - cmp r0, r1 - ble _0800C042 - ldrh r0, [r4, 0x24] - movs r2, 0 - strh r0, [r4, 0x20] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r2, [r0, 0x24] -_0800C042: - ldr r4, _0800C170 @ =0x02000000 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r0, [r0, r2] - movs r7, 0xA0 - lsls r7, 9 - adds r0, r7 - adds r0, r4 - strb r6, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0x24 - ldrsh r0, [r0, r1] - ldr r2, _0800C174 @ =0x00014001 - adds r0, r2 - adds r0, r4 - ldr r1, _0800C178 @ =gUnknown_02024A60 - ldrb r1, [r1] - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r7, 0x24 - ldrsh r0, [r0, r7] - ldr r1, _0800C17C @ =0x00014002 - adds r0, r1 - adds r0, r4 - ldr r1, _0800C180 @ =gUnknown_02024C07 - ldrb r1, [r1] - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r0, [r0, r2] - ldr r7, _0800C184 @ =0x00014003 - adds r0, r7 - adds r0, r4 - ldr r1, _0800C188 @ =gUnknown_02024C08 - ldrb r1, [r1] - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0x24 - ldrsh r0, [r0, r1] - ldr r2, _0800C18C @ =0x00014004 - adds r0, r2 - adds r0, r4 - mov r7, r9 - strb r7, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r1, [r0, r2] - ldr r7, _0800C190 @ =0x00014005 - adds r1, r7 - adds r1, r4 - movs r0, 0xFF - lsls r0, 8 - mov r2, r9 - ands r0, r2 - asrs r0, 8 - strb r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r7, 0x24 - ldrsh r0, [r0, r7] - ldr r1, _0800C194 @ =0x00014006 - adds r0, r1 - adds r0, r4 - ldr r1, _0800C198 @ =gUnknown_02024C0C - ldrb r1, [r1] - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r0, [r0, r2] - ldr r7, _0800C19C @ =0x00014007 - adds r0, r7 - adds r0, r4 - ldr r1, _0800C1A0 @ =gUnknown_02024C0A - ldrb r1, [r1] - strb r1, [r0] - movs r2, 0 - cmp r2, r8 - bge _0800C146 - mov r12, r4 - adds r6, r3, 0 - ldr r4, _0800C1A4 @ =0x00014008 -_0800C122: - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0800C168 @ =gTasks - adds r0, r1 - movs r7, 0x24 - ldrsh r1, [r0, r7] - adds r0, r2, r4 - adds r1, r0 - add r1, r12 - mov r7, r10 - adds r0, r7, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r2, 0x1 - cmp r2, r8 - blt _0800C122 -_0800C146: - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r5 - ldrh r0, [r1, 0x24] - add r0, r9 - adds r0, 0x8 - strh r0, [r1, 0x24] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800C168: .4byte gTasks -_0800C16C: .4byte gUnknown_020238C4 -_0800C170: .4byte 0x02000000 -_0800C174: .4byte 0x00014001 -_0800C178: .4byte gUnknown_02024A60 -_0800C17C: .4byte 0x00014002 -_0800C180: .4byte gUnknown_02024C07 -_0800C184: .4byte 0x00014003 -_0800C188: .4byte gUnknown_02024C08 -_0800C18C: .4byte 0x00014004 -_0800C190: .4byte 0x00014005 -_0800C194: .4byte 0x00014006 -_0800C198: .4byte gUnknown_02024C0C -_0800C19C: .4byte 0x00014007 -_0800C1A0: .4byte gUnknown_02024C0A -_0800C1A4: .4byte 0x00014008 - thumb_func_end dp01_prepare_buffer_wireless_probably - - thumb_func_start sub_800C1A8 -sub_800C1A8: @ 800C1A8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0800C1D0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x1E - ldrsh r0, [r0, r2] - adds r7, r1, 0 - cmp r0, 0x5 - bls _0800C1C4 - b _0800C354 -_0800C1C4: - lsls r0, 2 - ldr r1, _0800C1D4 @ =_0800C1D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800C1D0: .4byte gTasks -_0800C1D4: .4byte _0800C1D8 - .align 2, 0 -_0800C1D8: - .4byte _0800C1F0 - .4byte _0800C204 - .4byte _0800C220 - .4byte _0800C25C - .4byte _0800C2E6 - .4byte _0800C338 -_0800C1F0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r7 - movs r1, 0x64 - strh r1, [r0, 0x1C] - ldrh r1, [r0, 0x1E] - adds r1, 0x1 - strh r1, [r0, 0x1E] - b _0800C354 -_0800C204: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r7 - ldrh r0, [r1, 0x1C] - subs r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - cmp r0, 0 - beq _0800C21A - b _0800C354 -_0800C21A: - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - b _0800C352 -_0800C220: - bl GetLinkPlayerCount_2 - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - beq _0800C248 - bl sub_8007F4C - ldr r0, _0800C244 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - b _0800C352 - .align 2, 0 -_0800C244: .4byte gTasks -_0800C248: - ldr r0, _0800C258 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - b _0800C352 - .align 2, 0 -_0800C258: .4byte gTasks -_0800C25C: - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r2, r0, r7 - movs r5, 0x26 - ldrsh r3, [r2, r5] - movs r0, 0x24 - ldrsh r6, [r2, r0] - mov r12, r6 - cmp r3, r12 - beq _0800C354 - ldrh r0, [r2, 0x22] - movs r6, 0x22 - ldrsh r5, [r2, r6] - cmp r5, 0 - bne _0800C2E0 - cmp r3, r12 - ble _0800C28C - movs r6, 0x20 - ldrsh r0, [r2, r6] - cmp r3, r0 - bne _0800C28C - strh r5, [r2, 0x20] - strh r5, [r2, 0x26] -_0800C28C: - ldr r5, _0800C2D4 @ =0x02000000 - adds r4, r1, r4 - lsls r4, 3 - adds r4, r7 - movs r0, 0x26 - ldrsh r2, [r4, r0] - ldr r1, _0800C2D8 @ =0x00014004 - adds r0, r2, r1 - adds r0, r5 - ldrb r1, [r0] - ldr r6, _0800C2DC @ =0x00014005 - adds r2, r6 - adds r2, r5 - ldrb r0, [r2] - lsls r0, 8 - orrs r1, r0 - adds r1, 0x8 - lsls r1, 16 - lsrs r6, r1, 16 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x26 - ldrsh r1, [r4, r2] - movs r2, 0xA0 - lsls r2, 9 - adds r5, r2 - adds r1, r5 - adds r2, r6, 0 - bl SendBlock - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - b _0800C354 - .align 2, 0 -_0800C2D4: .4byte 0x02000000 -_0800C2D8: .4byte 0x00014004 -_0800C2DC: .4byte 0x00014005 -_0800C2E0: - subs r0, 0x1 - strh r0, [r2, 0x22] - b _0800C354 -_0800C2E6: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _0800C354 - ldr r2, _0800C328 @ =0x02000000 - ldr r0, _0800C32C @ =gTasks - lsls r3, r4, 2 - adds r3, r4 - lsls r3, 3 - adds r3, r0 - movs r4, 0x26 - ldrsh r1, [r3, r4] - ldr r5, _0800C330 @ =0x00014004 - adds r0, r1, r5 - adds r0, r2 - ldrb r0, [r0] - ldr r6, _0800C334 @ =0x00014005 - adds r1, r6 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - movs r2, 0x1 - strh r2, [r3, 0x22] - orrs r0, r1 - ldrh r1, [r3, 0x26] - adds r0, r1 - adds r0, 0x8 - strh r0, [r3, 0x26] - movs r0, 0x3 - strh r0, [r3, 0x1E] - b _0800C354 - .align 2, 0 -_0800C328: .4byte 0x02000000 -_0800C32C: .4byte gTasks -_0800C330: .4byte 0x00014004 -_0800C334: .4byte 0x00014005 -_0800C338: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r7 - ldrh r0, [r1, 0x22] - subs r0, 0x1 - strh r0, [r1, 0x22] - lsls r0, 16 - cmp r0, 0 - bne _0800C354 - movs r0, 0x1 - strh r0, [r1, 0x22] - movs r0, 0x3 -_0800C352: - strh r0, [r1, 0x1E] -_0800C354: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_800C1A8 - - thumb_func_start sub_800C35C -sub_800C35C: @ 800C35C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0800C38C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0800C458 - ldr r0, _0800C390 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0800C458 - ldr r0, _0800C394 @ =gLinkPlayers - ldr r1, [r0, 0x14] - ldr r0, _0800C398 @ =0x00002211 - cmp r1, r0 - bne _0800C458 - movs r4, 0 - ldr r0, _0800C39C @ =gBlockRecvBuffer - mov r10, r0 - b _0800C44C - .align 2, 0 -_0800C38C: .4byte gReceivedRemoteLinkPlayers -_0800C390: .4byte gBattleTypeFlags -_0800C394: .4byte gLinkPlayers -_0800C398: .4byte 0x00002211 -_0800C39C: .4byte gBlockRecvBuffer -_0800C3A0: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800C468 @ =gBitTable - lsls r1, r4, 2 - adds r1, r2 - ldr r1, [r1] - ands r0, r1 - adds r1, r4, 0x1 - mov r9, r1 - cmp r0, 0 - beq _0800C446 - adds r0, r4, 0 - bl ResetBlockReceivedFlag - lsls r0, r4, 8 - mov r2, r10 - adds r3, r0, r2 - ldr r1, _0800C46C @ =gBlockRecvBuffer + 0x4 - adds r0, r1 - ldrh r6, [r0] - ldr r7, _0800C470 @ =gTasks - ldr r2, _0800C474 @ =gUnknown_020238C5 - mov r12, r2 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, r0, r7 - movs r0, 0x24 - ldrsh r1, [r2, r0] - adds r0, r6, 0 - adds r0, 0x9 - adds r1, r0 - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - ble _0800C402 - ldrh r0, [r2, 0x24] - strh r0, [r2, 0x20] - mov r2, r12 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r7 - movs r1, 0 - strh r1, [r0, 0x24] -_0800C402: - mov r2, r12 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r7 - movs r2, 0x24 - ldrsh r1, [r0, r2] - ldr r0, _0800C478 @ =0x02015000 - adds r5, r1, r0 - adds r4, r3, 0 - movs r2, 0 - adds r3, r6, 0 - adds r3, 0x8 - mov r8, r7 - mov r7, r12 - cmp r2, r3 - bge _0800C434 -_0800C426: - adds r0, r5, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, r3 - blt _0800C426 -_0800C434: - ldrb r0, [r7] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - add r1, r8 - ldrh r0, [r1, 0x24] - adds r0, r6, r0 - adds r0, 0x8 - strh r0, [r1, 0x24] -_0800C446: - mov r1, r9 - lsls r0, r1, 24 - lsrs r4, r0, 24 -_0800C44C: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _0800C3A0 -_0800C458: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800C468: .4byte gBitTable -_0800C46C: .4byte gBlockRecvBuffer + 0x4 -_0800C470: .4byte gTasks -_0800C474: .4byte gUnknown_020238C5 -_0800C478: .4byte 0x02015000 - thumb_func_end sub_800C35C - - thumb_func_start sub_800C47C -sub_800C47C: @ 800C47C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _0800C4FC @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r3, r0, r1 - movs r0, 0x26 - ldrsh r2, [r3, r0] - movs r4, 0x24 - ldrsh r0, [r3, r4] - adds r4, r1, 0 - cmp r2, r0 - bne _0800C4A4 - b _0800C5FA -_0800C4A4: - cmp r2, r0 - ble _0800C4B6 - movs r1, 0x20 - ldrsh r0, [r3, r1] - cmp r2, r0 - bne _0800C4B6 - movs r0, 0 - strh r0, [r3, 0x20] - strh r0, [r3, 0x26] -_0800C4B6: - ldr r5, _0800C500 @ =0x02000000 - mov r2, r8 - lsls r1, r2, 2 - adds r0, r1, r2 - lsls r0, 3 - adds r6, r0, r4 - movs r4, 0x26 - ldrsh r3, [r6, r4] - ldr r2, _0800C504 @ =0x00015001 - adds r0, r3, r2 - adds r0, r5 - ldrb r4, [r0] - adds r2, 0x3 - adds r0, r3, r2 - adds r0, r5 - ldrb r7, [r0] - adds r2, 0x1 - adds r0, r3, r2 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 8 - orrs r7, r0 - subs r2, 0x5 - adds r0, r3, r2 - adds r0, r5 - ldrb r0, [r0] - mov r9, r1 - cmp r0, 0x1 - beq _0800C5B0 - cmp r0, 0x1 - bgt _0800C508 - cmp r0, 0 - beq _0800C50E - b _0800C5E8 - .align 2, 0 -_0800C4FC: .4byte gTasks -_0800C500: .4byte 0x02000000 -_0800C504: .4byte 0x00015001 -_0800C508: - cmp r0, 0x2 - beq _0800C5CC - b _0800C5E8 -_0800C50E: - ldr r2, _0800C588 @ =gUnknown_02024A64 - ldr r1, _0800C58C @ =gBitTable - lsls r0, r4, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0800C5FA - lsls r0, r4, 9 - ldr r1, _0800C590 @ =gUnknown_02023A60 - adds r0, r1 - ldr r2, _0800C594 @ =0x00015008 - adds r1, r5, r2 - adds r1, r3, r1 - adds r2, r7, 0 - bl memcpy - adds r0, r4, 0 - bl sub_80155A4 - ldr r0, _0800C598 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0800C5E8 - ldr r1, _0800C59C @ =gUnknown_02024C07 - movs r4, 0x26 - ldrsh r0, [r6, r4] - ldr r2, _0800C5A0 @ =0x00015002 - adds r0, r2 - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, _0800C5A4 @ =gUnknown_02024C08 - movs r4, 0x26 - ldrsh r0, [r6, r4] - adds r2, 0x1 - adds r0, r2 - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, _0800C5A8 @ =gUnknown_02024C0C - movs r4, 0x26 - ldrsh r0, [r6, r4] - adds r2, 0x3 - adds r0, r2 - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, _0800C5AC @ =gUnknown_02024C0A - movs r4, 0x26 - ldrsh r0, [r6, r4] - adds r2, 0x1 - adds r0, r2 - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1] - b _0800C5E8 - .align 2, 0 -_0800C588: .4byte gUnknown_02024A64 -_0800C58C: .4byte gBitTable -_0800C590: .4byte gUnknown_02023A60 -_0800C594: .4byte 0x00015008 -_0800C598: .4byte gBattleTypeFlags -_0800C59C: .4byte gUnknown_02024C07 -_0800C5A0: .4byte 0x00015002 -_0800C5A4: .4byte gUnknown_02024C08 -_0800C5A8: .4byte gUnknown_02024C0C -_0800C5AC: .4byte gUnknown_02024C0A -_0800C5B0: - lsls r0, r4, 9 - ldr r1, _0800C5C4 @ =gUnknown_02024260 - adds r0, r1 - ldr r4, _0800C5C8 @ =0x00015008 - adds r1, r5, r4 - adds r1, r3, r1 - adds r2, r7, 0 - bl memcpy - b _0800C5E8 - .align 2, 0 -_0800C5C4: .4byte gUnknown_02024260 -_0800C5C8: .4byte 0x00015008 -_0800C5CC: - ldr r1, _0800C608 @ =0x00015008 - adds r0, r3, r1 - adds r0, r5 - ldrb r2, [r0] - ldr r3, _0800C60C @ =gUnknown_02024A64 - ldr r1, _0800C610 @ =gBitTable - lsls r0, r4, 2 - adds r0, r1 - lsls r2, 2 - ldr r1, [r0] - lsls r1, r2 - ldr r0, [r3] - bics r0, r1 - str r0, [r3] -_0800C5E8: - ldr r0, _0800C614 @ =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - adds r0, r7, r0 - adds r0, 0x8 - strh r0, [r1, 0x26] -_0800C5FA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800C608: .4byte 0x00015008 -_0800C60C: .4byte gUnknown_02024A64 -_0800C610: .4byte gBitTable -_0800C614: .4byte gTasks - thumb_func_end sub_800C47C - - thumb_func_start dp01_build_cmdbuf_x00_a_b_0 -dp01_build_cmdbuf_x00_a_b_0: @ 800C618 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C638 @ =gUnknown_03004040 - movs r3, 0 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - strb r3, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800C638: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x00_a_b_0 - - thumb_func_start dp01_build_cmdbuf_x01_a_b_0 -dp01_build_cmdbuf_x01_a_b_0: @ 800C63C - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C660 @ =gUnknown_03004040 - movs r4, 0 - movs r3, 0x1 - strb r3, [r1] - strb r5, [r1, 0x1] - strb r2, [r1, 0x2] - strb r4, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800C660: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x01_a_b_0 - - thumb_func_start dp01_build_cmdbuf_x02_a_b_varargs -dp01_build_cmdbuf_x02_a_b_varargs: @ 800C664 - push {r4-r6,lr} - ldr r4, [sp, 0x10] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r3, 24 - lsrs r5, r3, 24 - ldr r0, _0800C6A0 @ =gUnknown_03004040 - movs r3, 0x2 - strb r3, [r0] - strb r1, [r0, 0x1] - strb r2, [r0, 0x2] - adds r1, r0, 0 - cmp r5, 0 - beq _0800C692 - adds r3, r1, 0x3 - adds r2, r5, 0 -_0800C684: - ldrb r0, [r4] - strb r0, [r3] - adds r4, 0x1 - adds r3, 0x1 - subs r2, 0x1 - cmp r2, 0 - bne _0800C684 -_0800C692: - adds r2, r5, 0x3 - adds r0, r6, 0 - bl dp01_prepare_buffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800C6A0: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x02_a_b_varargs - - thumb_func_start unref_sub_800C6A4 -unref_sub_800C6A4: @ 800C6A4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r4, r2, 24 - ldr r0, _0800C6E0 @ =gUnknown_03004040 - movs r2, 0x3 - strb r2, [r0] - strb r1, [r0, 0x1] - strb r4, [r0, 0x2] - adds r5, r0, 0 - cmp r4, 0 - beq _0800C6D0 - adds r1, r5, 0x3 - adds r2, r4, 0 -_0800C6C2: - ldrb r0, [r3] - strb r0, [r1] - adds r3, 0x1 - adds r1, 0x1 - subs r2, 0x1 - cmp r2, 0 - bne _0800C6C2 -_0800C6D0: - adds r2, r4, 0x3 - adds r0, r6, 0 - adds r1, r5, 0 - bl dp01_prepare_buffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800C6E0: .4byte gUnknown_03004040 - thumb_func_end unref_sub_800C6A4 - - thumb_func_start dp01_build_cmdbuf_x04_4_4_4 -dp01_build_cmdbuf_x04_4_4_4: @ 800C6E4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C700 @ =gUnknown_03004040 - movs r2, 0x4 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800C700: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x04_4_4_4 - - thumb_func_start sub_800C704 -sub_800C704: @ 800C704 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C724 @ =gUnknown_03004040 - movs r3, 0x5 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - strb r3, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800C724: .4byte gUnknown_03004040 - thumb_func_end sub_800C704 - - thumb_func_start dp01_build_cmdbuf_x06_a -dp01_build_cmdbuf_x06_a: @ 800C728 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C744 @ =gUnknown_03004040 - movs r2, 0x6 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800C744: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x06_a - - thumb_func_start dp01_build_cmdbuf_x07_7_7_7 -dp01_build_cmdbuf_x07_7_7_7: @ 800C748 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C764 @ =gUnknown_03004040 - movs r2, 0x7 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800C764: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x07_7_7_7 - - thumb_func_start dp01_build_cmdbuf_x08_8_8_8 -dp01_build_cmdbuf_x08_8_8_8: @ 800C768 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C784 @ =gUnknown_03004040 - movs r2, 0x8 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800C784: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x08_8_8_8 - - thumb_func_start dp01_build_cmdbuf_x09_9_9_9 -dp01_build_cmdbuf_x09_9_9_9: @ 800C788 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C7A4 @ =gUnknown_03004040 - movs r2, 0x9 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800C7A4: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x09_9_9_9 - - thumb_func_start dp01_build_cmdbuf_x0A_A_A_A -dp01_build_cmdbuf_x0A_A_A_A: @ 800C7A8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C7C4 @ =gUnknown_03004040 - movs r2, 0xA - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800C7C4: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x0A_A_A_A - - thumb_func_start dp01_build_cmdbuf_x0B_B_B_B -dp01_build_cmdbuf_x0B_B_B_B: @ 800C7C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C7E4 @ =gUnknown_03004040 - movs r2, 0xB - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800C7E4: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x0B_B_B_B - - thumb_func_start dp01_build_cmdbuf_x0C_C_C_C -dp01_build_cmdbuf_x0C_C_C_C: @ 800C7E8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C804 @ =gUnknown_03004040 - movs r2, 0xC - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800C804: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x0C_C_C_C - - thumb_func_start dp01_build_cmdbuf_x0D_a -dp01_build_cmdbuf_x0D_a: @ 800C808 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800C824 @ =gUnknown_03004040 - movs r2, 0xD - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800C824: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x0D_a - - thumb_func_start unref_sub_800C828 -unref_sub_800C828: @ 800C828 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r1, _0800C86C @ =gUnknown_03004040 - movs r0, 0xE - strb r0, [r1] - strb r4, [r1, 0x1] - lsls r0, r4, 1 - adds r0, r4 - adds r5, r1, 0 - cmp r0, 0 - beq _0800C856 - adds r1, r5, 0x2 - adds r3, r0, 0 -_0800C848: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _0800C848 -_0800C856: - lsls r2, r4, 1 - adds r2, r4 - adds r2, 0x2 - adds r0, r6, 0 - adds r1, r5, 0 - bl dp01_prepare_buffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800C86C: .4byte gUnknown_03004040 - thumb_func_end unref_sub_800C828 - - thumb_func_start dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes -dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes: @ 800C870 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r4, [sp, 0x1C] - ldr r5, [sp, 0x20] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r1, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r7, _0800C904 @ =gUnknown_03004040 - movs r0, 0 - mov r12, r0 - movs r0, 0xF - strb r0, [r7] - strb r1, [r7, 0x1] - lsrs r1, 8 - strb r1, [r7, 0x2] - strb r2, [r7, 0x3] - strb r3, [r7, 0x4] - movs r6, 0xFF - lsls r6, 8 - lsrs r3, 8 - strb r3, [r7, 0x5] - strb r4, [r7, 0x6] - adds r0, r4, 0 - ands r0, r6 - asrs r0, 8 - strb r0, [r7, 0x7] - movs r0, 0xFF - lsls r0, 16 - ands r0, r4 - asrs r0, 16 - strb r0, [r7, 0x8] - lsrs r4, 24 - strb r4, [r7, 0x9] - strb r5, [r7, 0xA] - ldr r0, _0800C908 @ =gUnknown_02024C0E - ldrb r0, [r0] - strb r0, [r7, 0xB] - mov r0, r12 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl sub_8018324 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0800C910 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl sub_8018324 - lsls r0, 24 - cmp r0, 0 - bne _0800C910 - ldr r0, _0800C90C @ =gBattleWeather - ldrh r0, [r0] - strb r0, [r7, 0xC] - ands r6, r0 - lsrs r0, r6, 8 - strb r0, [r7, 0xD] - adds r4, r7, 0 - b _0800C91A - .align 2, 0 -_0800C904: .4byte gUnknown_03004040 -_0800C908: .4byte gUnknown_02024C0E -_0800C90C: .4byte gBattleWeather -_0800C910: - ldr r0, _0800C944 @ =gUnknown_03004040 - movs r1, 0 - strb r1, [r0, 0xC] - strb r1, [r0, 0xD] - adds r4, r0, 0 -_0800C91A: - movs r0, 0 - strb r0, [r4, 0xE] - strb r0, [r4, 0xF] - adds r0, r4, 0 - adds r0, 0x10 - ldr r1, [sp, 0x24] - movs r2, 0x1C - bl memcpy - mov r0, r8 - adds r1, r4, 0 - movs r2, 0x2C - bl dp01_prepare_buffer - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800C944: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes - - thumb_func_start dp01_build_cmdbuf_x10_TODO -dp01_build_cmdbuf_x10_TODO: @ 800C948 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _0800CA2C @ =gUnknown_03004040 - movs r0, 0x10 - strb r0, [r2] - ldr r0, _0800CA30 @ =gUnknown_02024D26 - ldrb r0, [r0] - strb r0, [r2, 0x1] - strb r1, [r2, 0x2] - lsrs r1, 8 - strb r1, [r2, 0x3] - adds r0, r2, 0x4 - mov r12, r0 - ldr r4, _0800CA34 @ =gUnknown_02024BE6 - ldrh r0, [r4] - strh r0, [r2, 0x4] - ldr r0, _0800CA38 @ =gUnknown_02024BE8 - ldrh r0, [r0] - mov r1, r12 - strh r0, [r1, 0x2] - ldr r0, _0800CA3C @ =gUnknown_02024C04 - ldrh r0, [r0] - strh r0, [r1, 0x4] - ldr r0, _0800CA40 @ =byte_2024C06 - ldrb r0, [r0] - strb r0, [r1, 0x6] - ldr r1, _0800CA44 @ =0x02000000 - ldr r3, _0800CA48 @ =0x00016003 - adds r0, r1, r3 - ldrb r0, [r0] - mov r7, r12 - strb r0, [r7, 0x7] - adds r3, 0x5B - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r7, 0x8] - ldr r7, _0800CA4C @ =0x000160c1 - adds r1, r7 - ldrb r0, [r1] - mov r1, r12 - strb r0, [r1, 0x9] - ldr r0, _0800CA50 @ =gUnknown_02024C0B - ldrb r0, [r0] - strb r0, [r1, 0xA] - ldr r3, _0800CA54 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x2] - mov r3, r12 - strb r0, [r3, 0xB] - movs r3, 0 - mov r9, r2 - ldr r7, _0800CA58 @ =gUnknown_030042B0 - mov r8, r7 - adds r2, 0x10 - ldr r0, _0800CA5C @ =gBattleMons - adds r4, r0, 0 - adds r4, 0x20 -_0800C9D2: - adds r1, r2, r3 - ldrb r0, [r4] - strb r0, [r1] - adds r4, 0x58 - adds r3, 0x1 - cmp r3, 0x3 - ble _0800C9D2 - movs r3, 0 - mov r5, r12 - adds r5, 0x10 - mov r4, r12 - adds r4, 0x20 - ldr r6, _0800CA60 @ =gUnknown_03004290 - mov r2, r12 - adds r2, 0x30 -_0800C9F0: - adds r1, r5, r3 - ldr r7, _0800CA64 @ =gUnknown_030041C0 - adds r0, r3, r7 - ldrb r0, [r0] - strb r0, [r1] - adds r1, r4, r3 - adds r0, r3, r6 - ldrb r0, [r0] - strb r0, [r1] - adds r1, r2, r3 - mov r7, r8 - adds r0, r3, r7 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x1 - cmp r3, 0xF - ble _0800C9F0 - mov r0, r10 - mov r1, r9 - movs r2, 0x44 - bl dp01_prepare_buffer - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800CA2C: .4byte gUnknown_03004040 -_0800CA30: .4byte gUnknown_02024D26 -_0800CA34: .4byte gUnknown_02024BE6 -_0800CA38: .4byte gUnknown_02024BE8 -_0800CA3C: .4byte gUnknown_02024C04 -_0800CA40: .4byte byte_2024C06 -_0800CA44: .4byte 0x02000000 -_0800CA48: .4byte 0x00016003 -_0800CA4C: .4byte 0x000160c1 -_0800CA50: .4byte gUnknown_02024C0B -_0800CA54: .4byte gBattleMoves -_0800CA58: .4byte gUnknown_030042B0 -_0800CA5C: .4byte gBattleMons -_0800CA60: .4byte gUnknown_03004290 -_0800CA64: .4byte gUnknown_030041C0 - thumb_func_end dp01_build_cmdbuf_x10_TODO - - thumb_func_start dp01_build_cmdbuf_x11_TODO -dp01_build_cmdbuf_x11_TODO: @ 800CA68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _0800CB28 @ =gUnknown_03004040 - movs r0, 0x11 - strb r0, [r2] - strb r0, [r2, 0x1] - strb r1, [r2, 0x2] - lsrs r1, 8 - strb r1, [r2, 0x3] - adds r0, r2, 0x4 - mov r12, r0 - ldr r0, _0800CB2C @ =gUnknown_02024BE6 - ldrh r0, [r0] - strh r0, [r2, 0x4] - ldr r0, _0800CB30 @ =gUnknown_02024BE8 - ldrh r0, [r0] - mov r1, r12 - strh r0, [r1, 0x2] - ldr r0, _0800CB34 @ =gUnknown_02024C04 - ldrh r0, [r0] - strh r0, [r1, 0x4] - ldr r0, _0800CB38 @ =byte_2024C06 - ldrb r0, [r0] - strb r0, [r1, 0x6] - ldr r0, _0800CB3C @ =0x02000000 - ldr r3, _0800CB40 @ =0x00016003 - adds r1, r0, r3 - ldrb r1, [r1] - mov r7, r12 - strb r1, [r7, 0x7] - ldr r1, _0800CB44 @ =0x0001605e - adds r0, r1 - ldrb r0, [r0] - strb r0, [r7, 0x8] - movs r3, 0 - mov r9, r2 - ldr r7, _0800CB48 @ =gUnknown_030042B0 - mov r8, r7 - mov r4, r9 - adds r4, 0x10 - ldr r0, _0800CB4C @ =gBattleMons - adds r2, r0, 0 - adds r2, 0x20 -_0800CACE: - adds r1, r4, r3 - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x58 - adds r3, 0x1 - cmp r3, 0x3 - ble _0800CACE - movs r3, 0 - mov r5, r12 - adds r5, 0x10 - mov r4, r12 - adds r4, 0x20 - ldr r6, _0800CB50 @ =gUnknown_03004290 - mov r2, r12 - adds r2, 0x30 -_0800CAEC: - adds r1, r5, r3 - ldr r7, _0800CB54 @ =gUnknown_030041C0 - adds r0, r3, r7 - ldrb r0, [r0] - strb r0, [r1] - adds r1, r4, r3 - adds r0, r3, r6 - ldrb r0, [r0] - strb r0, [r1] - adds r1, r2, r3 - mov r7, r8 - adds r0, r3, r7 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x1 - cmp r3, 0xF - ble _0800CAEC - mov r0, r10 - mov r1, r9 - movs r2, 0x44 - bl dp01_prepare_buffer - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800CB28: .4byte gUnknown_03004040 -_0800CB2C: .4byte gUnknown_02024BE6 -_0800CB30: .4byte gUnknown_02024BE8 -_0800CB34: .4byte gUnknown_02024C04 -_0800CB38: .4byte byte_2024C06 -_0800CB3C: .4byte 0x02000000 -_0800CB40: .4byte 0x00016003 -_0800CB44: .4byte 0x0001605e -_0800CB48: .4byte gUnknown_030042B0 -_0800CB4C: .4byte gBattleMons -_0800CB50: .4byte gUnknown_03004290 -_0800CB54: .4byte gUnknown_030041C0 - thumb_func_end dp01_build_cmdbuf_x11_TODO - - thumb_func_start dp01_build_cmdbuf_x12_a_bb -dp01_build_cmdbuf_x12_a_bb: @ 800CB58 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _0800CB80 @ =gUnknown_03004040 - movs r3, 0x12 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - lsrs r2, 8 - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800CB80: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x12_a_bb - - thumb_func_start unref_sub_800CB84 -unref_sub_800CB84: @ 800CB84 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800CBA0 @ =gUnknown_03004040 - movs r2, 0x13 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800CBA0: .4byte gUnknown_03004040 - thumb_func_end unref_sub_800CB84 - - thumb_func_start sub_800CBA4 -sub_800CBA4: @ 800CBA4 - push {r4-r6,lr} - adds r5, r3, 0 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, _0800CBDC @ =gUnknown_03004040 - movs r4, 0 - movs r0, 0x14 - strb r0, [r3] - strb r1, [r3, 0x1] - strb r2, [r3, 0x2] - strb r4, [r3, 0x3] - movs r2, 0 - adds r1, r3, 0 - adds r4, r1, 0x4 -_0800CBC0: - adds r0, r5, r2 - ldrb r0, [r0] - strb r0, [r4] - adds r4, 0x1 - adds r2, 0x1 - cmp r2, 0x13 - bls _0800CBC0 - adds r0, r6, 0 - movs r2, 0x18 - bl dp01_prepare_buffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800CBDC: .4byte gUnknown_03004040 - thumb_func_end sub_800CBA4 - - thumb_func_start sub_800CBE0 -sub_800CBE0: @ 800CBE0 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0800CC10 @ =gUnknown_03004040 - movs r0, 0x15 - strb r0, [r1] - movs r2, 0 - adds r3, r1, 0x1 -_0800CBF2: - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x2 - ble _0800CBF2 - adds r0, r5, 0 - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800CC10: .4byte gUnknown_03004040 - thumb_func_end sub_800CBE0 - - thumb_func_start dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f -dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f: @ 800CC14 - push {r4-r6,lr} - ldr r6, [sp, 0x10] - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _0800CC4C @ =gUnknown_03004040 - movs r0, 0x16 - strb r0, [r4] - strb r1, [r4, 0x1] - strb r2, [r4, 0x2] - strb r3, [r4, 0x3] - movs r2, 0 - adds r1, r4, 0 - adds r3, r1, 0x4 -_0800CC2E: - adds r0, r6, r2 - ldrb r0, [r0] - strb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x2 - ble _0800CC2E - adds r0, r5, 0 - movs r2, 0x8 - bl dp01_prepare_buffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800CC4C: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f - - thumb_func_start dp01_build_cmdbuf_x17_17_17_17 -dp01_build_cmdbuf_x17_17_17_17: @ 800CC50 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800CC6C @ =gUnknown_03004040 - movs r2, 0x17 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800CC6C: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x17_17_17_17 - - thumb_func_start dp01_build_cmdbuf_x18_0_aa_health_bar_update -dp01_build_cmdbuf_x18_0_aa_health_bar_update: @ 800CC70 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _0800CCA4 @ =gUnknown_03004040 - movs r4, 0 - movs r2, 0x18 - strb r2, [r3] - strb r4, [r3, 0x1] - strb r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 16 - movs r2, 0xFF - lsls r2, 8 - ands r1, r2 - asrs r1, 8 - strb r1, [r3, 0x3] - adds r1, r3, 0 - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800CCA4: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x18_0_aa_health_bar_update - - thumb_func_start dp01_build_cmdbuf_x19_a_bb -dp01_build_cmdbuf_x19_a_bb: @ 800CCA8 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _0800CCD8 @ =gUnknown_03004040 - movs r3, 0x19 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - lsls r2, 16 - asrs r2, 16 - movs r3, 0xFF - lsls r3, 8 - ands r2, r3 - asrs r2, 8 - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800CCD8: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x19_a_bb - - thumb_func_start dp01_build_cmdbuf_x1A_aaaa_bbbb -dp01_build_cmdbuf_x1A_aaaa_bbbb: @ 800CCDC - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800CD2C @ =gUnknown_03004040 - movs r3, 0x1A - strb r3, [r1] - strb r4, [r1, 0x1] - movs r6, 0xFF - lsls r6, 8 - adds r3, r4, 0 - ands r3, r6 - lsrs r3, 8 - strb r3, [r1, 0x2] - movs r5, 0xFF - lsls r5, 16 - adds r3, r4, 0 - ands r3, r5 - lsrs r3, 16 - strb r3, [r1, 0x3] - lsrs r4, 24 - strb r4, [r1, 0x4] - strb r2, [r1, 0x5] - adds r3, r2, 0 - ands r3, r6 - lsrs r3, 8 - strb r3, [r1, 0x6] - adds r3, r2, 0 - ands r3, r5 - lsrs r3, 16 - strb r3, [r1, 0x7] - lsrs r2, 24 - strb r2, [r1, 0x8] - movs r2, 0x9 - bl dp01_prepare_buffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800CD2C: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x1A_aaaa_bbbb - - thumb_func_start dp01_build_cmdbuf_x1B_aaaa_b -dp01_build_cmdbuf_x1B_aaaa_b: @ 800CD30 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800CD68 @ =gUnknown_03004040 - movs r3, 0x1B - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - movs r3, 0xFF - lsls r3, 8 - ands r3, r2 - lsrs r3, 8 - strb r3, [r1, 0x3] - movs r3, 0xFF - lsls r3, 16 - ands r3, r2 - lsrs r3, 16 - strb r3, [r1, 0x4] - lsrs r2, 24 - strb r2, [r1, 0x5] - movs r2, 0x6 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800CD68: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x1B_aaaa_b - - thumb_func_start dp01_build_cmdbuf_x1C_a -dp01_build_cmdbuf_x1C_a: @ 800CD6C - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800CD88 @ =gUnknown_03004040 - movs r2, 0x1C - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800CD88: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x1C_a - - thumb_func_start dp01_build_cmdbuf_x1D_1D_numargs_varargs -dp01_build_cmdbuf_x1D_1D_numargs_varargs: @ 800CD8C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r1, _0800CDD0 @ =gUnknown_03004040 - movs r0, 0x1D - strb r0, [r1] - strb r0, [r1, 0x1] - strb r4, [r1, 0x2] - lsrs r0, r4, 8 - strb r0, [r1, 0x3] - adds r5, r1, 0 - cmp r4, 0 - beq _0800CDBC - adds r1, r5, 0x4 - adds r3, r4, 0 -_0800CDAE: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _0800CDAE -_0800CDBC: - adds r2, r4, 0x4 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl dp01_prepare_buffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800CDD0: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x1D_1D_numargs_varargs - - thumb_func_start unref_sub_800CDD4 -unref_sub_800CDD4: @ 800CDD4 - push {r4-r6,lr} - adds r4, r3, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 16 - lsrs r5, r2, 16 - ldr r2, _0800CE38 @ =gUnknown_03004040 - movs r0, 0x1E - strb r0, [r2] - strb r1, [r2, 0x1] - movs r3, 0xFF - lsls r3, 8 - adds r0, r1, 0 - ands r0, r3 - lsrs r0, 8 - strb r0, [r2, 0x2] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r2, 0x3] - lsrs r1, 24 - strb r1, [r2, 0x4] - strb r5, [r2, 0x5] - adds r0, r5, 0 - ands r0, r3 - lsrs r0, 8 - strb r0, [r2, 0x6] - adds r1, r2, 0 - cmp r5, 0 - beq _0800CE24 - adds r3, r1, 0x7 - adds r2, r5, 0 -_0800CE16: - ldrb r0, [r4] - strb r0, [r3] - adds r4, 0x1 - adds r3, 0x1 - subs r2, 0x1 - cmp r2, 0 - bne _0800CE16 -_0800CE24: - adds r2, r5, 0x7 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - bl dp01_prepare_buffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800CE38: .4byte gUnknown_03004040 - thumb_func_end unref_sub_800CDD4 - - thumb_func_start unref_sub_800CE3C -unref_sub_800CE3C: @ 800CE3C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r1, _0800CE80 @ =gUnknown_03004040 - movs r0, 0x1F - strb r0, [r1] - strb r4, [r1, 0x1] - lsrs r0, r4, 8 - strb r0, [r1, 0x2] - adds r5, r1, 0 - cmp r4, 0 - beq _0800CE6A - adds r1, r5, 0x3 - adds r3, r4, 0 -_0800CE5C: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _0800CE5C -_0800CE6A: - adds r2, r4, 0x3 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl dp01_prepare_buffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800CE80: .4byte gUnknown_03004040 - thumb_func_end unref_sub_800CE3C - - thumb_func_start unref_sub_800CE84 -unref_sub_800CE84: @ 800CE84 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r1, _0800CEC8 @ =gUnknown_03004040 - movs r0, 0x20 - strb r0, [r1] - strb r4, [r1, 0x1] - lsrs r0, r4, 8 - strb r0, [r1, 0x2] - adds r5, r1, 0 - cmp r4, 0 - beq _0800CEB2 - adds r1, r5, 0x3 - adds r3, r4, 0 -_0800CEA4: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _0800CEA4 -_0800CEB2: - adds r2, r4, 0x3 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl dp01_prepare_buffer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800CEC8: .4byte gUnknown_03004040 - thumb_func_end unref_sub_800CE84 - - thumb_func_start dp01_build_cmdbuf_x21_a_bb -dp01_build_cmdbuf_x21_a_bb: @ 800CECC - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _0800CEF4 @ =gUnknown_03004040 - movs r3, 0x21 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - lsrs r2, 8 - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800CEF4: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x21_a_bb - - thumb_func_start dp01_build_cmdbuf_x22_a_three_bytes -dp01_build_cmdbuf_x22_a_three_bytes: @ 800CEF8 - push {r4,r5,lr} - adds r4, r2, 0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _0800CF2C @ =gUnknown_03004040 - movs r0, 0x22 - strb r0, [r2] - strb r1, [r2, 0x1] - movs r3, 0 - adds r1, r2, 0x2 -_0800CF0C: - adds r0, r4, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r1, 0x1 - adds r3, 0x1 - cmp r3, 0x2 - ble _0800CF0C - adds r0, r5, 0 - adds r1, r2, 0 - movs r2, 0x5 - bl dp01_prepare_buffer - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800CF2C: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x22_a_three_bytes - - thumb_func_start dp01_build_cmdbuf_x23_aa_0 -dp01_build_cmdbuf_x23_aa_0: @ 800CF30 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _0800CF58 @ =gUnknown_03004040 - movs r4, 0 - movs r2, 0x23 - strb r2, [r3] - strb r1, [r3, 0x1] - lsrs r1, 8 - strb r1, [r3, 0x2] - strb r4, [r3, 0x3] - adds r1, r3, 0 - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800CF58: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x23_aa_0 - - thumb_func_start dp01_build_cmdbuf_x24_aa_0 -dp01_build_cmdbuf_x24_aa_0: @ 800CF5C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _0800CF84 @ =gUnknown_03004040 - movs r4, 0 - movs r2, 0x24 - strb r2, [r3] - strb r1, [r3, 0x1] - lsrs r1, 8 - strb r1, [r3, 0x2] - strb r4, [r3, 0x3] - adds r1, r3, 0 - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800CF84: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x24_aa_0 - - thumb_func_start dp01_build_cmdbuf_x25_25_25_25 -dp01_build_cmdbuf_x25_25_25_25: @ 800CF88 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800CFA4 @ =gUnknown_03004040 - movs r2, 0x25 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800CFA4: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x25_25_25_25 - - thumb_func_start dp01_build_cmdbuf_x26_a -dp01_build_cmdbuf_x26_a: @ 800CFA8 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800CFC4 @ =gUnknown_03004040 - movs r2, 0x26 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800CFC4: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x26_a - - thumb_func_start dp01_build_cmdbuf_x27_27_27_27 -dp01_build_cmdbuf_x27_27_27_27: @ 800CFC8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800CFE4 @ =gUnknown_03004040 - movs r2, 0x27 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800CFE4: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x27_27_27_27 - - thumb_func_start dp01_build_cmdbuf_x28_28_28_28 -dp01_build_cmdbuf_x28_28_28_28: @ 800CFE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D004 @ =gUnknown_03004040 - movs r2, 0x28 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D004: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x28_28_28_28 - - thumb_func_start dp01_build_cmdbuf_x29_29_29_29 -dp01_build_cmdbuf_x29_29_29_29: @ 800D008 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D024 @ =gUnknown_03004040 - movs r2, 0x29 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D024: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x29_29_29_29 - - thumb_func_start dp01_build_cmdbuf_x2A_2A_2A_2A -dp01_build_cmdbuf_x2A_2A_2A_2A: @ 800D028 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D044 @ =gUnknown_03004040 - movs r2, 0x2A - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D044: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x2A_2A_2A_2A - - thumb_func_start dp01_build_cmdbuf_x2B_aa_0 -dp01_build_cmdbuf_x2B_aa_0: @ 800D048 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _0800D070 @ =gUnknown_03004040 - movs r4, 0 - movs r2, 0x2B - strb r2, [r3] - strb r1, [r3, 0x1] - lsrs r1, 8 - strb r1, [r3, 0x2] - strb r4, [r3, 0x3] - adds r1, r3, 0 - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800D070: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x2B_aa_0 - - thumb_func_start sub_800D074 -sub_800D074: @ 800D074 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _0800D09C @ =gUnknown_03004040 - movs r4, 0 - movs r2, 0x2C - strb r2, [r3] - strb r1, [r3, 0x1] - lsrs r1, 8 - strb r1, [r3, 0x2] - strb r4, [r3, 0x3] - adds r1, r3, 0 - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800D09C: .4byte gUnknown_03004040 - thumb_func_end sub_800D074 - - thumb_func_start dp01_build_cmdbuf_x2D_2D_2D_2D -dp01_build_cmdbuf_x2D_2D_2D_2D: @ 800D0A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D0BC @ =gUnknown_03004040 - movs r2, 0x2D - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D0BC: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x2D_2D_2D_2D - - thumb_func_start dp01_build_cmdbuf_x2E_a -dp01_build_cmdbuf_x2E_a: @ 800D0C0 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D0DC @ =gUnknown_03004040 - movs r2, 0x2E - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D0DC: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x2E_a - - thumb_func_start dp01_build_cmdbuf_x2F_2F_2F_2F -dp01_build_cmdbuf_x2F_2F_2F_2F: @ 800D0E0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D0FC @ =gUnknown_03004040 - movs r2, 0x2F - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D0FC: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x2F_2F_2F_2F - - thumb_func_start dp01_build_cmdbuf_x30_TODO -dp01_build_cmdbuf_x30_TODO: @ 800D100 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r1, _0800D144 @ =gUnknown_03004040 - movs r3, 0x30 - strb r3, [r1] - movs r0, 0x7F - ands r0, r2 - strb r0, [r1, 0x1] - movs r0, 0x80 - ands r0, r2 - lsls r0, 24 - lsrs r0, 31 - strb r0, [r1, 0x2] - strb r3, [r1, 0x3] - movs r2, 0 - adds r3, r1, 0x4 -_0800D128: - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x2F - ble _0800D128 - adds r0, r5, 0 - movs r2, 0x34 - bl dp01_prepare_buffer - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800D144: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x30_TODO - - thumb_func_start dp01_build_cmdbuf_x31_31_31_31 -dp01_build_cmdbuf_x31_31_31_31: @ 800D148 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D164 @ =gUnknown_03004040 - movs r2, 0x31 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D164: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x31_31_31_31 - - thumb_func_start dp01_build_cmdbuf_x32_32_32_32 -dp01_build_cmdbuf_x32_32_32_32: @ 800D168 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D184 @ =gUnknown_03004040 - movs r2, 0x32 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D184: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x32_32_32_32 - - thumb_func_start dp01_build_cmdbuf_x33_a_33_33 -dp01_build_cmdbuf_x33_a_33_33: @ 800D188 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D1A8 @ =gUnknown_03004040 - movs r2, 0x33 - strb r2, [r1] - strb r3, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D1A8: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x33_a_33_33 - - thumb_func_start dp01_build_cmdbuf_x34_a_bb_aka_battle_anim -dp01_build_cmdbuf_x34_a_bb_aka_battle_anim: @ 800D1AC - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _0800D1D4 @ =gUnknown_03004040 - movs r3, 0x34 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - lsrs r2, 8 - strb r2, [r1, 0x3] - movs r2, 0x4 - bl dp01_prepare_buffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800D1D4: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x34_a_bb_aka_battle_anim - - thumb_func_start sub_800D1D8 -sub_800D1D8: @ 800D1D8 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D1F4 @ =gUnknown_03004040 - movs r2, 0x35 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D1F4: .4byte gUnknown_03004040 - thumb_func_end sub_800D1D8 - - thumb_func_start dp01_build_cmdbuf_x38_a -dp01_build_cmdbuf_x38_a: @ 800D1F8 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D214 @ =gUnknown_03004040 - movs r2, 0x36 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D214: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x38_a - - thumb_func_start dp01_build_cmdbuf_x37_a -dp01_build_cmdbuf_x37_a: @ 800D218 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800D234 @ =gUnknown_03004040 - movs r2, 0x37 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl dp01_prepare_buffer - pop {r0} - bx r0 - .align 2, 0 -_0800D234: .4byte gUnknown_03004040 - thumb_func_end dp01_build_cmdbuf_x37_a - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom6.s b/asm/rom6.s deleted file mode 100644 index 16899bf2e..000000000 --- a/asm/rom6.s +++ /dev/null @@ -1,474 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start npc_before_player_of_type -npc_before_player_of_type: @ 810B2D4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _0810B314 @ =gUnknown_0203923C - adds r1, r4, 0x2 - adds r0, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - bl PlayerGetZCoord - strb r0, [r4, 0x4] - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - ldrb r2, [r4, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810B318 @ =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldrb r0, [r2, 0x5] - cmp r0, r5 - bne _0810B320 - ldr r1, _0810B31C @ =gScriptLastTalked - ldrb r0, [r2, 0x8] - strh r0, [r1] - movs r0, 0x1 - b _0810B322 - .align 2, 0 -_0810B314: .4byte gUnknown_0203923C -_0810B318: .4byte gMapObjects -_0810B31C: .4byte gScriptLastTalked -_0810B320: - movs r0, 0 -_0810B322: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end npc_before_player_of_type - - thumb_func_start oei_task_add -oei_task_add: @ 810B328 - push {lr} - ldr r0, _0810B344 @ =gUnknown_0203923C - adds r1, r0, 0x2 - bl GetXYCoordsOneStepInFrontOfPlayer - ldr r0, _0810B348 @ =task08_080C9820 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810B344: .4byte gUnknown_0203923C -_0810B348: .4byte task08_080C9820 - thumb_func_end oei_task_add - - thumb_func_start task08_080C9820 -task08_080C9820: @ 810B34C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl ScriptContext2_Enable - ldr r1, _0810B3A0 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrb r1, [r1, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0810B3A4 @ =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _0810B382 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _0810B3CE -_0810B382: - ldr r0, _0810B3A8 @ =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x5 - bne _0810B3B4 - movs r0, 0x3B - bl FieldEffectStart - ldr r0, _0810B3AC @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810B3B0 @ =sub_810B428 - b _0810B3CC - .align 2, 0 -_0810B3A0: .4byte gPlayerAvatar -_0810B3A4: .4byte gMapObjects -_0810B3A8: .4byte gMapHeader -_0810B3AC: .4byte gTasks -_0810B3B0: .4byte sub_810B428 -_0810B3B4: - bl sub_8059BF4 - adds r0, r4, 0 - movs r1, 0x39 - bl FieldObjectSetSpecialAnim - ldr r0, _0810B3D4 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810B3D8 @ =sub_810B3DC -_0810B3CC: - str r0, [r1] -_0810B3CE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810B3D4: .4byte gTasks -_0810B3D8: .4byte sub_810B3DC - thumb_func_end task08_080C9820 - - thumb_func_start sub_810B3DC -sub_810B3DC: @ 810B3DC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810B418 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0810B41C @ =gMapObjects - adds r0, r1 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810B410 - movs r0, 0x3B - bl FieldEffectStart - ldr r0, _0810B420 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810B424 @ =sub_810B428 - str r0, [r1] -_0810B410: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810B418: .4byte gPlayerAvatar -_0810B41C: .4byte gMapObjects -_0810B420: .4byte gTasks -_0810B424: .4byte sub_810B428 - thumb_func_end sub_810B3DC - - thumb_func_start sub_810B428 -sub_810B428: @ 810B428 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0810B4AC - bl player_get_direction_lower_nybble - ldr r6, _0810B4B4 @ =gUnknown_0202FF84 - lsls r0, 24 - lsrs r0, 24 - str r0, [r6, 0x4] - cmp r0, 0x1 - bne _0810B44E - str r4, [r6, 0x8] -_0810B44E: - ldr r1, [r6, 0x4] - cmp r1, 0x2 - bne _0810B458 - movs r0, 0x1 - str r0, [r6, 0x8] -_0810B458: - cmp r1, 0x3 - bne _0810B460 - movs r0, 0x2 - str r0, [r6, 0x8] -_0810B460: - cmp r1, 0x4 - bne _0810B468 - movs r0, 0x3 - str r0, [r6, 0x8] -_0810B468: - ldr r5, _0810B4B8 @ =gPlayerAvatar - ldrb r0, [r5, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0810B4BC @ =gMapObjects - adds r4, r0 - bl GetPlayerAvatarGraphicsIdByCurrentState - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_805B980 - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0810B4C0 @ =gSprites - adds r0, r1 - ldrb r1, [r6, 0x8] - bl StartSpriteAnim - movs r0, 0x6 - bl FieldEffectActiveListRemove - ldr r1, _0810B4C4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810B4C8 @ =sub_810B4CC - str r1, [r0] -_0810B4AC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810B4B4: .4byte gUnknown_0202FF84 -_0810B4B8: .4byte gPlayerAvatar -_0810B4BC: .4byte gMapObjects -_0810B4C0: .4byte gSprites -_0810B4C4: .4byte gTasks -_0810B4C8: .4byte sub_810B4CC - thumb_func_end sub_810B428 - - thumb_func_start sub_810B4CC -sub_810B4CC: @ 810B4CC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0810B4FC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x18] - lsls r1, 16 - ldrh r0, [r0, 0x1A] - orrs r1, r0 - bl _call_via_r1 - ldr r1, _0810B500 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810B4FC: .4byte gTasks -_0810B500: .4byte gPlayerAvatar - thumb_func_end sub_810B4CC - - thumb_func_start SetUpFieldMove_RockSmash -SetUpFieldMove_RockSmash: @ 810B504 - push {lr} - movs r0, 0x56 - bl npc_before_player_of_type - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810B518 - movs r0, 0 - b _0810B526 -_0810B518: - ldr r1, _0810B52C @ =gUnknown_0300485C - ldr r0, _0810B530 @ =sub_808AB90 - str r0, [r1] - ldr r1, _0810B534 @ =gUnknown_03005CE4 - ldr r0, _0810B538 @ =sub_810B53C - str r0, [r1] - movs r0, 0x1 -_0810B526: - pop {r1} - bx r1 - .align 2, 0 -_0810B52C: .4byte gUnknown_0300485C -_0810B530: .4byte sub_808AB90 -_0810B534: .4byte gUnknown_03005CE4 -_0810B538: .4byte sub_810B53C - thumb_func_end SetUpFieldMove_RockSmash - - thumb_func_start sub_810B53C -sub_810B53C: @ 810B53C - push {lr} - ldr r1, _0810B550 @ =gUnknown_0202FF84 - ldr r0, _0810B554 @ =gUnknown_03005CE0 - ldrb r0, [r0] - str r0, [r1] - ldr r0, _0810B558 @ =UseRockSmashScript - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_0810B550: .4byte gUnknown_0202FF84 -_0810B554: .4byte gUnknown_03005CE0 -_0810B558: .4byte UseRockSmashScript - thumb_func_end sub_810B53C - - thumb_func_start FldEff_RockSmash -FldEff_RockSmash: @ 810B55C - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810B584 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _0810B588 @ =sub_810B58C - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x13 - bl IncrementGameStat - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0810B584: .4byte gTasks -_0810B588: .4byte sub_810B58C - thumb_func_end FldEff_RockSmash - - thumb_func_start sub_810B58C -sub_810B58C: @ 810B58C - push {lr} - movs r0, 0x83 - bl PlaySE - movs r0, 0x25 - bl FieldEffectActiveListRemove - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_810B58C - - thumb_func_start SetUpFieldMove_Dig -SetUpFieldMove_Dig: @ 810B5A4 - push {lr} - bl sub_80CA1C8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810B5B6 - movs r0, 0 - b _0810B5C4 -_0810B5B6: - ldr r1, _0810B5C8 @ =gUnknown_0300485C - ldr r0, _0810B5CC @ =sub_808AB90 - str r0, [r1] - ldr r1, _0810B5D0 @ =gUnknown_03005CE4 - ldr r0, _0810B5D4 @ =sub_810B5D8 - str r0, [r1] - movs r0, 0x1 -_0810B5C4: - pop {r1} - bx r1 - .align 2, 0 -_0810B5C8: .4byte gUnknown_0300485C -_0810B5CC: .4byte sub_808AB90 -_0810B5D0: .4byte gUnknown_03005CE4 -_0810B5D4: .4byte sub_810B5D8 - thumb_func_end SetUpFieldMove_Dig - - thumb_func_start sub_810B5D8 -sub_810B5D8: @ 810B5D8 - push {lr} - bl sub_8053014 - movs r0, 0x26 - bl FieldEffectStart - ldr r0, _0810B5F0 @ =gUnknown_0202FF84 - ldr r1, _0810B5F4 @ =gUnknown_03005CE0 - ldrb r1, [r1] - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_0810B5F0: .4byte gUnknown_0202FF84 -_0810B5F4: .4byte gUnknown_03005CE0 - thumb_func_end sub_810B5D8 - - thumb_func_start FldEff_UseDig -FldEff_UseDig: @ 810B5F8 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810B62C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _0810B630 @ =sub_810B634 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - bl ShouldDoBrailleDigEffect - lsls r0, 24 - cmp r0, 0 - bne _0810B624 - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags -_0810B624: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0810B62C: .4byte gTasks -_0810B630: .4byte sub_810B634 - thumb_func_end FldEff_UseDig - - thumb_func_start sub_810B634 -sub_810B634: @ 810B634 - push {r4,lr} - movs r0, 0x26 - bl FieldEffectActiveListRemove - bl ShouldDoBrailleDigEffect - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0810B64E - bl DoBrailleDigEffect - b _0810B666 -_0810B64E: - ldr r0, _0810B66C @ =task08_080A1C44 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810B670 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] -_0810B666: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810B66C: .4byte task08_080A1C44 -_0810B670: .4byte gTasks - thumb_func_end sub_810B634 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_800D42C.s b/asm/rom_800D42C.s index 57a727072..9ab29cd30 100644 --- a/asm/rom_800D42C.s +++ b/asm/rom_800D42C.s @@ -2271,7 +2271,7 @@ _0800E868: strb r0, [r1] ldr r0, _0800E96C @ =sub_800FCFC bl SetVBlankCallback - bl sub_800B884 + bl setup_poochyena_battle ldr r0, _0800E970 @ =gBattleTypeFlags ldrh r1, [r0] movs r0, 0x40 @@ -6330,9 +6330,9 @@ _08010906: cmp r2, 0 bge _08010902 movs r1, 0 - ldr r2, _08010AFC @ =gUnknown_02024C07 + ldr r2, _08010AFC @ =gPlayerMonIndex strb r1, [r2] - ldr r3, _08010B00 @ =gUnknown_02024C08 + ldr r3, _08010B00 @ =gEnemyMonIndex strb r1, [r3] ldr r4, _08010B04 @ =gBattleWeather strh r1, [r4] @@ -6401,7 +6401,7 @@ _08010994: ldr r0, _08010B3C @ =gUnknown_02024D18 strh r5, [r0] movs r0, 0 - ldr r1, _08010B40 @ =gUnknown_02024BEC + ldr r1, _08010B40 @ =gBattleMoveDamage str r0, [r1] ldr r2, _08010B44 @ =gUnknown_02024DE8 strh r0, [r2] @@ -6562,8 +6562,8 @@ _08010AEC: .4byte gUnknown_02024C5C _08010AF0: .4byte 0x02017100 _08010AF4: .4byte gUnknown_02024C80 _08010AF8: .4byte gUnknown_02024C7A -_08010AFC: .4byte gUnknown_02024C07 -_08010B00: .4byte gUnknown_02024C08 +_08010AFC: .4byte gPlayerMonIndex +_08010B00: .4byte gEnemyMonIndex _08010B04: .4byte gBattleWeather _08010B08: .4byte gUnknown_02024DBC _08010B0C: .4byte gUnknown_02024C6C @@ -6579,7 +6579,7 @@ _08010B30: .4byte 0x00017130 _08010B34: .4byte 0x00017160 _08010B38: .4byte gUnknown_02024D1E _08010B3C: .4byte gUnknown_02024D18 -_08010B40: .4byte gUnknown_02024BEC +_08010B40: .4byte gBattleMoveDamage _08010B44: .4byte gUnknown_02024DE8 _08010B48: .4byte 0x00016002 _08010B4C: .4byte 0x000160a1 @@ -8790,7 +8790,7 @@ _08011D06: movs r5, 0 ldr r3, _08011D84 @ =gUnknown_02024A68 ldr r2, _08011D7C @ =0x02000000 - ldr r6, _08011DB0 @ =gUnknown_02024C68 + ldr r6, _08011DB0 @ =gBattleMoveFlags ldrb r0, [r3] cmp r5, r0 bge _08011D36 @@ -8858,7 +8858,7 @@ _08011DA0: .4byte 0x000160a6 _08011DA4: .4byte gUnknown_030042D4 _08011DA8: .4byte sub_8012324 _08011DAC: .4byte gUnknown_02024D1E -_08011DB0: .4byte gUnknown_02024C68 +_08011DB0: .4byte gBattleMoveFlags _08011DB4: .4byte gBattleMons _08011DB8: .4byte 0x00016001 _08011DBC: .4byte 0x00016110 @@ -8942,7 +8942,7 @@ _08011E32: ldr r1, _08011E84 @ =0x0001600e adds r0, r1 strb r2, [r0] - ldr r0, _08011E88 @ =gUnknown_02024C68 + ldr r0, _08011E88 @ =gBattleMoveFlags strb r2, [r0] _08011E5A: pop {r4-r6} @@ -8959,7 +8959,7 @@ _08011E78: .4byte 0x02000000 _08011E7C: .4byte 0x00016001 _08011E80: .4byte 0x00016110 _08011E84: .4byte 0x0001600e -_08011E88: .4byte gUnknown_02024C68 +_08011E88: .4byte gBattleMoveFlags thumb_func_end bc_8013B1C thumb_func_start sub_8011E8C @@ -9027,9 +9027,9 @@ _08011EE0: ldr r2, _08011F64 @ =0x0001600c adds r0, r5, r2 strb r4, [r0] - ldr r0, _08011F68 @ =gUnknown_02024BEC + ldr r0, _08011F68 @ =gBattleMoveDamage str r4, [r0] - ldr r0, _08011F6C @ =gUnknown_02024C68 + ldr r0, _08011F6C @ =gBattleMoveFlags strb r4, [r0] ldr r1, _08011F70 @ =gUnknown_02024D1E movs r2, 0 @@ -9062,8 +9062,8 @@ _08011F58: .4byte 0xffefffff _08011F5C: .4byte 0x00016002 _08011F60: .4byte 0x000160a1 _08011F64: .4byte 0x0001600c -_08011F68: .4byte gUnknown_02024BEC -_08011F6C: .4byte gUnknown_02024C68 +_08011F68: .4byte gBattleMoveDamage +_08011F6C: .4byte gBattleMoveFlags _08011F70: .4byte gUnknown_02024D1E _08011F74: .4byte gUnknown_02024A7F _08011F78: .4byte gUnknown_030042D4 @@ -10891,7 +10891,7 @@ _08012EC0: .4byte 0x00016060 _08012EC4: .4byte gUnknown_02024D1E _08012EC8: .4byte 0x00016094 _08012ECC: - ldr r0, _08012F20 @ =gUnknown_02024C07 + ldr r0, _08012F20 @ =gPlayerMonIndex strb r1, [r0] ldr r7, _08012F24 @ =gUnknown_02024C10 ldr r6, _08012F28 @ =gUnknown_02024C1C @@ -10933,7 +10933,7 @@ _08012F12: str r1, [r0] b _08012F66 .align 2, 0 -_08012F20: .4byte gUnknown_02024C07 +_08012F20: .4byte gPlayerMonIndex _08012F24: .4byte gUnknown_02024C10 _08012F28: .4byte gUnknown_02024C1C _08012F2C: .4byte gUnknown_02024A64 @@ -12067,7 +12067,7 @@ bc_80154A0: @ 80137CC cmp r1, r0 bcs _08013884 ldr r6, _08013860 @ =gUnknown_02024A60 - ldr r5, _08013864 @ =gUnknown_02024C07 + ldr r5, _08013864 @ =gPlayerMonIndex adds r4, r2, 0 movs r1, 0x84 lsls r1, 1 @@ -12121,7 +12121,7 @@ _08013854: .4byte 0x02000000 _08013858: .4byte 0x0001601d _0801385C: .4byte gUnknown_02024A68 _08013860: .4byte gUnknown_02024A60 -_08013864: .4byte gUnknown_02024C07 +_08013864: .4byte gPlayerMonIndex _08013868: .4byte gUnknown_02024C60 _0801386C: .4byte gBattleMons _08013870: .4byte gUnknown_02024CA8 @@ -12273,7 +12273,7 @@ sub_8013998: @ 8013998 strb r0, [r1] movs r0, 0 bl battle_get_side_with_given_state - ldr r1, _080139E0 @ =gUnknown_02024C07 + ldr r1, _080139E0 @ =gPlayerMonIndex strb r0, [r1] ldr r1, _080139E4 @ =gUnknown_02024C10 ldr r0, _080139E8 @ =gUnknown_081D8E02 @@ -12288,7 +12288,7 @@ _080139D0: .4byte gUnknown_02024A7F _080139D4: .4byte gBattleTypeFlags _080139D8: .4byte gUnknown_030041C0 _080139DC: .4byte gUnknown_02024D26 -_080139E0: .4byte gUnknown_02024C07 +_080139E0: .4byte gPlayerMonIndex _080139E4: .4byte gUnknown_02024C10 _080139E8: .4byte gUnknown_081D8E02 _080139EC: @@ -12448,7 +12448,7 @@ sub_8013B64: @ 8013B64 strb r0, [r1] movs r0, 0 bl battle_get_side_with_given_state - ldr r1, _08013BAC @ =gUnknown_02024C07 + ldr r1, _08013BAC @ =gPlayerMonIndex strb r0, [r1] ldr r1, _08013BB0 @ =gUnknown_02024C10 ldr r0, _08013BB4 @ =gUnknown_081D8E02 @@ -12463,7 +12463,7 @@ _08013B9C: .4byte gUnknown_02024A7F _08013BA0: .4byte gBattleTypeFlags _08013BA4: .4byte gUnknown_030041C0 _08013BA8: .4byte gUnknown_02024D26 -_08013BAC: .4byte gUnknown_02024C07 +_08013BAC: .4byte gPlayerMonIndex _08013BB0: .4byte gUnknown_02024C10 _08013BB4: .4byte gUnknown_081D8E02 _08013BB8: @@ -12491,7 +12491,7 @@ sub_8013BDC: @ 8013BDC movs r0, 0 strb r0, [r1] ldr r1, _08013C08 @ =gUnknown_02024D28 - ldr r0, _08013C0C @ =gUnknown_02024C07 + ldr r0, _08013C0C @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -12508,7 +12508,7 @@ sub_8013BDC: @ 8013BDC .align 2, 0 _08013C04: .4byte gUnknown_02024A7F _08013C08: .4byte gUnknown_02024D28 -_08013C0C: .4byte gUnknown_02024C07 +_08013C0C: .4byte gPlayerMonIndex _08013C10: .4byte gUnknown_02024C10 _08013C14: .4byte gUnknown_081D8E29 _08013C18: @@ -12545,7 +12545,7 @@ sub_8013C48: @ 8013C48 strb r0, [r1] movs r0, 0x7 strb r0, [r1, 0x1] - ldr r2, _08013C84 @ =gUnknown_02024C07 + ldr r2, _08013C84 @ =gPlayerMonIndex ldrb r0, [r2] strb r0, [r1, 0x2] ldr r3, _08013C88 @ =gUnknown_02024A6A @@ -12566,7 +12566,7 @@ sub_8013C48: @ 8013C48 .align 2, 0 _08013C7C: .4byte gUnknown_02024A7F _08013C80: .4byte gUnknown_030041C0 -_08013C84: .4byte gUnknown_02024C07 +_08013C84: .4byte gPlayerMonIndex _08013C88: .4byte gUnknown_02024A6A _08013C8C: .4byte gUnknown_02024C10 _08013C90: .4byte gUnknown_081D8E30 @@ -12995,7 +12995,7 @@ sub_8013FE8: @ 8013FE8 sub sp, 0xC movs r0, 0x4 str r0, [sp] - ldr r7, _08014028 @ =gUnknown_02024C07 + ldr r7, _08014028 @ =gPlayerMonIndex ldr r1, _0801402C @ =gUnknown_02024A7A ldr r0, _08014030 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -13019,7 +13019,7 @@ sub_8013FE8: @ 8013FE8 movs r0, 0xC b _080146CC .align 2, 0 -_08014028: .4byte gUnknown_02024C07 +_08014028: .4byte gPlayerMonIndex _0801402C: .4byte gUnknown_02024A7A _08014030: .4byte gUnknown_02024A7E _08014034: .4byte 0x02000000 @@ -13037,7 +13037,7 @@ _08014044: ldr r0, _080140C0 @ =0x000160e7 add r0, r10 strb r2, [r0] - ldr r0, _080140C4 @ =gUnknown_02024C68 + ldr r0, _080140C4 @ =gBattleMoveFlags strb r2, [r0] ldr r0, _080140C8 @ =gUnknown_02024C0E strb r2, [r0] @@ -13088,7 +13088,7 @@ _08014044: _080140B8: .4byte gCritMultiplier _080140BC: .4byte 0x0001601f _080140C0: .4byte 0x000160e7 -_080140C4: .4byte gUnknown_02024C68 +_080140C4: .4byte gBattleMoveFlags _080140C8: .4byte gUnknown_02024C0E _080140CC: .4byte gUnknown_02024D1E _080140D0: .4byte gUnknown_02024BE4 @@ -13240,7 +13240,7 @@ _08014218: mov r4, r8 ldrb r0, [r4] lsls r0, 1 - ldr r4, _0801425C @ =gUnknown_02024C07 + ldr r4, _0801425C @ =gPlayerMonIndex ldrb r2, [r4] movs r1, 0x58 muls r1, r2 @@ -13270,7 +13270,7 @@ _08014218: strb r0, [r1] b _08014280 .align 2, 0 -_0801425C: .4byte gUnknown_02024C07 +_0801425C: .4byte gPlayerMonIndex _08014260: .4byte gBattleMons _08014264: .4byte gUnknown_02024C60 _08014268: .4byte gUnknown_02024BE6 @@ -13283,7 +13283,7 @@ _08014278: strh r3, [r0] strh r3, [r1] _08014280: - ldr r0, _080142A0 @ =gUnknown_02024C07 + ldr r0, _080142A0 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -13297,7 +13297,7 @@ _08014280: .align 2, 0 _08014298: .4byte gUnknown_02024BE6 _0801429C: .4byte gUnknown_02024BE8 -_080142A0: .4byte gUnknown_02024C07 +_080142A0: .4byte gPlayerMonIndex _080142A4: .4byte gUnknown_030042E0 _080142A8: ldr r0, _08014314 @ =gUnknown_030042E0 @@ -13305,7 +13305,7 @@ _080142A8: ldrh r1, [r1] strh r1, [r0, 0x24] _080142B0: - ldr r4, _0801431C @ =gUnknown_02024C07 + ldr r4, _0801431C @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner movs r1, 0x1 @@ -13348,23 +13348,23 @@ _080142B0: ldrh r0, [r0, 0x28] cmp r0, 0 beq _08014330 - ldr r0, _0801432C @ =gUnknown_02024C08 + ldr r0, _0801432C @ =gEnemyMonIndex strb r2, [r0] b _080146AC .align 2, 0 _08014314: .4byte gUnknown_030042E0 _08014318: .4byte gUnknown_02024BE6 -_0801431C: .4byte gUnknown_02024C07 +_0801431C: .4byte gPlayerMonIndex _08014320: .4byte gUnknown_02024C80 _08014324: .4byte gBattleMoves _08014328: .4byte gBattleMons -_0801432C: .4byte gUnknown_02024C08 +_0801432C: .4byte gEnemyMonIndex _08014330: ldr r2, _08014454 @ =gBattleTypeFlags ldrh r1, [r2] movs r0, 0x1 ands r0, r1 - ldr r3, _08014458 @ =gUnknown_02024C07 + ldr r3, _08014458 @ =gPlayerMonIndex mov r9, r2 cmp r0, 0 bne _08014342 @@ -13398,7 +13398,7 @@ _08014370: ldr r3, _08014468 @ =gBattleMons ldr r0, _0801446C @ =0x02000000 mov r8, r0 - ldr r2, _08014458 @ =gUnknown_02024C07 + ldr r2, _08014458 @ =gPlayerMonIndex ldrb r5, [r2] ldr r1, _08014470 @ =0x00016010 adds r0, r5, r1 @@ -13438,7 +13438,7 @@ _080143B6: lsrs r0, 24 cmp r6, r0 beq _08014404 - ldr r0, _08014458 @ =gUnknown_02024C07 + ldr r0, _08014458 @ =gPlayerMonIndex ldrb r0, [r0] ldr r2, _08014470 @ =0x00016010 adds r0, r2 @@ -13496,7 +13496,7 @@ _0801441E: ands r3, r0 cmp r3, 0 beq _080144A4 - ldr r0, _08014458 @ =gUnknown_02024C07 + ldr r0, _08014458 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -13511,7 +13511,7 @@ _0801441E: b _08014496 .align 2, 0 _08014454: .4byte gBattleTypeFlags -_08014458: .4byte gUnknown_02024C07 +_08014458: .4byte gPlayerMonIndex _0801445C: .4byte gUnknown_02024C80 _08014460: .4byte gBattleMoves _08014464: .4byte gUnknown_02024BE6 @@ -13536,15 +13536,15 @@ _08014494: movs r0, 0x2 _08014496: bl battle_get_side_with_given_state - ldr r1, _080144A0 @ =gUnknown_02024C08 + ldr r1, _080144A0 @ =gEnemyMonIndex strb r0, [r1] b _080144B6 .align 2, 0 -_080144A0: .4byte gUnknown_02024C08 +_080144A0: .4byte gEnemyMonIndex _080144A4: - ldr r2, _080144EC @ =gUnknown_02024C08 + ldr r2, _080144EC @ =gEnemyMonIndex ldr r1, _080144F0 @ =0x02000000 - ldr r0, _080144F4 @ =gUnknown_02024C07 + ldr r0, _080144F4 @ =gPlayerMonIndex ldrb r0, [r0] ldr r4, _080144F8 @ =0x00016010 adds r0, r4 @@ -13556,7 +13556,7 @@ _080144B6: ldrb r0, [r7] ldr r1, _08014500 @ =gBitTable mov r8, r1 - ldr r5, _080144EC @ =gUnknown_02024C08 + ldr r5, _080144EC @ =gEnemyMonIndex ldrb r1, [r5] lsls r1, 2 add r1, r8 @@ -13566,7 +13566,7 @@ _080144B6: bne _080144D0 b _080146AC _080144D0: - ldr r6, _080144F4 @ =gUnknown_02024C07 + ldr r6, _080144F4 @ =gPlayerMonIndex ldrb r0, [r6] bl battle_side_get_owner adds r4, r0, 0 @@ -13579,9 +13579,9 @@ _080144D0: ldrb r0, [r5] b _0801469A .align 2, 0 -_080144EC: .4byte gUnknown_02024C08 +_080144EC: .4byte gEnemyMonIndex _080144F0: .4byte 0x02000000 -_080144F4: .4byte gUnknown_02024C07 +_080144F4: .4byte gPlayerMonIndex _080144F8: .4byte 0x00016010 _080144FC: .4byte gUnknown_02024C0C _08014500: .4byte gBitTable @@ -13624,7 +13624,7 @@ _08014522: movs r2, 0x2 orrs r1, r2 strb r1, [r0] - ldr r1, _0801456C @ =gUnknown_02024C08 + ldr r1, _0801456C @ =gEnemyMonIndex ldrb r0, [r4] strb r0, [r1] b _080146AC @@ -13633,7 +13633,7 @@ _0801455C: .4byte gUnknown_02024A60 _08014560: .4byte gUnknown_02024A7A _08014564: .4byte gBattleMons _08014568: .4byte gUnknown_02024D68 -_0801456C: .4byte gUnknown_02024C08 +_0801456C: .4byte gEnemyMonIndex _08014570: mov r4, r9 ldrh r1, [r4] @@ -13684,12 +13684,12 @@ _080145D0: movs r0, 0x2 _080145D2: bl battle_get_side_with_given_state - ldr r1, _0801460C @ =gUnknown_02024C08 + ldr r1, _0801460C @ =gEnemyMonIndex strb r0, [r1] ldr r0, _08014610 @ =gUnknown_02024C0C ldrb r1, [r0] ldr r2, _08014614 @ =gBitTable - ldr r5, _0801460C @ =gUnknown_02024C08 + ldr r5, _0801460C @ =gEnemyMonIndex ldrb r0, [r5] lsls r0, 2 adds r0, r2 @@ -13697,7 +13697,7 @@ _080145D2: ands r1, r0 cmp r1, 0 beq _080146AC - ldr r0, _08014618 @ =gUnknown_02024C07 + ldr r0, _08014618 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner adds r4, r0, 0 @@ -13710,12 +13710,12 @@ _080145D2: ldrb r0, [r5] b _0801469A .align 2, 0 -_0801460C: .4byte gUnknown_02024C08 +_0801460C: .4byte gEnemyMonIndex _08014610: .4byte gUnknown_02024C0C _08014614: .4byte gBitTable -_08014618: .4byte gUnknown_02024C07 +_08014618: .4byte gPlayerMonIndex _0801461C: - ldr r5, _08014660 @ =gUnknown_02024C08 + ldr r5, _08014660 @ =gEnemyMonIndex ldr r1, _08014664 @ =0x02000000 adds r2, r3, 0 ldrb r0, [r2] @@ -13748,7 +13748,7 @@ _0801461C: ldrb r0, [r5] b _0801469A .align 2, 0 -_08014660: .4byte gUnknown_02024C08 +_08014660: .4byte gEnemyMonIndex _08014664: .4byte 0x02000000 _08014668: .4byte 0x00016010 _0801466C: .4byte gUnknown_02024C0C @@ -13818,7 +13818,7 @@ _080146F0: .4byte gUnknown_02024A7F thumb_func_start sub_80146F4 sub_80146F4: @ 80146F4 push {r4,lr} - ldr r3, _08014764 @ =gUnknown_02024C07 + ldr r3, _08014764 @ =gPlayerMonIndex ldr r1, _08014768 @ =gUnknown_02024A7A ldr r0, _0801476C @ =gUnknown_02024A7E ldrb r0, [r0] @@ -13874,7 +13874,7 @@ _0801475C: pop {r0} bx r0 .align 2, 0 -_08014764: .4byte gUnknown_02024C07 +_08014764: .4byte gPlayerMonIndex _08014768: .4byte gUnknown_02024A7A _0801476C: .4byte gUnknown_02024A7E _08014770: .4byte gUnknown_030042A4 @@ -13898,8 +13898,8 @@ sub_80147A0: @ 80147A0 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r4, _08014804 @ =gUnknown_02024C07 - ldr r2, _08014808 @ =gUnknown_02024C08 + ldr r4, _08014804 @ =gPlayerMonIndex + ldr r2, _08014808 @ =gEnemyMonIndex ldr r1, _0801480C @ =gUnknown_02024A7A ldr r0, _08014810 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -13943,8 +13943,8 @@ sub_80147A0: @ 80147A0 str r0, [r2] b _08014A8C .align 2, 0 -_08014804: .4byte gUnknown_02024C07 -_08014808: .4byte gUnknown_02024C08 +_08014804: .4byte gPlayerMonIndex +_08014808: .4byte gEnemyMonIndex _0801480C: .4byte gUnknown_02024A7A _08014810: .4byte gUnknown_02024A7E _08014814: .4byte gUnknown_030042A4 @@ -14028,7 +14028,7 @@ _080148CC: ldr r2, _08014904 @ =gUnknown_02024D1E movs r0, 0 strb r0, [r2, 0x5] - ldr r1, _08014908 @ =gUnknown_02024C07 + ldr r1, _08014908 @ =gPlayerMonIndex ldrb r0, [r1] lsrs r0, 1 ldr r6, _0801490C @ =0x000160da @@ -14055,7 +14055,7 @@ _080148FC: b _08014A74 .align 2, 0 _08014904: .4byte gUnknown_02024D1E -_08014908: .4byte gUnknown_02024C07 +_08014908: .4byte gPlayerMonIndex _0801490C: .4byte 0x000160da _08014910: .4byte gUnknown_02024C10 _08014914: .4byte gUnknown_081D9E7C @@ -14095,7 +14095,7 @@ _08014958: ldr r3, _0801498C @ =gUnknown_02024D1E movs r0, 0x4 strb r0, [r3, 0x5] - ldr r2, _08014990 @ =gUnknown_02024C07 + ldr r2, _08014990 @ =gPlayerMonIndex ldrb r0, [r2] lsrs r0, 1 ldr r1, _08014994 @ =0x000160da @@ -14119,7 +14119,7 @@ _08014958: b _08014A74 .align 2, 0 _0801498C: .4byte gUnknown_02024D1E -_08014990: .4byte gUnknown_02024C07 +_08014990: .4byte gPlayerMonIndex _08014994: .4byte 0x000160da _08014998: .4byte gUnknown_02024C10 _0801499C: .4byte gUnknown_081D9E7C @@ -14202,7 +14202,7 @@ _08014A30: ldr r1, _08014A54 @ =gUnknown_02024D1E movs r0, 0x2 strb r0, [r1, 0x5] - ldr r0, _08014A58 @ =gUnknown_02024C07 + ldr r0, _08014A58 @ =gPlayerMonIndex mov r8, r0 ldr r1, _08014A5C @ =gUnknown_02024C10 mov r9, r1 @@ -14212,13 +14212,13 @@ _08014A30: .align 2, 0 _08014A50: .4byte gBattleTypeFlags _08014A54: .4byte gUnknown_02024D1E -_08014A58: .4byte gUnknown_02024C07 +_08014A58: .4byte gPlayerMonIndex _08014A5C: .4byte gUnknown_02024C10 _08014A60: .4byte gUnknown_081D9E7C _08014A64: ldr r0, _08014AA0 @ =gUnknown_02024D1E strb r1, [r0, 0x5] - ldr r3, _08014AA4 @ =gUnknown_02024C07 + ldr r3, _08014AA4 @ =gPlayerMonIndex mov r8, r3 ldr r0, _08014AA8 @ =gUnknown_02024C10 mov r9, r0 @@ -14250,7 +14250,7 @@ _08014A8C: bx r0 .align 2, 0 _08014AA0: .4byte gUnknown_02024D1E -_08014AA4: .4byte gUnknown_02024C07 +_08014AA4: .4byte gPlayerMonIndex _08014AA8: .4byte gUnknown_02024C10 _08014AAC: .4byte gUnknown_081D9E7C _08014AB0: .4byte 0x000160d8 @@ -14416,7 +14416,7 @@ _08014BF0: .4byte gUnknown_02024D26 thumb_func_start sub_8014BF4 sub_8014BF4: @ 8014BF4 push {r4-r6,lr} - ldr r4, _08014C44 @ =gUnknown_02024C07 + ldr r4, _08014C44 @ =gPlayerMonIndex ldr r1, _08014C48 @ =gUnknown_02024A7A ldr r5, _08014C4C @ =gUnknown_02024A7E ldrb r0, [r5] @@ -14456,7 +14456,7 @@ _08014C28: movs r1, 0x2 b _08014C72 .align 2, 0 -_08014C44: .4byte gUnknown_02024C07 +_08014C44: .4byte gPlayerMonIndex _08014C48: .4byte gUnknown_02024A7A _08014C4C: .4byte gUnknown_02024A7E _08014C50: .4byte gBattleTypeFlags @@ -14579,7 +14579,7 @@ _08014D4C: .4byte gUnknown_02024D26 thumb_func_start sub_8014D50 sub_8014D50: @ 8014D50 - ldr r2, _08014D78 @ =gUnknown_02024C07 + ldr r2, _08014D78 @ =gPlayerMonIndex ldr r1, _08014D7C @ =gUnknown_02024A7A ldr r0, _08014D80 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -14600,7 +14600,7 @@ sub_8014D50: @ 8014D50 strb r0, [r1] bx lr .align 2, 0 -_08014D78: .4byte gUnknown_02024C07 +_08014D78: .4byte gPlayerMonIndex _08014D7C: .4byte gUnknown_02024A7A _08014D80: .4byte gUnknown_02024A7E _08014D84: .4byte gUnknown_030042A4 @@ -14612,7 +14612,7 @@ _08014D94: .4byte gUnknown_02024A7F thumb_func_start sub_8014D98 sub_8014D98: @ 8014D98 - ldr r2, _08014DD0 @ =gUnknown_02024C07 + ldr r2, _08014DD0 @ =gPlayerMonIndex ldr r1, _08014DD4 @ =gUnknown_02024A7A ldr r0, _08014DD8 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -14640,7 +14640,7 @@ sub_8014D98: @ 8014D98 strb r0, [r1] bx lr .align 2, 0 -_08014DD0: .4byte gUnknown_02024C07 +_08014DD0: .4byte gPlayerMonIndex _08014DD4: .4byte gUnknown_02024A7A _08014DD8: .4byte gUnknown_02024A7E _08014DDC: .4byte gUnknown_030042A4 @@ -14655,7 +14655,7 @@ _08014DF4: .4byte gUnknown_02024A7F thumb_func_start sub_8014DF8 sub_8014DF8: @ 8014DF8 push {r4-r6,lr} - ldr r3, _08014E68 @ =gUnknown_02024C07 + ldr r3, _08014E68 @ =gPlayerMonIndex ldr r1, _08014E6C @ =gUnknown_02024A7A ldr r0, _08014E70 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -14711,7 +14711,7 @@ _08014E42: movs r0, 0x1 b _08014E9A .align 2, 0 -_08014E68: .4byte gUnknown_02024C07 +_08014E68: .4byte gPlayerMonIndex _08014E6C: .4byte gUnknown_02024A7A _08014E70: .4byte gUnknown_02024A7E _08014E74: .4byte gUnknown_030042A4 @@ -14747,7 +14747,7 @@ _08014EB8: .4byte gUnknown_02024A7F thumb_func_start sub_8014EBC sub_8014EBC: @ 8014EBC push {r4,r5,lr} - ldr r2, _08014F28 @ =gUnknown_02024C07 + ldr r2, _08014F28 @ =gPlayerMonIndex ldr r1, _08014F2C @ =gUnknown_02024A7A ldr r0, _08014F30 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -14803,7 +14803,7 @@ _08014F18: strb r5, [r0, 0x5] b _08014F5A .align 2, 0 -_08014F28: .4byte gUnknown_02024C07 +_08014F28: .4byte gPlayerMonIndex _08014F2C: .4byte gUnknown_02024A7A _08014F30: .4byte gUnknown_02024A7E _08014F34: .4byte gUnknown_030042A4 @@ -14839,7 +14839,7 @@ _08014F7C: .4byte gUnknown_02024A7F thumb_func_start bs8_exit_by_flight bs8_exit_by_flight: @ 8014F80 push {r4,lr} - ldr r2, _08014FA8 @ =gUnknown_02024C07 + ldr r2, _08014FA8 @ =gPlayerMonIndex ldr r1, _08014FAC @ =gUnknown_02024A7A ldr r4, _08014FB0 @ =gUnknown_02024A7E ldrb r0, [r4] @@ -14858,7 +14858,7 @@ bs8_exit_by_flight: @ 8014F80 pop {r0} bx r0 .align 2, 0 -_08014FA8: .4byte gUnknown_02024C07 +_08014FA8: .4byte gPlayerMonIndex _08014FAC: .4byte gUnknown_02024A7A _08014FB0: .4byte gUnknown_02024A7E _08014FB4: .4byte gUnknown_02024A68 @@ -14867,7 +14867,7 @@ _08014FB8: .4byte gUnknown_02024D26 thumb_func_start sub_8014FBC sub_8014FBC: @ 8014FBC - ldr r3, _08015008 @ =gUnknown_02024C07 + ldr r3, _08015008 @ =gPlayerMonIndex ldr r1, _0801500C @ =gUnknown_02024A7A ldr r0, _08015010 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -14905,7 +14905,7 @@ sub_8014FBC: @ 8014FBC strb r0, [r1, 0x1] bx lr .align 2, 0 -_08015008: .4byte gUnknown_02024C07 +_08015008: .4byte gPlayerMonIndex _0801500C: .4byte gUnknown_02024A7A _08015010: .4byte gUnknown_02024A7E _08015014: .4byte gUnknown_030042A4 @@ -14987,7 +14987,7 @@ bsC_8016D70: @ 8015094 ldr r1, _0801511C @ =0xf1e892af ands r0, r1 str r0, [r2] - ldr r0, _08015120 @ =gUnknown_02024BEC + ldr r0, _08015120 @ =gBattleMoveDamage movs r4, 0 str r4, [r0] ldr r1, _08015124 @ =0x02000000 @@ -14998,7 +14998,7 @@ bsC_8016D70: @ 8015094 adds r0, r1, r3 strb r4, [r0] ldr r2, _08015130 @ =gUnknown_02024C3C - ldr r5, _08015134 @ =gUnknown_02024C07 + ldr r5, _08015134 @ =gPlayerMonIndex ldrb r0, [r5] lsls r0, 1 adds r0, r2 @@ -15035,12 +15035,12 @@ _08015110: .4byte gUnknown_02024A7F _08015114: .4byte gUnknown_02024A76 _08015118: .4byte gUnknown_02024C6C _0801511C: .4byte 0xf1e892af -_08015120: .4byte gUnknown_02024BEC +_08015120: .4byte gBattleMoveDamage _08015124: .4byte 0x02000000 _08015128: .4byte 0x00016002 _0801512C: .4byte 0x000160a1 _08015130: .4byte gUnknown_02024C3C -_08015134: .4byte gUnknown_02024C07 +_08015134: .4byte gPlayerMonIndex _08015138: .4byte gUnknown_02024C44 _0801513C: .4byte 0x0001601c _08015140: .4byte gUnknown_02024DEC @@ -15078,15 +15078,15 @@ _0801516C: .4byte _080151C8 .4byte _080151B4 _08015198: - ldr r0, _0801519C @ =gUnknown_02024C08 + ldr r0, _0801519C @ =gEnemyMonIndex b _080151C6 .align 2, 0 -_0801519C: .4byte gUnknown_02024C08 +_0801519C: .4byte gEnemyMonIndex _080151A0: - ldr r0, _080151A4 @ =gUnknown_02024C07 + ldr r0, _080151A4 @ =gPlayerMonIndex b _080151C6 .align 2, 0 -_080151A4: .4byte gUnknown_02024C07 +_080151A4: .4byte gPlayerMonIndex _080151A8: ldr r0, _080151AC @ =gUnknown_02024C0A b _080151C6 @@ -16703,14 +16703,14 @@ sub_8015DFC: @ 8015DFC push {r5-r7} movs r0, 0 mov r9, r0 - ldr r1, _08015EA0 @ =gUnknown_02024C07 + ldr r1, _08015EA0 @ =gPlayerMonIndex mov r2, r9 strb r2, [r1] ldr r0, _08015EA4 @ =gUnknown_02024A68 ldrb r4, [r0] adds r6, r1, 0 mov r10, r0 - ldr r7, _08015EA8 @ =gUnknown_02024C08 + ldr r7, _08015EA8 @ =gEnemyMonIndex ldr r3, _08015EAC @ =0x02000000 mov r12, r3 cmp r9, r4 @@ -16784,9 +16784,9 @@ _08015E96: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08015EA0: .4byte gUnknown_02024C07 +_08015EA0: .4byte gPlayerMonIndex _08015EA4: .4byte gUnknown_02024A68 -_08015EA8: .4byte gUnknown_02024C08 +_08015EA8: .4byte gEnemyMonIndex _08015EAC: .4byte 0x02000000 _08015EB0: .4byte gUnknown_02024C0C _08015EB4: .4byte gBitTable @@ -16891,7 +16891,7 @@ _08015F80: movs r7, 0 ldr r5, _0801601C @ =gUnknown_030041C0 _08015F8A: - ldr r0, _08016020 @ =gUnknown_02024C07 + ldr r0, _08016020 @ =gPlayerMonIndex ldrb r4, [r6] strb r4, [r0] mov r0, r8 @@ -16961,7 +16961,7 @@ _08016010: .4byte 0x0001600e _08016014: .4byte 0x000160fc _08016018: .4byte gUnknown_02024A60 _0801601C: .4byte gUnknown_030041C0 -_08016020: .4byte gUnknown_02024C07 +_08016020: .4byte gPlayerMonIndex _08016024: .4byte gUnknown_02024C7A _08016028: .4byte gUnknown_02024C80 _0801602C: .4byte 0x0000fffe @@ -16981,7 +16981,7 @@ _08016040: mov r8, r0 ldr r5, _080160D0 @ =gUnknown_030041C0 _0801604C: - ldr r0, _080160D4 @ =gUnknown_02024C07 + ldr r0, _080160D4 @ =gPlayerMonIndex ldrb r4, [r7] strb r4, [r0] ldr r1, _080160D8 @ =gUnknown_02024A60 @@ -17049,7 +17049,7 @@ _080160C2: .align 2, 0 _080160CC: .4byte 0x000160fc _080160D0: .4byte gUnknown_030041C0 -_080160D4: .4byte gUnknown_02024C07 +_080160D4: .4byte gPlayerMonIndex _080160D8: .4byte gUnknown_02024A60 _080160DC: .4byte gUnknown_02024C7A _080160E0: .4byte gUnknown_02024C80 @@ -17070,7 +17070,7 @@ _080160F4: mov r8, r1 ldr r5, _080161A4 @ =gUnknown_030041C0 _0801610A: - ldr r0, _080161A8 @ =gUnknown_02024C07 + ldr r0, _080161A8 @ =gPlayerMonIndex ldrb r4, [r7] strb r4, [r0] mov r2, r10 @@ -17150,7 +17150,7 @@ _0801618A: _0801619C: .4byte 0x000160fc _080161A0: .4byte gUnknown_02024A60 _080161A4: .4byte gUnknown_030041C0 -_080161A8: .4byte gUnknown_02024C07 +_080161A8: .4byte gPlayerMonIndex _080161AC: .4byte gUnknown_02024C80 _080161B0: .4byte gUnknown_02024C7A _080161B4: .4byte 0x0000feff @@ -17166,7 +17166,7 @@ _080161C8: bhi _08016236 ldr r7, _08016254 @ =gUnknown_02024A60 adds r5, r1, 0 - ldr r6, _08016258 @ =gUnknown_02024C07 + ldr r6, _08016258 @ =gPlayerMonIndex _080161D8: ldrb r4, [r5] strb r4, [r6] @@ -17234,7 +17234,7 @@ _0801623E: .align 2, 0 _08016250: .4byte 0x000160fc _08016254: .4byte gUnknown_02024A60 -_08016258: .4byte gUnknown_02024C07 +_08016258: .4byte gPlayerMonIndex _0801625C: .4byte gUnknown_02024C7A _08016260: .4byte gUnknown_02024C80 _08016264: .4byte 0x0000ffdf @@ -17276,7 +17276,7 @@ _08016288: ldrh r0, [r0, 0x28] cmp r0, 0 beq _080162CA - ldr r0, _08016314 @ =gUnknown_02024C08 + ldr r0, _08016314 @ =gEnemyMonIndex strb r2, [r0] ldr r0, _08016318 @ =gUnknown_081D939A bl b_call_bc_move_exec @@ -17321,7 +17321,7 @@ _08016304: .4byte gUnknown_02024A60 _08016308: .4byte gUnknown_02024DDC _0801630C: .4byte gUnknown_02024A7A _08016310: .4byte gBattleMons -_08016314: .4byte gUnknown_02024C08 +_08016314: .4byte gEnemyMonIndex _08016318: .4byte gUnknown_081D939A _0801631C: .4byte 0x02000000 _08016320: .4byte 0x0001600e @@ -17619,7 +17619,7 @@ _08016578: .4byte gUnknown_02024C6C _0801657C: .4byte 0x01000020 _08016580: ldr r3, _080165B4 @ =gUnknown_02024A60 - ldr r4, _080165B8 @ =gUnknown_02024C07 + ldr r4, _080165B8 @ =gPlayerMonIndex ldr r1, _080165BC @ =gUnknown_02024A7A adds r5, r7, r2 ldrb r0, [r5] @@ -17644,7 +17644,7 @@ _08016580: bl _08017088 .align 2, 0 _080165B4: .4byte gUnknown_02024A60 -_080165B8: .4byte gUnknown_02024C07 +_080165B8: .4byte gPlayerMonIndex _080165BC: .4byte gUnknown_02024A7A _080165C0: .4byte gUnknown_02024C0C _080165C4: .4byte gBitTable @@ -17707,7 +17707,7 @@ _08016638: beq _08016686 cmp r2, 0 beq _08016686 - ldr r1, _0801669C @ =gUnknown_02024BEC + ldr r1, _0801669C @ =gBattleMoveDamage ldrh r0, [r0, 0x2C] lsrs r0, 4 str r0, [r1] @@ -17735,7 +17735,7 @@ _08016686: .align 2, 0 _08016694: .4byte gUnknown_02024C98 _08016698: .4byte gBattleMons -_0801669C: .4byte gUnknown_02024BEC +_0801669C: .4byte gBattleMoveDamage _080166A0: .4byte gUnknown_081D93D1 _080166A4: .4byte 0x02000000 _080166A8: @@ -17830,9 +17830,9 @@ _08016730: ldrh r0, [r0, 0x28] cmp r0, 0 beq _0801679C - ldr r0, _080167B0 @ =gUnknown_02024C08 + ldr r0, _080167B0 @ =gEnemyMonIndex strb r5, [r0] - ldr r2, _080167B4 @ =gUnknown_02024BEC + ldr r2, _080167B4 @ =gBattleMoveDamage ldrb r0, [r6] muls r0, r1 adds r0, r3 @@ -17868,8 +17868,8 @@ _0801679C: .align 2, 0 _080167A8: .4byte gUnknown_02024C98 _080167AC: .4byte gBattleMons -_080167B0: .4byte gUnknown_02024C08 -_080167B4: .4byte gUnknown_02024BEC +_080167B0: .4byte gEnemyMonIndex +_080167B4: .4byte gBattleMoveDamage _080167B8: .4byte 0x02000000 _080167BC: .4byte 0x000160a4 _080167C0: .4byte 0x000160a5 @@ -17892,7 +17892,7 @@ _080167C8: ldrh r0, [r1, 0x28] cmp r0, 0 beq _0801680A - ldr r2, _0801681C @ =gUnknown_02024BEC + ldr r2, _0801681C @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] lsrs r0, 3 str r0, [r2] @@ -17916,7 +17916,7 @@ _0801680A: bl _08017072 .align 2, 0 _08016818: .4byte gBattleMons -_0801681C: .4byte gUnknown_02024BEC +_0801681C: .4byte gBattleMoveDamage _08016820: .4byte gUnknown_081D9518 _08016824: .4byte 0x02000000 _08016828: @@ -17938,7 +17938,7 @@ _08016828: ldrh r0, [r1, 0x28] cmp r0, 0 beq _080168A2 - ldr r5, _080168B4 @ =gUnknown_02024BEC + ldr r5, _080168B4 @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] lsrs r0, 4 str r0, [r5] @@ -17990,7 +17990,7 @@ _080168A2: bl _08017072 .align 2, 0 _080168B0: .4byte gBattleMons -_080168B4: .4byte gUnknown_02024BEC +_080168B4: .4byte gBattleMoveDamage _080168B8: .4byte gUnknown_081D9518 _080168BC: .4byte 0x02000000 _080168C0: @@ -18011,7 +18011,7 @@ _080168C0: ldrh r0, [r1, 0x28] cmp r0, 0 beq _08016902 - ldr r2, _08016910 @ =gUnknown_02024BEC + ldr r2, _08016910 @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] lsrs r0, 3 str r0, [r2] @@ -18035,7 +18035,7 @@ _08016902: b _08017072 .align 2, 0 _0801690C: .4byte gBattleMons -_08016910: .4byte gUnknown_02024BEC +_08016910: .4byte gBattleMoveDamage _08016914: .4byte gUnknown_081D953A _08016918: .4byte 0x02000000 _0801691C: @@ -18057,7 +18057,7 @@ _0801691C: ldrh r0, [r1, 0x28] cmp r0, 0 beq _08016960 - ldr r2, _08016970 @ =gUnknown_02024BEC + ldr r2, _08016970 @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] lsrs r0, 2 str r0, [r2] @@ -18081,7 +18081,7 @@ _08016960: b _08017072 .align 2, 0 _0801696C: .4byte gBattleMons -_08016970: .4byte gUnknown_02024BEC +_08016970: .4byte gBattleMoveDamage _08016974: .4byte gUnknown_081D9613 _08016978: .4byte 0x02000000 _0801697C: @@ -18103,7 +18103,7 @@ _0801697C: ldrh r0, [r1, 0x28] cmp r0, 0 beq _080169C0 - ldr r2, _080169D0 @ =gUnknown_02024BEC + ldr r2, _080169D0 @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] lsrs r0, 2 str r0, [r2] @@ -18127,7 +18127,7 @@ _080169C0: b _08017072 .align 2, 0 _080169CC: .4byte gBattleMons -_080169D0: .4byte gUnknown_02024BEC +_080169D0: .4byte gBattleMoveDamage _080169D4: .4byte gUnknown_081D9624 _080169D8: .4byte 0x02000000 _080169DC: @@ -18204,7 +18204,7 @@ _080169DC: ldr r1, _08016AA8 @ =gUnknown_02024C10 ldr r0, _08016AAC @ =gUnknown_081D95E2 str r0, [r1] - ldr r2, _08016AB0 @ =gUnknown_02024BEC + ldr r2, _08016AB0 @ =gBattleMoveDamage ldrb r0, [r6] mov r7, r10 muls r7, r0 @@ -18228,7 +18228,7 @@ _08016AA0: .4byte 0x000160a5 _08016AA4: .4byte gUnknown_030041C0 _08016AA8: .4byte gUnknown_02024C10 _08016AAC: .4byte gUnknown_081D95E2 -_08016AB0: .4byte gUnknown_02024BEC +_08016AB0: .4byte gBattleMoveDamage _08016AB4: ldr r1, _08016B00 @ =gUnknown_030041C0 movs r0, 0xFD @@ -18374,7 +18374,7 @@ _08016BD2: cmp r0, r1 bcc _08016BB2 _08016BE0: - ldr r2, _08016BF8 @ =gUnknown_02024C07 + ldr r2, _08016BF8 @ =gPlayerMonIndex ldr r1, _08016BFC @ =gUnknown_02024A68 ldrb r0, [r2] ldrb r1, [r1] @@ -18385,7 +18385,7 @@ _08016BE0: b _0801707E .align 2, 0 _08016BF4: .4byte gBattleMons -_08016BF8: .4byte gUnknown_02024C07 +_08016BF8: .4byte gPlayerMonIndex _08016BFC: .4byte gUnknown_02024A68 _08016C00: ldr r5, _08016C38 @ =gUnknown_02024A60 @@ -19130,17 +19130,17 @@ _080171C6: strb r0, [r6, 0x3] movs r0, 0xFF strb r0, [r6, 0x4] - ldr r3, _08017224 @ =gUnknown_02024C08 + ldr r3, _08017224 @ =gEnemyMonIndex ldrb r0, [r4] strb r0, [r3] - ldr r1, _08017228 @ =gUnknown_02024C07 + ldr r1, _08017228 @ =gPlayerMonIndex mov r0, r12 adds r0, 0x4 ldrb r2, [r4] adds r0, r2 ldrb r0, [r0] strb r0, [r1] - ldr r1, _0801722C @ =gUnknown_02024BEC + ldr r1, _0801722C @ =gBattleMoveDamage ldrb r0, [r4] lsls r0, 2 add r0, r10 @@ -19159,9 +19159,9 @@ _080171C6: b _08017364 .align 2, 0 _08017220: .4byte gUnknown_02024D1E -_08017224: .4byte gUnknown_02024C08 -_08017228: .4byte gUnknown_02024C07 -_0801722C: .4byte gUnknown_02024BEC +_08017224: .4byte gEnemyMonIndex +_08017228: .4byte gPlayerMonIndex +_0801722C: .4byte gBattleMoveDamage _08017230: .4byte gUnknown_02024D68 _08017234: .4byte 0x0000ffff _08017238: .4byte gUnknown_081D92D7 @@ -19197,7 +19197,7 @@ _0801726A: ldr r4, _080172AC @ =gUnknown_030041C0 ldr r7, _080172B0 @ =gUnknown_02024CA8 _08017272: - ldr r2, _080172B4 @ =gUnknown_02024C07 + ldr r2, _080172B4 @ =gPlayerMonIndex ldr r1, _080172B8 @ =gUnknown_02024A7A ldrb r0, [r3] adds r0, r1 @@ -19225,7 +19225,7 @@ _080172A4: .4byte gUnknown_02024A68 _080172A8: .4byte gUnknown_02024A60 _080172AC: .4byte gUnknown_030041C0 _080172B0: .4byte gUnknown_02024CA8 -_080172B4: .4byte gUnknown_02024C07 +_080172B4: .4byte gPlayerMonIndex _080172B8: .4byte gUnknown_02024A7A _080172BC: .4byte gUnknown_02024C0C _080172C0: .4byte gBitTable @@ -19274,7 +19274,7 @@ _080172C4: negs r1, r1 ands r0, r1 str r0, [r2] - ldr r3, _08017338 @ =gUnknown_02024BEC + ldr r3, _08017338 @ =gBattleMoveDamage ldr r2, _0801733C @ =gBattleMons ldrb r1, [r5] movs r0, 0x58 @@ -19287,7 +19287,7 @@ _080172C4: b _08017360 .align 2, 0 _08017334: .4byte gUnknown_02024C98 -_08017338: .4byte gUnknown_02024BEC +_08017338: .4byte gBattleMoveDamage _0801733C: .4byte gBattleMons _08017340: .4byte gUnknown_02024C10 _08017344: .4byte gUnknown_081D9202 @@ -19459,7 +19459,7 @@ _08017490: mov r9, r1 ldr r0, _08017520 @ =gUnknown_02024C09 mov r12, r0 - ldr r1, _08017524 @ =gUnknown_02024C08 + ldr r1, _08017524 @ =gEnemyMonIndex mov r8, r1 mov r10, r9 ldr r5, _08017508 @ =0x0001605a @@ -19524,7 +19524,7 @@ _08017514: .4byte gUnknown_02024C0C _08017518: .4byte gBitTable _0801751C: .4byte 0x02000000 _08017520: .4byte gUnknown_02024C09 -_08017524: .4byte gUnknown_02024C08 +_08017524: .4byte gEnemyMonIndex _08017528: .4byte gBattleMons _0801752C: .4byte 0x00016113 _08017530: .4byte gUnknown_02024A6A @@ -19573,7 +19573,7 @@ _0801757C: strb r0, [r1] _0801758E: ldr r7, _080175E0 @ =gUnknown_02024C09 - ldr r6, _080175E4 @ =gUnknown_02024C08 + ldr r6, _080175E4 @ =gEnemyMonIndex ldr r1, _080175E8 @ =0x02000000 mov r8, r1 ldr r3, _080175D8 @ =0x0001605a @@ -19614,7 +19614,7 @@ _080175C4: _080175D8: .4byte 0x0001605a _080175DC: .4byte 0x00016059 _080175E0: .4byte gUnknown_02024C09 -_080175E4: .4byte gUnknown_02024C08 +_080175E4: .4byte gEnemyMonIndex _080175E8: .4byte 0x02000000 _080175EC: .4byte gBattleMons _080175F0: .4byte gBitTable @@ -19829,7 +19829,7 @@ _08017768: .4byte _08017F9E _080177A4: ldr r1, _080177D0 @ =gBattleMons - ldr r3, _080177D4 @ =gUnknown_02024C07 + ldr r3, _080177D4 @ =gPlayerMonIndex ldrb r2, [r3] movs r0, 0x58 muls r2, r0 @@ -19850,13 +19850,13 @@ _080177A4: bl _08017F94 .align 2, 0 _080177D0: .4byte gBattleMons -_080177D4: .4byte gUnknown_02024C07 +_080177D4: .4byte gPlayerMonIndex _080177D8: .4byte 0xfdffffff _080177DC: .4byte gUnknown_02024C98 _080177E0: .4byte 0xffffbfff _080177E4: ldr r7, _0801784C @ =gBattleMons - ldr r4, _08017850 @ =gUnknown_02024C07 + ldr r4, _08017850 @ =gPlayerMonIndex ldrb r1, [r4] movs r5, 0x58 adds r0, r1, 0 @@ -19908,7 +19908,7 @@ _08017804: b _08017D90 .align 2, 0 _0801784C: .4byte gBattleMons -_08017850: .4byte gUnknown_02024C07 +_08017850: .4byte gPlayerMonIndex _08017854: .4byte 0xf7ffffff _08017858: .4byte gUnknown_02024D1E _0801785C: .4byte gUnknown_02024C10 @@ -19942,7 +19942,7 @@ _08017890: str r0, [r2] _08017894: ldr r2, _080178D8 @ =gBattleMons - ldr r0, _080178DC @ =gUnknown_02024C07 + ldr r0, _080178DC @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -19978,7 +19978,7 @@ _080178BE: b _08017D90 .align 2, 0 _080178D8: .4byte gBattleMons -_080178DC: .4byte gUnknown_02024C07 +_080178DC: .4byte gPlayerMonIndex _080178E0: .4byte gUnknown_02024BE6 _080178E4: .4byte gUnknown_02024C10 _080178E8: .4byte gUnknown_081D94EE @@ -20005,7 +20005,7 @@ _08017918: .4byte gUnknown_02024C10 _0801791C: .4byte gUnknown_081D94FB _08017920: ldr r1, _0801797C @ =gBattleMons - ldr r7, _08017980 @ =gUnknown_02024C07 + ldr r7, _08017980 @ =gPlayerMonIndex ldrb r0, [r7] movs r6, 0x58 muls r0, r6 @@ -20050,7 +20050,7 @@ _0801793C: b _080179C8 .align 2, 0 _0801797C: .4byte gBattleMons -_08017980: .4byte gUnknown_02024C07 +_08017980: .4byte gPlayerMonIndex _08017984: .4byte gBattleMoves _08017988: .4byte gUnknown_02024BE6 _0801798C: .4byte gUnknown_02024C10 @@ -20089,7 +20089,7 @@ _080179D0: .4byte gUnknown_081D9552 _080179D4: .4byte gUnknown_02024D1E _080179D8: ldr r1, _08017A30 @ =gBattleMons - ldr r0, _08017A34 @ =gUnknown_02024C07 + ldr r0, _08017A34 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -20125,7 +20125,7 @@ _08017A02: ldr r1, _08017A44 @ =gUnknown_02024C10 ldr r0, _08017A48 @ =gUnknown_081D9977 str r0, [r1] - ldr r2, _08017A4C @ =gUnknown_02024C68 + ldr r2, _08017A4C @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -20135,16 +20135,16 @@ _08017A02: b _08017D90 .align 2, 0 _08017A30: .4byte gBattleMons -_08017A34: .4byte gUnknown_02024C07 +_08017A34: .4byte gPlayerMonIndex _08017A38: .4byte gUnknown_02024CA8 _08017A3C: .4byte gUnknown_02024C6C _08017A40: .4byte gUnknown_02024D1E _08017A44: .4byte gUnknown_02024C10 _08017A48: .4byte gUnknown_081D9977 -_08017A4C: .4byte gUnknown_02024C68 +_08017A4C: .4byte gBattleMoveFlags _08017A50: ldr r1, _08017AA4 @ =gBattleMons - ldr r3, _08017AA8 @ =gUnknown_02024C07 + ldr r3, _08017AA8 @ =gPlayerMonIndex ldrb r2, [r3] movs r0, 0x58 muls r0, r2 @@ -20187,7 +20187,7 @@ _08017A9C: b _08017D96 .align 2, 0 _08017AA4: .4byte gBattleMons -_08017AA8: .4byte gUnknown_02024C07 +_08017AA8: .4byte gPlayerMonIndex _08017AAC: .4byte 0xffbfffff _08017AB0: .4byte gUnknown_02024CA8 _08017AB4: .4byte gUnknown_02024C10 @@ -20197,7 +20197,7 @@ _08017AC0: .4byte 0x02000000 _08017AC4: .4byte 0x000160e7 _08017AC8: ldr r1, _08017B08 @ =gBattleMons - ldr r3, _08017B0C @ =gUnknown_02024C07 + ldr r3, _08017B0C @ =gPlayerMonIndex ldrb r2, [r3] movs r0, 0x58 muls r0, r2 @@ -20229,13 +20229,13 @@ _08017AE2: b _08017D7E .align 2, 0 _08017B08: .4byte gBattleMons -_08017B0C: .4byte gUnknown_02024C07 +_08017B0C: .4byte gPlayerMonIndex _08017B10: .4byte gUnknown_02024D28 _08017B14: .4byte gUnknown_02024C10 _08017B18: .4byte gUnknown_081D9573 _08017B1C: ldr r0, _08017B74 @ =gUnknown_02024CA8 - ldr r3, _08017B78 @ =gUnknown_02024C07 + ldr r3, _08017B78 @ =gPlayerMonIndex ldrb r2, [r3] lsls r1, r2, 3 subs r1, r2 @@ -20280,7 +20280,7 @@ _08017B3C: b _08017D90 .align 2, 0 _08017B74: .4byte gUnknown_02024CA8 -_08017B78: .4byte gUnknown_02024C07 +_08017B78: .4byte gPlayerMonIndex _08017B7C: .4byte gUnknown_02024BE6 _08017B80: .4byte gUnknown_02024D28 _08017B84: .4byte 0x02000000 @@ -20290,7 +20290,7 @@ _08017B90: .4byte gUnknown_081D9139 _08017B94: .4byte gUnknown_02024C6C _08017B98: ldr r0, _08017BF4 @ =gUnknown_02024CA8 - ldr r4, _08017BF8 @ =gUnknown_02024C07 + ldr r4, _08017BF8 @ =gPlayerMonIndex ldrb r3, [r4] lsls r1, r3, 3 subs r1, r3 @@ -20337,7 +20337,7 @@ _08017BEC: b _08017D96 .align 2, 0 _08017BF4: .4byte gUnknown_02024CA8 -_08017BF8: .4byte gUnknown_02024C07 +_08017BF8: .4byte gPlayerMonIndex _08017BFC: .4byte gBattleMoves _08017C00: .4byte gUnknown_02024BE6 _08017C04: .4byte gUnknown_02024D28 @@ -20347,7 +20347,7 @@ _08017C10: .4byte gUnknown_02024C6C _08017C14: .4byte 0x02000000 _08017C18: .4byte 0x000160e7 _08017C1C: - ldr r4, _08017C4C @ =gUnknown_02024C07 + ldr r4, _08017C4C @ =gPlayerMonIndex ldrb r0, [r4] ldr r1, _08017C50 @ =gUnknown_02024BE6 ldrh r1, [r1] @@ -20371,14 +20371,14 @@ _08017C30: ldr r0, _08017C5C @ =gUnknown_081D9459 b _08017D7E .align 2, 0 -_08017C4C: .4byte gUnknown_02024C07 +_08017C4C: .4byte gPlayerMonIndex _08017C50: .4byte gUnknown_02024BE6 _08017C54: .4byte gUnknown_02024D28 _08017C58: .4byte gUnknown_02024C10 _08017C5C: .4byte gUnknown_081D9459 _08017C60: ldr r7, _08017CAC @ =gBattleMons - ldr r5, _08017CB0 @ =gUnknown_02024C07 + ldr r5, _08017CB0 @ =gPlayerMonIndex ldrb r0, [r5] movs r6, 0x58 muls r0, r6 @@ -20415,13 +20415,13 @@ _08017C7E: b _08017D02 .align 2, 0 _08017CAC: .4byte gBattleMons -_08017CB0: .4byte gUnknown_02024C07 +_08017CB0: .4byte gPlayerMonIndex _08017CB4: .4byte gUnknown_02024D1E _08017CB8: ldr r0, _08017D08 @ =gUnknown_02024D1E movs r4, 0x1 strb r1, [r0, 0x5] - ldr r1, _08017D0C @ =gUnknown_02024C08 + ldr r1, _08017D0C @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r1] ldrb r0, [r5] @@ -20439,7 +20439,7 @@ _08017CB8: movs r2, 0x1 movs r3, 0 bl CalculateBaseDamage - ldr r1, _08017D10 @ =gUnknown_02024BEC + ldr r1, _08017D10 @ =gBattleMoveDamage str r0, [r1] ldr r0, _08017D14 @ =gUnknown_02024D28 ldrb r1, [r5] @@ -20460,8 +20460,8 @@ _08017D02: b _08017D2C .align 2, 0 _08017D08: .4byte gUnknown_02024D1E -_08017D0C: .4byte gUnknown_02024C08 -_08017D10: .4byte gUnknown_02024BEC +_08017D0C: .4byte gEnemyMonIndex +_08017D10: .4byte gBattleMoveDamage _08017D14: .4byte gUnknown_02024D28 _08017D18: .4byte gUnknown_02024C6C _08017D1C: .4byte gUnknown_02024C10 @@ -20479,7 +20479,7 @@ _08017D34: .4byte gUnknown_02024C10 _08017D38: .4byte gUnknown_081D95D4 _08017D3C: ldr r1, _08017DA0 @ =gBattleMons - ldr r4, _08017DA4 @ =gUnknown_02024C07 + ldr r4, _08017DA4 @ =gPlayerMonIndex ldrb r2, [r4] movs r0, 0x58 muls r0, r2 @@ -20532,7 +20532,7 @@ _08017D96: b _08017F9E .align 2, 0 _08017DA0: .4byte gBattleMons -_08017DA4: .4byte gUnknown_02024C07 +_08017DA4: .4byte gPlayerMonIndex _08017DA8: .4byte gUnknown_02024D28 _08017DAC: .4byte gUnknown_02024C10 _08017DB0: .4byte gUnknown_081D9566 @@ -20541,7 +20541,7 @@ _08017DB8: .4byte 0x02000000 _08017DBC: .4byte 0x000160e7 _08017DC0: ldr r1, _08017DFC @ =gBattleMons - ldr r4, _08017E00 @ =gUnknown_02024C07 + ldr r4, _08017E00 @ =gPlayerMonIndex ldrb r2, [r4] movs r0, 0x58 muls r0, r2 @@ -20570,7 +20570,7 @@ _08017DDC: b _08017E34 .align 2, 0 _08017DFC: .4byte gBattleMons -_08017E00: .4byte gUnknown_02024C07 +_08017E00: .4byte gPlayerMonIndex _08017E04: .4byte 0x02000000 _08017E08: .4byte 0x00016003 _08017E0C: @@ -20611,7 +20611,7 @@ _08017E54: .4byte gUnknown_081D95FB _08017E58: .4byte 0x02000000 _08017E5C: ldr r1, _08017E98 @ =gBattleMons - ldr r6, _08017E9C @ =gUnknown_02024C07 + ldr r6, _08017E9C @ =gPlayerMonIndex ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -20642,7 +20642,7 @@ _08017E7A: b _08017F38 .align 2, 0 _08017E98: .4byte gBattleMons -_08017E9C: .4byte gUnknown_02024C07 +_08017E9C: .4byte gPlayerMonIndex _08017EA0: .4byte 0xffffff00 _08017EA4: .4byte gUnknown_02024C10 _08017EA8: .4byte gUnknown_081D90A7 @@ -20667,7 +20667,7 @@ _08017EAC: lsls r0, 1 mov r1, r10 str r0, [r1] - ldr r4, _08017F18 @ =gUnknown_02024C08 + ldr r4, _08017F18 @ =gEnemyMonIndex ldr r1, _08017F1C @ =gUnknown_02024C74 ldrb r0, [r6] adds r0, r1 @@ -20698,7 +20698,7 @@ _08017EFE: _08017F0C: .4byte 0xffffefff _08017F10: .4byte gUnknown_02024BF4 _08017F14: .4byte gUnknown_02024BE6 -_08017F18: .4byte gUnknown_02024C08 +_08017F18: .4byte gEnemyMonIndex _08017F1C: .4byte gUnknown_02024C74 _08017F20: .4byte gUnknown_02024C0C _08017F24: .4byte gBitTable @@ -20719,7 +20719,7 @@ _08017F40: .4byte gUnknown_02024C10 _08017F44: .4byte gUnknown_081D90F1 _08017F48: ldr r1, _08017FEC @ =gBattleMons - ldr r0, _08017FF0 @ =gUnknown_02024C07 + ldr r0, _08017FF0 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -20775,7 +20775,7 @@ _08017FAC: cmp r1, 0x2 bne _08017FD8 ldr r4, _08018010 @ =gUnknown_02024A60 - ldr r0, _08017FF0 @ =gUnknown_02024C07 + ldr r0, _08017FF0 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] ldrb r1, [r4] @@ -20803,7 +20803,7 @@ _08017FD8: bx r1 .align 2, 0 _08017FEC: .4byte gBattleMons -_08017FF0: .4byte gUnknown_02024C07 +_08017FF0: .4byte gPlayerMonIndex _08017FF4: .4byte gBattleMoves _08017FF8: .4byte gUnknown_02024BE6 _08017FFC: .4byte gUnknown_02024C10 @@ -21235,7 +21235,7 @@ sub_8018324: @ 8018324 lsrs r4, 16 movs r0, 0 mov r9, r0 - ldr r5, _08018380 @ =gUnknown_02024C07 + ldr r5, _08018380 @ =gPlayerMonIndex ldr r1, _08018384 @ =gUnknown_02024A68 ldrb r0, [r5] ldrb r1, [r1] @@ -21259,7 +21259,7 @@ _08018360: ldr r0, _0801838C @ =gPlayerParty b _080183A0 .align 2, 0 -_08018380: .4byte gUnknown_02024C07 +_08018380: .4byte gPlayerMonIndex _08018384: .4byte gUnknown_02024A68 _08018388: .4byte gUnknown_02024A6A _0801838C: .4byte gPlayerParty @@ -21274,7 +21274,7 @@ _08018390: ldr r0, _080183D4 @ =gEnemyParty _080183A0: adds r7, r1, r0 - ldr r5, _080183D8 @ =gUnknown_02024C08 + ldr r5, _080183D8 @ =gEnemyMonIndex ldr r1, _080183DC @ =gUnknown_02024A68 ldrb r0, [r5] ldrb r1, [r1] @@ -21300,7 +21300,7 @@ _080183B2: .align 2, 0 _080183D0: .4byte gUnknown_02024A6A _080183D4: .4byte gEnemyParty -_080183D8: .4byte gUnknown_02024C08 +_080183D8: .4byte gEnemyMonIndex _080183DC: .4byte gUnknown_02024A68 _080183E0: .4byte gPlayerParty _080183E4: @@ -21436,7 +21436,7 @@ _080184C8: .4byte _08019F44 .4byte _08019CD4 _08018518: - ldr r2, _0801854C @ =gUnknown_02024C07 + ldr r2, _0801854C @ =gPlayerMonIndex ldr r0, _08018550 @ =gUnknown_02024A68 ldrb r1, [r2] adds r5, r0, 0 @@ -21466,7 +21466,7 @@ _0801853E: _08018548: bl _08019F76 .align 2, 0 -_0801854C: .4byte gUnknown_02024C07 +_0801854C: .4byte gPlayerMonIndex _08018550: .4byte gUnknown_02024A68 _08018554: cmp r0, 0x16 @@ -21796,7 +21796,7 @@ _08018814: bne _08018828 bl _08019F76 _08018828: - ldr r0, _08018848 @ =gUnknown_02024C07 + ldr r0, _08018848 @ =gPlayerMonIndex mov r3, r10 strb r3, [r0] mov r3, r8 @@ -21812,7 +21812,7 @@ _08018840: bl _08019F76 .align 2, 0 _08018844: .4byte gBattleMons -_08018848: .4byte gUnknown_02024C07 +_08018848: .4byte gPlayerMonIndex _0801884C: cmp r5, 0x36 bne _08018852 @@ -21864,7 +21864,7 @@ _080188AA: strb r5, [r2] ldr r0, _080188D4 @ =gUnknown_081D9730 bl b_push_move_exec - ldr r1, _080188D8 @ =gUnknown_02024BEC + ldr r1, _080188D8 @ =gBattleMoveDamage ldrh r0, [r4, 0x2C] lsrs r0, 4 str r0, [r1] @@ -21880,7 +21880,7 @@ _080188C4: .align 2, 0 _080188D0: .4byte gBattleWeather _080188D4: .4byte gUnknown_081D9730 -_080188D8: .4byte gUnknown_02024BEC +_080188D8: .4byte gBattleMoveDamage _080188DC: adds r0, r2, 0 adds r0, 0x4C @@ -22077,7 +22077,7 @@ _08018A76: bl _08019F76 _08018A86: ldr r1, _08018AC4 @ =gBattleMons - ldr r0, _08018AC8 @ =gUnknown_02024C07 + ldr r0, _08018AC8 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22106,7 +22106,7 @@ _08018AAC: _08018ABC: .4byte gUnknown_081FA724 _08018AC0: .4byte 0x0000ffff _08018AC4: .4byte gBattleMons -_08018AC8: .4byte gUnknown_02024C07 +_08018AC8: .4byte gPlayerMonIndex _08018ACC: .4byte gUnknown_02024C6C _08018AD0: .4byte gUnknown_02024C10 _08018AD4: .4byte gUnknown_081D98F3 @@ -22144,7 +22144,7 @@ _08018AFE: b _08018C6A _08018B10: ldr r1, _08018B2C @ =gUnknown_02024D28 - ldr r0, _08018B30 @ =gUnknown_02024C07 + ldr r0, _08018B30 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -22158,7 +22158,7 @@ _08018B10: .align 2, 0 _08018B28: .4byte gBattleMoves _08018B2C: .4byte gUnknown_02024D28 -_08018B30: .4byte gUnknown_02024C07 +_08018B30: .4byte gPlayerMonIndex _08018B34: .4byte gUnknown_02024C10 _08018B38: .4byte gUnknown_081D9843 _08018B3C: @@ -22187,7 +22187,7 @@ _08018B56: b _08018C6A _08018B68: ldr r1, _08018B84 @ =gUnknown_02024D28 - ldr r0, _08018B88 @ =gUnknown_02024C07 + ldr r0, _08018B88 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -22201,7 +22201,7 @@ _08018B68: .align 2, 0 _08018B80: .4byte gBattleMoves _08018B84: .4byte gUnknown_02024D28 -_08018B88: .4byte gUnknown_02024C07 +_08018B88: .4byte gPlayerMonIndex _08018B8C: .4byte gUnknown_02024C10 _08018B90: .4byte gUnknown_081D9843 _08018B94: @@ -22243,7 +22243,7 @@ _08018BA8: ldr r0, _08018BFC @ =gUnknown_02024D1E strb r3, [r0, 0x5] ldr r1, _08018C00 @ =gUnknown_02024D28 - ldr r0, _08018C04 @ =gUnknown_02024C07 + ldr r0, _08018C04 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -22259,7 +22259,7 @@ _08018BF4: .4byte gBattleMons _08018BF8: .4byte 0x02017100 _08018BFC: .4byte gUnknown_02024D1E _08018C00: .4byte gUnknown_02024D28 -_08018C04: .4byte gUnknown_02024C07 +_08018C04: .4byte gPlayerMonIndex _08018C08: .4byte gUnknown_02024C10 _08018C0C: .4byte gUnknown_081D987C _08018C10: @@ -22282,7 +22282,7 @@ _08018C30: ldr r0, _08018C4C @ =gUnknown_02024D1E strb r4, [r0, 0x5] ldr r1, _08018C50 @ =gUnknown_02024D28 - ldr r0, _08018C54 @ =gUnknown_02024C07 + ldr r0, _08018C54 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -22296,7 +22296,7 @@ _08018C30: .align 2, 0 _08018C4C: .4byte gUnknown_02024D1E _08018C50: .4byte gUnknown_02024D28 -_08018C54: .4byte gUnknown_02024C07 +_08018C54: .4byte gPlayerMonIndex _08018C58: .4byte gUnknown_02024C10 _08018C5C: .4byte gUnknown_081D987C _08018C60: @@ -22324,7 +22324,7 @@ _08018C74: cmp r0, r2 bne _08018CD0 ldr r1, _08018CB0 @ =gUnknown_02024D28 - ldr r0, _08018CB4 @ =gUnknown_02024C07 + ldr r0, _08018CB4 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -22341,7 +22341,7 @@ _08018CA4: .4byte gUnknown_02024C10 _08018CA8: .4byte gUnknown_081D987B _08018CAC: .4byte gBattleMons _08018CB0: .4byte gUnknown_02024D28 -_08018CB4: .4byte gUnknown_02024C07 +_08018CB4: .4byte gPlayerMonIndex _08018CB8: .4byte gUnknown_081D9866 _08018CBC: ldr r1, _08018CC8 @ =gUnknown_02024C10 @@ -22352,7 +22352,7 @@ _08018CBC: _08018CC8: .4byte gUnknown_02024C10 _08018CCC: .4byte gUnknown_081D9865 _08018CD0: - ldr r2, _08018CEC @ =gUnknown_02024BEC + ldr r2, _08018CEC @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] lsrs r0, 2 str r0, [r2] @@ -22366,7 +22366,7 @@ _08018CE0: str r0, [r2] bl _08019F76 .align 2, 0 -_08018CEC: .4byte gUnknown_02024BEC +_08018CEC: .4byte gBattleMoveDamage _08018CF0: mov r5, r8 ldrb r0, [r5] @@ -22433,7 +22433,7 @@ _08018D0C: .4byte _08019F76 .4byte _080192E0 _08018DCC: - ldr r0, _08018E74 @ =gUnknown_02024C68 + ldr r0, _08018E74 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -22456,7 +22456,7 @@ _08018DE4: bl _08019F76 _08018DF8: ldr r2, _08018E7C @ =gUnknown_02024D68 - ldr r0, _08018E80 @ =gUnknown_02024C08 + ldr r0, _08018E80 @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -22516,16 +22516,16 @@ _08018E52: str r0, [r1] bl _08019F22 .align 2, 0 -_08018E74: .4byte gUnknown_02024C68 +_08018E74: .4byte gBattleMoveFlags _08018E78: .4byte gBattleMoves _08018E7C: .4byte gUnknown_02024D68 -_08018E80: .4byte gUnknown_02024C08 +_08018E80: .4byte gEnemyMonIndex _08018E84: .4byte gBattleMons _08018E88: .4byte gUnknown_030041C0 _08018E8C: .4byte gUnknown_02024C10 _08018E90: .4byte gUnknown_081D9921 _08018E94: - ldr r0, _08018F2C @ =gUnknown_02024C68 + ldr r0, _08018F2C @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -22534,7 +22534,7 @@ _08018E94: bl _08019F76 _08018EA4: ldr r1, _08018F30 @ =gBattleMons - ldr r0, _08018F34 @ =gUnknown_02024C07 + ldr r0, _08018F34 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22554,7 +22554,7 @@ _08018EBA: bl _08019F76 _08018ECC: ldr r2, _08018F3C @ =gUnknown_02024D68 - ldr r0, _08018F40 @ =gUnknown_02024C08 + ldr r0, _08018F40 @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -22586,7 +22586,7 @@ _08018EF4: bne _08018F0E bl _08019F76 _08018F0E: - ldr r1, _08018F48 @ =gUnknown_02024BEC + ldr r1, _08018F48 @ =gBattleMoveDamage ldrh r0, [r4, 0x2C] lsrs r0, 4 str r0, [r1] @@ -22600,18 +22600,18 @@ _08018F1C: str r0, [r1] bl _08019F22 .align 2, 0 -_08018F2C: .4byte gUnknown_02024C68 +_08018F2C: .4byte gBattleMoveFlags _08018F30: .4byte gBattleMons -_08018F34: .4byte gUnknown_02024C07 +_08018F34: .4byte gPlayerMonIndex _08018F38: .4byte gUnknown_02024D28 _08018F3C: .4byte gUnknown_02024D68 -_08018F40: .4byte gUnknown_02024C08 +_08018F40: .4byte gEnemyMonIndex _08018F44: .4byte gBattleMoves -_08018F48: .4byte gUnknown_02024BEC +_08018F48: .4byte gBattleMoveDamage _08018F4C: .4byte gUnknown_02024C10 _08018F50: .4byte gUnknown_081D9928 _08018F54: - ldr r0, _08019020 @ =gUnknown_02024C68 + ldr r0, _08019020 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -22620,7 +22620,7 @@ _08018F54: bl _08019F76 _08018F64: ldr r1, _08019024 @ =gBattleMons - ldr r0, _08019028 @ =gUnknown_02024C07 + ldr r0, _08019028 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22640,7 +22640,7 @@ _08018F7A: bl _08019F76 _08018F8C: ldr r2, _08019030 @ =gUnknown_02024D68 - ldr r0, _08019034 @ =gUnknown_02024C08 + ldr r0, _08019034 @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -22711,19 +22711,19 @@ _08019000: str r0, [r2] bl _08019F22 .align 2, 0 -_08019020: .4byte gUnknown_02024C68 +_08019020: .4byte gBattleMoveFlags _08019024: .4byte gBattleMons -_08019028: .4byte gUnknown_02024C07 +_08019028: .4byte gPlayerMonIndex _0801902C: .4byte gUnknown_02024D28 _08019030: .4byte gUnknown_02024D68 -_08019034: .4byte gUnknown_02024C08 +_08019034: .4byte gEnemyMonIndex _08019038: .4byte gBattleMoves _0801903C: .4byte gUnknown_02024D1E _08019040: .4byte gUnknown_02024C10 _08019044: .4byte gUnknown_081D9950 _08019048: .4byte gUnknown_02024C6C _0801904C: - ldr r0, _080190FC @ =gUnknown_02024C68 + ldr r0, _080190FC @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -22732,7 +22732,7 @@ _0801904C: bl _08019F76 _0801905C: ldr r1, _08019100 @ =gBattleMons - ldr r0, _08019104 @ =gUnknown_02024C07 + ldr r0, _08019104 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22752,7 +22752,7 @@ _08019072: bl _08019F76 _08019084: ldr r2, _0801910C @ =gUnknown_02024D68 - ldr r0, _08019110 @ =gUnknown_02024C08 + ldr r0, _08019110 @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -22808,19 +22808,19 @@ _080190DC: str r0, [r2] bl _08019F22 .align 2, 0 -_080190FC: .4byte gUnknown_02024C68 +_080190FC: .4byte gBattleMoveFlags _08019100: .4byte gBattleMons -_08019104: .4byte gUnknown_02024C07 +_08019104: .4byte gPlayerMonIndex _08019108: .4byte gUnknown_02024D28 _0801910C: .4byte gUnknown_02024D68 -_08019110: .4byte gUnknown_02024C08 +_08019110: .4byte gEnemyMonIndex _08019114: .4byte gBattleMoves _08019118: .4byte gUnknown_02024D1E _0801911C: .4byte gUnknown_02024C10 _08019120: .4byte gUnknown_081D9950 _08019124: .4byte gUnknown_02024C6C _08019128: - ldr r0, _080191D8 @ =gUnknown_02024C68 + ldr r0, _080191D8 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -22829,7 +22829,7 @@ _08019128: bl _08019F76 _08019138: ldr r1, _080191DC @ =gBattleMons - ldr r0, _080191E0 @ =gUnknown_02024C07 + ldr r0, _080191E0 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22849,7 +22849,7 @@ _0801914E: bl _08019F76 _08019160: ldr r2, _080191E8 @ =gUnknown_02024D68 - ldr r0, _080191EC @ =gUnknown_02024C08 + ldr r0, _080191EC @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -22905,19 +22905,19 @@ _080191B8: str r0, [r2] bl _08019F22 .align 2, 0 -_080191D8: .4byte gUnknown_02024C68 +_080191D8: .4byte gBattleMoveFlags _080191DC: .4byte gBattleMons -_080191E0: .4byte gUnknown_02024C07 +_080191E0: .4byte gPlayerMonIndex _080191E4: .4byte gUnknown_02024D28 _080191E8: .4byte gUnknown_02024D68 -_080191EC: .4byte gUnknown_02024C08 +_080191EC: .4byte gEnemyMonIndex _080191F0: .4byte gBattleMoves _080191F4: .4byte gUnknown_02024D1E _080191F8: .4byte gUnknown_02024C10 _080191FC: .4byte gUnknown_081D9950 _08019200: .4byte gUnknown_02024C6C _08019204: - ldr r0, _080192B4 @ =gUnknown_02024C68 + ldr r0, _080192B4 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -22926,7 +22926,7 @@ _08019204: bl _08019F76 _08019214: ldr r1, _080192B8 @ =gBattleMons - ldr r0, _080192BC @ =gUnknown_02024C07 + ldr r0, _080192BC @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22958,7 +22958,7 @@ _0801923C: bl _08019F76 _08019254: ldr r2, _080192C8 @ =gUnknown_02024D68 - ldr r0, _080192CC @ =gUnknown_02024C08 + ldr r0, _080192CC @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -23002,19 +23002,19 @@ _08019294: str r0, [r2] bl _08019F22 .align 2, 0 -_080192B4: .4byte gUnknown_02024C68 +_080192B4: .4byte gBattleMoveFlags _080192B8: .4byte gBattleMons -_080192BC: .4byte gUnknown_02024C07 +_080192BC: .4byte gPlayerMonIndex _080192C0: .4byte gUnknown_02024D28 _080192C4: .4byte gBattleMoves _080192C8: .4byte gUnknown_02024D68 -_080192CC: .4byte gUnknown_02024C08 +_080192CC: .4byte gEnemyMonIndex _080192D0: .4byte gUnknown_02024D1E _080192D4: .4byte gUnknown_02024C10 _080192D8: .4byte gUnknown_081D9950 _080192DC: .4byte gUnknown_02024C6C _080192E0: - ldr r0, _08019420 @ =gUnknown_02024C68 + ldr r0, _08019420 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -23023,7 +23023,7 @@ _080192E0: bl _08019F76 _080192F0: ldr r5, _08019424 @ =gBattleMons - ldr r7, _08019428 @ =gUnknown_02024C07 + ldr r7, _08019428 @ =gPlayerMonIndex ldrb r1, [r7] movs r6, 0x58 adds r0, r1, 0 @@ -23056,7 +23056,7 @@ _0801931A: bl _08019F76 _08019332: ldr r3, _08019434 @ =gUnknown_02024D68 - ldr r0, _08019438 @ =gUnknown_02024C08 + ldr r0, _08019438 @ =gEnemyMonIndex mov r8, r0 ldrb r1, [r0] lsls r0, r1, 2 @@ -23167,13 +23167,13 @@ _080193F6: str r0, [r1] bl _08019F22 .align 2, 0 -_08019420: .4byte gUnknown_02024C68 +_08019420: .4byte gBattleMoveFlags _08019424: .4byte gBattleMons -_08019428: .4byte gUnknown_02024C07 +_08019428: .4byte gPlayerMonIndex _0801942C: .4byte gUnknown_02024D28 _08019430: .4byte gBattleMoves _08019434: .4byte gUnknown_02024D68 -_08019438: .4byte gUnknown_02024C08 +_08019438: .4byte gEnemyMonIndex _0801943C: .4byte gBitTable _08019440: .4byte gUnknown_02024C10 _08019444: .4byte gUnknown_081D9943 @@ -23618,7 +23618,7 @@ _08019838: ldrb r0, [r2] adds r0, 0x40 strb r0, [r1, 0x3] - ldr r0, _08019870 @ =gUnknown_02024C08 + ldr r0, _08019870 @ =gEnemyMonIndex ldrb r1, [r0] ldr r5, _08019874 @ =0x00016003 adds r0, r7, r5 @@ -23638,7 +23638,7 @@ _08019860: .4byte gUnknown_02024C6C _08019864: .4byte 0xffffbfff _08019868: .4byte 0x000160ca _0801986C: .4byte gUnknown_02024D1E -_08019870: .4byte gUnknown_02024C08 +_08019870: .4byte gEnemyMonIndex _08019874: .4byte 0x00016003 _08019878: .4byte gUnknown_02024C10 _0801987C: .4byte gUnknown_081D9953 @@ -23675,7 +23675,7 @@ _080198B4: ldr r1, _080198E8 @ =gUnknown_02024D1E ldrb r0, [r2] strb r0, [r1, 0x3] - ldr r0, _080198EC @ =gUnknown_02024C07 + ldr r0, _080198EC @ =gPlayerMonIndex ldrb r1, [r0] ldr r5, _080198F0 @ =0x00016003 adds r0, r7, r5 @@ -23695,7 +23695,7 @@ _080198DC: .4byte gUnknown_02024C6C _080198E0: .4byte 0xffffbfff _080198E4: .4byte 0x000160ca _080198E8: .4byte gUnknown_02024D1E -_080198EC: .4byte gUnknown_02024C07 +_080198EC: .4byte gPlayerMonIndex _080198F0: .4byte 0x00016003 _080198F4: .4byte gUnknown_02024C10 _080198F8: .4byte gUnknown_081D9953 @@ -24671,7 +24671,7 @@ _0801A084: _0801A098: mov r9, r0 ldr r1, _0801A0C0 @ =gBattleMons - ldr r0, _0801A0C4 @ =gUnknown_02024C07 + ldr r0, _0801A0C4 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -24691,7 +24691,7 @@ _0801A098: b _0801A0E2 .align 2, 0 _0801A0C0: .4byte gBattleMons -_0801A0C4: .4byte gUnknown_02024C07 +_0801A0C4: .4byte gPlayerMonIndex _0801A0C8: .4byte gEnigmaBerries _0801A0CC: ldr r0, [sp, 0x14] @@ -24706,7 +24706,7 @@ _0801A0CC: _0801A0E2: str r0, [sp, 0x10] ldr r2, _0801A118 @ =gBattleMons - ldr r0, _0801A11C @ =gUnknown_02024C08 + ldr r0, _0801A11C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -24731,7 +24731,7 @@ _0801A10C: mov pc, r0 .align 2, 0 _0801A118: .4byte gBattleMons -_0801A11C: .4byte gUnknown_02024C08 +_0801A11C: .4byte gEnemyMonIndex _0801A120: .4byte _0801A124 .align 2, 0 _0801A124: @@ -24796,7 +24796,7 @@ _0801A198: ldr r0, _0801A1C4 @ =gUnknown_02024C0B strb r7, [r0] ldr r1, _0801A1C8 @ =gUnknown_02024A60 - ldr r0, _0801A1CC @ =gUnknown_02024C07 + ldr r0, _0801A1CC @ =gPlayerMonIndex strb r7, [r0] strb r7, [r1] ldr r0, _0801A1D0 @ =gUnknown_081D9A5E @@ -24808,7 +24808,7 @@ _0801A1BC: .4byte 0x02000000 _0801A1C0: .4byte 0x00016003 _0801A1C4: .4byte gUnknown_02024C0B _0801A1C8: .4byte gUnknown_02024A60 -_0801A1CC: .4byte gUnknown_02024C07 +_0801A1CC: .4byte gPlayerMonIndex _0801A1D0: .4byte gUnknown_081D9A5E _0801A1D4: ldr r1, _0801A1FC @ =gBattleMons @@ -24895,7 +24895,7 @@ _0801A2C6: beq _0801A2CE bl _0801AD5A _0801A2CE: - ldr r4, _0801A2F0 @ =gUnknown_02024BEC + ldr r4, _0801A2F0 @ =gBattleMoveDamage mov r5, r9 str r5, [r4] ldrh r3, [r2, 0x28] @@ -24913,7 +24913,7 @@ _0801A2E2: bl b_call_bc_move_exec b _0801A752 .align 2, 0 -_0801A2F0: .4byte gUnknown_02024BEC +_0801A2F0: .4byte gBattleMoveDamage _0801A2F4: .4byte gUnknown_081D9A74 _0801A2F8: cmp r6, 0 @@ -25076,7 +25076,7 @@ _0801A432: ldr r0, _0801A45C @ =gUnknown_02024C0B strb r7, [r0] ldr r1, _0801A460 @ =gUnknown_02024A60 - ldr r0, _0801A464 @ =gUnknown_02024C07 + ldr r0, _0801A464 @ =gPlayerMonIndex strb r7, [r0] strb r7, [r1] ldr r0, _0801A468 @ =gUnknown_081D9A5E @@ -25088,7 +25088,7 @@ _0801A454: .4byte 0x02000000 _0801A458: .4byte 0x00016003 _0801A45C: .4byte gUnknown_02024C0B _0801A460: .4byte gUnknown_02024A60 -_0801A464: .4byte gUnknown_02024C07 +_0801A464: .4byte gPlayerMonIndex _0801A468: .4byte gUnknown_081D9A5E _0801A46C: movs r0, 0x58 @@ -25105,7 +25105,7 @@ _0801A480: beq _0801A488 bl _0801AD5A _0801A488: - ldr r3, _0801A4C4 @ =gUnknown_02024BEC + ldr r3, _0801A4C4 @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] lsrs r0, 4 str r0, [r3] @@ -25135,7 +25135,7 @@ _0801A4A8: bl sub_81074F8 bl _0801AD5A .align 2, 0 -_0801A4C4: .4byte gUnknown_02024BEC +_0801A4C4: .4byte gBattleMoveDamage _0801A4C8: .4byte gUnknown_081D9AA1 _0801A4CC: movs r0, 0x58 @@ -25162,7 +25162,7 @@ _0801A4EC: strb r6, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r5, _0801A544 @ =gUnknown_02024BEC + ldr r5, _0801A544 @ =gBattleMoveDamage ldrh r0, [r4, 0x2C] mov r1, r9 bl __divsi3 @@ -25200,7 +25200,7 @@ _0801A53E: b _0801A74C .align 2, 0 _0801A540: .4byte gUnknown_030041C0 -_0801A544: .4byte gUnknown_02024BEC +_0801A544: .4byte gBattleMoveDamage _0801A548: movs r0, 0x58 adds r1, r7, 0 @@ -25228,7 +25228,7 @@ _0801A56A: strb r6, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r4, _0801A5C0 @ =gUnknown_02024BEC + ldr r4, _0801A5C0 @ =gBattleMoveDamage ldrh r0, [r5, 0x2C] mov r1, r9 bl __divsi3 @@ -25262,7 +25262,7 @@ _0801A59E: b _0801A6B8 .align 2, 0 _0801A5BC: .4byte gUnknown_030041C0 -_0801A5C0: .4byte gUnknown_02024BEC +_0801A5C0: .4byte gBattleMoveDamage _0801A5C4: movs r0, 0x58 adds r4, r7, 0 @@ -25290,7 +25290,7 @@ _0801A5E2: strb r0, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r4, _0801A630 @ =gUnknown_02024BEC + ldr r4, _0801A630 @ =gBattleMoveDamage ldrh r0, [r5, 0x2C] mov r1, r9 bl __divsi3 @@ -25321,7 +25321,7 @@ _0801A618: b _0801A532 .align 2, 0 _0801A62C: .4byte gUnknown_030041C0 -_0801A630: .4byte gUnknown_02024BEC +_0801A630: .4byte gBattleMoveDamage _0801A634: movs r0, 0x58 adds r1, r7, 0 @@ -25349,7 +25349,7 @@ _0801A652: strb r0, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r4, _0801A6B0 @ =gUnknown_02024BEC + ldr r4, _0801A6B0 @ =gBattleMoveDamage ldrh r0, [r5, 0x2C] mov r1, r9 bl __divsi3 @@ -25387,7 +25387,7 @@ _0801A6A4: b _0801A6BE .align 2, 0 _0801A6AC: .4byte gUnknown_030041C0 -_0801A6B0: .4byte gUnknown_02024BEC +_0801A6B0: .4byte gBattleMoveDamage _0801A6B4: .4byte gUnknown_081D9AD4 _0801A6B8: ldr r0, _0801A6C4 @ =gUnknown_081D9A74 @@ -25425,7 +25425,7 @@ _0801A6E6: strb r0, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r4, _0801A744 @ =gUnknown_02024BEC + ldr r4, _0801A744 @ =gBattleMoveDamage ldrh r0, [r5, 0x2C] mov r1, r9 bl __divsi3 @@ -25463,7 +25463,7 @@ _0801A738: b _0801A752 .align 2, 0 _0801A740: .4byte gUnknown_030041C0 -_0801A744: .4byte gUnknown_02024BEC +_0801A744: .4byte gBattleMoveDamage _0801A748: .4byte gUnknown_081D9AD4 _0801A74C: ldr r0, _0801A758 @ =gUnknown_081D9A74 @@ -26236,7 +26236,7 @@ _0801AD62: ldr r0, _0801ADA0 @ =gUnknown_02024C0B strb r7, [r0] ldr r4, _0801ADA4 @ =gUnknown_02024A60 - ldr r0, _0801ADA8 @ =gUnknown_02024C07 + ldr r0, _0801ADA8 @ =gPlayerMonIndex strb r7, [r0] strb r7, [r4] ldr r3, [sp, 0xC] @@ -26255,7 +26255,7 @@ _0801AD98: .4byte 0x02000000 _0801AD9C: .4byte 0x00016003 _0801ADA0: .4byte gUnknown_02024C0B _0801ADA4: .4byte gUnknown_02024A60 -_0801ADA8: .4byte gUnknown_02024C07 +_0801ADA8: .4byte gPlayerMonIndex _0801ADAC: movs r0, 0x58 muls r0, r7 @@ -26807,7 +26807,7 @@ _0801B264: .align 2, 0 _0801B268: .4byte gUnknown_02024A68 _0801B26C: - ldr r7, _0801B284 @ =gUnknown_02024BEC + ldr r7, _0801B284 @ =gBattleMoveDamage ldr r0, [r7] cmp r0, 0 bne _0801B276 @@ -26820,9 +26820,9 @@ _0801B276: beq _0801B330 b _0801B3CA .align 2, 0 -_0801B284: .4byte gUnknown_02024BEC +_0801B284: .4byte gBattleMoveDamage _0801B288: - ldr r0, _0801B314 @ =gUnknown_02024C68 + ldr r0, _0801B314 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -26831,7 +26831,7 @@ _0801B288: b _0801B3CA _0801B296: ldr r2, _0801B318 @ =gUnknown_02024D68 - ldr r4, _0801B31C @ =gUnknown_02024C08 + ldr r4, _0801B31C @ =gEnemyMonIndex ldrb r1, [r4] lsls r0, r1, 2 adds r0, r1 @@ -26889,22 +26889,22 @@ _0801B2BC: bl b_movescr_stack_pop_cursor b _0801B3CA .align 2, 0 -_0801B314: .4byte gUnknown_02024C68 +_0801B314: .4byte gBattleMoveFlags _0801B318: .4byte gUnknown_02024D68 -_0801B31C: .4byte gUnknown_02024C08 +_0801B31C: .4byte gEnemyMonIndex _0801B320: .4byte gBattleMoves _0801B324: .4byte gUnknown_02024BE6 _0801B328: .4byte gBattleMons _0801B32C: .4byte gUnknown_02024D1E _0801B330: - ldr r0, _0801B3DC @ =gUnknown_02024C68 + ldr r0, _0801B3DC @ =gBattleMoveFlags ldrb r0, [r0] movs r4, 0x29 ands r4, r0 cmp r4, 0 bne _0801B3CA ldr r1, _0801B3E0 @ =gUnknown_02024D68 - ldr r5, _0801B3E4 @ =gUnknown_02024C08 + ldr r5, _0801B3E4 @ =gEnemyMonIndex ldrb r2, [r5] lsls r0, r2, 2 adds r0, r2 @@ -26917,7 +26917,7 @@ _0801B330: ldr r0, _0801B3E8 @ =0x0000ffff cmp r1, r0 beq _0801B3CA - ldr r0, _0801B3EC @ =gUnknown_02024C07 + ldr r0, _0801B3EC @ =gPlayerMonIndex ldrb r3, [r0] cmp r3, r2 beq _0801B3CA @@ -26984,11 +26984,11 @@ _0801B3CA: pop {r1} bx r1 .align 2, 0 -_0801B3DC: .4byte gUnknown_02024C68 +_0801B3DC: .4byte gBattleMoveFlags _0801B3E0: .4byte gUnknown_02024D68 -_0801B3E4: .4byte gUnknown_02024C08 +_0801B3E4: .4byte gEnemyMonIndex _0801B3E8: .4byte 0x0000ffff -_0801B3EC: .4byte gUnknown_02024C07 +_0801B3EC: .4byte gPlayerMonIndex _0801B3F0: .4byte gBattleMons _0801B3F4: .4byte gUnknown_02024C04 _0801B3F8: .4byte gUnknown_02024C0B @@ -27322,7 +27322,7 @@ _0801B604: .4byte _0801B900 .4byte _0801B808 _0801B708: - ldr r0, _0801B7E8 @ =gUnknown_02024C07 + ldr r0, _0801B7E8 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner movs r1, 0x1 @@ -27347,7 +27347,7 @@ _0801B708: beq _0801B73A b _0801B850 _0801B73A: - ldr r0, _0801B7E8 @ =gUnknown_02024C07 + ldr r0, _0801B7E8 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -27363,7 +27363,7 @@ _0801B74A: bl __modsi3 lsls r0, 24 lsrs r5, r0, 24 - ldr r6, _0801B7E8 @ =gUnknown_02024C07 + ldr r6, _0801B7E8 @ =gPlayerMonIndex ldrb r2, [r6] cmp r5, r2 beq _0801B74A @@ -27433,7 +27433,7 @@ _0801B7C2: strb r1, [r0] b _0801B900 .align 2, 0 -_0801B7E8: .4byte gUnknown_02024C07 +_0801B7E8: .4byte gPlayerMonIndex _0801B7EC: .4byte gUnknown_02024C80 _0801B7F0: .4byte gBattleMons _0801B7F4: .4byte gUnknown_02024A68 @@ -27442,7 +27442,7 @@ _0801B7FC: .4byte gBitTable _0801B800: .4byte gBattleMoves _0801B804: .4byte gUnknown_02024D68 _0801B808: - ldr r0, _0801B81C @ =gUnknown_02024C07 + ldr r0, _0801B81C @ =gPlayerMonIndex ldrb r0, [r0] bl battle_get_per_side_status adds r1, r0, 0 @@ -27452,9 +27452,9 @@ _0801B808: eors r0, r2 b _0801B8B2 .align 2, 0 -_0801B81C: .4byte gUnknown_02024C07 +_0801B81C: .4byte gPlayerMonIndex _0801B820: - ldr r0, _0801B854 @ =gUnknown_02024C07 + ldr r0, _0801B854 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner movs r1, 0x1 @@ -27481,7 +27481,7 @@ _0801B850: adds r5, r4, 0 b _0801B900 .align 2, 0 -_0801B854: .4byte gUnknown_02024C07 +_0801B854: .4byte gPlayerMonIndex _0801B858: .4byte gUnknown_02024C80 _0801B85C: .4byte gBattleMons _0801B860: @@ -27496,7 +27496,7 @@ _0801B860: ands r6, r0 cmp r6, 0 beq _0801B8DC - ldr r0, _0801B898 @ =gUnknown_02024C07 + ldr r0, _0801B898 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -27511,7 +27511,7 @@ _0801B860: b _0801B8B2 .align 2, 0 _0801B894: .4byte gBattleTypeFlags -_0801B898: .4byte gUnknown_02024C07 +_0801B898: .4byte gPlayerMonIndex _0801B89C: movs r0, 0x3 b _0801B8B2 @@ -27545,7 +27545,7 @@ _0801B8B2: _0801B8D4: .4byte gUnknown_02024C0C _0801B8D8: .4byte gBitTable _0801B8DC: - ldr r0, _0801B8F8 @ =gUnknown_02024C07 + ldr r0, _0801B8F8 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_get_per_side_status adds r1, r0, 0 @@ -27558,13 +27558,13 @@ _0801B8DC: lsrs r5, r0, 24 b _0801B900 .align 2, 0 -_0801B8F8: .4byte gUnknown_02024C07 +_0801B8F8: .4byte gPlayerMonIndex _0801B8FC: - ldr r0, _0801B91C @ =gUnknown_02024C07 + ldr r0, _0801B91C @ =gPlayerMonIndex ldrb r5, [r0] _0801B900: ldr r1, _0801B920 @ =0x02000000 - ldr r0, _0801B91C @ =gUnknown_02024C07 + ldr r0, _0801B91C @ =gPlayerMonIndex ldrb r0, [r0] ldr r2, _0801B924 @ =0x00016010 adds r0, r2 @@ -27578,7 +27578,7 @@ _0801B900: pop {r1} bx r1 .align 2, 0 -_0801B91C: .4byte gUnknown_02024C07 +_0801B91C: .4byte gPlayerMonIndex _0801B920: .4byte 0x02000000 _0801B924: .4byte 0x00016010 thumb_func_end sub_801B5C0 @@ -27596,7 +27596,7 @@ sub_801B928: @ 801B928 ands r0, r1 cmp r0, 0 bne _0801B9DA - ldr r7, _0801B9E4 @ =gUnknown_02024C07 + ldr r7, _0801B9E4 @ =gPlayerMonIndex ldrb r0, [r7] bl battle_side_get_owner lsls r0, 24 @@ -27675,7 +27675,7 @@ _0801B9DA: b _0801BC24 .align 2, 0 _0801B9E0: .4byte gBattleTypeFlags -_0801B9E4: .4byte gUnknown_02024C07 +_0801B9E4: .4byte gPlayerMonIndex _0801B9E8: .4byte gBattleMons _0801B9EC: .4byte 0x0000080e _0801B9F0: .4byte 0x00000808 @@ -27726,7 +27726,7 @@ _0801BA4C: adds r1, r5, 0 ands r1, r0 ldr r7, _0801BB04 @ =gBattleMons - ldr r2, _0801BB08 @ =gUnknown_02024C07 + ldr r2, _0801BB08 @ =gPlayerMonIndex mov r9, r2 ldrb r3, [r2] movs r0, 0x58 @@ -27780,7 +27780,7 @@ _0801BA9E: ldr r0, _0801BB10 @ =gUnknown_02024BE4 ldrb r0, [r0] lsls r0, 1 - ldr r1, _0801BB08 @ =gUnknown_02024C07 + ldr r1, _0801BB08 @ =gPlayerMonIndex ldrb r2, [r1] movs r1, 0x58 muls r1, r2 @@ -27804,7 +27804,7 @@ _0801BA9E: ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _0801BB34 @ =gUnknown_02024C08 + ldr r1, _0801BB34 @ =gEnemyMonIndex strb r0, [r1] ldr r2, _0801BB38 @ =gUnknown_02024C6C ldr r0, [r2] @@ -27813,7 +27813,7 @@ _0801BA9E: b _0801BC1E .align 2, 0 _0801BB04: .4byte gBattleMons -_0801BB08: .4byte gUnknown_02024C07 +_0801BB08: .4byte gPlayerMonIndex _0801BB0C: .4byte gBitTable _0801BB10: .4byte gUnknown_02024BE4 _0801BB14: .4byte gUnknown_02024BE5 @@ -27824,7 +27824,7 @@ _0801BB24: .4byte 0x02000000 _0801BB28: .4byte 0x0001601c _0801BB2C: .4byte gUnknown_02024C10 _0801BB30: .4byte gUnknown_081D996F -_0801BB34: .4byte gUnknown_02024C08 +_0801BB34: .4byte gEnemyMonIndex _0801BB38: .4byte gUnknown_02024C6C _0801BB3C: subs r0, r2, r6 @@ -27909,7 +27909,7 @@ _0801BBD4: .4byte gUnknown_02024D1E _0801BBD8: .4byte gUnknown_02024C10 _0801BBDC: .4byte gUnknown_081D9977 _0801BBE0: - ldr r4, _0801BC34 @ =gUnknown_02024C07 + ldr r4, _0801BC34 @ =gPlayerMonIndex ldrb r1, [r4] movs r0, 0x58 muls r1, r0 @@ -27927,9 +27927,9 @@ _0801BBE0: movs r2, 0x1 movs r3, 0 bl CalculateBaseDamage - ldr r1, _0801BC3C @ =gUnknown_02024BEC + ldr r1, _0801BC3C @ =gBattleMoveDamage str r0, [r1] - ldr r1, _0801BC40 @ =gUnknown_02024C08 + ldr r1, _0801BC40 @ =gEnemyMonIndex ldrb r0, [r4] strb r0, [r1] ldr r1, _0801BC44 @ =gUnknown_02024C10 @@ -27952,10 +27952,10 @@ _0801BC24: pop {r1} bx r1 .align 2, 0 -_0801BC34: .4byte gUnknown_02024C07 +_0801BC34: .4byte gPlayerMonIndex _0801BC38: .4byte gBattleMons -_0801BC3C: .4byte gUnknown_02024BEC -_0801BC40: .4byte gUnknown_02024C08 +_0801BC3C: .4byte gBattleMoveDamage +_0801BC40: .4byte gEnemyMonIndex _0801BC44: .4byte gUnknown_02024C10 _0801BC48: .4byte gUnknown_081D99A0 _0801BC4C: .4byte gUnknown_02024C6C @@ -27981,7 +27981,7 @@ _0801BC6C: .4byte gUnknown_02024D26 _0801BC70: .4byte gUnknown_02024A7F _0801BC74: ldr r2, _0801BCA4 @ =gBattleMons - ldr r0, _0801BCA8 @ =gUnknown_02024C07 + ldr r0, _0801BCA8 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -28005,7 +28005,7 @@ _0801BC74: b _0801BFF2 .align 2, 0 _0801BCA4: .4byte gBattleMons -_0801BCA8: .4byte gUnknown_02024C07 +_0801BCA8: .4byte gPlayerMonIndex _0801BCAC: .4byte gUnknown_02024C6C _0801BCB0: .4byte gUnknown_02024C10 _0801BCB4: .4byte BattleScript_1D6F62 @@ -28017,7 +28017,7 @@ _0801BCB8: beq _0801BCC6 b _0801BFF4 _0801BCC6: - ldr r0, _0801BD34 @ =gUnknown_02024C08 + ldr r0, _0801BD34 @ =gEnemyMonIndex ldrb r1, [r0] str r2, [sp] movs r0, 0x2 @@ -28032,7 +28032,7 @@ _0801BCDE: ldr r4, _0801BD38 @ =gBattleMons ldr r0, _0801BD3C @ =gUnknown_02024BE4 ldrb r1, [r0] - ldr r3, _0801BD40 @ =gUnknown_02024C07 + ldr r3, _0801BD40 @ =gPlayerMonIndex ldrb r2, [r3] movs r0, 0x58 muls r2, r0 @@ -28065,23 +28065,23 @@ _0801BCDE: ldr r1, _0801BD50 @ =gUnknown_02024C10 ldr r0, _0801BD54 @ =gUnknown_081D936D str r0, [r1] - ldr r2, _0801BD58 @ =gUnknown_02024C68 + ldr r2, _0801BD58 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 strb r0, [r2] b _0801BFF4 .align 2, 0 -_0801BD34: .4byte gUnknown_02024C08 +_0801BD34: .4byte gEnemyMonIndex _0801BD38: .4byte gBattleMons _0801BD3C: .4byte gUnknown_02024BE4 -_0801BD40: .4byte gUnknown_02024C07 +_0801BD40: .4byte gPlayerMonIndex _0801BD44: .4byte gUnknown_02024C6C _0801BD48: .4byte gUnknown_02024BE6 _0801BD4C: .4byte 0x00800200 _0801BD50: .4byte gUnknown_02024C10 _0801BD54: .4byte gUnknown_081D936D -_0801BD58: .4byte gUnknown_02024C68 +_0801BD58: .4byte gBattleMoveFlags _0801BD5C: ldr r0, [r5] ldr r1, _0801BDA0 @ =0xff7fffff @@ -28118,14 +28118,14 @@ _0801BD5C: .align 2, 0 _0801BDA0: .4byte 0xff7fffff _0801BDA4: - ldr r0, _0801BDB0 @ =gUnknown_02024C68 + ldr r0, _0801BDB0 @ =gBattleMoveFlags ldrb r1, [r0] movs r2, 0x1 orrs r1, r2 strb r1, [r0] b _0801BFF4 .align 2, 0 -_0801BDB0: .4byte gUnknown_02024C68 +_0801BDB0: .4byte gBattleMoveFlags _0801BDB4: ldr r2, _0801BE18 @ =gUnknown_02024C6C ldr r0, [r2] @@ -28134,7 +28134,7 @@ _0801BDB4: orrs r0, r1 str r0, [r2] ldr r2, _0801BE1C @ =gUnknown_02024D28 - ldr r1, _0801BE20 @ =gUnknown_02024C08 + ldr r1, _0801BE20 @ =gEnemyMonIndex ldrb r3, [r1] lsls r0, r3, 4 adds r0, r2 @@ -28156,7 +28156,7 @@ _0801BDB4: ands r0, r1 cmp r0, 0 beq _0801BE3C - ldr r0, _0801BE2C @ =gUnknown_02024C07 + ldr r0, _0801BE2C @ =gPlayerMonIndex ldrb r0, [r0] ldr r2, _0801BE30 @ =0x00000115 adds r1, r3, 0 @@ -28177,10 +28177,10 @@ _0801BDB4: .align 2, 0 _0801BE18: .4byte gUnknown_02024C6C _0801BE1C: .4byte gUnknown_02024D28 -_0801BE20: .4byte gUnknown_02024C08 +_0801BE20: .4byte gEnemyMonIndex _0801BE24: .4byte gBattleMoves _0801BE28: .4byte gUnknown_02024BE6 -_0801BE2C: .4byte gUnknown_02024C07 +_0801BE2C: .4byte gPlayerMonIndex _0801BE30: .4byte 0x00000115 _0801BE34: .4byte gUnknown_02024C10 _0801BE38: .4byte gUnknown_081D946F @@ -28283,7 +28283,7 @@ _0801BEEA: cmp r3, 0xAE bne _0801BF28 ldr r2, _0801BF88 @ =gBattleMons - ldr r0, _0801BF8C @ =gUnknown_02024C07 + ldr r0, _0801BF8C @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -28305,7 +28305,7 @@ _0801BF28: cmp r0, 0 beq _0801BF4E ldr r1, _0801BF88 @ =gBattleMons - ldr r0, _0801BF8C @ =gUnknown_02024C07 + ldr r0, _0801BF8C @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -28318,16 +28318,16 @@ _0801BF28: cmp r0, 0 beq _0801BFEC _0801BF4E: - ldr r0, _0801BF8C @ =gUnknown_02024C07 + ldr r0, _0801BF8C @ =gPlayerMonIndex ldrb r0, [r0] bl b_cancel_multi_turn_move_maybe - ldr r2, _0801BF90 @ =gUnknown_02024C68 + ldr r2, _0801BF90 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 strb r0, [r2] ldr r1, _0801BF94 @ =gUnknown_02024C3C - ldr r3, _0801BF98 @ =gUnknown_02024C08 + ldr r3, _0801BF98 @ =gEnemyMonIndex ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -28346,14 +28346,14 @@ _0801BF4E: _0801BF80: .4byte gBattleMoves _0801BF84: .4byte gUnknown_02024BE6 _0801BF88: .4byte gBattleMons -_0801BF8C: .4byte gUnknown_02024C07 -_0801BF90: .4byte gUnknown_02024C68 +_0801BF8C: .4byte gPlayerMonIndex +_0801BF90: .4byte gBattleMoveFlags _0801BF94: .4byte gUnknown_02024C3C -_0801BF98: .4byte gUnknown_02024C08 +_0801BF98: .4byte gEnemyMonIndex _0801BF9C: .4byte gUnknown_02024C44 _0801BFA0: .4byte gUnknown_02024D1E _0801BFA4: - ldr r0, _0801BFD4 @ =gUnknown_02024C07 + ldr r0, _0801BFD4 @ =gPlayerMonIndex ldrb r0, [r0] ldr r2, _0801BFD8 @ =0x00000121 adds r1, r3, 0 @@ -28376,7 +28376,7 @@ _0801BFA4: ldr r0, _0801BFE8 @ =gUnknown_081D9487 b _0801BFF2 .align 2, 0 -_0801BFD4: .4byte gUnknown_02024C07 +_0801BFD4: .4byte gPlayerMonIndex _0801BFD8: .4byte 0x00000121 _0801BFDC: .4byte 0x02000000 _0801BFE0: .4byte 0x00016003 @@ -28411,14 +28411,14 @@ mcmd_jump_if_move_not_executed: @ 801C008 ldr r1, _0801C054 @ =gUnknown_02024C10 ldr r5, [r1] adds r4, r5, r0 - ldr r0, _0801C058 @ =gUnknown_02024C68 + ldr r0, _0801C058 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 cmp r0, 0 beq _0801C068 ldr r1, _0801C05C @ =gUnknown_02024C3C - ldr r3, _0801C060 @ =gUnknown_02024C08 + ldr r3, _0801C060 @ =gEnemyMonIndex ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -28442,13 +28442,13 @@ mcmd_jump_if_move_not_executed: @ 801C008 b _0801C082 .align 2, 0 _0801C054: .4byte gUnknown_02024C10 -_0801C058: .4byte gUnknown_02024C68 +_0801C058: .4byte gBattleMoveFlags _0801C05C: .4byte gUnknown_02024C3C -_0801C060: .4byte gUnknown_02024C08 +_0801C060: .4byte gEnemyMonIndex _0801C064: .4byte gUnknown_02024C44 _0801C068: bl b_feature_update_destiny_bond - ldr r0, _0801C090 @ =gUnknown_02024C08 + ldr r0, _0801C090 @ =gEnemyMonIndex ldrb r1, [r0] str r6, [sp] movs r0, 0x3 @@ -28467,7 +28467,7 @@ _0801C086: pop {r0} bx r0 .align 2, 0 -_0801C090: .4byte gUnknown_02024C08 +_0801C090: .4byte gEnemyMonIndex _0801C094: .4byte gUnknown_02024C10 thumb_func_end mcmd_jump_if_move_not_executed @@ -28475,7 +28475,7 @@ _0801C094: .4byte gUnknown_02024C10 atk40_801DBA0: @ 801C098 push {lr} ldr r1, _0801C0E0 @ =gUnknown_02024D28 - ldr r0, _0801C0E4 @ =gUnknown_02024C08 + ldr r0, _0801C0E4 @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -28495,7 +28495,7 @@ atk40_801DBA0: @ 801C098 ands r0, r1 cmp r0, 0 beq _0801C0F8 - ldr r2, _0801C0F0 @ =gUnknown_02024C68 + ldr r2, _0801C0F0 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -28509,10 +28509,10 @@ atk40_801DBA0: @ 801C098 b _0801C100 .align 2, 0 _0801C0E0: .4byte gUnknown_02024D28 -_0801C0E4: .4byte gUnknown_02024C08 +_0801C0E4: .4byte gEnemyMonIndex _0801C0E8: .4byte gBattleMoves _0801C0EC: .4byte gUnknown_02024BE6 -_0801C0F0: .4byte gUnknown_02024C68 +_0801C0F0: .4byte gBattleMoveFlags _0801C0F4: .4byte gUnknown_02024D1E _0801C0F8: ldr r1, _0801C104 @ =gUnknown_02024C10 @@ -28533,7 +28533,7 @@ sub_801C108: @ 801C108 lsrs r3, r0, 16 movs r4, 0 ldr r1, _0801C15C @ =gUnknown_02024D28 - ldr r0, _0801C160 @ =gUnknown_02024C08 + ldr r0, _0801C160 @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -28553,7 +28553,7 @@ sub_801C108: @ 801C108 ands r0, r1 cmp r0, 0 beq _0801C154 - ldr r2, _0801C16C @ =gUnknown_02024C68 + ldr r2, _0801C16C @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -28572,10 +28572,10 @@ _0801C154: bx r1 .align 2, 0 _0801C15C: .4byte gUnknown_02024D28 -_0801C160: .4byte gUnknown_02024C08 +_0801C160: .4byte gEnemyMonIndex _0801C164: .4byte gBattleMoves _0801C168: .4byte gUnknown_02024BE6 -_0801C16C: .4byte gUnknown_02024C68 +_0801C16C: .4byte gBattleMoveFlags _0801C170: .4byte gUnknown_02024D1E thumb_func_end sub_801C108 @@ -28586,7 +28586,7 @@ sub_801C174: @ 801C174 lsls r0, 16 lsrs r5, r0, 16 ldr r2, _0801C1D4 @ =gUnknown_02024C98 - ldr r3, _0801C1D8 @ =gUnknown_02024C08 + ldr r3, _0801C1D8 @ =gEnemyMonIndex ldrb r4, [r3] lsls r0, r4, 2 adds r0, r2 @@ -28601,7 +28601,7 @@ sub_801C174: @ 801C174 subs r0, r4 lsls r0, 2 adds r0, r1 - ldr r1, _0801C1E0 @ =gUnknown_02024C07 + ldr r1, _0801C1E0 @ =gPlayerMonIndex ldrb r0, [r0, 0x15] ldrb r1, [r1] cmp r0, r1 @@ -28624,7 +28624,7 @@ _0801C1A6: cmp r0, 0 beq _0801C1EC _0801C1C6: - ldr r0, _0801C1E8 @ =gUnknown_02024C68 + ldr r0, _0801C1E8 @ =gBattleMoveFlags ldrb r1, [r0] movs r2, 0x1 orrs r1, r2 @@ -28632,11 +28632,11 @@ _0801C1C6: b _0801C290 .align 2, 0 _0801C1D4: .4byte gUnknown_02024C98 -_0801C1D8: .4byte gUnknown_02024C08 +_0801C1D8: .4byte gEnemyMonIndex _0801C1DC: .4byte gUnknown_02024CA8 -_0801C1E0: .4byte gUnknown_02024C07 +_0801C1E0: .4byte gPlayerMonIndex _0801C1E4: .4byte gUnknown_02024C6C -_0801C1E8: .4byte gUnknown_02024C68 +_0801C1E8: .4byte gBattleMoveFlags _0801C1EC: ldr r0, [r2] ldr r1, _0801C29C @ =0xfffeffff @@ -28763,7 +28763,7 @@ atk01_accuracycheck: @ 801C2BC cmp r1, 0x1 bhi _0801C378 ldr r2, _0801C318 @ =gUnknown_02024C98 - ldr r3, _0801C31C @ =gUnknown_02024C08 + ldr r3, _0801C31C @ =gEnemyMonIndex ldrb r4, [r3] lsls r0, r4, 2 adds r0, r2 @@ -28780,7 +28780,7 @@ atk01_accuracycheck: @ 801C2BC subs r0, r4 lsls r0, 2 adds r0, r1 - ldr r1, _0801C328 @ =gUnknown_02024C07 + ldr r1, _0801C328 @ =gPlayerMonIndex ldrb r0, [r0, 0x15] ldrb r1, [r1] cmp r0, r1 @@ -28791,10 +28791,10 @@ atk01_accuracycheck: @ 801C2BC .align 2, 0 _0801C314: .4byte gUnknown_02024C10 _0801C318: .4byte gUnknown_02024C98 -_0801C31C: .4byte gUnknown_02024C08 +_0801C31C: .4byte gEnemyMonIndex _0801C320: .4byte 0x0000ffff _0801C324: .4byte gUnknown_02024CA8 -_0801C328: .4byte gUnknown_02024C07 +_0801C328: .4byte gPlayerMonIndex _0801C32C: ldrb r0, [r3] lsls r0, 2 @@ -28880,7 +28880,7 @@ _0801C3C0: b _0801C632 _0801C3CE: ldr r3, _0801C3FC @ =gBattleMons - ldr r0, _0801C400 @ =gUnknown_02024C08 + ldr r0, _0801C400 @ =gEnemyMonIndex ldrb r0, [r0] movs r2, 0x58 adds r4, r0, 0 @@ -28894,7 +28894,7 @@ _0801C3CE: ands r0, r1 cmp r0, 0 beq _0801C408 - ldr r0, _0801C404 @ =gUnknown_02024C07 + ldr r0, _0801C404 @ =gPlayerMonIndex ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -28903,10 +28903,10 @@ _0801C3CE: .align 2, 0 _0801C3F8: .4byte gBattleMoves _0801C3FC: .4byte gBattleMons -_0801C400: .4byte gUnknown_02024C08 -_0801C404: .4byte gUnknown_02024C07 +_0801C400: .4byte gEnemyMonIndex +_0801C404: .4byte gPlayerMonIndex _0801C408: - ldr r0, _0801C56C @ =gUnknown_02024C07 + ldr r0, _0801C56C @ =gPlayerMonIndex ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -28982,7 +28982,7 @@ _0801C482: lsls r0, 16 lsrs r4, r0, 16 ldr r7, _0801C57C @ =gBattleMons - ldr r0, _0801C56C @ =gUnknown_02024C07 + ldr r0, _0801C56C @ =gPlayerMonIndex ldrb r0, [r0] movs r5, 0x58 muls r0, r5 @@ -29019,7 +29019,7 @@ _0801C4C0: lsls r0, 24 cmp r0, 0 bne _0801C518 - ldr r0, _0801C580 @ =gUnknown_02024C08 + ldr r0, _0801C580 @ =gEnemyMonIndex ldrb r0, [r0] muls r0, r5 adds r0, r7 @@ -29042,7 +29042,7 @@ _0801C4C0: lsrs r4, r0, 16 _0801C518: ldr r2, _0801C57C @ =gBattleMons - ldr r0, _0801C56C @ =gUnknown_02024C07 + ldr r0, _0801C56C @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -29063,7 +29063,7 @@ _0801C518: lsls r0, 16 lsrs r4, r0, 16 _0801C544: - ldr r3, _0801C580 @ =gUnknown_02024C08 + ldr r3, _0801C580 @ =gEnemyMonIndex mov r8, r3 ldrb r2, [r3] movs r7, 0x58 @@ -29083,12 +29083,12 @@ _0801C544: ldrb r2, [r0, 0x1A] b _0801C5A4 .align 2, 0 -_0801C56C: .4byte gUnknown_02024C07 +_0801C56C: .4byte gPlayerMonIndex _0801C570: .4byte gBattleMoves _0801C574: .4byte gBattleWeather _0801C578: .4byte gAccuracyStageRatios _0801C57C: .4byte gBattleMons -_0801C580: .4byte gUnknown_02024C08 +_0801C580: .4byte gEnemyMonIndex _0801C584: .4byte gEnigmaBerries _0801C588: ldrh r0, [r1, 0x2E] @@ -29105,7 +29105,7 @@ _0801C588: lsrs r2, r0, 24 _0801C5A4: ldr r0, _0801C608 @ =gUnknown_02024C0B - ldr r1, _0801C60C @ =gUnknown_02024C08 + ldr r1, _0801C60C @ =gEnemyMonIndex ldrb r1, [r1] strb r1, [r0] cmp r5, 0x16 @@ -29128,7 +29128,7 @@ _0801C5C0: adds r0, 0x1 cmp r0, r4 ble _0801C62A - ldr r2, _0801C610 @ =gUnknown_02024C68 + ldr r2, _0801C610 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -29155,8 +29155,8 @@ _0801C602: b _0801C624 .align 2, 0 _0801C608: .4byte gUnknown_02024C0B -_0801C60C: .4byte gUnknown_02024C08 -_0801C610: .4byte gUnknown_02024C68 +_0801C60C: .4byte gEnemyMonIndex +_0801C610: .4byte gBattleMoveFlags _0801C614: .4byte gBattleTypeFlags _0801C618: .4byte gBattleMoves _0801C61C: .4byte gUnknown_02024D1E @@ -29197,7 +29197,7 @@ atk02_attackstring: @ 801C648 ands r0, r1 cmp r0, 0 bne _0801C674 - ldr r0, _0801C690 @ =gUnknown_02024C07 + ldr r0, _0801C690 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x4 bl b_std_message @@ -29220,7 +29220,7 @@ _0801C680: .align 2, 0 _0801C688: .4byte gUnknown_02024A64 _0801C68C: .4byte gUnknown_02024C6C -_0801C690: .4byte gUnknown_02024C07 +_0801C690: .4byte gPlayerMonIndex _0801C694: .4byte gUnknown_02024C10 _0801C698: .4byte gUnknown_02024D1E thumb_func_end atk02_attackstring @@ -29241,7 +29241,7 @@ atk03_ppreduce: @ 801C69C b _0801C84E _0801C6B4: ldr r1, _0801C6F0 @ =gUnknown_02024D68 - ldr r2, _0801C6F4 @ =gUnknown_02024C07 + ldr r2, _0801C6F4 @ =gPlayerMonIndex ldrb r3, [r2] lsls r0, r3, 2 adds r0, r3 @@ -29271,7 +29271,7 @@ _0801C6B4: .align 2, 0 _0801C6EC: .4byte gUnknown_02024A64 _0801C6F0: .4byte gUnknown_02024D68 -_0801C6F4: .4byte gUnknown_02024C07 +_0801C6F4: .4byte gPlayerMonIndex _0801C6F8: .4byte gBattleMoves _0801C6FC: .4byte gUnknown_02024BE6 _0801C700: @@ -29303,7 +29303,7 @@ _0801C71C: adds r6, r0 b _0801C756 _0801C736: - ldr r1, _0801C7B8 @ =gUnknown_02024C08 + ldr r1, _0801C7B8 @ =gEnemyMonIndex mov r2, r9 ldrb r0, [r2] ldrb r7, [r1] @@ -29329,7 +29329,7 @@ _0801C756: bne _0801C83C ldr r2, _0801C7BC @ =gBattleMons ldr r3, _0801C7C4 @ =gUnknown_02024BE4 - ldr r1, _0801C7C8 @ =gUnknown_02024C07 + ldr r1, _0801C7C8 @ =gPlayerMonIndex ldrb r5, [r1] movs r0, 0x58 mov r8, r0 @@ -29370,11 +29370,11 @@ _0801C756: strb r0, [r2] b _0801C7D2 .align 2, 0 -_0801C7B8: .4byte gUnknown_02024C08 +_0801C7B8: .4byte gEnemyMonIndex _0801C7BC: .4byte gBattleMons _0801C7C0: .4byte gUnknown_02024C6C _0801C7C4: .4byte gUnknown_02024BE4 -_0801C7C8: .4byte gUnknown_02024C07 +_0801C7C8: .4byte gPlayerMonIndex _0801C7CC: .4byte gUnknown_02024D28 _0801C7D0: strb r4, [r2] @@ -29462,7 +29462,7 @@ _0801C874: .4byte gUnknown_02024C10 atk04_critcalc: @ 801C878 push {r4-r7,lr} ldr r1, _0801C89C @ =gBattleMons - ldr r0, _0801C8A0 @ =gUnknown_02024C07 + ldr r0, _0801C8A0 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -29479,7 +29479,7 @@ atk04_critcalc: @ 801C878 b _0801C8B0 .align 2, 0 _0801C89C: .4byte gBattleMons -_0801C8A0: .4byte gUnknown_02024C07 +_0801C8A0: .4byte gPlayerMonIndex _0801C8A4: .4byte gEnigmaBerries _0801C8A8: bl ItemId_GetHoldEffect @@ -29487,7 +29487,7 @@ _0801C8A8: lsrs r6, r0, 24 _0801C8B0: ldr r1, _0801C93C @ =gUnknown_02024C0B - ldr r3, _0801C940 @ =gUnknown_02024C07 + ldr r3, _0801C940 @ =gPlayerMonIndex ldrb r0, [r3] strb r0, [r1] ldr r4, _0801C944 @ =gBattleMons @@ -29564,7 +29564,7 @@ _0801C930: b _0801C952 .align 2, 0 _0801C93C: .4byte gUnknown_02024C0B -_0801C940: .4byte gUnknown_02024C07 +_0801C940: .4byte gPlayerMonIndex _0801C944: .4byte gBattleMons _0801C948: .4byte gBattleMoves _0801C94C: .4byte gUnknown_02024BE6 @@ -29579,7 +29579,7 @@ _0801C952: bls _0801C960 movs r5, 0x4 _0801C960: - ldr r0, _0801C9BC @ =gUnknown_02024C08 + ldr r0, _0801C9BC @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -29623,7 +29623,7 @@ _0801C960: movs r0, 0x2 b _0801C9D4 .align 2, 0 -_0801C9BC: .4byte gUnknown_02024C08 +_0801C9BC: .4byte gEnemyMonIndex _0801C9C0: .4byte gUnknown_02024C98 _0801C9C4: .4byte gBattleTypeFlags _0801C9C8: .4byte gCriticalHitChance @@ -29653,7 +29653,7 @@ atk05_damagecalc1: @ 801C9EC push {r6,r7} sub sp, 0x10 ldr r4, _0801CABC @ =gUnknown_02024C7A - ldr r6, _0801CAC0 @ =gUnknown_02024C08 + ldr r6, _0801CAC0 @ =gEnemyMonIndex ldrb r0, [r6] bl battle_get_per_side_status movs r1, 0x1 @@ -29661,7 +29661,7 @@ atk05_damagecalc1: @ 801C9EC lsls r1, 1 adds r1, r4 ldrh r3, [r1] - ldr r0, _0801CAC4 @ =gUnknown_02024C07 + ldr r0, _0801CAC4 @ =gPlayerMonIndex mov r8, r0 ldrb r0, [r0] movs r4, 0x58 @@ -29688,7 +29688,7 @@ atk05_damagecalc1: @ 801C9EC ldrb r4, [r6] str r4, [sp, 0xC] bl CalculateBaseDamage - ldr r4, _0801CADC @ =gUnknown_02024BEC + ldr r4, _0801CADC @ =gBattleMoveDamage ldr r1, _0801CAE0 @ =gCritMultiplier ldrb r1, [r1] muls r1, r0 @@ -29722,7 +29722,7 @@ atk05_damagecalc1: @ 801C9EC str r0, [r4] _0801CA82: ldr r1, _0801CAF0 @ =gUnknown_02024D28 - ldr r0, _0801CAC4 @ =gUnknown_02024C07 + ldr r0, _0801CAC4 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -29730,7 +29730,7 @@ _0801CA82: lsls r0, 28 cmp r0, 0 bge _0801CAA4 - ldr r4, _0801CADC @ =gUnknown_02024BEC + ldr r4, _0801CADC @ =gBattleMoveDamage ldr r1, [r4] lsls r0, r1, 4 subs r0, r1 @@ -29751,14 +29751,14 @@ _0801CAA4: bx r0 .align 2, 0 _0801CABC: .4byte gUnknown_02024C7A -_0801CAC0: .4byte gUnknown_02024C08 -_0801CAC4: .4byte gUnknown_02024C07 +_0801CAC0: .4byte gEnemyMonIndex +_0801CAC4: .4byte gPlayerMonIndex _0801CAC8: .4byte gBattleMons _0801CACC: .4byte gUnknown_02024BE6 _0801CAD0: .4byte gUnknown_02024DEC _0801CAD4: .4byte 0x02000000 _0801CAD8: .4byte 0x0001601c -_0801CADC: .4byte gUnknown_02024BEC +_0801CADC: .4byte gBattleMoveDamage _0801CAE0: .4byte gCritMultiplier _0801CAE4: .4byte 0x0001601f _0801CAE8: .4byte gUnknown_02024C98 @@ -29808,7 +29808,7 @@ sub_801CAF8: @ 801CAF8 str r7, [sp, 0x8] str r5, [sp, 0xC] bl CalculateBaseDamage - ldr r4, _0801CBD4 @ =gUnknown_02024BEC + ldr r4, _0801CBD4 @ =gBattleMoveDamage movs r1, 0 mov r2, r8 strh r1, [r2] @@ -29850,7 +29850,7 @@ _0801CB8E: lsls r0, 28 cmp r0, 0 bge _0801CBAC - ldr r4, _0801CBD4 @ =gUnknown_02024BEC + ldr r4, _0801CBD4 @ =gBattleMoveDamage ldr r1, [r4] lsls r0, r1, 4 subs r0, r1 @@ -29872,7 +29872,7 @@ _0801CBC4: .4byte gUnknown_02024BE6 _0801CBC8: .4byte gUnknown_02024DEC _0801CBCC: .4byte 0x02000000 _0801CBD0: .4byte 0x0001601c -_0801CBD4: .4byte gUnknown_02024BEC +_0801CBD4: .4byte gBattleMoveDamage _0801CBD8: .4byte gCritMultiplier _0801CBDC: .4byte 0x0001601f _0801CBE0: .4byte gUnknown_02024C98 @@ -29885,7 +29885,7 @@ battle_attack_damage_modulate_by_effectivity: @ 801CBEC push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r5, _0801CC1C @ =gUnknown_02024BEC + ldr r5, _0801CC1C @ =gBattleMoveDamage ldr r0, [r5] muls r0, r4 movs r1, 0xA @@ -29906,13 +29906,13 @@ _0801CC0C: beq _0801CC26 b _0801CCBE .align 2, 0 -_0801CC1C: .4byte gUnknown_02024BEC +_0801CC1C: .4byte gBattleMoveDamage _0801CC20: cmp r4, 0x14 beq _0801CC7C b _0801CCBE _0801CC26: - ldr r2, _0801CC38 @ =gUnknown_02024C68 + ldr r2, _0801CC38 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x8 orrs r0, r1 @@ -29922,7 +29922,7 @@ _0801CC26: ands r0, r1 b _0801CCBC .align 2, 0 -_0801CC38: .4byte gUnknown_02024C68 +_0801CC38: .4byte gBattleMoveFlags _0801CC3C: ldr r2, _0801CC6C @ =gBattleMoves ldr r0, _0801CC70 @ =gUnknown_02024BE6 @@ -29934,7 +29934,7 @@ _0801CC3C: ldrb r0, [r0, 0x1] cmp r0, 0 beq _0801CCBE - ldr r2, _0801CC74 @ =gUnknown_02024C68 + ldr r2, _0801CC74 @ =gBattleMoveFlags ldrb r1, [r2] movs r0, 0x29 ands r0, r1 @@ -29950,7 +29950,7 @@ _0801CC3C: .align 2, 0 _0801CC6C: .4byte gBattleMoves _0801CC70: .4byte gUnknown_02024BE6 -_0801CC74: .4byte gUnknown_02024C68 +_0801CC74: .4byte gBattleMoveFlags _0801CC78: movs r0, 0x4 b _0801CCBA @@ -29965,7 +29965,7 @@ _0801CC7C: ldrb r0, [r0, 0x1] cmp r0, 0 beq _0801CCBE - ldr r2, _0801CCB4 @ =gUnknown_02024C68 + ldr r2, _0801CCB4 @ =gBattleMoveFlags ldrb r1, [r2] movs r0, 0x29 ands r0, r1 @@ -29981,7 +29981,7 @@ _0801CC7C: .align 2, 0 _0801CCAC: .4byte gBattleMoves _0801CCB0: .4byte gUnknown_02024BE6 -_0801CCB4: .4byte gUnknown_02024C68 +_0801CCB4: .4byte gBattleMoveFlags _0801CCB8: movs r0, 0x2 _0801CCBA: @@ -30034,7 +30034,7 @@ _0801CCFC: mov r8, r0 _0801CD0C: ldr r2, _0801CD98 @ =gBattleMons - ldr r0, _0801CD9C @ =gUnknown_02024C07 + ldr r0, _0801CD9C @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -30051,7 +30051,7 @@ _0801CD0C: cmp r0, r8 bne _0801CD44 _0801CD2E: - ldr r4, _0801CDA0 @ =gUnknown_02024BEC + ldr r4, _0801CDA0 @ =gBattleMoveDamage ldr r1, [r4] lsls r0, r1, 4 subs r0, r1 @@ -30062,7 +30062,7 @@ _0801CD2E: str r0, [r4] ldr r3, [sp, 0x4] _0801CD44: - ldr r2, _0801CDA4 @ =gUnknown_02024C08 + ldr r2, _0801CDA4 @ =gEnemyMonIndex ldrb r1, [r2] movs r0, 0x58 muls r0, r1 @@ -30077,7 +30077,7 @@ _0801CD44: bne _0801CDBC ldr r3, _0801CDA8 @ =byte_2024C06 strb r0, [r3] - ldr r2, _0801CDAC @ =gUnknown_02024C68 + ldr r2, _0801CDAC @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x9 orrs r0, r1 @@ -30103,11 +30103,11 @@ _0801CD44: .align 2, 0 _0801CD94: .4byte gBattleMoves _0801CD98: .4byte gBattleMons -_0801CD9C: .4byte gUnknown_02024C07 -_0801CDA0: .4byte gUnknown_02024BEC -_0801CDA4: .4byte gUnknown_02024C08 +_0801CD9C: .4byte gPlayerMonIndex +_0801CDA0: .4byte gBattleMoveDamage +_0801CDA4: .4byte gEnemyMonIndex _0801CDA8: .4byte byte_2024C06 -_0801CDAC: .4byte gUnknown_02024C68 +_0801CDAC: .4byte gBattleMoveFlags _0801CDB0: .4byte gUnknown_02024C3C _0801CDB4: .4byte gUnknown_02024C44 _0801CDB8: .4byte gUnknown_02024D1E @@ -30131,7 +30131,7 @@ _0801CDD0: adds r1, r3, 0x1 adds r1, r5 ldr r2, _0801CF0C @ =gBattleMons - ldr r7, _0801CF10 @ =gUnknown_02024C08 + ldr r7, _0801CF10 @ =gEnemyMonIndex ldrb r0, [r7] movs r6, 0x58 muls r0, r6 @@ -30171,7 +30171,7 @@ _0801CE06: _0801CE2C: adds r3, 0x3 ldr r5, _0801CF0C @ =gBattleMons - ldr r4, _0801CF10 @ =gUnknown_02024C08 + ldr r4, _0801CF10 @ =gEnemyMonIndex ldr r2, _0801CF08 @ =gTypeEffectiveness _0801CE34: adds r0, r3, r2 @@ -30195,7 +30195,7 @@ _0801CE38: beq _0801CDCC _0801CE58: ldr r2, _0801CF0C @ =gBattleMons - ldr r5, _0801CF10 @ =gUnknown_02024C08 + ldr r5, _0801CF10 @ =gEnemyMonIndex ldrb r1, [r5] movs r0, 0x58 muls r0, r1 @@ -30204,7 +30204,7 @@ _0801CE58: ldrb r6, [r0] cmp r6, 0x19 bne _0801CED6 - ldr r0, _0801CF14 @ =gUnknown_02024C07 + ldr r0, _0801CF14 @ =gPlayerMonIndex ldrb r0, [r0] ldr r7, _0801CF18 @ =gUnknown_02024BE6 ldrh r1, [r7] @@ -30213,7 +30213,7 @@ _0801CE58: lsrs r0, 24 cmp r0, 0x2 bne _0801CED6 - ldr r1, _0801CF1C @ =gUnknown_02024C68 + ldr r1, _0801CF1C @ =gBattleMoveFlags mov r8, r1 ldrb r4, [r1] ands r0, r4 @@ -30257,14 +30257,14 @@ _0801CE94: ldrb r1, [r3] bl sub_81074C4 _0801CED6: - ldr r0, _0801CF1C @ =gUnknown_02024C68 + ldr r0, _0801CF1C @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x8 ands r0, r1 cmp r0, 0 beq _0801CEF4 ldr r2, _0801CF34 @ =gUnknown_02024D28 - ldr r0, _0801CF14 @ =gUnknown_02024C07 + ldr r0, _0801CF14 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 4 adds r1, r2 @@ -30286,10 +30286,10 @@ _0801CEF4: .align 2, 0 _0801CF08: .4byte gTypeEffectiveness _0801CF0C: .4byte gBattleMons -_0801CF10: .4byte gUnknown_02024C08 -_0801CF14: .4byte gUnknown_02024C07 +_0801CF10: .4byte gEnemyMonIndex +_0801CF14: .4byte gPlayerMonIndex _0801CF18: .4byte gUnknown_02024BE6 -_0801CF1C: .4byte gUnknown_02024C68 +_0801CF1C: .4byte gBattleMoveFlags _0801CF20: .4byte gBattleMoves _0801CF24: .4byte byte_2024C06 _0801CF28: .4byte gUnknown_02024C3C @@ -30346,7 +30346,7 @@ _0801CF90: mov r12, r1 _0801CF94: ldr r2, _0801CFC8 @ =gBattleMons - ldr r3, _0801CFCC @ =gUnknown_02024C08 + ldr r3, _0801CFCC @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -30371,7 +30371,7 @@ _0801CF94: b _0801D1A4 .align 2, 0 _0801CFC8: .4byte gBattleMons -_0801CFCC: .4byte gUnknown_02024C08 +_0801CFCC: .4byte gEnemyMonIndex _0801CFD0: .4byte byte_2024C06 _0801CFD4: .4byte gUnknown_02024D1E _0801CFD8: @@ -30407,13 +30407,13 @@ _0801CFF2: ldrb r0, [r0] cmp r0, 0 bne _0801D032 - ldr r2, _0801D1B0 @ =gUnknown_02024C68 + ldr r2, _0801D1B0 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x8 orrs r0, r1 strb r0, [r2] ldr r1, _0801D1B4 @ =gUnknown_02024D28 - ldr r0, _0801D1B8 @ =gUnknown_02024C07 + ldr r0, _0801D1B8 @ =gPlayerMonIndex ldrb r2, [r0] lsls r2, 4 adds r2, r1 @@ -30443,13 +30443,13 @@ _0801D032: ldrb r0, [r0] cmp r0, 0 bne _0801D078 - ldr r2, _0801D1B0 @ =gUnknown_02024C68 + ldr r2, _0801D1B0 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x8 orrs r0, r1 strb r0, [r2] ldr r1, _0801D1B4 @ =gUnknown_02024D28 - ldr r0, _0801D1B8 @ =gUnknown_02024C07 + ldr r0, _0801D1B8 @ =gPlayerMonIndex ldrb r2, [r0] lsls r2, 4 adds r2, r1 @@ -30581,7 +30581,7 @@ _0801D14E: ldrb r4, [r0] cmp r4, 0x19 bne _0801D1A4 - ldr r0, _0801D1B8 @ =gUnknown_02024C07 + ldr r0, _0801D1B8 @ =gPlayerMonIndex ldrb r0, [r0] mov r2, r9 ldrh r1, [r2] @@ -30621,9 +30621,9 @@ _0801D1A4: pop {r0} bx r0 .align 2, 0 -_0801D1B0: .4byte gUnknown_02024C68 +_0801D1B0: .4byte gBattleMoveFlags _0801D1B4: .4byte gUnknown_02024D28 -_0801D1B8: .4byte gUnknown_02024C07 +_0801D1B8: .4byte gPlayerMonIndex _0801D1BC: .4byte gBattleMoves _0801D1C0: .4byte byte_2024C06 _0801D1C4: .4byte gUnknown_02024D1E @@ -30637,7 +30637,7 @@ b_attack_effectivity_adapt: @ 801D1C8 lsrs r4, r0, 24 lsls r1, 16 lsrs r5, r1, 16 - ldr r7, _0801D1FC @ =gUnknown_02024BEC + ldr r7, _0801D1FC @ =gBattleMoveDamage ldr r0, [r7] muls r0, r4 movs r1, 0xA @@ -30658,7 +30658,7 @@ _0801D1EE: beq _0801D206 b _0801D27A .align 2, 0 -_0801D1FC: .4byte gUnknown_02024BEC +_0801D1FC: .4byte gBattleMoveDamage _0801D200: cmp r4, 0x14 beq _0801D248 @@ -30786,7 +30786,7 @@ _0801D2AE: cmp r0, r1 bne _0801D2F4 _0801D2E2: - ldr r4, _0801D324 @ =gUnknown_02024BEC + ldr r4, _0801D324 @ =gBattleMoveDamage ldr r1, [r4] lsls r0, r1, 4 subs r0, r1 @@ -30817,7 +30817,7 @@ _0801D2F4: .align 2, 0 _0801D31C: .4byte gBattleMoves _0801D320: .4byte gBattleMons -_0801D324: .4byte gUnknown_02024BEC +_0801D324: .4byte gBattleMoveDamage _0801D328: ldr r1, _0801D344 @ =gTypeEffectiveness adds r0, r7, r1 @@ -30873,7 +30873,7 @@ _0801D388: ldrb r0, [r0] cmp r4, r0 bne _0801D3B0 - ldr r0, _0801D454 @ =gUnknown_02024C08 + ldr r0, _0801D454 @ =gEnemyMonIndex ldrb r0, [r0] muls r0, r3 add r0, r8 @@ -30973,7 +30973,7 @@ _0801D43A: .align 2, 0 _0801D44C: .4byte gTypeEffectiveness _0801D450: .4byte gBattleMons -_0801D454: .4byte gUnknown_02024C08 +_0801D454: .4byte gEnemyMonIndex _0801D458: .4byte gBattleMoves thumb_func_end move_effectiveness_something @@ -31055,7 +31055,7 @@ _0801D4D2: _0801D4EE: cmp r5, r8 bne _0801D510 - ldr r0, _0801D568 @ =gUnknown_02024C08 + ldr r0, _0801D568 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -31118,7 +31118,7 @@ _0801D554: bx r1 .align 2, 0 _0801D564: .4byte gTypeEffectiveness -_0801D568: .4byte gUnknown_02024C08 +_0801D568: .4byte gEnemyMonIndex _0801D56C: .4byte gBattleMons _0801D570: .4byte gBattleMoves thumb_func_end ai_rate_move @@ -31135,7 +31135,7 @@ unref_sub_801D574: @ 801D574 subs r1, r0 lsls r1, 16 lsrs r1, 16 - ldr r4, _0801D5AC @ =gUnknown_02024BEC + ldr r4, _0801D5AC @ =gBattleMoveDamage ldr r0, [r4] cmp r0, 0 beq _0801D5A6 @@ -31153,7 +31153,7 @@ _0801D5A6: pop {r0} bx r0 .align 2, 0 -_0801D5AC: .4byte gUnknown_02024BEC +_0801D5AC: .4byte gBattleMoveDamage thumb_func_end unref_sub_801D574 thumb_func_start atk07_damagecalc3 @@ -31168,7 +31168,7 @@ atk07_damagecalc3: @ 801D5B0 subs r1, r0 lsls r1, 16 lsrs r1, 16 - ldr r4, _0801D608 @ =gUnknown_02024BEC + ldr r4, _0801D608 @ =gBattleMoveDamage ldr r0, [r4] cmp r0, 0 beq _0801D5E2 @@ -31183,7 +31183,7 @@ atk07_damagecalc3: @ 801D5B0 str r0, [r4] _0801D5E2: ldr r7, _0801D60C @ =gBattleMons - ldr r6, _0801D610 @ =gUnknown_02024C08 + ldr r6, _0801D610 @ =gEnemyMonIndex ldrb r2, [r6] movs r5, 0x58 adds r0, r2, 0 @@ -31201,9 +31201,9 @@ _0801D5E2: ldrb r6, [r0, 0x1A] b _0801D632 .align 2, 0 -_0801D608: .4byte gUnknown_02024BEC +_0801D608: .4byte gBattleMoveDamage _0801D60C: .4byte gBattleMons -_0801D610: .4byte gUnknown_02024C08 +_0801D610: .4byte gEnemyMonIndex _0801D614: .4byte gEnigmaBerries _0801D618: ldrh r0, [r1, 0x2E] @@ -31219,7 +31219,7 @@ _0801D618: lsrs r6, r0, 24 _0801D632: ldr r1, _0801D6F4 @ =gUnknown_02024C0B - ldr r5, _0801D6F8 @ =gUnknown_02024C08 + ldr r5, _0801D6F8 @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r1] cmp r4, 0x27 @@ -31248,7 +31248,7 @@ _0801D632: strb r1, [r0] _0801D670: ldr r2, _0801D700 @ =gBattleMons - ldr r3, _0801D6F8 @ =gUnknown_02024C08 + ldr r3, _0801D6F8 @ =gEnemyMonIndex ldrb r4, [r3] movs r0, 0x58 muls r0, r4 @@ -31294,7 +31294,7 @@ _0801D6C2: muls r0, r4 adds r0, r5 ldrh r1, [r0, 0x28] - ldr r2, _0801D710 @ =gUnknown_02024BEC + ldr r2, _0801D710 @ =gBattleMoveDamage ldr r0, [r2] cmp r1, r0 bgt _0801D740 @@ -31308,7 +31308,7 @@ _0801D6C2: lsls r0, 30 cmp r0, 0 bge _0801D718 - ldr r0, _0801D714 @ =gUnknown_02024C68 + ldr r0, _0801D714 @ =gBattleMoveFlags ldrb r1, [r0] movs r2, 0x40 orrs r1, r2 @@ -31316,14 +31316,14 @@ _0801D6C2: b _0801D740 .align 2, 0 _0801D6F4: .4byte gUnknown_02024C0B -_0801D6F8: .4byte gUnknown_02024C08 +_0801D6F8: .4byte gEnemyMonIndex _0801D6FC: .4byte gUnknown_02024D68 _0801D700: .4byte gBattleMons _0801D704: .4byte gBattleMoves _0801D708: .4byte gUnknown_02024BE6 _0801D70C: .4byte gUnknown_02024D28 -_0801D710: .4byte gUnknown_02024BEC -_0801D714: .4byte gUnknown_02024C68 +_0801D710: .4byte gBattleMoveDamage +_0801D714: .4byte gBattleMoveFlags _0801D718: ldr r0, _0801D750 @ =gUnknown_02024D68 lsls r1, r3, 2 @@ -31334,7 +31334,7 @@ _0801D718: lsrs r0, 7 cmp r0, 0 beq _0801D740 - ldr r2, _0801D754 @ =gUnknown_02024C68 + ldr r2, _0801D754 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x80 orrs r0, r1 @@ -31355,7 +31355,7 @@ _0801D740: bx r0 .align 2, 0 _0801D750: .4byte gUnknown_02024D68 -_0801D754: .4byte gUnknown_02024C68 +_0801D754: .4byte gBattleMoveFlags _0801D758: .4byte gUnknown_02024C04 _0801D75C: .4byte gUnknown_02024C10 thumb_func_end atk07_damagecalc3 @@ -31372,7 +31372,7 @@ atk08_cmd8: @ 801D760 subs r1, r0 lsls r1, 16 lsrs r1, 16 - ldr r4, _0801D7B8 @ =gUnknown_02024BEC + ldr r4, _0801D7B8 @ =gBattleMoveDamage ldr r0, [r4] cmp r0, 0 beq _0801D792 @@ -31387,7 +31387,7 @@ atk08_cmd8: @ 801D760 str r0, [r4] _0801D792: ldr r7, _0801D7BC @ =gBattleMons - ldr r6, _0801D7C0 @ =gUnknown_02024C08 + ldr r6, _0801D7C0 @ =gEnemyMonIndex ldrb r2, [r6] movs r5, 0x58 adds r0, r2, 0 @@ -31405,9 +31405,9 @@ _0801D792: ldrb r6, [r0, 0x1A] b _0801D7E2 .align 2, 0 -_0801D7B8: .4byte gUnknown_02024BEC +_0801D7B8: .4byte gBattleMoveDamage _0801D7BC: .4byte gBattleMons -_0801D7C0: .4byte gUnknown_02024C08 +_0801D7C0: .4byte gEnemyMonIndex _0801D7C4: .4byte gEnigmaBerries _0801D7C8: ldrh r0, [r1, 0x2E] @@ -31423,7 +31423,7 @@ _0801D7C8: lsrs r6, r0, 24 _0801D7E2: ldr r1, _0801D888 @ =gUnknown_02024C0B - ldr r5, _0801D88C @ =gUnknown_02024C08 + ldr r5, _0801D88C @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r1] cmp r4, 0x27 @@ -31452,7 +31452,7 @@ _0801D7E2: strb r1, [r0] _0801D820: ldr r4, _0801D894 @ =gBattleMons - ldr r6, _0801D88C @ =gUnknown_02024C08 + ldr r6, _0801D88C @ =gEnemyMonIndex ldrb r2, [r6] movs r7, 0x58 adds r3, r2, 0 @@ -31485,7 +31485,7 @@ _0801D820: _0801D85E: adds r0, r3, r4 ldrh r1, [r0, 0x28] - ldr r2, _0801D89C @ =gUnknown_02024BEC + ldr r2, _0801D89C @ =gBattleMoveDamage ldr r0, [r2] cmp r1, r0 bgt _0801D8CC @@ -31498,7 +31498,7 @@ _0801D85E: lsls r0, 30 cmp r0, 0 bge _0801D8A4 - ldr r0, _0801D8A0 @ =gUnknown_02024C68 + ldr r0, _0801D8A0 @ =gBattleMoveFlags ldrb r1, [r0] movs r2, 0x40 orrs r1, r2 @@ -31506,12 +31506,12 @@ _0801D85E: b _0801D8CC .align 2, 0 _0801D888: .4byte gUnknown_02024C0B -_0801D88C: .4byte gUnknown_02024C08 +_0801D88C: .4byte gEnemyMonIndex _0801D890: .4byte gUnknown_02024D68 _0801D894: .4byte gBattleMons _0801D898: .4byte gUnknown_02024D28 -_0801D89C: .4byte gUnknown_02024BEC -_0801D8A0: .4byte gUnknown_02024C68 +_0801D89C: .4byte gBattleMoveDamage +_0801D8A0: .4byte gBattleMoveFlags _0801D8A4: ldr r0, _0801D8DC @ =gUnknown_02024D68 lsls r1, r3, 2 @@ -31522,7 +31522,7 @@ _0801D8A4: lsrs r0, 7 cmp r0, 0 beq _0801D8CC - ldr r2, _0801D8E0 @ =gUnknown_02024C68 + ldr r2, _0801D8E0 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x80 orrs r0, r1 @@ -31543,7 +31543,7 @@ _0801D8CC: bx r0 .align 2, 0 _0801D8DC: .4byte gUnknown_02024D68 -_0801D8E0: .4byte gUnknown_02024C68 +_0801D8E0: .4byte gBattleMoveFlags _0801D8E4: .4byte gUnknown_02024C04 _0801D8E8: .4byte gUnknown_02024C10 thumb_func_end atk08_cmd8 @@ -31628,14 +31628,14 @@ _0801D986: cmp r0, 0 bne _0801DA00 _0801D992: - ldr r0, _0801DA18 @ =gUnknown_02024C68 + ldr r0, _0801DA18 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 cmp r0, 0 bne _0801DA3C ldr r1, _0801DA1C @ =gUnknown_02024A60 - ldr r2, _0801DA20 @ =gUnknown_02024C07 + ldr r2, _0801DA20 @ =gPlayerMonIndex mov r9, r2 ldrb r0, [r2] strb r0, [r1] @@ -31647,7 +31647,7 @@ _0801D992: ldrb r2, [r0] ldr r0, _0801DA28 @ =gBattleMovePower ldrh r3, [r0] - ldr r0, _0801DA2C @ =gUnknown_02024BEC + ldr r0, _0801DA2C @ =gBattleMoveDamage ldr r0, [r0] str r0, [sp] ldr r5, _0801DA30 @ =gBattleMons @@ -31691,12 +31691,12 @@ _0801DA00: _0801DA0C: .4byte gBattleMoves _0801DA10: .4byte 0x02000000 _0801DA14: .4byte 0x000160a1 -_0801DA18: .4byte gUnknown_02024C68 +_0801DA18: .4byte gBattleMoveFlags _0801DA1C: .4byte gUnknown_02024A60 -_0801DA20: .4byte gUnknown_02024C07 +_0801DA20: .4byte gPlayerMonIndex _0801DA24: .4byte 0x00016002 _0801DA28: .4byte gBattleMovePower -_0801DA2C: .4byte gUnknown_02024BEC +_0801DA2C: .4byte gBattleMoveDamage _0801DA30: .4byte gBattleMons _0801DA34: .4byte gUnknown_02024CA8 _0801DA38: .4byte gUnknown_02024C10 @@ -31746,7 +31746,7 @@ sub_801DA80: @ 801DA80 ldr r0, [r0] cmp r0, 0 bne _0801DB36 - ldr r0, _0801DAE8 @ =gUnknown_02024C68 + ldr r0, _0801DAE8 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -31791,14 +31791,14 @@ sub_801DA80: @ 801DA80 b _0801DB2E .align 2, 0 _0801DAE4: .4byte gUnknown_02024A64 -_0801DAE8: .4byte gUnknown_02024C68 +_0801DAE8: .4byte gBattleMoveFlags _0801DAEC: .4byte gUnknown_02024C10 _0801DAF0: .4byte gUnknown_02024A60 _0801DAF4: .4byte gBattleMons _0801DAF8: .4byte gUnknown_02024CA8 _0801DAFC: .4byte gUnknown_02024C6C _0801DB00: - ldr r5, _0801DB3C @ =gUnknown_02024BEC + ldr r5, _0801DB3C @ =gBattleMoveDamage ldrh r1, [r5] movs r0, 0 bl dp01_build_cmdbuf_x18_0_aa_health_bar_update @@ -31828,7 +31828,7 @@ _0801DB36: pop {r0} bx r0 .align 2, 0 -_0801DB3C: .4byte gUnknown_02024BEC +_0801DB3C: .4byte gBattleMoveDamage _0801DB40: .4byte gUnknown_02024A60 _0801DB44: .4byte gUnknown_030042E0 _0801DB48: .4byte gUnknown_02024C10 @@ -31871,7 +31871,7 @@ _0801DB80: adds r0, r2 ldrb r6, [r0, 0x2] _0801DB90: - ldr r0, _0801DC24 @ =gUnknown_02024C68 + ldr r0, _0801DC24 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -31914,7 +31914,7 @@ _0801DB9E: cmp r3, 0 bne _0801DCB4 adds r5, r1, 0 - ldr r6, _0801DC3C @ =gUnknown_02024BEC + ldr r6, _0801DC3C @ =gBattleMoveDamage ldr r4, [r6] cmp r5, r4 blt _0801DC48 @@ -31945,13 +31945,13 @@ _0801DC02: .align 2, 0 _0801DC1C: .4byte gBattleMoves _0801DC20: .4byte gUnknown_02024BE6 -_0801DC24: .4byte gUnknown_02024C68 +_0801DC24: .4byte gBattleMoveFlags _0801DC28: .4byte gUnknown_02024C10 _0801DC2C: .4byte gUnknown_02024A60 _0801DC30: .4byte gBattleMons _0801DC34: .4byte gUnknown_02024CA8 _0801DC38: .4byte gUnknown_02024C6C -_0801DC3C: .4byte gUnknown_02024BEC +_0801DC3C: .4byte gBattleMoveDamage _0801DC40: .4byte gUnknown_02024D68 _0801DC44: .4byte gUnknown_02024BF0 _0801DC48: @@ -32012,7 +32012,7 @@ _0801DCB4: ldr r1, _0801DCF8 @ =0xfffffeff ands r2, r1 str r2, [r0] - ldr r1, _0801DCFC @ =gUnknown_02024BEC + ldr r1, _0801DCFC @ =gBattleMoveDamage ldr r5, [r1] mov r12, r0 adds r7, r1, 0 @@ -32043,7 +32043,7 @@ _0801DCF0: .align 2, 0 _0801DCF4: .4byte gUnknown_02024C6C _0801DCF8: .4byte 0xfffffeff -_0801DCFC: .4byte gUnknown_02024BEC +_0801DCFC: .4byte gBattleMoveDamage _0801DD00: .4byte gBattleMons _0801DD04: .4byte gUnknown_02024A60 _0801DD08: @@ -32078,19 +32078,19 @@ _0801DD24: ldr r1, _0801DD58 @ =gUnknown_02024C74 ldrb r0, [r5] adds r0, r1 - ldr r1, _0801DD5C @ =gUnknown_02024C07 + ldr r1, _0801DD5C @ =gPlayerMonIndex b _0801DD68 .align 2, 0 _0801DD4C: .4byte gUnknown_02024BF4 _0801DD50: .4byte gUnknown_02024A60 _0801DD54: .4byte gUnknown_02024C10 _0801DD58: .4byte gUnknown_02024C74 -_0801DD5C: .4byte gUnknown_02024C07 +_0801DD5C: .4byte gPlayerMonIndex _0801DD60: ldr r1, _0801DD8C @ =gUnknown_02024C74 ldrb r0, [r5] adds r0, r1 - ldr r1, _0801DD90 @ =gUnknown_02024C08 + ldr r1, _0801DD90 @ =gEnemyMonIndex _0801DD68: ldrb r1, [r1] strb r1, [r0] @@ -32112,7 +32112,7 @@ _0801DD6C: b _0801DDAC .align 2, 0 _0801DD8C: .4byte gUnknown_02024C74 -_0801DD90: .4byte gUnknown_02024C08 +_0801DD90: .4byte gEnemyMonIndex _0801DD94: .4byte gBattleMons _0801DD98: .4byte gUnknown_02024BF0 _0801DD9C: @@ -32182,7 +32182,7 @@ _0801DDD4: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801DE34 @ =gUnknown_02024C07 + ldr r2, _0801DE34 @ =gPlayerMonIndex b _0801DE40 .align 2, 0 _0801DE20: .4byte gUnknown_02024BF0 @@ -32190,12 +32190,12 @@ _0801DE24: .4byte gUnknown_02024D68 _0801DE28: .4byte gUnknown_02024BE6 _0801DE2C: .4byte gUnknown_02024D28 _0801DE30: .4byte gUnknown_02024C10 -_0801DE34: .4byte gUnknown_02024C07 +_0801DE34: .4byte gPlayerMonIndex _0801DE38: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801DE54 @ =gUnknown_02024C08 + ldr r2, _0801DE54 @ =gEnemyMonIndex _0801DE40: ldrb r1, [r2] strb r1, [r0, 0xC] @@ -32208,7 +32208,7 @@ _0801DE40: strb r1, [r0, 0x10] b _0801DEC6 .align 2, 0 -_0801DE54: .4byte gUnknown_02024C08 +_0801DE54: .4byte gEnemyMonIndex _0801DE58: cmp r6, 0x8 bls _0801DEC6 @@ -32244,17 +32244,17 @@ _0801DE5C: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801DEA8 @ =gUnknown_02024C07 + ldr r2, _0801DEA8 @ =gPlayerMonIndex b _0801DEB4 .align 2, 0 _0801DEA0: .4byte gUnknown_02024D28 _0801DEA4: .4byte gUnknown_02024C10 -_0801DEA8: .4byte gUnknown_02024C07 +_0801DEA8: .4byte gPlayerMonIndex _0801DEAC: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801DEF4 @ =gUnknown_02024C08 + ldr r2, _0801DEF4 @ =gEnemyMonIndex _0801DEB4: ldrb r1, [r2] strb r1, [r0, 0xD] @@ -32287,7 +32287,7 @@ _0801DEC6: bl dp01_battle_side_mark_buffer_for_execution b _0801DF26 .align 2, 0 -_0801DEF4: .4byte gUnknown_02024C08 +_0801DEF4: .4byte gEnemyMonIndex _0801DEF8: .4byte 0xffefffff _0801DEFC: .4byte gUnknown_02024AA8 _0801DF00: @@ -32337,13 +32337,13 @@ atk0D_critmessage: @ 801DF48 ldrb r0, [r0] cmp r0, 0x2 bne _0801DF76 - ldr r0, _0801DF8C @ =gUnknown_02024C68 + ldr r0, _0801DF8C @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 cmp r0, 0 bne _0801DF76 - ldr r0, _0801DF90 @ =gUnknown_02024C07 + ldr r0, _0801DF90 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0xD9 bl b_std_message @@ -32361,8 +32361,8 @@ _0801DF7E: .align 2, 0 _0801DF84: .4byte gUnknown_02024A64 _0801DF88: .4byte gCritMultiplier -_0801DF8C: .4byte gUnknown_02024C68 -_0801DF90: .4byte gUnknown_02024C07 +_0801DF8C: .4byte gBattleMoveFlags +_0801DF90: .4byte gPlayerMonIndex _0801DF94: .4byte gUnknown_02024D1E _0801DF98: .4byte gUnknown_02024C10 thumb_func_end atk0D_critmessage @@ -32375,10 +32375,10 @@ atk0E_missmessage: @ 801DF9C cmp r0, 0 bne _0801E05C ldr r4, _0801DFD8 @ =gUnknown_02024A60 - ldr r0, _0801DFDC @ =gUnknown_02024C08 + ldr r0, _0801DFDC @ =gEnemyMonIndex ldrb r0, [r0] strb r0, [r4] - ldr r1, _0801DFE0 @ =gUnknown_02024C68 + ldr r1, _0801DFE0 @ =gBattleMoveFlags ldrb r2, [r1] movs r0, 0x1 ands r0, r2 @@ -32400,8 +32400,8 @@ atk0E_missmessage: @ 801DF9C .align 2, 0 _0801DFD4: .4byte gUnknown_02024A64 _0801DFD8: .4byte gUnknown_02024A60 -_0801DFDC: .4byte gUnknown_02024C08 -_0801DFE0: .4byte gUnknown_02024C68 +_0801DFDC: .4byte gEnemyMonIndex +_0801DFE0: .4byte gBattleMoveFlags _0801DFE4: cmp r0, 0x8 beq _0801E054 @@ -32485,7 +32485,7 @@ atk0F_resultmessage: @ 801E06C beq _0801E07A b _0801E20C _0801E07A: - ldr r1, _0801E0AC @ =gUnknown_02024C68 + ldr r1, _0801E0AC @ =gBattleMoveFlags ldrb r2, [r1] movs r4, 0x1 adds r0, r4, 0 @@ -32511,7 +32511,7 @@ _0801E09A: b _0801E1F6 .align 2, 0 _0801E0A8: .4byte gUnknown_02024A64 -_0801E0AC: .4byte gUnknown_02024C68 +_0801E0AC: .4byte gBattleMoveFlags _0801E0B0: .4byte gUnknown_02024D1E _0801E0B4: .4byte gUnknown_08401508 _0801E0B8: @@ -32564,7 +32564,7 @@ _0801E100: _0801E104: ldr r4, _0801E12C @ =gUnknown_02024C04 ldr r2, _0801E130 @ =gBattleMons - ldr r3, _0801E134 @ =gUnknown_02024C08 + ldr r3, _0801E134 @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -32584,7 +32584,7 @@ _0801E104: .align 2, 0 _0801E12C: .4byte gUnknown_02024C04 _0801E130: .4byte gBattleMons -_0801E134: .4byte gUnknown_02024C08 +_0801E134: .4byte gEnemyMonIndex _0801E138: .4byte gUnknown_02024C0B _0801E13C: .4byte gUnknown_02024C10 _0801E140: .4byte gUnknown_081D9AC6 @@ -32639,7 +32639,7 @@ _0801E19C: beq _0801E1E4 ldr r4, _0801E1CC @ =gUnknown_02024C04 ldr r2, _0801E1D0 @ =gBattleMons - ldr r3, _0801E1D4 @ =gUnknown_02024C08 + ldr r3, _0801E1D4 @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -32659,7 +32659,7 @@ _0801E19C: .align 2, 0 _0801E1CC: .4byte gUnknown_02024C04 _0801E1D0: .4byte gBattleMons -_0801E1D4: .4byte gUnknown_02024C08 +_0801E1D4: .4byte gEnemyMonIndex _0801E1D8: .4byte gUnknown_02024C0B _0801E1DC: .4byte gUnknown_02024C10 _0801E1E0: .4byte gUnknown_081D9AC6 @@ -32680,7 +32680,7 @@ _0801E1F6: beq _0801E204 _0801E1FA: adds r0, r3, 0 - ldr r1, _0801E214 @ =gUnknown_02024C07 + ldr r1, _0801E214 @ =gPlayerMonIndex ldrb r1, [r1] bl b_std_message _0801E204: @@ -32694,7 +32694,7 @@ _0801E20C: pop {r0} bx r0 .align 2, 0 -_0801E214: .4byte gUnknown_02024C07 +_0801E214: .4byte gPlayerMonIndex _0801E218: .4byte gUnknown_02024C10 thumb_func_end atk0F_resultmessage @@ -32711,7 +32711,7 @@ atk10_printstring: @ 801E21C ldrb r1, [r1, 0x2] lsls r1, 8 orrs r0, r1 - ldr r1, _0801E254 @ =gUnknown_02024C07 + ldr r1, _0801E254 @ =gPlayerMonIndex ldrb r1, [r1] bl b_std_message ldr r0, [r4] @@ -32727,7 +32727,7 @@ _0801E246: .align 2, 0 _0801E24C: .4byte gUnknown_02024A64 _0801E250: .4byte gUnknown_02024C10 -_0801E254: .4byte gUnknown_02024C07 +_0801E254: .4byte gPlayerMonIndex _0801E258: .4byte gUnknown_02024D1E thumb_func_end atk10_printstring @@ -32735,7 +32735,7 @@ _0801E258: .4byte gUnknown_02024D1E atk11_printstring2: @ 801E25C push {r4,r5,lr} ldr r5, _0801E290 @ =gUnknown_02024A60 - ldr r0, _0801E294 @ =gUnknown_02024C07 + ldr r0, _0801E294 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r5] ldr r4, _0801E298 @ =gUnknown_02024C10 @@ -32759,7 +32759,7 @@ atk11_printstring2: @ 801E25C bx r0 .align 2, 0 _0801E290: .4byte gUnknown_02024A60 -_0801E294: .4byte gUnknown_02024C07 +_0801E294: .4byte gPlayerMonIndex _0801E298: .4byte gUnknown_02024C10 _0801E29C: .4byte gUnknown_02024D1E thumb_func_end atk11_printstring2 @@ -32837,7 +32837,7 @@ atk13_printfromtable: @ 801E2FC lsls r0, 1 adds r1, r0 ldrh r0, [r1] - ldr r1, _0801E34C @ =gUnknown_02024C07 + ldr r1, _0801E34C @ =gPlayerMonIndex ldrb r1, [r1] bl b_std_message ldr r0, [r4] @@ -32853,7 +32853,7 @@ _0801E33A: _0801E340: .4byte gUnknown_02024A64 _0801E344: .4byte gUnknown_02024C10 _0801E348: .4byte gUnknown_02024D1E -_0801E34C: .4byte gUnknown_02024C07 +_0801E34C: .4byte gPlayerMonIndex thumb_func_end atk13_printfromtable thumb_func_start atk14_printfromtable2 @@ -32880,7 +32880,7 @@ atk14_printfromtable2: @ 801E350 lsls r0, 1 adds r1, r0 ldr r4, _0801E3AC @ =gUnknown_02024A60 - ldr r0, _0801E3B0 @ =gUnknown_02024C07 + ldr r0, _0801E3B0 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] ldrh r1, [r1] @@ -32902,7 +32902,7 @@ _0801E3A0: .4byte gUnknown_02024A64 _0801E3A4: .4byte gUnknown_02024C10 _0801E3A8: .4byte gUnknown_02024D1E _0801E3AC: .4byte gUnknown_02024A60 -_0801E3B0: .4byte gUnknown_02024C07 +_0801E3B0: .4byte gPlayerMonIndex thumb_func_end atk14_printfromtable2 thumb_func_start sub_801E3B4 @@ -32963,7 +32963,7 @@ sub_801E3EC: @ 801E3EC cmp r0, 0 beq _0801E444 ldr r2, _0801E434 @ =gUnknown_02024C0A - ldr r0, _0801E438 @ =gUnknown_02024C07 + ldr r0, _0801E438 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r2] movs r0, 0xBF @@ -32971,21 +32971,21 @@ sub_801E3EC: @ 801E3EC strb r0, [r7, 0x3] movs r6, 0x40 ldr r0, _0801E43C @ =0x02000000 - ldr r1, _0801E440 @ =gUnknown_02024C08 + ldr r1, _0801E440 @ =gEnemyMonIndex b _0801E450 .align 2, 0 _0801E430: .4byte gUnknown_02024D1E _0801E434: .4byte gUnknown_02024C0A -_0801E438: .4byte gUnknown_02024C07 +_0801E438: .4byte gPlayerMonIndex _0801E43C: .4byte 0x02000000 -_0801E440: .4byte gUnknown_02024C08 +_0801E440: .4byte gEnemyMonIndex _0801E444: ldr r2, _0801E538 @ =gUnknown_02024C0A - ldr r0, _0801E53C @ =gUnknown_02024C08 + ldr r0, _0801E53C @ =gEnemyMonIndex ldrb r0, [r0] strb r0, [r2] ldr r0, _0801E540 @ =0x02000000 - ldr r1, _0801E544 @ =gUnknown_02024C07 + ldr r1, _0801E544 @ =gPlayerMonIndex _0801E450: ldrb r1, [r1] ldr r3, _0801E548 @ =0x00016003 @@ -33107,9 +33107,9 @@ _0801E536: b _0801EA14 .align 2, 0 _0801E538: .4byte gUnknown_02024C0A -_0801E53C: .4byte gUnknown_02024C08 +_0801E53C: .4byte gEnemyMonIndex _0801E540: .4byte 0x02000000 -_0801E544: .4byte gUnknown_02024C07 +_0801E544: .4byte gPlayerMonIndex _0801E548: .4byte 0x00016003 _0801E54C: .4byte gBattleMons _0801E550: .4byte gUnknown_02024C6C @@ -33730,7 +33730,7 @@ _0801EA04: mov r10, r0 b _0801EA14 _0801EA0A: - ldr r0, _0801EA58 @ =gUnknown_02024C68 + ldr r0, _0801EA58 @ =gBattleMoveFlags ldrb r1, [r0] movs r2, 0x8 orrs r1, r2 @@ -33769,7 +33769,7 @@ _0801EA1C: str r0, [r3] b _0801EA84 .align 2, 0 -_0801EA58: .4byte gUnknown_02024C68 +_0801EA58: .4byte gBattleMoveFlags _0801EA5C: .4byte gUnknown_02024C10 _0801EA60: .4byte gUnknown_081FAB5C _0801EA64: .4byte gUnknown_02024D1E @@ -34134,7 +34134,7 @@ _0801EDD0: .4byte gUnknown_02024C10 _0801EDD4: .4byte gUnknown_081FAC4C _0801EDD8: .4byte gUnknown_02024D1E _0801EDDC: - ldr r5, _0801EE30 @ =gUnknown_02024C07 + ldr r5, _0801EE30 @ =gPlayerMonIndex ldrb r0, [r5] bl battle_get_per_side_status movs r1, 0x1 @@ -34174,7 +34174,7 @@ _0801EE14: ldr r0, [r0] bl _0801F5F8 .align 2, 0 -_0801EE30: .4byte gUnknown_02024C07 +_0801EE30: .4byte gPlayerMonIndex _0801EE34: .4byte gUnknown_02024D1A _0801EE38: .4byte gBattleMons _0801EE3C: .4byte 0x0000ffff @@ -34294,7 +34294,7 @@ _0801EEE8: ldr r3, _0801EF90 @ =0x00016020 adds r0, r3 adds r0, r2 - ldr r1, _0801EF94 @ =gUnknown_02024C07 + ldr r1, _0801EF94 @ =gPlayerMonIndex ldrb r1, [r1] strb r1, [r0] ldr r4, _0801EF98 @ =gUnknown_02024C10 @@ -34342,13 +34342,13 @@ _0801EF84: .4byte 0x00016004 _0801EF88: .4byte gUnknown_02024BE6 _0801EF8C: .4byte 0x00016005 _0801EF90: .4byte 0x00016020 -_0801EF94: .4byte gUnknown_02024C07 +_0801EF94: .4byte gPlayerMonIndex _0801EF98: .4byte gUnknown_02024C10 _0801EF9C: .4byte gUnknown_081FAC4C _0801EFA0: .4byte gUnknown_02024D1E _0801EFA4: .4byte gUnknown_0840164C _0801EFA8: - ldr r1, _0801EFD8 @ =gUnknown_02024BEC + ldr r1, _0801EFD8 @ =gBattleMoveDamage ldr r0, _0801EFDC @ =gUnknown_02024BF0 ldr r0, [r0] cmp r0, 0 @@ -34374,7 +34374,7 @@ _0801EFC0: ldr r0, [r0] b _0801F5F8 .align 2, 0 -_0801EFD8: .4byte gUnknown_02024BEC +_0801EFD8: .4byte gBattleMoveDamage _0801EFDC: .4byte gUnknown_02024BF0 _0801EFE0: .4byte gUnknown_02024C10 _0801EFE4: .4byte gUnknown_081FAC4C @@ -34565,7 +34565,7 @@ _0801F178: .4byte gUnknown_02024CA8 _0801F17C: .4byte gUnknown_02024C54 _0801F180: .4byte gUnknown_02024BE6 _0801F184: - ldr r0, _0801F1A0 @ =gUnknown_02024C07 + ldr r0, _0801F1A0 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 adds r2, r1, 0 @@ -34581,9 +34581,9 @@ _0801F19A: str r0, [r2] b _0801F5DC .align 2, 0 -_0801F1A0: .4byte gUnknown_02024C07 +_0801F1A0: .4byte gPlayerMonIndex _0801F1A4: - ldr r4, _0801F254 @ =gUnknown_02024C07 + ldr r4, _0801F254 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -34626,7 +34626,7 @@ _0801F1D8: ldrb r1, [r0] ldr r3, _0801F268 @ =gBitTable ldr r2, _0801F26C @ =gUnknown_02024A6A - ldr r0, _0801F254 @ =gUnknown_02024C07 + ldr r0, _0801F254 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 1 adds r0, r2 @@ -34640,7 +34640,7 @@ _0801F1D8: b _0801F5DC _0801F214: ldr r2, _0801F270 @ =gBattleMons - ldr r1, _0801F274 @ =gUnknown_02024C08 + ldr r1, _0801F274 @ =gEnemyMonIndex ldrb r0, [r1] movs r3, 0x58 muls r0, r3 @@ -34670,7 +34670,7 @@ _0801F214: bl sub_81074C4 b _0801F5FA .align 2, 0 -_0801F254: .4byte gUnknown_02024C07 +_0801F254: .4byte gPlayerMonIndex _0801F258: .4byte gBattleTypeFlags _0801F25C: .4byte 0x00000902 _0801F260: .4byte gTrainerBattleOpponent @@ -34678,12 +34678,12 @@ _0801F264: .4byte gUnknown_02024DBC _0801F268: .4byte gBitTable _0801F26C: .4byte gUnknown_02024A6A _0801F270: .4byte gBattleMons -_0801F274: .4byte gUnknown_02024C08 +_0801F274: .4byte gEnemyMonIndex _0801F278: .4byte gUnknown_02024C10 _0801F27C: .4byte gUnknown_081D9913 _0801F280: .4byte byte_2024C06 _0801F284: - ldr r4, _0801F340 @ =gUnknown_02024C07 + ldr r4, _0801F340 @ =gPlayerMonIndex mov r10, r4 ldrb r1, [r4] movs r0, 0x58 @@ -34776,7 +34776,7 @@ _0801F2B6: strb r6, [r0] b _0801F5FA .align 2, 0 -_0801F340: .4byte gUnknown_02024C07 +_0801F340: .4byte gPlayerMonIndex _0801F344: .4byte 0x020160f0 _0801F348: .4byte gUnknown_02024C04 _0801F34C: .4byte gUnknown_02024A60 @@ -34786,7 +34786,7 @@ _0801F358: .4byte 0xfffe9f10 _0801F35C: .4byte 0x000160e8 _0801F360: .4byte 0x000160e9 _0801F364: - ldr r3, _0801F394 @ =gUnknown_02024C08 + ldr r3, _0801F394 @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 adds r2, r1, 0 @@ -34805,16 +34805,16 @@ _0801F364: subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, _0801F39C @ =gUnknown_02024C07 + ldr r1, _0801F39C @ =gPlayerMonIndex ldrb r1, [r1] strb r1, [r0, 0x14] b _0801F5DC .align 2, 0 -_0801F394: .4byte gUnknown_02024C08 +_0801F394: .4byte gEnemyMonIndex _0801F398: .4byte gUnknown_02024CA8 -_0801F39C: .4byte gUnknown_02024C07 +_0801F39C: .4byte gPlayerMonIndex _0801F3A0: - ldr r0, _0801F3B8 @ =gUnknown_02024C08 + ldr r0, _0801F3B8 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 adds r2, r1, 0 @@ -34827,7 +34827,7 @@ _0801F3A0: lsls r1, 20 b _0801F19A .align 2, 0 -_0801F3B8: .4byte gUnknown_02024C08 +_0801F3B8: .4byte gEnemyMonIndex _0801F3BC: ldr r4, _0801F3CC @ =gUnknown_02024C10 ldr r0, [r4] @@ -34849,7 +34849,7 @@ _0801F3D4: _0801F3E4: .4byte gUnknown_02024C10 _0801F3E8: .4byte gUnknown_081D92C0 _0801F3EC: - ldr r6, _0801F43C @ =gUnknown_02024C08 + ldr r6, _0801F43C @ =gEnemyMonIndex ldrb r0, [r6] movs r2, 0x58 muls r0, r2 @@ -34888,7 +34888,7 @@ _0801F406: ldr r0, _0801F448 @ =gUnknown_081D9635 b _0801F5F8 .align 2, 0 -_0801F43C: .4byte gUnknown_02024C08 +_0801F43C: .4byte gEnemyMonIndex _0801F440: .4byte gUnknown_02024A60 _0801F444: .4byte gUnknown_02024C10 _0801F448: .4byte gUnknown_081D9635 @@ -34903,7 +34903,7 @@ _0801F44C: _0801F45C: .4byte gUnknown_02024C10 _0801F460: .4byte gUnknown_081D93FA _0801F464: - ldr r4, _0801F494 @ =gUnknown_02024BEC + ldr r4, _0801F494 @ =gBattleMoveDamage ldr r0, _0801F498 @ =gUnknown_02024BF0 ldr r0, [r0] movs r1, 0x3 @@ -34926,7 +34926,7 @@ _0801F47A: ldr r0, [r0] b _0801F5F8 .align 2, 0 -_0801F494: .4byte gUnknown_02024BEC +_0801F494: .4byte gBattleMoveDamage _0801F498: .4byte gUnknown_02024BF0 _0801F49C: .4byte gUnknown_02024C10 _0801F4A0: .4byte gUnknown_081FAC4C @@ -35107,7 +35107,7 @@ _0801F610: .4byte gUnknown_081D94B0 atk15_seteffectwithchancetarget: @ 801F614 push {r4,lr} ldr r2, _0801F640 @ =gBattleMons - ldr r0, _0801F644 @ =gUnknown_02024C07 + ldr r0, _0801F644 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -35128,7 +35128,7 @@ atk15_seteffectwithchancetarget: @ 801F614 b _0801F660 .align 2, 0 _0801F640: .4byte gBattleMons -_0801F644: .4byte gUnknown_02024C07 +_0801F644: .4byte gPlayerMonIndex _0801F648: .4byte gBattleMoves _0801F64C: .4byte gUnknown_02024BE6 _0801F650: @@ -35147,7 +35147,7 @@ _0801F660: ands r0, r2 cmp r0, 0 beq _0801F690 - ldr r0, _0801F68C @ =gUnknown_02024C68 + ldr r0, _0801F68C @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -35161,7 +35161,7 @@ _0801F660: _0801F680: .4byte gBattleMoves _0801F684: .4byte gUnknown_02024BE6 _0801F688: .4byte gUnknown_02024D1E -_0801F68C: .4byte gUnknown_02024C68 +_0801F68C: .4byte gBattleMoveFlags _0801F690: bl Random lsls r0, 16 @@ -35176,7 +35176,7 @@ _0801F690: ldrb r0, [r0, 0x3] cmp r0, 0 beq _0801F6DA - ldr r0, _0801F6CC @ =gUnknown_02024C68 + ldr r0, _0801F6CC @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -35191,7 +35191,7 @@ _0801F6BE: b _0801F6E2 .align 2, 0 _0801F6C8: .4byte gUnknown_02024D1E -_0801F6CC: .4byte gUnknown_02024C68 +_0801F6CC: .4byte gBattleMoveFlags _0801F6D0: movs r0, 0 movs r1, 0 @@ -35369,24 +35369,24 @@ _0801F834: cmp r0, 0x1 bne _0801F85C ldr r1, _0801F84C @ =gUnknown_02024A60 - ldr r0, _0801F850 @ =gUnknown_02024C07 + ldr r0, _0801F850 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r1] - ldr r0, _0801F854 @ =gUnknown_02024C08 + ldr r0, _0801F854 @ =gEnemyMonIndex ldrb r7, [r0] ldr r4, _0801F858 @ =gUnknown_081D8C58 b _0801F86A .align 2, 0 _0801F84C: .4byte gUnknown_02024A60 -_0801F850: .4byte gUnknown_02024C07 -_0801F854: .4byte gUnknown_02024C08 +_0801F850: .4byte gPlayerMonIndex +_0801F854: .4byte gEnemyMonIndex _0801F858: .4byte gUnknown_081D8C58 _0801F85C: ldr r1, _0801F954 @ =gUnknown_02024A60 - ldr r0, _0801F958 @ =gUnknown_02024C08 + ldr r0, _0801F958 @ =gEnemyMonIndex ldrb r0, [r0] strb r0, [r1] - ldr r0, _0801F95C @ =gUnknown_02024C07 + ldr r0, _0801F95C @ =gPlayerMonIndex ldrb r7, [r0] ldr r4, _0801F960 @ =gUnknown_081D8C65 _0801F86A: @@ -35509,8 +35509,8 @@ _0801F914: b _0801F9CC .align 2, 0 _0801F954: .4byte gUnknown_02024A60 -_0801F958: .4byte gUnknown_02024C08 -_0801F95C: .4byte gUnknown_02024C07 +_0801F958: .4byte gEnemyMonIndex +_0801F95C: .4byte gPlayerMonIndex _0801F960: .4byte gUnknown_081D8C65 _0801F964: .4byte gUnknown_02024C0C _0801F968: .4byte gBitTable @@ -35562,7 +35562,7 @@ _0801F9CC: cmp r0, 0 beq _0801FA02 ldr r6, _0801FAEC @ =gBattleMons - ldr r0, _0801FAF0 @ =gUnknown_02024C07 + ldr r0, _0801FAF0 @ =gPlayerMonIndex ldrb r0, [r0] movs r5, 0x58 muls r0, r5 @@ -35573,7 +35573,7 @@ _0801F9CC: ldr r4, _0801FAF4 @ =gUnknown_02024C10 ldr r0, [r4] bl b_movescr_stack_push - ldr r1, _0801FAF8 @ =gUnknown_02024BEC + ldr r1, _0801FAF8 @ =gBattleMoveDamage adds r0, r7, 0 muls r0, r5 adds r0, r6 @@ -35583,7 +35583,7 @@ _0801F9CC: str r0, [r4] _0801FA02: ldr r1, _0801FB00 @ =gUnknown_02024C98 - ldr r6, _0801FB04 @ =gUnknown_02024C08 + ldr r6, _0801FB04 @ =gEnemyMonIndex ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -35602,7 +35602,7 @@ _0801FA1A: ands r5, r0 cmp r5, 0 bne _0801FB22 - ldr r4, _0801FAF0 @ =gUnknown_02024C07 + ldr r4, _0801FAF0 @ =gPlayerMonIndex mov r8, r4 ldrb r0, [r4] bl battle_side_get_owner @@ -35693,12 +35693,12 @@ _0801FAE0: .4byte gUnknown_030042E0 _0801FAE4: .4byte gUnknown_02024A60 _0801FAE8: .4byte gUnknown_02024C6C _0801FAEC: .4byte gBattleMons -_0801FAF0: .4byte gUnknown_02024C07 +_0801FAF0: .4byte gPlayerMonIndex _0801FAF4: .4byte gUnknown_02024C10 -_0801FAF8: .4byte gUnknown_02024BEC +_0801FAF8: .4byte gBattleMoveDamage _0801FAFC: .4byte gUnknown_081D9156 _0801FB00: .4byte gUnknown_02024C98 -_0801FB04: .4byte gUnknown_02024C08 +_0801FB04: .4byte gEnemyMonIndex _0801FB08: .4byte gUnknown_02024BE6 _0801FB0C: .4byte 0x02000000 _0801FB10: .4byte 0x0001608c @@ -35944,7 +35944,7 @@ atk1E_jumpifability: @ 801FCC4 ldrb r0, [r2, 0x1] cmp r0, 0x8 bne _0801FD24 - ldr r0, _0801FD1C @ =gUnknown_02024C07 + ldr r0, _0801FD1C @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -35966,12 +35966,12 @@ atk1E_jumpifability: @ 801FCC4 b _0801FD80 .align 2, 0 _0801FD18: .4byte gUnknown_02024C10 -_0801FD1C: .4byte gUnknown_02024C07 +_0801FD1C: .4byte gPlayerMonIndex _0801FD20: .4byte byte_2024C06 _0801FD24: cmp r0, 0x9 bne _0801FD5C - ldr r0, _0801FD54 @ =gUnknown_02024C07 + ldr r0, _0801FD54 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -35992,7 +35992,7 @@ _0801FD24: ldrb r1, [r1] b _0801FD80 .align 2, 0 -_0801FD54: .4byte gUnknown_02024C07 +_0801FD54: .4byte gPlayerMonIndex _0801FD58: .4byte byte_2024C06 _0801FD5C: ldrb r0, [r2, 0x1] @@ -36045,15 +36045,15 @@ sub_801FDB4: @ 801FDB4 ldrb r4, [r0, 0x1] cmp r4, 0x1 bne _0801FDD4 - ldr r0, _0801FDD0 @ =gUnknown_02024C07 + ldr r0, _0801FDD0 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_get_per_side_status b _0801FDDE .align 2, 0 _0801FDCC: .4byte gUnknown_02024C10 -_0801FDD0: .4byte gUnknown_02024C07 +_0801FDD0: .4byte gPlayerMonIndex _0801FDD4: - ldr r0, _0801FE14 @ =gUnknown_02024C08 + ldr r0, _0801FE14 @ =gEnemyMonIndex ldrb r0, [r0] bl battle_get_per_side_status movs r4, 0x1 @@ -36085,7 +36085,7 @@ _0801FDDE: str r5, [r6] b _0801FE26 .align 2, 0 -_0801FE14: .4byte gUnknown_02024C08 +_0801FE14: .4byte gEnemyMonIndex _0801FE18: .4byte gUnknown_02024C10 _0801FE1C: .4byte gUnknown_02024C7A _0801FE20: @@ -36671,7 +36671,7 @@ _080202A0: _080202C8: movs r0, 0x5 strb r0, [r1] - ldr r0, _080202E4 @ =gUnknown_02024BEC + ldr r0, _080202E4 @ =gBattleMoveDamage str r2, [r0] b _08020996 .align 2, 0 @@ -36679,7 +36679,7 @@ _080202D4: .4byte 0x00016018 _080202D8: .4byte gPlayerParty _080202DC: .4byte 0x0001605f _080202E0: .4byte 0x0001600f -_080202E4: .4byte gUnknown_02024BEC +_080202E4: .4byte gBattleMoveDamage _080202E8: ldr r0, _0802034C @ =gBattleTypeFlags ldrh r1, [r0] @@ -36724,7 +36724,7 @@ _08020332: ands r3, r0 cmp r3, 0 beq _08020370 - ldr r1, _0802036C @ =gUnknown_02024BEC + ldr r1, _0802036C @ =gBattleMoveDamage mov r3, r10 ldrh r0, [r3] str r0, [r1] @@ -36739,9 +36739,9 @@ _0802035C: .4byte 0x02000000 _08020360: .4byte 0x00016018 _08020364: .4byte gPlayerParty _08020368: .4byte 0x0001605f -_0802036C: .4byte gUnknown_02024BEC +_0802036C: .4byte gBattleMoveDamage _08020370: - ldr r0, _080203EC @ =gUnknown_02024BEC + ldr r0, _080203EC @ =gBattleMoveDamage str r3, [r0] mov r8, r0 _08020376: @@ -36771,7 +36771,7 @@ _0802039C: ands r0, r1 cmp r0, 0 beq _080203B8 - ldr r4, _080203EC @ =gUnknown_02024BEC + ldr r4, _080203EC @ =gBattleMoveDamage ldr r1, [r4] movs r0, 0x96 muls r0, r1 @@ -36791,7 +36791,7 @@ _080203B8: lsls r0, 24 cmp r0, 0 beq _08020404 - ldr r4, _080203EC @ =gUnknown_02024BEC + ldr r4, _080203EC @ =gBattleMoveDamage ldr r1, [r4] movs r0, 0x96 muls r0, r1 @@ -36803,7 +36803,7 @@ _080203B8: mov r8, r4 b _0802040A .align 2, 0 -_080203EC: .4byte gUnknown_02024BEC +_080203EC: .4byte gBattleMoveDamage _080203F0: .4byte gUnknown_02024DEE _080203F4: .4byte gBattleTypeFlags _080203F8: .4byte 0x02000000 @@ -36811,7 +36811,7 @@ _080203FC: .4byte 0x00016018 _08020400: .4byte gPlayerParty _08020404: ldr r7, _0802043C @ =0x00000149 - ldr r3, _08020440 @ =gUnknown_02024BEC + ldr r3, _08020440 @ =gBattleMoveDamage mov r8, r3 _0802040A: ldr r0, _08020444 @ =gBattleTypeFlags @@ -36841,7 +36841,7 @@ _0802040A: b _0802047C .align 2, 0 _0802043C: .4byte 0x00000149 -_08020440: .4byte gUnknown_02024BEC +_08020440: .4byte gBattleMoveDamage _08020444: .4byte gBattleTypeFlags _08020448: .4byte gUnknown_02024A6A _0802044C: .4byte 0x02000000 @@ -37044,7 +37044,7 @@ _08020566: ldrb r0, [r2] strb r0, [r4] ldrb r1, [r7] - ldr r0, _08020640 @ =gUnknown_02024BEC + ldr r0, _08020640 @ =gBattleMoveDamage ldrh r2, [r0] movs r0, 0 bl dp01_build_cmdbuf_x19_a_bb @@ -37068,7 +37068,7 @@ _08020630: .4byte 0x00016018 _08020634: .4byte gPlayerParty _08020638: .4byte 0x00017180 _0802063C: .4byte gUnknown_02024A60 -_08020640: .4byte gUnknown_02024BEC +_08020640: .4byte gBattleMoveDamage _08020644: .4byte 0x0001600f _08020648: ldr r0, _080208AC @ =gUnknown_02024A64 @@ -37171,7 +37171,7 @@ _080206A8: ldr r1, _080208E0 @ =gUnknown_02024C10 ldr r0, _080208E4 @ =gUnknown_081D8EF3 str r0, [r1] - ldr r4, _080208E8 @ =gUnknown_02024BEC + ldr r4, _080208E8 @ =gBattleMoveDamage ldr r2, _080208BC @ =gUnknown_02024260 ldrb r1, [r5] lsls r1, 9 @@ -37376,10 +37376,10 @@ _080208D8: .4byte gUnknown_03004324 _080208DC: .4byte gBitTable _080208E0: .4byte gUnknown_02024C10 _080208E4: .4byte gUnknown_081D8EF3 -_080208E8: .4byte gUnknown_02024BEC +_080208E8: .4byte gBattleMoveDamage _080208EC: .4byte gBattleMons _080208F0: - ldr r1, _08020904 @ =gUnknown_02024BEC + ldr r1, _08020904 @ =gBattleMoveDamage movs r0, 0 str r0, [r1] _080208F6: @@ -37390,11 +37390,11 @@ _080208F6: strb r1, [r0] b _08020996 .align 2, 0 -_08020904: .4byte gUnknown_02024BEC +_08020904: .4byte gBattleMoveDamage _08020908: .4byte 0x02000000 _0802090C: .4byte 0x0001600f _08020910: - ldr r0, _08020924 @ =gUnknown_02024BEC + ldr r0, _08020924 @ =gBattleMoveDamage ldr r0, [r0] cmp r0, 0 beq _08020930 @@ -37405,7 +37405,7 @@ _08020910: strb r1, [r0] b _08020996 .align 2, 0 -_08020924: .4byte gUnknown_02024BEC +_08020924: .4byte gBattleMoveDamage _08020928: .4byte 0x02000000 _0802092C: .4byte 0x0001600f _08020930: @@ -37690,7 +37690,7 @@ _08020B50: .4byte gUnknown_02024C10 thumb_func_start sub_8020B54 sub_8020B54: @ 8020B54 - ldr r1, _08020B80 @ =gUnknown_02024C68 + ldr r1, _08020B80 @ =gBattleMoveFlags movs r0, 0 strb r0, [r1] ldr r0, _08020B84 @ =0x02000000 @@ -37713,7 +37713,7 @@ sub_8020B54: @ 8020B54 str r0, [r2] bx lr .align 2, 0 -_08020B80: .4byte gUnknown_02024C68 +_08020B80: .4byte gBattleMoveFlags _08020B84: .4byte 0x02000000 _08020B88: .4byte 0x0001601f _08020B8C: .4byte gCritMultiplier @@ -38667,19 +38667,19 @@ atk3B_8022C68: @ 802122C cmp r0, 0 bne _0802124C ldr r0, _08021244 @ =gUnknown_02024A60 - ldr r1, _08021248 @ =gUnknown_02024C08 + ldr r1, _08021248 @ =gEnemyMonIndex b _08021250 .align 2, 0 _08021240: .4byte gUnknown_02024C10 _08021244: .4byte gUnknown_02024A60 -_08021248: .4byte gUnknown_02024C08 +_08021248: .4byte gEnemyMonIndex _0802124C: ldr r0, _08021274 @ =gUnknown_02024A60 - ldr r1, _08021278 @ =gUnknown_02024C07 + ldr r1, _08021278 @ =gPlayerMonIndex _08021250: ldrb r1, [r1] strb r1, [r0] - ldr r0, _0802127C @ =gUnknown_02024BEC + ldr r0, _0802127C @ =gBattleMoveDamage ldrh r1, [r0] movs r0, 0 bl dp01_build_cmdbuf_x18_0_aa_health_bar_update @@ -38694,8 +38694,8 @@ _08021250: bx r0 .align 2, 0 _08021274: .4byte gUnknown_02024A60 -_08021278: .4byte gUnknown_02024C07 -_0802127C: .4byte gUnknown_02024BEC +_08021278: .4byte gPlayerMonIndex +_0802127C: .4byte gBattleMoveDamage _08021280: .4byte gUnknown_02024C10 thumb_func_end atk3B_8022C68 @@ -38709,7 +38709,7 @@ atk3C_return: @ 8021284 thumb_func_start sub_8021290 sub_8021290: @ 8021290 - ldr r0, _080212A4 @ =gUnknown_02024C68 + ldr r0, _080212A4 @ =gBattleMoveFlags movs r1, 0 strb r1, [r0] ldr r0, _080212A8 @ =gUnknown_02024A60 @@ -38719,7 +38719,7 @@ sub_8021290: @ 8021290 strb r0, [r1] bx lr .align 2, 0 -_080212A4: .4byte gUnknown_02024C68 +_080212A4: .4byte gBattleMoveFlags _080212A8: .4byte gUnknown_02024A60 _080212AC: .4byte gUnknown_02024A7F thumb_func_end sub_8021290 @@ -38884,7 +38884,7 @@ _080213C6: thumb_func_start sub_80213D0 sub_80213D0: @ 80213D0 ldr r1, _080213E4 @ =0x02000000 - ldr r0, _080213E8 @ =gUnknown_02024C07 + ldr r0, _080213E8 @ =gPlayerMonIndex ldrb r0, [r0] ldr r2, _080213EC @ =0x00016060 adds r0, r2 @@ -38894,7 +38894,7 @@ sub_80213D0: @ 80213D0 bx lr .align 2, 0 _080213E4: .4byte 0x02000000 -_080213E8: .4byte gUnknown_02024C07 +_080213E8: .4byte gPlayerMonIndex _080213EC: .4byte 0x00016060 thumb_func_end sub_80213D0 @@ -39446,7 +39446,7 @@ sub_80217F8: @ 80217F8 ldrb r0, [r0, 0x2] str r0, [sp, 0x14] ldr r1, _08021838 @ =gBattleMons - ldr r0, _0802183C @ =gUnknown_02024C07 + ldr r0, _0802183C @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -39464,7 +39464,7 @@ sub_80217F8: @ 80217F8 .align 2, 0 _08021834: .4byte gUnknown_02024C10 _08021838: .4byte gBattleMons -_0802183C: .4byte gUnknown_02024C07 +_0802183C: .4byte gPlayerMonIndex _08021840: .4byte gEnigmaBerries _08021844: ldrh r0, [r1, 0x2E] @@ -39473,7 +39473,7 @@ _08021844: lsrs r0, 24 _0802184E: str r0, [sp, 0x8] - ldr r0, _0802186C @ =gUnknown_02024C07 + ldr r0, _0802186C @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 1 ldr r0, _08021870 @ =0x020160e8 @@ -39488,7 +39488,7 @@ _0802184E: str r2, [sp, 0x4] b _080218D2 .align 2, 0 -_0802186C: .4byte gUnknown_02024C07 +_0802186C: .4byte gPlayerMonIndex _08021870: .4byte 0x020160e8 _08021874: strb r2, [r7] @@ -39582,7 +39582,7 @@ _08021910: .4byte _0802224E _08021958: ldr r5, _08021A08 @ =gBattleMons - ldr r2, _08021A0C @ =gUnknown_02024C08 + ldr r2, _08021A0C @ =gEnemyMonIndex ldrb r4, [r2] movs r6, 0x58 adds r3, r4, 0 @@ -39600,28 +39600,28 @@ _08021958: ldrh r0, [r0, 0x28] cmp r0, 0 beq _080219FE - ldr r0, _08021A10 @ =gUnknown_02024C07 + ldr r0, _08021A10 @ =gPlayerMonIndex ldrb r1, [r0] cmp r1, r4 beq _080219FE adds r0, r1, 0 bl battle_side_get_owner adds r4, r0, 0 - ldr r1, _08021A0C @ =gUnknown_02024C08 + ldr r1, _08021A0C @ =gEnemyMonIndex ldrb r0, [r1] bl battle_side_get_owner lsls r4, 24 lsls r0, 24 cmp r4, r0 beq _080219FE - ldr r0, _08021A14 @ =gUnknown_02024C68 + ldr r0, _08021A14 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 cmp r0, 0 bne _080219FE ldr r2, _08021A18 @ =gUnknown_02024D28 - ldr r4, _08021A0C @ =gUnknown_02024C08 + ldr r4, _08021A0C @ =gEnemyMonIndex ldrb r3, [r4] lsls r1, r3, 4 adds r0, r2, 0x4 @@ -39669,9 +39669,9 @@ _080219FE: b _08021E00 .align 2, 0 _08021A08: .4byte gBattleMons -_08021A0C: .4byte gUnknown_02024C08 -_08021A10: .4byte gUnknown_02024C07 -_08021A14: .4byte gUnknown_02024C68 +_08021A0C: .4byte gEnemyMonIndex +_08021A10: .4byte gPlayerMonIndex +_08021A14: .4byte gBattleMoveFlags _08021A18: .4byte gUnknown_02024D28 _08021A1C: .4byte gBattleMoves _08021A20: .4byte gUnknown_02024BE6 @@ -39681,7 +39681,7 @@ _08021A2C: .4byte 0x02000000 _08021A30: .4byte 0x0001600c _08021A34: ldr r2, _08021AD0 @ =gBattleMons - ldr r1, _08021AD4 @ =gUnknown_02024C08 + ldr r1, _08021AD4 @ =gEnemyMonIndex ldrb r4, [r1] movs r3, 0x58 mov r12, r3 @@ -39703,7 +39703,7 @@ _08021A54: bne _08021A5E b _08021DFA _08021A5E: - ldr r0, _08021AD8 @ =gUnknown_02024C07 + ldr r0, _08021AD8 @ =gPlayerMonIndex ldrb r0, [r0] cmp r0, r4 bne _08021A68 @@ -39720,7 +39720,7 @@ _08021A68: bne _08021A7C b _08021DFA _08021A7C: - ldr r0, _08021AE0 @ =gUnknown_02024C68 + ldr r0, _08021AE0 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -39738,7 +39738,7 @@ _08021A92: ands r5, r0 str r5, [r6] ldr r4, _08021AE4 @ =gUnknown_02024A60 - ldr r5, _08021AD4 @ =gUnknown_02024C08 + ldr r5, _08021AD4 @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r4] ldrb r0, [r5] @@ -39763,15 +39763,15 @@ _08021A92: b _08021DFA .align 2, 0 _08021AD0: .4byte gBattleMons -_08021AD4: .4byte gUnknown_02024C08 -_08021AD8: .4byte gUnknown_02024C07 +_08021AD4: .4byte gEnemyMonIndex +_08021AD8: .4byte gPlayerMonIndex _08021ADC: .4byte gUnknown_02024D68 -_08021AE0: .4byte gUnknown_02024C68 +_08021AE0: .4byte gBattleMoveFlags _08021AE4: .4byte gUnknown_02024A60 _08021AE8: .4byte gUnknown_02024C10 _08021AEC: .4byte gUnknown_081D955D _08021AF0: - ldr r0, _08021B14 @ =gUnknown_02024C08 + ldr r0, _08021B14 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -39790,11 +39790,11 @@ _08021B0C: adds r1, r2, r5 b _08021E00 .align 2, 0 -_08021B14: .4byte gUnknown_02024C08 +_08021B14: .4byte gEnemyMonIndex _08021B18: .4byte 0x02000000 _08021B1C: .4byte 0x0001600c _08021B20: - ldr r0, _08021B40 @ =gUnknown_02024C08 + ldr r0, _08021B40 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -39811,7 +39811,7 @@ _08021B3A: mov r10, r0 b _08021DFA .align 2, 0 -_08021B40: .4byte gUnknown_02024C08 +_08021B40: .4byte gEnemyMonIndex _08021B44: movs r0, 0 str r0, [sp] @@ -39839,7 +39839,7 @@ _08021B68: _08021B70: .4byte 0x02000000 _08021B74: .4byte 0x0001600c _08021B78: - ldr r0, _08021B98 @ =gUnknown_02024C07 + ldr r0, _08021B98 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -39856,7 +39856,7 @@ _08021B92: mov r10, r1 b _08021DFA .align 2, 0 -_08021B98: .4byte gUnknown_02024C07 +_08021B98: .4byte gPlayerMonIndex _08021B9C: ldr r0, _08021C28 @ =gUnknown_02024C6C ldr r0, [r0] @@ -39883,7 +39883,7 @@ _08021B9C: _08021BC8: cmp r2, 0xE2 bne _08021BDA - ldr r0, _08021C34 @ =gUnknown_02024C68 + ldr r0, _08021C34 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x20 ands r0, r1 @@ -39897,7 +39897,7 @@ _08021BDA: _08021BE0: movs r4, 0 ldr r2, _08021C38 @ =gBattleMons - ldr r3, _08021C3C @ =gUnknown_02024C07 + ldr r3, _08021C3C @ =gPlayerMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -39938,9 +39938,9 @@ _08021C22: _08021C28: .4byte gUnknown_02024C6C _08021C2C: .4byte gUnknown_02024BE8 _08021C30: .4byte 0x0000ffff -_08021C34: .4byte gUnknown_02024C68 +_08021C34: .4byte gBattleMoveFlags _08021C38: .4byte gBattleMons -_08021C3C: .4byte gUnknown_02024C07 +_08021C3C: .4byte gPlayerMonIndex _08021C40: movs r4, 0 ldr r0, _08021C6C @ =gUnknown_02024A68 @@ -40013,7 +40013,7 @@ _08021CC4: .4byte 0x02000000 _08021CC8: .4byte 0x0001600c _08021CCC: ldr r1, _08021D04 @ =gUnknown_02024C98 - ldr r0, _08021D08 @ =gUnknown_02024C07 + ldr r0, _08021D08 @ =gPlayerMonIndex ldrb r2, [r0] lsls r0, r2, 2 adds r0, r1 @@ -40042,19 +40042,19 @@ _08021CF0: b _08021DFA .align 2, 0 _08021D04: .4byte gUnknown_02024C98 -_08021D08: .4byte gUnknown_02024C07 +_08021D08: .4byte gPlayerMonIndex _08021D0C: .4byte 0x000400c0 _08021D10: .4byte gUnknown_02024C6C _08021D14: .4byte gUnknown_02024A60 _08021D18: - ldr r0, _08021D88 @ =gUnknown_02024C68 + ldr r0, _08021D88 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 cmp r0, 0 bne _08021D44 ldr r1, _08021D8C @ =gUnknown_02024C98 - ldr r0, _08021D90 @ =gUnknown_02024C07 + ldr r0, _08021D90 @ =gPlayerMonIndex ldrb r2, [r0] lsls r0, r2, 2 adds r0, r1 @@ -40070,7 +40070,7 @@ _08021D18: beq _08021D7E _08021D44: ldr r4, _08021D98 @ =gUnknown_02024A60 - ldr r5, _08021D90 @ =gUnknown_02024C07 + ldr r5, _08021D90 @ =gPlayerMonIndex ldrb r0, [r5] strb r0, [r4] movs r0, 0 @@ -40102,9 +40102,9 @@ _08021D7E: adds r1, r2, r4 b _08021E00 .align 2, 0 -_08021D88: .4byte gUnknown_02024C68 +_08021D88: .4byte gBattleMoveFlags _08021D8C: .4byte gUnknown_02024C98 -_08021D90: .4byte gUnknown_02024C07 +_08021D90: .4byte gPlayerMonIndex _08021D94: .4byte 0x000400c0 _08021D98: .4byte gUnknown_02024A60 _08021D9C: .4byte 0xfffbff3f @@ -40113,7 +40113,7 @@ _08021DA4: .4byte 0x02000000 _08021DA8: .4byte 0x0001600c _08021DAC: ldr r2, _08021E0C @ =gUnknown_02024D68 - ldr r1, _08021E10 @ =gUnknown_02024C08 + ldr r1, _08021E10 @ =gEnemyMonIndex ldrb r3, [r1] lsls r4, r3, 2 adds r0, r4, r3 @@ -40141,7 +40141,7 @@ _08021DAC: bl dp01_build_cmdbuf_x33_a_33_33 ldrb r0, [r4] bl dp01_battle_side_mark_buffer_for_execution - ldr r0, _08021E10 @ =gUnknown_02024C08 + ldr r0, _08021E10 @ =gEnemyMonIndex ldrb r2, [r0] lsls r2, 2 adds r2, r5 @@ -40161,7 +40161,7 @@ _08021E00: b _0802224E .align 2, 0 _08021E0C: .4byte gUnknown_02024D68 -_08021E10: .4byte gUnknown_02024C08 +_08021E10: .4byte gEnemyMonIndex _08021E14: .4byte gUnknown_02024A68 _08021E18: .4byte gUnknown_02024C98 _08021E1C: .4byte 0x000400c0 @@ -40207,7 +40207,7 @@ _08021E70: movs r0, 0x80 lsls r0, 5 ands r0, r3 - ldr r2, _08021F30 @ =gUnknown_02024C07 + ldr r2, _08021F30 @ =gPlayerMonIndex mov r9, r2 adds r5, r1, 0 cmp r0, 0 @@ -40215,7 +40215,7 @@ _08021E70: ldr r0, _08021F34 @ =gUnknown_02024A60 ldrb r2, [r2] strb r2, [r0] - ldr r1, _08021F38 @ =gUnknown_02024C08 + ldr r1, _08021F38 @ =gEnemyMonIndex ldrb r0, [r1] mov r4, r9 strb r0, [r4] @@ -40236,7 +40236,7 @@ _08021E9A: adds r7, r2, 0 cmp r0, 0x7F bne _08021EBE - ldr r0, _08021F48 @ =gUnknown_02024C68 + ldr r0, _08021F48 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -40303,13 +40303,13 @@ _08021F04: b _08021F82 .align 2, 0 _08021F2C: .4byte gUnknown_02024C6C -_08021F30: .4byte gUnknown_02024C07 +_08021F30: .4byte gPlayerMonIndex _08021F34: .4byte gUnknown_02024A60 -_08021F38: .4byte gUnknown_02024C08 +_08021F38: .4byte gEnemyMonIndex _08021F3C: .4byte 0xffffefff _08021F40: .4byte gBattleMoves _08021F44: .4byte gUnknown_02024BE8 -_08021F48: .4byte gUnknown_02024C68 +_08021F48: .4byte gBattleMoveFlags _08021F4C: .4byte gUnknown_02024C2C _08021F50: .4byte gUnknown_02024C0C _08021F54: .4byte gBitTable @@ -40332,7 +40332,7 @@ _08021F68: negs r1, r1 strh r1, [r0] _08021F82: - ldr r2, _08021FDC @ =gUnknown_02024C08 + ldr r2, _08021FDC @ =gEnemyMonIndex ldrb r3, [r2] lsls r0, r3, 2 adds r0, r6 @@ -40354,7 +40354,7 @@ _08021FA0: ands r0, r1 cmp r0, 0 beq _0802204C - ldr r0, _08021FE4 @ =gUnknown_02024C68 + ldr r0, _08021FE4 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -40365,7 +40365,7 @@ _08021FA0: cmp r2, r0 bne _08021FEC ldr r1, _08021FE8 @ =gUnknown_02024C3C - ldr r4, _08021FDC @ =gUnknown_02024C08 + ldr r4, _08021FDC @ =gEnemyMonIndex ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -40375,13 +40375,13 @@ _08021FA0: _08021FD0: .4byte gUnknown_02024C34 _08021FD4: .4byte 0x0000ffff _08021FD8: .4byte gUnknown_02024C4C -_08021FDC: .4byte gUnknown_02024C08 +_08021FDC: .4byte gEnemyMonIndex _08021FE0: .4byte gUnknown_02024C5C -_08021FE4: .4byte gUnknown_02024C68 +_08021FE4: .4byte gBattleMoveFlags _08021FE8: .4byte gUnknown_02024C3C _08021FEC: ldr r0, _08022014 @ =gUnknown_02024C3C - ldr r5, _08022018 @ =gUnknown_02024C08 + ldr r5, _08022018 @ =gEnemyMonIndex ldrb r1, [r5] lsls r1, 1 adds r1, r0 @@ -40402,13 +40402,13 @@ _08021FEC: b _08021C22 .align 2, 0 _08022014: .4byte gUnknown_02024C3C -_08022018: .4byte gUnknown_02024C08 +_08022018: .4byte gEnemyMonIndex _0802201C: .4byte gUnknown_02024BE6 _08022020: .4byte 0x0001601c _08022024: .4byte gUnknown_02024C44 _08022028: ldr r0, _08022044 @ =gUnknown_02024C44 - ldr r1, _08022048 @ =gUnknown_02024C08 + ldr r1, _08022048 @ =gEnemyMonIndex ldrb r2, [r1] lsls r2, 1 adds r2, r0 @@ -40422,10 +40422,10 @@ _08022028: b _08022244 .align 2, 0 _08022044: .4byte gUnknown_02024C44 -_08022048: .4byte gUnknown_02024C08 +_08022048: .4byte gEnemyMonIndex _0802204C: ldr r0, _0802205C @ =gUnknown_02024C3C - ldr r2, _08022060 @ =gUnknown_02024C08 + ldr r2, _08022060 @ =gEnemyMonIndex ldrb r1, [r2] lsls r1, 1 adds r1, r0 @@ -40433,13 +40433,13 @@ _0802204C: b _08021C22 .align 2, 0 _0802205C: .4byte gUnknown_02024C3C -_08022060: .4byte gUnknown_02024C08 +_08022060: .4byte gEnemyMonIndex _08022064: .4byte 0x0000ffff _08022068: ldr r0, _0802212C @ =gUnknown_02024C0C ldrb r1, [r0] ldr r6, _08022130 @ =gBitTable - ldr r2, _08022134 @ =gUnknown_02024C07 + ldr r2, _08022134 @ =gPlayerMonIndex ldrb r5, [r2] lsls r0, r5, 2 adds r0, r6 @@ -40477,7 +40477,7 @@ _08022090: ands r0, r1 cmp r0, 0 beq _0802215C - ldr r2, _08022148 @ =gUnknown_02024C08 + ldr r2, _08022148 @ =gEnemyMonIndex ldrb r0, [r2] cmp r5, r0 bne _080220C0 @@ -40491,7 +40491,7 @@ _080220C0: ands r1, r0 cmp r1, 0 bne _0802215C - ldr r0, _0802214C @ =gUnknown_02024C68 + ldr r0, _0802214C @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -40502,7 +40502,7 @@ _080220C0: adds r0, r5 add r0, r12 strb r3, [r0] - ldr r0, _08022148 @ =gUnknown_02024C08 + ldr r0, _08022148 @ =gEnemyMonIndex ldrb r1, [r0] lsls r1, 1 ldr r2, _08022154 @ =0x000160ad @@ -40511,7 +40511,7 @@ _080220C0: ldrh r0, [r4] lsrs r0, 8 strb r0, [r1] - ldr r3, _08022148 @ =gUnknown_02024C08 + ldr r3, _08022148 @ =gEnemyMonIndex ldrb r2, [r3] lsls r2, 2 mov r5, r9 @@ -40540,24 +40540,24 @@ _080220C0: .align 2, 0 _0802212C: .4byte gUnknown_02024C0C _08022130: .4byte gBitTable -_08022134: .4byte gUnknown_02024C07 +_08022134: .4byte gPlayerMonIndex _08022138: .4byte 0x000160a6 _0802213C: .4byte gBattleMoves _08022140: .4byte gUnknown_02024BE8 _08022144: .4byte gUnknown_02024C6C -_08022148: .4byte gUnknown_02024C08 -_0802214C: .4byte gUnknown_02024C68 +_08022148: .4byte gEnemyMonIndex +_0802214C: .4byte gBattleMoveFlags _08022150: .4byte 0x000160ac _08022154: .4byte 0x000160ad _08022158: .4byte 0x00016100 _0802215C: mov r1, r9 ldrb r0, [r1] - ldr r2, _080221B4 @ =gUnknown_02024C08 + ldr r2, _080221B4 @ =gEnemyMonIndex ldrb r2, [r2] cmp r0, r2 beq _08022244 - ldr r3, _080221B4 @ =gUnknown_02024C08 + ldr r3, _080221B4 @ =gEnemyMonIndex ldrb r0, [r3] lsls r0, 1 ldr r4, _080221B8 @ =0x000160ac @@ -40565,7 +40565,7 @@ _0802215C: add r0, r12 movs r3, 0 strb r3, [r0] - ldr r5, _080221B4 @ =gUnknown_02024C08 + ldr r5, _080221B4 @ =gEnemyMonIndex ldrb r0, [r5] lsls r0, 1 ldr r1, _080221BC @ =0x000160ad @@ -40595,7 +40595,7 @@ _0802215C: strb r3, [r2] b _08022244 .align 2, 0 -_080221B4: .4byte gUnknown_02024C08 +_080221B4: .4byte gEnemyMonIndex _080221B8: .4byte 0x000160ac _080221BC: .4byte 0x000160ad _080221C0: @@ -40613,7 +40613,7 @@ _080221C0: cmp r0, 0 beq _08022244 ldr r1, _080222B8 @ =gUnknown_02024D28 - ldr r0, _080222BC @ =gUnknown_02024C07 + ldr r0, _080222BC @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -40639,7 +40639,7 @@ _080221C0: ands r4, r2 cmp r4, 0 bne _08022244 - ldr r7, _080222C8 @ =gUnknown_02024C08 + ldr r7, _080222C8 @ =gEnemyMonIndex ldrb r0, [r7] bl battle_get_per_side_status movs r1, 0x2 @@ -40726,10 +40726,10 @@ _0802229E: _080222B0: .4byte gUnknown_02024C6C _080222B4: .4byte gBattleTypeFlags _080222B8: .4byte gUnknown_02024D28 -_080222BC: .4byte gUnknown_02024C07 +_080222BC: .4byte gPlayerMonIndex _080222C0: .4byte gBattleMoves _080222C4: .4byte gUnknown_02024BE6 -_080222C8: .4byte gUnknown_02024C08 +_080222C8: .4byte gEnemyMonIndex _080222CC: .4byte gBattleMons _080222D0: .4byte 0x02000000 _080222D4: .4byte 0x0001600c @@ -40753,7 +40753,7 @@ atk4A_damageflags: @ 80222DC ldrb r0, [r0, 0x2] mov r8, r0 ldr r2, _08022348 @ =gBattleMons - ldr r3, _0802234C @ =gUnknown_02024C08 + ldr r3, _0802234C @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -40769,7 +40769,7 @@ atk4A_damageflags: @ 80222DC bne _08022370 ldr r3, _08022350 @ =byte_2024C06 strb r0, [r3] - ldr r2, _08022354 @ =gUnknown_02024C68 + ldr r2, _08022354 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x9 orrs r0, r1 @@ -40790,20 +40790,20 @@ atk4A_damageflags: @ 80222DC _08022340: .4byte gBattleMoves _08022344: .4byte gUnknown_02024BE6 _08022348: .4byte gBattleMons -_0802234C: .4byte gUnknown_02024C08 +_0802234C: .4byte gEnemyMonIndex _08022350: .4byte byte_2024C06 -_08022354: .4byte gUnknown_02024C68 +_08022354: .4byte gBattleMoveFlags _08022358: .4byte gUnknown_02024C3C _0802235C: .4byte gUnknown_02024D1E _08022360: - ldr r0, _0802236C @ =gUnknown_02024C68 + ldr r0, _0802236C @ =gBattleMoveFlags ldrb r1, [r0] movs r2, 0x8 orrs r1, r2 strb r1, [r0] b _08022452 .align 2, 0 -_0802236C: .4byte gUnknown_02024C68 +_0802236C: .4byte gBattleMoveFlags _08022370: ldr r1, _0802237C @ =gTypeEffectiveness adds r0, r5, r1 @@ -40926,7 +40926,7 @@ _08022432: beq _0802242C _08022452: ldr r2, _08022500 @ =gBattleMons - ldr r0, _08022504 @ =gUnknown_02024C08 + ldr r0, _08022504 @ =gEnemyMonIndex mov r8, r0 ldrb r1, [r0] movs r0, 0x58 @@ -40940,7 +40940,7 @@ _08022452: ands r5, r4 cmp r5, 0 bne _080224CE - ldr r0, _08022508 @ =gUnknown_02024C07 + ldr r0, _08022508 @ =gPlayerMonIndex ldrb r0, [r0] ldr r7, _0802250C @ =gUnknown_02024BE6 ldrh r1, [r7] @@ -40969,7 +40969,7 @@ _08022494: beq _080224CE ldr r3, _08022514 @ =byte_2024C06 strb r6, [r3] - ldr r2, _08022518 @ =gUnknown_02024C68 + ldr r2, _08022518 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -40987,14 +40987,14 @@ _08022494: ldrb r1, [r3] bl sub_81074C4 _080224CE: - ldr r0, _08022518 @ =gUnknown_02024C68 + ldr r0, _08022518 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x8 ands r0, r1 cmp r0, 0 beq _080224EC ldr r2, _08022524 @ =gUnknown_02024D28 - ldr r0, _08022508 @ =gUnknown_02024C07 + ldr r0, _08022508 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 4 adds r1, r2 @@ -41014,12 +41014,12 @@ _080224EC: bx r0 .align 2, 0 _08022500: .4byte gBattleMons -_08022504: .4byte gUnknown_02024C08 -_08022508: .4byte gUnknown_02024C07 +_08022504: .4byte gEnemyMonIndex +_08022508: .4byte gPlayerMonIndex _0802250C: .4byte gUnknown_02024BE6 _08022510: .4byte gBattleMoves _08022514: .4byte byte_2024C06 -_08022518: .4byte gUnknown_02024C68 +_08022518: .4byte gBattleMoveFlags _0802251C: .4byte gUnknown_02024C3C _08022520: .4byte gUnknown_02024D1E _08022524: .4byte gUnknown_02024D28 @@ -41030,7 +41030,7 @@ _08022528: .4byte gUnknown_02024C10 atk4B_cmd4b: @ 802252C push {r4,lr} ldr r4, _08022568 @ =gUnknown_02024A60 - ldr r0, _0802256C @ =gUnknown_02024C07 + ldr r0, _0802256C @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] ldr r2, _08022570 @ =gUnknown_02024C6C @@ -41059,7 +41059,7 @@ _0802255A: bx r0 .align 2, 0 _08022568: .4byte gUnknown_02024A60 -_0802256C: .4byte gUnknown_02024C07 +_0802256C: .4byte gPlayerMonIndex _08022570: .4byte gUnknown_02024C6C _08022574: .4byte gBitTable _08022578: .4byte gUnknown_02024C10 @@ -42909,7 +42909,7 @@ _080234AA: movs r0, 0x6 strb r0, [r1, 0x1] ldr r4, _0802350C @ =gBattleMons - ldr r3, _08023510 @ =gUnknown_02024C07 + ldr r3, _08023510 @ =gPlayerMonIndex ldrb r0, [r3] movs r2, 0x58 muls r0, r2 @@ -42955,7 +42955,7 @@ _080234FE: .align 2, 0 _08023508: .4byte gUnknown_030041C0 _0802350C: .4byte gBattleMons -_08023510: .4byte gUnknown_02024C07 +_08023510: .4byte gPlayerMonIndex _08023514: .4byte gUnknown_03004290 _08023518: .4byte gUnknown_02024A60 _0802351C: .4byte gUnknown_02024260 @@ -43066,7 +43066,7 @@ sub_8023524: @ 8023524 subs r1, r0 lsls r1, 25 lsrs r1, 24 - ldr r5, _08023650 @ =gUnknown_02024BEC + ldr r5, _08023650 @ =gBattleMoveDamage ldrb r0, [r4] muls r0, r7 add r0, r9 @@ -43100,7 +43100,7 @@ _08023640: .4byte gUnknown_02024D68 _08023644: .4byte gUnknown_02024C7A _08023648: .4byte gBattleMons _0802364C: .4byte gUnknown_02024C80 -_08023650: .4byte gUnknown_02024BEC +_08023650: .4byte gBattleMoveDamage _08023654: .4byte 0x02000000 _08023658: .4byte 0x00016003 _0802365C: .4byte gUnknown_081D919F @@ -43321,7 +43321,7 @@ _08023808: .4byte gUnknown_02024C10 atk54_802511C: @ 802380C push {r4,r5,lr} ldr r5, _0802383C @ =gUnknown_02024A60 - ldr r0, _08023840 @ =gUnknown_02024C07 + ldr r0, _08023840 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r5] ldr r4, _08023844 @ =gUnknown_02024C10 @@ -43342,7 +43342,7 @@ atk54_802511C: @ 802380C bx r0 .align 2, 0 _0802383C: .4byte gUnknown_02024A60 -_08023840: .4byte gUnknown_02024C07 +_08023840: .4byte gPlayerMonIndex _08023844: .4byte gUnknown_02024C10 thumb_func_end atk54_802511C @@ -43350,7 +43350,7 @@ _08023844: .4byte gUnknown_02024C10 sub_8023848: @ 8023848 push {r4,r5,lr} ldr r5, _08023878 @ =gUnknown_02024A60 - ldr r0, _0802387C @ =gUnknown_02024C07 + ldr r0, _0802387C @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r5] ldr r4, _08023880 @ =gUnknown_02024C10 @@ -43371,7 +43371,7 @@ sub_8023848: @ 8023848 bx r0 .align 2, 0 _08023878: .4byte gUnknown_02024A60 -_0802387C: .4byte gUnknown_02024C07 +_0802387C: .4byte gPlayerMonIndex _08023880: .4byte gUnknown_02024C10 thumb_func_end sub_8023848 @@ -44218,7 +44218,7 @@ atk5C_cmd5c: @ 8023F84 bl sub_8015150 ldr r2, _08023FF4 @ =gUnknown_02024A60 strb r0, [r2] - ldr r0, _08023FF8 @ =gUnknown_02024C68 + ldr r0, _08023FF8 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -44265,7 +44265,7 @@ _08023FD6: .align 2, 0 _08023FF0: .4byte gUnknown_02024C10 _08023FF4: .4byte gUnknown_02024A60 -_08023FF8: .4byte gUnknown_02024C68 +_08023FF8: .4byte gBattleMoveFlags _08023FFC: .4byte gUnknown_02024C6C _08024000: .4byte gBattleMons _08024004: .4byte gUnknown_02024CA8 @@ -44568,10 +44568,10 @@ _08024244: .4byte gUnknown_02024AA4 atk5F_8025B24: @ 8024248 push {lr} ldr r0, _08024270 @ =gUnknown_02024A60 - ldr r2, _08024274 @ =gUnknown_02024C07 + ldr r2, _08024274 @ =gPlayerMonIndex ldrb r3, [r2] strb r3, [r0] - ldr r1, _08024278 @ =gUnknown_02024C08 + ldr r1, _08024278 @ =gEnemyMonIndex ldrb r0, [r1] strb r0, [r2] strb r3, [r1] @@ -44588,8 +44588,8 @@ atk5F_8025B24: @ 8024248 b _08024286 .align 2, 0 _08024270: .4byte gUnknown_02024A60 -_08024274: .4byte gUnknown_02024C07 -_08024278: .4byte gUnknown_02024C08 +_08024274: .4byte gPlayerMonIndex +_08024278: .4byte gEnemyMonIndex _0802427C: .4byte gUnknown_02024C6C _08024280: .4byte 0xffffefff _08024284: @@ -44609,7 +44609,7 @@ _08024294: .4byte gUnknown_02024C10 thumb_func_start atk60_cmd60 atk60_cmd60: @ 8024298 push {lr} - ldr r0, _080242C0 @ =gUnknown_02024C07 + ldr r0, _080242C0 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -44627,7 +44627,7 @@ _080242B2: pop {r0} bx r0 .align 2, 0 -_080242C0: .4byte gUnknown_02024C07 +_080242C0: .4byte gPlayerMonIndex _080242C4: .4byte gUnknown_02024C10 thumb_func_end atk60_cmd60 @@ -45141,7 +45141,7 @@ _080246D4: .4byte gUnknown_02024A76 atk69_8025FE0: @ 80246D8 push {r4-r7,lr} ldr r7, _08024700 @ =gBattleMons - ldr r6, _08024704 @ =gUnknown_02024C08 + ldr r6, _08024704 @ =gEnemyMonIndex ldrb r2, [r6] movs r5, 0x58 adds r0, r2, 0 @@ -45160,7 +45160,7 @@ atk69_8025FE0: @ 80246D8 b _08024726 .align 2, 0 _08024700: .4byte gBattleMons -_08024704: .4byte gUnknown_02024C08 +_08024704: .4byte gEnemyMonIndex _08024708: .4byte gEnigmaBerries _0802470C: ldrh r0, [r1, 0x2E] @@ -45176,7 +45176,7 @@ _0802470C: lsrs r6, r0, 24 _08024726: ldr r1, _080247E8 @ =gUnknown_02024C0B - ldr r5, _080247EC @ =gUnknown_02024C08 + ldr r5, _080247EC @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r1] cmp r4, 0x27 @@ -45205,7 +45205,7 @@ _08024726: strb r1, [r0] _08024764: ldr r2, _080247F4 @ =gBattleMons - ldr r3, _080247EC @ =gUnknown_02024C08 + ldr r3, _080247EC @ =gEnemyMonIndex ldrb r4, [r3] movs r0, 0x58 muls r0, r4 @@ -45251,7 +45251,7 @@ _080247B6: muls r0, r4 adds r0, r5 ldrh r1, [r0, 0x28] - ldr r2, _08024804 @ =gUnknown_02024BEC + ldr r2, _08024804 @ =gBattleMoveDamage ldr r0, [r2] cmp r1, r0 bgt _08024834 @@ -45265,7 +45265,7 @@ _080247B6: lsls r0, 30 cmp r0, 0 bge _0802480C - ldr r0, _08024808 @ =gUnknown_02024C68 + ldr r0, _08024808 @ =gBattleMoveFlags ldrb r1, [r0] movs r2, 0x40 orrs r1, r2 @@ -45273,14 +45273,14 @@ _080247B6: b _08024834 .align 2, 0 _080247E8: .4byte gUnknown_02024C0B -_080247EC: .4byte gUnknown_02024C08 +_080247EC: .4byte gEnemyMonIndex _080247F0: .4byte gUnknown_02024D68 _080247F4: .4byte gBattleMons _080247F8: .4byte gBattleMoves _080247FC: .4byte gUnknown_02024BE6 _08024800: .4byte gUnknown_02024D28 -_08024804: .4byte gUnknown_02024BEC -_08024808: .4byte gUnknown_02024C68 +_08024804: .4byte gBattleMoveDamage +_08024808: .4byte gBattleMoveFlags _0802480C: ldr r0, _08024844 @ =gUnknown_02024D68 lsls r1, r3, 2 @@ -45291,7 +45291,7 @@ _0802480C: lsrs r0, 7 cmp r0, 0 beq _08024834 - ldr r2, _08024848 @ =gUnknown_02024C68 + ldr r2, _08024848 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x80 orrs r0, r1 @@ -45312,7 +45312,7 @@ _08024834: bx r0 .align 2, 0 _08024844: .4byte gUnknown_02024D68 -_08024848: .4byte gUnknown_02024C68 +_08024848: .4byte gBattleMoveFlags _0802484C: .4byte gUnknown_02024C04 _08024850: .4byte gUnknown_02024C10 thumb_func_end atk69_8025FE0 @@ -45376,7 +45376,7 @@ sub_80248C0: @ 80248C0 strb r0, [r1] movs r0, 0x7 strb r0, [r1, 0x1] - ldr r2, _080248F0 @ =gUnknown_02024C07 + ldr r2, _080248F0 @ =gPlayerMonIndex ldrb r0, [r2] strb r0, [r1, 0x2] ldr r3, _080248F4 @ =gUnknown_02024A6A @@ -45394,7 +45394,7 @@ sub_80248C0: @ 80248C0 bx lr .align 2, 0 _080248EC: .4byte gUnknown_030041C0 -_080248F0: .4byte gUnknown_02024C07 +_080248F0: .4byte gPlayerMonIndex _080248F4: .4byte gUnknown_02024A6A _080248F8: .4byte gUnknown_02024C10 thumb_func_end sub_80248C0 @@ -45824,7 +45824,7 @@ atk6E_state0_side_becomes_attacker: @ 8024C64 push {lr} movs r0, 0 bl battle_get_side_with_given_state - ldr r1, _08024C7C @ =gUnknown_02024C07 + ldr r1, _08024C7C @ =gPlayerMonIndex strb r0, [r1] ldr r1, _08024C80 @ =gUnknown_02024C10 ldr r0, [r1] @@ -45833,7 +45833,7 @@ atk6E_state0_side_becomes_attacker: @ 8024C64 pop {r0} bx r0 .align 2, 0 -_08024C7C: .4byte gUnknown_02024C07 +_08024C7C: .4byte gPlayerMonIndex _08024C80: .4byte gUnknown_02024C10 thumb_func_end atk6E_state0_side_becomes_attacker @@ -46150,7 +46150,7 @@ atk75_8026A58: @ 8024EE8 push {lr} sub sp, 0x4 ldr r2, _08024F28 @ =gUnknown_02024E6C - ldr r1, _08024F2C @ =gUnknown_02024C07 + ldr r1, _08024F2C @ =gPlayerMonIndex ldrb r0, [r1] strb r0, [r2] ldr r2, _08024F30 @ =gUnknown_02024A6A @@ -46179,7 +46179,7 @@ atk75_8026A58: @ 8024EE8 bx r0 .align 2, 0 _08024F28: .4byte gUnknown_02024E6C -_08024F2C: .4byte gUnknown_02024C07 +_08024F2C: .4byte gPlayerMonIndex _08024F30: .4byte gUnknown_02024A6A _08024F34: .4byte gEnemyParty _08024F38: .4byte gUnknown_02024C04 @@ -46227,8 +46227,8 @@ _08024F8C: .align 2, 0 _08024F98: .4byte gUnknown_02024A60 _08024F9C: - ldr r1, _08024FD8 @ =gUnknown_02024C07 - ldr r4, _08024FDC @ =gUnknown_02024C08 + ldr r1, _08024FD8 @ =gPlayerMonIndex + ldr r4, _08024FDC @ =gEnemyMonIndex ldrb r0, [r4] strb r0, [r1] ldrb r0, [r1] @@ -46256,18 +46256,18 @@ _08024F9C: strb r2, [r4] b _08025112 .align 2, 0 -_08024FD8: .4byte gUnknown_02024C07 -_08024FDC: .4byte gUnknown_02024C08 +_08024FD8: .4byte gPlayerMonIndex +_08024FDC: .4byte gEnemyMonIndex _08024FE0: .4byte gUnknown_02024C80 _08024FE4: .4byte gBattleMons _08024FE8: - ldr r0, _08024FF4 @ =gUnknown_02024C08 + ldr r0, _08024FF4 @ =gEnemyMonIndex ldr r1, _08024FF8 @ =gUnknown_02024A60 ldrb r1, [r1] strb r1, [r0] b _08025112 .align 2, 0 -_08024FF4: .4byte gUnknown_02024C08 +_08024FF4: .4byte gEnemyMonIndex _08024FF8: .4byte gUnknown_02024A60 _08024FFC: bl sub_8012028 @@ -46281,12 +46281,12 @@ _0802500C: ldrh r0, [r0] movs r1, 0 bl sub_801B5C0 - ldr r1, _08025020 @ =gUnknown_02024C08 + ldr r1, _08025020 @ =gEnemyMonIndex strb r0, [r1] b _08025112 .align 2, 0 _0802501C: .4byte gUnknown_02024BE6 -_08025020: .4byte gUnknown_02024C08 +_08025020: .4byte gEnemyMonIndex _08025024: ldr r2, _08025044 @ =gUnknown_02024C6C ldr r1, _08025048 @ =gBitTable @@ -46428,7 +46428,7 @@ atk77_setprotect: @ 8025130 push {r7} movs r6, 0x1 ldr r2, _080251FC @ =gUnknown_02024C4C - ldr r1, _08025200 @ =gUnknown_02024C07 + ldr r1, _08025200 @ =gPlayerMonIndex ldrb r3, [r1] lsls r0, r3, 1 adds r0, r2 @@ -46529,7 +46529,7 @@ _080251E6: b _08025246 .align 2, 0 _080251FC: .4byte gUnknown_02024C4C -_08025200: .4byte gUnknown_02024C07 +_08025200: .4byte gPlayerMonIndex _08025204: .4byte gUnknown_02024CA8 _08025208: .4byte gUnknown_02024A7E _0802520C: .4byte gUnknown_02024A68 @@ -46540,7 +46540,7 @@ _0802521C: .4byte gUnknown_02024D28 _08025220: .4byte gUnknown_02024D1E _08025224: ldr r2, _08025258 @ =gUnknown_02024CA8 - ldr r0, _0802525C @ =gUnknown_02024C07 + ldr r0, _0802525C @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -46551,7 +46551,7 @@ _08025224: ldr r1, _08025260 @ =gUnknown_02024D1E movs r0, 0x2 strb r0, [r1, 0x5] - ldr r2, _08025264 @ =gUnknown_02024C68 + ldr r2, _08025264 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -46568,9 +46568,9 @@ _08025246: bx r0 .align 2, 0 _08025258: .4byte gUnknown_02024CA8 -_0802525C: .4byte gUnknown_02024C07 +_0802525C: .4byte gPlayerMonIndex _08025260: .4byte gUnknown_02024D1E -_08025264: .4byte gUnknown_02024C68 +_08025264: .4byte gBattleMoveFlags _08025268: .4byte gUnknown_02024C10 thumb_func_end atk77_setprotect @@ -46583,7 +46583,7 @@ atk78_faintifabilitynotdamp: @ 802526C ldr r2, [r0] cmp r2, 0 bne _08025370 - ldr r1, _0802532C @ =gUnknown_02024C08 + ldr r1, _0802532C @ =gEnemyMonIndex strb r2, [r1] ldr r0, _08025330 @ =gUnknown_02024A68 ldrb r3, [r0] @@ -46622,10 +46622,10 @@ _080252B8: cmp r0, r1 bne _08025354 ldr r4, _08025338 @ =gUnknown_02024A60 - ldr r7, _0802533C @ =gUnknown_02024C07 + ldr r7, _0802533C @ =gPlayerMonIndex ldrb r0, [r7] strb r0, [r4] - ldr r2, _08025340 @ =gUnknown_02024BEC + ldr r2, _08025340 @ =gBattleMoveDamage ldrb r1, [r4] movs r0, 0x58 muls r0, r1 @@ -46674,12 +46674,12 @@ _0802531A: b _08025370 .align 2, 0 _08025328: .4byte gUnknown_02024A64 -_0802532C: .4byte gUnknown_02024C08 +_0802532C: .4byte gEnemyMonIndex _08025330: .4byte gUnknown_02024A68 _08025334: .4byte gBattleMons _08025338: .4byte gUnknown_02024A60 -_0802533C: .4byte gUnknown_02024C07 -_08025340: .4byte gUnknown_02024BEC +_0802533C: .4byte gPlayerMonIndex +_08025340: .4byte gBattleMoveDamage _08025344: .4byte 0x00007fff _08025348: .4byte gUnknown_02024C10 _0802534C: .4byte gBitTable @@ -46719,7 +46719,7 @@ atk79_setuserhptozero: @ 8025388 cmp r3, 0 bne _080253CC ldr r4, _080253D8 @ =gUnknown_02024A60 - ldr r0, _080253DC @ =gUnknown_02024C07 + ldr r0, _080253DC @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] ldr r1, _080253E0 @ =gBattleMons @@ -46752,7 +46752,7 @@ _080253CC: .align 2, 0 _080253D4: .4byte gUnknown_02024A64 _080253D8: .4byte gUnknown_02024A60 -_080253DC: .4byte gUnknown_02024C07 +_080253DC: .4byte gPlayerMonIndex _080253E0: .4byte gBattleMons _080253E4: .4byte gUnknown_02024C10 thumb_func_end atk79_setuserhptozero @@ -46779,11 +46779,11 @@ sub_80253E8: @ 80253E8 adds r7, r3, 0 cmp r0, 0 beq _08025480 - ldr r0, _08025468 @ =gUnknown_02024C08 + ldr r0, _08025468 @ =gEnemyMonIndex ldrb r1, [r0] adds r1, 0x1 strb r1, [r0] - ldr r2, _0802546C @ =gUnknown_02024C07 + ldr r2, _0802546C @ =gPlayerMonIndex lsls r1, 24 lsrs r1, 24 adds r3, r0, 0 @@ -46824,8 +46824,8 @@ _0802543E: .align 2, 0 _08025460: .4byte gUnknown_02024C10 _08025464: .4byte gBattleTypeFlags -_08025468: .4byte gUnknown_02024C08 -_0802546C: .4byte gUnknown_02024C07 +_08025468: .4byte gEnemyMonIndex +_0802546C: .4byte gPlayerMonIndex _08025470: .4byte gUnknown_02024C0C _08025474: .4byte gBitTable _08025478: .4byte gUnknown_02024A68 @@ -46857,14 +46857,14 @@ sub_802548C: @ 802548C lsls r0, 24 orrs r2, r0 ldrb r0, [r1, 0x5] - ldr r3, _080254EC @ =gUnknown_02024C08 + ldr r3, _080254EC @ =gEnemyMonIndex cmp r0, 0x1 bne _080254B4 - ldr r0, _080254F0 @ =gUnknown_02024C07 + ldr r0, _080254F0 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r3] _080254B4: - ldr r1, _080254F4 @ =gUnknown_02024BEC + ldr r1, _080254F4 @ =gBattleMoveDamage ldr r6, _080254F8 @ =gBattleMons ldrb r0, [r3] movs r5, 0x58 @@ -46892,9 +46892,9 @@ _080254CE: b _08025502 .align 2, 0 _080254E8: .4byte gUnknown_02024C10 -_080254EC: .4byte gUnknown_02024C08 -_080254F0: .4byte gUnknown_02024C07 -_080254F4: .4byte gUnknown_02024BEC +_080254EC: .4byte gEnemyMonIndex +_080254F0: .4byte gPlayerMonIndex +_080254F4: .4byte gBattleMoveDamage _080254F8: .4byte gBattleMons _080254FC: ldr r0, [r4] @@ -46910,7 +46910,7 @@ _08025502: sub_8025508: @ 8025508 push {r4-r7,lr} ldr r3, _0802556C @ =0x02000000 - ldr r4, _08025570 @ =gUnknown_02024C07 + ldr r4, _08025570 @ =gPlayerMonIndex ldrb r2, [r4] lsls r1, r2, 1 ldr r5, _08025574 @ =0x000160ac @@ -46959,7 +46959,7 @@ sub_8025508: @ 8025508 b _0802565C .align 2, 0 _0802556C: .4byte 0x02000000 -_08025570: .4byte gUnknown_02024C07 +_08025570: .4byte gPlayerMonIndex _08025574: .4byte 0x000160ac _08025578: .4byte 0x000160ad _0802557C: .4byte 0x00016100 @@ -47004,7 +47004,7 @@ _080255D8: ldrh r0, [r5] movs r1, 0 bl sub_801B5C0 - ldr r1, _08025608 @ =gUnknown_02024C08 + ldr r1, _08025608 @ =gEnemyMonIndex strb r0, [r1] ldr r4, _0802560C @ =gUnknown_02024C10 ldr r3, _08025610 @ =gUnknown_081D6BBC @@ -47022,7 +47022,7 @@ _080255D8: b _080256C0 .align 2, 0 _08025604: .4byte gUnknown_02024BE6 -_08025608: .4byte gUnknown_02024C08 +_08025608: .4byte gEnemyMonIndex _0802560C: .4byte gUnknown_02024C10 _08025610: .4byte gUnknown_081D6BBC _08025614: .4byte gBattleMoves @@ -47062,7 +47062,7 @@ _0802565C: ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _08025694 @ =gUnknown_02024C08 + ldr r1, _08025694 @ =gEnemyMonIndex strb r0, [r1] ldr r5, _08025698 @ =gUnknown_02024C10 ldr r3, _0802569C @ =gUnknown_081D6BBC @@ -47083,7 +47083,7 @@ _08025684: .4byte 0x0000ffff _08025688: .4byte gUnknown_02024C6C _0802568C: .4byte 0xfffffbff _08025690: .4byte gUnknown_02024BE6 -_08025694: .4byte gUnknown_02024C08 +_08025694: .4byte gEnemyMonIndex _08025698: .4byte gUnknown_02024C10 _0802569C: .4byte gUnknown_081D6BBC _080256A0: .4byte gBattleMoves @@ -47120,7 +47120,7 @@ sub_80256D0: @ 80256D0 ands r1, r0 cmp r1, 0 beq _080256FC - ldr r2, _080256F4 @ =gUnknown_02024C68 + ldr r2, _080256F4 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -47131,7 +47131,7 @@ sub_80256D0: @ 80256D0 b _0802570C .align 2, 0 _080256F0: .4byte gBattleWeather -_080256F4: .4byte gUnknown_02024C68 +_080256F4: .4byte gBattleMoveFlags _080256F8: .4byte gUnknown_02024D1E _080256FC: movs r0, 0x1 @@ -47158,7 +47158,7 @@ _08025720: .4byte gUnknown_02024C10 thumb_func_start atk7E_setreflect atk7E_setreflect: @ 8025724 push {r4-r6,lr} - ldr r5, _08025754 @ =gUnknown_02024C07 + ldr r5, _08025754 @ =gPlayerMonIndex ldrb r0, [r5] bl battle_get_per_side_status ldr r6, _08025758 @ =gUnknown_02024C7A @@ -47172,7 +47172,7 @@ atk7E_setreflect: @ 8025724 ands r0, r1 cmp r0, 0 beq _08025764 - ldr r2, _0802575C @ =gUnknown_02024C68 + ldr r2, _0802575C @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -47181,9 +47181,9 @@ atk7E_setreflect: @ 8025724 movs r0, 0 b _080257C4 .align 2, 0 -_08025754: .4byte gUnknown_02024C07 +_08025754: .4byte gPlayerMonIndex _08025758: .4byte gUnknown_02024C7A -_0802575C: .4byte gUnknown_02024C68 +_0802575C: .4byte gBattleMoveFlags _08025760: .4byte gUnknown_02024D1E _08025764: ldrb r0, [r5] @@ -47250,7 +47250,7 @@ sub_80257DC: @ 80257DC mov r7, r9 mov r6, r8 push {r6,r7} - ldr r7, _0802581C @ =gUnknown_02024C68 + ldr r7, _0802581C @ =gBattleMoveFlags ldrb r5, [r7] movs r0, 0x29 ands r0, r5 @@ -47258,7 +47258,7 @@ sub_80257DC: @ 80257DC bne _0802580E ldr r0, _08025820 @ =gUnknown_02024C98 mov r9, r0 - ldr r1, _08025824 @ =gUnknown_02024C08 + ldr r1, _08025824 @ =gEnemyMonIndex mov r8, r1 ldrb r4, [r1] lsls r0, r4, 2 @@ -47280,9 +47280,9 @@ _0802580E: strb r0, [r1, 0x5] b _0802587C .align 2, 0 -_0802581C: .4byte gUnknown_02024C68 +_0802581C: .4byte gBattleMoveFlags _08025820: .4byte gUnknown_02024C98 -_08025824: .4byte gUnknown_02024C08 +_08025824: .4byte gEnemyMonIndex _08025828: .4byte gUnknown_02024D1E _0802582C: ldr r1, _08025858 @ =gBattleMons @@ -47311,7 +47311,7 @@ _08025848: _08025858: .4byte gBattleMons _0802585C: .4byte gUnknown_02024D1E _08025860: - ldr r0, _08025890 @ =gUnknown_02024C07 + ldr r0, _08025890 @ =gPlayerMonIndex ldrb r0, [r0] orrs r2, r0 str r2, [r6] @@ -47337,7 +47337,7 @@ _0802587C: pop {r0} bx r0 .align 2, 0 -_08025890: .4byte gUnknown_02024C07 +_08025890: .4byte gPlayerMonIndex _08025894: .4byte gUnknown_02024D1E _08025898: .4byte gUnknown_02024C10 thumb_func_end sub_80257DC @@ -47363,14 +47363,14 @@ _080258B8: beq _08025904 b _0802590C _080258BE: - ldr r1, _080258C8 @ =gUnknown_02024BEC + ldr r1, _080258C8 @ =gBattleMoveDamage ldr r0, [r1] negs r0, r0 b _0802590A .align 2, 0 -_080258C8: .4byte gUnknown_02024BEC +_080258C8: .4byte gBattleMoveDamage _080258CC: - ldr r3, _080258F8 @ =gUnknown_02024BEC + ldr r3, _080258F8 @ =gBattleMoveDamage ldr r0, [r3] lsrs r1, r0, 31 adds r0, r1 @@ -47381,7 +47381,7 @@ _080258CC: str r2, [r3] _080258DE: ldr r2, _080258FC @ =gBattleMons - ldr r0, _08025900 @ =gUnknown_02024C08 + ldr r0, _08025900 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -47394,11 +47394,11 @@ _080258DE: str r1, [r3] b _0802590C .align 2, 0 -_080258F8: .4byte gUnknown_02024BEC +_080258F8: .4byte gBattleMoveDamage _080258FC: .4byte gBattleMons -_08025900: .4byte gUnknown_02024C08 +_08025900: .4byte gEnemyMonIndex _08025904: - ldr r1, _08025918 @ =gUnknown_02024BEC + ldr r1, _08025918 @ =gBattleMoveDamage ldr r0, [r1] lsls r0, 1 _0802590A: @@ -47411,7 +47411,7 @@ _0802590C: pop {r0} bx r0 .align 2, 0 -_08025918: .4byte gUnknown_02024BEC +_08025918: .4byte gBattleMoveDamage thumb_func_end atk80_manipulatedamage thumb_func_start atk81_setrest @@ -47432,12 +47432,12 @@ atk81_setrest: @ 802591C lsls r0, 24 orrs r6, r0 ldr r5, _08025978 @ =gUnknown_02024A60 - ldr r2, _0802597C @ =gUnknown_02024C08 - ldr r0, _08025980 @ =gUnknown_02024C07 + ldr r2, _0802597C @ =gEnemyMonIndex + ldr r0, _08025980 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r2] strb r0, [r5] - ldr r4, _08025984 @ =gUnknown_02024BEC + ldr r4, _08025984 @ =gBattleMoveDamage ldr r1, _08025988 @ =gBattleMons ldrb r0, [r2] movs r3, 0x58 @@ -47463,9 +47463,9 @@ atk81_setrest: @ 802591C .align 2, 0 _08025974: .4byte gUnknown_02024C10 _08025978: .4byte gUnknown_02024A60 -_0802597C: .4byte gUnknown_02024C08 -_08025980: .4byte gUnknown_02024C07 -_08025984: .4byte gUnknown_02024BEC +_0802597C: .4byte gEnemyMonIndex +_08025980: .4byte gPlayerMonIndex +_08025984: .4byte gBattleMoveDamage _08025988: .4byte gBattleMons _0802598C: adds r0, r2, 0 @@ -47534,7 +47534,7 @@ atk82_jumpifnotfirstturn: @ 80259EC lsls r0, 24 orrs r3, r0 ldr r2, _08025A24 @ =gUnknown_02024CA8 - ldr r0, _08025A28 @ =gUnknown_02024C07 + ldr r0, _08025A28 @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -47549,7 +47549,7 @@ atk82_jumpifnotfirstturn: @ 80259EC .align 2, 0 _08025A20: .4byte gUnknown_02024C10 _08025A24: .4byte gUnknown_02024CA8 -_08025A28: .4byte gUnknown_02024C07 +_08025A28: .4byte gPlayerMonIndex _08025A2C: str r3, [r5] _08025A2E: @@ -47607,7 +47607,7 @@ _08025A70: beq _08025AB0 movs r3, 0 strb r2, [r6] - ldr r1, _08025AAC @ =gUnknown_02024C08 + ldr r1, _08025AAC @ =gEnemyMonIndex ldrb r0, [r1] cmp r0, 0xFF beq _08025AD0 @@ -47621,7 +47621,7 @@ _08025A9C: .4byte gUnknown_02024A68 _08025AA0: .4byte gBattleMons _08025AA4: .4byte 0x02016003 _08025AA8: .4byte gUnknown_02024D1E -_08025AAC: .4byte gUnknown_02024C08 +_08025AAC: .4byte gEnemyMonIndex _08025AB0: adds r3, 0x58 adds r2, 0x1 @@ -47668,7 +47668,7 @@ sub_8025AE0: @ 8025AE0 ldrb r0, [r1, 0x4] lsls r0, 24 orrs r4, r0 - ldr r6, _08025B10 @ =gUnknown_02024C08 + ldr r6, _08025B10 @ =gEnemyMonIndex ldrb r0, [r6] bl sub_8025A44 lsls r0, 24 @@ -47678,7 +47678,7 @@ sub_8025AE0: @ 8025AE0 b _08025B56 .align 2, 0 _08025B0C: .4byte gUnknown_02024C10 -_08025B10: .4byte gUnknown_02024C08 +_08025B10: .4byte gEnemyMonIndex _08025B14: ldr r1, _08025B44 @ =gBattleMons ldrb r3, [r6] @@ -47721,7 +47721,7 @@ _08025B56: sub_8025B5C: @ 8025B5C push {r4,r5,lr} ldr r5, _08025B84 @ =gUnknown_02024CA8 - ldr r4, _08025B88 @ =gUnknown_02024C07 + ldr r4, _08025B88 @ =gPlayerMonIndex ldrb r1, [r4] lsls r0, r1, 3 subs r0, r1 @@ -47730,7 +47730,7 @@ sub_8025B5C: @ 8025B5C ldrb r0, [r1, 0x9] cmp r0, 0x3 bne _08025B94 - ldr r2, _08025B8C @ =gUnknown_02024C68 + ldr r2, _08025B8C @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -47741,8 +47741,8 @@ sub_8025B5C: @ 8025B5C b _08025BBE .align 2, 0 _08025B84: .4byte gUnknown_02024CA8 -_08025B88: .4byte gUnknown_02024C07 -_08025B8C: .4byte gUnknown_02024C68 +_08025B88: .4byte gPlayerMonIndex +_08025B8C: .4byte gBattleMoveFlags _08025B90: .4byte gUnknown_02024D1E _08025B94: adds r0, 0x1 @@ -47799,7 +47799,7 @@ atk86_stockpiletobasedamage: @ 8025BD8 lsls r0, 24 orrs r2, r0 ldr r7, _08025C14 @ =gUnknown_02024CA8 - ldr r6, _08025C18 @ =gUnknown_02024C07 + ldr r6, _08025C18 @ =gPlayerMonIndex ldrb r1, [r6] lsls r0, r1, 3 subs r0, r1 @@ -47813,16 +47813,16 @@ atk86_stockpiletobasedamage: @ 8025BD8 .align 2, 0 _08025C10: .4byte gUnknown_02024C10 _08025C14: .4byte gUnknown_02024CA8 -_08025C18: .4byte gUnknown_02024C07 +_08025C18: .4byte gPlayerMonIndex _08025C1C: ldr r0, _08025CD0 @ =gUnknown_02024D1E ldrb r0, [r0, 0x6] cmp r0, 0x1 beq _08025CA8 - ldr r0, _08025CD4 @ =gUnknown_02024BEC + ldr r0, _08025CD4 @ =gBattleMoveDamage mov r8, r0 ldr r4, _08025CD8 @ =gUnknown_02024C7A - ldr r5, _08025CDC @ =gUnknown_02024C08 + ldr r5, _08025CDC @ =gEnemyMonIndex ldrb r0, [r5] bl battle_get_per_side_status movs r1, 0x1 @@ -47884,7 +47884,7 @@ _08025C1C: str r0, [r1] _08025CA8: ldr r2, _08025CF4 @ =gUnknown_02024CA8 - ldr r0, _08025CF8 @ =gUnknown_02024C07 + ldr r0, _08025CF8 @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -47905,16 +47905,16 @@ _08025CC2: bx r0 .align 2, 0 _08025CD0: .4byte gUnknown_02024D1E -_08025CD4: .4byte gUnknown_02024BEC +_08025CD4: .4byte gBattleMoveDamage _08025CD8: .4byte gUnknown_02024C7A -_08025CDC: .4byte gUnknown_02024C08 +_08025CDC: .4byte gEnemyMonIndex _08025CE0: .4byte gBattleMons _08025CE4: .4byte gUnknown_02024BE6 _08025CE8: .4byte 0x02000000 _08025CEC: .4byte 0x00016002 _08025CF0: .4byte gUnknown_02024D28 _08025CF4: .4byte gUnknown_02024CA8 -_08025CF8: .4byte gUnknown_02024C07 +_08025CF8: .4byte gPlayerMonIndex _08025CFC: .4byte gUnknown_02024C10 thumb_func_end atk86_stockpiletobasedamage @@ -47937,7 +47937,7 @@ sub_8025D00: @ 8025D00 orrs r2, r0 ldr r0, _08025D44 @ =gUnknown_02024CA8 mov r8, r0 - ldr r6, _08025D48 @ =gUnknown_02024C07 + ldr r6, _08025D48 @ =gPlayerMonIndex ldrb r3, [r6] lsls r0, r3, 3 subs r0, r3 @@ -47954,7 +47954,7 @@ sub_8025D00: @ 8025D00 .align 2, 0 _08025D40: .4byte gUnknown_02024C10 _08025D44: .4byte gUnknown_02024CA8 -_08025D48: .4byte gUnknown_02024C07 +_08025D48: .4byte gPlayerMonIndex _08025D4C: .4byte gUnknown_02024D1E _08025D50: ldr r1, _08025D74 @ =gBattleMons @@ -47968,7 +47968,7 @@ _08025D50: movs r0, 0 strb r0, [r4, 0x9] str r2, [r7] - ldr r1, _08025D78 @ =gUnknown_02024C08 + ldr r1, _08025D78 @ =gEnemyMonIndex ldrb r0, [r6] strb r0, [r1] ldr r1, _08025D7C @ =gUnknown_02024D1E @@ -47977,10 +47977,10 @@ _08025D50: b _08025DD0 .align 2, 0 _08025D74: .4byte gBattleMons -_08025D78: .4byte gUnknown_02024C08 +_08025D78: .4byte gEnemyMonIndex _08025D7C: .4byte gUnknown_02024D1E _08025D80: - ldr r5, _08025DDC @ =gUnknown_02024BEC + ldr r5, _08025DDC @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] ldrb r1, [r4, 0x9] movs r2, 0x3 @@ -48017,7 +48017,7 @@ _08025D9C: ldr r0, [r7] adds r0, 0x5 str r0, [r7] - ldr r1, _08025DE8 @ =gUnknown_02024C08 + ldr r1, _08025DE8 @ =gEnemyMonIndex ldrb r0, [r6] strb r0, [r1] _08025DD0: @@ -48027,16 +48027,16 @@ _08025DD0: pop {r0} bx r0 .align 2, 0 -_08025DDC: .4byte gUnknown_02024BEC +_08025DDC: .4byte gBattleMoveDamage _08025DE0: .4byte 0x02000000 _08025DE4: .4byte 0x00016002 -_08025DE8: .4byte gUnknown_02024C08 +_08025DE8: .4byte gEnemyMonIndex thumb_func_end sub_8025D00 thumb_func_start atk88_negativedamage atk88_negativedamage: @ 8025DEC push {lr} - ldr r2, _08025E14 @ =gUnknown_02024BEC + ldr r2, _08025E14 @ =gBattleMoveDamage ldr r0, _08025E18 @ =gUnknown_02024BF0 ldr r0, [r0] lsrs r1, r0, 31 @@ -48057,7 +48057,7 @@ _08025E08: pop {r0} bx r0 .align 2, 0 -_08025E14: .4byte gUnknown_02024BEC +_08025E14: .4byte gBattleMoveDamage _08025E18: .4byte gUnknown_02024BF0 _08025E1C: .4byte gUnknown_02024C10 thumb_func_end atk88_negativedamage @@ -48084,14 +48084,14 @@ sub_8025E20: @ 8025E20 cmp r0, 0 beq _08025E54 ldr r0, _08025E4C @ =gUnknown_02024A60 - ldr r1, _08025E50 @ =gUnknown_02024C07 + ldr r1, _08025E50 @ =gPlayerMonIndex b _08025E58 .align 2, 0 _08025E4C: .4byte gUnknown_02024A60 -_08025E50: .4byte gUnknown_02024C07 +_08025E50: .4byte gPlayerMonIndex _08025E54: ldr r0, _08025EF8 @ =gUnknown_02024A60 - ldr r1, _08025EFC @ =gUnknown_02024C08 + ldr r1, _08025EFC @ =gEnemyMonIndex _08025E58: ldrb r1, [r1] strb r1, [r0] @@ -48177,7 +48177,7 @@ _08025EAC: b _08025F74 .align 2, 0 _08025EF8: .4byte gUnknown_02024A60 -_08025EFC: .4byte gUnknown_02024C08 +_08025EFC: .4byte gEnemyMonIndex _08025F00: .4byte gUnknown_030041C0 _08025F04: .4byte gUnknown_02024C80 _08025F08: .4byte gUnknown_02024BE6 @@ -48476,7 +48476,7 @@ _08026156: cmp r0, 0 beq _08026206 movs r1, 0 - ldr r0, _080261A8 @ =gUnknown_02024C08 + ldr r0, _080261A8 @ =gEnemyMonIndex ldrb r0, [r0] ldr r3, _080261AC @ =gUnknown_02024D1E mov r8, r3 @@ -48490,7 +48490,7 @@ _0802619A: .align 2, 0 _080261A0: .4byte gUnknown_02024A60 _080261A4: .4byte gUnknown_03004290 -_080261A8: .4byte gUnknown_02024C08 +_080261A8: .4byte gEnemyMonIndex _080261AC: .4byte gUnknown_02024D1E _080261B0: asrs r6, r0, 28 @@ -48550,7 +48550,7 @@ _08026218: .4byte gUnknown_02024A60 _0802621C: .4byte gUnknown_02024D1E _08026220: movs r1, 0 - ldr r0, _080262B4 @ =gUnknown_02024C08 + ldr r0, _080262B4 @ =gEnemyMonIndex ldrb r0, [r0] ldr r2, _080262B8 @ =gUnknown_02024D1E mov r8, r2 @@ -48606,7 +48606,7 @@ _0802627A: ands r3, r5 cmp r3, 0 beq _08026294 - ldr r0, _080262C0 @ =gUnknown_02024C68 + ldr r0, _080262C0 @ =gBattleMoveFlags ldrb r1, [r0] movs r2, 0x1 orrs r1, r2 @@ -48630,10 +48630,10 @@ _080262A4: pop {r1} bx r1 .align 2, 0 -_080262B4: .4byte gUnknown_02024C08 +_080262B4: .4byte gEnemyMonIndex _080262B8: .4byte gUnknown_02024D1E _080262BC: .4byte gUnknown_02024A60 -_080262C0: .4byte gUnknown_02024C68 +_080262C0: .4byte gBattleMoveFlags thumb_func_end sub_8025E20 thumb_func_start atk89_statbuffchange @@ -48729,7 +48729,7 @@ _08026368: .4byte gBattleMons atk8B_setbide: @ 802636C push {r4,r5,lr} ldr r4, _080263C4 @ =gBattleMons - ldr r3, _080263C8 @ =gUnknown_02024C07 + ldr r3, _080263C8 @ =gPlayerMonIndex ldrb r0, [r3] movs r5, 0x58 adds r2, r0, 0 @@ -48772,7 +48772,7 @@ atk8B_setbide: @ 802636C bx r0 .align 2, 0 _080263C4: .4byte gBattleMons -_080263C8: .4byte gUnknown_02024C07 +_080263C8: .4byte gPlayerMonIndex _080263CC: .4byte gUnknown_02024C54 _080263D0: .4byte gUnknown_02024BE6 _080263D4: .4byte gUnknown_02024BF4 @@ -48783,7 +48783,7 @@ _080263D8: .4byte gUnknown_02024C10 atk8C_confuseifrepeatingattackends: @ 80263DC push {lr} ldr r1, _0802640C @ =gBattleMons - ldr r0, _08026410 @ =gUnknown_02024C07 + ldr r0, _08026410 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -48807,7 +48807,7 @@ _080263FE: bx r0 .align 2, 0 _0802640C: .4byte gBattleMons -_08026410: .4byte gUnknown_02024C07 +_08026410: .4byte gPlayerMonIndex _08026414: .4byte gUnknown_02024D1E _08026418: .4byte gUnknown_02024C10 thumb_func_end atk8C_confuseifrepeatingattackends @@ -48898,14 +48898,14 @@ _080264BC: .4byte gUnknown_02024C10 sub_80264C0: @ 80264C0 push {r4-r7,lr} ldr r6, _080264F4 @ =gBattleMons - ldr r7, _080264F8 @ =gUnknown_02024C07 + ldr r7, _080264F8 @ =gPlayerMonIndex ldrb r0, [r7] movs r5, 0x58 adds r1, r0, 0 muls r1, r5 adds r1, r6 adds r1, 0x2A - ldr r4, _080264FC @ =gUnknown_02024C08 + ldr r4, _080264FC @ =gEnemyMonIndex ldrb r3, [r4] adds r0, r3, 0 muls r0, r5 @@ -48924,8 +48924,8 @@ sub_80264C0: @ 80264C0 b _08026568 .align 2, 0 _080264F4: .4byte gBattleMons -_080264F8: .4byte gUnknown_02024C07 -_080264FC: .4byte gUnknown_02024C08 +_080264F8: .4byte gPlayerMonIndex +_080264FC: .4byte gEnemyMonIndex _08026500: .4byte 0x02000000 _08026504: .4byte 0x00016064 _08026508: .4byte gUnknown_02024A6A @@ -49009,7 +49009,7 @@ sub_8026590: @ 8026590 bne _080265A4 b _0802687C _080265A4: - ldr r5, _0802662C @ =gUnknown_02024C08 + ldr r5, _0802662C @ =gEnemyMonIndex ldrb r0, [r5] bl battle_side_get_owner lsls r0, 24 @@ -49075,7 +49075,7 @@ _0802661A: b _08026678 .align 2, 0 _08026628: .4byte gBattleTypeFlags -_0802662C: .4byte gUnknown_02024C08 +_0802662C: .4byte gEnemyMonIndex _08026630: .4byte gEnemyParty _08026634: .4byte gPlayerParty _08026638: @@ -49171,7 +49171,7 @@ _080266DC: bl __umodsi3 lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _08026714 @ =gUnknown_02024C08 + ldr r0, _08026714 @ =gEnemyMonIndex ldrb r0, [r0] bl sub_803FC34 lsls r0, 24 @@ -49187,12 +49187,12 @@ _080266DC: b _0802671A .align 2, 0 _08026710: .4byte gBattleTypeFlags -_08026714: .4byte gUnknown_02024C08 +_08026714: .4byte gEnemyMonIndex _08026718: adds r5, r6, 0 _0802671A: ldr r4, _0802676C @ =gUnknown_02024A6A - ldr r0, _08026770 @ =gUnknown_02024C08 + ldr r0, _08026770 @ =gEnemyMonIndex ldrb r2, [r0] lsls r1, r2, 1 adds r1, r4 @@ -49230,7 +49230,7 @@ _0802671A: b _08026832 .align 2, 0 _0802676C: .4byte gUnknown_02024A6A -_08026770: .4byte gUnknown_02024C08 +_08026770: .4byte gEnemyMonIndex _08026774: movs r0, 0x1 ands r0, r1 @@ -49245,7 +49245,7 @@ _0802677E: bl __umodsi3 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080267E0 @ =gUnknown_02024C08 + ldr r0, _080267E0 @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 1 adds r0, r6 @@ -49282,7 +49282,7 @@ _0802677E: b _08026832 .align 2, 0 _080267DC: .4byte gUnknown_02024A6A -_080267E0: .4byte gUnknown_02024C08 +_080267E0: .4byte gEnemyMonIndex _080267E4: ldr r6, _0802686C @ =gUnknown_02024A6A _080267E6: @@ -49293,7 +49293,7 @@ _080267E6: bl __umodsi3 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _08026870 @ =gUnknown_02024C08 + ldr r0, _08026870 @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 1 adds r0, r6 @@ -49321,7 +49321,7 @@ _080267E6: beq _080267E6 _08026832: ldr r0, _08026874 @ =0x02000000 - ldr r4, _08026870 @ =gUnknown_02024C08 + ldr r4, _08026870 @ =gEnemyMonIndex ldrb r1, [r4] ldr r2, _08026878 @ =0x00016068 adds r1, r2 @@ -49347,7 +49347,7 @@ _08026850: b _08026880 .align 2, 0 _0802686C: .4byte gUnknown_02024A6A -_08026870: .4byte gUnknown_02024C08 +_08026870: .4byte gEnemyMonIndex _08026874: .4byte 0x02000000 _08026878: .4byte 0x00016068 _0802687C: @@ -49369,7 +49369,7 @@ sub_802688C: @ 802688C push {r5-r7} movs r6, 0 ldr r2, _08026920 @ =gBattleMons - ldr r3, _08026924 @ =gUnknown_02024C07 + ldr r3, _08026924 @ =gPlayerMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -49404,7 +49404,7 @@ _080268CE: mov r10, r0 ldr r5, _08026920 @ =gBattleMons mov r12, r5 - ldr r7, _08026924 @ =gUnknown_02024C07 + ldr r7, _08026924 @ =gPlayerMonIndex ldrb r0, [r7] movs r4, 0x58 adds r5, r0, 0 @@ -49441,7 +49441,7 @@ _0802691A: b _0802692E .align 2, 0 _08026920: .4byte gBattleMons -_08026924: .4byte gUnknown_02024C07 +_08026924: .4byte gPlayerMonIndex _08026928: .4byte gBattleMoves _0802692C: movs r2, 0 @@ -49495,7 +49495,7 @@ _0802697A: bcs _0802697A ldr r4, _080269D0 @ =gBattleMons lsls r1, r3, 1 - ldr r3, _080269D4 @ =gUnknown_02024C07 + ldr r3, _080269D4 @ =gPlayerMonIndex ldrb r2, [r3] movs r0, 0x58 adds r5, r2, 0 @@ -49532,7 +49532,7 @@ _080269C8: .align 2, 0 _080269CC: .4byte gBattleMoves _080269D0: .4byte gBattleMons -_080269D4: .4byte gUnknown_02024C07 +_080269D4: .4byte gPlayerMonIndex _080269D8: movs r2, 0 _080269DA: @@ -49651,7 +49651,7 @@ _08026ABC: .4byte gUnknown_02024C10 thumb_func_start atk92_setlightscreen atk92_setlightscreen: @ 8026AC0 push {r4-r6,lr} - ldr r4, _08026AF0 @ =gUnknown_02024C07 + ldr r4, _08026AF0 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_get_per_side_status ldr r6, _08026AF4 @ =gUnknown_02024C7A @@ -49665,7 +49665,7 @@ atk92_setlightscreen: @ 8026AC0 ands r0, r1 cmp r0, 0 beq _08026B00 - ldr r2, _08026AF8 @ =gUnknown_02024C68 + ldr r2, _08026AF8 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -49674,9 +49674,9 @@ atk92_setlightscreen: @ 8026AC0 movs r0, 0 b _08026B60 .align 2, 0 -_08026AF0: .4byte gUnknown_02024C07 +_08026AF0: .4byte gPlayerMonIndex _08026AF4: .4byte gUnknown_02024C7A -_08026AF8: .4byte gUnknown_02024C68 +_08026AF8: .4byte gBattleMoveFlags _08026AFC: .4byte gUnknown_02024D1E _08026B00: ldrb r0, [r4] @@ -49744,7 +49744,7 @@ sub_8026B78: @ 8026B78 mov r5, r8 push {r5-r7} ldr r7, _08026BA8 @ =gBattleMons - ldr r6, _08026BAC @ =gUnknown_02024C08 + ldr r6, _08026BAC @ =gEnemyMonIndex ldrb r2, [r6] movs r5, 0x58 adds r0, r2, 0 @@ -49763,7 +49763,7 @@ sub_8026B78: @ 8026B78 b _08026BCE .align 2, 0 _08026BA8: .4byte gBattleMons -_08026BAC: .4byte gUnknown_02024C08 +_08026BAC: .4byte gEnemyMonIndex _08026BB0: .4byte gEnigmaBerries _08026BB4: ldrh r0, [r1, 0x2E] @@ -49779,7 +49779,7 @@ _08026BB4: lsrs r6, r0, 24 _08026BCE: ldr r1, _08026C4C @ =gUnknown_02024C0B - ldr r5, _08026C50 @ =gUnknown_02024C08 + ldr r5, _08026C50 @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r1] cmp r4, 0x27 @@ -49809,7 +49809,7 @@ _08026BCE: _08026C0C: ldr r0, _08026C58 @ =gBattleMons mov r8, r0 - ldr r1, _08026C50 @ =gUnknown_02024C08 + ldr r1, _08026C50 @ =gEnemyMonIndex ldrb r2, [r1] movs r6, 0x58 adds r0, r2, 0 @@ -49822,7 +49822,7 @@ _08026C0C: mov r10, r8 cmp r3, 0x5 bne _08026C6C - ldr r2, _08026C5C @ =gUnknown_02024C68 + ldr r2, _08026C5C @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -49832,17 +49832,17 @@ _08026C0C: ldr r1, _08026C64 @ =gUnknown_02024C10 ldr r0, _08026C68 @ =gUnknown_081D9826 str r0, [r1] - ldr r1, _08026C50 @ =gUnknown_02024C08 + ldr r1, _08026C50 @ =gEnemyMonIndex ldrb r0, [r1] movs r1, 0x5 bl sub_81074C4 b _08026E40 .align 2, 0 _08026C4C: .4byte gUnknown_02024C0B -_08026C50: .4byte gUnknown_02024C08 +_08026C50: .4byte gEnemyMonIndex _08026C54: .4byte gUnknown_02024D68 _08026C58: .4byte gBattleMons -_08026C5C: .4byte gUnknown_02024C68 +_08026C5C: .4byte gBattleMoveFlags _08026C60: .4byte byte_2024C06 _08026C64: .4byte gUnknown_02024C10 _08026C68: .4byte gUnknown_081D9826 @@ -49862,7 +49862,7 @@ _08026C6C: adds r2, r0 lsls r2, 2 adds r2, r1 - ldr r7, _08026CEC @ =gUnknown_02024C07 + ldr r7, _08026CEC @ =gPlayerMonIndex ldrb r0, [r7] muls r0, r6 add r0, r10 @@ -49891,7 +49891,7 @@ _08026C6C: muls r1, r6 add r1, r10 adds r1, 0x2A - ldr r2, _08026CF0 @ =gUnknown_02024C08 + ldr r2, _08026CF0 @ =gEnemyMonIndex ldrb r0, [r2] muls r0, r6 add r0, r10 @@ -49908,15 +49908,15 @@ _08026CDC: _08026CE0: .4byte gUnknown_02024C98 _08026CE4: .4byte gBattleMoves _08026CE8: .4byte gUnknown_02024BE6 -_08026CEC: .4byte gUnknown_02024C07 -_08026CF0: .4byte gUnknown_02024C08 +_08026CEC: .4byte gPlayerMonIndex +_08026CF0: .4byte gEnemyMonIndex _08026CF4: ldr r0, _08026D4C @ =gUnknown_02024CA8 lsls r1, r2, 3 subs r1, r2 lsls r1, 2 adds r1, r0 - ldr r2, _08026D50 @ =gUnknown_02024C07 + ldr r2, _08026D50 @ =gPlayerMonIndex ldrb r0, [r1, 0x15] movs r4, 0 ldrb r3, [r2] @@ -49937,7 +49937,7 @@ _08026D20: cmp r4, 0 beq _08026DE0 ldr r0, _08026D54 @ =gUnknown_02024D28 - ldr r1, _08026D58 @ =gUnknown_02024C08 + ldr r1, _08026D58 @ =gEnemyMonIndex ldrb r2, [r1] lsls r1, r2, 4 adds r1, r0 @@ -49945,24 +49945,24 @@ _08026D20: lsls r0, 30 cmp r0, 0 bge _08026D64 - ldr r1, _08026D5C @ =gUnknown_02024BEC + ldr r1, _08026D5C @ =gBattleMoveDamage movs r0, 0x58 muls r0, r2 add r0, r10 ldrh r0, [r0, 0x28] subs r0, 0x1 str r0, [r1] - ldr r2, _08026D60 @ =gUnknown_02024C68 + ldr r2, _08026D60 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x40 b _08026DC6 .align 2, 0 _08026D4C: .4byte gUnknown_02024CA8 -_08026D50: .4byte gUnknown_02024C07 +_08026D50: .4byte gPlayerMonIndex _08026D54: .4byte gUnknown_02024D28 -_08026D58: .4byte gUnknown_02024C08 -_08026D5C: .4byte gUnknown_02024BEC -_08026D60: .4byte gUnknown_02024C68 +_08026D58: .4byte gEnemyMonIndex +_08026D5C: .4byte gBattleMoveDamage +_08026D60: .4byte gBattleMoveFlags _08026D64: ldr r0, _08026DA0 @ =gUnknown_02024D68 lsls r1, r2, 2 @@ -49973,7 +49973,7 @@ _08026D64: lsrs r0, 7 cmp r0, 0 beq _08026DB4 - ldr r1, _08026DA4 @ =gUnknown_02024BEC + ldr r1, _08026DA4 @ =gBattleMoveDamage movs r3, 0x58 adds r0, r2, 0 muls r0, r3 @@ -49981,13 +49981,13 @@ _08026D64: ldrh r0, [r0, 0x28] subs r0, 0x1 str r0, [r1] - ldr r2, _08026DA8 @ =gUnknown_02024C68 + ldr r2, _08026DA8 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x80 orrs r0, r1 strb r0, [r2] ldr r1, _08026DAC @ =gUnknown_02024C04 - ldr r2, _08026DB0 @ =gUnknown_02024C08 + ldr r2, _08026DB0 @ =gEnemyMonIndex ldrb r0, [r2] muls r0, r3 add r0, r10 @@ -49996,18 +49996,18 @@ _08026D64: b _08026DCA .align 2, 0 _08026DA0: .4byte gUnknown_02024D68 -_08026DA4: .4byte gUnknown_02024BEC -_08026DA8: .4byte gUnknown_02024C68 +_08026DA4: .4byte gBattleMoveDamage +_08026DA8: .4byte gBattleMoveFlags _08026DAC: .4byte gUnknown_02024C04 -_08026DB0: .4byte gUnknown_02024C08 +_08026DB0: .4byte gEnemyMonIndex _08026DB4: - ldr r1, _08026DD4 @ =gUnknown_02024BEC + ldr r1, _08026DD4 @ =gBattleMoveDamage movs r0, 0x58 muls r0, r2 add r0, r10 ldrh r0, [r0, 0x28] str r0, [r1] - ldr r2, _08026DD8 @ =gUnknown_02024C68 + ldr r2, _08026DD8 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x10 _08026DC6: @@ -50020,23 +50020,23 @@ _08026DCA: str r0, [r1] b _08026E40 .align 2, 0 -_08026DD4: .4byte gUnknown_02024BEC -_08026DD8: .4byte gUnknown_02024C68 +_08026DD4: .4byte gBattleMoveDamage +_08026DD8: .4byte gBattleMoveFlags _08026DDC: .4byte gUnknown_02024C10 _08026DE0: - ldr r2, _08026E10 @ =gUnknown_02024C68 + ldr r2, _08026E10 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r0, _08026E14 @ =gUnknown_02024C07 + ldr r0, _08026E14 @ =gPlayerMonIndex ldrb r0, [r0] movs r2, 0x58 adds r1, r0, 0 muls r1, r2 add r1, r10 adds r1, 0x2A - ldr r3, _08026E18 @ =gUnknown_02024C08 + ldr r3, _08026E18 @ =gEnemyMonIndex ldrb r0, [r3] muls r0, r2 add r0, r10 @@ -50049,9 +50049,9 @@ _08026DE0: movs r0, 0 b _08026E24 .align 2, 0 -_08026E10: .4byte gUnknown_02024C68 -_08026E14: .4byte gUnknown_02024C07 -_08026E18: .4byte gUnknown_02024C08 +_08026E10: .4byte gBattleMoveFlags +_08026E14: .4byte gPlayerMonIndex +_08026E18: .4byte gEnemyMonIndex _08026E1C: .4byte gUnknown_02024D1E _08026E20: ldr r1, _08026E50 @ =gUnknown_02024D1E @@ -50087,9 +50087,9 @@ _08026E54: .4byte gUnknown_02024C10 thumb_func_start atk94_gethalfcurrentenemyhp atk94_gethalfcurrentenemyhp: @ 8026E58 push {lr} - ldr r3, _08026E84 @ =gUnknown_02024BEC + ldr r3, _08026E84 @ =gBattleMoveDamage ldr r2, _08026E88 @ =gBattleMons - ldr r0, _08026E8C @ =gUnknown_02024C08 + ldr r0, _08026E8C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -50109,9 +50109,9 @@ _08026E76: pop {r0} bx r0 .align 2, 0 -_08026E84: .4byte gUnknown_02024BEC +_08026E84: .4byte gBattleMoveDamage _08026E88: .4byte gBattleMons -_08026E8C: .4byte gUnknown_02024C08 +_08026E8C: .4byte gEnemyMonIndex _08026E90: .4byte gUnknown_02024C10 thumb_func_end atk94_gethalfcurrentenemyhp @@ -50124,7 +50124,7 @@ sub_8026E94: @ 8026E94 ands r0, r1 cmp r0, 0 beq _08026EC0 - ldr r2, _08026EB8 @ =gUnknown_02024C68 + ldr r2, _08026EB8 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -50135,7 +50135,7 @@ sub_8026E94: @ 8026E94 b _08026ED2 .align 2, 0 _08026EB4: .4byte gBattleWeather -_08026EB8: .4byte gUnknown_02024C68 +_08026EB8: .4byte gBattleMoveFlags _08026EBC: .4byte gUnknown_02024D1E _08026EC0: movs r0, 0x8 @@ -50193,7 +50193,7 @@ _08026F20: movs r0, 0x18 ands r0, r1 adds r4, r2, 0 - ldr r5, _08026F98 @ =gUnknown_02024C07 + ldr r5, _08026F98 @ =gPlayerMonIndex cmp r0, 0 beq _08026FAE ldr r0, _08026F9C @ =gBattleMons @@ -50237,7 +50237,7 @@ _08026F20: ands r1, r0 cmp r1, 0 bne _08026FA8 - ldr r1, _08026FA4 @ =gUnknown_02024BEC + ldr r1, _08026FA4 @ =gBattleMoveDamage ldrh r0, [r3, 0x2C] lsrs r0, 4 str r0, [r1] @@ -50247,12 +50247,12 @@ _08026F20: b _08026FAC .align 2, 0 _08026F94: .4byte gBattleWeather -_08026F98: .4byte gUnknown_02024C07 +_08026F98: .4byte gPlayerMonIndex _08026F9C: .4byte gBattleMons _08026FA0: .4byte gUnknown_02024C98 -_08026FA4: .4byte gUnknown_02024BEC +_08026FA4: .4byte gBattleMoveDamage _08026FA8: - ldr r1, _08027004 @ =gUnknown_02024BEC + ldr r1, _08027004 @ =gBattleMoveDamage movs r0, 0 _08026FAC: str r0, [r1] @@ -50291,7 +50291,7 @@ _08026FAE: ands r1, r0 cmp r1, 0 bne _08027010 - ldr r1, _08027004 @ =gUnknown_02024BEC + ldr r1, _08027004 @ =gBattleMoveDamage ldrh r0, [r2, 0x2C] lsrs r0, 4 str r0, [r1] @@ -50301,21 +50301,21 @@ _08026FAE: str r0, [r1] b _08027024 .align 2, 0 -_08027004: .4byte gUnknown_02024BEC +_08027004: .4byte gBattleMoveDamage _08027008: .4byte gBattleMons _0802700C: .4byte gUnknown_02024C98 _08027010: - ldr r1, _08027018 @ =gUnknown_02024BEC + ldr r1, _08027018 @ =gBattleMoveDamage movs r0, 0 str r0, [r1] b _08027024 .align 2, 0 -_08027018: .4byte gUnknown_02024BEC +_08027018: .4byte gBattleMoveDamage _0802701C: - ldr r1, _08027050 @ =gUnknown_02024BEC + ldr r1, _08027050 @ =gBattleMoveDamage movs r0, 0 str r0, [r1] - ldr r5, _08027054 @ =gUnknown_02024C07 + ldr r5, _08027054 @ =gPlayerMonIndex _08027024: ldr r0, _08027058 @ =gUnknown_02024C0C ldrb r1, [r0] @@ -50327,7 +50327,7 @@ _08027024: ands r1, r0 cmp r1, 0 beq _0802703E - ldr r1, _08027050 @ =gUnknown_02024BEC + ldr r1, _08027050 @ =gBattleMoveDamage movs r0, 0 str r0, [r1] _0802703E: @@ -50340,8 +50340,8 @@ _0802703E: pop {r0} bx r0 .align 2, 0 -_08027050: .4byte gUnknown_02024BEC -_08027054: .4byte gUnknown_02024C07 +_08027050: .4byte gBattleMoveDamage +_08027054: .4byte gPlayerMonIndex _08027058: .4byte gUnknown_02024C0C _0802705C: .4byte gBitTable _08027060: .4byte gUnknown_02024C10 @@ -50354,7 +50354,7 @@ sub_8027064: @ 8027064 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r4, _08027090 @ =gUnknown_02024C07 + ldr r4, _08027090 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -50370,7 +50370,7 @@ sub_8027064: @ 8027064 ldr r0, _08027098 @ =gPlayerParty b _080270AC .align 2, 0 -_08027090: .4byte gUnknown_02024C07 +_08027090: .4byte gPlayerMonIndex _08027094: .4byte gUnknown_02024A6A _08027098: .4byte gPlayerParty _0802709C: @@ -50384,7 +50384,7 @@ _0802709C: ldr r0, _080270D4 @ =gEnemyParty _080270AC: adds r5, r1, r0 - ldr r4, _080270D8 @ =gUnknown_02024C08 + ldr r4, _080270D8 @ =gEnemyMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -50402,7 +50402,7 @@ _080270AC: .align 2, 0 _080270D0: .4byte gUnknown_02024A6A _080270D4: .4byte gEnemyParty -_080270D8: .4byte gUnknown_02024C08 +_080270D8: .4byte gEnemyMonIndex _080270DC: .4byte gPlayerParty _080270E0: ldr r1, _0802714C @ =gUnknown_02024A6A @@ -50435,7 +50435,7 @@ _080270F0: movs r1, 0 bl GetMonData adds r7, r0, 0 - ldr r5, _08027154 @ =gUnknown_02024C08 + ldr r5, _08027154 @ =gEnemyMonIndex ldrb r0, [r5] movs r6, 0x58 muls r0, r6 @@ -50457,7 +50457,7 @@ _080270F0: .align 2, 0 _0802714C: .4byte gUnknown_02024A6A _08027150: .4byte gEnemyParty -_08027154: .4byte gUnknown_02024C08 +_08027154: .4byte gEnemyMonIndex _08027158: .4byte gBattleMons _0802715C: .4byte gUnknown_02024C10 _08027160: .4byte gUnknown_081D98C9 @@ -50534,7 +50534,7 @@ _080271F8: muls r2, r6 adds r2, r4 ldr r1, _0802722C @ =gBitTable - ldr r0, _08027230 @ =gUnknown_02024C07 + ldr r0, _08027230 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 2 adds r0, r1 @@ -50557,7 +50557,7 @@ _0802721C: bx r0 .align 2, 0 _0802722C: .4byte gBitTable -_08027230: .4byte gUnknown_02024C07 +_08027230: .4byte gPlayerMonIndex _08027234: .4byte gUnknown_02024C10 thumb_func_end sub_8027064 @@ -50603,7 +50603,7 @@ _08027288: .4byte gUnknown_02024A60 _0802728C: .4byte gBattleMons _08027290: ldr r4, _0802732C @ =gUnknown_02024A60 - ldr r5, _08027330 @ =gUnknown_02024C07 + ldr r5, _08027330 @ =gPlayerMonIndex ldrb r0, [r5] strb r0, [r4] ldr r6, _08027334 @ =gUnknown_02024C0C @@ -50678,7 +50678,7 @@ _08027324: bx r0 .align 2, 0 _0802732C: .4byte gUnknown_02024A60 -_08027330: .4byte gUnknown_02024C07 +_08027330: .4byte gPlayerMonIndex _08027334: .4byte gUnknown_02024C0C _08027338: .4byte gBitTable _0802733C: .4byte gBattleMons @@ -50690,7 +50690,7 @@ _08027344: .4byte gUnknown_02024C10 sub_8027348: @ 8027348 push {r4-r6,lr} ldr r6, _08027378 @ =gUnknown_02024C80 - ldr r4, _0802737C @ =gUnknown_02024C07 + ldr r4, _0802737C @ =gPlayerMonIndex ldrb r0, [r4] bl battle_get_per_side_status movs r5, 0x1 @@ -50703,7 +50703,7 @@ sub_8027348: @ 8027348 ldrb r0, [r0, 0x2] cmp r0, 0 beq _08027388 - ldr r2, _08027380 @ =gUnknown_02024C68 + ldr r2, _08027380 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x20 orrs r0, r1 @@ -50713,8 +50713,8 @@ sub_8027348: @ 8027348 b _080273C0 .align 2, 0 _08027378: .4byte gUnknown_02024C80 -_0802737C: .4byte gUnknown_02024C07 -_08027380: .4byte gUnknown_02024C68 +_0802737C: .4byte gPlayerMonIndex +_08027380: .4byte gBattleMoveFlags _08027384: .4byte gUnknown_02024D1E _08027388: ldrb r0, [r4] @@ -50761,7 +50761,7 @@ _080273D8: .4byte gUnknown_02024C10 atk9A_setincreasedcriticalchance: @ 80273DC push {lr} ldr r1, _0802740C @ =gBattleMons - ldr r0, _08027410 @ =gUnknown_02024C07 + ldr r0, _08027410 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -50774,7 +50774,7 @@ atk9A_setincreasedcriticalchance: @ 80273DC ands r2, r3 cmp r2, 0 beq _0802741C - ldr r2, _08027414 @ =gUnknown_02024C68 + ldr r2, _08027414 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x20 orrs r0, r1 @@ -50785,8 +50785,8 @@ atk9A_setincreasedcriticalchance: @ 80273DC b _08027424 .align 2, 0 _0802740C: .4byte gBattleMons -_08027410: .4byte gUnknown_02024C07 -_08027414: .4byte gUnknown_02024C68 +_08027410: .4byte gPlayerMonIndex +_08027414: .4byte gBattleMoveFlags _08027418: .4byte gUnknown_02024D1E _0802741C: orrs r1, r3 @@ -50819,7 +50819,7 @@ atk9B_transformdataexecution: @ 8027438 adds r0, 0x1 str r0, [r1] ldr r7, _0802749C @ =gBattleMons - ldr r0, _080274A0 @ =gUnknown_02024C08 + ldr r0, _080274A0 @ =gEnemyMonIndex mov r12, r0 ldrb r1, [r0] movs r6, 0x58 @@ -50843,7 +50843,7 @@ atk9B_transformdataexecution: @ 8027438 cmp r2, 0 beq _080274B4 _0802747E: - ldr r2, _080274AC @ =gUnknown_02024C68 + ldr r2, _080274AC @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x20 orrs r0, r1 @@ -50856,13 +50856,13 @@ _08027490: .4byte gUnknown_02024BE8 _08027494: .4byte 0x0000ffff _08027498: .4byte gUnknown_02024C10 _0802749C: .4byte gBattleMons -_080274A0: .4byte gUnknown_02024C08 +_080274A0: .4byte gEnemyMonIndex _080274A4: .4byte gUnknown_02024C98 _080274A8: .4byte 0x000400c0 -_080274AC: .4byte gUnknown_02024C68 +_080274AC: .4byte gBattleMoveFlags _080274B0: .4byte gUnknown_02024D1E _080274B4: - ldr r3, _08027588 @ =gUnknown_02024C07 + ldr r3, _08027588 @ =gPlayerMonIndex ldrb r0, [r3] adds r1, r0, 0 muls r1, r6 @@ -50970,7 +50970,7 @@ _08027564: adds r0, r5 b _080275A6 .align 2, 0 -_08027588: .4byte gUnknown_02024C07 +_08027588: .4byte gPlayerMonIndex _0802758C: .4byte gUnknown_02024CA8 _08027590: .4byte gUnknown_030041C0 _08027594: .4byte gUnknown_02024A60 @@ -51011,7 +51011,7 @@ _080275D4: .4byte gUnknown_02024D1E sub_80275D8: @ 80275D8 push {r4-r7,lr} ldr r7, _08027608 @ =gBattleMons - ldr r6, _0802760C @ =gUnknown_02024C07 + ldr r6, _0802760C @ =gPlayerMonIndex ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -51026,7 +51026,7 @@ _080275F2: ldrh r0, [r3, 0x28] cmp r0, r2 bhi _08027618 - ldr r1, _08027610 @ =gUnknown_02024BEC + ldr r1, _08027610 @ =gBattleMoveDamage movs r0, 0 str r0, [r1] ldr r1, _08027614 @ =gUnknown_02024D1E @@ -51035,11 +51035,11 @@ _080275F2: b _0802766C .align 2, 0 _08027608: .4byte gBattleMons -_0802760C: .4byte gUnknown_02024C07 -_08027610: .4byte gUnknown_02024BEC +_0802760C: .4byte gPlayerMonIndex +_08027610: .4byte gBattleMoveDamage _08027614: .4byte gUnknown_02024D1E _08027618: - ldr r4, _0802767C @ =gUnknown_02024BEC + ldr r4, _0802767C @ =gBattleMoveDamage str r1, [r4] cmp r1, 0 bne _08027624 @@ -51091,7 +51091,7 @@ _0802766C: pop {r0} bx r0 .align 2, 0 -_0802767C: .4byte gUnknown_02024BEC +_0802767C: .4byte gBattleMoveDamage _08027680: .4byte 0xffff1fff _08027684: .4byte gUnknown_02024CA8 _08027688: .4byte gUnknown_02024D1E @@ -51151,7 +51151,7 @@ atk9D_copyattack: @ 80276DC adds r7, r1, 0 strh r7, [r0] ldr r5, _0802775C @ =gUnknown_02024C34 - ldr r6, _08027760 @ =gUnknown_02024C08 + ldr r6, _08027760 @ =gEnemyMonIndex ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -51161,7 +51161,7 @@ atk9D_copyattack: @ 80276DC cmp r0, 0 bne _08027736 ldr r3, _08027764 @ =gBattleMons - ldr r2, _08027768 @ =gUnknown_02024C07 + ldr r2, _08027768 @ =gPlayerMonIndex ldrb r1, [r2] movs r0, 0x58 adds r4, r1, 0 @@ -51204,9 +51204,9 @@ _08027736: _08027754: .4byte gUnknown_02024BE8 _08027758: .4byte 0x0000ffff _0802775C: .4byte gUnknown_02024C34 -_08027760: .4byte gUnknown_02024C08 +_08027760: .4byte gEnemyMonIndex _08027764: .4byte gBattleMons -_08027768: .4byte gUnknown_02024C07 +_08027768: .4byte gPlayerMonIndex _0802776C: .4byte gUnknown_02024C10 _08027770: movs r2, 0 @@ -51254,7 +51254,7 @@ _080277AA: adds r0, 0xC adds r1, r0 ldr r2, _08027808 @ =gUnknown_02024C34 - ldr r3, _0802780C @ =gUnknown_02024C08 + ldr r3, _0802780C @ =gEnemyMonIndex ldrb r0, [r3] lsls r0, 1 adds r0, r2 @@ -51286,7 +51286,7 @@ _080277AA: _08027800: .4byte gUnknown_02024C10 _08027804: .4byte gUnknown_02024BE4 _08027808: .4byte gUnknown_02024C34 -_0802780C: .4byte gUnknown_02024C08 +_0802780C: .4byte gEnemyMonIndex _08027810: .4byte gBattleMoves _08027814: mov r4, r9 @@ -51433,7 +51433,7 @@ _080278F8: ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _0802795C @ =gUnknown_02024C08 + ldr r1, _0802795C @ =gEnemyMonIndex strb r0, [r1] pop {r3} mov r8, r3 @@ -51450,14 +51450,14 @@ _0802794C: .4byte gUnknown_02024C6C _08027950: .4byte 0xfffffbff _08027954: .4byte gUnknown_081D6BBC _08027958: .4byte gBattleMoves -_0802795C: .4byte gUnknown_02024C08 +_0802795C: .4byte gEnemyMonIndex thumb_func_end sub_80278B8 thumb_func_start sub_8027960 sub_8027960: @ 8027960 - ldr r3, _08027980 @ =gUnknown_02024BEC + ldr r3, _08027980 @ =gBattleMoveDamage ldr r2, _08027984 @ =gBattleMons - ldr r0, _08027988 @ =gUnknown_02024C07 + ldr r0, _08027988 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -51471,9 +51471,9 @@ sub_8027960: @ 8027960 str r0, [r1] bx lr .align 2, 0 -_08027980: .4byte gUnknown_02024BEC +_08027980: .4byte gBattleMoveDamage _08027984: .4byte gBattleMons -_08027988: .4byte gUnknown_02024C07 +_08027988: .4byte gPlayerMonIndex _0802798C: .4byte gUnknown_02024C10 thumb_func_end sub_8027960 @@ -51490,9 +51490,9 @@ _08027994: lsls r0, r3, 2 adds r0, r3 lsls r3, r0, 1 - ldr r4, _080279D4 @ =gUnknown_02024BEC + ldr r4, _080279D4 @ =gBattleMoveDamage ldr r2, _080279D8 @ =gBattleMons - ldr r0, _080279DC @ =gUnknown_02024C07 + ldr r0, _080279DC @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -51513,16 +51513,16 @@ _08027994: pop {r0} bx r0 .align 2, 0 -_080279D4: .4byte gUnknown_02024BEC +_080279D4: .4byte gBattleMoveDamage _080279D8: .4byte gBattleMons -_080279DC: .4byte gUnknown_02024C07 +_080279DC: .4byte gPlayerMonIndex _080279E0: .4byte gUnknown_02024C10 thumb_func_end atkA0_psywavedamageeffect thumb_func_start atkA1_counterdamagecalculator atkA1_counterdamagecalculator: @ 80279E4 push {r4-r6,lr} - ldr r4, _08027A54 @ =gUnknown_02024C07 + ldr r4, _08027A54 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -51553,7 +51553,7 @@ atkA1_counterdamagecalculator: @ 80279E4 ldrh r0, [r0, 0x28] cmp r0, 0 beq _08027A98 - ldr r1, _08027A60 @ =gUnknown_02024BEC + ldr r1, _08027A60 @ =gBattleMoveDamage lsls r0, r3, 1 str r0, [r1] ldr r1, _08027A64 @ =gUnknown_02024C80 @@ -51571,20 +51571,20 @@ atkA1_counterdamagecalculator: @ 80279E4 ldrh r0, [r0, 0x28] cmp r0, 0 beq _08027A6C - ldr r0, _08027A68 @ =gUnknown_02024C08 + ldr r0, _08027A68 @ =gEnemyMonIndex strb r1, [r0] b _08027A7C .align 2, 0 -_08027A54: .4byte gUnknown_02024C07 +_08027A54: .4byte gPlayerMonIndex _08027A58: .4byte gUnknown_02024D28 _08027A5C: .4byte gBattleMons -_08027A60: .4byte gUnknown_02024BEC +_08027A60: .4byte gBattleMoveDamage _08027A64: .4byte gUnknown_02024C80 -_08027A68: .4byte gUnknown_02024C08 +_08027A68: .4byte gEnemyMonIndex _08027A6C: - ldr r2, _08027A88 @ =gUnknown_02024C08 + ldr r2, _08027A88 @ =gEnemyMonIndex ldr r1, _08027A8C @ =gUnknown_02024D28 - ldr r0, _08027A90 @ =gUnknown_02024C07 + ldr r0, _08027A90 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -51597,13 +51597,13 @@ _08027A7C: str r0, [r1] b _08027AC8 .align 2, 0 -_08027A88: .4byte gUnknown_02024C08 +_08027A88: .4byte gEnemyMonIndex _08027A8C: .4byte gUnknown_02024D28 -_08027A90: .4byte gUnknown_02024C07 +_08027A90: .4byte gPlayerMonIndex _08027A94: .4byte gUnknown_02024C10 _08027A98: ldr r2, _08027AD0 @ =gUnknown_02024D68 - ldr r0, _08027AD4 @ =gUnknown_02024C07 + ldr r0, _08027AD4 @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -51632,14 +51632,14 @@ _08027AC8: bx r0 .align 2, 0 _08027AD0: .4byte gUnknown_02024D68 -_08027AD4: .4byte gUnknown_02024C07 +_08027AD4: .4byte gPlayerMonIndex _08027AD8: .4byte gUnknown_02024C10 thumb_func_end atkA1_counterdamagecalculator thumb_func_start atkA2_mirrorcoatdamagecalculator atkA2_mirrorcoatdamagecalculator: @ 8027ADC push {r4-r6,lr} - ldr r4, _08027B4C @ =gUnknown_02024C07 + ldr r4, _08027B4C @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -51671,7 +51671,7 @@ atkA2_mirrorcoatdamagecalculator: @ 8027ADC ldrh r0, [r0, 0x28] cmp r0, 0 beq _08027B90 - ldr r1, _08027B58 @ =gUnknown_02024BEC + ldr r1, _08027B58 @ =gBattleMoveDamage lsls r0, r3, 1 str r0, [r1] ldr r1, _08027B5C @ =gUnknown_02024C80 @@ -51689,20 +51689,20 @@ atkA2_mirrorcoatdamagecalculator: @ 8027ADC ldrh r0, [r0, 0x28] cmp r0, 0 beq _08027B64 - ldr r0, _08027B60 @ =gUnknown_02024C08 + ldr r0, _08027B60 @ =gEnemyMonIndex strb r1, [r0] b _08027B74 .align 2, 0 -_08027B4C: .4byte gUnknown_02024C07 +_08027B4C: .4byte gPlayerMonIndex _08027B50: .4byte gUnknown_02024D28 _08027B54: .4byte gBattleMons -_08027B58: .4byte gUnknown_02024BEC +_08027B58: .4byte gBattleMoveDamage _08027B5C: .4byte gUnknown_02024C80 -_08027B60: .4byte gUnknown_02024C08 +_08027B60: .4byte gEnemyMonIndex _08027B64: - ldr r2, _08027B80 @ =gUnknown_02024C08 + ldr r2, _08027B80 @ =gEnemyMonIndex ldr r1, _08027B84 @ =gUnknown_02024D28 - ldr r0, _08027B88 @ =gUnknown_02024C07 + ldr r0, _08027B88 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -51715,13 +51715,13 @@ _08027B74: str r0, [r1] b _08027BC0 .align 2, 0 -_08027B80: .4byte gUnknown_02024C08 +_08027B80: .4byte gEnemyMonIndex _08027B84: .4byte gUnknown_02024D28 -_08027B88: .4byte gUnknown_02024C07 +_08027B88: .4byte gPlayerMonIndex _08027B8C: .4byte gUnknown_02024C10 _08027B90: ldr r2, _08027BC8 @ =gUnknown_02024D68 - ldr r0, _08027BCC @ =gUnknown_02024C07 + ldr r0, _08027BCC @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -51750,7 +51750,7 @@ _08027BC0: bx r0 .align 2, 0 _08027BC8: .4byte gUnknown_02024D68 -_08027BCC: .4byte gUnknown_02024C07 +_08027BCC: .4byte gPlayerMonIndex _08027BD0: .4byte gUnknown_02024C10 thumb_func_end atkA2_mirrorcoatdamagecalculator @@ -51762,7 +51762,7 @@ atkA3_disablelastusedattack: @ 8027BD4 push {r6,r7} movs r4, 0 ldr r2, _08027CD4 @ =gBattleMons - ldr r3, _08027CD8 @ =gUnknown_02024C08 + ldr r3, _08027CD8 @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -51887,7 +51887,7 @@ _08027C28: b _08027D06 .align 2, 0 _08027CD4: .4byte gBattleMons -_08027CD8: .4byte gUnknown_02024C08 +_08027CD8: .4byte gEnemyMonIndex _08027CDC: .4byte gUnknown_02024C34 _08027CE0: .4byte gUnknown_02024CA8 _08027CE4: .4byte gUnknown_030041C0 @@ -51926,7 +51926,7 @@ atkA4_setencore: @ 8027D18 push {r5-r7} movs r5, 0 ldr r3, _08027E0C @ =gBattleMons - ldr r4, _08027E10 @ =gUnknown_02024C08 + ldr r4, _08027E10 @ =gEnemyMonIndex ldrb r1, [r4] movs r0, 0x58 muls r0, r1 @@ -52046,7 +52046,7 @@ _08027D88: b _08027E3A .align 2, 0 _08027E0C: .4byte gBattleMons -_08027E10: .4byte gUnknown_02024C08 +_08027E10: .4byte gEnemyMonIndex _08027E14: .4byte gUnknown_02024C34 _08027E18: .4byte gUnknown_02024CA8 _08027E1C: .4byte gUnknown_02024C10 @@ -52083,7 +52083,7 @@ sub_8027E4C: @ 8027E4C mov r6, r8 push {r6,r7} ldr r7, _08027EEC @ =gBattleMons - ldr r0, _08027EF0 @ =gUnknown_02024C08 + ldr r0, _08027EF0 @ =gEnemyMonIndex mov r8, r0 ldrb r0, [r0] movs r6, 0x58 @@ -52098,7 +52098,7 @@ sub_8027E4C: @ 8027E4C ands r0, r1 cmp r0, 0 bne _08027F18 - ldr r1, _08027EF4 @ =gUnknown_02024C07 + ldr r1, _08027EF4 @ =gPlayerMonIndex mov r12, r1 ldrb r0, [r1] muls r0, r6 @@ -52108,7 +52108,7 @@ sub_8027E4C: @ 8027E4C ldrh r2, [r0, 0x28] adds r4, r2 asrs r4, 1 - ldr r5, _08027EF8 @ =gUnknown_02024BEC + ldr r5, _08027EF8 @ =gBattleMoveDamage mov r9, r5 subs r2, r4 str r2, [r5] @@ -52159,9 +52159,9 @@ sub_8027E4C: @ 8027E4C b _08027F32 .align 2, 0 _08027EEC: .4byte gBattleMons -_08027EF0: .4byte gUnknown_02024C08 -_08027EF4: .4byte gUnknown_02024C07 -_08027EF8: .4byte gUnknown_02024BEC +_08027EF0: .4byte gEnemyMonIndex +_08027EF4: .4byte gPlayerMonIndex +_08027EF8: .4byte gBattleMoveDamage _08027EFC: .4byte 0x02000000 _08027F00: .4byte 0x00016014 _08027F04: .4byte 0x00016015 @@ -52202,7 +52202,7 @@ sub_8027F44: @ 8027F44 mov r5, r8 push {r5-r7} ldr r1, _08027FA8 @ =gUnknown_02024C3C - ldr r4, _08027FAC @ =gUnknown_02024C07 + ldr r4, _08027FAC @ =gPlayerMonIndex ldrb r0, [r4] lsls r0, 1 adds r2, r0, r1 @@ -52248,7 +52248,7 @@ _08027F8C: b _08028110 .align 2, 0 _08027FA8: .4byte gUnknown_02024C3C -_08027FAC: .4byte gUnknown_02024C07 +_08027FAC: .4byte gPlayerMonIndex _08027FB0: .4byte 0x0000ffff _08027FB4: .4byte gUnknown_02024D28 _08027FB8: .4byte gUnknown_02024C10 @@ -52320,7 +52320,7 @@ _0802802C: ldr r6, _08028120 @ =gTypeEffectiveness adds r3, r4, r6 ldr r1, _08028124 @ =gUnknown_02024C44 - ldr r2, _08028128 @ =gUnknown_02024C07 + ldr r2, _08028128 @ =gPlayerMonIndex ldrb r5, [r2] lsls r0, r5, 1 adds r0, r1 @@ -52438,7 +52438,7 @@ _08028110: .align 2, 0 _08028120: .4byte gTypeEffectiveness _08028124: .4byte gUnknown_02024C44 -_08028128: .4byte gUnknown_02024C07 +_08028128: .4byte gPlayerMonIndex _0802812C: .4byte gBattleMons _08028130: .4byte 0x000003e7 _08028134: .4byte gUnknown_02024C10 @@ -52449,7 +52449,7 @@ _08028138: .4byte 0x0000014f atkA7_setalwayshitflag: @ 802813C push {r4,lr} ldr r4, _08028180 @ =gUnknown_02024C98 - ldr r3, _08028184 @ =gUnknown_02024C08 + ldr r3, _08028184 @ =gEnemyMonIndex ldrb r1, [r3] lsls r1, 2 adds r1, r4 @@ -52471,7 +52471,7 @@ atkA7_setalwayshitflag: @ 802813C subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, _0802818C @ =gUnknown_02024C07 + ldr r1, _0802818C @ =gPlayerMonIndex ldrb r1, [r1] strb r1, [r0, 0x15] ldr r1, _08028190 @ =gUnknown_02024C10 @@ -52483,9 +52483,9 @@ atkA7_setalwayshitflag: @ 802813C bx r0 .align 2, 0 _08028180: .4byte gUnknown_02024C98 -_08028184: .4byte gUnknown_02024C08 +_08028184: .4byte gEnemyMonIndex _08028188: .4byte gUnknown_02024CA8 -_0802818C: .4byte gUnknown_02024C07 +_0802818C: .4byte gPlayerMonIndex _08028190: .4byte gUnknown_02024C10 thumb_func_end atkA7_setalwayshitflag @@ -52502,7 +52502,7 @@ atkA8_copymovepermanently: @ 8028194 adds r5, r1, 0 strh r5, [r0] ldr r3, _080282FC @ =gBattleMons - ldr r2, _08028300 @ =gUnknown_02024C07 + ldr r2, _08028300 @ =gPlayerMonIndex ldrb r1, [r2] movs r0, 0x58 adds r4, r1, 0 @@ -52521,7 +52521,7 @@ atkA8_copymovepermanently: @ 8028194 b _08028320 _080281CC: ldr r0, _08028304 @ =gUnknown_02024C2C - ldr r2, _08028308 @ =gUnknown_02024C08 + ldr r2, _08028308 @ =gEnemyMonIndex ldrb r1, [r2] lsls r1, 1 adds r1, r0 @@ -52656,7 +52656,7 @@ _08028282: movs r0, 0x2 strb r0, [r1, 0x1] ldr r3, _08028304 @ =gUnknown_02024C2C - ldr r2, _08028308 @ =gUnknown_02024C08 + ldr r2, _08028308 @ =gEnemyMonIndex ldrb r0, [r2] lsls r0, 1 adds r0, r3 @@ -52679,9 +52679,9 @@ _08028282: _080282F4: .4byte gUnknown_02024BE8 _080282F8: .4byte 0x0000ffff _080282FC: .4byte gBattleMons -_08028300: .4byte gUnknown_02024C07 +_08028300: .4byte gPlayerMonIndex _08028304: .4byte gUnknown_02024C2C -_08028308: .4byte gUnknown_02024C08 +_08028308: .4byte gEnemyMonIndex _0802830C: .4byte gUnknown_02024BE4 _08028310: .4byte gBattleMoves _08028314: .4byte gUnknown_02024A60 @@ -52844,7 +52844,7 @@ sub_8028420: @ 8028420 push {r5-r7} movs r6, 0 movs r5, 0 - ldr r0, _080284B0 @ =gUnknown_02024C07 + ldr r0, _080284B0 @ =gPlayerMonIndex mov r9, r0 movs r1, 0x58 mov r8, r1 @@ -52895,7 +52895,7 @@ _0802848C: adds r5, 0x1 cmp r5, 0x3 ble _0802843E - ldr r0, _080284B0 @ =gUnknown_02024C07 + ldr r0, _080284B0 @ =gPlayerMonIndex ldrb r0, [r0] adds r1, r6, 0 movs r2, 0xFD @@ -52910,7 +52910,7 @@ _0802848C: str r0, [r1] b _08028524 .align 2, 0 -_080284B0: .4byte gUnknown_02024C07 +_080284B0: .4byte gPlayerMonIndex _080284B4: .4byte gUnknown_02024A8C _080284B8: .4byte gBitTable _080284BC: .4byte gUnknown_02024C10 @@ -52930,7 +52930,7 @@ _080284C4: ldr r4, _08028538 @ =gUnknown_02024BEA ldr r2, _0802853C @ =gBattleMons lsls r1, r5, 1 - ldr r0, _08028540 @ =gUnknown_02024C07 + ldr r0, _08028540 @ =gPlayerMonIndex ldrb r3, [r0] movs r0, 0x58 muls r0, r3 @@ -52949,7 +52949,7 @@ _080284C4: ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _08028550 @ =gUnknown_02024C08 + ldr r1, _08028550 @ =gEnemyMonIndex strb r0, [r1] ldr r3, _08028554 @ =gUnknown_02024C10 ldr r2, [r3] @@ -52976,18 +52976,18 @@ _08028524: _08028534: .4byte gBitTable _08028538: .4byte gUnknown_02024BEA _0802853C: .4byte gBattleMons -_08028540: .4byte gUnknown_02024C07 +_08028540: .4byte gPlayerMonIndex _08028544: .4byte gUnknown_02024BE4 _08028548: .4byte gUnknown_02024C6C _0802854C: .4byte 0xfffffbff -_08028550: .4byte gUnknown_02024C08 +_08028550: .4byte gEnemyMonIndex _08028554: .4byte gUnknown_02024C10 thumb_func_end sub_8028420 thumb_func_start sub_8028558 sub_8028558: @ 8028558 ldr r1, _0802857C @ =gBattleMons - ldr r0, _08028580 @ =gUnknown_02024C07 + ldr r0, _08028580 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r2, r0 @@ -53005,19 +53005,19 @@ sub_8028558: @ 8028558 bx lr .align 2, 0 _0802857C: .4byte gBattleMons -_08028580: .4byte gUnknown_02024C07 +_08028580: .4byte gPlayerMonIndex _08028584: .4byte gUnknown_02024C10 thumb_func_end sub_8028558 thumb_func_start b_feature_update_destiny_bond b_feature_update_destiny_bond: @ 8028588 push {r4,r5,lr} - ldr r0, _080285D8 @ =gUnknown_02024C07 + ldr r0, _080285D8 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 lsrs r5, r0, 24 - ldr r4, _080285DC @ =gUnknown_02024C08 + ldr r4, _080285DC @ =gEnemyMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -53051,8 +53051,8 @@ _080285D2: pop {r0} bx r0 .align 2, 0 -_080285D8: .4byte gUnknown_02024C07 -_080285DC: .4byte gUnknown_02024C08 +_080285D8: .4byte gPlayerMonIndex +_080285DC: .4byte gEnemyMonIndex _080285E0: .4byte gBattleMons _080285E4: .4byte gUnknown_02024C6C thumb_func_end b_feature_update_destiny_bond @@ -53075,7 +53075,7 @@ _080285FC: .4byte gUnknown_02024C10 atkAC_remaininghptopower: @ 8028600 push {lr} ldr r2, _08028654 @ =gBattleMons - ldr r0, _08028658 @ =gUnknown_02024C07 + ldr r0, _08028658 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -53117,7 +53117,7 @@ _0802863A: bx r0 .align 2, 0 _08028654: .4byte gBattleMons -_08028658: .4byte gUnknown_02024C07 +_08028658: .4byte gPlayerMonIndex _0802865C: .4byte gUnknown_081FAD26 _08028660: .4byte gUnknown_02024DEC _08028664: .4byte gUnknown_02024C10 @@ -53132,7 +53132,7 @@ sub_8028668: @ 8028668 push {r5-r7} sub sp, 0x4 ldr r4, _080287F8 @ =gUnknown_02024C34 - ldr r1, _080287FC @ =gUnknown_02024C08 + ldr r1, _080287FC @ =gEnemyMonIndex ldrb r2, [r1] lsls r0, r2, 1 adds r0, r4 @@ -53316,7 +53316,7 @@ _080287D2: adds r0, 0x5 str r0, [r1] ldr r1, _0802880C @ =gBattleMons - ldr r0, _080287FC @ =gUnknown_02024C08 + ldr r0, _080287FC @ =gEnemyMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -53331,7 +53331,7 @@ _080287D2: b _08028842 .align 2, 0 _080287F8: .4byte gUnknown_02024C34 -_080287FC: .4byte gUnknown_02024C08 +_080287FC: .4byte gEnemyMonIndex _08028800: .4byte 0x0000ffff _08028804: .4byte gUnknown_02024C98 _08028808: .4byte 0x000400c0 @@ -53387,7 +53387,7 @@ sub_8028858: @ 8028858 _08028872: ldr r5, _080288B0 @ =gUnknown_02024D1E strb r7, [r5, 0x5] - ldr r6, _080288B4 @ =gUnknown_02024C07 + ldr r6, _080288B4 @ =gPlayerMonIndex ldrb r0, [r6] bl battle_side_get_owner lsls r0, 24 @@ -53417,7 +53417,7 @@ _0802888C: .align 2, 0 _080288AC: .4byte gUnknown_02024BE6 _080288B0: .4byte gUnknown_02024D1E -_080288B4: .4byte gUnknown_02024C07 +_080288B4: .4byte gPlayerMonIndex _080288B8: .4byte gEnemyParty _080288BC: .4byte gPlayerParty _080288C0: .4byte gBattleMons @@ -53431,7 +53431,7 @@ _080288C4: strb r0, [r5, 0x5] _080288D4: ldr r4, _08028934 @ =gUnknown_02024A60 - ldr r0, _08028938 @ =gUnknown_02024C07 + ldr r0, _08028938 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_get_per_side_status movs r6, 0x2 @@ -53477,7 +53477,7 @@ _080288D4: b _08028964 .align 2, 0 _08028934: .4byte gUnknown_02024A60 -_08028938: .4byte gUnknown_02024C07 +_08028938: .4byte gPlayerMonIndex _0802893C: .4byte 0x02000000 _08028940: .4byte 0x00016003 _08028944: .4byte gBattleTypeFlags @@ -53518,7 +53518,7 @@ _0802896A: cmp r5, r0 beq _08028A1E ldr r2, _080289B4 @ =gUnknown_02024A6A - ldr r0, _080289B8 @ =gUnknown_02024C07 + ldr r0, _080289B8 @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 1 adds r0, r2 @@ -53532,7 +53532,7 @@ _0802896A: _080289AC: .4byte gUnknown_02024D1E _080289B0: .4byte gBattleMons _080289B4: .4byte gUnknown_02024A6A -_080289B8: .4byte gUnknown_02024C07 +_080289B8: .4byte gPlayerMonIndex _080289BC: ldr r0, _080289F4 @ =gBattleTypeFlags ldrh r1, [r0] @@ -53593,7 +53593,7 @@ _08028A26: strb r0, [r1, 0x5] movs r7, 0x3F ldr r2, _08028AB8 @ =gBattleMons - ldr r1, _08028ABC @ =gUnknown_02024C07 + ldr r1, _08028ABC @ =gPlayerMonIndex ldrb r0, [r1] movs r6, 0x58 muls r0, r6 @@ -53632,7 +53632,7 @@ _08028A26: str r2, [r0] _08028A7E: ldr r4, _08028AC0 @ =gUnknown_02024A60 - ldr r0, _08028ABC @ =gUnknown_02024C07 + ldr r0, _08028ABC @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] add r1, sp, 0x4 @@ -53658,7 +53658,7 @@ _08028A7E: .align 2, 0 _08028AB4: .4byte gUnknown_02024D1E _08028AB8: .4byte gBattleMons -_08028ABC: .4byte gUnknown_02024C07 +_08028ABC: .4byte gPlayerMonIndex _08028AC0: .4byte gUnknown_02024A60 _08028AC4: .4byte gBattleTypeFlags _08028AC8: .4byte gUnknown_02024C0C @@ -53670,7 +53670,7 @@ _08028AD0: .4byte gUnknown_02024C10 sub_8028AD4: @ 8028AD4 push {r4-r7,lr} ldr r7, _08028B24 @ =gBattleMons - ldr r0, _08028B28 @ =gUnknown_02024C08 + ldr r0, _08028B28 @ =gEnemyMonIndex ldrb r3, [r0] movs r6, 0x58 adds r1, r3, 0 @@ -53710,15 +53710,15 @@ _08028B06: b _08028B5C .align 2, 0 _08028B24: .4byte gBattleMons -_08028B28: .4byte gUnknown_02024C08 +_08028B28: .4byte gEnemyMonIndex _08028B2C: .4byte gUnknown_02024C98 _08028B30: .4byte 0x000400c0 _08028B34: .4byte gUnknown_02024C10 _08028B38: orrs r2, r5 str r2, [r4] - ldr r1, _08028B64 @ =gUnknown_02024BEC - ldr r0, _08028B68 @ =gUnknown_02024C07 + ldr r1, _08028B64 @ =gBattleMoveDamage + ldr r0, _08028B68 @ =gPlayerMonIndex ldrb r0, [r0] muls r0, r6 adds r0, r7 @@ -53739,15 +53739,15 @@ _08028B5C: pop {r0} bx r0 .align 2, 0 -_08028B64: .4byte gUnknown_02024BEC -_08028B68: .4byte gUnknown_02024C07 +_08028B64: .4byte gBattleMoveDamage +_08028B68: .4byte gPlayerMonIndex _08028B6C: .4byte gUnknown_02024C10 thumb_func_end sub_8028AD4 thumb_func_start sub_8028B70 sub_8028B70: @ 8028B70 push {r4,lr} - ldr r4, _08028BC4 @ =gUnknown_02024C07 + ldr r4, _08028BC4 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner movs r1, 0x1 @@ -53787,7 +53787,7 @@ sub_8028B70: @ 8028B70 str r1, [r3] b _08028BEE .align 2, 0 -_08028BC4: .4byte gUnknown_02024C07 +_08028BC4: .4byte gPlayerMonIndex _08028BC8: .4byte gUnknown_02024C80 _08028BCC: .4byte gUnknown_02024D68 _08028BD0: .4byte gUnknown_02024C10 @@ -53817,7 +53817,7 @@ _08028BF8: .4byte gUnknown_02024C10 thumb_func_start sub_8028BFC sub_8028BFC: @ 8028BFC ldr r1, _08028C20 @ =gBattleMons - ldr r0, _08028C24 @ =gUnknown_02024C08 + ldr r0, _08028C24 @ =gEnemyMonIndex ldrb r2, [r0] movs r0, 0x58 muls r2, r0 @@ -53835,7 +53835,7 @@ sub_8028BFC: @ 8028BFC bx lr .align 2, 0 _08028C20: .4byte gBattleMons -_08028C24: .4byte gUnknown_02024C08 +_08028C24: .4byte gEnemyMonIndex _08028C28: .4byte gUnknown_02024C10 thumb_func_end sub_8028BFC @@ -53849,7 +53849,7 @@ atkB2_setperishsong: @ 8028C2C movs r3, 0 ldr r0, _08028C70 @ =gUnknown_02024A68 adds r7, r0, 0 - ldr r0, _08028C74 @ =gUnknown_02024C07 + ldr r0, _08028C74 @ =gPlayerMonIndex mov r8, r0 ldrb r1, [r7] cmp r6, r1 @@ -53879,7 +53879,7 @@ _08028C6C: b _08028C8C .align 2, 0 _08028C70: .4byte gUnknown_02024A68 -_08028C74: .4byte gUnknown_02024C07 +_08028C74: .4byte gPlayerMonIndex _08028C78: .4byte gBattleMons _08028C7C: .4byte gUnknown_02024CA8 _08028C80: .4byte gUnknown_02024C98 @@ -53942,13 +53942,13 @@ atkB3_rolloutdamagecalculation: @ 8028CE4 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _08028D08 @ =gUnknown_02024C68 + ldr r0, _08028D08 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 cmp r0, 0 beq _08028D18 - ldr r0, _08028D0C @ =gUnknown_02024C07 + ldr r0, _08028D0C @ =gPlayerMonIndex ldrb r0, [r0] bl b_cancel_multi_turn_move_maybe ldr r1, _08028D10 @ =gUnknown_02024C10 @@ -53956,13 +53956,13 @@ atkB3_rolloutdamagecalculation: @ 8028CE4 str r0, [r1] b _08028E30 .align 2, 0 -_08028D08: .4byte gUnknown_02024C68 -_08028D0C: .4byte gUnknown_02024C07 +_08028D08: .4byte gBattleMoveFlags +_08028D0C: .4byte gPlayerMonIndex _08028D10: .4byte gUnknown_02024C10 _08028D14: .4byte BattleScript_1D6F74 _08028D18: ldr r2, _08028E3C @ =gBattleMons - ldr r1, _08028E40 @ =gUnknown_02024C07 + ldr r1, _08028E40 @ =gPlayerMonIndex ldrb r3, [r1] movs r5, 0x58 adds r0, r3, 0 @@ -54115,7 +54115,7 @@ _08028E30: bx r0 .align 2, 0 _08028E3C: .4byte gBattleMons -_08028E40: .4byte gUnknown_02024C07 +_08028E40: .4byte gPlayerMonIndex _08028E44: .4byte gUnknown_02024CA8 _08028E48: .4byte gUnknown_02024BE6 _08028E4C: .4byte gUnknown_02024C54 @@ -54129,7 +54129,7 @@ _08028E5C: .4byte gUnknown_02024C10 atkB4_jumpifconfusedandattackmaxed: @ 8028E60 push {r4,r5,lr} ldr r5, _08028EB0 @ =gBattleMons - ldr r0, _08028EB4 @ =gUnknown_02024C08 + ldr r0, _08028EB4 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 adds r3, r1, 0 @@ -54168,7 +54168,7 @@ atkB4_jumpifconfusedandattackmaxed: @ 8028E60 b _08028EC2 .align 2, 0 _08028EB0: .4byte gBattleMons -_08028EB4: .4byte gUnknown_02024C08 +_08028EB4: .4byte gEnemyMonIndex _08028EB8: .4byte gUnknown_02024C10 _08028EBC: ldr r0, [r4] @@ -54183,14 +54183,14 @@ _08028EC2: thumb_func_start sub_8028EC8 sub_8028EC8: @ 8028EC8 push {r4,r5,lr} - ldr r0, _08028EF0 @ =gUnknown_02024C68 + ldr r0, _08028EF0 @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 cmp r0, 0 beq _08028F04 ldr r2, _08028EF4 @ =gUnknown_02024CA8 - ldr r0, _08028EF8 @ =gUnknown_02024C07 + ldr r0, _08028EF8 @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -54203,14 +54203,14 @@ sub_8028EC8: @ 8028EC8 str r0, [r1] b _08028F5C .align 2, 0 -_08028EF0: .4byte gUnknown_02024C68 +_08028EF0: .4byte gBattleMoveFlags _08028EF4: .4byte gUnknown_02024CA8 -_08028EF8: .4byte gUnknown_02024C07 +_08028EF8: .4byte gPlayerMonIndex _08028EFC: .4byte gUnknown_02024C10 _08028F00: .4byte BattleScript_1D6F74 _08028F04: ldr r5, _08028F64 @ =gUnknown_02024CA8 - ldr r4, _08028F68 @ =gUnknown_02024C07 + ldr r4, _08028F68 @ =gPlayerMonIndex ldrb r1, [r4] lsls r0, r1, 3 subs r0, r1 @@ -54262,7 +54262,7 @@ _08028F5C: bx r0 .align 2, 0 _08028F64: .4byte gUnknown_02024CA8 -_08028F68: .4byte gUnknown_02024C07 +_08028F68: .4byte gPlayerMonIndex _08028F6C: .4byte gUnknown_02024DEC _08028F70: .4byte gBattleMoves _08028F74: .4byte gUnknown_02024BE6 @@ -54284,7 +54284,7 @@ atkB6_happinesstodamagecalculation: @ 8028F7C bne _08028FBC ldr r4, _08028FB0 @ =gUnknown_02024DEC ldr r2, _08028FB4 @ =gBattleMons - ldr r0, _08028FB8 @ =gUnknown_02024C07 + ldr r0, _08028FB8 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -54297,11 +54297,11 @@ _08028FA8: .4byte gBattleMoves _08028FAC: .4byte gUnknown_02024BE6 _08028FB0: .4byte gUnknown_02024DEC _08028FB4: .4byte gBattleMons -_08028FB8: .4byte gUnknown_02024C07 +_08028FB8: .4byte gPlayerMonIndex _08028FBC: ldr r4, _08028FF0 @ =gUnknown_02024DEC ldr r2, _08028FF4 @ =gBattleMons - ldr r0, _08028FF8 @ =gUnknown_02024C07 + ldr r0, _08028FF8 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -54327,7 +54327,7 @@ _08028FD2: .align 2, 0 _08028FF0: .4byte gUnknown_02024DEC _08028FF4: .4byte gBattleMons -_08028FF8: .4byte gUnknown_02024C07 +_08028FF8: .4byte gPlayerMonIndex _08028FFC: .4byte gUnknown_02024C10 thumb_func_end atkB6_happinesstodamagecalculation @@ -54364,9 +54364,9 @@ _0802902C: .align 2, 0 _08029038: .4byte gUnknown_02024DEC _0802903C: - ldr r3, _08029068 @ =gUnknown_02024BEC + ldr r3, _08029068 @ =gBattleMoveDamage ldr r2, _0802906C @ =gBattleMons - ldr r0, _08029070 @ =gUnknown_02024C08 + ldr r0, _08029070 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -54389,14 +54389,14 @@ _0802905E: ldr r0, _08029078 @ =BattleScript_1D6F44 b _080290AC .align 2, 0 -_08029068: .4byte gUnknown_02024BEC +_08029068: .4byte gBattleMoveDamage _0802906C: .4byte gBattleMons -_08029070: .4byte gUnknown_02024C08 +_08029070: .4byte gEnemyMonIndex _08029074: .4byte gUnknown_02024C10 _08029078: .4byte BattleScript_1D6F44 _0802907C: ldr r2, _08029098 @ =gBattleMons - ldr r0, _0802909C @ =gUnknown_02024C08 + ldr r0, _0802909C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -54410,7 +54410,7 @@ _0802907C: b _080290AC .align 2, 0 _08029098: .4byte gBattleMons -_0802909C: .4byte gUnknown_02024C08 +_0802909C: .4byte gEnemyMonIndex _080290A0: .4byte gUnknown_02024C10 _080290A4: .4byte BattleScript_1D83B5 _080290A8: @@ -54429,7 +54429,7 @@ _080290B8: .4byte BattleScript_1D839B thumb_func_start sub_80290BC sub_80290BC: @ 80290BC push {r4-r6,lr} - ldr r4, _080290F0 @ =gUnknown_02024C07 + ldr r4, _080290F0 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_get_per_side_status ldr r6, _080290F4 @ =gUnknown_02024C7A @@ -54443,7 +54443,7 @@ sub_80290BC: @ 80290BC ands r0, r1 cmp r0, 0 beq _08029100 - ldr r2, _080290F8 @ =gUnknown_02024C68 + ldr r2, _080290F8 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -54453,9 +54453,9 @@ sub_80290BC: @ 80290BC strb r0, [r1, 0x5] b _08029132 .align 2, 0 -_080290F0: .4byte gUnknown_02024C07 +_080290F0: .4byte gPlayerMonIndex _080290F4: .4byte gUnknown_02024C7A -_080290F8: .4byte gUnknown_02024C68 +_080290F8: .4byte gBattleMoveFlags _080290FC: .4byte gUnknown_02024D1E _08029100: ldrb r0, [r4] @@ -54584,7 +54584,7 @@ _080291E4: strb r3, [r1, 0x4] movs r0, 0xFF strb r0, [r1, 0x5] - ldr r1, _08029258 @ =gUnknown_02024C08 + ldr r1, _08029258 @ =gEnemyMonIndex strb r2, [r1] ldr r0, _0802925C @ =gUnknown_02024A68 ldrb r3, [r0] @@ -54594,7 +54594,7 @@ _080291E4: cmp r2, r3 bcs _0802923C adds r4, r6, 0 - ldr r0, _08029264 @ =gUnknown_02024C07 + ldr r0, _08029264 @ =gPlayerMonIndex ldrb r5, [r0] ldr r1, _08029268 @ =gBitTable mov r12, r1 @@ -54631,10 +54631,10 @@ _0802923C: .align 2, 0 _08029250: .4byte gUnknown_02024DEC _08029254: .4byte gUnknown_030041C0 -_08029258: .4byte gUnknown_02024C08 +_08029258: .4byte gEnemyMonIndex _0802925C: .4byte gUnknown_02024A68 _08029260: .4byte gUnknown_02024C10 -_08029264: .4byte gUnknown_02024C07 +_08029264: .4byte gPlayerMonIndex _08029268: .4byte gBitTable _0802926C: .4byte gUnknown_02024C0C thumb_func_end atkB9_magnitudedamagecalculation @@ -54650,7 +54650,7 @@ sub_8029270: @ 8029270 ldrb r0, [r0] cmp r0, 0x1 bne _080292A0 - ldr r0, _08029298 @ =gUnknown_02024C07 + ldr r0, _08029298 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -54660,12 +54660,12 @@ sub_8029270: @ 8029270 b _080292BA .align 2, 0 _08029294: .4byte gUnknown_02024C0E -_08029298: .4byte gUnknown_02024C07 +_08029298: .4byte gPlayerMonIndex _0802929C: movs r0, 0 b _080292BA _080292A0: - ldr r0, _080292B4 @ =gUnknown_02024C07 + ldr r0, _080292B4 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -54674,22 +54674,22 @@ _080292A0: movs r0, 0x3 b _080292BA .align 2, 0 -_080292B4: .4byte gUnknown_02024C07 +_080292B4: .4byte gPlayerMonIndex _080292B8: movs r0, 0x2 _080292BA: bl battle_get_side_with_given_state - ldr r1, _0802937C @ =gUnknown_02024C08 + ldr r1, _0802937C @ =gEnemyMonIndex strb r0, [r1] ldr r0, _08029380 @ =gUnknown_02024C18 - ldr r1, _0802937C @ =gUnknown_02024C08 + ldr r1, _0802937C @ =gEnemyMonIndex mov r9, r1 ldrb r3, [r1] adds r0, r3, r0 ldrb r0, [r0] cmp r0, 0 bne _080293BC - ldr r5, _08029384 @ =gUnknown_02024C07 + ldr r5, _08029384 @ =gPlayerMonIndex ldr r0, _08029388 @ =0x02000000 ldr r2, _0802938C @ =0x00016010 adds r1, r3, r2 @@ -54778,9 +54778,9 @@ _0802935A: str r0, [r7] b _080293D6 .align 2, 0 -_0802937C: .4byte gUnknown_02024C08 +_0802937C: .4byte gEnemyMonIndex _08029380: .4byte gUnknown_02024C18 -_08029384: .4byte gUnknown_02024C07 +_08029384: .4byte gPlayerMonIndex _08029388: .4byte 0x02000000 _0802938C: .4byte 0x00016010 _08029390: .4byte gBattleMons @@ -54829,7 +54829,7 @@ sub_80293E8: @ 80293E8 ands r0, r1 cmp r0, 0 beq _08029414 - ldr r2, _0802940C @ =gUnknown_02024C68 + ldr r2, _0802940C @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -54840,7 +54840,7 @@ sub_80293E8: @ 80293E8 b _08029426 .align 2, 0 _08029408: .4byte gBattleWeather -_0802940C: .4byte gUnknown_02024C68 +_0802940C: .4byte gBattleMoveFlags _08029410: .4byte gUnknown_02024D1E _08029414: movs r0, 0x20 @@ -54869,7 +54869,7 @@ _0802943C: .4byte gUnknown_02024C10 atkBC_maxattackhalvehp: @ 8029440 push {r4,r5,lr} ldr r5, _0802948C @ =gBattleMons - ldr r4, _08029490 @ =gUnknown_02024C07 + ldr r4, _08029490 @ =gPlayerMonIndex ldrb r0, [r4] movs r3, 0x58 muls r0, r3 @@ -54889,7 +54889,7 @@ _08029458: bls _0802949C movs r0, 0xC strb r0, [r2, 0x19] - ldr r1, _08029494 @ =gUnknown_02024BEC + ldr r1, _08029494 @ =gBattleMoveDamage ldrb r0, [r4] muls r0, r3 adds r0, r5 @@ -54908,8 +54908,8 @@ _08029480: b _080294B6 .align 2, 0 _0802948C: .4byte gBattleMons -_08029490: .4byte gUnknown_02024C07 -_08029494: .4byte gUnknown_02024BEC +_08029490: .4byte gPlayerMonIndex +_08029494: .4byte gBattleMoveDamage _08029498: .4byte gUnknown_02024C10 _0802949C: ldr r3, _080294BC @ =gUnknown_02024C10 @@ -54938,10 +54938,10 @@ atkBD_copyfoestats: @ 80294C0 push {r4-r7,lr} movs r2, 0 ldr r7, _080294F8 @ =gUnknown_02024C10 - ldr r6, _080294FC @ =gUnknown_02024C07 + ldr r6, _080294FC @ =gPlayerMonIndex movs r4, 0x58 ldr r3, _08029500 @ =gUnknown_02024A98 - ldr r5, _08029504 @ =gUnknown_02024C08 + ldr r5, _08029504 @ =gEnemyMonIndex _080294CE: ldrb r0, [r6] adds r1, r0, 0 @@ -54965,16 +54965,16 @@ _080294CE: bx r0 .align 2, 0 _080294F8: .4byte gUnknown_02024C10 -_080294FC: .4byte gUnknown_02024C07 +_080294FC: .4byte gPlayerMonIndex _08029500: .4byte gUnknown_02024A98 -_08029504: .4byte gUnknown_02024C08 +_08029504: .4byte gEnemyMonIndex thumb_func_end atkBD_copyfoestats thumb_func_start atkBE_breakfree atkBE_breakfree: @ 8029508 push {r4,r5,lr} ldr r1, _08029570 @ =gBattleMons - ldr r5, _08029574 @ =gUnknown_02024C07 + ldr r5, _08029574 @ =gPlayerMonIndex ldrb r2, [r5] movs r0, 0x58 muls r0, r2 @@ -54989,7 +54989,7 @@ atkBE_breakfree: @ 8029508 ldr r0, _08029578 @ =0xffff1fff ands r1, r0 str r1, [r3] - ldr r1, _0802957C @ =gUnknown_02024C08 + ldr r1, _0802957C @ =gEnemyMonIndex ldr r2, _08029580 @ =0x02000000 ldrb r0, [r5] ldr r3, _08029584 @ =0x00016020 @@ -55024,9 +55024,9 @@ atkBE_breakfree: @ 8029508 b _0802963E .align 2, 0 _08029570: .4byte gBattleMons -_08029574: .4byte gUnknown_02024C07 +_08029574: .4byte gPlayerMonIndex _08029578: .4byte 0xffff1fff -_0802957C: .4byte gUnknown_02024C08 +_0802957C: .4byte gEnemyMonIndex _08029580: .4byte 0x02000000 _08029584: .4byte 0x00016020 _08029588: .4byte gUnknown_030041C0 @@ -55119,7 +55119,7 @@ _08029648: .4byte gUnknown_02024C10 thumb_func_start sub_802964C sub_802964C: @ 802964C ldr r1, _08029670 @ =gBattleMons - ldr r0, _08029674 @ =gUnknown_02024C07 + ldr r0, _08029674 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r2, r0 @@ -55137,7 +55137,7 @@ sub_802964C: @ 802964C bx lr .align 2, 0 _08029670: .4byte gBattleMons -_08029674: .4byte gUnknown_02024C07 +_08029674: .4byte gPlayerMonIndex _08029678: .4byte gUnknown_02024C10 thumb_func_end sub_802964C @@ -55145,8 +55145,8 @@ _08029678: .4byte gUnknown_02024C10 atkC0_recoverbasedonsunlight: @ 802967C push {r4-r7,lr} sub sp, 0x4 - ldr r1, _080296E8 @ =gUnknown_02024C08 - ldr r5, _080296EC @ =gUnknown_02024C07 + ldr r1, _080296E8 @ =gEnemyMonIndex + ldr r5, _080296EC @ =gPlayerMonIndex ldrb r0, [r5] strb r0, [r1] ldr r7, _080296F0 @ =gBattleMons @@ -55183,9 +55183,9 @@ atkC0_recoverbasedonsunlight: @ 802967C cmp r0, 0 beq _080296FC _080296CE: - ldr r3, _080296F8 @ =gUnknown_02024BEC + ldr r3, _080296F8 @ =gBattleMoveDamage ldr r2, _080296F0 @ =gBattleMons - ldr r0, _080296EC @ =gUnknown_02024C07 + ldr r0, _080296EC @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -55196,18 +55196,18 @@ _080296CE: adds r1, r3, 0 b _08029736 .align 2, 0 -_080296E8: .4byte gUnknown_02024C08 -_080296EC: .4byte gUnknown_02024C07 +_080296E8: .4byte gEnemyMonIndex +_080296EC: .4byte gPlayerMonIndex _080296F0: .4byte gBattleMons _080296F4: .4byte gBattleWeather -_080296F8: .4byte gUnknown_02024BEC +_080296F8: .4byte gBattleMoveDamage _080296FC: ldrh r1, [r4] movs r0, 0x60 ands r0, r1 cmp r0, 0 beq _08029728 - ldr r4, _08029724 @ =gUnknown_02024BEC + ldr r4, _08029724 @ =gBattleMoveDamage ldrb r0, [r5] muls r0, r6 adds r0, r7 @@ -55221,9 +55221,9 @@ _080296FC: adds r1, r4, 0 b _08029736 .align 2, 0 -_08029724: .4byte gUnknown_02024BEC +_08029724: .4byte gBattleMoveDamage _08029728: - ldr r1, _08029754 @ =gUnknown_02024BEC + ldr r1, _08029754 @ =gBattleMoveDamage ldrb r0, [r5] muls r0, r6 adds r0, r7 @@ -55247,7 +55247,7 @@ _08029742: str r0, [r1] b _08029776 .align 2, 0 -_08029754: .4byte gUnknown_02024BEC +_08029754: .4byte gBattleMoveDamage _08029758: .4byte gUnknown_02024C10 _0802975C: ldr r3, _08029780 @ =gUnknown_02024C10 @@ -55280,7 +55280,7 @@ sub_8029784: @ 8029784 mov r5, r8 push {r5-r7} ldr r2, _08029894 @ =gBattleMons - ldr r0, _08029898 @ =gUnknown_02024C07 + ldr r0, _08029898 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 adds r4, r1, 0 @@ -55411,7 +55411,7 @@ _08029876: bx r0 .align 2, 0 _08029894: .4byte gBattleMons -_08029898: .4byte gUnknown_02024C07 +_08029898: .4byte gPlayerMonIndex _0802989C: .4byte gUnknown_02024DEC _080298A0: .4byte 0x02000000 _080298A4: .4byte 0x0001601c @@ -55423,7 +55423,7 @@ atkC2_selectnexttarget: @ 80298AC push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _08029908 @ =gUnknown_02024C08 + ldr r0, _08029908 @ =gEnemyMonIndex movs r1, 0 strb r1, [r0] ldr r1, _0802990C @ =gUnknown_02024A68 @@ -55434,7 +55434,7 @@ atkC2_selectnexttarget: @ 80298AC cmp r1, 0 beq _080298F6 adds r3, r6, 0 - ldr r0, _08029914 @ =gUnknown_02024C07 + ldr r0, _08029914 @ =gPlayerMonIndex ldrb r5, [r0] ldr r0, _08029918 @ =gBitTable mov r12, r0 @@ -55470,10 +55470,10 @@ _080298F6: pop {r0} bx r0 .align 2, 0 -_08029908: .4byte gUnknown_02024C08 +_08029908: .4byte gEnemyMonIndex _0802990C: .4byte gUnknown_02024A68 _08029910: .4byte gUnknown_02024C10 -_08029914: .4byte gUnknown_02024C07 +_08029914: .4byte gPlayerMonIndex _08029918: .4byte gBitTable _0802991C: .4byte gUnknown_02024C0C thumb_func_end atkC2_selectnexttarget @@ -55488,7 +55488,7 @@ atkC3_setfutureattack: @ 8029920 sub sp, 0x10 ldr r0, _08029958 @ =gUnknown_02024DBC mov r8, r0 - ldr r7, _0802995C @ =gUnknown_02024C08 + ldr r7, _0802995C @ =gEnemyMonIndex ldrb r1, [r7] adds r0, r1, r0 ldrb r6, [r0] @@ -55510,7 +55510,7 @@ atkC3_setfutureattack: @ 8029920 b _08029A2E .align 2, 0 _08029958: .4byte gUnknown_02024DBC -_0802995C: .4byte gUnknown_02024C08 +_0802995C: .4byte gEnemyMonIndex _08029960: .4byte gUnknown_02024C10 _08029964: lsls r1, 1 @@ -55525,7 +55525,7 @@ _08029964: adds r0, 0x4 ldrb r4, [r7] adds r0, r4 - ldr r5, _08029A08 @ =gUnknown_02024C07 + ldr r5, _08029A08 @ =gPlayerMonIndex ldrb r1, [r5] strb r1, [r0] ldrb r0, [r7] @@ -55593,7 +55593,7 @@ _080299F2: b _08029A26 .align 2, 0 _08029A04: .4byte gUnknown_02024BE6 -_08029A08: .4byte gUnknown_02024C07 +_08029A08: .4byte gPlayerMonIndex _08029A0C: .4byte gUnknown_02024C7A _08029A10: .4byte gBattleMons _08029A14: .4byte gUnknown_02024D28 @@ -55628,7 +55628,7 @@ atkC4_802B910: @ 8029A48 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _08029A8C @ =gUnknown_02024C07 + ldr r0, _08029A8C @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -55638,7 +55638,7 @@ atkC4_802B910: @ 8029A48 ldr r7, _08029A94 @ =gPlayerParty _08029A62: ldr r2, _08029A98 @ =gBattleMons - ldr r0, _08029A9C @ =gUnknown_02024C08 + ldr r0, _08029A9C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -55658,11 +55658,11 @@ _08029A62: ldrb r0, [r2, 0x4] b _08029C40 .align 2, 0 -_08029A8C: .4byte gUnknown_02024C07 +_08029A8C: .4byte gPlayerMonIndex _08029A90: .4byte gEnemyParty _08029A94: .4byte gPlayerParty _08029A98: .4byte gBattleMons -_08029A9C: .4byte gUnknown_02024C08 +_08029A9C: .4byte gEnemyMonIndex _08029AA0: .4byte gUnknown_02024C10 _08029AA4: ldr r6, _08029BE0 @ =gUnknown_02024D1E @@ -55725,7 +55725,7 @@ _08029B08: strb r0, [r1] movs r0, 0x4 strb r0, [r1, 0x1] - ldr r6, _08029BE8 @ =gUnknown_02024C07 + ldr r6, _08029BE8 @ =gPlayerMonIndex ldrb r0, [r6] strb r0, [r1, 0x2] strb r2, [r1, 0x3] @@ -55735,7 +55735,7 @@ _08029B08: ldr r0, [r1] adds r0, 0x9 str r0, [r1] - ldr r2, _08029BF0 @ =gUnknown_02024BEC + ldr r2, _08029BF0 @ =gBattleMoveDamage mov r8, r2 ldr r5, _08029BF4 @ =gBaseStats mov r1, r9 @@ -55778,7 +55778,7 @@ _08029B08: muls r0, r1 str r0, [r2] ldr r3, _08029C00 @ =gBattleMons - ldr r1, _08029C04 @ =gUnknown_02024C08 + ldr r1, _08029C04 @ =gEnemyMonIndex ldrb r2, [r1] movs r1, 0x58 muls r1, r2 @@ -55820,14 +55820,14 @@ _08029BD4: .align 2, 0 _08029BE0: .4byte gUnknown_02024D1E _08029BE4: .4byte gUnknown_030041C0 -_08029BE8: .4byte gUnknown_02024C07 +_08029BE8: .4byte gPlayerMonIndex _08029BEC: .4byte gUnknown_02024C10 -_08029BF0: .4byte gUnknown_02024BEC +_08029BF0: .4byte gBattleMoveDamage _08029BF4: .4byte gBaseStats _08029BF8: .4byte gBattleMoves _08029BFC: .4byte gUnknown_02024BE6 _08029C00: .4byte gBattleMons -_08029C04: .4byte gUnknown_02024C08 +_08029C04: .4byte gEnemyMonIndex _08029C08: .4byte gUnknown_02024D28 _08029C0C: mov r0, r8 @@ -55895,7 +55895,7 @@ _08029C70: bne _08029CC4 _08029C7C: ldr r2, _08029C90 @ =gUnknown_02024C98 - ldr r0, _08029C94 @ =gUnknown_02024C07 + ldr r0, _08029C94 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -55905,10 +55905,10 @@ _08029C7C: .align 2, 0 _08029C8C: .4byte 0x00000123 _08029C90: .4byte gUnknown_02024C98 -_08029C94: .4byte gUnknown_02024C07 +_08029C94: .4byte gPlayerMonIndex _08029C98: ldr r2, _08029CA8 @ =gUnknown_02024C98 - ldr r0, _08029CAC @ =gUnknown_02024C07 + ldr r0, _08029CAC @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -55917,10 +55917,10 @@ _08029C98: b _08029CC0 .align 2, 0 _08029CA8: .4byte gUnknown_02024C98 -_08029CAC: .4byte gUnknown_02024C07 +_08029CAC: .4byte gPlayerMonIndex _08029CB0: ldr r2, _08029CD0 @ =gUnknown_02024C98 - ldr r0, _08029CD4 @ =gUnknown_02024C07 + ldr r0, _08029CD4 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -55939,7 +55939,7 @@ _08029CC4: bx r0 .align 2, 0 _08029CD0: .4byte gUnknown_02024C98 -_08029CD4: .4byte gUnknown_02024C07 +_08029CD4: .4byte gPlayerMonIndex _08029CD8: .4byte gUnknown_02024C10 thumb_func_end atkC5_hidepreattack @@ -55966,7 +55966,7 @@ _08029CF4: bne _08029D4E _08029D00: ldr r2, _08029D18 @ =gUnknown_02024C98 - ldr r0, _08029D1C @ =gUnknown_02024C07 + ldr r0, _08029D1C @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -55977,10 +55977,10 @@ _08029D00: .align 2, 0 _08029D14: .4byte 0x00000123 _08029D18: .4byte gUnknown_02024C98 -_08029D1C: .4byte gUnknown_02024C07 +_08029D1C: .4byte gPlayerMonIndex _08029D20: ldr r2, _08029D34 @ =gUnknown_02024C98 - ldr r0, _08029D38 @ =gUnknown_02024C07 + ldr r0, _08029D38 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -55990,10 +55990,10 @@ _08029D20: b _08029D4A .align 2, 0 _08029D34: .4byte gUnknown_02024C98 -_08029D38: .4byte gUnknown_02024C07 +_08029D38: .4byte gPlayerMonIndex _08029D3C: ldr r2, _08029D5C @ =gUnknown_02024C98 - ldr r0, _08029D60 @ =gUnknown_02024C07 + ldr r0, _08029D60 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -56011,7 +56011,7 @@ _08029D4E: bx r0 .align 2, 0 _08029D5C: .4byte gUnknown_02024C98 -_08029D60: .4byte gUnknown_02024C07 +_08029D60: .4byte gPlayerMonIndex _08029D64: .4byte 0xfffbffff _08029D68: .4byte gUnknown_02024C10 thumb_func_end atkC6_unhidepostattack @@ -56027,7 +56027,7 @@ atkC7_setminimize: @ 8029D6C cmp r0, 0 beq _08029D90 ldr r2, _08029DA0 @ =gUnknown_02024C98 - ldr r0, _08029DA4 @ =gUnknown_02024C07 + ldr r0, _08029DA4 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -56046,7 +56046,7 @@ _08029D90: .align 2, 0 _08029D9C: .4byte gUnknown_02024C6C _08029DA0: .4byte gUnknown_02024C98 -_08029DA4: .4byte gUnknown_02024C07 +_08029DA4: .4byte gPlayerMonIndex _08029DA8: .4byte gUnknown_02024C10 thumb_func_end atkC7_setminimize @@ -56060,7 +56060,7 @@ sub_8029DAC: @ 8029DAC ands r0, r1 cmp r0, 0 beq _08029DDC - ldr r2, _08029DD4 @ =gUnknown_02024C68 + ldr r2, _08029DD4 @ =gBattleMoveFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -56071,7 +56071,7 @@ sub_8029DAC: @ 8029DAC b _08029DEA .align 2, 0 _08029DD0: .4byte gBattleWeather -_08029DD4: .4byte gUnknown_02024C68 +_08029DD4: .4byte gBattleMoveFlags _08029DD8: .4byte gUnknown_02024D1E _08029DDC: strh r2, [r3] @@ -56098,7 +56098,7 @@ _08029E00: .4byte gUnknown_02024C10 atkC9_jumpifattackandspecialattackcannotfall: @ 8029E04 push {r4,lr} ldr r2, _08029E48 @ =gBattleMons - ldr r0, _08029E4C @ =gUnknown_02024C08 + ldr r0, _08029E4C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -56132,15 +56132,15 @@ atkC9_jumpifattackandspecialattackcannotfall: @ 8029E04 b _08029E84 .align 2, 0 _08029E48: .4byte gBattleMons -_08029E4C: .4byte gUnknown_02024C08 +_08029E4C: .4byte gEnemyMonIndex _08029E50: .4byte gUnknown_02024D1E _08029E54: .4byte gUnknown_02024C10 _08029E58: ldr r4, _08029E8C @ =gUnknown_02024A60 - ldr r0, _08029E90 @ =gUnknown_02024C07 + ldr r0, _08029E90 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] - ldr r2, _08029E94 @ =gUnknown_02024BEC + ldr r2, _08029E94 @ =gBattleMoveDamage ldrb r1, [r4] movs r0, 0x58 muls r0, r1 @@ -56162,8 +56162,8 @@ _08029E84: bx r0 .align 2, 0 _08029E8C: .4byte gUnknown_02024A60 -_08029E90: .4byte gUnknown_02024C07 -_08029E94: .4byte gUnknown_02024BEC +_08029E90: .4byte gPlayerMonIndex +_08029E94: .4byte gBattleMoveDamage _08029E98: .4byte 0x00007fff _08029E9C: .4byte gUnknown_02024C10 thumb_func_end atkC9_jumpifattackandspecialattackcannotfall @@ -56171,7 +56171,7 @@ _08029E9C: .4byte gUnknown_02024C10 thumb_func_start atkCA_setforcedtarget atkCA_setforcedtarget: @ 8029EA0 push {r4,r5,lr} - ldr r4, _08029EE0 @ =gUnknown_02024C07 + ldr r4, _08029EE0 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner ldr r5, _08029EE4 @ =gUnknown_02024C80 @@ -56201,7 +56201,7 @@ atkCA_setforcedtarget: @ 8029EA0 pop {r0} bx r0 .align 2, 0 -_08029EE0: .4byte gUnknown_02024C07 +_08029EE0: .4byte gPlayerMonIndex _08029EE4: .4byte gUnknown_02024C80 _08029EE8: .4byte gUnknown_02024C10 thumb_func_end atkCA_setforcedtarget @@ -56210,7 +56210,7 @@ _08029EE8: .4byte gUnknown_02024C10 atkCB_setcharge: @ 8029EEC push {r4,lr} ldr r0, _08029F40 @ =gUnknown_02024C98 - ldr r3, _08029F44 @ =gUnknown_02024C07 + ldr r3, _08029F44 @ =gPlayerMonIndex ldrb r1, [r3] lsls r1, 2 adds r1, r0 @@ -56252,7 +56252,7 @@ atkCB_setcharge: @ 8029EEC bx r0 .align 2, 0 _08029F40: .4byte gUnknown_02024C98 -_08029F44: .4byte gUnknown_02024C07 +_08029F44: .4byte gPlayerMonIndex _08029F48: .4byte gUnknown_02024CA8 _08029F4C: .4byte gUnknown_02024C10 thumb_func_end atkCB_setcharge @@ -56276,7 +56276,7 @@ atkCC_callterrainattack: @ 8029F50 ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _08029FB4 @ =gUnknown_02024C08 + ldr r1, _08029FB4 @ =gEnemyMonIndex strb r0, [r1] ldr r3, _08029FB8 @ =gUnknown_081D6BBC ldr r2, _08029FBC @ =gBattleMoves @@ -56303,7 +56303,7 @@ _08029FA4: .4byte 0xfffffbff _08029FA8: .4byte gUnknown_02024BE6 _08029FAC: .4byte gNaturePowerMoves _08029FB0: .4byte gBattleTerrain -_08029FB4: .4byte gUnknown_02024C08 +_08029FB4: .4byte gEnemyMonIndex _08029FB8: .4byte gUnknown_081D6BBC _08029FBC: .4byte gBattleMoves _08029FC0: .4byte gUnknown_02024C10 @@ -56314,7 +56314,7 @@ atkCD_cureifburnedparalysedorpoisoned: @ 8029FC4 push {r4-r6,lr} sub sp, 0x4 ldr r1, _0802A010 @ =gBattleMons - ldr r3, _0802A014 @ =gUnknown_02024C07 + ldr r3, _0802A014 @ =gPlayerMonIndex ldrb r0, [r3] movs r6, 0x58 muls r0, r6 @@ -56349,7 +56349,7 @@ atkCD_cureifburnedparalysedorpoisoned: @ 8029FC4 b _0802A03A .align 2, 0 _0802A010: .4byte gBattleMons -_0802A014: .4byte gUnknown_02024C07 +_0802A014: .4byte gPlayerMonIndex _0802A018: .4byte gUnknown_02024C10 _0802A01C: .4byte gUnknown_02024A60 _0802A020: @@ -56379,7 +56379,7 @@ _0802A044: .4byte gUnknown_02024C10 atkCE_settorment: @ 802A048 push {lr} ldr r1, _0802A080 @ =gBattleMons - ldr r0, _0802A084 @ =gUnknown_02024C08 + ldr r0, _0802A084 @ =gEnemyMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -56406,7 +56406,7 @@ atkCE_settorment: @ 802A048 b _0802A098 .align 2, 0 _0802A080: .4byte gBattleMons -_0802A084: .4byte gUnknown_02024C08 +_0802A084: .4byte gEnemyMonIndex _0802A088: .4byte gUnknown_02024C10 _0802A08C: orrs r1, r2 @@ -56426,7 +56426,7 @@ _0802A09C: .4byte gUnknown_02024C10 atkCF_jumpifnodamage: @ 802A0A0 push {lr} ldr r2, _0802A0CC @ =gUnknown_02024D28 - ldr r0, _0802A0D0 @ =gUnknown_02024C07 + ldr r0, _0802A0D0 @ =gPlayerMonIndex ldrb r0, [r0] lsls r1, r0, 4 adds r0, r2, 0x4 @@ -56448,7 +56448,7 @@ _0802A0C0: b _0802A0F2 .align 2, 0 _0802A0CC: .4byte gUnknown_02024D28 -_0802A0D0: .4byte gUnknown_02024C07 +_0802A0D0: .4byte gPlayerMonIndex _0802A0D4: .4byte gUnknown_02024C10 _0802A0D8: ldr r3, _0802A0F8 @ =gUnknown_02024C10 @@ -56475,7 +56475,7 @@ _0802A0F8: .4byte gUnknown_02024C10 atkD0_settaunt: @ 802A0FC push {r4,lr} ldr r4, _0802A140 @ =gUnknown_02024CA8 - ldr r3, _0802A144 @ =gUnknown_02024C08 + ldr r3, _0802A144 @ =gEnemyMonIndex ldrb r0, [r3] lsls r1, r0, 3 subs r1, r0 @@ -56509,7 +56509,7 @@ atkD0_settaunt: @ 802A0FC b _0802A166 .align 2, 0 _0802A140: .4byte gUnknown_02024CA8 -_0802A144: .4byte gUnknown_02024C08 +_0802A144: .4byte gEnemyMonIndex _0802A148: .4byte gUnknown_02024C10 _0802A14C: ldr r3, _0802A16C @ =gUnknown_02024C10 @@ -56536,7 +56536,7 @@ _0802A16C: .4byte gUnknown_02024C10 thumb_func_start sub_802A170 sub_802A170: @ 802A170 push {r4,lr} - ldr r4, _0802A1D8 @ =gUnknown_02024C07 + ldr r4, _0802A1D8 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_get_per_side_status movs r1, 0x2 @@ -56544,7 +56544,7 @@ sub_802A170: @ 802A170 lsls r0, 24 lsrs r0, 24 bl battle_get_side_with_given_state - ldr r3, _0802A1DC @ =gUnknown_02024C08 + ldr r3, _0802A1DC @ =gEnemyMonIndex strb r0, [r3] ldr r0, _0802A1E0 @ =gBattleTypeFlags ldrh r1, [r0] @@ -56585,8 +56585,8 @@ sub_802A170: @ 802A170 str r0, [r1] b _0802A20E .align 2, 0 -_0802A1D8: .4byte gUnknown_02024C07 -_0802A1DC: .4byte gUnknown_02024C08 +_0802A1D8: .4byte gPlayerMonIndex +_0802A1DC: .4byte gEnemyMonIndex _0802A1E0: .4byte gBattleTypeFlags _0802A1E4: .4byte gUnknown_02024C0C _0802A1E8: .4byte gBitTable @@ -56622,7 +56622,7 @@ sub_802A218: @ 802A218 mov r5, r8 push {r5-r7} sub sp, 0x4 - ldr r0, _0802A30C @ =gUnknown_02024C07 + ldr r0, _0802A30C @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -56642,7 +56642,7 @@ sub_802A218: @ 802A218 cmp r1, r0 bne _0802A2EE _0802A24C: - ldr r4, _0802A30C @ =gUnknown_02024C07 + ldr r4, _0802A30C @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -56678,7 +56678,7 @@ _0802A24C: _0802A290: ldr r0, _0802A328 @ =gBattleMons mov r9, r0 - ldr r1, _0802A30C @ =gUnknown_02024C07 + ldr r1, _0802A30C @ =gPlayerMonIndex ldrb r4, [r1] movs r2, 0x58 mov r8, r2 @@ -56690,7 +56690,7 @@ _0802A290: adds r1, r3, 0 cmp r1, 0 bne _0802A2BE - ldr r0, _0802A32C @ =gUnknown_02024C08 + ldr r0, _0802A32C @ =gEnemyMonIndex ldrb r0, [r0] mov r2, r8 muls r2, r0 @@ -56702,7 +56702,7 @@ _0802A290: _0802A2BE: cmp r1, 0xAF beq _0802A2EE - ldr r7, _0802A32C @ =gUnknown_02024C08 + ldr r7, _0802A32C @ =gEnemyMonIndex ldrb r0, [r7] mov r1, r8 muls r1, r0 @@ -56740,7 +56740,7 @@ _0802A2EE: str r1, [r3] b _0802A49A .align 2, 0 -_0802A30C: .4byte gUnknown_02024C07 +_0802A30C: .4byte gPlayerMonIndex _0802A310: .4byte gBattleTypeFlags _0802A314: .4byte 0x00000902 _0802A318: .4byte gTrainerBattleOpponent @@ -56748,7 +56748,7 @@ _0802A31C: .4byte gUnknown_02024DBC _0802A320: .4byte gBitTable _0802A324: .4byte gUnknown_02024A6A _0802A328: .4byte gBattleMons -_0802A32C: .4byte gUnknown_02024C08 +_0802A32C: .4byte gEnemyMonIndex _0802A330: .4byte gUnknown_02024C10 _0802A334: adds r0, r2, 0 @@ -56783,7 +56783,7 @@ _0802A36C: ldrh r5, [r5, 0x2E] mov r10, r5 strh r1, [r6] - ldr r3, _0802A45C @ =gUnknown_02024C07 + ldr r3, _0802A45C @ =gPlayerMonIndex ldrb r0, [r3] mov r1, r8 muls r1, r0 @@ -56799,7 +56799,7 @@ _0802A36C: mov r3, r10 strh r3, [r0, 0x2E] ldr r5, _0802A460 @ =gUnknown_02024A60 - ldr r1, _0802A45C @ =gUnknown_02024C07 + ldr r1, _0802A45C @ =gPlayerMonIndex ldrb r0, [r1] strb r0, [r5] str r6, [sp] @@ -56808,7 +56808,7 @@ _0802A36C: movs r2, 0 movs r3, 0x2 bl dp01_build_cmdbuf_x02_a_b_varargs - ldr r2, _0802A45C @ =gUnknown_02024C07 + ldr r2, _0802A45C @ =gPlayerMonIndex ldrb r0, [r2] bl dp01_battle_side_mark_buffer_for_execution ldrb r0, [r7] @@ -56844,7 +56844,7 @@ _0802A36C: adds r0, r4 movs r3, 0 strb r3, [r0] - ldr r3, _0802A45C @ =gUnknown_02024C07 + ldr r3, _0802A45C @ =gPlayerMonIndex ldrb r0, [r3] lsls r0, 1 adds r0, r2 @@ -56893,7 +56893,7 @@ _0802A36C: b _0802A498 .align 2, 0 _0802A458: .4byte 0x020160f0 -_0802A45C: .4byte gUnknown_02024C07 +_0802A45C: .4byte gPlayerMonIndex _0802A460: .4byte gUnknown_02024A60 _0802A464: .4byte 0xfffe9f10 _0802A468: .4byte 0x000160e8 @@ -56934,7 +56934,7 @@ _0802A4AC: .4byte gUnknown_02024D1E sub_802A4B0: @ 802A4B0 push {r4,lr} ldr r3, _0802A4F0 @ =gBattleMons - ldr r4, _0802A4F4 @ =gUnknown_02024C08 + ldr r4, _0802A4F4 @ =gEnemyMonIndex ldrb r0, [r4] movs r2, 0x58 muls r0, r2 @@ -56946,7 +56946,7 @@ sub_802A4B0: @ 802A4B0 beq _0802A504 cmp r0, 0x19 beq _0802A504 - ldr r0, _0802A4F8 @ =gUnknown_02024C07 + ldr r0, _0802A4F8 @ =gPlayerMonIndex ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -56966,8 +56966,8 @@ sub_802A4B0: @ 802A4B0 b _0802A51E .align 2, 0 _0802A4F0: .4byte gBattleMons -_0802A4F4: .4byte gUnknown_02024C08 -_0802A4F8: .4byte gUnknown_02024C07 +_0802A4F4: .4byte gEnemyMonIndex +_0802A4F8: .4byte gPlayerMonIndex _0802A4FC: .4byte byte_2024C06 _0802A500: .4byte gUnknown_02024C10 _0802A504: @@ -57007,7 +57007,7 @@ atkD4_802C408: @ 802A528 _0802A53C: .4byte gUnknown_02024C10 _0802A540: ldr r1, _0802A56C @ =gUnknown_02024DBC - ldr r4, _0802A570 @ =gUnknown_02024C07 + ldr r4, _0802A570 @ =gPlayerMonIndex adds r0, r1, 0 adds r0, 0x20 ldrb r5, [r4] @@ -57030,7 +57030,7 @@ _0802A540: b _0802A5F2 .align 2, 0 _0802A56C: .4byte gUnknown_02024DBC -_0802A570: .4byte gUnknown_02024C07 +_0802A570: .4byte gPlayerMonIndex _0802A574: .4byte gUnknown_02024A6A _0802A578: ldr r1, _0802A5DC @ =gUnknown_030041C0 @@ -57038,7 +57038,7 @@ _0802A578: strb r0, [r1] movs r0, 0x4 strb r0, [r1, 0x1] - ldr r4, _0802A5E0 @ =gUnknown_02024C08 + ldr r4, _0802A5E0 @ =gEnemyMonIndex ldrb r0, [r4] strb r0, [r1, 0x2] ldr r0, _0802A5E4 @ =gUnknown_02024DBC @@ -57049,7 +57049,7 @@ _0802A578: strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _0802A5E8 @ =gUnknown_02024BEC + ldr r1, _0802A5E8 @ =gBattleMoveDamage ldr r6, _0802A5EC @ =gBattleMons ldrb r0, [r4] movs r5, 0x58 @@ -57087,9 +57087,9 @@ _0802A5C4: b _0802A5F4 .align 2, 0 _0802A5DC: .4byte gUnknown_030041C0 -_0802A5E0: .4byte gUnknown_02024C08 +_0802A5E0: .4byte gEnemyMonIndex _0802A5E4: .4byte gUnknown_02024DBC -_0802A5E8: .4byte gUnknown_02024BEC +_0802A5E8: .4byte gBattleMoveDamage _0802A5EC: .4byte gBattleMons _0802A5F0: adds r0, r2, 0x6 @@ -57105,7 +57105,7 @@ _0802A5F4: sub_802A5FC: @ 802A5FC push {lr} ldr r1, _0802A634 @ =gUnknown_02024C98 - ldr r0, _0802A638 @ =gUnknown_02024C07 + ldr r0, _0802A638 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -57132,7 +57132,7 @@ sub_802A5FC: @ 802A5FC b _0802A64C .align 2, 0 _0802A634: .4byte gUnknown_02024C98 -_0802A638: .4byte gUnknown_02024C07 +_0802A638: .4byte gPlayerMonIndex _0802A63C: .4byte gUnknown_02024C10 _0802A640: orrs r1, r3 @@ -57152,7 +57152,7 @@ _0802A650: .4byte gUnknown_02024C10 atkD6_doubledamagedealtifdamaged: @ 802A654 push {lr} ldr r3, _0802A6A4 @ =gUnknown_02024D28 - ldr r0, _0802A6A8 @ =gUnknown_02024C07 + ldr r0, _0802A6A8 @ =gPlayerMonIndex ldrb r0, [r0] lsls r2, r0, 4 adds r0, r3, 0x4 @@ -57161,7 +57161,7 @@ atkD6_doubledamagedealtifdamaged: @ 802A654 cmp r0, 0 beq _0802A674 adds r0, r2, r3 - ldr r1, _0802A6AC @ =gUnknown_02024C08 + ldr r1, _0802A6AC @ =gEnemyMonIndex ldrb r0, [r0, 0xC] ldrb r1, [r1] cmp r0, r1 @@ -57174,7 +57174,7 @@ _0802A674: cmp r0, 0 beq _0802A696 adds r0, r2, r3 - ldr r1, _0802A6AC @ =gUnknown_02024C08 + ldr r1, _0802A6AC @ =gEnemyMonIndex ldrb r0, [r0, 0xD] ldrb r1, [r1] cmp r0, r1 @@ -57194,8 +57194,8 @@ _0802A696: bx r0 .align 2, 0 _0802A6A4: .4byte gUnknown_02024D28 -_0802A6A8: .4byte gUnknown_02024C07 -_0802A6AC: .4byte gUnknown_02024C08 +_0802A6A8: .4byte gPlayerMonIndex +_0802A6AC: .4byte gEnemyMonIndex _0802A6B0: .4byte 0x02000000 _0802A6B4: .4byte 0x0001601f _0802A6B8: .4byte gUnknown_02024C10 @@ -57205,7 +57205,7 @@ _0802A6B8: .4byte gUnknown_02024C10 sub_802A6BC: @ 802A6BC push {r4,lr} ldr r1, _0802A700 @ =gUnknown_02024C98 - ldr r0, _0802A704 @ =gUnknown_02024C08 + ldr r0, _0802A704 @ =gEnemyMonIndex ldrb r3, [r0] lsls r0, r3, 2 adds r4, r0, r1 @@ -57240,7 +57240,7 @@ _0802A6E4: b _0802A720 .align 2, 0 _0802A700: .4byte gUnknown_02024C98 -_0802A704: .4byte gUnknown_02024C08 +_0802A704: .4byte gEnemyMonIndex _0802A708: .4byte gBattleMons _0802A70C: .4byte gUnknown_02024C10 _0802A710: @@ -57264,12 +57264,12 @@ _0802A728: .4byte gUnknown_02024C10 atkD8_setdamagetohealthdifference: @ 802A72C push {lr} ldr r2, _0802A768 @ =gBattleMons - ldr r0, _0802A76C @ =gUnknown_02024C08 + ldr r0, _0802A76C @ =gEnemyMonIndex ldrb r0, [r0] movs r1, 0x58 muls r0, r1 adds r3, r0, r2 - ldr r0, _0802A770 @ =gUnknown_02024C07 + ldr r0, _0802A770 @ =gPlayerMonIndex ldrb r0, [r0] muls r0, r1 adds r1, r0, r2 @@ -57293,11 +57293,11 @@ atkD8_setdamagetohealthdifference: @ 802A72C b _0802A78A .align 2, 0 _0802A768: .4byte gBattleMons -_0802A76C: .4byte gUnknown_02024C08 -_0802A770: .4byte gUnknown_02024C07 +_0802A76C: .4byte gEnemyMonIndex +_0802A770: .4byte gPlayerMonIndex _0802A774: .4byte gUnknown_02024C10 _0802A778: - ldr r2, _0802A790 @ =gUnknown_02024BEC + ldr r2, _0802A790 @ =gBattleMoveDamage ldrh r0, [r3, 0x28] ldrh r1, [r1, 0x28] subs r0, r1 @@ -57310,7 +57310,7 @@ _0802A78A: pop {r0} bx r0 .align 2, 0 -_0802A790: .4byte gUnknown_02024BEC +_0802A790: .4byte gBattleMoveDamage _0802A794: .4byte gUnknown_02024C10 thumb_func_end atkD8_setdamagetohealthdifference @@ -57330,7 +57330,7 @@ atkD9_scaledamagebyhealthratio: @ 802A798 adds r0, r2 ldrb r3, [r0, 0x1] ldr r2, _0802A7F0 @ =gBattleMons - ldr r0, _0802A7F4 @ =gUnknown_02024C07 + ldr r0, _0802A7F4 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -57358,7 +57358,7 @@ _0802A7E4: .4byte gUnknown_02024DEC _0802A7E8: .4byte gBattleMoves _0802A7EC: .4byte gUnknown_02024BE6 _0802A7F0: .4byte gBattleMons -_0802A7F4: .4byte gUnknown_02024C07 +_0802A7F4: .4byte gPlayerMonIndex _0802A7F8: .4byte gUnknown_02024C10 thumb_func_end atkD9_scaledamagebyhealthratio @@ -57366,7 +57366,7 @@ _0802A7F8: .4byte gUnknown_02024C10 atkDA_abilityswap: @ 802A7FC push {r4-r6,lr} ldr r5, _0802A860 @ =gBattleMons - ldr r0, _0802A864 @ =gUnknown_02024C07 + ldr r0, _0802A864 @ =gPlayerMonIndex ldrb r0, [r0] movs r4, 0x58 muls r0, r4 @@ -57376,7 +57376,7 @@ atkDA_abilityswap: @ 802A7FC ldrb r1, [r2] cmp r1, 0 bne _0802A824 - ldr r0, _0802A868 @ =gUnknown_02024C08 + ldr r0, _0802A868 @ =gEnemyMonIndex ldrb r0, [r0] muls r0, r4 adds r0, r5 @@ -57387,7 +57387,7 @@ atkDA_abilityswap: @ 802A7FC _0802A824: cmp r1, 0x19 beq _0802A844 - ldr r6, _0802A868 @ =gUnknown_02024C08 + ldr r6, _0802A868 @ =gEnemyMonIndex ldrb r0, [r6] muls r0, r4 adds r0, r5 @@ -57395,7 +57395,7 @@ _0802A824: ldrb r3, [r0] cmp r3, 0x19 beq _0802A844 - ldr r0, _0802A86C @ =gUnknown_02024C68 + ldr r0, _0802A86C @ =gBattleMoveFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -57418,9 +57418,9 @@ _0802A844: b _0802A88A .align 2, 0 _0802A860: .4byte gBattleMons -_0802A864: .4byte gUnknown_02024C07 -_0802A868: .4byte gUnknown_02024C08 -_0802A86C: .4byte gUnknown_02024C68 +_0802A864: .4byte gPlayerMonIndex +_0802A868: .4byte gEnemyMonIndex +_0802A86C: .4byte gBattleMoveFlags _0802A870: .4byte gUnknown_02024C10 _0802A874: ldrb r1, [r2] @@ -57451,7 +57451,7 @@ atkDB_imprisoneffect: @ 802A894 movs r0, 0 mov r8, r0 ldr r1, _0802A8B8 @ =gUnknown_02024C98 - ldr r0, _0802A8BC @ =gUnknown_02024C07 + ldr r0, _0802A8BC @ =gPlayerMonIndex ldrb r2, [r0] lsls r0, r2, 2 adds r0, r1 @@ -57464,7 +57464,7 @@ atkDB_imprisoneffect: @ 802A894 b _0802A95E .align 2, 0 _0802A8B8: .4byte gUnknown_02024C98 -_0802A8BC: .4byte gUnknown_02024C07 +_0802A8BC: .4byte gPlayerMonIndex _0802A8C0: ldr r0, _0802A8E0 @ =gUnknown_02024C98 mov r2, r9 @@ -57497,7 +57497,7 @@ _0802A8F2: cmp r8, r0 beq _0802A948 movs r4, 0 - ldr r7, _0802A984 @ =gUnknown_02024C07 + ldr r7, _0802A984 @ =gPlayerMonIndex mov r9, r7 ldr r0, _0802A988 @ =gBattleMons mov r12, r0 @@ -57573,7 +57573,7 @@ _0802A978: pop {r0} bx r0 .align 2, 0 -_0802A984: .4byte gUnknown_02024C07 +_0802A984: .4byte gPlayerMonIndex _0802A988: .4byte gBattleMons _0802A98C: .4byte gUnknown_02024A68 _0802A990: .4byte gUnknown_02024C10 @@ -57583,7 +57583,7 @@ _0802A990: .4byte gUnknown_02024C10 atkDC_setgrudge: @ 802A994 push {lr} ldr r1, _0802A9CC @ =gUnknown_02024C98 - ldr r0, _0802A9D0 @ =gUnknown_02024C07 + ldr r0, _0802A9D0 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -57610,7 +57610,7 @@ atkDC_setgrudge: @ 802A994 b _0802A9E4 .align 2, 0 _0802A9CC: .4byte gUnknown_02024C98 -_0802A9D0: .4byte gUnknown_02024C07 +_0802A9D0: .4byte gPlayerMonIndex _0802A9D4: .4byte gUnknown_02024C10 _0802A9D8: orrs r1, r3 @@ -57643,7 +57643,7 @@ atkDD_weightdamagecalculation: @ 802A9EC adds r7, r1, 0 adds r4, r6, 0 _0802AA08: - ldr r0, _0802AA5C @ =gUnknown_02024C08 + ldr r0, _0802AA5C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -57682,7 +57682,7 @@ _0802AA36: _0802AA50: .4byte gWeightDamage _0802AA54: .4byte 0x0000ffff _0802AA58: .4byte gBattleMons -_0802AA5C: .4byte gUnknown_02024C08 +_0802AA5C: .4byte gEnemyMonIndex _0802AA60: .4byte gUnknown_02024DEC _0802AA64: ldr r1, _0802AA7C @ =gUnknown_02024DEC @@ -57713,7 +57713,7 @@ atkDE_asistattackselect: @ 802AA84 sub sp, 0x8 movs r0, 0 mov r10, r0 - ldr r0, _0802AB9C @ =gUnknown_02024C07 + ldr r0, _0802AB9C @ =gPlayerMonIndex ldrb r0, [r0] bl battle_get_per_side_status movs r1, 0x1 @@ -57728,7 +57728,7 @@ _0802AAAC: movs r2, 0 _0802AAAE: ldr r1, _0802ABA8 @ =gUnknown_02024A6A - ldr r0, _0802AB9C @ =gUnknown_02024C07 + ldr r0, _0802AB9C @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -57838,7 +57838,7 @@ _0802AB54: ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _0802ABC4 @ =gUnknown_02024C08 + ldr r1, _0802ABC4 @ =gEnemyMonIndex strb r0, [r1] ldr r1, _0802ABC8 @ =gUnknown_02024C10 ldr r0, [r1] @@ -57846,7 +57846,7 @@ _0802AB54: str r0, [r1] b _0802ABE6 .align 2, 0 -_0802AB9C: .4byte gUnknown_02024C07 +_0802AB9C: .4byte gPlayerMonIndex _0802ABA0: .4byte gPlayerParty _0802ABA4: .4byte gEnemyParty _0802ABA8: .4byte gUnknown_02024A6A @@ -57856,7 +57856,7 @@ _0802ABB4: .4byte gUnknown_081FACFE _0802ABB8: .4byte gUnknown_02024C6C _0802ABBC: .4byte 0xfffffbff _0802ABC0: .4byte gUnknown_02024BEA -_0802ABC4: .4byte gUnknown_02024C08 +_0802ABC4: .4byte gEnemyMonIndex _0802ABC8: .4byte gUnknown_02024C10 _0802ABCC: ldr r3, _0802ABF8 @ =gUnknown_02024C10 @@ -57888,8 +57888,8 @@ _0802ABF8: .4byte gUnknown_02024C10 thumb_func_start atkDF_setmagiccoat atkDF_setmagiccoat: @ 802ABFC push {lr} - ldr r1, _0802AC44 @ =gUnknown_02024C08 - ldr r3, _0802AC48 @ =gUnknown_02024C07 + ldr r1, _0802AC44 @ =gEnemyMonIndex + ldr r3, _0802AC48 @ =gPlayerMonIndex ldrb r0, [r3] strb r0, [r1] ldr r2, _0802AC4C @ =gUnknown_02024D68 @@ -57924,8 +57924,8 @@ atkDF_setmagiccoat: @ 802ABFC str r1, [r3] b _0802AC74 .align 2, 0 -_0802AC44: .4byte gUnknown_02024C08 -_0802AC48: .4byte gUnknown_02024C07 +_0802AC44: .4byte gEnemyMonIndex +_0802AC48: .4byte gPlayerMonIndex _0802AC4C: .4byte gUnknown_02024D68 _0802AC50: .4byte gUnknown_02024A7E _0802AC54: .4byte gUnknown_02024A68 @@ -57955,7 +57955,7 @@ _0802AC7C: .4byte gUnknown_02024C10 atkE0_setstealstatchange: @ 802AC80 push {lr} ldr r2, _0802ACC4 @ =gUnknown_02024D68 - ldr r3, _0802ACC8 @ =gUnknown_02024C07 + ldr r3, _0802ACC8 @ =gPlayerMonIndex ldrb r1, [r3] lsls r0, r1, 2 adds r0, r1 @@ -57988,7 +57988,7 @@ atkE0_setstealstatchange: @ 802AC80 b _0802ACEE .align 2, 0 _0802ACC4: .4byte gUnknown_02024D68 -_0802ACC8: .4byte gUnknown_02024C07 +_0802ACC8: .4byte gPlayerMonIndex _0802ACCC: .4byte gUnknown_02024A7E _0802ACD0: .4byte gUnknown_02024A68 _0802ACD4: .4byte gUnknown_02024C10 @@ -58041,7 +58041,7 @@ atkE1_802CBE4: @ 802ACFC strb r0, [r2, 0x2] movs r0, 0xFF strb r0, [r2, 0x3] - ldr r2, _0802ADB0 @ =gUnknown_02024C08 + ldr r2, _0802ADB0 @ =gEnemyMonIndex ldr r1, _0802ADB4 @ =gUnknown_02024A68 ldrb r0, [r2] ldrb r1, [r1] @@ -58078,7 +58078,7 @@ _0802AD66: cmp r0, r1 bcc _0802AD44 _0802AD7A: - ldr r0, _0802ADB0 @ =gUnknown_02024C08 + ldr r0, _0802ADB0 @ =gEnemyMonIndex ldrb r0, [r0] ldrb r2, [r2] cmp r0, r2 @@ -58103,7 +58103,7 @@ _0802ADA0: .4byte 0x02000000 _0802ADA4: .4byte 0x000160dd _0802ADA8: .4byte gUnknown_030041C0 _0802ADAC: .4byte gBattleMons -_0802ADB0: .4byte gUnknown_02024C08 +_0802ADB0: .4byte gEnemyMonIndex _0802ADB4: .4byte gUnknown_02024A68 _0802ADB8: .4byte gBitTable _0802ADBC: .4byte gUnknown_02024C0C @@ -58534,7 +58534,7 @@ atkE8_settypebasedhalvers: @ 802B108 cmp r0, 0xC9 bne _0802B158 ldr r1, _0802B14C @ =gUnknown_02024C98 - ldr r0, _0802B150 @ =gUnknown_02024C07 + ldr r0, _0802B150 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -58554,11 +58554,11 @@ atkE8_settypebasedhalvers: @ 802B108 _0802B144: .4byte gBattleMoves _0802B148: .4byte gUnknown_02024BE6 _0802B14C: .4byte gUnknown_02024C98 -_0802B150: .4byte gUnknown_02024C07 +_0802B150: .4byte gPlayerMonIndex _0802B154: .4byte gUnknown_02024D1E _0802B158: ldr r1, _0802B18C @ =gUnknown_02024C98 - ldr r0, _0802B190 @ =gUnknown_02024C07 + ldr r0, _0802B190 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -58586,7 +58586,7 @@ _0802B180: b _0802B1B6 .align 2, 0 _0802B18C: .4byte gUnknown_02024C98 -_0802B190: .4byte gUnknown_02024C07 +_0802B190: .4byte gPlayerMonIndex _0802B194: .4byte gUnknown_02024D1E _0802B198: .4byte gUnknown_02024C10 _0802B19C: @@ -58719,7 +58719,7 @@ atkEA_recycleitem: @ 802B28C push {r4-r7,lr} sub sp, 0x4 ldr r7, _0802B2F0 @ =gUnknown_02024A60 - ldr r0, _0802B2F4 @ =gUnknown_02024C07 + ldr r0, _0802B2F4 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r7] ldrb r2, [r7] @@ -58765,7 +58765,7 @@ atkEA_recycleitem: @ 802B28C b _0802B322 .align 2, 0 _0802B2F0: .4byte gUnknown_02024A60 -_0802B2F4: .4byte gUnknown_02024C07 +_0802B2F4: .4byte gPlayerMonIndex _0802B2F8: .4byte 0x020160cc _0802B2FC: .4byte gBattleMons _0802B300: .4byte gUnknown_02024C04 @@ -58800,7 +58800,7 @@ atkEB_settypetoterrain: @ 802B330 push {r7} ldr r0, _0802B3A0 @ =gBattleMons mov r8, r0 - ldr r7, _0802B3A4 @ =gUnknown_02024C07 + ldr r7, _0802B3A4 @ =gPlayerMonIndex ldrb r0, [r7] movs r6, 0x58 muls r0, r6 @@ -58853,7 +58853,7 @@ atkEB_settypetoterrain: @ 802B330 b _0802B3D2 .align 2, 0 _0802B3A0: .4byte gBattleMons -_0802B3A4: .4byte gUnknown_02024C07 +_0802B3A4: .4byte gPlayerMonIndex _0802B3A8: .4byte gTerrainToType _0802B3AC: .4byte gBattleTerrain _0802B3B0: .4byte gUnknown_030041C0 @@ -58885,7 +58885,7 @@ _0802B3DC: .4byte gUnknown_02024C10 thumb_func_start sub_802B3E0 sub_802B3E0: @ 802B3E0 push {r4,r5,lr} - ldr r5, _0802B45C @ =gUnknown_02024C07 + ldr r5, _0802B45C @ =gPlayerMonIndex ldrb r0, [r5] bl battle_get_per_side_status movs r1, 0x2 @@ -58945,7 +58945,7 @@ sub_802B3E0: @ 802B3E0 strb r0, [r5] b _0802B4AA .align 2, 0 -_0802B45C: .4byte gUnknown_02024C07 +_0802B45C: .4byte gPlayerMonIndex _0802B460: .4byte gUnknown_02024A60 _0802B464: .4byte gBattleTypeFlags _0802B468: .4byte gUnknown_02024C0C @@ -58984,10 +58984,10 @@ _0802B4B0: .4byte gUnknown_02024C10 sub_802B4B4: @ 802B4B4 push {r4,r5,lr} ldr r1, _0802B4DC @ =gUnknown_02024C0A - ldr r3, _0802B4E0 @ =gUnknown_02024C07 + ldr r3, _0802B4E0 @ =gPlayerMonIndex ldrb r0, [r3] strb r0, [r1] - ldr r2, _0802B4E4 @ =gUnknown_02024C08 + ldr r2, _0802B4E4 @ =gEnemyMonIndex lsls r0, 24 lsrs r0, 24 adds r4, r1, 0 @@ -59003,8 +59003,8 @@ sub_802B4B4: @ 802B4B4 b _0802B4FA .align 2, 0 _0802B4DC: .4byte gUnknown_02024C0A -_0802B4E0: .4byte gUnknown_02024C07 -_0802B4E4: .4byte gUnknown_02024C08 +_0802B4E0: .4byte gPlayerMonIndex +_0802B4E4: .4byte gEnemyMonIndex _0802B4E8: .4byte 0x02000000 _0802B4EC: .4byte 0x00016003 _0802B4F0: @@ -59034,7 +59034,7 @@ _0802B518: .4byte gUnknown_02024C10 thumb_func_start sub_802B51C sub_802B51C: @ 802B51C push {r4,lr} - ldr r0, _0802B56C @ =gUnknown_02024C07 + ldr r0, _0802B56C @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner movs r1, 0x1 @@ -59073,7 +59073,7 @@ _0802B544: adds r0, r3 b _0802B598 .align 2, 0 -_0802B56C: .4byte gUnknown_02024C07 +_0802B56C: .4byte gPlayerMonIndex _0802B570: .4byte gUnknown_02024C80 _0802B574: .4byte gUnknown_02024C7A _0802B578: .4byte 0x0000fffe @@ -59115,10 +59115,10 @@ sub_802B5B8: @ 802B5B8 b _0802B94E _0802B5C6: ldr r5, _0802B5FC @ =gUnknown_02024A60 - ldr r0, _0802B600 @ =gUnknown_02024C07 + ldr r0, _0802B600 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r5] - ldr r6, _0802B604 @ =gUnknown_02024C08 + ldr r6, _0802B604 @ =gEnemyMonIndex movs r1, 0x1 eors r0, r1 strb r0, [r6] @@ -59139,8 +59139,8 @@ _0802B5C6: .align 2, 0 _0802B5F8: .4byte gUnknown_02024A64 _0802B5FC: .4byte gUnknown_02024A60 -_0802B600: .4byte gUnknown_02024C07 -_0802B604: .4byte gUnknown_02024C08 +_0802B600: .4byte gPlayerMonIndex +_0802B604: .4byte gEnemyMonIndex _0802B608: .4byte gBattleTypeFlags _0802B60C: .4byte gUnknown_02024C10 _0802B610: .4byte gUnknown_081D9F35 @@ -59229,7 +59229,7 @@ _0802B6B0: .4byte _0802B72E _0802B6CC: ldr r2, _0802B6F4 @ =gBattleMons - ldr r0, _0802B6F8 @ =gUnknown_02024C08 + ldr r0, _0802B6F8 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -59250,7 +59250,7 @@ _0802B6CC: b _0802B72E .align 2, 0 _0802B6F4: .4byte gBattleMons -_0802B6F8: .4byte gUnknown_02024C08 +_0802B6F8: .4byte gEnemyMonIndex _0802B6FC: bl sav1_map_get_light_level lsls r0, 24 @@ -59262,7 +59262,7 @@ _0802B6FC: b _0802B78E _0802B70E: ldr r2, _0802B734 @ =gBattleMons - ldr r0, _0802B738 @ =gUnknown_02024C08 + ldr r0, _0802B738 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -59282,10 +59282,10 @@ _0802B72E: b _0802B78E .align 2, 0 _0802B734: .4byte gBattleMons -_0802B738: .4byte gUnknown_02024C08 +_0802B738: .4byte gEnemyMonIndex _0802B73C: ldr r2, _0802B764 @ =gBattleMons - ldr r0, _0802B768 @ =gUnknown_02024C08 + ldr r0, _0802B768 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -59305,7 +59305,7 @@ _0802B760: b _0802B78E .align 2, 0 _0802B764: .4byte gBattleMons -_0802B768: .4byte gUnknown_02024C08 +_0802B768: .4byte gEnemyMonIndex _0802B76C: ldr r0, _0802B780 @ =gUnknown_030042E0 ldrb r0, [r0, 0x13] @@ -59330,7 +59330,7 @@ _0802B78E: movs r1, 0xA bl __divsi3 ldr r5, _0802B7F8 @ =gBattleMons - ldr r1, _0802B7FC @ =gUnknown_02024C08 + ldr r1, _0802B7FC @ =gEnemyMonIndex ldrb r1, [r1] movs r7, 0x58 adds r4, r1, 0 @@ -59378,7 +59378,7 @@ _0802B7DC: .align 2, 0 _0802B7F4: .4byte gBallCatchBonuses _0802B7F8: .4byte gBattleMons -_0802B7FC: .4byte gUnknown_02024C08 +_0802B7FC: .4byte gEnemyMonIndex _0802B800: .4byte gUnknown_02024C04 _0802B804: .4byte gUnknown_030042E0 _0802B808: @@ -59405,7 +59405,7 @@ _0802B81C: ldr r0, _0802B86C @ =gUnknown_081D9EC2 str r0, [r1] ldr r1, _0802B870 @ =gUnknown_02024A6A - ldr r0, _0802B874 @ =gUnknown_02024C08 + ldr r0, _0802B874 @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -59429,7 +59429,7 @@ _0802B864: .4byte gUnknown_02024A60 _0802B868: .4byte gUnknown_02024C10 _0802B86C: .4byte gUnknown_081D9EC2 _0802B870: .4byte gUnknown_02024A6A -_0802B874: .4byte gUnknown_02024C08 +_0802B874: .4byte gEnemyMonIndex _0802B878: .4byte gEnemyParty _0802B87C: .4byte gUnknown_02024C04 _0802B880: @@ -59482,7 +59482,7 @@ _0802B8CC: ldr r0, _0802B924 @ =gUnknown_081D9EC2 str r0, [r1] ldr r1, _0802B928 @ =gUnknown_02024A6A - ldr r0, _0802B92C @ =gUnknown_02024C08 + ldr r0, _0802B92C @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -59510,7 +59510,7 @@ _0802B91C: .4byte gUnknown_02024A60 _0802B920: .4byte gUnknown_02024C10 _0802B924: .4byte gUnknown_081D9EC2 _0802B928: .4byte gUnknown_02024A6A -_0802B92C: .4byte gUnknown_02024C08 +_0802B92C: .4byte gEnemyMonIndex _0802B930: .4byte gEnemyParty _0802B934: .4byte gUnknown_02024D1E _0802B938: @@ -59545,7 +59545,7 @@ sub_802B960: @ 802B960 push {r5,r6} ldr r0, _0802B9C8 @ =gUnknown_02024A6A mov r9, r0 - ldr r5, _0802B9CC @ =gUnknown_02024C07 + ldr r5, _0802B9CC @ =gPlayerMonIndex ldrb r0, [r5] movs r4, 0x1 eors r0, r4 @@ -59591,7 +59591,7 @@ sub_802B960: @ 802B960 bx r0 .align 2, 0 _0802B9C8: .4byte gUnknown_02024A6A -_0802B9CC: .4byte gUnknown_02024C07 +_0802B9CC: .4byte gPlayerMonIndex _0802B9D0: .4byte gEnemyParty _0802B9D4: .4byte gUnknown_030042E0 _0802B9D8: .4byte gBattleMons @@ -59602,7 +59602,7 @@ _0802B9DC: .4byte gUnknown_02024C10 sub_802B9E0: @ 802B9E0 push {r4-r6,lr} ldr r4, _0802BA20 @ =gBattleMons - ldr r6, _0802BA24 @ =gUnknown_02024C08 + ldr r6, _0802BA24 @ =gEnemyMonIndex ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -59632,7 +59632,7 @@ sub_802B9E0: @ 802B9E0 b _0802BA82 .align 2, 0 _0802BA20: .4byte gBattleMons -_0802BA24: .4byte gUnknown_02024C08 +_0802BA24: .4byte gEnemyMonIndex _0802BA28: .4byte gUnknown_02024C10 _0802BA2C: ldrb r0, [r6] @@ -59726,7 +59726,7 @@ _0802BAC6: cmp r0, 0 bne _0802BBC4 ldr r4, _0802BB08 @ =gBattleMons - ldr r6, _0802BB0C @ =gUnknown_02024C08 + ldr r6, _0802BB0C @ =gEnemyMonIndex ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -59751,7 +59751,7 @@ _0802BAC6: .align 2, 0 _0802BB04: .4byte gPaletteFade _0802BB08: .4byte gBattleMons -_0802BB0C: .4byte gUnknown_02024C08 +_0802BB0C: .4byte gEnemyMonIndex _0802BB10: ldr r0, _0802BB7C @ =gPaletteFade ldrb r1, [r0, 0x7] @@ -60072,7 +60072,7 @@ _0802BD84: b _0802BEDA _0802BD92: ldr r7, _0802BE38 @ =gUnknown_02024A6A - ldr r0, _0802BE3C @ =gUnknown_02024C07 + ldr r0, _0802BE3C @ =gPlayerMonIndex mov r10, r0 ldrb r0, [r0] movs r4, 0x1 @@ -60149,7 +60149,7 @@ _0802BD92: .align 2, 0 _0802BE34: .4byte gPaletteFade _0802BE38: .4byte gUnknown_02024A6A -_0802BE3C: .4byte gUnknown_02024C07 +_0802BE3C: .4byte gPlayerMonIndex _0802BE40: .4byte gEnemyParty _0802BE44: .4byte 0x02016079 _0802BE48: .4byte sub_800F808 @@ -60167,7 +60167,7 @@ _0802BE50: cmp r0, 0 bne _0802BEDA ldr r2, _0802BE94 @ =gUnknown_02024A6A - ldr r0, _0802BE98 @ =gUnknown_02024C07 + ldr r0, _0802BE98 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x1 eors r0, r1 @@ -60187,7 +60187,7 @@ _0802BE88: .4byte gMain _0802BE8C: .4byte sub_800F808 _0802BE90: .4byte gPaletteFade _0802BE94: .4byte gUnknown_02024A6A -_0802BE98: .4byte gUnknown_02024C07 +_0802BE98: .4byte gPlayerMonIndex _0802BE9C: .4byte gEnemyParty _0802BEA0: .4byte 0x02016079 _0802BEA4: @@ -60233,12 +60233,12 @@ _0802BEEC: .4byte gUnknown_02024C10 thumb_func_start sub_802BEF0 sub_802BEF0: @ 802BEF0 ldr r2, _0802BF10 @ =gBattleMons - ldr r0, _0802BF14 @ =gUnknown_02024C07 + ldr r0, _0802BF14 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r1, r0 adds r1, r2 - ldr r0, _0802BF18 @ =gUnknown_02024BEC + ldr r0, _0802BF18 @ =gBattleMoveDamage ldr r2, [r0] ldrh r0, [r1, 0x28] subs r0, r2 @@ -60250,15 +60250,15 @@ sub_802BEF0: @ 802BEF0 bx lr .align 2, 0 _0802BF10: .4byte gBattleMons -_0802BF14: .4byte gUnknown_02024C07 -_0802BF18: .4byte gUnknown_02024BEC +_0802BF14: .4byte gPlayerMonIndex +_0802BF18: .4byte gBattleMoveDamage _0802BF1C: .4byte gUnknown_02024C10 thumb_func_end sub_802BEF0 thumb_func_start sub_802BF20 sub_802BF20: @ 802BF20 ldr r1, _0802BF3C @ =gBattleMons - ldr r0, _0802BF40 @ =gUnknown_02024C07 + ldr r0, _0802BF40 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -60273,7 +60273,7 @@ sub_802BF20: @ 802BF20 bx lr .align 2, 0 _0802BF3C: .4byte gBattleMons -_0802BF40: .4byte gUnknown_02024C07 +_0802BF40: .4byte gPlayerMonIndex _0802BF44: .4byte gUnknown_02024C10 thumb_func_end sub_802BF20 @@ -78510,7 +78510,7 @@ _08035474: ands r0, r1 cmp r0, 0 beq _08035494 - ldr r1, _080354EC @ =gUnknown_02024C08 + ldr r1, _080354EC @ =gEnemyMonIndex ldrb r0, [r6] strb r0, [r1] _08035494: @@ -78526,7 +78526,7 @@ _08035494: beq _080354CE movs r0, 0 bl battle_get_side_with_given_state - ldr r5, _080354EC @ =gUnknown_02024C08 + ldr r5, _080354EC @ =gEnemyMonIndex strb r0, [r5] ldr r0, _080354F0 @ =gUnknown_02024C0C ldrb r1, [r0] @@ -78542,7 +78542,7 @@ _08035494: bl battle_get_side_with_given_state strb r0, [r5] _080354CE: - ldr r0, _080354EC @ =gUnknown_02024C08 + ldr r0, _080354EC @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 8 orrs r4, r0 @@ -78555,7 +78555,7 @@ _080354E0: b _0803558A .align 2, 0 _080354E8: .4byte gBattleMoves -_080354EC: .4byte gUnknown_02024C08 +_080354EC: .4byte gEnemyMonIndex _080354F0: .4byte gUnknown_02024C0C _080354F4: .4byte gBitTable _080354F8: @@ -81840,7 +81840,7 @@ _08036F04: adds r0, r4 movs r1, 0x1 strb r1, [r0] - ldr r0, _08037010 @ =gUnknown_02024C68 + ldr r0, _08037010 @ =gBattleMoveFlags strb r2, [r0] ldr r0, _08037014 @ =gCritMultiplier strb r1, [r0] @@ -81895,7 +81895,7 @@ _08036F2C: beq _08036FE8 movs r5, 0 mov r9, r6 - ldr r4, _08037024 @ =gUnknown_02024BEC + ldr r4, _08037024 @ =gBattleMoveDamage mov r8, r4 ldr r6, _08037028 @ =gUnknown_02024A60 _08036F90: @@ -81961,12 +81961,12 @@ _08037000: .4byte gUnknown_02024DEC _08037004: .4byte 0x02000000 _08037008: .4byte 0x0001601c _0803700C: .4byte 0x0001601f -_08037010: .4byte gUnknown_02024C68 +_08037010: .4byte gBattleMoveFlags _08037014: .4byte gCritMultiplier _08037018: .4byte gEnemyParty _0803701C: .4byte gUnknown_02024A6A _08037020: .4byte 0x00016068 -_08037024: .4byte gUnknown_02024BEC +_08037024: .4byte gBattleMoveDamage _08037028: .4byte gUnknown_02024A60 _0803702C: .4byte gBattleMoves thumb_func_end sub_8036CD4 diff --git a/asm/rom_8080874.s b/asm/rom_8080874.s index 77dad9f9e..28ea3a69f 100644 --- a/asm/rom_8080874.s +++ b/asm/rom_8080874.s @@ -6,185 +6,6 @@ .text - thumb_func_start palette_bg_fill_white -palette_bg_fill_white: @ 8080874 - push {lr} - sub sp, 0x4 - ldr r0, _0808088C @ =0x7fff7fff - str r0, [sp] - ldr r1, _08080890 @ =gPlttBufferFaded - ldr r2, _08080894 @ =0x01000100 - mov r0, sp - bl CpuFastSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0808088C: .4byte 0x7fff7fff -_08080890: .4byte gPlttBufferFaded -_08080894: .4byte 0x01000100 - thumb_func_end palette_bg_fill_white - - thumb_func_start palette_bg_fill_black -palette_bg_fill_black: @ 8080898 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r1, _080808B0 @ =gPlttBufferFaded - ldr r2, _080808B4 @ =0x01000100 - mov r0, sp - bl CpuFastSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080808B0: .4byte gPlttBufferFaded -_080808B4: .4byte 0x01000100 - thumb_func_end palette_bg_fill_black - - thumb_func_start pal_fill_for_map_transition -pal_fill_for_map_transition: @ 80808B8 - push {r4,lr} - bl get_map_light_from_warp0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sav1_map_get_light_level - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl fade_type_for_given_maplight_pair - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080808E2 - cmp r0, 0x1 - beq _080808F0 - b _080808FC -_080808E2: - movs r0, 0 - movs r1, 0 - bl fade_screen - bl palette_bg_fill_black - b _080808FC -_080808F0: - movs r0, 0x2 - movs r1, 0 - bl fade_screen - bl palette_bg_fill_white -_080808FC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end pal_fill_for_map_transition - - thumb_func_start pal_fill_black -pal_fill_black: @ 8080904 - push {lr} - movs r0, 0 - movs r1, 0 - bl fade_screen - bl palette_bg_fill_black - pop {r0} - bx r0 - thumb_func_end pal_fill_black - - thumb_func_start fade_8080918 -fade_8080918: @ 8080918 - push {r4,lr} - bl sav1_map_get_light_level - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl warp1_get_mapheader - ldrb r1, [r0, 0x17] - adds r0, r4, 0 - bl sub_810CDB8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0808093E - cmp r0, 0x1 - beq _08080948 - b _08080950 -_0808093E: - movs r0, 0x1 - movs r1, 0 - bl fade_screen - b _08080950 -_08080948: - movs r0, 0x3 - movs r1, 0 - bl fade_screen -_08080950: - pop {r4} - pop {r0} - bx r0 - thumb_func_end fade_8080918 - - thumb_func_start sub_8080958 -sub_8080958: @ 8080958 - push {lr} - lsls r0, 24 - movs r1, 0 - cmp r0, 0 - bne _08080964 - movs r1, 0x1 -_08080964: - adds r0, r1, 0 - bl sub_8059B88 - pop {r0} - bx r0 - thumb_func_end sub_8080958 - - thumb_func_start task0A_asap_script_env_2_enable_and_set_ctx_running -task0A_asap_script_env_2_enable_and_set_ctx_running: @ 8080970 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8080E70 - cmp r0, 0x1 - bne _08080988 - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_08080988: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task0A_asap_script_env_2_enable_and_set_ctx_running - - thumb_func_start sub_8080990 -sub_8080990: @ 8080990 - push {lr} - bl ScriptContext2_Enable - bl sub_8053E90 - bl pal_fill_black - ldr r0, _080809AC @ =task0A_asap_script_env_2_enable_and_set_ctx_running - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080809AC: .4byte task0A_asap_script_env_2_enable_and_set_ctx_running - thumb_func_end sub_8080990 - - thumb_func_start sub_80809B0 -sub_80809B0: @ 80809B0 - push {lr} - bl ScriptContext2_Enable - bl pal_fill_black - ldr r0, _080809C8 @ =task0A_asap_script_env_2_enable_and_set_ctx_running - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080809C8: .4byte task0A_asap_script_env_2_enable_and_set_ctx_running - thumb_func_end sub_80809B0 - thumb_func_start task_mpl_807DD60 task_mpl_807DD60: @ 80809CC push {r4,r5,lr} diff --git a/asm/rom_8094928.s b/asm/rom_8094928.s index d272b277a..a9d0e3dcc 100644 --- a/asm/rom_8094928.s +++ b/asm/rom_8094928.s @@ -6,320 +6,6 @@ .text - thumb_func_start unref_sub_8094928 -unref_sub_8094928: @ 8094928 - push {lr} - ldr r1, _08094938 @ =gPokemonStorage - ldr r2, _0809493C @ =0x000083d0 - bl memcpy - pop {r0} - bx r0 - .align 2, 0 -_08094938: .4byte gPokemonStorage -_0809493C: .4byte 0x000083d0 - thumb_func_end unref_sub_8094928 - - thumb_func_start unref_sub_8094940 -unref_sub_8094940: @ 8094940 - push {lr} - adds r1, r0, 0 - ldr r0, _08094950 @ =gPokemonStorage - ldr r2, _08094954 @ =0x000083d0 - bl memcpy - pop {r0} - bx r0 - .align 2, 0 -_08094950: .4byte gPokemonStorage -_08094954: .4byte 0x000083d0 - thumb_func_end unref_sub_8094940 - - thumb_func_start sub_8094958 -sub_8094958: @ 8094958 - push {r4,lr} - ldr r4, _08094974 @ =gUnknown_02038470 - bl sub_803FBBC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8094998 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08094974: .4byte gUnknown_02038470 - thumb_func_end sub_8094958 - - thumb_func_start sub_8094978 -sub_8094978: @ 8094978 - push {lr} - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r2, 1 - adds r0, r2 - ldr r3, _08094994 @ =0x0201606c - adds r0, r3 - bl sub_8094A74 - pop {r0} - bx r0 - .align 2, 0 -_08094994: .4byte 0x0201606c - thumb_func_end sub_8094978 - - thumb_func_start sub_8094998 -sub_8094998: @ 8094998 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080949CE - cmp r4, 0 - beq _080949C0 - movs r0, 0x30 - strb r0, [r6] - movs r0, 0x45 - strb r0, [r6, 0x1] - movs r0, 0x12 - strb r0, [r6, 0x2] - b _08094A68 -_080949C0: - movs r0, 0x3 - strb r0, [r6] - movs r0, 0x12 - strb r0, [r6, 0x1] - movs r0, 0x45 - strb r0, [r6, 0x2] - b _08094A68 -_080949CE: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08094A0C - movs r5, 0x1 - movs r0, 0 - bl battle_get_side_with_given_state - mov r2, sp - ldr r1, _08094A08 @ =gUnknown_02024A6A - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - ldrh r0, [r0] - strb r0, [r2] - movs r4, 0 - mov r1, sp -_080949F2: - ldrb r0, [r1] - cmp r4, r0 - beq _08094A00 - mov r2, sp - adds r0, r2, r5 - strb r4, [r0] - adds r5, 0x1 -_08094A00: - adds r4, 0x1 - cmp r4, 0x5 - ble _080949F2 - b _08094A50 - .align 2, 0 -_08094A08: .4byte gUnknown_02024A6A -_08094A0C: - movs r5, 0x2 - movs r0, 0 - bl battle_get_side_with_given_state - mov r1, sp - ldr r4, _08094A70 @ =gUnknown_02024A6A - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r0, [r0] - strb r0, [r1] - movs r0, 0x2 - bl battle_get_side_with_given_state - mov r1, sp - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r0, [r0] - strb r0, [r1, 0x1] - movs r4, 0 -_08094A36: - ldrb r0, [r1] - cmp r4, r0 - beq _08094A4A - ldrb r0, [r1, 0x1] - cmp r4, r0 - beq _08094A4A - mov r2, sp - adds r0, r2, r5 - strb r4, [r0] - adds r5, 0x1 -_08094A4A: - adds r4, 0x1 - cmp r4, 0x5 - ble _08094A36 -_08094A50: - movs r4, 0 - mov r3, sp -_08094A54: - adds r0, r6, r4 - ldrb r1, [r3] - lsls r1, 4 - ldrb r2, [r3, 0x1] - orrs r1, r2 - strb r1, [r0] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _08094A54 -_08094A68: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08094A70: .4byte gUnknown_02024A6A - thumb_func_end sub_8094998 - - thumb_func_start sub_8094A74 -sub_8094A74: @ 8094A74 - push {r4-r7,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r0, r2, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r0, 24 - lsrs r0, 24 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08094A9C - movs r0, 0 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - b _08094AA8 -_08094A9C: - movs r0, 0x1 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x3 -_08094AA8: - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r6, r0, 24 - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08094ADC - cmp r7, 0 - beq _08094ACE - movs r0, 0x30 - strb r0, [r5] - movs r0, 0x45 - strb r0, [r5, 0x1] - movs r0, 0x12 - strb r0, [r5, 0x2] - b _08094B5E -_08094ACE: - movs r0, 0x3 - strb r0, [r5] - movs r0, 0x12 - strb r0, [r5, 0x1] - movs r0, 0x45 - strb r0, [r5, 0x2] - b _08094B5E -_08094ADC: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08094B14 - movs r3, 0x1 - mov r2, sp - ldr r1, _08094B10 @ =gUnknown_02024A6A - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - strb r0, [r2] - movs r4, 0 - mov r1, sp -_08094AF8: - ldrb r0, [r1] - cmp r4, r0 - beq _08094B06 - mov r2, sp - adds r0, r2, r3 - strb r4, [r0] - adds r3, 0x1 -_08094B06: - adds r4, 0x1 - cmp r4, 0x5 - ble _08094AF8 - b _08094B46 - .align 2, 0 -_08094B10: .4byte gUnknown_02024A6A -_08094B14: - movs r3, 0x2 - mov r1, sp - ldr r2, _08094B68 @ =gUnknown_02024A6A - lsls r0, r4, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - lsls r0, r6, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x1] - movs r4, 0 -_08094B2C: - ldrb r0, [r1] - cmp r4, r0 - beq _08094B40 - ldrb r0, [r1, 0x1] - cmp r4, r0 - beq _08094B40 - mov r2, sp - adds r0, r2, r3 - strb r4, [r0] - adds r3, 0x1 -_08094B40: - adds r4, 0x1 - cmp r4, 0x5 - ble _08094B2C -_08094B46: - movs r4, 0 - mov r3, sp -_08094B4A: - adds r0, r5, r4 - ldrb r1, [r3] - lsls r1, 4 - ldrb r2, [r3, 0x1] - orrs r1, r2 - strb r1, [r0] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _08094B4A -_08094B5E: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08094B68: .4byte gUnknown_02024A6A - thumb_func_end sub_8094A74 - thumb_func_start sub_8094B6C sub_8094B6C: @ 8094B6C push {r4-r7,lr} diff --git a/asm/rom_810CBB4.s b/asm/rom_810CBB4.s index 78fb7e6ac..b4223f094 100644 --- a/asm/rom_810CBB4.s +++ b/asm/rom_810CBB4.s @@ -47,7 +47,7 @@ sub_810CBFC: @ 810CBFC lsls r0, 24 lsrs r0, 24 ldr r2, _0810CC24 @ =gUnknown_0202FF84 - ldr r1, _0810CC28 @ =gUnknown_03005CE0 + ldr r1, _0810CC28 @ =gLastFieldPokeMenuOpened ldrb r1, [r1] str r1, [r2] ldr r2, _0810CC2C @ =gTasks @@ -63,7 +63,7 @@ sub_810CBFC: @ 810CBFC bx r0 .align 2, 0 _0810CC24: .4byte gUnknown_0202FF84 -_0810CC28: .4byte gUnknown_03005CE0 +_0810CC28: .4byte gLastFieldPokeMenuOpened _0810CC2C: .4byte gTasks _0810CC30: .4byte sub_810CC34 thumb_func_end sub_810CBFC @@ -1003,8 +1003,8 @@ _0810D370: bx r1 thumb_func_end sub_810D32C - thumb_func_start sub_810D378 -sub_810D378: @ 810D378 + thumb_func_start UpdateShoalTideFlag +UpdateShoalTideFlag: @ 810D378 push {lr} bl get_map_light_from_warp0 lsls r0, 24 @@ -1038,7 +1038,7 @@ _0810D3BE: bx r0 .align 2, 0 _0810D3C4: .4byte 0x0000083a - thumb_func_end sub_810D378 + thumb_func_end UpdateShoalTideFlag thumb_func_start sub_810D3C8 sub_810D3C8: @ 810D3C8 @@ -2131,7 +2131,7 @@ _0810DBDC: adds r0, r1 ldrb r1, [r0, 0x13] movs r0, 0 - bl sub_805983C + bl GetRivalAvatarGraphicsIdByStateIdAndGender lsls r0, 24 lsrs r0, 24 mov r1, sp diff --git a/asm/rom_81258BC.s b/asm/rom_81258BC.s index a169258ae..aadab16fd 100644 --- a/asm/rom_81258BC.s +++ b/asm/rom_81258BC.s @@ -2244,14 +2244,14 @@ sub_812BFD4: @ 812BFD4 movs r0, 0x33 bl FieldEffectStart ldr r0, _0812BFE8 @ =gUnknown_0202FF84 - ldr r1, _0812BFEC @ =gUnknown_03005CE0 + ldr r1, _0812BFEC @ =gLastFieldPokeMenuOpened ldrb r1, [r1] str r1, [r0] pop {r0} bx r0 .align 2, 0 _0812BFE8: .4byte gUnknown_0202FF84 -_0812BFEC: .4byte gUnknown_03005CE0 +_0812BFEC: .4byte gLastFieldPokeMenuOpened thumb_func_end sub_812BFD4 thumb_func_start FldEff_SweetScent @@ -18242,7 +18242,7 @@ SetUpFieldMove_SoftBoiled: @ 8133CCC push {r4-r6,lr} mov r6, r8 push {r6} - ldr r0, _08133D14 @ =gUnknown_03005CE0 + ldr r0, _08133D14 @ =gLastFieldPokeMenuOpened mov r8, r0 ldrb r0, [r0] movs r6, 0x64 @@ -18273,7 +18273,7 @@ SetUpFieldMove_SoftBoiled: @ 8133CCC movs r0, 0 b _08133D1E .align 2, 0 -_08133D14: .4byte gUnknown_03005CE0 +_08133D14: .4byte gLastFieldPokeMenuOpened _08133D18: .4byte gPlayerParty _08133D1C: movs r0, 0x1 @@ -21701,7 +21701,7 @@ _08135750: .4byte 0x00000564 _08135754: movs r2, 0 ldr r4, _0813576C @ =gSaveBlock2 + 0x565 - ldr r3, _08135770 @ =gUnknown_02039270 + ldr r3, _08135770 @ =gSelectedOrderFromParty _0813575A: adds r0, r2, r4 adds r1, r2, r3 @@ -21713,7 +21713,7 @@ _0813575A: b _0813589A .align 2, 0 _0813576C: .4byte gSaveBlock2 + 0x565 -_08135770: .4byte gUnknown_02039270 +_08135770: .4byte gSelectedOrderFromParty _08135774: ldr r3, _081357C0 @ =0x00000564 adds r0, r5, r3 @@ -22042,7 +22042,7 @@ _08135A10: .4byte 0x00000554 sub_8135A14: @ 8135A14 push {r4,lr} movs r2, 0 - ldr r4, _08135A34 @ =gUnknown_02039270 + ldr r4, _08135A34 @ =gSelectedOrderFromParty ldr r3, _08135A38 @ =gSaveBlock2 + 0x565 _08135A1C: adds r0, r2, r4 @@ -22057,7 +22057,7 @@ _08135A1C: pop {r0} bx r0 .align 2, 0 -_08135A34: .4byte gUnknown_02039270 +_08135A34: .4byte gSelectedOrderFromParty _08135A38: .4byte gSaveBlock2 + 0x565 thumb_func_end sub_8135A14 @@ -22293,7 +22293,7 @@ _08135BF8: orrs r0, r1 strb r0, [r2] movs r0, 0x2 - bl sub_8125D44 + bl TrySavingData pop {r4,r5} pop {r0} bx r0 diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s index 9c7b3847b..a553802e8 100644 --- a/asm/rotating_gate.s +++ b/asm/rotating_gate.s @@ -428,7 +428,7 @@ sub_80C7C94: @ 80C7C94 adds r0, r4, 0x4 lsls r0, 24 lsrs r4, r0, 24 - bl sub_80E6034 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x1 @@ -451,7 +451,7 @@ _080C7CDA: adds r0, 0x8 lsls r0, 24 lsrs r4, r0, 24 - bl sub_80E6034 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x1 diff --git a/asm/script_movement.s b/asm/script_movement.s deleted file mode 100644 index 72523c639..000000000 --- a/asm/script_movement.s +++ /dev/null @@ -1,596 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start exec_movement -exec_movement: @ 80A20D4 - push {r4,lr} - sub sp, 0x4 - adds r4, r3, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080A20F6 - movs r0, 0x1 - b _080A211E -_080A20F6: - ldr r0, _080A2128 @ =sub_80A244C - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080A2108 - movs r0, 0x32 - bl sub_80A2198 -_080A2108: - bl sub_80A21E0 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - ldrb r1, [r1] - adds r2, r4, 0 - bl sub_80A21F4 - lsls r0, 24 - lsrs r0, 24 -_080A211E: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A2128: .4byte sub_80A244C - thumb_func_end exec_movement - - thumb_func_start sub_80A212C -sub_80A212C: @ 80A212C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080A216E - bl sub_80A21E0 - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80A2260 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x10 - beq _080A216E - adds r0, r4, 0 - bl sub_80A2370 - lsls r0, 24 - lsrs r0, 24 - b _080A2170 -_080A216E: - movs r0, 0x1 -_080A2170: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A212C - - thumb_func_start sub_80A2178 -sub_80A2178: @ 80A2178 - push {r4,lr} - bl sub_80A21E0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - beq _080A2192 - adds r0, r4, 0 - bl sub_80A2408 - adds r0, r4, 0 - bl DestroyTask -_080A2192: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A2178 - - thumb_func_start sub_80A2198 -sub_80A2198: @ 80A2198 - push {r4,r5,lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _080A21D4 @ =sub_80A244C - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1 - lsls r1, r0, 2 - adds r1, r0 - lsls r3, r1, 3 - ldr r5, _080A21D8 @ =gTasks + 0x8 - ldr r0, _080A21DC @ =0x0000ffff - adds r4, r0, 0 -_080A21B8: - lsls r0, r2, 1 - adds r0, r3 - adds r0, r5 - ldrh r1, [r0] - orrs r1, r4 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _080A21B8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A21D4: .4byte sub_80A244C -_080A21D8: .4byte gTasks + 0x8 -_080A21DC: .4byte 0x0000ffff - thumb_func_end sub_80A2198 - - thumb_func_start sub_80A21E0 -sub_80A21E0: @ 80A21E0 - push {lr} - ldr r0, _080A21F0 @ =sub_80A244C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080A21F0: .4byte sub_80A244C - thumb_func_end sub_80A21E0 - - thumb_func_start sub_80A21F4 -sub_80A21F4: @ 80A21F4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r8, r6 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_80A2260 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x10 - beq _080A2230 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A2370 - lsls r0, 24 - cmp r0, 0 - beq _080A2250 - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - b _080A2246 -_080A2230: - adds r0, r7, 0 - movs r1, 0xFF - bl sub_80A2260 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x10 - beq _080A2250 - adds r0, r7, 0 - adds r1, r4, 0 - mov r2, r8 -_080A2246: - mov r3, r9 - bl sub_80A23C8 - movs r0, 0 - b _080A2252 -_080A2250: - movs r0, 0x1 -_080A2252: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A21F4 - - thumb_func_start sub_80A2260 -sub_80A2260: @ 80A2260 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A2284 @ =gTasks + 0x8 - adds r1, r0 - adds r1, 0x2 - movs r2, 0 -_080A2278: - ldrb r0, [r1] - cmp r0, r3 - bne _080A2288 - adds r0, r2, 0 - b _080A2296 - .align 2, 0 -_080A2284: .4byte gTasks + 0x8 -_080A2288: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, 0x1 - cmp r2, 0xF - bls _080A2278 - movs r0, 0x10 -_080A2296: - pop {r1} - bx r1 - thumb_func_end sub_80A2260 - - thumb_func_start sub_80A229C -sub_80A229C: @ 80A229C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A22CC @ =gTasks + 0x8 - adds r1, r0 - adds r1, 0x2 - str r1, [r2] - movs r0, 0 - cmp r0, r3 - bcs _080A22C8 -_080A22BA: - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, 0x1 - cmp r0, r3 - bcc _080A22BA - str r1, [r2] -_080A22C8: - pop {r0} - bx r0 - .align 2, 0 -_080A22CC: .4byte gTasks + 0x8 - thumb_func_end sub_80A229C - - thumb_func_start sub_80A22D0 -sub_80A22D0: @ 80A22D0 - push {r4,lr} - sub sp, 0x4 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - mov r2, sp - bl sub_80A229C - ldr r0, [sp] - strb r4, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A22D0 - - thumb_func_start sub_80A22F4 -sub_80A22F4: @ 80A22F4 - push {r4,lr} - sub sp, 0x4 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r2, sp - bl sub_80A229C - ldr r0, [sp] - ldrb r0, [r0] - strb r0, [r4] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A22F4 - - thumb_func_start sub_80A2318 -sub_80A2318: @ 80A2318 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r2, _080A2340 @ =gBitTable - lsrs r1, 22 - adds r1, r2 - ldr r2, [r1] - mvns r2, r2 - lsls r2, 16 - lsrs r2, 16 - ldr r3, _080A2344 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldrh r0, [r1, 0x8] - ands r2, r0 - strh r2, [r1, 0x8] - bx lr - .align 2, 0 -_080A2340: .4byte gBitTable -_080A2344: .4byte gTasks - thumb_func_end sub_80A2318 - - thumb_func_start sub_80A2348 -sub_80A2348: @ 80A2348 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080A2368 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldr r0, _080A236C @ =gBitTable - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldrh r1, [r2, 0x8] - orrs r0, r1 - strh r0, [r2, 0x8] - bx lr - .align 2, 0 -_080A2368: .4byte gTasks -_080A236C: .4byte gBitTable - thumb_func_end sub_80A2348 - - thumb_func_start sub_80A2370 -sub_80A2370: @ 80A2370 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080A2398 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldr r0, _080A239C @ =gBitTable - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldrh r1, [r2, 0x8] - ands r0, r1 - cmp r0, 0 - bne _080A23A0 - movs r0, 0 - b _080A23A2 - .align 2, 0 -_080A2398: .4byte gTasks -_080A239C: .4byte gBitTable -_080A23A0: - movs r0, 0x1 -_080A23A2: - pop {r1} - bx r1 - thumb_func_end sub_80A2370 - - thumb_func_start npc_obj_offscreen_culling_and_flag_update -npc_obj_offscreen_culling_and_flag_update: @ 80A23A8 - lsls r0, 24 - ldr r2, _080A23B4 @ =gUnknown_020384F8 - lsrs r0, 22 - adds r0, r2 - str r1, [r0] - bx lr - .align 2, 0 -_080A23B4: .4byte gUnknown_020384F8 - thumb_func_end npc_obj_offscreen_culling_and_flag_update - - thumb_func_start sub_80A23B8 -sub_80A23B8: @ 80A23B8 - lsls r0, 24 - ldr r1, _080A23C4 @ =gUnknown_020384F8 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_080A23C4: .4byte gUnknown_020384F8 - thumb_func_end sub_80A23B8 - - thumb_func_start sub_80A23C8 -sub_80A23C8: @ 80A23C8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A2318 - adds r0, r4, 0 - mov r1, r8 - bl npc_obj_offscreen_culling_and_flag_update - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_80A22D0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A23C8 - - thumb_func_start sub_80A2408 -sub_80A2408: @ 80A2408 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A2444 @ =gTasks + 0x8 - adds r1, r0 - adds r4, r1, 0x2 - movs r5, 0 -_080A241C: - ldrb r0, [r4] - cmp r0, 0xFF - beq _080A2432 - adds r1, r0, 0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080A2448 @ =gMapObjects - adds r0, r1 - bl UnfreezeMapObject -_080A2432: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x1 - cmp r5, 0xF - bls _080A241C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2444: .4byte gTasks + 0x8 -_080A2448: .4byte gMapObjects - thumb_func_end sub_80A2408 - - thumb_func_start sub_80A244C -sub_80A244C: @ 80A244C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 - mov r6, sp -_080A2458: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, sp - bl sub_80A22F4 - ldrb r0, [r6] - cmp r0, 0xFF - beq _080A247C - adds r4, r0, 0 - adds r0, r5, 0 - bl sub_80A23B8 - adds r3, r0, 0 - adds r0, r7, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80A2490 -_080A247C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _080A2458 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A244C - - thumb_func_start sub_80A2490 -sub_80A2490: @ 80A2490 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r3, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - mov r8, r6 - lsls r2, 24 - lsrs r2, 24 - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r1, _080A24E0 @ =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080A24C8 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080A24FA -_080A24C8: - ldrb r1, [r5] - cmp r1, 0xFE - bne _080A24E4 - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_80A2348 - adds r0, r4, 0 - bl FreezeMapObject - b _080A24FA - .align 2, 0 -_080A24E0: .4byte gMapObjects -_080A24E4: - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - lsls r0, 24 - cmp r0, 0 - bne _080A24FA - adds r5, 0x1 - mov r0, r8 - adds r1, r5, 0 - bl npc_obj_offscreen_culling_and_flag_update -_080A24FA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A2490 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_pokemon_util_80C4BF0.s b/asm/script_pokemon_util_80C4BF0.s deleted file mode 100644 index 6777ca135..000000000 --- a/asm/script_pokemon_util_80C4BF0.s +++ /dev/null @@ -1,1399 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80C4BF0 -sub_80C4BF0: @ 80C4BF0 - push {r4,lr} - ldr r2, _080C4C1C @ =gSaveBlock1 - ldr r1, _080C4C20 @ =gContestMons - ldrb r3, [r1, 0x15] - movs r4, 0x9B - lsls r4, 5 - adds r0, r2, r4 - strh r3, [r0] - adds r0, r1, 0 - adds r0, 0x55 - ldrb r3, [r0] - adds r4, 0x2 - adds r0, r2, r4 - strh r3, [r0] - adds r1, 0x95 - ldrb r0, [r1] - ldr r1, _080C4C24 @ =0x00001364 - adds r2, r1 - strh r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C4C1C: .4byte gSaveBlock1 -_080C4C20: .4byte gContestMons -_080C4C24: .4byte 0x00001364 - thumb_func_end sub_80C4BF0 - - thumb_func_start sub_80C4C28 -sub_80C4C28: @ 80C4C28 - push {lr} - ldr r0, _080C4C40 @ =gSpecialVar_0x8005 - ldrb r0, [r0] - adds r1, r0, 0 - cmp r0, 0x1 - beq _080C4C4E - cmp r0, 0x1 - bgt _080C4C44 - cmp r0, 0 - beq _080C4C4A - b _080C4C56 - .align 2, 0 -_080C4C40: .4byte gSpecialVar_0x8005 -_080C4C44: - cmp r1, 0x2 - beq _080C4C52 - b _080C4C56 -_080C4C4A: - movs r1, 0x3 - b _080C4C58 -_080C4C4E: - movs r1, 0x4 - b _080C4C58 -_080C4C52: - movs r1, 0x5 - b _080C4C58 -_080C4C56: - movs r1, 0x64 -_080C4C58: - ldr r0, _080C4C60 @ =gSpecialVar_0x8004 - strh r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080C4C60: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80C4C28 - - thumb_func_start sub_80C4C64 -sub_80C4C64: @ 80C4C64 - push {lr} - bl sub_80C46EC - bl sub_80C4740 - bl sub_80C48F4 - pop {r0} - bx r0 - thumb_func_end sub_80C4C64 - - thumb_func_start sub_80C4C78 -sub_80C4C78: @ 80C4C78 - push {lr} - ldr r0, _080C4C8C @ =gScriptContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080C4CB8 - lsls r0, 2 - ldr r1, _080C4C90 @ =_080C4C94 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C4C8C: .4byte gScriptContestCategory -_080C4C90: .4byte _080C4C94 - .align 2, 0 -_080C4C94: - .4byte _080C4CA8 - .4byte _080C4CAC - .4byte _080C4CB0 - .4byte _080C4CB4 - .4byte _080C4CB8 -_080C4CA8: - movs r0, 0x8 - b _080C4CBA -_080C4CAC: - movs r0, 0x9 - b _080C4CBA -_080C4CB0: - movs r0, 0xA - b _080C4CBA -_080C4CB4: - movs r0, 0xB - b _080C4CBA -_080C4CB8: - movs r0, 0xC -_080C4CBA: - ldr r1, _080C4CD0 @ =gSaveBlock1 - lsls r0, 5 - adds r0, r1 - ldr r1, _080C4CD4 @ =0x00002e04 - adds r0, r1 - ldrh r1, [r0] - cmp r1, 0 - bne _080C4CDC - ldr r0, _080C4CD8 @ =gSpecialVar_0x8004 - strh r1, [r0] - b _080C4CE2 - .align 2, 0 -_080C4CD0: .4byte gSaveBlock1 -_080C4CD4: .4byte 0x00002e04 -_080C4CD8: .4byte gSpecialVar_0x8004 -_080C4CDC: - ldr r1, _080C4CE8 @ =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] -_080C4CE2: - pop {r0} - bx r0 - .align 2, 0 -_080C4CE8: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80C4C78 - - thumb_func_start sub_80C4CEC -sub_80C4CEC: @ 80C4CEC - push {lr} - movs r0, 0xFF - bl sub_80B2A7C - pop {r0} - bx r0 - thumb_func_end sub_80C4CEC - - thumb_func_start sub_80C4CF8 -sub_80C4CF8: @ 80C4CF8 - push {lr} - ldr r0, _080C4D28 @ =gUnknown_02038690 - ldr r1, _080C4D2C @ =gContestPlayerMonIndex - ldrb r2, [r1] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _080C4D40 - ldr r0, _080C4D30 @ =gScriptContestRank - ldrh r0, [r0] - cmp r0, 0x3 - bne _080C4D40 - ldr r1, _080C4D34 @ =gUnknown_02038678 - lsls r0, r2, 1 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r0, _080C4D38 @ =0x0000031f - cmp r1, r0 - ble _080C4D40 - ldr r1, _080C4D3C @ =gSpecialVar_0x8004 - movs r0, 0x1 - b _080C4D44 - .align 2, 0 -_080C4D28: .4byte gUnknown_02038690 -_080C4D2C: .4byte gContestPlayerMonIndex -_080C4D30: .4byte gScriptContestRank -_080C4D34: .4byte gUnknown_02038678 -_080C4D38: .4byte 0x0000031f -_080C4D3C: .4byte gSpecialVar_0x8004 -_080C4D40: - ldr r1, _080C4D4C @ =gSpecialVar_0x8004 - movs r0, 0 -_080C4D44: - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080C4D4C: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80C4CF8 - - thumb_func_start sub_80C4D50 -sub_80C4D50: @ 80C4D50 - push {lr} - movs r3, 0 - ldr r0, _080C4D78 @ =gSaveBlock1 - ldr r1, _080C4D7C @ =0x00002f04 - adds r2, r0, r1 - movs r1, 0x4 -_080C4D5C: - ldrh r0, [r2] - cmp r0, 0 - beq _080C4D68 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_080C4D68: - adds r2, 0x20 - subs r1, 0x1 - cmp r1, 0 - bge _080C4D5C - adds r0, r3, 0 - pop {r1} - bx r1 - .align 2, 0 -_080C4D78: .4byte gSaveBlock1 -_080C4D7C: .4byte 0x00002f04 - thumb_func_end sub_80C4D50 - - thumb_func_start sub_80C4D80 -sub_80C4D80: @ 80C4D80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _080C4EA0 @ =gUnknown_02038670 - mov r12, r0 - ldr r1, _080C4EA4 @ =gSpecialVar_0x8006 - mov r8, r1 - ldr r2, _080C4EA8 @ =gStringVar1 - mov r9, r2 - mov r2, r12 - mov r1, sp - movs r6, 0x3 -_080C4D9E: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _080C4D9E - movs r6, 0 -_080C4DAE: - movs r1, 0x3 - cmp r1, r6 - ble _080C4DD8 -_080C4DB4: - subs r4, r1, 0x1 - lsls r0, r4, 1 - mov r5, sp - adds r3, r5, r0 - lsls r0, r1, 1 - adds r2, r5, r0 - ldrh r5, [r3] - movs r7, 0 - ldrsh r1, [r3, r7] - movs r7, 0 - ldrsh r0, [r2, r7] - cmp r1, r0 - bge _080C4DD2 - strh r5, [r2] - strh r0, [r3] -_080C4DD2: - adds r1, r4, 0 - cmp r1, r6 - bgt _080C4DB4 -_080C4DD8: - adds r6, 0x1 - cmp r6, 0x2 - ble _080C4DAE - mov r2, r8 - ldrh r0, [r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - movs r2, 0 - movs r7, 0 - movs r6, 0 - lsls r0, 16 - asrs r4, r0, 16 - adds r3, r0, 0 - mov r1, sp -_080C4DF6: - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, r4 - bne _080C4E12 - lsls r0, r2, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r2, r0, 24 - mov r5, r8 - ldrh r5, [r5] - cmp r6, r5 - bne _080C4E12 - adds r7, r2, 0 -_080C4E12: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _080C4DF6 - movs r6, 0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - asrs r1, r3, 16 - lsls r2, 24 - mov r10, r2 - cmp r0, r1 - beq _080C4E40 - adds r2, r1, 0 - mov r1, sp -_080C4E30: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - bgt _080C4E40 - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, r2 - bne _080C4E30 -_080C4E40: - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r2, r7, 0 - movs r6, 0 - asrs r5, r3, 16 - mov r8, r5 - mov r1, r12 - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r8, r0 - bne _080C4E60 - cmp r7, 0x1 - beq _080C4E78 -_080C4E5A: - subs r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_080C4E60: - adds r6, 0x1 - cmp r6, 0x3 - bgt _080C4E78 - lsls r0, r6, 1 - add r0, r12 - asrs r1, r3, 16 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r1, r0 - bne _080C4E60 - cmp r2, 0x1 - bne _080C4E5A -_080C4E78: - lsls r1, r6, 24 - lsrs r1, 24 - mov r0, r9 - bl sub_80C4698 - ldr r0, _080C4EAC @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C4EB8 - ldr r0, _080C4EB0 @ =gStringVar2 - lsls r1, r6, 3 - subs r1, r6 - lsls r1, 2 - ldr r2, _080C4EB4 @ =gLinkPlayers + 0x8 - adds r1, r2 - bl sub_80C4674 - b _080C4EC4 - .align 2, 0 -_080C4EA0: .4byte gUnknown_02038670 -_080C4EA4: .4byte gSpecialVar_0x8006 -_080C4EA8: .4byte gStringVar1 -_080C4EAC: .4byte gIsLinkContest -_080C4EB0: .4byte gStringVar2 -_080C4EB4: .4byte gLinkPlayers + 0x8 -_080C4EB8: - ldr r0, _080C4ED8 @ =gStringVar2 - lsls r1, r6, 6 - ldr r2, _080C4EDC @ =gUnknown_0203857D - adds r1, r2 - bl sub_80C4674 -_080C4EC4: - mov r1, r10 - asrs r0, r1, 24 - cmp r0, 0x1 - beq _080C4ED0 - cmp r7, r0 - bne _080C4EE4 -_080C4ED0: - ldr r0, _080C4EE0 @ =gSpecialVar_0x8006 - strh r4, [r0] - b _080C4EEA - .align 2, 0 -_080C4ED8: .4byte gStringVar2 -_080C4EDC: .4byte gUnknown_0203857D -_080C4EE0: .4byte gSpecialVar_0x8006 -_080C4EE4: - ldr r1, _080C4EFC @ =gSpecialVar_0x8006 - adds r0, r4, 0x4 - strh r0, [r1] -_080C4EEA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C4EFC: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80C4D80 - - thumb_func_start ShowContestWinnerCleanup -ShowContestWinnerCleanup: @ 80C4F00 - push {lr} - ldr r0, _080C4F0C @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080C4F0C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end ShowContestWinnerCleanup - - thumb_func_start ShowContestWinner -ShowContestWinner: @ 80C4F10 - push {r4-r6,lr} - ldr r6, _080C4F54 @ =gUnknown_0203856C - ldrb r0, [r6] - cmp r0, 0 - beq _080C4F40 - bl sub_80AAF30 - ldr r4, _080C4F58 @ =0x02000000 - ldr r0, _080C4F5C @ =0x00015ddf - adds r1, r4, r0 - movs r5, 0 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0xFE - movs r1, 0 - bl sub_80B2C4C - ldr r1, _080C4F60 @ =0x00015dde - adds r4, r1 - strb r0, [r4] - movs r0, 0x3 - bl sub_80B2A7C - strb r5, [r6] -_080C4F40: - ldr r0, _080C4F64 @ =CB2_ContestPainting - bl SetMainCallback2 - ldr r1, _080C4F68 @ =gMain - ldr r0, _080C4F6C @ =ShowContestWinnerCleanup - str r0, [r1, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C4F54: .4byte gUnknown_0203856C -_080C4F58: .4byte 0x02000000 -_080C4F5C: .4byte 0x00015ddf -_080C4F60: .4byte 0x00015dde -_080C4F64: .4byte CB2_ContestPainting -_080C4F68: .4byte gMain -_080C4F6C: .4byte ShowContestWinnerCleanup - thumb_func_end ShowContestWinner - - thumb_func_start sub_80C4F70 -sub_80C4F70: @ 80C4F70 - push {r4,lr} - ldr r0, _080C4FA8 @ =0x00004010 - ldr r4, _080C4FAC @ =gContestMons - ldrb r1, [r4, 0x15] - bl VarSet - ldr r0, _080C4FB0 @ =0x00004011 - adds r1, r4, 0 - adds r1, 0x55 - ldrb r1, [r1] - bl VarSet - ldr r0, _080C4FB4 @ =0x00004012 - adds r1, r4, 0 - adds r1, 0x95 - ldrb r1, [r1] - bl VarSet - ldr r0, _080C4FB8 @ =0x00004013 - adds r1, r4, 0 - adds r1, 0xD5 - ldrb r1, [r1] - bl VarSet - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C4FA8: .4byte 0x00004010 -_080C4FAC: .4byte gContestMons -_080C4FB0: .4byte 0x00004011 -_080C4FB4: .4byte 0x00004012 -_080C4FB8: .4byte 0x00004013 - thumb_func_end sub_80C4F70 - - thumb_func_start GiveMonArtistRibbon -GiveMonArtistRibbon: @ 80C4FBC - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _080C501C @ =gUnknown_02038694 - ldrb r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, _080C5020 @ =gPlayerParty - adds r0, r4 - movs r1, 0x46 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0 - bne _080C5038 - ldr r0, _080C5024 @ =gUnknown_02038690 - ldr r1, _080C5028 @ =gContestPlayerMonIndex - ldrb r2, [r1] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _080C5038 - ldr r0, _080C502C @ =gScriptContestRank - ldrh r0, [r0] - cmp r0, 0x3 - bne _080C5038 - ldr r1, _080C5030 @ =gUnknown_02038678 - lsls r0, r2, 1 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r0, _080C5034 @ =0x0000031f - cmp r1, r0 - ble _080C5038 - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x46 - mov r2, sp - bl SetMonData - movs r0, 0x1 - b _080C503A - .align 2, 0 -_080C501C: .4byte gUnknown_02038694 -_080C5020: .4byte gPlayerParty -_080C5024: .4byte gUnknown_02038690 -_080C5028: .4byte gContestPlayerMonIndex -_080C502C: .4byte gScriptContestRank -_080C5030: .4byte gUnknown_02038678 -_080C5034: .4byte 0x0000031f -_080C5038: - movs r0, 0 -_080C503A: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GiveMonArtistRibbon - - thumb_func_start sub_80C5044 -sub_80C5044: @ 80C5044 - ldr r0, _080C504C @ =gUnknown_0203856C - ldrb r0, [r0] - bx lr - .align 2, 0 -_080C504C: .4byte gUnknown_0203856C - thumb_func_end sub_80C5044 - - thumb_func_start ShowContestEntryMonPic -ShowContestEntryMonPic: @ 80C5050 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldr r4, _080C513C @ =sub_80C5190 - adds r0, r4, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080C512A - movs r0, 0xA - mov r10, r0 - movs r7, 0x3 - movs r1, 0x3 - movs r2, 0x13 - movs r3, 0xD - bl MenuDrawTextWindow - ldr r2, _080C5140 @ =gContestMons - ldr r0, _080C5144 @ =gSpecialVar_0x8006 - ldrh r1, [r0] - lsls r1, 6 - adds r0, r1, r2 - ldrh r6, [r0] - adds r0, r2, 0 - adds r0, 0x38 - adds r0, r1, r0 - ldr r0, [r0] - mov r8, r0 - adds r2, 0x3C - adds r1, r2 - ldr r1, [r1] - mov r9, r1 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C5148 @ =gTasks - lsls r5, r0, 2 - adds r5, r0 - lsls r5, 3 - adds r5, r1 - movs r0, 0 - strh r0, [r5, 0x8] - strh r6, [r5, 0xA] - lsls r0, r6, 3 - ldr r1, _080C514C @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _080C5150 @ =gMonFrontPicCoords - lsls r2, r6, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - ldr r4, _080C5154 @ =gUnknown_081FAF4C - ldr r3, [r4] - ldr r4, [r4, 0x4] - str r4, [sp] - str r6, [sp, 0x4] - mov r4, r8 - str r4, [sp, 0x8] - bl HandleLoadSpecialPokePic - adds r0, r6, 0 - mov r1, r9 - mov r2, r8 - bl sub_80409C8 - adds r4, r0, 0 - bl LoadCompressedObjectPalette - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonSpriteTemplate_803C56C - ldr r0, _080C5158 @ =gUnknown_02024E8C - ldrh r1, [r4, 0x4] - strh r1, [r0, 0x2] - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xC] - mov r1, r10 - strh r1, [r5, 0xE] - strh r7, [r5, 0x10] - ldr r3, _080C515C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r1, r0 - ldr r2, _080C5160 @ =SpriteCallbackDummy - str r2, [r0] - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] -_080C512A: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C513C: .4byte sub_80C5190 -_080C5140: .4byte gContestMons -_080C5144: .4byte gSpecialVar_0x8006 -_080C5148: .4byte gTasks -_080C514C: .4byte gMonFrontPicTable -_080C5150: .4byte gMonFrontPicCoords -_080C5154: .4byte gUnknown_081FAF4C -_080C5158: .4byte gUnknown_02024E8C -_080C515C: .4byte gSprites -_080C5160: .4byte SpriteCallbackDummy - thumb_func_end ShowContestEntryMonPic - - thumb_func_start sub_80C5164 -sub_80C5164: @ 80C5164 - push {lr} - ldr r0, _080C5188 @ =sub_80C5190 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080C5184 - ldr r0, _080C518C @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_080C5184: - pop {r0} - bx r0 - .align 2, 0 -_080C5188: .4byte sub_80C5190 -_080C518C: .4byte gTasks - thumb_func_end sub_80C5164 - - thumb_func_start sub_80C5190 -sub_80C5190: @ 80C5190 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080C51B4 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080C5222 - cmp r0, 0x1 - bgt _080C51B8 - cmp r0, 0 - beq _080C51F8 - b _080C5222 - .align 2, 0 -_080C51B4: .4byte gTasks -_080C51B8: - cmp r0, 0x2 - beq _080C51C2 - cmp r0, 0x3 - beq _080C5204 - b _080C5222 -_080C51C2: - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080C5200 @ =gSprites - adds r5, r0, r1 - ldrb r0, [r5, 0x5] - lsrs r0, 4 - bl GetSpritePaletteTagByPaletteNum - lsls r0, 16 - lsrs r0, 16 - bl FreeSpritePaletteByTag - ldrb r0, [r5, 0x1] - lsls r0, 30 - cmp r0, 0 - beq _080C51F2 - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix -_080C51F2: - adds r0, r5, 0 - bl DestroySprite -_080C51F8: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080C5222 - .align 2, 0 -_080C5200: .4byte gSprites -_080C5204: - ldrb r2, [r4, 0xE] - adds r0, r2, 0 - ldrb r3, [r4, 0x10] - adds r1, r3, 0 - adds r2, 0x9 - lsls r2, 24 - lsrs r2, 24 - adds r3, 0xA - lsls r3, 24 - lsrs r3, 24 - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl DestroyTask -_080C5222: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C5190 - - thumb_func_start ScriptGetMultiplayerId -ScriptGetMultiplayerId: @ 80C5228 - push {r4,lr} - ldr r0, _080C5244 @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C524C - ldr r4, _080C5248 @ =gScriptResult - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - b _080C5252 - .align 2, 0 -_080C5244: .4byte gIsLinkContest -_080C5248: .4byte gScriptResult -_080C524C: - ldr r1, _080C5258 @ =gScriptResult - movs r0, 0x4 - strh r0, [r1] -_080C5252: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C5258: .4byte gScriptResult - thumb_func_end ScriptGetMultiplayerId - - thumb_func_start ScriptRandom -ScriptRandom: @ 80C525C - push {r4,lr} - ldr r0, _080C5280 @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C5294 - ldr r2, _080C5284 @ =gUnknown_03005D28 - ldr r1, [r2] - ldr r0, _080C5288 @ =0x41c64e6d - muls r0, r1 - ldr r1, _080C528C @ =0x00006073 - adds r0, r1 - str r0, [r2] - lsrs r0, 16 - ldr r4, _080C5290 @ =gScriptResult - b _080C529E - .align 2, 0 -_080C5280: .4byte gIsLinkContest -_080C5284: .4byte gUnknown_03005D28 -_080C5288: .4byte 0x41c64e6d -_080C528C: .4byte 0x00006073 -_080C5290: .4byte gScriptResult -_080C5294: - ldr r4, _080C52AC @ =gScriptResult - bl Random - lsls r0, 16 - lsrs r0, 16 -_080C529E: - ldrh r1, [r4] - bl __umodsi3 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C52AC: .4byte gScriptResult - thumb_func_end ScriptRandom - - thumb_func_start HealPlayerParty -HealPlayerParty: @ 80C52B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - mov r8, r0 - ldr r0, _080C536C @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r8, r0 - bcs _080C535C - ldr r1, _080C5370 @ =gPlayerParty - mov r10, r1 - mov r6, sp -_080C52CE: - movs r0, 0x64 - mov r4, r8 - muls r4, r0 - add r4, r10 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - lsls r1, r0, 16 - strb r0, [r6] - lsrs r1, 24 - strb r1, [r6, 0x1] - adds r0, r4, 0 - movs r1, 0x39 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - movs r1, 0x15 - bl GetMonData - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 - movs r1, 0x1 - add r1, r8 - mov r9, r1 -_080C5304: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - adds r1, r7, 0 - adds r2, r5, 0 - bl CalculatePPWithBonus - strb r0, [r6] - adds r1, r5, 0 - adds r1, 0x11 - adds r0, r4, 0 - mov r2, sp - bl SetMonData - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080C5304 - movs r0, 0 - strb r0, [r6] - strb r0, [r6, 0x1] - strb r0, [r6, 0x2] - strb r0, [r6, 0x3] - movs r1, 0x64 - mov r0, r8 - muls r0, r1 - add r0, r10 - movs r1, 0x37 - mov r2, sp - bl SetMonData - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _080C536C @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r8, r0 - bcc _080C52CE -_080C535C: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C536C: .4byte gPlayerPartyCount -_080C5370: .4byte gPlayerParty - thumb_func_end HealPlayerParty - - thumb_func_start ScriptGiveMon -ScriptGiveMon: @ 80C5374 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x78 - adds r5, r0, 0 - adds r3, r1, 0 - adds r4, r2, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 16 - lsrs r0, r4, 16 - mov r8, r0 - add r6, sp, 0x14 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r3, 0 - movs r3, 0x20 - bl CreateMon - add r0, sp, 0x10 - mov r1, r8 - strb r1, [r0] - lsrs r4, 24 - strb r4, [r0, 0x1] - adds r0, r6, 0 - movs r1, 0xC - add r2, sp, 0x10 - bl SetMonData - adds r0, r6, 0 - bl GiveMonToPlayer - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0x1 - bgt _080C53E8 - cmp r4, 0 - blt _080C53E8 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8090D90 - adds r0, r5, 0 - movs r1, 0x3 - bl sub_8090D90 -_080C53E8: - adds r0, r4, 0 - add sp, 0x78 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end ScriptGiveMon - - thumb_func_start ScriptGiveEgg -ScriptGiveEgg: @ 80C53F8 - push {lr} - sub sp, 0x68 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - movs r2, 0x1 - bl sub_8042044 - add r2, sp, 0x64 - movs r0, 0x1 - strb r0, [r2] - mov r0, sp - movs r1, 0x2D - bl SetMonData - mov r0, sp - bl GiveMonToPlayer - lsls r0, 24 - lsrs r0, 24 - add sp, 0x68 - pop {r1} - bx r1 - thumb_func_end ScriptGiveEgg - - thumb_func_start CheckForAlivePartyMons -CheckForAlivePartyMons: @ 80C5428 - push {lr} - bl sub_803DAA0 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - beq _080C5444 - cmp r1, 0x1 - bgt _080C5440 - cmp r1, 0 - beq _080C5444 - b _080C5448 -_080C5440: - cmp r1, 0x2 - bne _080C5448 -_080C5444: - ldr r0, _080C544C @ =gScriptResult - strh r1, [r0] -_080C5448: - pop {r0} - bx r0 - .align 2, 0 -_080C544C: .4byte gScriptResult - thumb_func_end CheckForAlivePartyMons - - thumb_func_start CheckPartyMonHasHeldItem -CheckPartyMonHasHeldItem: @ 80C5450 - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - movs r5, 0 - movs r7, 0xCE - lsls r7, 1 -_080C545C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _080C548C @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080C5490 - cmp r0, r7 - beq _080C5490 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - cmp r0, r6 - bne _080C5490 - movs r0, 0x1 - b _080C5498 - .align 2, 0 -_080C548C: .4byte gPlayerParty -_080C5490: - adds r5, 0x1 - cmp r5, 0x5 - ble _080C545C - movs r0, 0 -_080C5498: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyMonHasHeldItem - - thumb_func_start GetNameOfEnigmaBerryInPlayerParty -GetNameOfEnigmaBerryInPlayerParty: @ 80C54A0 - push {r4,lr} - movs r0, 0xAF - bl CheckPartyMonHasHeldItem - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r4, 0x1 - bne _080C54C2 - movs r0, 0xAF - bl ItemIdToBerryType - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C54CC @ =gStringVar1 - bl GetBerryNameByBerryType -_080C54C2: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C54CC: .4byte gStringVar1 - thumb_func_end GetNameOfEnigmaBerryInPlayerParty - - thumb_func_start ScriptWildBattle -ScriptWildBattle: @ 80C54D0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r7, r2, 16 - lsrs r6, r7, 16 - bl ZeroEnemyPartyMons - ldr r0, _080C552C @ =gEnemyParty - mov r8, r0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x20 - bl CreateMon - cmp r6, 0 - beq _080C551E - add r0, sp, 0x10 - strb r6, [r0] - adds r1, r0, 0 - lsrs r0, r7, 24 - strb r0, [r1, 0x1] - mov r0, r8 - movs r1, 0xC - add r2, sp, 0x10 - bl SetMonData -_080C551E: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C552C: .4byte gEnemyParty - thumb_func_end ScriptWildBattle - - thumb_func_start ScriptSetMonMoveSlot -ScriptSetMonMoveSlot: @ 80C5530 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r2, 24 - cmp r3, 0x6 - bls _080C554C - ldr r0, _080C5560 @ =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_080C554C: - movs r0, 0x64 - muls r0, r3 - ldr r1, _080C5564 @ =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - bl SetMonMoveSlot - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C5560: .4byte gPlayerPartyCount -_080C5564: .4byte gPlayerParty - thumb_func_end ScriptSetMonMoveSlot - - thumb_func_start sub_80C5568 -sub_80C5568: @ 80C5568 - push {lr} - ldr r1, _080C5578 @ =gMain - ldr r0, _080C557C @ =sub_80C5580 - str r0, [r1, 0x8] - bl sub_8121E10 - pop {r0} - bx r0 - .align 2, 0 -_080C5578: .4byte gMain -_080C557C: .4byte sub_80C5580 - thumb_func_end sub_80C5568 - - thumb_func_start sub_80C5580 -sub_80C5580: @ 80C5580 - push {lr} - ldr r0, _080C5590 @ =gUnknown_02039270 - ldrb r1, [r0] - cmp r1, 0 - bne _080C5598 - ldr r0, _080C5594 @ =gScriptResult - strh r1, [r0] - b _080C559E - .align 2, 0 -_080C5590: .4byte gUnknown_02039270 -_080C5594: .4byte gScriptResult -_080C5598: - ldr r1, _080C55A8 @ =gScriptResult - movs r0, 0x1 - strh r0, [r1] -_080C559E: - ldr r0, _080C55AC @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080C55A8: .4byte gScriptResult -_080C55AC: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end sub_80C5580 - - thumb_func_start ChooseBattleTowerPlayerParty -ChooseBattleTowerPlayerParty: @ 80C55B0 - push {lr} - ldr r1, _080C55C0 @ =gMain - ldr r0, _080C55C4 @ =SetBattleTowerPlayerParty - str r0, [r1, 0x8] - bl sub_8121E34 - pop {r0} - bx r0 - .align 2, 0 -_080C55C0: .4byte gMain -_080C55C4: .4byte SetBattleTowerPlayerParty - thumb_func_end ChooseBattleTowerPlayerParty - - thumb_func_start SetBattleTowerPlayerParty -SetBattleTowerPlayerParty: @ 80C55C8 - push {r4,lr} - ldr r0, _080C55DC @ =gUnknown_02039270 - ldrb r4, [r0] - cmp r4, 0 - bne _080C55E4 - bl LoadPlayerParty - ldr r0, _080C55E0 @ =gScriptResult - strh r4, [r0] - b _080C55EE - .align 2, 0 -_080C55DC: .4byte gUnknown_02039270 -_080C55E0: .4byte gScriptResult -_080C55E4: - bl ReducePlayerPartyToThree - ldr r1, _080C55FC @ =gScriptResult - movs r0, 0x1 - strh r0, [r1] -_080C55EE: - ldr r0, _080C5600 @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C55FC: .4byte gScriptResult -_080C5600: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end SetBattleTowerPlayerParty - - thumb_func_start ReducePlayerPartyToThree -ReducePlayerPartyToThree: @ 80C5604 - push {r4-r7,lr} - sub sp, 0x134 - add r0, sp, 0x12C - movs r1, 0 - str r1, [r0] - ldr r2, _080C5674 @ =0x0500004b - mov r1, sp - bl CpuSet - movs r5, 0 - movs r7, 0x64 - ldr r6, _080C5678 @ =gPlayerParty - mov r4, sp -_080C561E: - ldr r0, _080C567C @ =gUnknown_02039270 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080C5638 - subs r0, 0x1 - adds r1, r0, 0 - muls r1, r7 - adds r1, r6 - adds r0, r4, 0 - movs r2, 0x64 - bl memcpy -_080C5638: - adds r4, 0x64 - adds r5, 0x1 - cmp r5, 0x2 - ble _080C561E - add r0, sp, 0x130 - movs r1, 0 - str r1, [r0] - ldr r4, _080C5678 @ =gPlayerParty - ldr r2, _080C5680 @ =0x05000096 - adds r1, r4, 0 - bl CpuSet - mov r5, sp - add r6, sp, 0xC8 -_080C5654: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x64 - adds r4, 0x64 - cmp r5, r6 - ble _080C5654 - bl CalculatePlayerPartyCount - add sp, 0x134 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5674: .4byte 0x0500004b -_080C5678: .4byte gPlayerParty -_080C567C: .4byte gUnknown_02039270 -_080C5680: .4byte 0x05000096 - thumb_func_end ReducePlayerPartyToThree - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_pokemon_util_80F99CC.s b/asm/script_pokemon_util_80F99CC.s deleted file mode 100644 index d107902ae..000000000 --- a/asm/script_pokemon_util_80F99CC.s +++ /dev/null @@ -1,978 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F99CC -sub_80F99CC: @ 80F99CC - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080F9A04 @ =sub_80F9A8C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080F9A08 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x2 - strh r0, [r1, 0x8] - subs r0, 0x3 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080F9A04: .4byte sub_80F9A8C -_080F9A08: .4byte gTasks - thumb_func_end sub_80F99CC - - thumb_func_start sub_80F9A0C -sub_80F9A0C: @ 80F9A0C - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080F9A44 @ =sub_80F9A8C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080F9A48 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x3 - strh r0, [r1, 0x8] - subs r0, 0x4 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080F9A44: .4byte sub_80F9A8C -_080F9A48: .4byte gTasks - thumb_func_end sub_80F9A0C - - thumb_func_start sub_80F9A4C -sub_80F9A4C: @ 80F9A4C - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080F9A84 @ =sub_80F9A8C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080F9A88 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x7 - strh r0, [r1, 0x8] - subs r0, 0x8 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080F9A84: .4byte sub_80F9A8C -_080F9A88: .4byte gTasks - thumb_func_end sub_80F9A4C - - thumb_func_start sub_80F9A8C -sub_80F9A8C: @ 80F9A8C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _080F9AC4 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080F9ABE - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _080F9AC8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x8] - movs r1, 0 - bl OpenPartyMenu - adds r0, r4, 0 - bl DestroyTask -_080F9ABE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F9AC4: .4byte gPaletteFade -_080F9AC8: .4byte gTasks - thumb_func_end sub_80F9A8C - - thumb_func_start sub_80F9ACC -sub_80F9ACC: @ 80F9ACC - push {r4,r5,lr} - ldr r1, _080F9AEC @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x7 - bls _080F9AE2 - b _080F9BF6 -_080F9AE2: - lsls r0, 2 - ldr r1, _080F9AF0 @ =_080F9AF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F9AEC: .4byte 0x0201b000 -_080F9AF0: .4byte _080F9AF4 - .align 2, 0 -_080F9AF4: - .4byte _080F9B14 - .4byte _080F9B54 - .4byte _080F9B5A - .4byte _080F9B6E - .4byte _080F9B98 - .4byte _080F9B9E - .4byte _080F9BB0 - .4byte _080F9BC8 -_080F9B14: - ldr r0, _080F9B3C @ =0x00000266 - adds r5, r4, r0 - movs r1, 0 - ldrsh r3, [r5, r1] - ldr r0, _080F9B40 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r3, r0 - bge _080F9B48 - movs r2, 0x98 - lsls r2, 2 - adds r0, r4, r2 - ldrb r0, [r0] - ldrb r1, [r5] - movs r2, 0x64 - muls r2, r3 - ldr r3, _080F9B44 @ =gPlayerParty - adds r2, r3 - bl TryCreatePartyMenuMonIcon - b _080F9BF0 - .align 2, 0 -_080F9B3C: .4byte 0x00000266 -_080F9B40: .4byte gPlayerPartyCount -_080F9B44: .4byte gPlayerParty -_080F9B48: - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _080F9BBC -_080F9B54: - bl LoadHeldItemIconGraphics - b _080F9BB4 -_080F9B5A: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - bl CreateHeldItemIcons_806DC34 - movs r2, 0x99 - lsls r2, 2 - adds r1, r4, r2 - b _080F9BBC -_080F9B6E: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - ldr r2, _080F9B94 @ =0x00000266 - adds r5, r4, r2 - ldrb r1, [r5] - bl sub_806BD58 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F9BF0 - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _080F9BBC - .align 2, 0 -_080F9B94: .4byte 0x00000266 -_080F9B98: - bl PartyMenuPrintMonsLevelOrStatus - b _080F9BB4 -_080F9B9E: - bl PrintPartyMenuMonNicknames - ldr r1, _080F9BAC @ =0x0201b000 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _080F9BBC - .align 2, 0 -_080F9BAC: .4byte 0x0201b000 -_080F9BB0: - bl sub_80F9C00 -_080F9BB4: - ldr r1, _080F9BC4 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r1, r2 -_080F9BBC: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080F9BF6 - .align 2, 0 -_080F9BC4: .4byte 0x0201b000 -_080F9BC8: - ldr r0, _080F9BEC @ =0x00000266 - adds r5, r4, r0 - ldrb r0, [r5] - bl sub_806B58C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F9BF0 - movs r1, 0 - strh r1, [r5] - movs r2, 0x99 - lsls r2, 2 - adds r0, r4, r2 - strh r1, [r0] - movs r0, 0x1 - b _080F9BF8 - .align 2, 0 -_080F9BEC: .4byte 0x00000266 -_080F9BF0: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080F9BF6: - movs r0, 0 -_080F9BF8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80F9ACC - - thumb_func_start sub_80F9C00 -sub_80F9C00: @ 80F9C00 - push {r4,lr} - movs r4, 0 - b _080F9C58 -_080F9C06: - movs r0, 0x64 - muls r0, r4 - ldr r1, _080F9C24 @ =gPlayerParty - adds r0, r1 - bl sub_80AE47C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080F9C52 - lsls r0, 2 - ldr r1, _080F9C28 @ =_080F9C2C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F9C24: .4byte gPlayerParty -_080F9C28: .4byte _080F9C2C - .align 2, 0 -_080F9C2C: - .4byte _080F9C40 - .4byte _080F9C4A - .4byte _080F9C4A - .4byte _080F9C40 - .4byte _080F9C40 -_080F9C40: - adds r0, r4, 0 - movs r1, 0x7E - bl sub_806BC3C - b _080F9C52 -_080F9C4A: - adds r0, r4, 0 - movs r1, 0x70 - bl sub_806BC3C -_080F9C52: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080F9C58: - ldr r0, _080F9C68 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r4, r0 - bcc _080F9C06 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F9C68: .4byte gPlayerPartyCount - thumb_func_end sub_80F9C00 - - thumb_func_start sub_80F9C6C -sub_80F9C6C: @ 80F9C6C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080F9C94 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080F9CD8 - adds r0, r4, 0 - bl sub_806BD80 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _080F9C98 - cmp r0, 0x2 - beq _080F9CC0 - b _080F9CD8 - .align 2, 0 -_080F9C94: .4byte gPaletteFade -_080F9C98: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_806CA38 - ldr r1, _080F9CB8 @ =gUnknown_02038694 - strb r0, [r1] - ldr r2, _080F9CBC @ =gSpecialVar_0x8004 - ldrb r0, [r1] - strh r0, [r2] - adds r0, r4, 0 - bl sub_8123138 - b _080F9CD8 - .align 2, 0 -_080F9CB8: .4byte gUnknown_02038694 -_080F9CBC: .4byte gSpecialVar_0x8004 -_080F9CC0: - movs r0, 0x5 - bl PlaySE - ldr r1, _080F9CE0 @ =gUnknown_02038694 - movs r0, 0xFF - strb r0, [r1] - ldr r1, _080F9CE4 @ =gSpecialVar_0x8004 - movs r0, 0xFF - strh r0, [r1] - adds r0, r4, 0 - bl sub_8123138 -_080F9CD8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F9CE0: .4byte gUnknown_02038694 -_080F9CE4: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80F9C6C - - thumb_func_start sub_80F9CE8 -sub_80F9CE8: @ 80F9CE8 - push {r4,r5,lr} - ldr r1, _080F9D08 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x7 - bls _080F9CFE - b _080F9E12 -_080F9CFE: - lsls r0, 2 - ldr r1, _080F9D0C @ =_080F9D10 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F9D08: .4byte 0x0201b000 -_080F9D0C: .4byte _080F9D10 - .align 2, 0 -_080F9D10: - .4byte _080F9D30 - .4byte _080F9D70 - .4byte _080F9D76 - .4byte _080F9D8A - .4byte _080F9DB4 - .4byte _080F9DBA - .4byte _080F9DCC - .4byte _080F9DE4 -_080F9D30: - ldr r0, _080F9D58 @ =0x00000266 - adds r5, r4, r0 - movs r1, 0 - ldrsh r3, [r5, r1] - ldr r0, _080F9D5C @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r3, r0 - bge _080F9D64 - movs r2, 0x98 - lsls r2, 2 - adds r0, r4, r2 - ldrb r0, [r0] - ldrb r1, [r5] - movs r2, 0x64 - muls r2, r3 - ldr r3, _080F9D60 @ =gPlayerParty - adds r2, r3 - bl TryCreatePartyMenuMonIcon - b _080F9E0C - .align 2, 0 -_080F9D58: .4byte 0x00000266 -_080F9D5C: .4byte gPlayerPartyCount -_080F9D60: .4byte gPlayerParty -_080F9D64: - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _080F9DD8 -_080F9D70: - bl LoadHeldItemIconGraphics - b _080F9DD0 -_080F9D76: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - bl CreateHeldItemIcons_806DC34 - movs r2, 0x99 - lsls r2, 2 - adds r1, r4, r2 - b _080F9DD8 -_080F9D8A: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - ldr r2, _080F9DB0 @ =0x00000266 - adds r5, r4, r2 - ldrb r1, [r5] - bl sub_806BD58 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F9E0C - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _080F9DD8 - .align 2, 0 -_080F9DB0: .4byte 0x00000266 -_080F9DB4: - bl PartyMenuPrintMonsLevelOrStatus - b _080F9DD0 -_080F9DBA: - bl PrintPartyMenuMonNicknames - ldr r1, _080F9DC8 @ =0x0201b000 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _080F9DD8 - .align 2, 0 -_080F9DC8: .4byte 0x0201b000 -_080F9DCC: - bl sub_80F9E1C -_080F9DD0: - ldr r1, _080F9DE0 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r1, r2 -_080F9DD8: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080F9E12 - .align 2, 0 -_080F9DE0: .4byte 0x0201b000 -_080F9DE4: - ldr r0, _080F9E08 @ =0x00000266 - adds r5, r4, r0 - ldrb r0, [r5] - bl sub_806B58C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F9E0C - movs r1, 0 - strh r1, [r5] - movs r2, 0x99 - lsls r2, 2 - adds r0, r4, r2 - strh r1, [r0] - movs r0, 0x1 - b _080F9E14 - .align 2, 0 -_080F9E08: .4byte 0x00000266 -_080F9E0C: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080F9E12: - movs r0, 0 -_080F9E14: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80F9CE8 - - thumb_func_start sub_80F9E1C -sub_80F9E1C: @ 80F9E1C - push {r4,lr} - movs r4, 0 - b _080F9E52 -_080F9E22: - movs r0, 0x64 - muls r0, r4 - ldr r1, _080F9E40 @ =gPlayerParty - adds r0, r1 - bl sub_8040574 - lsls r0, 24 - cmp r0, 0 - bne _080F9E44 - adds r0, r4, 0 - movs r1, 0x9A - bl sub_806BC3C - b _080F9E4C - .align 2, 0 -_080F9E40: .4byte gPlayerParty -_080F9E44: - adds r0, r4, 0 - movs r1, 0x8C - bl sub_806BC3C -_080F9E4C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080F9E52: - ldr r0, _080F9E60 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r4, r0 - bcc _080F9E22 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F9E60: .4byte gPlayerPartyCount - thumb_func_end sub_80F9E1C - - thumb_func_start sub_80F9E64 -sub_80F9E64: @ 80F9E64 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080F9E8C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080F9EE2 - adds r0, r6, 0 - bl sub_806BD80 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _080F9E90 - cmp r0, 0x2 - beq _080F9ED0 - b _080F9EE2 - .align 2, 0 -_080F9E8C: .4byte gPaletteFade -_080F9E90: - movs r0, 0x5 - bl PlaySE - ldr r4, _080F9EC4 @ =gSpecialVar_0x8004 - adds r0, r6, 0 - bl sub_806CA38 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r5, _080F9EC8 @ =gSpecialVar_0x8005 - ldrh r1, [r4] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080F9ECC @ =gPlayerParty - adds r0, r1 - bl sub_8040574 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - adds r0, r6, 0 - bl sub_8123138 - b _080F9EE2 - .align 2, 0 -_080F9EC4: .4byte gSpecialVar_0x8004 -_080F9EC8: .4byte gSpecialVar_0x8005 -_080F9ECC: .4byte gPlayerParty -_080F9ED0: - movs r0, 0x5 - bl PlaySE - ldr r1, _080F9EE8 @ =gSpecialVar_0x8004 - movs r0, 0xFF - strh r0, [r1] - adds r0, r6, 0 - bl sub_8123138 -_080F9EE2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F9EE8: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80F9E64 - - thumb_func_start sub_80F9EEC -sub_80F9EEC: @ 80F9EEC - push {r4,lr} - sub sp, 0x4 - ldr r0, _080F9F20 @ =gPlayerParty - ldr r1, _080F9F24 @ =gSpecialVar_0x8004 - ldrb r1, [r1] - ldr r2, _080F9F28 @ =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080F9F2C @ =c2_exit_to_overworld_2_switch - movs r4, 0 - str r4, [sp] - bl sub_809D9F0 - ldr r1, _080F9F30 @ =0x02018000 - movs r0, 0x3 - strb r0, [r1, 0x8] - ldr r1, _080F9F34 @ =gUnknown_0300485C - ldr r0, _080F9F38 @ =sub_8080990 - str r0, [r1] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F9F20: .4byte gPlayerParty -_080F9F24: .4byte gSpecialVar_0x8004 -_080F9F28: .4byte gPlayerPartyCount -_080F9F2C: .4byte c2_exit_to_overworld_2_switch -_080F9F30: .4byte 0x02018000 -_080F9F34: .4byte gUnknown_0300485C -_080F9F38: .4byte sub_8080990 - thumb_func_end sub_80F9EEC - - thumb_func_start sub_80F9F3C -sub_80F9F3C: @ 80F9F3C - push {r4,r5,lr} - ldr r1, _080F9F78 @ =gScriptResult - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r5, r1, 0 -_080F9F48: - ldr r0, _080F9F7C @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080F9F80 @ =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - adds r1, 0xD - bl GetMonData - cmp r0, 0 - beq _080F9F66 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080F9F66: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080F9F48 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F9F78: .4byte gScriptResult -_080F9F7C: .4byte gSpecialVar_0x8004 -_080F9F80: .4byte gPlayerParty - thumb_func_end sub_80F9F3C - - thumb_func_start sub_80F9F84 -sub_80F9F84: @ 80F9F84 - push {r4,r5,lr} - ldr r0, _080F9FC4 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - adds r5, r1, 0 - muls r5, r0 - ldr r0, _080F9FC8 @ =gPlayerParty - adds r5, r0 - ldr r0, _080F9FCC @ =gSpecialVar_0x8005 - ldrh r1, [r0] - adds r1, 0xD - adds r0, r5, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, _080F9FD0 @ =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r0, _080F9FD4 @ =gStringVar2 - movs r1, 0xD - muls r1, r4 - ldr r2, _080F9FD8 @ =gMoveNames - adds r1, r2 - bl StringCopy - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F9FC4: .4byte gSpecialVar_0x8004 -_080F9FC8: .4byte gPlayerParty -_080F9FCC: .4byte gSpecialVar_0x8005 -_080F9FD0: .4byte gStringVar1 -_080F9FD4: .4byte gStringVar2 -_080F9FD8: .4byte gMoveNames - thumb_func_end sub_80F9F84 - - thumb_func_start sub_80F9FDC -sub_80F9FDC: @ 80F9FDC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - mov r8, r0 - adds r5, r1, 0 - adds r4, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r0, 0xD - str r0, [sp, 0x8] - mov r0, r8 - ldr r1, [sp, 0x8] - bl GetMonData - mov r1, sp - adds r1, 0x2 - str r1, [sp, 0x14] - strh r0, [r1] - adds r3, r4, 0 - adds r3, 0xD - str r3, [sp, 0xC] - mov r0, r8 - adds r1, r3, 0 - bl GetMonData - mov r1, sp - strh r0, [r1] - adds r7, r5, 0 - adds r7, 0x11 - str r7, [sp, 0x10] - mov r0, r8 - adds r1, r7, 0 - bl GetMonData - mov r1, sp - adds r1, 0x5 - str r1, [sp, 0x18] - strb r0, [r1] - adds r3, r4, 0 - adds r3, 0x11 - str r3, [sp, 0x1C] - mov r0, r8 - adds r1, r3, 0 - bl GetMonData - add r7, sp, 0x4 - mov r10, r7 - strb r0, [r7] - mov r0, r8 - movs r1, 0x15 - bl GetMonData - mov r6, sp - adds r6, 0x6 - strb r0, [r6] - ldr r1, _080FA0D8 @ =gUnknown_08208238 - adds r0, r5, r1 - ldrb r0, [r0] - mov r9, r0 - ldrb r0, [r6] - adds r2, r0, 0 - mov r3, r9 - ands r2, r3 - lsls r5, 1 - asrs r2, r5 - lsls r2, 24 - lsrs r2, 24 - adds r1, r4, r1 - ldrb r3, [r1] - adds r1, r0, 0 - ands r1, r3 - lsls r4, 1 - asrs r1, r4 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - bics r0, r7 - strb r0, [r6] - ldrb r0, [r6] - bics r0, r3 - strb r0, [r6] - lsls r2, r4 - lsls r1, r5 - adds r2, r1 - ldrb r0, [r6] - orrs r0, r2 - strb r0, [r6] - mov r0, r8 - ldr r1, [sp, 0x8] - mov r2, sp - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0xC] - ldr r2, [sp, 0x14] - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0x10] - mov r2, r10 - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0x1C] - ldr r2, [sp, 0x18] - bl SetMonData - mov r0, r8 - movs r1, 0x15 - adds r2, r6, 0 - bl SetMonData - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FA0D8: .4byte gUnknown_08208238 - thumb_func_end sub_80F9FDC - - thumb_func_start sub_80FA0DC -sub_80FA0DC: @ 80FA0DC - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, _080FA13C @ =gSpecialVar_0x8004 - mov r8, r0 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080FA140 @ =gPlayerParty - adds r0, r5 - ldr r4, _080FA144 @ =gSpecialVar_0x8005 - ldrb r2, [r4] - movs r1, 0 - bl SetMonMoveSlot - mov r1, r8 - ldrh r0, [r1] - muls r0, r6 - adds r0, r5 - ldrb r1, [r4] - bl RemoveMonPPBonus - ldrh r4, [r4] - cmp r4, 0x2 - bhi _080FA130 -_080FA10E: - ldr r0, _080FA13C @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080FA140 @ =gPlayerParty - adds r0, r1 - lsls r1, r4, 24 - lsrs r1, 24 - adds r4, 0x1 - lsls r2, r4, 24 - lsrs r2, 24 - bl sub_80F9FDC - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x2 - bls _080FA10E -_080FA130: - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FA13C: .4byte gSpecialVar_0x8004 -_080FA140: .4byte gPlayerParty -_080FA144: .4byte gSpecialVar_0x8005 - thumb_func_end sub_80FA0DC - - thumb_func_start sub_80FA148 -sub_80FA148: @ 80FA148 - push {r4,lr} - ldr r0, _080FA170 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080FA174 @ =gPlayerParty - adds r0, r1 - ldr r4, _080FA178 @ =gScriptResult - movs r1, 0 - strh r1, [r4] - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _080FA16A - movs r0, 0x1 - strh r0, [r4] -_080FA16A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FA170: .4byte gSpecialVar_0x8004 -_080FA174: .4byte gPlayerParty -_080FA178: .4byte gScriptResult - thumb_func_end sub_80FA148 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/secret_base.s b/asm/secret_base.s index 139375998..bfa0e573d 100644 --- a/asm/secret_base.s +++ b/asm/secret_base.s @@ -943,7 +943,7 @@ sub_80BBB90: @ 80BBB90 push {r4,lr} sub sp, 0x4 bl ScriptContext2_Enable - bl HideMapNamePopUpWindow + bl HideMapNamePopup mov r4, sp adds r4, 0x2 movs r2, 0x88 diff --git a/asm/shop.s b/asm/shop.s index d59f9584e..1d0863469 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -6,818 +6,6 @@ .text - thumb_func_start CreateShopMenu -CreateShopMenu: @ 80B2D54 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - ldr r1, _080B2D90 @ =gUnknown_03000708 - movs r0, 0 - strb r4, [r1, 0xC] - strb r0, [r1, 0x9] - cmp r4, 0 - bne _080B2D9C - movs r0, 0x2 - strb r0, [r1, 0xA] - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x7 - bl MenuDrawTextWindow - ldr r3, _080B2D94 @ =gUnknown_083CC6D0 - ldr r0, _080B2D98 @ =gUnknown_083CC6E8 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x3 - bl PrintMenuItemsReordered - b _080B2DBC - .align 2, 0 -_080B2D90: .4byte gUnknown_03000708 -_080B2D94: .4byte gUnknown_083CC6D0 -_080B2D98: .4byte gUnknown_083CC6E8 -_080B2D9C: - movs r0, 0x1 - strb r0, [r1, 0xA] - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x5 - bl MenuDrawTextWindow - ldr r3, _080B2DEC @ =gUnknown_083CC6D0 - ldr r0, _080B2DF0 @ =gUnknown_083CC6EB - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x2 - bl PrintMenuItemsReordered -_080B2DBC: - ldr r0, _080B2DF4 @ =gUnknown_03000708 - ldrb r3, [r0, 0xA] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl InitMenu - ldr r0, _080B2DF8 @ =sub_80B2E38 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080B2DEC: .4byte gUnknown_083CC6D0 -_080B2DF0: .4byte gUnknown_083CC6EB -_080B2DF4: .4byte gUnknown_03000708 -_080B2DF8: .4byte sub_80B2E38 - thumb_func_end CreateShopMenu - - thumb_func_start SetShopMenuCallback -SetShopMenuCallback: @ 80B2DFC - ldr r1, _080B2E04 @ =gUnknown_03000708 - str r0, [r1] - bx lr - .align 2, 0 -_080B2E04: .4byte gUnknown_03000708 - thumb_func_end SetShopMenuCallback - - thumb_func_start SetShopItemsForSale -SetShopItemsForSale: @ 80B2E08 - push {lr} - adds r1, r0, 0 - movs r2, 0 - ldr r3, _080B2E34 @ =gUnknown_03000708 - str r1, [r3, 0x4] - strb r2, [r3, 0x8] - ldrh r0, [r1] - cmp r0, 0 - beq _080B2E30 -_080B2E1A: - ldrb r0, [r3, 0x8] - adds r0, 0x1 - strb r0, [r3, 0x8] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _080B2E1A -_080B2E30: - pop {r0} - bx r0 - .align 2, 0 -_080B2E34: .4byte gUnknown_03000708 - thumb_func_end SetShopItemsForSale - - thumb_func_start sub_80B2E38 -sub_80B2E38: @ 80B2E38 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _080B2E60 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080B2E68 - ldr r4, _080B2E64 @ =gUnknown_03000708 - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _080B2EF4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080B2E82 - .align 2, 0 -_080B2E60: .4byte gMain -_080B2E64: .4byte gUnknown_03000708 -_080B2E68: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080B2E90 - ldr r4, _080B2E8C @ =gUnknown_03000708 - ldrb r0, [r4, 0x9] - ldrb r1, [r4, 0xA] - cmp r0, r1 - beq _080B2EF4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_080B2E82: - bl MoveMenuCursor - strb r0, [r4, 0x9] - b _080B2EF4 - .align 2, 0 -_080B2E8C: .4byte gUnknown_03000708 -_080B2E90: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B2EE0 - movs r0, 0x5 - bl PlaySE - ldr r3, _080B2EB0 @ =gUnknown_03000708 - ldrb r0, [r3, 0xC] - cmp r0, 0 - bne _080B2EBC - ldr r1, _080B2EB4 @ =gUnknown_083CC6D0 - ldr r2, _080B2EB8 @ =gUnknown_083CC6E8 - b _080B2EC0 - .align 2, 0 -_080B2EB0: .4byte gUnknown_03000708 -_080B2EB4: .4byte gUnknown_083CC6D0 -_080B2EB8: .4byte gUnknown_083CC6E8 -_080B2EBC: - ldr r1, _080B2ED8 @ =gUnknown_083CC6D0 - ldr r2, _080B2EDC @ =gUnknown_083CC6EB -_080B2EC0: - ldrb r0, [r3, 0x9] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _080B2EF4 - .align 2, 0 -_080B2ED8: .4byte gUnknown_083CC6D0 -_080B2EDC: .4byte gUnknown_083CC6EB -_080B2EE0: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080B2EF4 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl HandleShopMenuQuit -_080B2EF4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B2E38 - - thumb_func_start sub_80B2EFC -sub_80B2EFC: @ 80B2EFC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B2F24 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080B2F28 @ =BuyMenuDrawGraphics - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - ldr r0, _080B2F2C @ =sub_80B2FA0 - str r0, [r1] - movs r0, 0x1 - movs r1, 0 - bl fade_screen - pop {r0} - bx r0 - .align 2, 0 -_080B2F24: .4byte gTasks -_080B2F28: .4byte BuyMenuDrawGraphics -_080B2F2C: .4byte sub_80B2FA0 - thumb_func_end sub_80B2EFC - - thumb_func_start sub_80B2F30 -sub_80B2F30: @ 80B2F30 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B2F58 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080B2F5C @ =sub_80A6300 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - ldr r0, _080B2F60 @ =sub_80B2FA0 - str r0, [r1] - movs r0, 0x1 - movs r1, 0 - bl fade_screen - pop {r0} - bx r0 - .align 2, 0 -_080B2F58: .4byte gTasks -_080B2F5C: .4byte sub_80A6300 -_080B2F60: .4byte sub_80B2FA0 - thumb_func_end sub_80B2F30 - - thumb_func_start HandleShopMenuQuit -HandleShopMenuQuit: @ 80B2F64 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8072DEC - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x8 - bl MenuZeroFillWindowRect - bl sub_80BE3BC - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - ldr r0, _080B2F9C @ =gUnknown_03000708 - ldr r0, [r0] - cmp r0, 0 - beq _080B2F96 - bl _call_via_r0 -_080B2F96: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B2F9C: .4byte gUnknown_03000708 - thumb_func_end HandleShopMenuQuit - - thumb_func_start sub_80B2FA0 -sub_80B2FA0: @ 80B2FA0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080B2FD4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B2FCE - ldr r0, _080B2FD8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - lsls r0, 16 - ldrh r1, [r1, 0x1A] - orrs r0, r1 - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_080B2FCE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B2FD4: .4byte gPaletteFade -_080B2FD8: .4byte gTasks - thumb_func_end sub_80B2FA0 - - thumb_func_start ReturnToShopMenuAfterExitingSellMenu -ReturnToShopMenuAfterExitingSellMenu: @ 80B2FDC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080B2FF8 @ =gUnknown_03000708 - ldrb r0, [r0, 0xC] - bl CreateShopMenu - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B2FF8: .4byte gUnknown_03000708 - thumb_func_end ReturnToShopMenuAfterExitingSellMenu - - thumb_func_start Task_ExitSellMenu -Task_ExitSellMenu: @ 80B2FFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_807D770 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B3040 - ldr r0, _080B3028 @ =gUnknown_03000708 - ldrb r0, [r0, 0xC] - cmp r0, 0x2 - bne _080B3034 - ldr r1, _080B302C @ =gOtherText_CanIHelpYou - ldr r2, _080B3030 @ =ReturnToShopMenuAfterExitingSellMenu - adds r0, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - b _080B3040 - .align 2, 0 -_080B3028: .4byte gUnknown_03000708 -_080B302C: .4byte gOtherText_CanIHelpYou -_080B3030: .4byte ReturnToShopMenuAfterExitingSellMenu -_080B3034: - ldr r1, _080B3048 @ =gOtherText_AnythingElse - ldr r2, _080B304C @ =ReturnToShopMenuAfterExitingSellMenu - adds r0, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField -_080B3040: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B3048: .4byte gOtherText_AnythingElse -_080B304C: .4byte ReturnToShopMenuAfterExitingSellMenu - thumb_func_end Task_ExitSellMenu - - thumb_func_start sub_80B3050 -sub_80B3050: @ 80B3050 - push {lr} - bl pal_fill_black - ldr r0, _080B3064 @ =Task_ExitSellMenu - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080B3064: .4byte Task_ExitSellMenu - thumb_func_end sub_80B3050 - - thumb_func_start sub_80B3068 -sub_80B3068: @ 80B3068 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl Task_ExitSellMenu - pop {r0} - bx r0 - thumb_func_end sub_80B3068 - - thumb_func_start unref_sub_80B3078 -unref_sub_80B3078: @ 80B3078 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B308C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080B3090 @ =Task_ExitSellMenu - str r0, [r1] - bx lr - .align 2, 0 -_080B308C: .4byte gTasks -_080B3090: .4byte Task_ExitSellMenu - thumb_func_end unref_sub_80B3078 - - thumb_func_start sub_80B3094 -sub_80B3094: @ 80B3094 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80B3094 - - thumb_func_start sub_80B30AC -sub_80B30AC: @ 80B30AC - push {r4,lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r3, _080B30F0 @ =gBGTilemapBuffers + 0x800 - ldr r1, _080B30F4 @ =0x0600e800 - ldr r0, _080B30F8 @ =0x040000d4 - str r3, [r0] - str r1, [r0, 0x4] - ldr r4, _080B30FC @ =0x80000400 - str r4, [r0, 0x8] - ldr r1, [r0, 0x8] - movs r2, 0x80 - lsls r2, 4 - adds r1, r3, r2 - ldr r2, _080B3100 @ =0x0600e000 - str r1, [r0] - str r2, [r0, 0x4] - str r4, [r0, 0x8] - ldr r1, [r0, 0x8] - movs r1, 0x80 - lsls r1, 5 - adds r3, r1 - ldr r1, _080B3104 @ =0x0600f000 - str r3, [r0] - str r1, [r0, 0x4] - str r4, [r0, 0x8] - ldr r0, [r0, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B30F0: .4byte gBGTilemapBuffers + 0x800 -_080B30F4: .4byte 0x0600e800 -_080B30F8: .4byte 0x040000d4 -_080B30FC: .4byte 0x80000400 -_080B3100: .4byte 0x0600e000 -_080B3104: .4byte 0x0600f000 - thumb_func_end sub_80B30AC - - thumb_func_start BuyMenuDrawGraphics -BuyMenuDrawGraphics: @ 80B3108 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - bl sub_80F9438 - bl remove_some_task - ldr r0, _080B3204 @ =REG_BG1HOFS - movs r5, 0 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - ldr r0, _080B3208 @ =gPaletteFade - mov r8, r0 - ldrb r0, [r0, 0x8] - movs r1, 0x80 - orrs r0, r1 - mov r1, r8 - strb r0, [r1, 0x8] - movs r1, 0xE0 - lsls r1, 19 - movs r6, 0 - str r6, [sp, 0x4] - ldr r0, _080B320C @ =0x040000d4 - add r2, sp, 0x4 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, _080B3210 @ =0x85000100 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _080B3214 @ =gBuyMenuFrame_Gfx - ldr r1, _080B3218 @ =0x06007c00 - bl LZDecompressVram - ldr r0, _080B321C @ =gBuyMenuFrame_Tilemap - ldr r1, _080B3220 @ =0x02018000 - bl sub_800D238 - ldr r0, _080B3224 @ =gMenuMoneyPal - movs r1, 0xC0 - movs r2, 0x20 - bl LoadCompressedPalette - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - ldr r4, _080B3228 @ =gWindowConfig_81E6DFC - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - bl BuyMenuDrawMapGraphics - ldr r0, _080B322C @ =gUnknown_03000708 - strb r6, [r0, 0x9] - strb r5, [r0, 0xB] - movs r0, 0 - movs r1, 0 - movs r2, 0x20 - movs r3, 0x20 - bl MenuZeroFillWindowRect - ldr r0, _080B3230 @ =gSaveBlock1 - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80B7C14 - movs r0, 0 - movs r1, 0x7 - bl sub_80B3764 - bl sub_80B37EC - bl sub_80B3270 - ldr r0, _080B3234 @ =sub_80B40E8 - movs r1, 0x8 - bl CreateTask - bl sub_80B3240 - movs r0, 0x1 - negs r0, r0 - str r6, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - mov r2, r8 - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _080B3238 @ =sub_80B30AC - bl SetVBlankCallback - ldr r0, _080B323C @ =sub_80B3094 - bl SetMainCallback2 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B3204: .4byte REG_BG1HOFS -_080B3208: .4byte gPaletteFade -_080B320C: .4byte 0x040000d4 -_080B3210: .4byte 0x85000100 -_080B3214: .4byte gBuyMenuFrame_Gfx -_080B3218: .4byte 0x06007c00 -_080B321C: .4byte gBuyMenuFrame_Tilemap -_080B3220: .4byte 0x02018000 -_080B3224: .4byte gMenuMoneyPal -_080B3228: .4byte gWindowConfig_81E6DFC -_080B322C: .4byte gUnknown_03000708 -_080B3230: .4byte gSaveBlock1 -_080B3234: .4byte sub_80B40E8 -_080B3238: .4byte sub_80B30AC -_080B323C: .4byte sub_80B3094 - thumb_func_end BuyMenuDrawGraphics - - thumb_func_start sub_80B3240 -sub_80B3240: @ 80B3240 - push {lr} - sub sp, 0x4 - ldr r1, _080B326C @ =gUnknown_083CC710 - mov r0, sp - movs r2, 0x4 - bl memcpy - mov r0, sp - adds r0, 0x2 - movs r1, 0xD1 - movs r2, 0x2 - bl LoadPalette - mov r0, sp - movs r1, 0xD8 - movs r2, 0x2 - bl LoadPalette - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080B326C: .4byte gUnknown_083CC710 - thumb_func_end sub_80B3240 - - thumb_func_start sub_80B3270 -sub_80B3270: @ 80B3270 - push {lr} - bl sub_80F944C - ldr r0, _080B32A0 @ =gUnknown_03000708 - ldrb r0, [r0, 0x8] - cmp r0, 0x7 - bls _080B329A - movs r0, 0 - movs r1, 0xAC - movs r2, 0xC - bl CreateVerticalScrollIndicators - movs r0, 0x1 - movs r1, 0xAC - movs r2, 0x94 - bl CreateVerticalScrollIndicators - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C -_080B329A: - pop {r0} - bx r0 - .align 2, 0 -_080B32A0: .4byte gUnknown_03000708 - thumb_func_end sub_80B3270 - - thumb_func_start sub_80B32A4 -sub_80B32A4: @ 80B32A4 - push {lr} - ldr r0, _080B32B8 @ =gUnknown_03000708 - ldrb r0, [r0, 0xB] - cmp r0, 0 - bne _080B32BC - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C - b _080B32C4 - .align 2, 0 -_080B32B8: .4byte gUnknown_03000708 -_080B32BC: - movs r0, 0 - movs r1, 0 - bl sub_80F979C -_080B32C4: - ldr r1, _080B32DC @ =gUnknown_03000708 - ldrb r0, [r1, 0xB] - adds r0, 0x7 - ldrb r1, [r1, 0x8] - cmp r0, r1 - blt _080B32E0 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - b _080B32E8 - .align 2, 0 -_080B32DC: .4byte gUnknown_03000708 -_080B32E0: - movs r0, 0x1 - movs r1, 0 - bl sub_80F979C -_080B32E8: - pop {r0} - bx r0 - thumb_func_end sub_80B32A4 - - thumb_func_start sub_80B32EC -sub_80B32EC: @ 80B32EC - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r2 - lsls r1, 1 - adds r1, r0 - ldr r2, _080B3304 @ =0x0000c3e1 - adds r0, r2, 0 - strh r0, [r1] - strh r0, [r1, 0x2] - bx lr - .align 2, 0 -_080B3304: .4byte 0x0000c3e1 - thumb_func_end sub_80B32EC - - thumb_func_start BuyMenuDrawMapMetatileLayer -BuyMenuDrawMapMetatileLayer: @ 80B3308 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r2 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r3] - strh r0, [r1] - ldrh r0, [r3, 0x2] - strh r0, [r1, 0x2] - adds r2, r1, 0 - adds r2, 0x40 - ldrh r0, [r3, 0x4] - strh r0, [r2] - adds r1, 0x42 - ldrh r0, [r3, 0x6] - strh r0, [r1] - bx lr - thumb_func_end BuyMenuDrawMapMetatileLayer - - thumb_func_start BuyMenuDrawMapMetatile -BuyMenuDrawMapMetatile: @ 80B3330 - push {r4-r7,lr} - adds r7, r2, 0 - lsls r3, 24 - lsrs r3, 24 - adds r2, r3, 0 - lsls r0, 17 - lsrs r0, 16 - lsls r1, 22 - movs r4, 0x80 - lsls r4, 15 - adds r1, r4 - lsrs r1, 16 - cmp r3, 0x1 - beq _080B3364 - cmp r3, 0x1 - bgt _080B3356 - cmp r3, 0 - beq _080B335C - b _080B33C0 -_080B3356: - cmp r2, 0x2 - beq _080B3398 - b _080B33C0 -_080B335C: - ldr r5, _080B3360 @ =gBGTilemapBuffers + 0x1000 - b _080B3366 - .align 2, 0 -_080B3360: .4byte gBGTilemapBuffers + 0x1000 -_080B3364: - ldr r5, _080B3390 @ =gBGTilemapBuffers + 0x1800 -_080B3366: - lsls r6, r0, 16 - asrs r6, 16 - lsls r4, r1, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl BuyMenuDrawMapMetatileLayer - ldr r0, _080B3394 @ =0xfffff800 - adds r5, r0 - adds r3, r7, 0 - adds r3, 0x8 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl BuyMenuDrawMapMetatileLayer - b _080B33C0 - .align 2, 0 -_080B3390: .4byte gBGTilemapBuffers + 0x1800 -_080B3394: .4byte 0xfffff800 -_080B3398: - ldr r5, _080B33C8 @ =gBGTilemapBuffers + 0x1800 - lsls r6, r0, 16 - asrs r6, 16 - lsls r4, r1, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl BuyMenuDrawMapMetatileLayer - ldr r0, _080B33CC @ =0xfffff000 - adds r5, r0 - adds r3, r7, 0 - adds r3, 0x8 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl BuyMenuDrawMapMetatileLayer -_080B33C0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B33C8: .4byte gBGTilemapBuffers + 0x1800 -_080B33CC: .4byte 0xfffff000 - thumb_func_end BuyMenuDrawMapMetatile - thumb_func_start sub_80B33D0 sub_80B33D0: @ 80B33D0 push {r4-r6,lr} diff --git a/asm/unknown_debug_menu.s b/asm/unknown_debug_menu.s deleted file mode 100644 index 138fdb876..000000000 --- a/asm/unknown_debug_menu.s +++ /dev/null @@ -1,133 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start unref_sub_814A414 -unref_sub_814A414: @ 814A414 - push {lr} - sub sp, 0x8 - bl MenuZeroFillScreen - movs r0, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0x12 - bl MenuDrawTextWindow - ldr r3, _0814A458 @ =gUnknown_0842C29C - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x8 - bl PrintMenuItems - movs r0, 0 - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x8 - bl InitMenu - ldr r1, _0814A45C @ =gCallback_03004AE8 - ldr r0, _0814A460 @ =sub_814A464 - str r0, [r1] - movs r0, 0 - add sp, 0x8 - pop {r1} - bx r1 - .align 2, 0 -_0814A458: .4byte gUnknown_0842C29C -_0814A45C: .4byte gCallback_03004AE8 -_0814A460: .4byte sub_814A464 - thumb_func_end unref_sub_814A414 - - thumb_func_start sub_814A464 -sub_814A464: @ 814A464 - push {lr} - bl ProcessMenuInput - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r0, r2, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - bne _0814A480 - movs r0, 0 - b _0814A4B2 -_0814A480: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0814A4AC - ldr r0, _0814A4A0 @ =gUnknown_02024D1E - strb r2, [r0] - ldr r2, _0814A4A4 @ =gCallback_03004AE8 - ldr r0, _0814A4A8 @ =gUnknown_0842C29C - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - movs r0, 0 - b _0814A4B2 - .align 2, 0 -_0814A4A0: .4byte gUnknown_02024D1E -_0814A4A4: .4byte gCallback_03004AE8 -_0814A4A8: .4byte gUnknown_0842C29C -_0814A4AC: - bl CloseMenu - movs r0, 0x1 -_0814A4B2: - pop {r1} - bx r1 - thumb_func_end sub_814A464 - - thumb_func_start sub_814A4B8 -sub_814A4B8: @ 814A4B8 - push {r4,lr} - ldr r2, _0814A4FC @ =gSaveBlock2 - ldr r1, _0814A500 @ =0x00000556 - adds r0, r2, r1 - movs r1, 0x3 - strb r1, [r0] - ldr r3, _0814A504 @ =0x00000557 - adds r0, r2, r3 - strb r1, [r0] - ldr r3, _0814A508 @ =gUnknown_02024D1E - ldrb r0, [r3] - adds r0, 0x1 - ldr r4, _0814A50C @ =0x0000055c - adds r1, r2, r4 - strh r0, [r1] - ldrb r0, [r3] - adds r0, 0x1 - ldr r3, _0814A510 @ =0x0000055e - adds r1, r2, r3 - strh r0, [r1] - subs r4, 0x4 - adds r0, r2, r4 - movs r1, 0x1 - strh r1, [r0] - ldr r0, _0814A514 @ =0x0000055a - adds r2, r0 - strh r1, [r2] - bl CloseMenu - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0814A4FC: .4byte gSaveBlock2 -_0814A500: .4byte 0x00000556 -_0814A504: .4byte 0x00000557 -_0814A508: .4byte gUnknown_02024D1E -_0814A50C: .4byte 0x0000055c -_0814A510: .4byte 0x0000055e -_0814A514: .4byte 0x0000055a - thumb_func_end sub_814A4B8 - - .align 2, 0 @ Don't pad with nop. |