3#include <game/bases/d_fader.hpp>
4#include <game/bases/d_cd_data.hpp>
5#include <lib/egg/core/eggHeap.h>
47 bool searchNextNum(u8 fileIdx,
float x,
float y,
int *foundNum);
58 void simpleChangeScene(u8 destFile, u8 destNextGoto, dFader_c::fader_type_e faderType);
bool isNextDifferent(u8 fileIdx, u8 nextGoto)
Returns whether the currently saved entrance is different from the given one.
void changeScene()
Go to the next scene using the data in mNextGotoData.
static dNext_c * m_instance
The singleton instance of this class.
bool mStartSceneChange
Whether a scene change should be performed next time execute() is called.
void simpleChangeScene(u8 destNextGoto, dFader_c::fader_type_e faderType)
Move to a new entrance in the same file.
SceneChangeType_e
The different types of scene changes.
@ NEXT_DIFFERENT_FILE
The next entrance is in a different file.
@ NEXT_DIFFERENT_AREA
The next entrance is in a different area of the same file.
@ NEXT_SAME_AREA
The next entrance is in the same area.
void setOwnNextData(u8 fileIdx, u8 nextGoto)
Sets the entrance data for the next scene change.
static void deleteInstance()
Deletes the class instance.
SceneChangeType_e mSceneChangeType
The type of scene change to do when going to the next entrance.
bool searchNextNum(u8 fileIdx, float x, float y, int *foundNum)
Search for a next entrance at the given coordinates in the given file.
sNextGotoData mNextGotoData
The data for the entrance the player activated.
void setChangeSceneNextDat(u8 fileIdx, u8 nextGoto, dFader_c::fader_type_e faderType)
Updates the saved entrance data for the next scene change if not already set.
void execute()
Checks for scene changes and executes them when necessary.
u16 mMultiplayerDelay
Number of frames to delay the scene change in multiplayer mode.
bool mNextDataSet
Whether the entrance data for the next scene change has been set.
bool mSceneChangeDone
Whether the scene change has been performed.
dFader_c::fader_type_e mFaderType
The type of fader to use for the scene change.
static const int smc_MULTIPLAYER_SCENE_CHANGE_DELAY
The number of frames to delay scene changes in multiplayer mode.
void initialize()
Resets the class to its initial state.
static void createInstance(EGG::Heap *heap)
Creates a class instance on the given heap.
dNext_c()
Constructs a new dNext_c.