Document field_transition.c

This commit is contained in:
Rachel 2024-11-15 22:40:12 -08:00
parent adc27c491d
commit 5d149b4116
15 changed files with 186 additions and 192 deletions

View File

@ -1,14 +1,14 @@
#ifndef POKEPLATINUM_UNK_02055808_H
#define POKEPLATINUM_UNK_02055808_H
#ifndef POKEPLATINUM_FIELD_TRANSITION_H
#define POKEPLATINUM_FIELD_TRANSITION_H
#include "field_task.h"
void sub_020557DC(FieldTask *param0, int param1, int param2);
void FieldTask_FinishFieldMap(FieldTask *param0);
void FieldTask_StartFieldMap(FieldTask *param0);
void sub_020558AC(FieldTask *param0);
void sub_020558F0(FieldTask *param0);
void FieldTask_FinishFadeOut(FieldTask *param0);
void FieldTask_StartFadeIn(FieldTask *param0);
void FieldTransition_StartEncounterEffect(FieldTask *task, int encEffectID, int battleBGM);
void FieldTransition_FinishMap(FieldTask *task);
void FieldTransition_StartMap(FieldTask *task);
void FieldTransition_FadeOut(FieldTask *task);
void FieldTransition_FadeIn(FieldTask *task);
void FieldTransition_FadeOutAndFinishMap(FieldTask *task);
void FieldTransition_StartMapAndFadeIn(FieldTask *task);
#endif // POKEPLATINUM_UNK_02055808_H
#endif // POKEPLATINUM_FIELD_TRANSITION_H

View File

