diff options
author | Cameron Hall <camthesaxman@users.noreply.github.com> | 2017-01-18 16:35:34 -0600 |
---|---|---|
committer | YamaArashi <YamaArashi@users.noreply.github.com> | 2017-01-18 14:35:34 -0800 |
commit | 56f432fca2d552d8f0cda1a7fbab8aeb7d926fa2 (patch) | |
tree | ee99f5f6ae709b89179c787a4ceeb92f6d5255bb /asm | |
parent | 6bbdece4fba09f9b1820e936210f3c3f6b62c72a (diff) |
start decompiling rom3 (#198)
* start decompiling rom3
* newline
* decompile sub_800BA78
Diffstat (limited to 'asm')
-rw-r--r-- | asm/contest.s | 2 | ||||
-rw-r--r-- | asm/rom3.s | 619 | ||||
-rw-r--r-- | asm/rom_800D42C.s | 2 |
3 files changed, 2 insertions, 621 deletions
diff --git a/asm/contest.s b/asm/contest.s index c98f5db0d..8a8a65edb 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -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 diff --git a/asm/rom3.s b/asm/rom3.s index 94862459b..1717e3688 100644 --- a/asm/rom3.s +++ b/asm/rom3.s @@ -6,625 +6,6 @@ .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} diff --git a/asm/rom_800D42C.s b/asm/rom_800D42C.s index 57beffdbd..24e845abb 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 |