NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
d_info.hpp
1#pragma once
2#include <types.h>
3#include <game/bases/d_cyuukan.hpp>
4#include <game/mLib/m_vec.hpp>
6
7class dInfo_c {
8public:
9 /// @unofficial
11 GAME_MODE_NORMAL,
12 GAME_MODE_SUPER_GUIDE,
13 GAME_MODE_TITLE,
14 GAME_MODE_TITLE_REPLAY,
15 GAME_MODE_HINT_MOVIE
16 };
17
19 u32 mReplayDuration;
20 u8 mMovieType;
21 u8 mEntrance;
22 u8 mArea;
23 bool mIsReplay;
24 GameMode_e mGameMode;
25 u8 mWorld1;
26 u8 mLevel1;
27 u8 mWorld2;
28 u8 mLevel2;
29 };
30
31 /// @unofficial
32 /// @todo Fill out this enum.
34 GAME_FLAG_DISABLE_ACTOR_CREATE = BIT_FLAG(0), ///< Disables map actor creation.
35 GAME_FLAG_MULTIPLAYER_MODE = BIT_FLAG(4), ///< Whether the game is in a multiplayer mode.
36 GAME_FLAG_IS_FREE_MODE = BIT_FLAG(5), ///< Whether the game is in Free Mode.
37 GAME_FLAG_IS_COIN_BATTLE = BIT_FLAG(6), ///< Whether the game is in Coin Battle mode.
38 GAME_FLAG_AUTO_SKIP = BIT_FLAG(19), ///< Whether to automatically skip the Wii strap and controller information screens.
39 };
40
41 struct enemy_s {
42 int mSubworld;
43 int mPathIndex;
44 PATH_DIRECTION_e mWalkDirection;
45 bool m_0c;
46 };
47
48 dInfo_c();
49
50 void GetMapEnemyInfo(int, int, enemy_s &);
51 void SetMapEnemyInfo(int, int, int, int);
52 void FUN_800bbc40(int, int, int);
53
54 u8 getCourse() const { return m_startGameInfo.mLevel1; }
55 u8 getWorld() const { return m_startGameInfo.mWorld1; }
56 dCyuukan_c *getCyuukan() { return &mCyuukan; }
57
58 static dInfo_c *getInstance() { return m_instance; }
59
60 char pad1[0x8];
61 dCyuukan_c mCyuukan;
62 int mCurrentCourseWorld;
63 int mCurrentCourseNo;
64 int mCurrentCourseNode;
65 char pad2[0xc];
66 int m_54;
67 u8 pad3[0x14];
68 bool m_6c;
69 u8 pad4[0x2c];
70 int m_9c;
71 u8 pad5[0x2e4];
72 int mCharIDs[4];
73 bool mIsWorldSelect; ///< Whether the World Select Menu is being displayed.
74 u8 pad6[0x1e];
75 bool mClearCyuukan; ///< Clear the checkpoint data if this is @p true. [Used for the backdoor entrance of 7-C]
76 int mDisplayCourseWorld;
77 int mDisplayCourseNum;
78 u8 pad7[0x14];
79 int mTextBoxMessageGroup;
80 int mTextBoxMessageID;
81 u8 pad8[0x1];
82 bool mExtensionAttached;
83 u8 m_3da;
84 u8 pad9[0x7];
85 int mCourseSelectPageNum;
86 int mCourseSelectIndexInPage;
87 u8 pad10[0x712];
88 bool mFukidashiActionPerformed[4][0x16];
89 u32 pad11;
90
91 static dInfo_c *m_instance;
92 static unsigned int mGameFlag; ///< See GAME_FLAG_e
93 static StartGameInfo_s m_startGameInfo;
94};
bool mClearCyuukan
Clear the checkpoint data if this is true. [Used for the backdoor entrance of 7-C].
Definition d_info.hpp:75
static unsigned int mGameFlag
See GAME_FLAG_e.
Definition d_info.hpp:92
GAME_FLAG_e
Definition d_info.hpp:33
@ GAME_FLAG_MULTIPLAYER_MODE
Whether the game is in a multiplayer mode.
Definition d_info.hpp:35
@ GAME_FLAG_IS_COIN_BATTLE
Whether the game is in Coin Battle mode.
Definition d_info.hpp:37
@ GAME_FLAG_AUTO_SKIP
Whether to automatically skip the Wii strap and controller information screens.
Definition d_info.hpp:38
@ GAME_FLAG_IS_FREE_MODE
Whether the game is in Free Mode.
Definition d_info.hpp:36
@ GAME_FLAG_DISABLE_ACTOR_CREATE
Disables map actor creation.
Definition d_info.hpp:34
bool mIsWorldSelect
Whether the World Select Menu is being displayed.
Definition d_info.hpp:73