@ -171,12 +171,12 @@ static BOOL FieldTask_Encounter(FieldTask *task)
switch (*state) {
case 0:
MapObjectMan_PauseAllMovement(fieldSystem->mapObjMan);
sub_020557DC(task, encounter->introEffectID, encounter->battleBGM);
FieldTransition_StartEncounterEffect(task, encounter->introEffectID, encounter->battleBGM);
(*state)++;
break;
case 1:
FieldTask_FinishFieldMap(task);
FieldTransition_FinishMap(task);
(*state)++;
break;
@ -206,13 +206,13 @@ static BOOL FieldTask_Encounter(FieldTask *task)
UpdateGameRecords(fieldSystem, encounter->dto);
UpdateJournal(fieldSystem, encounter->dto);
sub_0206B48C(SaveData_GetVarsFlags(fieldSystem->saveData), encounter->dto->totalTurnsElapsed);
FieldTask_StartFieldMap(task);
FieldTransition_StartMap(task);
(*state)++;
break;
case 4:
MapObjectMan_UnpauseAllMovement(fieldSystem->mapObjMan);
sub_020558F0(task);
FieldTransition_FadeIn(task);
(*state)++;
break;
@ -254,12 +254,12 @@ static BOOL FieldTask_LinkEncounter(FieldTask *task)
switch (*state) {
case 0:
sub_020557DC(task, encounter->introEffectID, encounter->battleBGM);
FieldTransition_StartEncounterEffect(task, encounter->introEffectID, encounter->battleBGM);
(*state)++;
break;
case 1:
FieldTask_FinishFieldMap(task);
FieldTransition_FinishMap(task);
(*state)++;
break;
@ -275,7 +275,7 @@ static BOOL FieldTask_LinkEncounter(FieldTask *task)
GameRecords *records = SaveData_GetGameRecordsPtr(fieldSystem->saveData);
GameRecords_IncrementTrainerScore(records, TRAINER_SCORE_EVENT_UNK_21);
FieldTask_StartFieldMap(task);
FieldTransition_StartMap(task);
(*state)++;
break;
@ -386,12 +386,12 @@ static BOOL FieldTask_WildEncounter(FieldTask *task)
case 0:
MapObjectMan_PauseAllMovement(fieldSystem->mapObjMan);
GameRecords_IncrementRecordValue(SaveData_GetGameRecordsPtr(fieldSystem->saveData), RECORD_UNK_007);
sub_020557DC(task, encounter->introEffectID, encounter->battleBGM);
FieldTransition_StartEncounterEffect(task, encounter->introEffectID, encounter->battleBGM);
encounter->state++;
break;
case 1:
FieldTask_FinishFieldMap(task);
FieldTransition_FinishMap(task);
encounter->state++;
break;
@ -428,13 +428,13 @@ static BOOL FieldTask_WildEncounter(FieldTask *task)
}
}
FieldTask_StartFieldMap(task);
FieldTransition_StartMap(task);
encounter->state++;
break;
case 4:
ov6_02246034(fieldSystem, encounter->dto);
sub_020558F0(task);
FieldTransition_FadeIn(task);
encounter->state++;
break;
@ -470,12 +470,12 @@ static BOOL FieldTask_SafariEncounter(FieldTask *task)
case 0:
MapObjectMan_PauseAllMovement(fieldSystem->mapObjMan);
GameRecords_IncrementRecordValue(SaveData_GetGameRecordsPtr(fieldSystem->saveData), RECORD_UNK_007);
sub_020557DC(task, encounter->introEffectID, encounter->battleBGM);
FieldTransition_StartEncounterEffect(task, encounter->introEffectID, encounter->battleBGM);
(*state)++;
break;
case 1:
FieldTask_FinishFieldMap(task);
FieldTransition_FinishMap(task);
(*state)++;
break;
@ -506,13 +506,13 @@ static BOOL FieldTask_SafariEncounter(FieldTask *task)
break;
case 4:
FieldTask_StartFieldMap(task);
FieldTransition_StartMap(task);
(*state)++;
break;
case 5:
MapObjectMan_UnpauseAllMovement(fieldSystem->mapObjMan);
sub_020558F0(task);
FieldTransition_FadeIn(task);
(*state)++;
break;
@ -625,12 +625,12 @@ static BOOL FieldTask_PalParkEncounter(FieldTask *task)
case 0:
MapObjectMan_PauseAllMovement(fieldSystem->mapObjMan);
GameRecords_IncrementRecordValue(SaveData_GetGameRecordsPtr(fieldSystem->saveData), RECORD_UNK_007);
sub_020557DC(task, encounter->introEffectID, encounter->battleBGM);
FieldTransition_StartEncounterEffect(task, encounter->introEffectID, encounter->battleBGM);
(*state)++;
break;
case 1:
FieldTask_FinishFieldMap(task);
FieldTransition_FinishMap(task);
(*state)++;
break;
@ -647,13 +647,13 @@ static BOOL FieldTask_PalParkEncounter(FieldTask *task)
break;
case 4:
FieldTask_StartFieldMap(task);
FieldTransition_StartMap(task);
(*state)++;
break;
case 5:
MapObjectMan_UnpauseAllMovement(fieldSystem->mapObjMan);
sub_020558F0(task);
FieldTransition_FadeIn(task);
(*state)++;
break;
@ -709,12 +709,12 @@ static BOOL FieldTask_CatchingTutorialEncounter(FieldTask *task)
switch (*state) {
case 0:
MapObjectMan_PauseAllMovement(fieldSystem->mapObjMan);
sub_020557DC(task, encounter->introEffectID, encounter->battleBGM);
FieldTransition_StartEncounterEffect(task, encounter->introEffectID, encounter->battleBGM);
(*state)++;
break;
case 1:
FieldTask_FinishFieldMap(task);
FieldTransition_FinishMap(task);
(*state)++;
break;
@ -728,13 +728,13 @@ static BOOL FieldTask_CatchingTutorialEncounter(FieldTask *task)
break;
case 4:
FieldTask_StartFieldMap(task);
FieldTransition_StartMap(task);
(*state)++;
break;
case 5:
MapObjectMan_UnpauseAllMovement(fieldSystem->mapObjMan);
sub_020558F0(task);
FieldTransition_FadeIn(task);
(*state)++;
break;

View File

@ -142,15 +142,15 @@ static void sub_02053374(FieldSystem *fieldSystem);
static void sub_020534BC(FieldSystem *fieldSystem);
static BOOL FieldTask_MapChangeFly(FieldTask *taskMan);
static void FieldTask_FinishFly(FieldTask *taskMan);
static BOOL FieldTask_FinishFieldMapFly(FieldTask *taskMan);
static void FieldTask_StartFadeInFly(FieldTask *taskMan);
static BOOL FieldTask_StartFadeInFlySub(FieldTask *taskMan);
static BOOL FieldTransition_FinishMapFly(FieldTask *taskMan);
static void FieldTransition_StartMapAndFadeInFly(FieldTask *taskMan);
static BOOL FieldTransition_StartMapAndFadeInFlySub(FieldTask *taskMan);
static void FieldTask_FadeInFly(FieldTask *taskMan);
static BOOL FieldTask_WaitFadeInFly(FieldTask *taskMan);
static BOOL FieldTask_MapChangeByDig(FieldTask *taskMan);
static void FieldTask_StartFinishFieldMapDig(FieldTask *taskMan);
static BOOL FieldTask_FinishFieldMapDig(FieldTask *taskMan);
static void FieldTask_StartFadeInDig(FieldTask *taskMan);
static BOOL FieldTransition_FinishMapDig(FieldTask *taskMan);
static void FieldTransition_StartMapAndFadeInDig(FieldTask *taskMan);
static BOOL FieldTask_FadeInDig(FieldTask *taskMan);
static void sub_02053E5C(FieldTask *taskMan);
static BOOL sub_0205444C(FieldTask *taskMan, int param1);
@ -459,7 +459,7 @@ static BOOL FieldTask_LoadNewGameSpawn(FieldTask *taskMan)
(*state)++;
break;
case 1:
FieldTask_StartFadeIn(taskMan);
FieldTransition_StartMapAndFadeIn(taskMan);
(*state)++;
break;
case 2:
@ -523,7 +523,7 @@ static BOOL FieldTask_LoadSavedGameMap(FieldTask *taskMan)
(*state) = 2;
break;
case 2:
FieldTask_StartFadeIn(taskMan);
FieldTransition_StartMapAndFadeIn(taskMan);
(*state) = 3;
break;
case 3:
@ -570,7 +570,7 @@ static BOOL FieldTask_LoadMapFromError(FieldTask *taskMan)
case 2:
fieldSystem->unk_7C = FieldSystem_InitCommUnionRoom(fieldSystem);
fieldSystem->unk_80 = sub_0205C22C(fieldSystem->unk_7C);
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
(*state)++;
break;
case 3:
@ -625,7 +625,7 @@ static BOOL FieldTask_ChangeMap(FieldTask *taskMan)
case 0:
Sound_PlayEffect(1539);
Sound_TryFadeInBGM(fieldSystem, location->mapId);
FieldTask_FinishFadeOut(taskMan);
FieldTransition_FadeOutAndFinishMap(taskMan);
mapChangeData->state++;
break;
case 1:
@ -638,7 +638,7 @@ static BOOL FieldTask_ChangeMap(FieldTask *taskMan)
}
Sound_PlayMapBGM(fieldSystem, location->mapId);
FieldTask_StartFadeIn(taskMan);
FieldTransition_StartMapAndFadeIn(taskMan);
mapChangeData->state++;
break;
case 3:
@ -719,7 +719,7 @@ static BOOL FieldTask_ChangeMapFull(FieldTask *taskMan)
switch (mapChangeSub->state) {
case 0:
Sound_TryFadeInBGM(fieldSystem, nextLocation->mapId);
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
mapChangeSub->state++;
break;
case 1:
@ -732,7 +732,7 @@ static BOOL FieldTask_ChangeMapFull(FieldTask *taskMan)
}
Sound_PlayMapBGM(fieldSystem, nextLocation->mapId);
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
mapChangeSub->state++;
break;
case 3:
@ -807,7 +807,7 @@ static BOOL FieldTask_MapChangeFly(FieldTask *taskMan)
Sound_PlayMapBGM(fieldSystem, location->mapId);
sub_0207056C(fieldSystem);
FieldTask_StartFadeInFly(taskMan);
FieldTransition_StartMapAndFadeInFly(taskMan);
mapChangeData->state++;
break;
case 3:
@ -820,16 +820,16 @@ static BOOL FieldTask_MapChangeFly(FieldTask *taskMan)
static void FieldTask_FinishFly(FieldTask *taskMan)
{
FieldTask_InitCall(taskMan, FieldTask_FinishFieldMapFly, NULL);
FieldTask_InitCall(taskMan, FieldTransition_FinishMapFly, NULL);
}
static BOOL FieldTask_FinishFieldMapFly(FieldTask *taskMan)
static BOOL FieldTransition_FinishMapFly(FieldTask *taskMan)
{
int *state = FieldTask_GetState(taskMan);
switch (*state) {
case 0:
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
(*state)++;
break;
case 1:
@ -839,20 +839,20 @@ static BOOL FieldTask_FinishFieldMapFly(FieldTask *taskMan)
return FALSE;
}
static void FieldTask_StartFadeInFly(FieldTask *taskMan)
static void FieldTransition_StartMapAndFadeInFly(FieldTask *taskMan)
{
MapChangeFlyData *mapChangeData = FieldTask_GetEnv(taskMan);
FieldTask_InitCall(taskMan, FieldTask_StartFadeInFlySub, mapChangeData);
FieldTask_InitCall(taskMan, FieldTransition_StartMapAndFadeInFlySub, mapChangeData);
}
static BOOL FieldTask_StartFadeInFlySub(FieldTask *taskMan)
static BOOL FieldTransition_StartMapAndFadeInFlySub(FieldTask *taskMan)
{
int *state = FieldTask_GetState(taskMan);
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(taskMan);
switch (*state) {
case 0:
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
(*state)++;
break;
case 1:
@ -937,7 +937,7 @@ static BOOL FieldTask_MapChangeByDig(FieldTask *taskMan)
GF_ASSERT(FALSE);
}
FieldTask_StartFadeInDig(taskMan);
FieldTransition_StartMapAndFadeInDig(taskMan);
mapChangeData->state++;
break;
case 3:
@ -950,16 +950,16 @@ static BOOL FieldTask_MapChangeByDig(FieldTask *taskMan)
static void FieldTask_StartFinishFieldMapDig(FieldTask *taskMan)
{
FieldTask_InitCall(taskMan, FieldTask_FinishFieldMapDig, NULL);
FieldTask_InitCall(taskMan, FieldTransition_FinishMapDig, NULL);
}
static BOOL FieldTask_FinishFieldMapDig(FieldTask *taskMan)
static BOOL FieldTransition_FinishMapDig(FieldTask *taskMan)
{
int *state = FieldTask_GetState(taskMan);
switch (*state) {
case 0:
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
(*state)++;
break;
case 1:
@ -969,7 +969,7 @@ static BOOL FieldTask_FinishFieldMapDig(FieldTask *taskMan)
return FALSE;
}
static void FieldTask_StartFadeInDig(FieldTask *taskMan)
static void FieldTransition_StartMapAndFadeInDig(FieldTask *taskMan)
{
MapChangeDigData *mapChangeData = FieldTask_GetEnv(taskMan);
FieldTask_InitCall(taskMan, FieldTask_FadeInDig, mapChangeData);
@ -983,7 +983,7 @@ static BOOL FieldTask_FadeInDig(FieldTask *taskMan)
switch (*state) {
case 0:
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
(*state)++;
break;
case 1:
@ -1026,7 +1026,7 @@ static BOOL FieldTask_MapChangeWarp(FieldTask *taskMan)
case 1:
if (mapChangeWarpData->warpFinished) {
Sound_TryFadeInBGM(fieldSystem, nextLocation->mapId);
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
mapChangeWarpData->state++;
}
break;
@ -1040,7 +1040,7 @@ static BOOL FieldTask_MapChangeWarp(FieldTask *taskMan)
}
Sound_PlayMapBGM(fieldSystem, nextLocation->mapId);
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
mapChangeWarpData->state++;
break;
case 4:
@ -1214,7 +1214,7 @@ BOOL FieldTask_MapChangeToUnderground(FieldTask *taskMan)
}
break;
case 8:
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
mapChangeUndergroundData->state++;
break;
case 9:
@ -1231,7 +1231,7 @@ BOOL FieldTask_MapChangeToUnderground(FieldTask *taskMan)
sub_02004234(0);
Sound_ClearSpecialBGM(fieldSystem);
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
mapChangeUndergroundData->state++;
break;
case 11:
@ -1282,7 +1282,7 @@ BOOL FieldTask_MapChangeFromUnderground(FieldTask *taskMan)
}
break;
case 3:
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
mapChangeUndergroundData->state++;
break;
case 4:
@ -1298,7 +1298,7 @@ BOOL FieldTask_MapChangeFromUnderground(FieldTask *taskMan)
sub_02004234(0);
Sound_ClearSpecialBGM(fieldSystem);
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
mapChangeUndergroundData->state++;
break;
case 6:
@ -1405,7 +1405,7 @@ static BOOL sub_02054538(FieldTask *taskMan)
break;
case 1:
if (mapChangeData->unk_04) {
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
(*state)++;
}
break;
@ -1419,11 +1419,11 @@ static BOOL sub_02054538(FieldTask *taskMan)
}
Sound_PlayMapBGM(fieldSystem, v3->mapId);
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
(*state)++;
break;
case 4:
sub_020558F0(taskMan);
FieldTransition_FadeIn(taskMan);
(*state)++;
break;
case 5:
@ -1460,11 +1460,11 @@ static BOOL sub_02054648(FieldTask *taskMan)
switch (*state) {
case 0:
Sound_TryFadeInBGM(fieldSystem, v3->mapId);
sub_020558AC(taskMan);
FieldTransition_FadeOut(taskMan);
(*state)++;
break;
case 1:
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
(*state)++;
break;
case 2:
@ -1477,7 +1477,7 @@ static BOOL sub_02054648(FieldTask *taskMan)
}
Sound_PlayMapBGM(fieldSystem, v3->mapId);
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
(*state)++;
break;
case 4:
@ -1526,7 +1526,7 @@ static BOOL FieldTask_ChangeMapColosseum(FieldTask *taskMan)
case 0:
Sound_PlayEffect(1539);
Sound_TryFadeInBGM(fieldSystem, location->mapId);
FieldTask_FinishFadeOut(taskMan);
FieldTransition_FadeOutAndFinishMap(taskMan);
mapChangeData->state++;
break;
case 1:
@ -1539,7 +1539,7 @@ static BOOL FieldTask_ChangeMapColosseum(FieldTask *taskMan)
}
Sound_PlayMapBGM(fieldSystem, location->mapId);
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
mapChangeData->state++;
break;
case 3:

