diff options
Diffstat (limited to 'asm')
-rwxr-xr-x | asm/battle_frontier_1.s | 2 | ||||
-rw-r--r-- | asm/easy_chat.s | 2 | ||||
-rw-r--r-- | asm/field_door.s | 754 | ||||
-rw-r--r-- | asm/fldeff_80F9BCC.s | 6 | ||||
-rwxr-xr-x | asm/fldeff_cut.s | 6 | ||||
-rw-r--r-- | asm/fldeff_flash.s | 4 | ||||
-rw-r--r-- | asm/fldeff_strength.s | 2 | ||||
-rw-r--r-- | asm/fldeff_sweetscent.s | 2 | ||||
-rw-r--r-- | asm/fldeff_teleport.s | 84 | ||||
-rw-r--r-- | asm/macros.inc | 14 | ||||
-rw-r--r-- | asm/macros/music_voice.inc | 125 | ||||
-rw-r--r-- | asm/overworld.s | 12 | ||||
-rwxr-xr-x | asm/party_menu.s | 14 | ||||
-rw-r--r-- | asm/pokemon_animation.s | 2 | ||||
-rwxr-xr-x | asm/pokenav.s | 2 | ||||
-rw-r--r-- | asm/rom6.s | 6 |
16 files changed, 169 insertions, 868 deletions
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index f6e395065..8e82de6c6 100755 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -13641,7 +13641,7 @@ sub_8195ED8: @ 8195ED8 push {r4,lr} ldr r4, =gMapHeader ldrb r0, [r4, 0x17] - bl is_light_level_1_2_3_or_6 + bl Overworld_MapTypeAllowsTeleportAndFly lsls r0, 24 cmp r0, 0 beq _08195F30 diff --git a/asm/easy_chat.s b/asm/easy_chat.s index b7a35d964..86c78d2cf 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -6075,7 +6075,7 @@ _0811D19C: b _0811D1BC .pool _0811D1A8: - ldr r0, =gText_CombineTwoWordsOrPhrases + ldr r0, =gText_CombineTwoWordsOrPhrases3 str r0, [sp, 0xC] b _0811D1BC .pool diff --git a/asm/field_door.s b/asm/field_door.s deleted file mode 100644 index 037c76566..000000000 --- a/asm/field_door.s +++ /dev/null @@ -1,754 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_808A400 -sub_808A400: @ 808A400 - push {lr} - adds r2, r0, 0 - ldrb r0, [r2, 0x3] - cmp r0, 0x2 - bne _0808A420 - ldrh r1, [r1, 0x2] - ldr r0, [r2, 0x4] - adds r0, r1 - ldr r1, =0x06007e00 - movs r2, 0x80 - bl CpuFastSet - b _0808A42E - .pool -_0808A420: - ldrh r1, [r1, 0x2] - ldr r0, [r2, 0x4] - adds r0, r1 - ldr r1, =0x06007f00 - movs r2, 0x40 - bl CpuFastSet -_0808A42E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A400 - - thumb_func_start door_build_blockdef -door_build_blockdef: @ 808A438 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - adds r1, r6, 0 -_0808A444: - 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 _0808A444 - cmp r4, 0x7 - bgt _0808A472 - lsls r0, r4, 1 - adds r1, r0, r6 -_0808A462: - ldrb r0, [r2] - lsls r3, r0, 12 - adds r2, 0x1 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x7 - ble _0808A462 -_0808A472: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end door_build_blockdef - - thumb_func_start door_patch_tilemap -door_patch_tilemap: @ 808A478 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - adds r7, r1, 0 - mov r9, r2 - adds r5, r3, 0 - ldrb r0, [r0, 0x3] - cmp r0, 0x2 - bne _0808A4F4 - add r4, sp, 0x10 - movs r1, 0xFC - lsls r1, 2 - adds r0, r4, 0 - adds r2, r5, 0 - bl door_build_blockdef - mov r6, r9 - subs r6, 0x1 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFD - lsls r1, 2 - adds r0, r5, 0x4 - mov r8, r0 - adds r0, r4, 0 - mov r2, r8 - bl door_build_blockdef - adds r0, r7, 0 - mov r1, r9 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFE - lsls r1, 2 - adds r0, r4, 0 - adds r2, r5, 0 - bl door_build_blockdef - adds r5, r7, 0x1 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFF - lsls r1, 2 - adds r0, r4, 0 - mov r2, r8 - bl door_build_blockdef - adds r0, r5, 0 - mov r1, r9 - adds r2, r4, 0 - bl DrawDoorMetatileAt - b _0808A522 -_0808A4F4: - movs r1, 0xFE - lsls r1, 2 - mov r0, sp - adds r2, r5, 0 - bl door_build_blockdef - mov r1, r9 - subs r1, 0x1 - adds r0, r7, 0 - mov r2, sp - bl DrawDoorMetatileAt - movs r1, 0xFF - lsls r1, 2 - adds r2, r5, 0x4 - mov r0, sp - bl door_build_blockdef - adds r0, r7, 0 - mov r1, r9 - mov r2, sp - bl DrawDoorMetatileAt -_0808A522: - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end door_patch_tilemap - - thumb_func_start sub_808A530 -sub_808A530: @ 808A530 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - subs r7, r6, 0x1 - adds r0, r5, 0 - adds r1, r7, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r6, 0 - bl CurrentMapDrawMetatileAt - ldrb r0, [r4, 0x3] - cmp r0, 0x2 - bne _0808A562 - adds r4, r5, 0x1 - adds r0, r4, 0 - adds r1, r7, 0 - bl CurrentMapDrawMetatileAt - adds r0, r4, 0 - adds r1, r6, 0 - bl CurrentMapDrawMetatileAt -_0808A562: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808A530 - - thumb_func_start sub_808A568 -sub_808A568: @ 808A568 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldrh r1, [r5, 0x2] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _0808A5B0 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_808A530 - bl sub_808A964 - lsls r0, 24 - cmp r0, 0 - beq _0808A5E2 - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r1, 0x7 - ldr r0, =gSpecialVar_0x8005 - ldrh r2, [r0] - adds r2, 0x7 - adds r0, r4, 0 - bl sub_808A530 - b _0808A5E2 - .pool -_0808A5B0: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808A400 - ldr r3, [r4, 0x8] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl door_patch_tilemap - bl sub_808A964 - lsls r0, 24 - cmp r0, 0 - beq _0808A5E2 - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r1, 0x7 - ldr r0, =gSpecialVar_0x8005 - ldrh r2, [r0] - adds r2, 0x7 - ldr r3, [r4, 0x8] - adds r0, r4, 0 - bl door_patch_tilemap -_0808A5E2: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A568 - - thumb_func_start sub_808A5F0 -sub_808A5F0: @ 808A5F0 - 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 _0808A616 - 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_808A568 -_0808A616: - 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 _0808A644 - 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 _0808A64A - movs r0, 0 - b _0808A64C -_0808A644: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_0808A64A: - movs r0, 0x1 -_0808A64C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808A5F0 - - thumb_func_start task50_overworld_door -task50_overworld_door: @ 808A654 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - ldr r0, =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_808A5F0 - cmp r0, 0 - bne _0808A682 - adds r0, r4, 0 - bl DestroyTask -_0808A682: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task50_overworld_door - - thumb_func_start door_frame_last -door_frame_last: @ 808A68C - push {lr} - adds r1, r0, 0 - b _0808A694 -_0808A692: - adds r1, 0x4 -_0808A694: - ldrb r0, [r1] - cmp r0, 0 - bne _0808A692 - subs r0, r1, 0x4 - pop {r1} - bx r1 - thumb_func_end door_frame_last - - thumb_func_start door_find -door_find: @ 808A6A0 - push {lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - b _0808A6B6 -_0808A6AA: - ldrh r0, [r2] - cmp r0, r1 - bne _0808A6B4 - adds r0, r2, 0 - b _0808A6BE -_0808A6B4: - adds r2, 0xC -_0808A6B6: - ldr r0, [r2, 0x4] - cmp r0, 0 - bne _0808A6AA - movs r0, 0 -_0808A6BE: - pop {r1} - bx r1 - thumb_func_end door_find - - thumb_func_start task_overworld_door_add_if_inactive -task_overworld_door_add_if_inactive: @ 808A6C4 - 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, =task50_overworld_door - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0808A718 - 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, =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 _0808A71C - .pool -_0808A718: - movs r0, 0x1 - negs r0, r0 -_0808A71C: - 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_808A728 -sub_808A728: @ 808A728 - push {lr} - bl sub_808A530 - pop {r0} - bx r0 - thumb_func_end sub_808A728 - - thumb_func_start sub_808A734 -sub_808A734: @ 808A734 - 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 _0808A76A - ldr r1, =gUnknown_08496F8C - 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_808A568 -_0808A76A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A734 - - thumb_func_start task_overworld_door_add_for_opening_door_at -@ s32 task_overworld_door_add_for_opening_door_at(void *a1, s32 x, s32 y) -task_overworld_door_add_for_opening_door_at: @ 808A774 - 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 r2, r0, 0 - adds r4, r2, 0 - cmp r2, 0 - bne _0808A79E - movs r0, 0x1 - negs r0, r0 - b _0808A7C0 -_0808A79E: - ldrb r0, [r2, 0x3] - cmp r0, 0x2 - beq _0808A7B0 - ldr r1, =gUnknown_08496F8C - adds r0, r2, 0 - b _0808A7B4 - .pool -_0808A7B0: - ldr r1, =gUnknown_08496FB4 - adds r0, r4, 0 -_0808A7B4: - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 -_0808A7C0: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end task_overworld_door_add_for_opening_door_at - - thumb_func_start sub_808A7CC -sub_808A7CC: @ 808A7CC - 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 _0808A800 - ldr r1, =gUnknown_08496FA0 - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 - b _0808A804 - .pool -_0808A800: - movs r0, 0x1 - negs r0, r0 -_0808A804: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808A7CC - - thumb_func_start cur_mapdata_get_door_x2_at -cur_mapdata_get_door_x2_at: @ 808A80C - 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 _0808A830 - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - b _0808A834 -_0808A830: - movs r0, 0x1 - negs r0, r0 -_0808A834: - pop {r4} - pop {r1} - bx r1 - thumb_func_end cur_mapdata_get_door_x2_at - - thumb_func_start sub_808A83C -sub_808A83C: @ 808A83C - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_08497174 - adds r1, r3, 0 - bl task_overworld_door_add_for_opening_door_at - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A83C - - thumb_func_start FieldSetDoorOpened -FieldSetDoorOpened: @ 808A854 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A876 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A734 -_0808A876: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldSetDoorOpened - - thumb_func_start FieldSetDoorClosed -FieldSetDoorClosed: @ 808A880 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A8A2 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A728 -_0808A8A2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldSetDoorClosed - - thumb_func_start FieldAnimateDoorClose -FieldAnimateDoorClose: @ 808A8AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A8D8 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A7CC - lsls r0, 24 - asrs r0, 24 - b _0808A8DC - .pool -_0808A8D8: - movs r0, 0x1 - negs r0, r0 -_0808A8DC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldAnimateDoorClose - - thumb_func_start FieldAnimateDoorOpen -FieldAnimateDoorOpen: @ 808A8E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A910 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl task_overworld_door_add_for_opening_door_at - lsls r0, 24 - asrs r0, 24 - b _0808A914 - .pool -_0808A910: - movs r0, 0x1 - negs r0, r0 -_0808A914: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldAnimateDoorOpen - - thumb_func_start FieldIsDoorAnimationRunning -FieldIsDoorAnimationRunning: @ 808A91C - push {lr} - ldr r0, =task50_overworld_door - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end FieldIsDoorAnimationRunning - - thumb_func_start GetDoorSoundEffect -GetDoorSoundEffect: @ 808A930 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_08497174 - adds r1, r3, 0 - bl cur_mapdata_get_door_x2_at - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0808A958 - cmp r0, 0x1 - bne _0808A954 - movs r0, 0x12 - b _0808A95E - .pool -_0808A954: - cmp r0, 0x2 - beq _0808A95C -_0808A958: - movs r0, 0x8 - b _0808A95E -_0808A95C: - movs r0, 0x2F -_0808A95E: - pop {r1} - bx r1 - thumb_func_end GetDoorSoundEffect - - thumb_func_start sub_808A964 -sub_808A964: @ 808A964 - push {lr} - ldr r0, =0x00004002 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0808A990 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x0000101a - cmp r1, r0 - bne _0808A990 - movs r0, 0x1 - b _0808A992 - .pool -_0808A990: - movs r0, 0 -_0808A992: - pop {r1} - bx r1 - thumb_func_end sub_808A964 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s index a1e4f4ff6..e31375f9f 100644 --- a/asm/fldeff_80F9BCC.s +++ b/asm/fldeff_80F9BCC.s @@ -591,7 +591,7 @@ sub_80FA004: @ 80FA004 bne _080FA070 bl sub_80F9F5C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80FA0DC @@ -606,7 +606,7 @@ _080FA070: bne _080FA0A0 bl sub_80F9F5C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80FA1E8 @@ -625,7 +625,7 @@ _080FA0AE: _080FA0B2: bl sub_80F9F5C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80FA34C diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s index 71137b705..20380e478 100755 --- a/asm/fldeff_cut.s +++ b/asm/fldeff_cut.s @@ -20,7 +20,7 @@ sub_80D3718: @ 80D3718 cmp r0, 0x1 bne _080D3754 ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80D3A9C @@ -322,7 +322,7 @@ _080D395A: bne _080D39F8 _080D39BC: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_ruin_valley @@ -360,7 +360,7 @@ _080D3A18: bne _080D3A2A _080D3A1E: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_ruin_valley diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s index 9cc3a59a5..d52ee34fc 100644 --- a/asm/fldeff_flash.s +++ b/asm/fldeff_flash.s @@ -18,7 +18,7 @@ SetUpFieldMove_Flash: @ 81370FC lsrs r0, 24 strh r0, [r4] ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_8179918 @@ -35,7 +35,7 @@ _08137134: cmp r0, 0 bne _08137170 ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_flash diff --git a/asm/fldeff_strength.s b/asm/fldeff_strength.s index 53a088aa3..fdadd2aac 100644 --- a/asm/fldeff_strength.s +++ b/asm/fldeff_strength.s @@ -23,7 +23,7 @@ _08145DD8: lsrs r0, 24 strh r0, [r4] ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_8145E0C diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s index eea0df12f..2055f7069 100644 --- a/asm/fldeff_sweetscent.s +++ b/asm/fldeff_sweetscent.s @@ -8,7 +8,7 @@ thumb_func_start SetUpFieldMove_SweetScent SetUpFieldMove_SweetScent: @ 8159EF0 ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_sweet_scent diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s deleted file mode 100644 index 17bab1496..000000000 --- a/asm/fldeff_teleport.s +++ /dev/null @@ -1,84 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Teleport -SetUpFieldMove_Teleport: @ 817C8BC - push {lr} - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - bl is_light_level_1_2_3_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0817C8D8 - movs r0, 0 - b _0817C8E6 - .pool -_0817C8D8: - ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =hm_teleport_run_dp02scr - str r0, [r1] - movs r0, 0x1 -_0817C8E6: - pop {r1} - bx r1 - .pool - thumb_func_end SetUpFieldMove_Teleport - - thumb_func_start hm_teleport_run_dp02scr -hm_teleport_run_dp02scr: @ 817C8FC - push {lr} - bl sub_808469C - movs r0, 0x3F - bl FieldEffectStart - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end hm_teleport_run_dp02scr - - thumb_func_start FldEff_UseTeleport -FldEff_UseTeleport: @ 817C91C - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_817C94C - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end FldEff_UseTeleport - - thumb_func_start sub_817C94C -sub_817C94C: @ 817C94C - push {lr} - movs r0, 0x3F - bl FieldEffectActiveListRemove - bl sub_80B7FC8 - pop {r0} - bx r0 - thumb_func_end sub_817C94C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/macros.inc b/asm/macros.inc index ee58cc14e..7c35e059d 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -119,3 +119,17 @@ .2byte \unknown .fill 4 @ padding .endm + + .macro door_anim_frame unknown, offset + .byte \unknown + .byte 0 @ padding + .2byte \offset + .endm + + .macro door_anim_gfx metatile_num, unknown, unknown2, tile_addr, palette_addr + .2byte \metatile_num + .byte \unknown + .byte \unknown2 + .4byte \tile_addr + .4byte \palette_addr + .endm diff --git a/asm/macros/music_voice.inc b/asm/macros/music_voice.inc new file mode 100644 index 000000000..b7a9e7f8d --- /dev/null +++ b/asm/macros/music_voice.inc @@ -0,0 +1,125 @@ + .macro voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte 0 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_directsound_no_resample base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte 8 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_directsound_alt base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte 16 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro _voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte \base_midi_key + .byte 0 + .if \pan != 0 + .byte (0x80 | \pan) + .else + .byte 0 + .endif + .4byte \sample_data_pointer + .byte \attack + .byte \decay + .byte \sustain + .byte \release + .endm + + .macro voice_square_1 sweep, duty_cycle, attack, decay, sustain, release + _voice_square_1 1, \sweep, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro voice_square_1_alt sweep, duty_cycle, attack, decay, sustain, release + _voice_square_1 9, \sweep, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro _voice_square_1 type, sweep, duty_cycle, attack, decay, sustain, release + .byte \type, 60, 0 + .byte \sweep + .byte (\duty_cycle & 0x3) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_square_2 duty_cycle, attack, decay, sustain, release + _voice_square_2 2, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro voice_square_2_alt duty_cycle, attack, decay, sustain, release + _voice_square_2 10, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro _voice_square_2 type, duty_cycle, attack, decay, sustain, release + .byte \type, 60, 0, 0 + .byte (\duty_cycle & 0x3) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_programmable_wave wave_samples_pointer, attack, decay, sustain, release + _voice_programmable_wave 3, \wave_samples_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_programmable_wave_alt wave_samples_pointer, attack, decay, sustain, release + _voice_programmable_wave 11, \wave_samples_pointer, \attack, \decay, \sustain, \release + .endm + + .macro _voice_programmable_wave type, wave_samples_pointer, attack, decay, sustain, release + .byte \type, 60, 0, 0 + .4byte \wave_samples_pointer + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_noise period, attack, decay, sustain, release + _voice_noise 4, \period, \attack, \decay, \sustain, \release + .endm + + .macro voice_noise_alt period, attack, decay, sustain, release + _voice_noise 12, \period, \attack, \decay, \sustain, \release + .endm + + .macro _voice_noise type, period, attack, decay, sustain, release + .byte \type, 60, 0, 0 + .byte (\period & 0x1) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_keysplit voice_group_pointer, keysplit_table_pointer + .byte 0x40, 0, 0, 0 + .4byte \voice_group_pointer + .4byte \keysplit_table_pointer + .endm + + .macro voice_keysplit_all voice_group_pointer + .byte 0x80, 0, 0, 0 + .4byte \voice_group_pointer + .4byte 0 + .endm + + .macro cry sample + .byte 0x20, 60, 0, 0 + .4byte \sample + .byte 0xff, 0, 0xff, 0 + .endm + + .macro cry2 sample + .byte 0x30, 60, 0, 0 + .4byte \sample + .byte 0xff, 0, 0xff, 0 + .endm diff --git a/asm/overworld.s b/asm/overworld.s index 92a63932e..61a9352e1 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -50,8 +50,8 @@ flag_var_implications_of_teleport_: @ 8084660 .pool thumb_func_end flag_var_implications_of_teleport_ - thumb_func_start sub_808469C -sub_808469C: @ 808469C + thumb_func_start Overworld_ResetStateAfterTeleport +Overworld_ResetStateAfterTeleport: @ 808469C push {lr} bl player_avatar_init_params_reset ldr r0, =0x0000088b @@ -69,7 +69,7 @@ sub_808469C: @ 808469C pop {r0} bx r0 .pool - thumb_func_end sub_808469C + thumb_func_end Overworld_ResetStateAfterTeleport thumb_func_start flagmods_08054D70 flagmods_08054D70: @ 80846E4 @@ -2772,8 +2772,8 @@ _08085BF0: bx r1 thumb_func_end is_light_level_1_2_3_5_or_6 - thumb_func_start is_light_level_1_2_3_or_6 -is_light_level_1_2_3_or_6: @ 8085BF4 + thumb_func_start Overworld_MapTypeAllowsTeleportAndFly +Overworld_MapTypeAllowsTeleportAndFly: @ 8085BF4 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2793,7 +2793,7 @@ _08085C0E: _08085C10: pop {r1} bx r1 - thumb_func_end is_light_level_1_2_3_or_6 + thumb_func_end Overworld_MapTypeAllowsTeleportAndFly thumb_func_start is_light_level_8_or_9 is_light_level_8_or_9: @ 8085C14 diff --git a/asm/party_menu.s b/asm/party_menu.s index a336b5d63..844043a95 100755 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -10027,8 +10027,8 @@ _081B572A: .pool thumb_func_end sub_81B56D8 - thumb_func_start hm_add_c3_launch_phase_2 -hm_add_c3_launch_phase_2: @ 81B5738 + thumb_func_start FieldCallback_Teleport +FieldCallback_Teleport: @ 81B5738 push {lr} bl pal_fill_black ldr r0, =task_launch_hm_phase_2 @@ -10038,7 +10038,7 @@ hm_add_c3_launch_phase_2: @ 81B5738 pop {r1} bx r1 .pool - thumb_func_end hm_add_c3_launch_phase_2 + thumb_func_end FieldCallback_Teleport thumb_func_start task_launch_hm_phase_2 task_launch_hm_phase_2: @ 81B5750 @@ -10160,7 +10160,7 @@ sub_81B5820: @ 81B5820 cmp r0, 0x1 bne _081B585C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm_surf_run_dp02scr @@ -10199,7 +10199,7 @@ sub_81B5884: @ 81B5884 push {lr} ldr r0, =gMapHeader ldrb r0, [r0, 0x17] - bl is_light_level_1_2_3_or_6 + bl Overworld_MapTypeAllowsTeleportAndFly lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -10278,7 +10278,7 @@ hm_prepare_waterfall: @ 81B58F0 cmp r0, 0x1 bne _081B594C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_waterfall @@ -10325,7 +10325,7 @@ sub_81B5974: @ 81B5974 .pool _081B5990: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_81B5958 diff --git a/asm/pokemon_animation.s b/asm/pokemon_animation.s index 870e658f7..a625f8511 100644 --- a/asm/pokemon_animation.s +++ b/asm/pokemon_animation.s @@ -333,7 +333,7 @@ sub_817F670: @ 817F670 movs r1, 0x3 orrs r0, r1 strb r0, [r4, 0x1] - ldr r0, =gUnknown_0860AD68 + ldr r0, =gSpriteAffineAnimTable_860AD68 str r0, [r4, 0x10] ldr r0, =gUnknown_03001274 ldr r0, [r0] diff --git a/asm/pokenav.s b/asm/pokenav.s index 35df4d6b7..b52715cb4 100755 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -7924,7 +7924,7 @@ sub_81CAF78: @ 81CAF78 strb r0, [r6] ldr r0, =gMapHeader ldrb r0, [r0, 0x17] - bl is_light_level_1_2_3_or_6 + bl Overworld_MapTypeAllowsTeleportAndFly lsls r0, 24 cmp r0, 0 bne _081CAFA4 diff --git a/asm/rom6.s b/asm/rom6.s index 51ae2834f..cc02638bc 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -268,7 +268,7 @@ sub_8135654: @ 8135654 lsrs r0, 24 strh r0, [r4] ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_8179834 @@ -285,7 +285,7 @@ _0813568C: b _081356AC _0813569E: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_81356C4 @@ -361,7 +361,7 @@ sub_813572C: @ 813572C b _0813574C _0813573E: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_dig |