tp/include/Z2AudioLib/Z2WolfHowlMgr.h

88 lines
2.4 KiB
C++

#ifndef Z2WOLFHOWLMGR_H
#define Z2WOLFHOWLMGR_H
#include "Z2AudioLib/Z2SoundObject.h"
#include "dolphin/types.h"
/*
* Z2WolfHowlData
* mLineNum: Number of lines/points within the song
* mSongData: u16 array which corresponds to each line/point
*
* The high byte of each u16 line corresponds to bar type (low, middle, high)
* The low byte of each u16 line corresponds to length of note
*/
struct Z2WolfHowlData {
u8 mLineNum;
u16* mSongData;
};
class Z2WolfHowlMgr {
public:
Z2WolfHowlMgr();
void resetState();
void calcVolumeMod(f32);
void getNowPitch();
void getNowInputValue();
void calcPitchMod(f32, f32);
void startWolfHowlSound(f32, f32, bool, f32);
void setCorrectData(s8, Z2WolfHowlData*);
void getCorrectLine(u8);
void getCorrectLineNum();
void checkLine();
void getOnLineNum();
void startWindStoneSound(s8, Vec*);
void startGuideMelody(bool);
void skipCorrectDemo();
private:
/* 0x00 */ JAISoundHandle* field_0x00;
/* 0x04 */ JAISoundHandle* field_0x04;
/* 0x08 */ JAISoundHandle* field_0x08;
/* 0x0C */ Z2WolfHowlData* mpCurSong;
/* 0x10 */ Z2WolfHowlData** mpSongList;
/* 0x14 */ f32 mNowInputValue;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ u8 field_0x2c[4];
/* 0x30 */ f32 field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 field_0x38;
/* 0x3C */ f32 field_0x3c;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 field_0x44;
/* 0x48 */ f32 field_0x48;
/* 0x4C */ f32 field_0x4c;
/* 0x50 */ f32 field_0x50;
/* 0x54 */ f32 field_0x54;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 field_0x5c;
/* 0x60 */ f32 field_0x60;
/* 0x64 */ f32 field_0x64;
/* 0x68 */ f32 field_0x68;
/* 0x6C */ f32 field_0x6c;
/* 0x70 */ f32 field_0x70;
/* 0x74 */ f32 field_0x74;
/* 0x78 */ f32 field_0x78;
/* 0x7C */ f32 field_0x7c;
/* 0x80 */ f32 field_0x80;
/* 0x84 */ f32 field_0x84;
/* 0x88 */ void* mTimer;
/* 0x8C */ u8 mReleaseTimer;
/* 0x8D */ u8 field_0x8d;
/* 0x8E */ u8 mCorrectCurveID;
/* 0x8F */ u8 field_0x8f;
/* 0x90 */ s16 field_0x90;
/* 0x92 */ u8 field_0x92[20];
/* 0xA6 */ u8 field_0xa6[0x14];
/* 0xBA */ u8 field_0xba;
/* 0xBB */ u8 field_0xbb;
/* 0xBC */ u8 field_0xbc;
};
#endif /* Z2WOLFHOWLMGR_H */