View File

@ -3,6 +3,8 @@
#include <nitro.h>
#include <string.h>
#include "constants/heap.h"
#include "field/field_system.h"
#include "overlay005/encounter_effect.h"
#include "overlay005/ov5_021DD6FC.h"
@ -13,185 +15,177 @@
#include "unk_020041CC.h"
#include "unk_0200F174.h"
typedef struct {
int unk_00;
BOOL unk_04;
int unk_08;
int unk_0C;
} UnkStruct_0205578C;
typedef struct EncounterEffectTaskData {
int taskState;
BOOL done;
int encEffectID;
int battleBGM;
} EncounterEffectTaskData;
static BOOL sub_0205578C(FieldTask *param0)
static BOOL FieldTask_RunEncounterEffect(FieldTask *task)
{
FieldSystem *fieldSystem;
UnkStruct_0205578C *v1;
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task);
EncounterEffectTaskData *data = FieldTask_GetEnv(task);
fieldSystem = FieldTask_GetFieldSystem(param0);
v1 = FieldTask_GetEnv(param0);
switch (v1->unk_00) {
switch (data->taskState) {
case 0:
EncounterEffect_Start(v1->unk_08, fieldSystem, &v1->unk_04);
sub_02004550(5, v1->unk_0C, 1);
v1->unk_00++;
EncounterEffect_Start(data->encEffectID, fieldSystem, &data->done);
sub_02004550(5, data->battleBGM, 1);
data->taskState++;
break;
case 1:
if (v1->unk_04 == 1) {
Heap_FreeToHeap(v1);
return 1;
if (data->done == TRUE) {
Heap_FreeToHeap(data);
return TRUE;
}
break;
}
return 0;
return FALSE;
}
void sub_020557DC(FieldTask *param0, int param1, int param2)
void FieldTransition_StartEncounterEffect(FieldTask *task, int encEffectID, int battleBGM)
{
UnkStruct_0205578C *v0 = Heap_AllocFromHeapAtEnd(11, sizeof(UnkStruct_0205578C));
EncounterEffectTaskData *data = Heap_AllocFromHeapAtEnd(HEAP_ID_FIELDMAP, sizeof(EncounterEffectTaskData));
v0->unk_00 = 0;
v0->unk_04 = 0;
v0->unk_08 = param1;
v0->unk_0C = param2;
data->taskState = 0;
data->done = FALSE;
data->encEffectID = encEffectID;
data->battleBGM = battleBGM;
FieldTask_InitCall(param0, sub_0205578C, v0);
FieldTask_InitCall(task, FieldTask_RunEncounterEffect, data);
}
static BOOL sub_02055808(FieldTask *param0)
static BOOL FieldTask_WaitUntilMapFinished(FieldTask *task)
{
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0);
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task);
if (!FieldSystem_HasParentProcess(fieldSystem)) {
return 1;
return TRUE;
}
return 0;
return FALSE;
}
void FieldTask_FinishFieldMap(FieldTask *param0)
void FieldTransition_FinishMap(FieldTask *task)
{
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0);
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task);
if (!FieldSystem_HasParentProcess(fieldSystem)) {
GF_ASSERT(FALSE);
return;
}
FieldSystem_FlagNotRunningFieldMap(fieldSystem);
FieldTask_InitCall(param0, sub_02055808, NULL);
FieldTask_InitCall(task, FieldTask_WaitUntilMapFinished, NULL);
}
static BOOL sub_02055850(FieldTask *param0)
static BOOL FieldTask_WaitUntilMapStarted(FieldTask *task)
{
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0);
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task);
if (FieldSystem_IsRunningFieldMap(fieldSystem)) {
return 1;
return TRUE;
}
return 0;
return FALSE;
}
void FieldTask_StartFieldMap(FieldTask *param0)
void FieldTransition_StartMap(FieldTask *task)
{
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0);
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task);
if (FieldSystem_HasParentProcess(fieldSystem)) {
GF_ASSERT(FALSE);
return;
}
FieldSystem_StartFieldMap(fieldSystem);
FieldTask_InitCall(param0, sub_02055850, NULL);
FieldTask_InitCall(task, FieldTask_WaitUntilMapStarted, NULL);
}
static BOOL sub_02055898(FieldTask *param0)
static BOOL FieldTask_WaitUntilScreenTransitionDone(FieldTask *task)
{
if (IsScreenTransitionDone()) {
return 1;
return TRUE;
}
return 0;
return FALSE;
}
void sub_020558AC(FieldTask *param0)
void FieldTransition_FadeOut(FieldTask *task)
{
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0);
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task);
if (!FieldSystem_HasParentProcess(fieldSystem)) {
GF_ASSERT(FALSE);
return;
}
{
StartScreenTransition(0, 0, 0, 0x0, 6, 1, 4);
FieldTask_InitCall(param0, sub_02055898, NULL);
}
StartScreenTransition(0, 0, 0, 0x0, 6, 1, 4);
FieldTask_InitCall(task, FieldTask_WaitUntilScreenTransitionDone, NULL);
}
void sub_020558F0(FieldTask *param0)
void FieldTransition_FadeIn(FieldTask *task)
{
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0);
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task);
if (!FieldSystem_HasParentProcess(fieldSystem)) {
GF_ASSERT(FALSE);
return;
}
{
StartScreenTransition(0, 1, 1, 0x0, 6, 1, 4);
FieldTask_InitCall(param0, sub_02055898, NULL);
}
StartScreenTransition(0, 1, 1, 0x0, 6, 1, 4);
FieldTask_InitCall(task, FieldTask_WaitUntilScreenTransitionDone, NULL);
}
static BOOL sub_02055934(FieldTask *param0)
static BOOL FieldTask_FadeOutAndFinishMap(FieldTask *task)
{
int *v0 = FieldTask_GetState(param0);
int *state = FieldTask_GetState(task);
switch (*v0) {
switch (*state) {
case 0:
sub_020558AC(param0);
(*v0)++;
FieldTransition_FadeOut(task);
(*state)++;
break;
case 1:
FieldTask_FinishFieldMap(param0);
(*v0)++;
FieldTransition_FinishMap(task);
(*state)++;
break;
case 2:
return 1;
return TRUE;
}
return 0;
return FALSE;
}
void FieldTask_FinishFadeOut(FieldTask *param0)
void FieldTransition_FadeOutAndFinishMap(FieldTask *task)
{
FieldTask_InitCall(param0, sub_02055934, NULL);
FieldTask_InitCall(task, FieldTask_FadeOutAndFinishMap, NULL);
}
static BOOL sub_02055984(FieldTask *param0)
static BOOL FieldTask_StartMapAndFadeIn(FieldTask *task)
{
int *v0 = FieldTask_GetState(param0);
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0);
int *state = FieldTask_GetState(task);
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task);
switch (*v0) {
switch (*state) {
case 0:
FieldTask_StartFieldMap(param0);
(*v0)++;
FieldTransition_StartMap(task);
(*state)++;
break;
case 1:
FieldSystem_RequestLocationName(fieldSystem);
sub_020558F0(param0);
(*v0)++;
FieldTransition_FadeIn(task);
(*state)++;
break;
case 2:
return 1;
return TRUE;
}
return 0;
return FALSE;
}
void FieldTask_StartFadeIn(FieldTask *param0)
void FieldTransition_StartMapAndFadeIn(FieldTask *task)
{
FieldTask_InitCall(param0, sub_02055984, NULL);
FieldTask_InitCall(task, FieldTask_StartMapAndFadeIn, NULL);
}

