NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
d_s_stage.hpp
1#pragma once
2#include <game/bases/d_scene.hpp>
3#include <game/bases/d_info.hpp>
4#include <game/mLib/m_vec.hpp>
6
7class dScStage_c : public dScene_c {
8public:
9 enum Exit_e {
10 EXIT_0,
11 EXIT_1,
12 EXIT_2,
13 EXIT_3
14 };
15
16 /// @brief The possible stage loop types.
18 LOOP_NONE, ///< No stage looping occurs.
19 LOOP_EDGES, ///< The stage loops around on the zone edges. Only works for specific zone sizes.
20 LOOP_SECTION, ///< The stage loops in specific sections.
21 LOOP_COUNT,
22 };
23
24 static void play();
25
26 typedef void (*changePosFunc)(mVec3_c *);
27 static void setChangePosFunc(int);
28
29 static void setTitleReplayRandomTable();
30
31 static void createReplayDataHeap(EGG::Heap *heap, ulong size, int options);
32
33 char pad[0x1198];
34 u8 mCurrWorld;
35 u8 mCurrCourse;
36 u8 mCurrFile;
37 u8 mCurrArea;
38
39 u8 getCurrWorld() const { return mCurrWorld; }
40 u8 getCurrArea() const { return mCurrArea; }
41
42 static dScStage_c *getInstance() { return m_instance; }
43 static float getLoopPosX(float x);
44 static u32 m_exeFrame;
45 static int m_loopType;
46 static PLAYER_TYPE_e mCollectionCoin[STAR_COIN_COUNT];
47
48 static const char mCdArcName[];
49
50 static bool m_isCourseOut; ///< Whether the game is transitioning from a stage scene to a non-stage scene.
51 static bool m_KoopaJrEscape;
52 static dInfo_c::GameMode_e m_gameMode;
53 static Exit_e m_exitMode;
54
55 static changePosFunc changePos;
56 static dScStage_c *m_instance;
57
58 ACTOR_PARAM_CONFIG(File, 8, 4);
59 ACTOR_PARAM_CONFIG(NextGotoID, 0, 8);
60};
LOOP_TYPE_e
The possible stage loop types.
Definition d_s_stage.hpp:17
@ LOOP_NONE
No stage looping occurs.
Definition d_s_stage.hpp:18
@ LOOP_SECTION
The stage loops in specific sections.
Definition d_s_stage.hpp:20
@ LOOP_EDGES
The stage loops around on the zone edges. Only works for specific zone sizes.
Definition d_s_stage.hpp:19
static bool m_isCourseOut
Whether the game is transitioning from a stage scene to a non-stage scene.
Definition d_s_stage.hpp:50
dScene_c()
Creates a new scene.
Definition d_scene.cpp:23
A three-dimensional floating point vector.
Definition m_vec.hpp:112
PLAYER_TYPE_e
The identifiers for each player type.
#define STAR_COIN_COUNT
The amount of Star Coins per level.