diff options
author | Cameron Hall <camthesaxman@users.noreply.github.com> | 2016-11-10 20:01:14 -0600 |
---|---|---|
committer | YamaArashi <YamaArashi@users.noreply.github.com> | 2016-11-10 18:01:14 -0800 |
commit | 2e7fd90c5b65a1e5ead6695f8b24ddb53a94beb9 (patch) | |
tree | d109aec377cc39f28ee3792968a9afad369bbf2f /asm | |
parent | cea650e783f0f57d1946f217e7164d6ce0ac1ef6 (diff) |
decompile field_door.c (#97)
* decompile
* name some functions and variables
* formatting and name more functions
Diffstat (limited to 'asm')
-rw-r--r-- | asm/field_door.s | 613 | ||||
-rw-r--r-- | asm/metatile_behavior.s | 6 | ||||
-rw-r--r-- | asm/rom_8080874.s | 10 |
3 files changed, 8 insertions, 621 deletions
diff --git a/asm/field_door.s b/asm/field_door.s deleted file mode 100644 index 56a7254ca..000000000 --- a/asm/field_door.s +++ /dev/null @@ -1,613 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8058378 -sub_8058378: @ 8058378 - push {lr} - ldr r1, _08058388 @ =0x06007f00 - movs r2, 0x40 - bl CpuFastSet - pop {r0} - bx r0 - .align 2, 0 -_08058388: .4byte 0x06007f00 - thumb_func_end sub_8058378 - - thumb_func_start door_build_blockdef -door_build_blockdef: @ 805838C - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - adds r1, r6, 0 -_08058398: - ldrb r0, [r2] - lsls r0, 28 - lsrs r3, r0, 16 - adds r2, 0x1 - adds r0, r5, r4 - orrs r3, r0 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _08058398 - cmp r4, 0x7 - bgt _080583C6 - lsls r0, r4, 1 - adds r1, r0, r6 -_080583B6: - ldrb r0, [r2] - lsls r3, r0, 12 - adds r2, 0x1 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x7 - ble _080583B6 -_080583C6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end door_build_blockdef - - thumb_func_start sub_80583CC -sub_80583CC: @ 80583CC - push {r4-r6,lr} - sub sp, 0x10 - adds r5, r0, 0 - adds r6, r1, 0 - adds r4, r2, 0 - movs r1, 0xFE - lsls r1, 2 - mov r0, sp - bl door_build_blockdef - subs r1, r6, 0x1 - adds r0, r5, 0 - mov r2, sp - bl DrawDoorMetatileAt - movs r1, 0xFF - lsls r1, 2 - adds r4, 0x4 - mov r0, sp - adds r2, r4, 0 - bl door_build_blockdef - adds r0, r5, 0 - adds r1, r6, 0 - mov r2, sp - bl DrawDoorMetatileAt - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80583CC - - thumb_func_start sub_805840C -sub_805840C: @ 805840C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - subs r1, r5, 0x1 - bl CurrentMapDrawMetatileAt - adds r0, r4, 0 - adds r1, r5, 0 - bl CurrentMapDrawMetatileAt - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_805840C - - thumb_func_start sub_8058428 -sub_8058428: @ 8058428 - push {r4-r7,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldrh r1, [r4, 0x2] - ldr r0, _08058444 @ =0x0000ffff - cmp r1, r0 - bne _08058448 - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_805840C - b _0805845C - .align 2, 0 -_08058444: .4byte 0x0000ffff -_08058448: - ldrh r1, [r4, 0x2] - ldr r0, [r5, 0x4] - adds r0, r1 - bl sub_8058378 - ldr r2, [r5, 0x8] - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_80583CC -_0805845C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8058428 - - thumb_func_start sub_8058464 -sub_8058464: @ 8058464 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0805848A - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r1, 2 - adds r1, r5, r1 - movs r0, 0xC - ldrsh r2, [r4, r0] - movs r0, 0xE - ldrsh r3, [r4, r0] - adds r0, r6, 0 - bl sub_8058428 -_0805848A: - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r1, r0 - bne _080584B8 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _080584BE - movs r0, 0 - b _080584C0 -_080584B8: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_080584BE: - movs r0, 0x1 -_080584C0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8058464 - - thumb_func_start task50_overworld_door -task50_overworld_door: @ 80584C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - ldr r0, _080584FC @ =gTasks + 0x8 - adds r2, r0 - ldrh r1, [r2] - lsls r1, 16 - ldrh r0, [r2, 0x2] - orrs r1, r0 - ldrh r0, [r2, 0x4] - lsls r0, 16 - ldrh r3, [r2, 0x6] - orrs r0, r3 - bl sub_8058464 - cmp r0, 0 - bne _080584F6 - adds r0, r4, 0 - bl DestroyTask -_080584F6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080584FC: .4byte gTasks + 0x8 - thumb_func_end task50_overworld_door - - thumb_func_start door_frame_last -door_frame_last: @ 8058500 - push {lr} - adds r1, r0, 0 - b _08058508 -_08058506: - adds r1, 0x4 -_08058508: - ldrb r0, [r1] - cmp r0, 0 - bne _08058506 - subs r0, r1, 0x4 - pop {r1} - bx r1 - thumb_func_end door_frame_last - - thumb_func_start door_find -door_find: @ 8058514 - push {lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - b _0805852A -_0805851E: - ldrh r0, [r2] - cmp r0, r1 - bne _08058528 - adds r0, r2, 0 - b _08058532 -_08058528: - adds r2, 0xC -_0805852A: - ldr r0, [r2, 0x4] - cmp r0, 0 - bne _0805851E - movs r0, 0 -_08058532: - pop {r1} - bx r1 - thumb_func_end door_find - - thumb_func_start task_overworld_door_add_if_inactive -task_overworld_door_add_if_inactive: @ 8058538 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - mov r8, r3 - ldr r4, _08058584 @ =task50_overworld_door - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0805858C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _08058588 @ =gTasks + 0x8 - adds r1, r2 - strh r7, [r1, 0xC] - mov r2, r8 - strh r2, [r1, 0xE] - strh r5, [r1, 0x2] - lsrs r2, r5, 16 - strh r2, [r1] - strh r6, [r1, 0x6] - lsrs r2, r6, 16 - strh r2, [r1, 0x4] - lsls r0, 24 - asrs r0, 24 - b _08058590 - .align 2, 0 -_08058584: .4byte task50_overworld_door -_08058588: .4byte gTasks + 0x8 -_0805858C: - movs r0, 0x1 - negs r0, r0 -_08058590: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end task_overworld_door_add_if_inactive - - thumb_func_start sub_805859C -sub_805859C: @ 805859C - push {lr} - adds r0, r1, 0 - adds r1, r2, 0 - bl sub_805840C - pop {r0} - bx r0 - thumb_func_end sub_805859C - - thumb_func_start sub_80585AC -sub_80585AC: @ 80585AC - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - adds r4, r0, 0 - cmp r4, 0 - beq _080585E2 - ldr r1, _080585E8 @ =gUnknown_0830F87C - adds r0, r1, 0 - bl door_frame_last - adds r1, r0, 0 - adds r0, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_8058428 -_080585E2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080585E8: .4byte gUnknown_0830F87C - thumb_func_end sub_80585AC - - thumb_func_start sub_80585EC -sub_80585EC: @ 80585EC - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - cmp r0, 0 - beq _08058620 - ldr r1, _0805861C @ =gUnknown_0830F87C - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 - b _08058624 - .align 2, 0 -_0805861C: .4byte gUnknown_0830F87C -_08058620: - movs r0, 0x1 - negs r0, r0 -_08058624: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80585EC - - thumb_func_start sub_805862C -sub_805862C: @ 805862C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - cmp r0, 0 - beq _08058660 - ldr r1, _0805865C @ =gUnknown_0830F890 - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 - b _08058664 - .align 2, 0 -_0805865C: .4byte gUnknown_0830F890 -_08058660: - movs r0, 0x1 - negs r0, r0 -_08058664: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805862C - - thumb_func_start cur_mapdata_get_door_x2_at -cur_mapdata_get_door_x2_at: @ 805866C - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - cmp r0, 0 - beq _08058690 - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - b _08058694 -_08058690: - movs r0, 0x1 - negs r0, r0 -_08058694: - pop {r4} - pop {r1} - bx r1 - thumb_func_end cur_mapdata_get_door_x2_at - - thumb_func_start unref_sub_805869C -unref_sub_805869C: @ 805869C - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, _080586B0 @ =gDoorAnimGraphicsTable - adds r1, r3, 0 - bl sub_80585EC - pop {r0} - bx r0 - .align 2, 0 -_080586B0: .4byte gDoorAnimGraphicsTable - thumb_func_end unref_sub_805869C - - thumb_func_start sub_80586B4 -sub_80586B4: @ 80586B4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl sub_8056EAC - lsls r0, 24 - cmp r0, 0 - beq _080586D6 - ldr r0, _080586DC @ =gDoorAnimGraphicsTable - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80585AC -_080586D6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080586DC: .4byte gDoorAnimGraphicsTable - thumb_func_end sub_80586B4 - - thumb_func_start sub_80586E0 -sub_80586E0: @ 80586E0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl sub_8056EAC - lsls r0, 24 - cmp r0, 0 - beq _08058702 - ldr r0, _08058708 @ =gDoorAnimGraphicsTable - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_805859C -_08058702: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08058708: .4byte gDoorAnimGraphicsTable - thumb_func_end sub_80586E0 - - thumb_func_start sub_805870C -sub_805870C: @ 805870C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl sub_8056EAC - lsls r0, 24 - cmp r0, 0 - beq _08058738 - ldr r0, _08058734 @ =gDoorAnimGraphicsTable - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_805862C - lsls r0, 24 - asrs r0, 24 - b _0805873C - .align 2, 0 -_08058734: .4byte gDoorAnimGraphicsTable -_08058738: - movs r0, 0x1 - negs r0, r0 -_0805873C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805870C - - thumb_func_start task_overworld_door_add_if_role_69_for_opening_door_at -task_overworld_door_add_if_role_69_for_opening_door_at: @ 8058744 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl sub_8056EAC - lsls r0, 24 - cmp r0, 0 - beq _08058770 - ldr r0, _0805876C @ =gDoorAnimGraphicsTable - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80585EC - lsls r0, 24 - asrs r0, 24 - b _08058774 - .align 2, 0 -_0805876C: .4byte gDoorAnimGraphicsTable -_08058770: - movs r0, 0x1 - negs r0, r0 -_08058774: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end task_overworld_door_add_if_role_69_for_opening_door_at - - thumb_func_start sub_805877C -sub_805877C: @ 805877C - push {lr} - ldr r0, _0805878C @ =task50_overworld_door - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805878C: .4byte task50_overworld_door - thumb_func_end sub_805877C - - thumb_func_start sub_8058790 -sub_8058790: @ 8058790 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, _080587A8 @ =gDoorAnimGraphicsTable - adds r1, r3, 0 - bl cur_mapdata_get_door_x2_at - lsls r0, 24 - cmp r0, 0 - beq _080587AC - movs r0, 0x12 - b _080587AE - .align 2, 0 -_080587A8: .4byte gDoorAnimGraphicsTable -_080587AC: - movs r0, 0x8 -_080587AE: - pop {r1} - bx r1 - thumb_func_end sub_8058790 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/metatile_behavior.s b/asm/metatile_behavior.s index 0217bf6c0..f81e3c0d4 100644 --- a/asm/metatile_behavior.s +++ b/asm/metatile_behavior.s @@ -212,8 +212,8 @@ _08056EA8: bx r1 thumb_func_end is_tile_x69_2_warp_door - thumb_func_start sub_8056EAC -sub_8056EAC: @ 8056EAC + thumb_func_start MetatileBehavior_IsDoor +MetatileBehavior_IsDoor: @ 8056EAC push {lr} lsls r0, 24 lsrs r0, 24 @@ -229,7 +229,7 @@ _08056EBE: _08056EC0: pop {r1} bx r1 - thumb_func_end sub_8056EAC + thumb_func_end MetatileBehavior_IsDoor thumb_func_start MetatileBehavior_IsEscalator MetatileBehavior_IsEscalator: @ 8056EC4 diff --git a/asm/rom_8080874.s b/asm/rom_8080874.s index f672bd3cb..d4a6414fb 100644 --- a/asm/rom_8080874.s +++ b/asm/rom_8080874.s @@ -346,7 +346,7 @@ sub_8080AE4: @ 8080AE4 lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl sub_8056EAC + bl MetatileBehavior_IsDoor lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -461,7 +461,7 @@ _08080BE4: ldrsh r0, [r6, r1] movs r2, 0 ldrsh r1, [r7, r2] - bl sub_80586B4 + bl FieldSetDoorOpened movs r0, 0x1 strh r0, [r5, 0x8] b _08080CAE @@ -499,7 +499,7 @@ _08080C40: ldrsh r0, [r6, r1] movs r2, 0 ldrsh r1, [r7, r2] - bl sub_805870C + bl FieldAnimateDoorClose lsls r0, 24 asrs r0, 24 strh r0, [r5, 0xA] @@ -1201,7 +1201,7 @@ _080811A8: movs r2, 0 ldrsh r1, [r6, r2] subs r1, 0x1 - bl task_overworld_door_add_if_role_69_for_opening_door_at + bl FieldAnimateDoorOpen lsls r0, 24 asrs r0, 24 strh r0, [r5, 0xA] @@ -1262,7 +1262,7 @@ _08081240: movs r2, 0 ldrsh r1, [r6, r2] subs r1, 0x1 - bl sub_805870C + bl FieldAnimateDoorClose lsls r0, 24 asrs r0, 24 strh r0, [r5, 0xA] |