NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
d_s_restart_crsin_static.cpp
1#include <game/bases/d_s_restart_crsin.hpp>
2#include <game/bases/d_s_stage.hpp>
3#include <game/bases/d_s_crsin_static.hpp>
4
6
7void dScRestartCrsin_c::startTitle(u8 isReplay, bool forceChange) {
8 static const u8 c_stage[][2] = {
9 {WORLD_1, STAGE_4},
10 {WORLD_1, STAGE_6},
11 {WORLD_2, STAGE_1},
12 {WORLD_2, STAGE_4},
13 {WORLD_3, STAGE_1},
14 {WORLD_3, STAGE_5},
15 {WORLD_3, STAGE_TOWER},
16 {WORLD_4, STAGE_1},
17 {WORLD_4, STAGE_5},
18 {WORLD_5, STAGE_4},
19 {WORLD_5, STAGE_5},
20 {WORLD_5, STAGE_GHOST_HOUSE},
21 {WORLD_6, STAGE_CASTLE},
22 {WORLD_7, STAGE_6},
23 {WORLD_8, STAGE_7}
24 };
25
26 if (!isReplay) {
27 m_startGameInfo.mWorld1 = WORLD_1;
28 m_startGameInfo.mLevel1 = STAGE_TITLE;
29 m_startGameInfo.mGameMode = dInfo_c::GAME_MODE_TITLE;
30 m_startGameInfo.mIsReplay = false;
31 } else {
32 m_startGameInfo.mWorld1 = c_stage[dScStage_c::m_titleRandomTable[dScStage_c::m_titleCount]][0];
33 m_startGameInfo.mLevel1 = c_stage[dScStage_c::m_titleRandomTable[dScStage_c::m_titleCount]][1];
34 m_startGameInfo.mGameMode = dInfo_c::GAME_MODE_TITLE_REPLAY;
35 m_startGameInfo.mIsReplay = true;
36 }
37
38 m_startGameInfo.mWorld2 = m_startGameInfo.mWorld1;
39 m_startGameInfo.mLevel2 = m_startGameInfo.mLevel1;
40 m_startGameInfo.mArea = 0;
41 m_startGameInfo.mEntrance = 0xFF;
42
43 dFader_c::setFader(dFader_c::FADER_FADE);
45 dScene_c::setNextScene(fProf::RESTART_CRSIN, forceChange, forceChange);
46}
47
49 m_startGameInfo.mGameMode = dInfo_c::GAME_MODE_NORMAL;
50 m_startGameInfo.mIsReplay = false;
51 m_startGameInfo.mArea = 0;
52 m_startGameInfo.mEntrance = 0xFF;
53 m_startGameInfo.mWorld1 = WORLD_1;
54 m_startGameInfo.mLevel1 = STAGE_PEACH_CASTLE;
55 m_startGameInfo.mWorld2 = WORLD_1;
56 m_startGameInfo.mLevel2 = STAGE_PEACH_CASTLE;
57
58 dFader_c::setFader(dFader_c::FADER_CIRCLE_MIDDLE);
60 dScStage_c::m_exitMode = dScStage_c::EXIT_2;
61
62 dScene_c::setNextScene(fProf::RESTART_CRSIN, 0, false);
63}
static bool m_isDispOff
Whether the Pre-Game screen will display or not.
static void reStartPeachCastle()
Starts the Peach's Castle stage.
static dInfo_c::StartGameInfo_s m_startGameInfo
Info used to start a level.
static void startTitle(u8 isReplay, bool forceChange)
Starts the title screen stage or a title replay.
static void setNextScene(ProfileName nextScene, unsigned long param, bool forceChange)
Attempts to prepare the transition to a new scene.
Definition d_scene.cpp:162