diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-04-10 15:26:46 -0700 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2018-04-10 15:26:46 -0700 |
commit | 408252d1ce2ebc4994b2d1b07fe6be2746b73e7b (patch) | |
tree | cad1cfa47f95dca44cfd049a1df06525c33552f4 /src | |
parent | 8a8ea01c10263c25cfd84780af43abcb5e3f4efc (diff) |
Document fldeff_teleport.c
Diffstat (limited to 'src')
-rw-r--r-- | src/field_effect.c | 48 | ||||
-rw-r--r-- | src/fldeff_teleport.c | 19 | ||||
-rw-r--r-- | src/rom6.c | 2 |
3 files changed, 38 insertions, 31 deletions
diff --git a/src/field_effect.c b/src/field_effect.c index be67818b3..876df601c 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2081,27 +2081,31 @@ void sub_8087AC8(struct Task *task) mapObject->mapobj_bit_13 ^= 1; } -void sub_8087BBC(u8); -void mapldr_08085D88(void); +static void ExecuteTeleportFieldEffectTask(u8); +static void TeleportFieldEffectTask1(struct Task*); +static void TeleportFieldEffectTask2(struct Task*); +static void TeleportFieldEffectTask3(struct Task*); +static void TeleportFieldEffectTask4(struct Task*); +static void mapldr_08085D88(void); -void sub_8087BA8(void) +void CreateTeleportFieldEffectTask(void) { - CreateTask(sub_8087BBC, 0); + CreateTask(ExecuteTeleportFieldEffectTask, 0); } -void (*const gUnknown_0839F390[])(struct Task *) = { - sub_8087BEC, - sub_8087C14, - sub_8087CA4, - sub_8087D78 +static void (*const sTeleportFieldEffectTasks[])(struct Task *) = { + TeleportFieldEffectTask1, + TeleportFieldEffectTask2, + TeleportFieldEffectTask3, + TeleportFieldEffectTask4 }; -void sub_8087BBC(u8 taskId) +static void ExecuteTeleportFieldEffectTask(u8 taskId) { - gUnknown_0839F390[gTasks[taskId].data[0]](&gTasks[taskId]); + sTeleportFieldEffectTasks[gTasks[taskId].data[0]](&gTasks[taskId]); } -void sub_8087BEC(struct Task *task) +static void TeleportFieldEffectTask1(struct Task *task) { ScriptContext2_Enable(); FreezeMapObjects(); @@ -2110,13 +2114,13 @@ void sub_8087BEC(struct Task *task) task->data[0]++; } -void sub_8087C14(struct Task *task) +static void TeleportFieldEffectTask2(struct Task *task) { - u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; + u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectTurn(mapObject, unknown_0839F380[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); task->data[1] = 8; task->data[2]++; } @@ -2130,15 +2134,15 @@ void sub_8087C14(struct Task *task) } } -void sub_8087CA4(struct Task *task) +static void TeleportFieldEffectTask3(struct Task *task) { - u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; + u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; if ((--task->data[1]) <= 0) { task->data[1] = 4; - FieldObjectTurn(mapObject, unknown_0839F380[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); } sprite->pos1.y -= task->data[3]; task->data[4] += task->data[3]; @@ -2158,7 +2162,7 @@ void sub_8087CA4(struct Task *task) } } -void sub_8087D78(struct Task *task) +static void TeleportFieldEffectTask4(struct Task *task) { if (!gPaletteFade.active && sub_8054034() == TRUE) { @@ -2166,13 +2170,13 @@ void sub_8087D78(struct Task *task) warp_in(); SetMainCallback2(CB2_LoadMap); gFieldCallback = mapldr_08085D88; - DestroyTask(FindTaskIdByFunc(sub_8087BBC)); + DestroyTask(FindTaskIdByFunc(ExecuteTeleportFieldEffectTask)); } } void sub_8087E1C(u8); -void mapldr_08085D88(void) +static void mapldr_08085D88(void) { Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); @@ -3003,7 +3007,7 @@ void sub_8088D94(struct Task *task) { task->data[0]++; task->data[2] = 16; - SetPlayerAvatarTransitionFlags(0x01); + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], 0x02); } } diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index f27fa86fa..9f72c6383 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -1,5 +1,4 @@ #include "global.h" -#include "fldeff_teleport.h" #include "field_effect.h" #include "field_player_avatar.h" #include "pokemon_menu.h" @@ -12,19 +11,23 @@ extern void (*gFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; extern void (*gPostMenuFieldCallback)(void); +static void FieldCallback_Teleport(void); +static void StartTeleportFieldEffect(void); + + bool8 SetUpFieldMove_Teleport(void) { if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE) { gFieldCallback = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = hm_teleport_run_dp02scr; + gPostMenuFieldCallback = FieldCallback_Teleport; return TRUE; } return FALSE; } -void hm_teleport_run_dp02scr(void) +static void FieldCallback_Teleport(void) { Overworld_ResetStateAfterTeleport(); FieldEffectStart(FLDEFF_USE_TELEPORT); @@ -34,14 +37,14 @@ void hm_teleport_run_dp02scr(void) 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); + gTasks[taskId].data[8] = (u32)StartTeleportFieldEffect >> 16; + gTasks[taskId].data[9] = (u32)StartTeleportFieldEffect; + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); return 0; } -void sub_814A404(void) +static void StartTeleportFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_TELEPORT); - sub_8087BA8(); + CreateTeleportFieldEffectTask(); } diff --git a/src/rom6.c b/src/rom6.c index 30eb62c16..24c2de6d2 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -198,7 +198,7 @@ int FldEff_UseDig(void) gTasks[taskId].data[8] = (u32)sub_810B634 >> 16; gTasks[taskId].data[9] = (u32)sub_810B634; if (!ShouldDoBrailleDigEffect()) - SetPlayerAvatarTransitionFlags(1); + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); return 0; } |