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/mLib/m_vec.hpp>
5
6class dScStage_c : public dScene_c {
7public:
8
9 /// @brief The possible stage loop types.
11 LOOP_NONE, ///< No stage looping occurs.
12 LOOP_EDGES, ///< The stage loops around on the zone edges. Only works for specific zone sizes.
13 LOOP_SECTION, ///< The stage loops in specific sections.
14 LOOP_COUNT,
15 };
16
17 char pad[0x1198];
18 u8 mCurrWorld;
19 u8 mCurrCourse;
20 u8 mCurrFile;
21 u8 mCurrArea;
22
23 u8 getCurrArea() const { return mCurrArea; }
24
25 static dScStage_c *getInstance() { return m_instance; }
26 static float getLoopPosX(float x);
27 static u32 m_exeFrame;
28 static int m_loopType;
29 static PLAYER_TYPE_e mCollectionCoin[STAR_COIN_COUNT];
30
31 static const char mCdArcName[];
32
33 static bool m_isCourseOut; ///< Whether the game is transitioning from a stage scene to a non-stage scene.
34 static bool m_KoopaJrEscape;
35
36 typedef void (*changePosFunc)(mVec3_c *);
37 static void setChangePosFunc(int);
38
39 static void setTitleReplayRandomTable();
40
41 static changePosFunc changePos;
42 static dScStage_c *m_instance;
43};
LOOP_TYPE_e
The possible stage loop types.
Definition d_s_stage.hpp:10
@ LOOP_NONE
No stage looping occurs.
Definition d_s_stage.hpp:11
@ LOOP_SECTION
The stage loops in specific sections.
Definition d_s_stage.hpp:13
@ LOOP_EDGES
The stage loops around on the zone edges. Only works for specific zone sizes.
Definition d_s_stage.hpp:12
static bool m_isCourseOut
Whether the game is transitioning from a stage scene to a non-stage scene.
Definition d_s_stage.hpp:33
dScene_c()
Creates a new scene.
Definition d_scene.cpp:23
A three-dimensional floating point vector.
Definition m_vec.hpp:107
PLAYER_TYPE_e
The identifiers for each player type.
#define STAR_COIN_COUNT
The amount of Star Coins per level.