Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
Z2EnvSeMgr.h
Go to the documentation of this file.
1#ifndef Z2ENVSEMGR_H
2#define Z2ENVSEMGR_H
3
4#include "Z2AudioLib/Z2Calc.h"
6
13
15 Z2EnvSeBase(Vec* posPtr = NULL);
17 bool startEnvSe(JAISoundID soundID, f32 fxMix, f32 volume, f32 pan, f32 dolby, f32 pitch, u32 moveSteps);
18 bool startEnvSeLevel(JAISoundID soundID, f32 fxMix, f32 volume, f32 pan, f32 dolby, f32 pitch, u32 moveSteps);
19
21 void setPos(Vec* pos) { mPos = pos; }
22
23 /* 0x0 */ Vec* mPos;
25}; // Size: 0x8
26
27struct Z2EnvSeAutoPan : public Z2EnvSeBase {
30 void setPanParam(f32 pan, f32 dolby, bool, bool, f32, f32);
31 void calcPan();
32 bool startEnvSeAutoPanLevel(JAISoundID soundID, f32 fxMix, f32 volume, f32 pitch);
33
34 /* 0x08 */ f32 mPan;
35 /* 0x0C */ f32 mDolby;
36 /* 0x10 */ f32 field_0x10;
37 /* 0x14 */ f32 field_0x14;
38 /* 0x18 */ bool field_0x18;
39 /* 0x19 */ bool field_0x19;
40}; // Size: 0x1C
41
42struct Z2EnvSeDir : public Z2EnvSeBase {
43 Z2EnvSeDir(Vec* dir = NULL);
45 void setPanDir(Vec* dir);
46 void calcPan(f32);
47 bool startEnvSeDirLevel(JAISoundID soundID, f32 fxMix, f32 volume);
48
49 /* 0x08 */ f32 mPan;
50 /* 0x0C */ f32 mDolby;
51 /* 0x10 */ Vec mPanDir;
52}; // Size: 0x1C
53
54struct Z2EnvSeMgr : public JASGlobalInstance<Z2EnvSeMgr> {
55 Z2EnvSeMgr();
57 void framework();
58 void resetScene();
59 void resetSceneInner();
60 void initSceneEnvSe(s32 sceneID, s8 room, f32);
61 void playSceneEnvSe();
62 void initStaticEnvSe(u8, u8, u8, u8, Vec*);
63 bool startStaticEnvSe(s8 reverb);
64 void registWindowPos(Vec* posPtr);
65 bool startRainSe(s32, s8);
66 void startNearThunderSe(s8 reverb);
67 void startFarThunderSe(Vec* posPtr, s8 reverb);
68 void setSnowPower(s8 reverb);
69 void initStrongWindSe();
70 void setWindDirection(Vec* dir);
71 bool startStrongWindSe(s8 reverb);
72 void initRiverSe(u8, u8, u8, u8);
73 void registRiverSePos(Vec* posPtr);
74 void setHyrulSewerOpen(bool isSewerOpen);
75 bool startRiverSe(s8 reverb);
76 void initFallSe(u8, u8, u8, u8);
77 void registFallSePos(Vec* posPtr);
78 bool startFallSe(s8 reverb);
79 void initEtcSe(u8, u8, u8, u8);
80 void registEtcSePos(Vec* posPtr);
81 bool startEtcSe(s8 reverb);
82 void registWolfSmellSePos(Vec* posPtr);
83 void startFogWipeTrigger(Vec* pos);
84 void setFogWipeWidth(f32 width);
86 bool startFogSe();
87 void initLv3WaterSe(u8, u8, u8, u8);
88 void registLv3WaterSePos(u8, Vec* posPtr);
89 void startLv3WaterSe(s8 reverb);
90
91 void setWindType(u8 type) { mWindType = type; }
92 void registSmellSePos(Vec* posPtr) { registEtcSePos(posPtr); }
93 void startSmellSe(s8 reverb) { startEtcSe(reverb); }
94 void initSmellSe(u8 param_0, u8 param_1, u8 param_2, u8 param_3) {
95 initEtcSe(param_0, param_1, param_2, param_3);
96 }
97
100 /* 0x038 */ u8 field_0x38;
101 /* 0x039 */ u8 field_0x39;
102 /* 0x03C */ Vec field_0x3c;
103 /* 0x048 */ f32 field_0x48;
104 /* 0x04C */ f32 field_0x4c;
105 /* 0x050 */ f32 field_0x50;
106 /* 0x054 */ f32 field_0x54;
107 /* 0x058 */ f32 field_0x58;
108 /* 0x05C */ f32 field_0x5c;
109 /* 0x060 */ f32 field_0x60;
125 /* 0x140 */ s8 field_0x140;
126 /* 0x141 */ s8 mSnowPower;
128 /* 0x160 */ u8 mWindType;
131 /* 0x188 */ u8 field_0x188;
134 /* 0x1AC */ f32 field_0x1ac;
135 /* 0x1B0 */ f32 field_0x1b0;
136 /* 0x1B4 */ f32 field_0x1b4;
137 /* 0x1B8 */ s8 field_0x1b8;
140 /* 0x1E0 */ u8 field_0x1e0;
141 /* 0x1E4 */ f32 field_0x1e4;
142 /* 0x1E8 */ f32 field_0x1e8;
143 /* 0x1EC */ f32 field_0x1ec;
146 /* 0x214 */ u8 field_0x214;
147 /* 0x218 */ f32 field_0x218;
148 /* 0x21C */ f32 field_0x21c;
149 /* 0x220 */ f32 field_0x220;
152 /* 0x248 */ u8 field_0x248;
153 /* 0x24C */ f32 field_0x24c;
154 /* 0x250 */ f32 field_0x250;
155 /* 0x254 */ f32 field_0x254;
158 /* 0x27C */ u8 field_0x27c;
159 /* 0x280 */ f32 field_0x280;
160 /* 0x284 */ f32 field_0x284;
161 /* 0x288 */ f32 field_0x288;
164 /* 0x2B0 */ u8 field_0x2b0;
165 /* 0x2B4 */ f32 field_0x2b4;
166 /* 0x2B8 */ f32 field_0x2b8;
167 /* 0x2BC */ f32 field_0x2bc;
170 /* 0x2E4 */ u8 field_0x2e4;
173 /* 0x308 */ f32 mFogDensity;
174}; // Size: 0x30C
175
176STATIC_ASSERT(sizeof(Z2EnvSeMgr) == 0x30C);
177
179
183
184#endif /* Z2ENVSEMGR_H */
Z2EnvSeMgr * Z2GetEnvSeMgr()
Definition Z2EnvSeMgr.h:180
STATIC_ASSERT(sizeof(Z2EnvSeMgr)==0x30C)
WindType
Definition Z2EnvSeMgr.h:7
@ WIND_TYPE_1
Definition Z2EnvSeMgr.h:9
@ WIND_TYPE_3
Definition Z2EnvSeMgr.h:11
@ WIND_TYPE_0
Definition Z2EnvSeMgr.h:8
@ WIND_TYPE_2
Definition Z2EnvSeMgr.h:10
Z2EnvSeMgr g_mEnvSeMgr
Definition d_kankyo.cpp:111
Definition JAISoundHandles.h:14
Definition JAISound.h:13
Definition JASGadget.h:12
static T * getInstance()
Definition JASGadget.h:31
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition mtx.h:13
Definition Z2Calc.h:22
Definition Z2EnvSeMgr.h:27
void calcPan()
Definition Z2EnvSeMgr.cpp:224
Z2EnvSeAutoPan()
Definition Z2EnvSeMgr.cpp:203
f32 mDolby
Definition Z2EnvSeMgr.h:35
f32 field_0x10
Definition Z2EnvSeMgr.h:36
f32 mPan
Definition Z2EnvSeMgr.h:34
bool field_0x19
Definition Z2EnvSeMgr.h:39
f32 field_0x14
Definition Z2EnvSeMgr.h:37
void setPanParam(f32 pan, f32 dolby, bool, bool, f32, f32)
Definition Z2EnvSeMgr.cpp:214
bool startEnvSeAutoPanLevel(JAISoundID soundID, f32 fxMix, f32 volume, f32 pitch)
Definition Z2EnvSeMgr.cpp:259
~Z2EnvSeAutoPan()
Definition Z2EnvSeMgr.cpp:212
bool field_0x18
Definition Z2EnvSeMgr.h:38
Definition Z2EnvSeMgr.h:14
JAISoundHandle * getHandle()
Definition Z2EnvSeMgr.h:20
bool startEnvSeLevel(JAISoundID soundID, f32 fxMix, f32 volume, f32 pan, f32 dolby, f32 pitch, u32 moveSteps)
Definition Z2EnvSeMgr.cpp:126
JAISoundHandle mHandle
Definition Z2EnvSeMgr.h:24
~Z2EnvSeBase()
Definition Z2EnvSeMgr.cpp:97
void setPos(Vec *pos)
Definition Z2EnvSeMgr.h:21
Vec * mPos
Definition Z2EnvSeMgr.h:23
Z2EnvSeBase(Vec *posPtr=NULL)
Definition Z2EnvSeMgr.cpp:93
bool startEnvSe(JAISoundID soundID, f32 fxMix, f32 volume, f32 pan, f32 dolby, f32 pitch, u32 moveSteps)
Definition Z2EnvSeMgr.cpp:99
Definition Z2EnvSeMgr.h:42
Vec mPanDir
Definition Z2EnvSeMgr.h:51
f32 mDolby
Definition Z2EnvSeMgr.h:50
void setPanDir(Vec *dir)
Definition Z2EnvSeMgr.cpp:173
bool startEnvSeDirLevel(JAISoundID soundID, f32 fxMix, f32 volume)
Definition Z2EnvSeMgr.cpp:198
Z2EnvSeDir(Vec *dir=NULL)
Definition Z2EnvSeMgr.cpp:160
~Z2EnvSeDir()
Definition Z2EnvSeMgr.cpp:171
f32 mPan
Definition Z2EnvSeMgr.h:49
void calcPan(f32)
Definition Z2EnvSeMgr.cpp:180
Definition Z2EnvSeMgr.h:54
Z2EnvSeBase field_0x88
Definition Z2EnvSeMgr.h:112
f32 field_0x4c
Definition Z2EnvSeMgr.h:104
void registRiverSePos(Vec *posPtr)
Definition Z2EnvSeMgr.cpp:1020
Z2EnvSeAutoPan field_0x0
Definition Z2EnvSeMgr.h:98
void registEtcSePos(Vec *posPtr)
Definition Z2EnvSeMgr.cpp:1269
void setFogWipeWidth(f32 width)
Definition Z2EnvSeMgr.cpp:1403
Z2Calc::FNoise1f field_0x18c
Definition Z2EnvSeMgr.h:132
void initLv3WaterSe(u8, u8, u8, u8)
Definition Z2EnvSeMgr.cpp:1438
f32 field_0x2b8
Definition Z2EnvSeMgr.h:166
Z2Calc::FNoise1f field_0xa0
Definition Z2EnvSeMgr.h:114
Z2EnvSeBase field_0x80
Definition Z2EnvSeMgr.h:111
f32 field_0x280
Definition Z2EnvSeMgr.h:159
u8 field_0x38
Definition Z2EnvSeMgr.h:100
void registWindowPos(Vec *posPtr)
Definition Z2EnvSeMgr.cpp:830
Z2EnvSeBase field_0x20c
Definition Z2EnvSeMgr.h:145
Z2EnvSeMgr()
Definition Z2EnvSeMgr.cpp:265
void initRiverSe(u8, u8, u8, u8)
Definition Z2EnvSeMgr.cpp:984
void framework()
Definition Z2EnvSeMgr.cpp:301
~Z2EnvSeMgr()
Definition Z2EnvSeMgr.cpp:299
u8 field_0x39
Definition Z2EnvSeMgr.h:101
f32 field_0x250
Definition Z2EnvSeMgr.h:154
Z2Calc::FNoise1f field_0x120
Definition Z2EnvSeMgr.h:123
Z2EnvSeDir field_0x144
Definition Z2EnvSeMgr.h:127
Z2EnvSeBase field_0x180
Definition Z2EnvSeMgr.h:130
void startLv3WaterSe(s8 reverb)
Definition Z2EnvSeMgr.cpp:1830
Z2EnvSeBase field_0x1d8
Definition Z2EnvSeMgr.h:139
void registSmellSePos(Vec *posPtr)
Definition Z2EnvSeMgr.h:92
Z2Calc::FNoise1f field_0xc0
Definition Z2EnvSeMgr.h:116
u8 field_0x188
Definition Z2EnvSeMgr.h:131
void initSceneEnvSe(s32 sceneID, s8 room, f32)
Definition Z2EnvSeMgr.cpp:433
s8 field_0x140
Definition Z2EnvSeMgr.h:125
void resetScene()
Definition Z2EnvSeMgr.cpp:378
f32 field_0x2bc
Definition Z2EnvSeMgr.h:167
f32 field_0x1e8
Definition Z2EnvSeMgr.h:142
Z2MultiSeMgr mRiverSeMgr
Definition Z2EnvSeMgr.h:129
f32 field_0x254
Definition Z2EnvSeMgr.h:155
Z2MultiSeMgr field_0x258
Definition Z2EnvSeMgr.h:156
void initStrongWindSe()
Definition Z2EnvSeMgr.cpp:950
Z2Calc::FNoise1f field_0x100
Definition Z2EnvSeMgr.h:120
f32 field_0x220
Definition Z2EnvSeMgr.h:149
bool startRainSe(s32, s8)
Definition Z2EnvSeMgr.cpp:834
Z2MultiSeMgr field_0x64
Definition Z2EnvSeMgr.h:110
Z2EnvSeBase field_0x2dc
Definition Z2EnvSeMgr.h:169
void resetSceneInner()
Definition Z2EnvSeMgr.cpp:380
Z2EnvSeAutoPan field_0x1c
Definition Z2EnvSeMgr.h:99
Z2EnvSeBase field_0x110
Definition Z2EnvSeMgr.h:121
void setHyrulSewerOpen(bool isSewerOpen)
Definition Z2EnvSeMgr.cpp:1031
void initSmellSe(u8 param_0, u8 param_1, u8 param_2, u8 param_3)
Definition Z2EnvSeMgr.h:94
f32 field_0x218
Definition Z2EnvSeMgr.h:147
Z2EnvSeBase field_0x240
Definition Z2EnvSeMgr.h:151
bool startFogSe()
Definition Z2EnvSeMgr.cpp:1415
bool startEtcSe(s8 reverb)
Definition Z2EnvSeMgr.cpp:1273
void registWolfSmellSePos(Vec *posPtr)
Definition Z2EnvSeMgr.cpp:1387
Z2Calc::FNoise1f field_0xe0
Definition Z2EnvSeMgr.h:118
f32 field_0x2b4
Definition Z2EnvSeMgr.h:165
f32 field_0x60
Definition Z2EnvSeMgr.h:109
void registLv3WaterSePos(u8, Vec *posPtr)
Definition Z2EnvSeMgr.cpp:1687
Z2MultiSeMgr mFallSeMgr
Definition Z2EnvSeMgr.h:138
void setWindDirection(Vec *dir)
Definition Z2EnvSeMgr.cpp:954
Z2MultiSeMgr field_0x28c
Definition Z2EnvSeMgr.h:162
Z2Calc::FNoise1f field_0xf0
Definition Z2EnvSeMgr.h:119
f32 field_0x1b4
Definition Z2EnvSeMgr.h:136
f32 mFogDensity
Definition Z2EnvSeMgr.h:173
void initFallSe(u8, u8, u8, u8)
Definition Z2EnvSeMgr.cpp:1140
f32 field_0x50
Definition Z2EnvSeMgr.h:105
f32 getFogDensity()
Definition Z2EnvSeMgr.cpp:1407
Z2Calc::FNoise1f field_0xd0
Definition Z2EnvSeMgr.h:117
bool startStaticEnvSe(s8 reverb)
Definition Z2EnvSeMgr.cpp:644
Z2Calc::FNoise1f field_0x130
Definition Z2EnvSeMgr.h:124
f32 field_0x58
Definition Z2EnvSeMgr.h:107
f32 field_0x48
Definition Z2EnvSeMgr.h:103
f32 field_0x54
Definition Z2EnvSeMgr.h:106
u8 field_0x214
Definition Z2EnvSeMgr.h:146
u8 field_0x27c
Definition Z2EnvSeMgr.h:158
f32 field_0x5c
Definition Z2EnvSeMgr.h:108
Z2Calc::FNoise1f field_0x90
Definition Z2EnvSeMgr.h:113
void startNearThunderSe(s8 reverb)
Definition Z2EnvSeMgr.cpp:921
Z2EnvSeBase field_0x2a8
Definition Z2EnvSeMgr.h:163
Z2MultiSeMgr mWolfSmellSeMgr
Definition Z2EnvSeMgr.h:168
Z2Calc::FNoise1f field_0x2e8
Definition Z2EnvSeMgr.h:171
s8 field_0x1b8
Definition Z2EnvSeMgr.h:137
u8 field_0x248
Definition Z2EnvSeMgr.h:152
void startSmellSe(s8 reverb)
Definition Z2EnvSeMgr.h:93
f32 field_0x1ac
Definition Z2EnvSeMgr.h:134
s8 mSnowPower
Definition Z2EnvSeMgr.h:126
Z2Calc::FNoise1f field_0xb0
Definition Z2EnvSeMgr.h:115
void startFogWipeTrigger(Vec *pos)
Definition Z2EnvSeMgr.cpp:1391
u8 field_0x2e4
Definition Z2EnvSeMgr.h:170
f32 field_0x24c
Definition Z2EnvSeMgr.h:153
Z2MultiSeMgr mEtcSeMgr
Definition Z2EnvSeMgr.h:144
u8 field_0x1e0
Definition Z2EnvSeMgr.h:140
Z2EnvSeBase field_0x118
Definition Z2EnvSeMgr.h:122
void startFarThunderSe(Vec *posPtr, s8 reverb)
Definition Z2EnvSeMgr.cpp:935
f32 field_0x1b0
Definition Z2EnvSeMgr.h:135
u8 mWindType
Definition Z2EnvSeMgr.h:128
bool startRiverSe(s8 reverb)
Definition Z2EnvSeMgr.cpp:1041
Z2Calc::FNoise1f field_0x2f8
Definition Z2EnvSeMgr.h:172
f32 field_0x1e4
Definition Z2EnvSeMgr.h:141
void initEtcSe(u8, u8, u8, u8)
Definition Z2EnvSeMgr.cpp:1222
Z2EnvSeBase field_0x274
Definition Z2EnvSeMgr.h:157
f32 field_0x1ec
Definition Z2EnvSeMgr.h:143
void playSceneEnvSe()
Definition Z2EnvSeMgr.cpp:487
void initStaticEnvSe(u8, u8, u8, u8, Vec *)
Definition Z2EnvSeMgr.cpp:496
u8 field_0x2b0
Definition Z2EnvSeMgr.h:164
bool startFallSe(s8 reverb)
Definition Z2EnvSeMgr.cpp:1187
void registFallSePos(Vec *posPtr)
Definition Z2EnvSeMgr.cpp:1176
Z2Calc::FNoise1f field_0x19c
Definition Z2EnvSeMgr.h:133
f32 field_0x284
Definition Z2EnvSeMgr.h:160
void setWindType(u8 type)
Definition Z2EnvSeMgr.h:91
Z2MultiSeMgr field_0x224
Definition Z2EnvSeMgr.h:150
f32 field_0x288
Definition Z2EnvSeMgr.h:161
Vec field_0x3c
Definition Z2EnvSeMgr.h:102
void setSnowPower(s8 reverb)
Definition Z2EnvSeMgr.cpp:946
f32 field_0x21c
Definition Z2EnvSeMgr.h:148
bool startStrongWindSe(s8 reverb)
Definition Z2EnvSeMgr.cpp:962
Definition Z2SeMgr.h:7