Merge pull request #50 from ultima-soul/fldeff

Port fldeff_teleport and decompile fldeff_berrytree
This commit is contained in:
PikalaxALT
2019-04-29 13:20:00 -04:00
committed by GitHub
23 changed files with 163 additions and 205 deletions
+4
View File
@@ -0,0 +1,4 @@
void nullsub_56(void)
{
}
+42
View 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();
}
+3 -3
View File
@@ -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;