View File

@ -3921,13 +3921,13 @@ BOOL sub_02041D60(ScriptContext *ctx)
static BOOL ScrCmd_0A1(ScriptContext *ctx)
{
FieldTask_StartFieldMap(ctx->fieldSystem->task);
FieldTransition_StartMap(ctx->fieldSystem->task);
return 1;
}
static BOOL ScrCmd_1F8(ScriptContext *ctx)
{
FieldTask_FinishFieldMap(ctx->fieldSystem->task);
FieldTransition_FinishMap(ctx->fieldSystem->task);
return 1;
}

View File

@ -1018,7 +1018,7 @@ BOOL sub_0203DBF0(FieldTask *param0)
switch (v2->unk_00) {
case 0:
if (!sub_020389B8()) {
FieldTask_FinishFieldMap(param0);
FieldTransition_FinishMap(param0);
}
v2->unk_00++;
@ -1180,7 +1180,7 @@ static BOOL sub_0203DE98(FieldTask *param0)
switch (v2->unk_00) {
case 0:
FieldTask_FinishFieldMap(param0);
FieldTransition_FinishMap(param0);
v2->unk_00++;
break;
case 1:
@ -1188,7 +1188,7 @@ static BOOL sub_0203DE98(FieldTask *param0)
v2->unk_00++;
break;
case 2:
FieldTask_StartFieldMap(param0);
FieldTransition_StartMap(param0);
v2->unk_00++;
break;
case 3:

View File

@ -58,11 +58,11 @@ static BOOL sub_020505A0(FieldTask *taskMan)
v1->unk_04 = Player_GetXPos(fieldSystem->playerAvatar);
v1->unk_06 = Player_GetZPos(fieldSystem->playerAvatar);
sub_02070428(fieldSystem, 1);
sub_020558AC(taskMan);
FieldTransition_FadeOut(taskMan);
v1->unk_08++;
break;
case 1:
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
v1->unk_08++;
break;
case 2:
@ -77,7 +77,7 @@ static BOOL sub_020505A0(FieldTask *taskMan)
v1->unk_08++;
break;
case 3:
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
v1->unk_08++;
break;
case 4:
@ -98,7 +98,7 @@ static BOOL sub_020505A0(FieldTask *taskMan)
v1->unk_08++;
break;
case 7:
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
v1->unk_08++;
break;
case 8:
@ -113,12 +113,12 @@ static BOOL sub_020505A0(FieldTask *taskMan)
v1->unk_08++;
break;
case 9:
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
v1->unk_08++;
break;
case 10:
sub_0205074C(fieldSystem->playerAvatar, 0);
sub_020558F0(taskMan);
FieldTransition_FadeIn(taskMan);
v1->unk_08++;
break;
case 11:

View File

@ -243,7 +243,7 @@ BOOL sub_02052B2C(FieldTask *param0)
(*v1)++;
break;
case 4:
FieldTask_StartFieldMap(param0);
FieldTransition_StartMap(param0);
(*v1)++;
break;
case 5:

View File

@ -215,7 +215,7 @@ static BOOL sub_02056CFC(FieldTask *taskMan)
(v1->unk_00)++;
break;
case 1:
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
(v1->unk_00)++;
break;
case 2:
@ -223,7 +223,7 @@ static BOOL sub_02056CFC(FieldTask *taskMan)
(v1->unk_00)++;
break;
case 3:
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
(v1->unk_00)++;
break;
case 4:
@ -262,7 +262,7 @@ static BOOL sub_02056DE4(FieldTask *taskMan)
case 0:
Sound_PlayEffect(1539);
sub_020558AC(taskMan);
FieldTransition_FadeOut(taskMan);
(v1->unk_04)++;
break;
case 1:
@ -294,7 +294,7 @@ static BOOL sub_02056E20(FieldTask *taskMan)
}
break;
case 2:
sub_020558AC(taskMan);
FieldTransition_FadeOut(taskMan);
(v1->unk_04)++;
break;
case 3:

View File

@ -59,11 +59,11 @@ static BOOL sub_0206C120(FieldTask *taskMan)
sub_02070428(fieldSystem, 1);
ov6_02242A94(v1->unk_0D, v1->unk_04);
v1->unk_08 = ov6_02242AEC(v1->unk_04);
sub_020558AC(taskMan);
FieldTransition_FadeOut(taskMan);
v1->unk_0C = 1;
break;
case 1:
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
v1->unk_0C = 2;
break;
case 2: {
@ -80,7 +80,7 @@ static BOOL sub_0206C120(FieldTask *taskMan)
v1->unk_0C = 3;
break;
case 3:
FieldTask_StartFieldMap(taskMan);
FieldTransition_StartMap(taskMan);
v1->unk_0C = 4;
break;
case 4: {
@ -101,7 +101,7 @@ static BOOL sub_0206C120(FieldTask *taskMan)
v1->unk_0C = 5;
} else {
MapObject_SetHidden(v3, 0);
sub_020558F0(taskMan);
FieldTransition_FadeIn(taskMan);
v1->unk_0C = 8;
}
} break;

View File

@ -59,11 +59,11 @@ static BOOL sub_0206C680(FieldTask *param0)
v1->unk_04++;
break;
case 1:
sub_020558AC(param0);
FieldTransition_FadeOut(param0);
v1->unk_04++;
break;
case 2:
FieldTask_FinishFieldMap(param0);
FieldTransition_FinishMap(param0);
v1->unk_04++;
break;
case 3:
@ -71,11 +71,11 @@ static BOOL sub_0206C680(FieldTask *param0)
v1->unk_04++;
break;
case 4:
FieldTask_StartFieldMap(param0);
FieldTransition_StartMap(param0);
v1->unk_04++;
break;
case 5:
sub_020558F0(param0);
FieldTransition_FadeIn(param0);
v1->unk_04++;
break;
case 6:

View File

@ -215,7 +215,7 @@ static BOOL sub_0206C964(FieldTask *taskMan)
ov5_021D42B0(fieldSystem->unk_50, fieldSystem->unk_54, 2);
}
FieldTask_FinishFieldMap(taskMan);
FieldTransition_FinishMap(taskMan);
v1->unk_00 = 4;
break;
case 4:
@ -228,7 +228,7 @@ static BOOL sub_0206C964(FieldTask *taskMan)
break;
case 6:
Sound_PlayMapBGM(fieldSystem, v1->unk_18);
FieldTask_StartFadeIn(taskMan);
FieldTransition_StartMapAndFadeIn(taskMan);
v1->unk_00 = 7;
break;
case 7:

