Merge pull request #50 from ultima-soul/fldeff
Port fldeff_teleport and decompile fldeff_berrytree
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
void nullsub_56(void)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
+3
-3
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user