Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
Z2SceneMgr.h
Go to the documentation of this file.
1#ifndef Z2SCENEMGR_H
2#define Z2SCENEMGR_H
3
6
7s8 dComIfGp_getReverb(int roomNo);
8
9class Z2SceneMgr : public JASGlobalInstance<Z2SceneMgr> {
10public:
11 Z2SceneMgr();
12 void setInDarkness(bool);
13 void setSceneExist(bool);
14 void setFadeOutStart(u8);
15 void setFadeInStart(u8);
16 void setSceneName(char*, s32, s32);
17 void sceneChange(JAISoundID, u8, u8, u8, u8, u8, bool);
18 void framework();
19 void load1stDynamicWave();
23 void load2ndDynamicWave();
24 void sceneBgmStart();
25 void loadStaticWaves();
27 bool eraseSeWave(u32);
28 bool eraseBgmWave(u32);
30 bool loadSeWave(u32);
31 bool loadBgmWave(u32);
32
33 bool isSceneExist() const { return sceneExist; }
34 int getCurrentSceneNum() const { return sceneNum; }
36 bool isInGame() const { return inGame; }
38 bool isInDarkness() const { return inDarkness; }
40 bool isMovieDemo() { return sceneNum == 2 || sceneNum == 8 || sceneNum == 9; }
43
44private:
45 /* 0x00 */ JAISoundID BGM_ID;
46 /* 0x04 */ int sceneNum;
47 /* 0x08 */ int timer;
48 /* 0x0C */ s8 roomNum;
49 /* 0x0D */ u8 requestSeWave_1;
50 /* 0x0E */ u8 loadedSeWave_1;
51 /* 0x0F */ u8 requestSeWave_2;
52 /* 0x10 */ u8 loadedSeWave_2;
53 /* 0x11 */ u8 requestBgmWave_1;
54 /* 0x12 */ u8 loadedBgmWave_1;
55 /* 0x13 */ u8 requestBgmWave_2;
56 /* 0x14 */ u8 loadedBgmWave_2;
57 /* 0x15 */ u8 requestDemoWave;
58 /* 0x16 */ u8 loadedDemoWave;
59 /* 0x17 */ s8 load1stWait;
60 /* 0x18 */ u8 field_0x18;
61 /* 0x19 */ u8 field_0x19;
62 /* 0x1A */ bool field_0x1a;
63 /* 0x1B */ bool field_0x1b;
64 /* 0x1C */ bool inGame;
65 /* 0x1D */ bool sceneExist;
66 /* 0x1E */ bool inDarkness;
67}; // Size = 0x20
68
72
73enum Spot { // aka scene
74 /* 0x00 */ SPOT_ORDON_RANCH,
79 /* 0x05 */ SPOT_FARON_WOODS,
80 /* 0x06 */ SPOT_CORO_SHOP,
86 /* 0x0C */ SPOT_SUMO_HALL,
89 /* 0x0F */ SPOT_IMPAZ_HOUSE,
90 /* 0x10 */ SPOT_LAKE_HYLIA,
91 /* 0x11 */ SPOT_ZORAS_RIVER,
94 /* 0x14 */ SPOT_HENA_CABIN,
96 /* 0x16 */ SPOT_CASTLE_TOWN,
99 /* 0x19 */ SPOT_STAR_TENT,
100 /* 0x1A */ SPOT_SNOWPEAK,
109 /* 0x23 */ SPOT_NONE,
112 /* 0x26 */ SPOT_ENEMY_TEST,
113 /* 0x27 */ SPOT_FORTRESS,
155};
156
157#endif /* Z2SCENEMGR_H */
s8 dComIfGp_getReverb(int roomNo)
Definition d_com_inf_game.cpp:1106
Spot
Definition Z2SceneMgr.h:73
@ SPOT_LAKE_LANTERN_CAVE
Definition Z2SceneMgr.h:147
@ SPOT_SNOWPEAK
Definition Z2SceneMgr.h:100
@ SPOT_CASTLE_TOWN_GATES
Definition Z2SceneMgr.h:105
@ SPOT_ENEMY_TEST
Definition Z2SceneMgr.h:112
@ SPOT_GERUDO_DESERT
Definition Z2SceneMgr.h:102
@ SPOT_NONE
Definition Z2SceneMgr.h:109
@ SPOT_KAKARIKO_VILLAGE
Definition Z2SceneMgr.h:82
@ SPOT_PALACE_OF_TWILIGHT
Definition Z2SceneMgr.h:135
@ SPOT_ICE_BLOCK_PUZZLE
Definition Z2SceneMgr.h:144
@ SPOT_FARON_WOODS
Definition Z2SceneMgr.h:79
@ SPOT_KAKARIKO_INTERIOR
Definition Z2SceneMgr.h:83
@ SPOT_FOREST_TEMPLE_MINIBOSS
Definition Z2SceneMgr.h:115
@ SPOT_DEATH_MOUNTAIN
Definition Z2SceneMgr.h:85
@ SPOT_GROTTO_GRASS_2
Definition Z2SceneMgr.h:150
@ SPOT_LIGHT_SPIRIT_CHAMBER
Definition Z2SceneMgr.h:110
@ SPOT_HYLIA_BRIDGE_BATTLE
Definition Z2SceneMgr.h:106
@ SPOT_ZORAS_RIVER
Definition Z2SceneMgr.h:91
@ SPOT_MIRROR_CHAMBER
Definition Z2SceneMgr.h:103
@ SPOT_TEMPLE_OF_TIME_BOSS
Definition Z2SceneMgr.h:131
@ SPOT_GORON_MINES
Definition Z2SceneMgr.h:117
@ SPOT_CITY_IN_THE_SKY_BOSS
Definition Z2SceneMgr.h:134
@ SPOT_SNOWPEAK_RUINS_BOSS
Definition Z2SceneMgr.h:128
@ SPOT_UPPER_ZORAS_RIVER
Definition Z2SceneMgr.h:92
@ SPOT_TEMPLE_OF_TIME_MINIBOSS
Definition Z2SceneMgr.h:130
@ SPOT_IMPAZ_HOUSE
Definition Z2SceneMgr.h:89
@ SPOT_FOREST_TEMPLE_BOSS
Definition Z2SceneMgr.h:116
@ SPOT_LAKEBED_TEMPLE
Definition Z2SceneMgr.h:120
@ SPOT_SANCTUARY_BASEMENT
Definition Z2SceneMgr.h:84
@ SPOT_SHADES_REALM
Definition Z2SceneMgr.h:107
@ SPOT_FISHING_POND
Definition Z2SceneMgr.h:93
@ SPOT_GORON_MINES_MINIBOSS
Definition Z2SceneMgr.h:118
@ SPOT_GROTTO_POND
Definition Z2SceneMgr.h:153
@ SPOT_PALACE_OF_TWILIGHT_MINIBOSS_B
Definition Z2SceneMgr.h:137
@ SPOT_GORGE_LANTERN_CAVE
Definition Z2SceneMgr.h:146
@ SPOT_CITY_IN_THE_SKY_MINIBOSS
Definition Z2SceneMgr.h:133
@ SPOT_HYRULE_CASTLE
Definition Z2SceneMgr.h:140
@ SPOT_FARON_WOODS_CAVE
Definition Z2SceneMgr.h:154
@ SPOT_TWILIGHT_HYRULE_CASTLE
Definition Z2SceneMgr.h:78
@ SPOT_TEMPLE_OF_TIME
Definition Z2SceneMgr.h:129
@ SPOT_HIDDEN_VILLAGE
Definition Z2SceneMgr.h:88
@ SPOT_ORDON_SPRING
Definition Z2SceneMgr.h:77
@ SPOT_ORDON_VILLAGE
Definition Z2SceneMgr.h:75
@ SPOT_SUMO_HALL
Definition Z2SceneMgr.h:86
@ SPOT_CASTLE_THRONE_ROOM
Definition Z2SceneMgr.h:111
@ SPOT_ZORAS_DOMAIN
Definition Z2SceneMgr.h:95
@ SPOT_FINAL_BATTLE_THRONE_ROOM
Definition Z2SceneMgr.h:141
@ SPOT_CAVE_OF_ORDEALS
Definition Z2SceneMgr.h:145
@ SPOT_CASTLE_TOWN_INTERIOR
Definition Z2SceneMgr.h:97
@ SPOT_GROTTO_ROCK_1
Definition Z2SceneMgr.h:151
@ SPOT_FINAL_BATTLE_CUTSCENE
Definition Z2SceneMgr.h:143
@ SPOT_FOREST_TEMPLE
Definition Z2SceneMgr.h:114
@ SPOT_CITY_IN_THE_SKY
Definition Z2SceneMgr.h:132
@ SPOT_LAKEBED_TEMPLE_MINIBOSS
Definition Z2SceneMgr.h:121
@ SPOT_PALACE_OF_TWILIGHT_BOSS
Definition Z2SceneMgr.h:139
@ SPOT_FORTRESS
Definition Z2SceneMgr.h:113
@ SPOT_CASTLE_TOWN_SHOPS
Definition Z2SceneMgr.h:98
@ SPOT_PALACE_OF_TWILIGHT_MINIBOSS_A
Definition Z2SceneMgr.h:136
@ SPOT_PALACE_OF_TWILIGHT_THRONE_ROOM
Definition Z2SceneMgr.h:138
@ SPOT_ELDIN_MAGNET_CAVE
Definition Z2SceneMgr.h:148
@ SPOT_KAKARIKO_GRAVEYARD
Definition Z2SceneMgr.h:87
@ SPOT_ELDIN_BRIDGE_BATTLE
Definition Z2SceneMgr.h:108
@ SPOT_SACRED_GROVE
Definition Z2SceneMgr.h:81
@ SPOT_CASTLE_TOWN
Definition Z2SceneMgr.h:96
@ SPOT_ORDON_INTERIOR
Definition Z2SceneMgr.h:76
@ SPOT_SNOWPEAK_RUINS
Definition Z2SceneMgr.h:126
@ SPOT_ORDON_RANCH
Definition Z2SceneMgr.h:74
@ SPOT_HYRULE_FIELD
Definition Z2SceneMgr.h:104
@ SPOT_CORO_SHOP
Definition Z2SceneMgr.h:80
@ SPOT_ARBITERS_GROUNDS_BOSS
Definition Z2SceneMgr.h:125
@ SPOT_FINAL_BATTLE_FIELD
Definition Z2SceneMgr.h:142
@ SPOT_LAKEBED_TEMPLE_BOSS
Definition Z2SceneMgr.h:122
@ SPOT_ARBITERS_GROUNDS_EXTERIOR
Definition Z2SceneMgr.h:101
@ SPOT_GROTTO_ROCK_2
Definition Z2SceneMgr.h:152
@ SPOT_GORON_MINES_BOSS
Definition Z2SceneMgr.h:119
@ SPOT_HENA_CABIN
Definition Z2SceneMgr.h:94
@ SPOT_LAKE_HYLIA
Definition Z2SceneMgr.h:90
@ SPOT_ARBITERS_GROUNDS_MINIBOSS
Definition Z2SceneMgr.h:124
@ SPOT_ARBITERS_GROUNDS
Definition Z2SceneMgr.h:123
@ SPOT_SNOWPEAK_RUINS_MINIBOSS
Definition Z2SceneMgr.h:127
@ SPOT_STAR_TENT
Definition Z2SceneMgr.h:99
@ SPOT_GROTTO_GRASS_1
Definition Z2SceneMgr.h:149
Z2SceneMgr * Z2GetSceneMgr()
Definition Z2SceneMgr.h:69
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition JASGadget.h:12
static T * getInstance()
Definition JASGadget.h:31
Definition Z2SceneMgr.h:9
bool check1stDynamicWave()
Definition Z2SceneMgr.cpp:1911
bool inGame
Definition Z2SceneMgr.h:64
void sceneChange(JAISoundID, u8, u8, u8, u8, u8, bool)
Definition Z2SceneMgr.cpp:1772
u8 loadedSeWave_2
Definition Z2SceneMgr.h:52
s32 getWaveLoadStatus(u32, u32)
Definition Z2SceneMgr.cpp:2085
void load1stDynamicWave()
Definition Z2SceneMgr.cpp:1829
s8 roomNum
Definition Z2SceneMgr.h:48
u8 field_0x18
Definition Z2SceneMgr.h:60
void loadStaticWaves()
Definition Z2SceneMgr.cpp:2047
bool field_0x1a
Definition Z2SceneMgr.h:62
Z2SceneMgr()
Definition Z2SceneMgr.cpp:19
s32 getSeLoadStatus(u32 wave)
Definition Z2SceneMgr.h:41
s8 getCurrentRoomNum()
Definition Z2SceneMgr.h:35
JAISoundID BGM_ID
Definition Z2SceneMgr.h:45
int getCurrentSceneNum() const
Definition Z2SceneMgr.h:34
u8 loadedBgmWave_2
Definition Z2SceneMgr.h:56
bool loadSeWave(u32)
Definition Z2SceneMgr.cpp:2097
void setFadeOutStart(u8)
Definition Z2SceneMgr.cpp:158
s32 getBgmLoadStatus(u32 wave)
Definition Z2SceneMgr.h:42
void framework()
Definition Z2SceneMgr.cpp:1802
int timer
Definition Z2SceneMgr.h:47
bool inDarkness
Definition Z2SceneMgr.h:66
bool eraseSeWave(u32)
Definition Z2SceneMgr.cpp:2061
void setInDarkness(bool)
Definition Z2SceneMgr.cpp:44
bool isMovieDemo()
Definition Z2SceneMgr.h:40
u8 requestSeWave_2
Definition Z2SceneMgr.h:51
void load2ndDynamicWave()
Definition Z2SceneMgr.cpp:1918
u8 requestDemoWave
Definition Z2SceneMgr.h:57
s8 getRoomReverb() const
Definition Z2SceneMgr.h:39
void setSceneExist(bool)
Definition Z2SceneMgr.cpp:136
u8 field_0x19
Definition Z2SceneMgr.h:61
u8 loadedBgmWave_1
Definition Z2SceneMgr.h:54
bool eraseBgmWave(u32)
Definition Z2SceneMgr.cpp:2073
bool loadBgmWave(u32)
Definition Z2SceneMgr.cpp:2109
void setFadeInStart(u8)
Definition Z2SceneMgr.cpp:168
bool isInDarkness() const
Definition Z2SceneMgr.h:38
bool isSceneExist() const
Definition Z2SceneMgr.h:33
void setSceneName(char *, s32, s32)
Definition Z2SceneMgr.cpp:191
BOOL checkFirstWaves()
Definition Z2SceneMgr.cpp:2056
bool sceneExist
Definition Z2SceneMgr.h:65
bool field_0x1b
Definition Z2SceneMgr.h:63
u8 requestBgmWave_2
Definition Z2SceneMgr.h:55
u8 loadedDemoWave
Definition Z2SceneMgr.h:58
u8 requestSeWave_1
Definition Z2SceneMgr.h:49
void setInGame(bool i_inGame)
Definition Z2SceneMgr.h:37
void sceneBgmStart()
Definition Z2SceneMgr.cpp:1958
s8 load1stWait
Definition Z2SceneMgr.h:59
void _load1stWaveInner_1()
Definition Z2SceneMgr.cpp:1840
bool isInGame() const
Definition Z2SceneMgr.h:36
int sceneNum
Definition Z2SceneMgr.h:46
u8 requestBgmWave_1
Definition Z2SceneMgr.h:53
u8 loadedSeWave_1
Definition Z2SceneMgr.h:50
void _load1stWaveInner_2()
Definition Z2SceneMgr.cpp:1888
static SECTION_RODATA u8 const wave[16]
Definition d_camera.cpp:4537
Definition d_a_obj_sekizoa.cpp:447
int BOOL
Definition types.h:27
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:10
signed long s32
Definition types.h:6
unsigned char u8
Definition types.h:8