From 077089f0e5bd90701fe7ba080e6b25bc67848aed Mon Sep 17 00:00:00 2001 From: EternalCode Date: Sun, 3 Dec 2017 20:46:56 -0500 Subject: fldeff_teleport file completed --- src/fldeff_teleport.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/fldeff_teleport.c (limited to 'src') diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c new file mode 100644 index 000000000..3ca72d787 --- /dev/null +++ b/src/fldeff_teleport.c @@ -0,0 +1,54 @@ +#include "global.h" +#include "field_effect.h" +#include "task.h" + +extern bool8 is_light_level_1_2_3_or_6(u8 mapType); +extern void* hm_add_c3_launch_phase_2(void); +extern void hm_teleport_run_dp02scr(void); +extern void* gUnknown_0203CEEC; +extern void* gUnknown_03005DB0; +extern void sub_808469C(void); +extern u8 GetCursorSelectionMonId(void); +extern void sub_817C94C(void); +extern u8 oei_task_add(void); +extern void FieldEffectActiveListRemove(u8 id); +extern void sub_80B7FC8(void); + +// 817C8BC +bool8 SetUpFieldMove_Teleport() +{ + if (is_light_level_1_2_3_or_6(gMapHeader.mapType) == TRUE) + { + gUnknown_03005DB0 = hm_add_c3_launch_phase_2; + gUnknown_0203CEEC = hm_teleport_run_dp02scr; + return TRUE; + } + return FALSE; +} + +// 817C8FC +void hm_teleport_run_dp02scr() +{ + sub_808469C(); + FieldEffectStart(0x3F); + gFieldEffectArguments[0] = (u32)GetCursorSelectionMonId(); +} + +extern void SetPlayerAvatarTransitionFlags(u8); +// 817C91C +u8 FldEff_UseTeleport() +{ + u8 taskID = oei_task_add(); + gTasks[taskID].data[8] = (u32)sub_817C94C >> 16; + gTasks[taskID].data[9] = (u32)sub_817C94C; + SetPlayerAvatarTransitionFlags(1); + return 0; +} + +void sub_817C94C() +{ + FieldEffectActiveListRemove(0x3F); + sub_80B7FC8(); +} + + -- cgit v1.2.3 From d74c0d053ea4a3ba668f80c7140c8821e487707d Mon Sep 17 00:00:00 2001 From: EternalCode Date: Sun, 3 Dec 2017 20:48:08 -0500 Subject: missed moving an extern to top --- src/fldeff_teleport.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index 3ca72d787..ea04f52da 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -13,6 +13,8 @@ extern void sub_817C94C(void); extern u8 oei_task_add(void); extern void FieldEffectActiveListRemove(u8 id); extern void sub_80B7FC8(void); +extern void SetPlayerAvatarTransitionFlags(u8); + // 817C8BC bool8 SetUpFieldMove_Teleport() @@ -34,7 +36,6 @@ void hm_teleport_run_dp02scr() gFieldEffectArguments[0] = (u32)GetCursorSelectionMonId(); } -extern void SetPlayerAvatarTransitionFlags(u8); // 817C91C u8 FldEff_UseTeleport() { -- cgit v1.2.3 From 266dd492a772c6189eaf45a134592c3d319bf857 Mon Sep 17 00:00:00 2001 From: EternalCode Date: Mon, 4 Dec 2017 17:12:05 -0500 Subject: void parameter in function header --- src/fldeff_teleport.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index ea04f52da..1730f8355 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -17,7 +17,7 @@ extern void SetPlayerAvatarTransitionFlags(u8); // 817C8BC -bool8 SetUpFieldMove_Teleport() +bool8 SetUpFieldMove_Teleport(void) { if (is_light_level_1_2_3_or_6(gMapHeader.mapType) == TRUE) { @@ -29,7 +29,7 @@ bool8 SetUpFieldMove_Teleport() } // 817C8FC -void hm_teleport_run_dp02scr() +void hm_teleport_run_dp02scr(void) { sub_808469C(); FieldEffectStart(0x3F); @@ -37,7 +37,7 @@ void hm_teleport_run_dp02scr() } // 817C91C -u8 FldEff_UseTeleport() +u8 FldEff_UseTeleport(void) { u8 taskID = oei_task_add(); gTasks[taskID].data[8] = (u32)sub_817C94C >> 16; @@ -46,7 +46,7 @@ u8 FldEff_UseTeleport() return 0; } -void sub_817C94C() +void sub_817C94C(void) { FieldEffectActiveListRemove(0x3F); sub_80B7FC8(); -- cgit v1.2.3 From d8c329b888e0184b33c409fa8266fe79ec3f7e92 Mon Sep 17 00:00:00 2001 From: EternalCode Date: Mon, 1 Jan 2018 14:36:27 -0500 Subject: Update fldeff_teleport.c --- src/fldeff_teleport.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index 1730f8355..72896904e 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -4,17 +4,18 @@ extern bool8 is_light_level_1_2_3_or_6(u8 mapType); extern void* hm_add_c3_launch_phase_2(void); -extern void hm_teleport_run_dp02scr(void); -extern void* gUnknown_0203CEEC; -extern void* gUnknown_03005DB0; extern void sub_808469C(void); extern u8 GetCursorSelectionMonId(void); -extern void sub_817C94C(void); extern u8 oei_task_add(void); extern void FieldEffectActiveListRemove(u8 id); extern void sub_80B7FC8(void); extern void SetPlayerAvatarTransitionFlags(u8); +extern void* gUnknown_0203CEEC; +extern void* gUnknown_03005DB0; + +void hm_teleport_run_dp02scr(void); +void sub_817C94C(void); // 817C8BC bool8 SetUpFieldMove_Teleport(void) -- cgit v1.2.3