mirror of
https://github.com/pret/pokefirered.git
synced 2026-04-25 15:28:53 -05:00
Port fldeff_teleport
This commit is contained in:
parent
f4b8673938
commit
d74dda011a
|
|
@ -5156,8 +5156,8 @@ _08085B58:
|
|||
_08085B60: .4byte sub_8085A24
|
||||
thumb_func_end sub_8085A80
|
||||
|
||||
thumb_func_start sub_8085B64
|
||||
sub_8085B64: @ 8085B64
|
||||
thumb_func_start CreateTeleportFieldEffectTask
|
||||
CreateTeleportFieldEffectTask: @ 8085B64
|
||||
push {lr}
|
||||
ldr r0, _08085B74 @ =sub_8085B78
|
||||
movs r1, 0
|
||||
|
|
@ -5166,7 +5166,7 @@ sub_8085B64: @ 8085B64
|
|||
bx r0
|
||||
.align 2, 0
|
||||
_08085B74: .4byte sub_8085B78
|
||||
thumb_func_end sub_8085B64
|
||||
thumb_func_end CreateTeleportFieldEffectTask
|
||||
|
||||
thumb_func_start sub_8085B78
|
||||
sub_8085B78: @ 8085B78
|
||||
|
|
|
|||
|
|
@ -44,34 +44,34 @@ sub_8097898: @ 8097898
|
|||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _08097904
|
||||
ldr r1, _080978D0 @ =gUnknown_3005024
|
||||
ldr r0, _080978D4 @ =hm_add_c3_launch_phase_2
|
||||
ldr r1, _080978D0 @ =gFieldCallback2
|
||||
ldr r0, _080978D4 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _080978D8 @ =gUnknown_203B0C4
|
||||
ldr r1, _080978D8 @ =gPostMenuFieldCallback
|
||||
ldr r0, _080978DC @ =sub_80979D0
|
||||
b _080978EC
|
||||
.align 2, 0
|
||||
_080978CC: .4byte gUnknown_2039874
|
||||
_080978D0: .4byte gUnknown_3005024
|
||||
_080978D4: .4byte hm_add_c3_launch_phase_2
|
||||
_080978D8: .4byte gUnknown_203B0C4
|
||||
_080978D0: .4byte gFieldCallback2
|
||||
_080978D4: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_080978D8: .4byte gPostMenuFieldCallback
|
||||
_080978DC: .4byte sub_80979D0
|
||||
_080978E0:
|
||||
strb r0, [r4]
|
||||
_080978E2:
|
||||
ldr r1, _080978F4 @ =gUnknown_3005024
|
||||
ldr r0, _080978F8 @ =hm_add_c3_launch_phase_2
|
||||
ldr r1, _080978F4 @ =gFieldCallback2
|
||||
ldr r0, _080978F8 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _080978FC @ =gUnknown_203B0C4
|
||||
ldr r1, _080978FC @ =gPostMenuFieldCallback
|
||||
ldr r0, _08097900 @ =sub_8097984
|
||||
_080978EC:
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
b _08097970
|
||||
.align 2, 0
|
||||
_080978F4: .4byte gUnknown_3005024
|
||||
_080978F8: .4byte hm_add_c3_launch_phase_2
|
||||
_080978FC: .4byte gUnknown_203B0C4
|
||||
_080978F4: .4byte gFieldCallback2
|
||||
_080978F8: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_080978FC: .4byte gPostMenuFieldCallback
|
||||
_08097900: .4byte sub_8097984
|
||||
_08097904:
|
||||
ldr r4, _0809797C @ =gUnknown_2039A04
|
||||
|
|
|
|||
|
|
@ -17,10 +17,10 @@ sub_80C9B2C: @ 80C9B2C
|
|||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080C9B6C
|
||||
ldr r1, _080C9B5C @ =gUnknown_3005024
|
||||
ldr r0, _080C9B60 @ =hm_add_c3_launch_phase_2
|
||||
ldr r1, _080C9B5C @ =gFieldCallback2
|
||||
ldr r0, _080C9B60 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _080C9B64 @ =gUnknown_203B0C4
|
||||
ldr r1, _080C9B64 @ =gPostMenuFieldCallback
|
||||
ldr r0, _080C9B68 @ =sub_80C9B74
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
|
|
@ -28,9 +28,9 @@ sub_80C9B2C: @ 80C9B2C
|
|||
.align 2, 0
|
||||
_080C9B54: .4byte gMapHeader
|
||||
_080C9B58: .4byte 0x00000806
|
||||
_080C9B5C: .4byte gUnknown_3005024
|
||||
_080C9B60: .4byte hm_add_c3_launch_phase_2
|
||||
_080C9B64: .4byte gUnknown_203B0C4
|
||||
_080C9B5C: .4byte gFieldCallback2
|
||||
_080C9B60: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_080C9B64: .4byte gPostMenuFieldCallback
|
||||
_080C9B68: .4byte sub_80C9B74
|
||||
_080C9B6C:
|
||||
movs r0, 0
|
||||
|
|
|
|||
|
|
@ -28,10 +28,10 @@ _080D080C:
|
|||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4]
|
||||
ldr r1, _080D0830 @ =gUnknown_3005024
|
||||
ldr r0, _080D0834 @ =hm_add_c3_launch_phase_2
|
||||
ldr r1, _080D0830 @ =gFieldCallback2
|
||||
ldr r0, _080D0834 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _080D0838 @ =gUnknown_203B0C4
|
||||
ldr r1, _080D0838 @ =gPostMenuFieldCallback
|
||||
ldr r0, _080D083C @ =sub_80D0840
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
|
|
@ -41,9 +41,9 @@ _080D0826:
|
|||
bx r1
|
||||
.align 2, 0
|
||||
_080D082C: .4byte gSpecialVar_Result
|
||||
_080D0830: .4byte gUnknown_3005024
|
||||
_080D0834: .4byte hm_add_c3_launch_phase_2
|
||||
_080D0838: .4byte gUnknown_203B0C4
|
||||
_080D0830: .4byte gFieldCallback2
|
||||
_080D0834: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_080D0838: .4byte gPostMenuFieldCallback
|
||||
_080D083C: .4byte sub_80D0840
|
||||
thumb_func_end sub_80D07EC
|
||||
|
||||
|
|
|
|||
|
|
@ -20,18 +20,18 @@ _080DE0C4: .4byte gUnknown_203B0A0
|
|||
|
||||
thumb_func_start sub_80DE0C8
|
||||
sub_80DE0C8: @ 80DE0C8
|
||||
ldr r1, _080DE0D8 @ =gUnknown_3005024
|
||||
ldr r0, _080DE0DC @ =hm_add_c3_launch_phase_2
|
||||
ldr r1, _080DE0D8 @ =gFieldCallback2
|
||||
ldr r0, _080DE0DC @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _080DE0E0 @ =gUnknown_203B0C4
|
||||
ldr r1, _080DE0E0 @ =gPostMenuFieldCallback
|
||||
ldr r0, _080DE0E4 @ =hm2_sweet_scent
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080DE0D8: .4byte gUnknown_3005024
|
||||
_080DE0DC: .4byte hm_add_c3_launch_phase_2
|
||||
_080DE0E0: .4byte gUnknown_203B0C4
|
||||
_080DE0D8: .4byte gFieldCallback2
|
||||
_080DE0DC: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_080DE0E0: .4byte gPostMenuFieldCallback
|
||||
_080DE0E4: .4byte hm2_sweet_scent
|
||||
thumb_func_end sub_80DE0C8
|
||||
|
||||
|
|
|
|||
|
|
@ -1,92 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start SetUpFieldMove_Teleport
|
||||
SetUpFieldMove_Teleport: @ 80F66F0
|
||||
push {lr}
|
||||
ldr r0, _080F6708 @ =gMapHeader
|
||||
ldrb r0, [r0, 0x17]
|
||||
bl is_light_level_1_2_3_or_6
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _080F670C
|
||||
movs r0, 0
|
||||
b _080F671A
|
||||
.align 2, 0
|
||||
_080F6708: .4byte gMapHeader
|
||||
_080F670C:
|
||||
ldr r1, _080F6720 @ =gUnknown_3005024
|
||||
ldr r0, _080F6724 @ =hm_add_c3_launch_phase_2
|
||||
str r0, [r1]
|
||||
ldr r1, _080F6728 @ =gUnknown_203B0C4
|
||||
ldr r0, _080F672C @ =hm_teleport_run_dp02scr
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
_080F671A:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080F6720: .4byte gUnknown_3005024
|
||||
_080F6724: .4byte hm_add_c3_launch_phase_2
|
||||
_080F6728: .4byte gUnknown_203B0C4
|
||||
_080F672C: .4byte hm_teleport_run_dp02scr
|
||||
thumb_func_end SetUpFieldMove_Teleport
|
||||
|
||||
thumb_func_start hm_teleport_run_dp02scr
|
||||
hm_teleport_run_dp02scr: @ 80F6730
|
||||
push {lr}
|
||||
bl sub_8054D08
|
||||
movs r0, 0x3F
|
||||
bl FieldEffectStart
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, _080F674C @ =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080F674C: .4byte gFieldEffectArguments
|
||||
thumb_func_end hm_teleport_run_dp02scr
|
||||
|
||||
thumb_func_start FldEff_UseTeleport
|
||||
FldEff_UseTeleport: @ 80F6750
|
||||
push {lr}
|
||||
bl oei_task_add
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080F6778 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r2, _080F677C @ =sub_80F6780
|
||||
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
|
||||
_080F6778: .4byte gTasks
|
||||
_080F677C: .4byte sub_80F6780
|
||||
thumb_func_end FldEff_UseTeleport
|
||||
|
||||
thumb_func_start sub_80F6780
|
||||
sub_80F6780: @ 80F6780
|
||||
push {lr}
|
||||
movs r0, 0x3F
|
||||
bl FieldEffectActiveListRemove
|
||||
bl sub_8085B64
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80F6780
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
|
|
@ -246,12 +246,12 @@ _080A117E:
|
|||
|
||||
thumb_func_start sub_80A1184
|
||||
sub_80A1184: @ 80A1184
|
||||
ldr r1, _080A118C @ =gUnknown_3005024
|
||||
ldr r1, _080A118C @ =gFieldCallback2
|
||||
ldr r0, _080A1190 @ =sub_80A1194
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080A118C: .4byte gUnknown_3005024
|
||||
_080A118C: .4byte gFieldCallback2
|
||||
_080A1190: .4byte sub_80A1194
|
||||
thumb_func_end sub_80A1184
|
||||
|
||||
|
|
|
|||
|
|
@ -154,8 +154,8 @@ _08054D00: .4byte 0x00000808
|
|||
_08054D04: .4byte 0x0000404d
|
||||
thumb_func_end sub_8054CA0
|
||||
|
||||
thumb_func_start sub_8054D08
|
||||
sub_8054D08: @ 8054D08
|
||||
thumb_func_start Overworld_ResetStateAfterTeleport
|
||||
Overworld_ResetStateAfterTeleport: @ 8054D08
|
||||
push {lr}
|
||||
bl ResetInitialPlayerAvatarState
|
||||
movs r0, 0x83
|
||||
|
|
@ -191,7 +191,7 @@ _08054D60: .4byte 0x00000805
|
|||
_08054D64: .4byte 0x00000806
|
||||
_08054D68: .4byte 0x00000808
|
||||
_08054D6C: .4byte 0x0000404d
|
||||
thumb_func_end sub_8054D08
|
||||
thumb_func_end Overworld_ResetStateAfterTeleport
|
||||
|
||||
thumb_func_start sub_8054D70
|
||||
sub_8054D70: @ 8054D70
|
||||
|
|
@ -2958,8 +2958,8 @@ _080561F8:
|
|||
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: @ 80561FC
|
||||
thumb_func_start Overworld_MapTypeAllowsTeleportAndFly
|
||||
Overworld_MapTypeAllowsTeleportAndFly: @ 80561FC
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
|
|
@ -2979,7 +2979,7 @@ _08056216:
|
|||
_08056218:
|
||||
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: @ 805621C
|
||||
|
|
@ -3442,7 +3442,7 @@ _080565E8: .4byte gMain
|
|||
thumb_func_start map_post_load_hook_exec
|
||||
map_post_load_hook_exec: @ 80565EC
|
||||
push {r4,lr}
|
||||
ldr r4, _08056604 @ =gUnknown_3005024
|
||||
ldr r4, _08056604 @ =gFieldCallback2
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _08056618
|
||||
|
|
@ -3453,7 +3453,7 @@ map_post_load_hook_exec: @ 80565EC
|
|||
movs r0, 0
|
||||
b _08056638
|
||||
.align 2, 0
|
||||
_08056604: .4byte gUnknown_3005024
|
||||
_08056604: .4byte gFieldCallback2
|
||||
_08056608:
|
||||
movs r1, 0
|
||||
str r1, [r4]
|
||||
|
|
@ -3501,7 +3501,7 @@ CB2_NewGame: @ 8056644
|
|||
ldr r1, _0805668C @ =gUnknown_3005020
|
||||
ldr r0, _08056690 @ =sub_807DF7C
|
||||
str r0, [r1]
|
||||
ldr r1, _08056694 @ =gUnknown_3005024
|
||||
ldr r1, _08056694 @ =gFieldCallback2
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
ldr r0, _08056698 @ =gMain + 0x438
|
||||
|
|
@ -3516,7 +3516,7 @@ CB2_NewGame: @ 8056644
|
|||
.align 2, 0
|
||||
_0805668C: .4byte gUnknown_3005020
|
||||
_08056690: .4byte sub_807DF7C
|
||||
_08056694: .4byte gUnknown_3005024
|
||||
_08056694: .4byte gFieldCallback2
|
||||
_08056698: .4byte gMain + 0x438
|
||||
_0805669C: .4byte sub_8056534
|
||||
_080566A0: .4byte sub_80565B4
|
||||
|
|
@ -3758,14 +3758,14 @@ _080568A4: .4byte sub_807DDD0
|
|||
sub_80568A8: @ 80568A8
|
||||
push {lr}
|
||||
bl sub_80569BC
|
||||
ldr r1, _080568BC @ =gUnknown_3005024
|
||||
ldr r1, _080568BC @ =gFieldCallback2
|
||||
ldr r0, _080568C0 @ =sub_807E3BC
|
||||
str r0, [r1]
|
||||
bl c2_exit_to_overworld_2_switch
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080568BC: .4byte gUnknown_3005024
|
||||
_080568BC: .4byte gFieldCallback2
|
||||
_080568C0: .4byte sub_807E3BC
|
||||
thumb_func_end sub_80568A8
|
||||
|
||||
|
|
@ -3847,7 +3847,7 @@ sub_8056938: @ 8056938
|
|||
bl PlayTimeCounter_Start
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
ldr r1, _08056990 @ =gUnknown_3005024
|
||||
ldr r1, _08056990 @ =gFieldCallback2
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
ldr r1, _08056994 @ =gUnknown_2031DE0
|
||||
|
|
@ -3863,7 +3863,7 @@ sub_8056938: @ 8056938
|
|||
bl SetMainCallback2
|
||||
b _080569AC
|
||||
.align 2, 0
|
||||
_08056990: .4byte gUnknown_3005024
|
||||
_08056990: .4byte gFieldCallback2
|
||||
_08056994: .4byte gUnknown_2031DE0
|
||||
_08056998: .4byte sub_805671C
|
||||
_0805699C:
|
||||
|
|
@ -5314,7 +5314,7 @@ _08057560:
|
|||
bl ScriptContext2_Disable
|
||||
movs r0, 0
|
||||
bl sub_80565E0
|
||||
ldr r1, _08057614 @ =gUnknown_3005024
|
||||
ldr r1, _08057614 @ =gFieldCallback2
|
||||
ldr r0, _08057618 @ =sub_80574EC
|
||||
str r0, [r1]
|
||||
ldr r0, _0805761C @ =gMain
|
||||
|
|
@ -5334,7 +5334,7 @@ _08057604: .4byte 0x0000ffff
|
|||
_08057608: .4byte gUnknown_2031DBC
|
||||
_0805760C: .4byte gUnknown_2031DE8
|
||||
_08057610: .4byte gPaletteFade
|
||||
_08057614: .4byte gUnknown_3005024
|
||||
_08057614: .4byte gFieldCallback2
|
||||
_08057618: .4byte sub_80574EC
|
||||
_0805761C: .4byte gMain
|
||||
_08057620:
|
||||
|
|
|
|||
|
|
@ -11943,10 +11943,10 @@ _0812488C:
|
|||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
_08124892:
|
||||
ldr r0, _081248A8 @ =gUnknown_3005024
|
||||
ldr r0, _081248A8 @ =gFieldCallback2
|
||||
movs r1, 0
|
||||
str r1, [r0]
|
||||
ldr r0, _081248AC @ =gUnknown_203B0C4
|
||||
ldr r0, _081248AC @ =gPostMenuFieldCallback
|
||||
str r1, [r0]
|
||||
adds r0, r4, 0
|
||||
bl sub_81203B8
|
||||
|
|
@ -11955,12 +11955,12 @@ _081248A2:
|
|||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_081248A8: .4byte gUnknown_3005024
|
||||
_081248AC: .4byte gUnknown_203B0C4
|
||||
_081248A8: .4byte gFieldCallback2
|
||||
_081248AC: .4byte gPostMenuFieldCallback
|
||||
thumb_func_end sub_8124828
|
||||
|
||||
thumb_func_start hm_add_c3_launch_phase_2
|
||||
hm_add_c3_launch_phase_2: @ 81248B0
|
||||
thumb_func_start FieldCallback_PrepareFadeInFromMenu
|
||||
FieldCallback_PrepareFadeInFromMenu: @ 81248B0
|
||||
push {lr}
|
||||
bl sub_807DC00
|
||||
ldr r0, _081248C4 @ =task_launch_hm_phase_2
|
||||
|
|
@ -11971,7 +11971,7 @@ hm_add_c3_launch_phase_2: @ 81248B0
|
|||
bx r1
|
||||
.align 2, 0
|
||||
_081248C4: .4byte task_launch_hm_phase_2
|
||||
thumb_func_end hm_add_c3_launch_phase_2
|
||||
thumb_func_end FieldCallback_PrepareFadeInFromMenu
|
||||
|
||||
thumb_func_start task_launch_hm_phase_2
|
||||
task_launch_hm_phase_2: @ 81248C8
|
||||
|
|
@ -11988,7 +11988,7 @@ task_launch_hm_phase_2: @ 81248C8
|
|||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
str r0, [r1]
|
||||
ldr r0, _08124900 @ =gUnknown_203B0C4
|
||||
ldr r0, _08124900 @ =gPostMenuFieldCallback
|
||||
ldr r0, [r0]
|
||||
bl _call_via_r0
|
||||
adds r0, r4, 0
|
||||
|
|
@ -11999,7 +11999,7 @@ _081248F4:
|
|||
bx r0
|
||||
.align 2, 0
|
||||
_081248FC: .4byte gFieldEffectArguments
|
||||
_08124900: .4byte gUnknown_203B0C4
|
||||
_08124900: .4byte gPostMenuFieldCallback
|
||||
thumb_func_end task_launch_hm_phase_2
|
||||
|
||||
thumb_func_start brm_get_selected_species
|
||||
|
|
@ -12118,18 +12118,18 @@ sub_8124998: @ 8124998
|
|||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _08124A00
|
||||
ldr r1, _081249F0 @ =gUnknown_3005024
|
||||
ldr r0, _081249F4 @ =hm_add_c3_launch_phase_2
|
||||
ldr r1, _081249F0 @ =gFieldCallback2
|
||||
ldr r0, _081249F4 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _081249F8 @ =gUnknown_203B0C4
|
||||
ldr r1, _081249F8 @ =gPostMenuFieldCallback
|
||||
ldr r0, _081249FC @ =hm_surf_run_dp02scr
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
b _08124A02
|
||||
.align 2, 0
|
||||
_081249F0: .4byte gUnknown_3005024
|
||||
_081249F4: .4byte hm_add_c3_launch_phase_2
|
||||
_081249F8: .4byte gUnknown_203B0C4
|
||||
_081249F0: .4byte gFieldCallback2
|
||||
_081249F4: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_081249F8: .4byte gPostMenuFieldCallback
|
||||
_081249FC: .4byte hm_surf_run_dp02scr
|
||||
_08124A00:
|
||||
movs r0, 0
|
||||
|
|
@ -12207,7 +12207,7 @@ sub_8124A8C: @ 8124A8C
|
|||
push {lr}
|
||||
ldr r0, _08124AA4 @ =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
|
||||
|
|
@ -12289,18 +12289,18 @@ hm_prepare_waterfall: @ 8124AF8
|
|||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _08124B54
|
||||
ldr r1, _08124B44 @ =gUnknown_3005024
|
||||
ldr r0, _08124B48 @ =hm_add_c3_launch_phase_2
|
||||
ldr r1, _08124B44 @ =gFieldCallback2
|
||||
ldr r0, _08124B48 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _08124B4C @ =gUnknown_203B0C4
|
||||
ldr r1, _08124B4C @ =gPostMenuFieldCallback
|
||||
ldr r0, _08124B50 @ =hm2_waterfall
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
b _08124B56
|
||||
.align 2, 0
|
||||
_08124B44: .4byte gUnknown_3005024
|
||||
_08124B48: .4byte hm_add_c3_launch_phase_2
|
||||
_08124B4C: .4byte gUnknown_203B0C4
|
||||
_08124B44: .4byte gFieldCallback2
|
||||
_08124B48: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_08124B4C: .4byte gPostMenuFieldCallback
|
||||
_08124B50: .4byte hm2_waterfall
|
||||
_08124B54:
|
||||
movs r0, 0
|
||||
|
|
@ -19301,7 +19301,7 @@ _0812836C: .4byte gUnknown_2022B58
|
|||
sub_8128370: @ 8128370
|
||||
push {lr}
|
||||
sub sp, 0xC
|
||||
ldr r1, _08128398 @ =gUnknown_3005024
|
||||
ldr r1, _08128398 @ =gFieldCallback2
|
||||
ldr r0, _0812839C @ =hm_add_c3_without_phase_2
|
||||
str r0, [r1]
|
||||
movs r0, 0xF
|
||||
|
|
@ -19319,7 +19319,7 @@ sub_8128370: @ 8128370
|
|||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08128398: .4byte gUnknown_3005024
|
||||
_08128398: .4byte gFieldCallback2
|
||||
_0812839C: .4byte hm_add_c3_without_phase_2
|
||||
_081283A0: .4byte sub_811FB28
|
||||
_081283A4: .4byte c2_exit_to_overworld_2_switch
|
||||
|
|
@ -19331,7 +19331,7 @@ sub_81283A8: @ 81283A8
|
|||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _081283D4 @ =gUnknown_3005024
|
||||
ldr r2, _081283D4 @ =gFieldCallback2
|
||||
ldr r1, _081283D8 @ =hm_add_c3_without_phase_2
|
||||
str r1, [r2]
|
||||
movs r1, 0
|
||||
|
|
@ -19348,7 +19348,7 @@ sub_81283A8: @ 81283A8
|
|||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_081283D4: .4byte gUnknown_3005024
|
||||
_081283D4: .4byte gFieldCallback2
|
||||
_081283D8: .4byte hm_add_c3_without_phase_2
|
||||
_081283DC: .4byte sub_811FB28
|
||||
_081283E0: .4byte c2_exit_to_overworld_2_switch
|
||||
|
|
|
|||
24
asm/rom6.s
24
asm/rom6.s
|
|
@ -291,10 +291,10 @@ SetUpFieldMove_RockSmash: @ 80C99D8
|
|||
movs r0, 0
|
||||
b _080C99FA
|
||||
_080C99EC:
|
||||
ldr r1, _080C9A00 @ =gUnknown_3005024
|
||||
ldr r0, _080C9A04 @ =hm_add_c3_launch_phase_2
|
||||
ldr r1, _080C9A00 @ =gFieldCallback2
|
||||
ldr r0, _080C9A04 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _080C9A08 @ =gUnknown_203B0C4
|
||||
ldr r1, _080C9A08 @ =gPostMenuFieldCallback
|
||||
ldr r0, _080C9A0C @ =sub_80C9A10
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
|
|
@ -302,9 +302,9 @@ _080C99FA:
|
|||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080C9A00: .4byte gUnknown_3005024
|
||||
_080C9A04: .4byte hm_add_c3_launch_phase_2
|
||||
_080C9A08: .4byte gUnknown_203B0C4
|
||||
_080C9A00: .4byte gFieldCallback2
|
||||
_080C9A04: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_080C9A08: .4byte gPostMenuFieldCallback
|
||||
_080C9A0C: .4byte sub_80C9A10
|
||||
thumb_func_end SetUpFieldMove_RockSmash
|
||||
|
||||
|
|
@ -373,10 +373,10 @@ SetUpFieldMove_Dig: @ 80C9A78
|
|||
movs r0, 0
|
||||
b _080C9A98
|
||||
_080C9A8A:
|
||||
ldr r1, _080C9A9C @ =gUnknown_3005024
|
||||
ldr r0, _080C9AA0 @ =hm_add_c3_launch_phase_2
|
||||
ldr r1, _080C9A9C @ =gFieldCallback2
|
||||
ldr r0, _080C9AA0 @ =FieldCallback_PrepareFadeInFromMenu
|
||||
str r0, [r1]
|
||||
ldr r1, _080C9AA4 @ =gUnknown_203B0C4
|
||||
ldr r1, _080C9AA4 @ =gPostMenuFieldCallback
|
||||
ldr r0, _080C9AA8 @ =hm2_dig
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
|
|
@ -384,9 +384,9 @@ _080C9A98:
|
|||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080C9A9C: .4byte gUnknown_3005024
|
||||
_080C9AA0: .4byte hm_add_c3_launch_phase_2
|
||||
_080C9AA4: .4byte gUnknown_203B0C4
|
||||
_080C9A9C: .4byte gFieldCallback2
|
||||
_080C9AA0: .4byte FieldCallback_PrepareFadeInFromMenu
|
||||
_080C9AA4: .4byte gPostMenuFieldCallback
|
||||
_080C9AA8: .4byte hm2_dig
|
||||
thumb_func_end SetUpFieldMove_Dig
|
||||
|
||||
|
|
|
|||
|
|
@ -568,13 +568,13 @@ sub_806F1D4: @ 806F1D4
|
|||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
strb r0, [r1, 0x1]
|
||||
ldr r1, _0806F1E8 @ =gUnknown_3005024
|
||||
ldr r1, _0806F1E8 @ =gFieldCallback2
|
||||
ldr r0, _0806F1EC @ =sub_806F1B8
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0806F1E4: .4byte gUnknown_20370FF
|
||||
_0806F1E8: .4byte gUnknown_3005024
|
||||
_0806F1E8: .4byte gFieldCallback2
|
||||
_0806F1EC: .4byte sub_806F1B8
|
||||
thumb_func_end sub_806F1D4
|
||||
|
||||
|
|
|
|||
|
|
@ -74,9 +74,13 @@ enum FieldEffectScriptIdx
|
|||
};
|
||||
|
||||
extern u32 gFieldEffectArguments[8];
|
||||
extern void (*gPostMenuFieldCallback)(void);
|
||||
extern bool8 (*gFieldCallback2)(void);
|
||||
|
||||
u8 FieldEffectStart(u8);
|
||||
bool8 FieldEffectActiveListContains(u8 id);
|
||||
void sub_80B69DC(void);
|
||||
void CreateTeleportFieldEffectTask(void);
|
||||
void FieldEffectActiveListRemove(u8 id);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECTS_H
|
||||
|
|
|
|||
|
|
@ -21,5 +21,6 @@ void SetPlayerAvatarStateMask(u8 mask);
|
|||
void sub_805D9C4(struct Sprite *sprite);
|
||||
void sub_805D154(u8 direction);
|
||||
void sub_805DAE4(u8 direction);
|
||||
void SetPlayerAvatarTransitionFlags(u16 a);
|
||||
|
||||
#endif //GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
|
|
|||
7
include/fldeff.h
Normal file
7
include/fldeff.h
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#ifndef GUARD_FLDEFF_H
|
||||
#define GUARD_FLDEFF_H
|
||||
|
||||
// rock smash
|
||||
u8 oei_task_add(void);
|
||||
|
||||
#endif // GUARD_FLDEFF_H
|
||||
|
|
@ -96,9 +96,11 @@ void sub_80563F0(void);
|
|||
extern u8 gUnknown_2031DD8;
|
||||
extern u8 gUnknown_2036E28;
|
||||
|
||||
extern bool8 (* gUnknown_3005024)(void);
|
||||
extern bool8 (* gFieldCallback2)(void);
|
||||
void SetLastHealLocationWarp(u8 healLocaionId);
|
||||
void sub_8055864(u8 mapGroup, u8 mapNum);
|
||||
void CB2_NewGame(void);
|
||||
bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType);
|
||||
void Overworld_ResetStateAfterTeleport(void);
|
||||
|
||||
#endif //GUARD_ROM4_H
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
#ifndef GUARD_PARTY_MENU_H
|
||||
#define GUARD_PARTY_MENU_H
|
||||
|
||||
#include "global.h"
|
||||
#include "main.h"
|
||||
#include "task.h"
|
||||
|
||||
enum {
|
||||
AILMENT_NONE,
|
||||
|
|
@ -14,6 +15,7 @@ enum {
|
|||
|
||||
extern void (*gUnknown_3005E98)(u8 taskId, TaskFunc func);
|
||||
|
||||
bool8 FieldCallback_PrepareFadeInFromMenu(void);
|
||||
bool8 MonKnowsMove(struct Pokemon *, u16);
|
||||
void sub_81B58A8(void);
|
||||
void DoWallyTutorialBagMenu(void);
|
||||
|
|
@ -23,5 +25,6 @@ void sub_8125B40(u8 taskId, TaskFunc func);
|
|||
void sub_8124C8C(void);
|
||||
void sub_8126EDC(void);
|
||||
void c2_8123744(void);
|
||||
u8 GetCursorSelectionMonId(void);
|
||||
|
||||
#endif // GUARD_PARTY_MENU_H
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ SECTIONS {
|
|||
asm/save_failed_screen.o(.text);
|
||||
asm/clear_save_data_screen.o(.text);
|
||||
asm/evolution_graphics.o(.text);
|
||||
asm/fldeff_teleport.o(.text);
|
||||
src/fldeff_teleport.o(.text);
|
||||
asm/new_menu_helpers.o(.text);
|
||||
asm/box_party_pokemon_dropdown.o(.text);
|
||||
asm/save_menu_util.o(.text);
|
||||
|
|
|
|||
42
src/fldeff_teleport.c
Normal file
42
src/fldeff_teleport.c
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
#include "global.h"
|
||||
#include "field_effect.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "fldeff.h"
|
||||
#include "party_menu.h"
|
||||
#include "overworld.h"
|
||||
|
||||
static void FieldCallback_Teleport(void);
|
||||
static void StartTeleportFieldEffect(void);
|
||||
|
||||
bool8 SetUpFieldMove_Teleport(void)
|
||||
{
|
||||
if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE)
|
||||
{
|
||||
gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
|
||||
gPostMenuFieldCallback = FieldCallback_Teleport;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void FieldCallback_Teleport(void)
|
||||
{
|
||||
Overworld_ResetStateAfterTeleport();
|
||||
FieldEffectStart(FLDEFF_USE_TELEPORT);
|
||||
gFieldEffectArguments[0] = (u32)GetCursorSelectionMonId();
|
||||
}
|
||||
|
||||
bool8 FldEff_UseTeleport(void)
|
||||
{
|
||||
u8 taskId = oei_task_add();
|
||||
gTasks[taskId].data[8] = (u32)StartTeleportFieldEffect >> 16;
|
||||
gTasks[taskId].data[9] = (u32)StartTeleportFieldEffect;
|
||||
SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void StartTeleportFieldEffect(void)
|
||||
{
|
||||
FieldEffectActiveListRemove(FLDEFF_USE_TELEPORT);
|
||||
CreateTeleportFieldEffectTask();
|
||||
}
|
||||
|
|
@ -990,14 +990,14 @@ void sub_8111368(void)
|
|||
if (sub_8110AC8() == 1)
|
||||
{
|
||||
sub_8111274(gUnknown_203ADF8, 0);
|
||||
gUnknown_3005024 = sub_8111038;
|
||||
gFieldCallback2 = sub_8111038;
|
||||
SetMainCallback2(sub_80572A8);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_8111274(gUnknown_203ADF8, 1);
|
||||
warp_in();
|
||||
gUnknown_3005024 = sub_8111000;
|
||||
gFieldCallback2 = sub_8111000;
|
||||
SetMainCallback2(sub_805726C);
|
||||
}
|
||||
}
|
||||
|
|
@ -1237,7 +1237,7 @@ void sub_8111984(void)
|
|||
Save_ResetSaveCounters();
|
||||
Save_LoadGameData(0);
|
||||
SetMainCallback2(sub_8057430);
|
||||
gUnknown_3005024 = sub_8111F60;
|
||||
gFieldCallback2 = sub_8111F60;
|
||||
FreeAllWindowBuffers();
|
||||
gUnknown_203ADFA = 3;
|
||||
gUnknown_203AE8C = NULL;
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ gUnknown_300501C: @ 300501C
|
|||
gUnknown_3005020: @ 3005020
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005024: @ 3005024
|
||||
gFieldCallback2: @ 3005024
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005028: @ 3005028
|
||||
|
|
|
|||
|
|
@ -1467,7 +1467,7 @@ gUnknown_203B0C0: @ 203B0C0
|
|||
gUnknown_203B0C1: @ 203B0C1
|
||||
.space 0x3
|
||||
|
||||
gUnknown_203B0C4: @ 203B0C4
|
||||
gPostMenuFieldCallback: @ 203B0C4
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203B0C8: @ 203B0C8
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user