View File

@ -177,7 +177,7 @@ static BOOL sub_02093448(FieldTask *param0)
switch (v1->unk_04) {
case 0:
FieldTask_FinishFieldMap(param0);
FieldTransition_FinishMap(param0);
v1->unk_04++;
break;
case 1:
@ -247,7 +247,7 @@ static BOOL sub_02093448(FieldTask *param0)
v1->unk_04++;
break;
case 12:
FieldTask_StartFieldMap(param0);
FieldTransition_StartMap(param0);
v1->unk_04++;
break;
default:
@ -267,7 +267,7 @@ static BOOL sub_020935EC(FieldTask *param0)
switch (v1->unk_04) {
case 0:
FieldTask_FinishFieldMap(param0);
FieldTransition_FinishMap(param0);
v1->unk_04++;
break;
case 1:
@ -364,7 +364,7 @@ static BOOL sub_020935EC(FieldTask *param0)
v1->unk_04++;
break;
case 8:
FieldTask_StartFieldMap(param0);
FieldTransition_StartMap(param0);
v1->unk_04++;
break;
default:

View File

@ -317,7 +317,7 @@ static BOOL sub_02097F38(FieldTask *param0)
switch (v0->unk_14) {
case 0:
FieldTask_FinishFieldMap(param0);
FieldTransition_FinishMap(param0);
v1->unk_20 = sub_0202CA1C(v0->unk_10);
sub_02097F20(v1, 0);
@ -403,7 +403,7 @@ static BOOL sub_02097F38(FieldTask *param0)
v0->unk_14 = 1;
break;
case 5:
FieldTask_StartFieldMap(param0);
FieldTransition_StartMap(param0);
v0->unk_14 = 6;
break;
case 6:

View File

@ -201,7 +201,7 @@ static BOOL sub_0209843C(FieldTask *param0)
switch (v0->unk_00) {
case 0:
ov5_021E771C(v0->unk_0C.unk_00, 11);
FieldTask_FinishFieldMap(param0);
FieldTransition_FinishMap(param0);
v0->unk_00++;
break;
case 1:
@ -262,7 +262,7 @@ static BOOL sub_0209843C(FieldTask *param0)
v0->unk_00++;
break;
case 5:
FieldTask_StartFieldMap(param0);
FieldTransition_StartMap(param0);
v0->unk_00++;
break;
case 6: