Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
Z2WolfHowlMgr.h
Go to the documentation of this file.
1#ifndef Z2WOLFHOWLMGR_H
2#define Z2WOLFHOWLMGR_H
3
6
7/*
8 * Z2WolfHowlData
9 * mLineNum: Number of lines/points within the song
10 * mSongData: u16 array which corresponds to each line/point
11 *
12 * The high byte of each u16 line corresponds to bar type (low, middle, high)
13 * The low byte of each u16 line corresponds to length of note
14 */
15
20
21#define HOWL_LINE_HIGH 1
22#define HOWL_LINE_MID 2
23#define HOWL_LINE_LOW 3
24
29
44
45class Z2WolfHowlMgr : public JASGlobalInstance<Z2WolfHowlMgr> {
46public:
48
49 void resetState();
50 void calcVolumeMod(f32);
53 void calcPitchMod(f32, f32);
54 s8 startWolfHowlSound(f32, f32 stickValue, bool isHowl, f32);
55 void setCorrectData(s8 curveID, Z2WolfHowlData* data);
58 s8 checkLine();
60 void startWindStoneSound(s8 curveID, Vec* pos);
61 int startGuideMelody(bool startSound);
62 void skipCorrectDemo();
63
64 void setCorrectCurve(s8 curveID) { setCorrectData(curveID, NULL); }
65 u32 getTimer() { return mTimer; }
68
69private:
75 /* 0x14 */ f32 mNowInputValue;
76 /* 0x18 */ f32 mWolfHowlVolume;
77 /* 0x1C */ f32 field_0x1c;
78 /* 0x20 */ f32 field_0x20;
79 /* 0x24 */ f32 mNowPitch;
80 /* 0x28 */ f32 field_0x28;
81 /* 0x2C */ u8 field_0x2c[4];
82 /* 0x30 */ f32 field_0x30;
83 /* 0x34 */ f32 field_0x34;
84 /* 0x38 */ f32 field_0x38[10];
85 /* 0x60 */ f32 field_0x60[10];
86 /* 0x88 */ u32 mTimer;
87 /* 0x8C */ u8 mReleaseTimer;
88 /* 0x8D */ u8 field_0x8d;
89 /* 0x8E */ s8 mCorrectCurveID;
90 /* 0x8F */ u8 field_0x8f;
91 /* 0x90 */ s16 mCorrectScore;
92 /* 0x92 */ u16 field_0x92[20];
93 /* 0xBA */ u8 mNowLineIndex;
94 /* 0xBB */ s8 field_0xbb;
95 /* 0xBC */ u8 mNowLineScore;
96 /* 0xBD */ s8 field_0xbd;
97 /* 0xBE */ u16 mFullScore;
98};
99
100#endif /* Z2WOLFHOWLMGR_H */
Z2WolfHowlCurveID
Definition Z2WolfHowlMgr.h:30
@ Z2WOLFHOWL_NEWSONG2
Definition Z2WolfHowlMgr.h:39
@ Z2WOLFHOWL_LIGHTPRELUDE
Definition Z2WolfHowlMgr.h:37
@ Z2WOLFHOWL_HEALINGSONG
Definition Z2WolfHowlMgr.h:35
@ Z2WOLFHOWL_ZELDASONG
Definition Z2WolfHowlMgr.h:34
@ Z2WOLFHOWL_SOULREQUIEM
Definition Z2WolfHowlMgr.h:36
@ Z2WOLFHOWL_NEWSONG1
Definition Z2WolfHowlMgr.h:38
@ Z2WOLFHOWL_NEWSONG3
Definition Z2WolfHowlMgr.h:40
@ Z2WOLFHOWL_TOBIKUSA
Definition Z2WolfHowlMgr.h:32
@ Z2WOLFHOWL_NONE
Definition Z2WolfHowlMgr.h:31
@ Z2WOLFHOWL_MAX
Definition Z2WolfHowlMgr.h:42
@ Z2WOLFHOWL_UMAKUSA
Definition Z2WolfHowlMgr.h:33
Definition JAISoundHandles.h:14
Definition JASGadget.h:12
Definition Z2WolfHowlMgr.h:45
u16 mFullScore
Definition Z2WolfHowlMgr.h:97
f32 getNowInputValue()
Definition Z2WolfHowlMgr.cpp:204
f32 mNowPitch
Definition Z2WolfHowlMgr.h:79
f32 mNowInputValue
Definition Z2WolfHowlMgr.h:75
s16 mCorrectScore
Definition Z2WolfHowlMgr.h:91
JAISoundHandle mGuideHandle
Definition Z2WolfHowlMgr.h:72
u16 field_0x92[20]
Definition Z2WolfHowlMgr.h:92
Z2WolfHowlMgr()
Definition Z2WolfHowlMgr.cpp:128
u8 field_0x8d
Definition Z2WolfHowlMgr.h:88
u8 getReleaseTimer()
Definition Z2WolfHowlMgr.h:66
f32 field_0x28
Definition Z2WolfHowlMgr.h:80
s8 checkLine()
Definition Z2WolfHowlMgr.cpp:437
f32 field_0x38[10]
Definition Z2WolfHowlMgr.h:84
u8 getCorrectCurveID()
Definition Z2WolfHowlMgr.h:67
s8 field_0xbd
Definition Z2WolfHowlMgr.h:96
f32 mWolfHowlVolume
Definition Z2WolfHowlMgr.h:76
Z2WolfHowlData * mNowHowlData
Definition Z2WolfHowlMgr.h:73
Z2WolfHowlLine getCorrectLine(u8 lineIndex)
Definition Z2WolfHowlMgr.cpp:380
s8 getOnLineNum()
Definition Z2WolfHowlMgr.cpp:508
void resetState()
Definition Z2WolfHowlMgr.cpp:158
f32 field_0x30
Definition Z2WolfHowlMgr.h:82
void setCorrectCurve(s8 curveID)
Definition Z2WolfHowlMgr.h:64
JAISoundHandle mWindStoneHandle
Definition Z2WolfHowlMgr.h:71
u8 mNowLineIndex
Definition Z2WolfHowlMgr.h:93
s8 startWolfHowlSound(f32, f32 stickValue, bool isHowl, f32)
Definition Z2WolfHowlMgr.cpp:256
JAISoundHandle mWolfHowlHandle
Definition Z2WolfHowlMgr.h:70
void setCorrectData(s8 curveID, Z2WolfHowlData *data)
Definition Z2WolfHowlMgr.cpp:305
void startWindStoneSound(s8 curveID, Vec *pos)
Definition Z2WolfHowlMgr.cpp:522
s8 mCorrectCurveID
Definition Z2WolfHowlMgr.h:89
u32 mTimer
Definition Z2WolfHowlMgr.h:86
f32 getNowPitch()
Definition Z2WolfHowlMgr.cpp:196
f32 field_0x34
Definition Z2WolfHowlMgr.h:83
f32 field_0x20
Definition Z2WolfHowlMgr.h:78
f32 field_0x60[10]
Definition Z2WolfHowlMgr.h:85
u8 mReleaseTimer
Definition Z2WolfHowlMgr.h:87
u8 field_0x2c[4]
Definition Z2WolfHowlMgr.h:81
void calcVolumeMod(f32)
Definition Z2WolfHowlMgr.cpp:175
u8 field_0x8f
Definition Z2WolfHowlMgr.h:90
void calcPitchMod(f32, f32)
Definition Z2WolfHowlMgr.cpp:208
int startGuideMelody(bool startSound)
Definition Z2WolfHowlMgr.cpp:557
u8 getCorrectLineNum()
Definition Z2WolfHowlMgr.cpp:393
u32 getTimer()
Definition Z2WolfHowlMgr.h:65
s8 field_0xbb
Definition Z2WolfHowlMgr.h:94
f32 field_0x1c
Definition Z2WolfHowlMgr.h:77
u8 mNowLineScore
Definition Z2WolfHowlMgr.h:95
void skipCorrectDemo()
Definition Z2WolfHowlMgr.cpp:573
Z2WolfHowlData * mGuideData
Definition Z2WolfHowlMgr.h:74
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
Definition mtx.h:13
Definition Z2WolfHowlMgr.h:25
u8 lineNum
Definition Z2WolfHowlMgr.h:26
Z2WolfHowlLine * lineData
Definition Z2WolfHowlMgr.h:27
Definition Z2WolfHowlMgr.h:16
u8 type
Definition Z2WolfHowlMgr.h:17
u8 length
Definition Z2WolfHowlMgr.h:18