1#include <game/bases/d_a_boss_demo.hpp>
2#include <game/bases/d_a_player_manager.hpp>
3#include <game/bases/d_a_player_demo_manager.hpp>
4#include <game/bases/d_actor_manager.hpp>
5#include <game/bases/d_game_com.hpp>
6#include <game/bases/d_multi_manager.hpp>
7#include <game/bases/d_s_stage.hpp>
8#include <game/bases/d_wm_lib.hpp>
9#include <game/sLib/s_GlobalData.hpp>
21 if (dActorMng_c::m_instance->mpCurrBossDemo !=
nullptr) {
26 dActorMng_c::m_instance->mpCurrBossDemo =
this;
50 if (multiMng ==
nullptr) {
55 for (
int i = 0; i < PLAYER_COUNT; i++) {
56 int rest = daPyMng_c::getRest(daPyMng_c::getPlayerType(i));
62 if (daPyMng_c::getNum() == daPyMng_c::getEntryNum()) {
63 dGameCom::setMultiCourseClear(3);
65 dGameCom::setMultiCourseClear(1);
70 dScStage_c::setNextScene(fProf::WORLD_MAP, 0, dScStage_c::EXIT_0, dFader_c::FADER_MARIO);
75 dScStage_c::setNextScene(fProf::WORLD_MAP, 0, dScStage_c::EXIT_2, dFader_c::FADER_CIRCLE_MIDDLE);
79 if (GLOBAL_DATA.mForceOtehonClear) {
99 if (GLOBAL_DATA.mForceOtehonClear) {
104 int world = dScStage_c::m_instance->mCurrWorld;
105 int course = dScStage_c::m_instance->mCurrCourse;
107 dInfo_c::m_startGameInfo.mGameMode == dInfo_c::GAME_MODE_SUPER_GUIDE &&
108 !dWmLib::IsCourseClear(world, course)
115void daBossDemo_c::initializeState_Ready() {}
116void daBossDemo_c::finalizeState_Ready() {}
117void daBossDemo_c::executeState_Ready() {
120 if (boss !=
nullptr) {
130void daBossDemo_c::initializeState_BattleStDemo() {}
131void daBossDemo_c::finalizeState_BattleStDemo() {}
132void daBossDemo_c::executeState_BattleStDemo() {}
134void daBossDemo_c::initializeState_BattleIn() {
135 daPyDemoMng_c::mspInstance->releaseDemoMode(1);
138 if (boss !=
nullptr) {
139 boss->setBattleReady();
144void daBossDemo_c::finalizeState_BattleIn() {}
145void daBossDemo_c::executeState_BattleIn() {
151void daBossDemo_c::initializeState_BattleEdDemo() {}
152void daBossDemo_c::finalizeState_BattleEdDemo() {}
153void daBossDemo_c::executeState_BattleEdDemo() {}
sFStateMgr_c< dActorState_c, sStateMethodUsr_FI_c > mStateMgr
The state manager.
Multiplayer manager. Keeps track of statistics for each player, used for Coin Battle and Free Mode.
void setRest(int rest, int plrNo)
Sets the remaining lives for a player.
static dMultiMng_c * mspInstance
The instance of this class.
void setCollectionCoin()
Loads the star coin collection information.
Base class for boss battle cutscene managers.
void setBattleResult()
Saves the star coins collected and the remaining lives of each player.
bool isOtehonClear()
Returns whether this course was only cleared by the Super Guide.
BOOL mBattleEnd
Whether the boss battle has ended.
virtual BOOL checkBattleStDemo()
Returns whether the boss battle start cutscene is ready to play.
virtual BOOL checkBattleEdDemo()
Returns whether the boss battle end cutscene is ready to play.
virtual int draw() override
do method for the draw operation.
virtual int create() override
do method for the create operation.
virtual int doDelete() override
do method for the delete operation.
virtual void initialize()
Subclass-specific initialization code.
virtual dEnBoss_c * bossSearch()
Returns the corresponding boss actor.
virtual bool demoScroll()
Returns whether the camera has finished scrolling to the boss.
virtual void deleteReady() override
Informs the base that it's about to be deleted.
virtual void retryAfterOtehonClear()
Returns to the world map without clearing the course after finishing it with Super Guide.
virtual int execute() override
do method for the execute operation.
static sFStateVirtualID_c< daBossDemo_c > StateID_BattleStDemo
In the boss battle starting cutscene.
fBaseID_e mBossID
The ID of the boss actor.
bool checkStartRetry(bool b)
Returns whether to show the "Want to try without Super Guide?" prompt.
virtual bool abandonRetryAfterOtehonClear()
Returns to the world map and clears the course after finishing it with Super Guide.
void setMultiCourseClear()
Marks the course as cleared.
static sFStateVirtualID_c< daBossDemo_c > StateID_Ready
Ready for the boss battle cutscene to start.
static sFStateVirtualID_c< daBossDemo_c > StateID_BattleEdDemo
In the boss battle ending cutscene.
void deleteRequest()
Requests deletion of the base.
@ NOT_READY
The step could not completed at this time.
@ SUCCEEDED
The step was completed successfully.
static fBase_c * searchBaseByID(fBaseID_e id)
Searches for a base with the given ID.
@ BASE_ID_NULL
Represents the null base.
#define STATE_VIRTUAL_DEFINE(class, name)
Defines a virtual state.