diff options
author | JaceCearK1 <JaceCearK1@users.noreply.github.com> | 2017-07-01 21:04:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-01 21:04:18 +0200 |
commit | 0dd804a99e5455a0eac8ff6ed87d9de16c7380b7 (patch) | |
tree | 7b3567978b63ee6548a7b945e075ea8ba37bef51 /src/fldeff_teleport.c | |
parent | f1344efd2aff92292f58f7323bd9297a38fe9b02 (diff) | |
parent | 8d82578d3a101b06f9d2ced31738021007c4e533 (diff) |
Merge pull request #1 from pret/master
Update fork to match main fork.
Diffstat (limited to 'src/fldeff_teleport.c')
-rw-r--r-- | src/fldeff_teleport.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c new file mode 100644 index 000000000..df12d3072 --- /dev/null +++ b/src/fldeff_teleport.c @@ -0,0 +1,48 @@ +#include "global.h" +#include "fldeff_teleport.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "pokemon_menu.h" +#include "rom4.h" +#include "rom6.h" +#include "task.h" + +extern u32 gUnknown_0202FF84[]; + +extern void (*gFieldCallback)(void); +extern u8 gLastFieldPokeMenuOpened; +extern void (*gUnknown_03005CE4)(void); + +bool8 SetUpFieldMove_Teleport(void) +{ + if (is_light_level_1_2_3_or_6(gMapHeader.mapType) == TRUE) + { + gFieldCallback = sub_808AB90; + gUnknown_03005CE4 = hm_teleport_run_dp02scr; + return TRUE; + } + + return FALSE; +} + +void hm_teleport_run_dp02scr(void) +{ + new_game(); + FieldEffectStart(63); + gUnknown_0202FF84[0] = gLastFieldPokeMenuOpened; +} + +bool8 FldEff_UseTeleport(void) +{ + u8 taskId = oei_task_add(); + gTasks[taskId].data[8] = (u32)sub_814A404 >> 16; + gTasks[taskId].data[9] = (u32)sub_814A404; + SetPlayerAvatarTransitionFlags(1); + return 0; +} + +void sub_814A404(void) +{ + FieldEffectActiveListRemove(63); + sub_8087BA8(); +} |