mirror of
https://github.com/zeldaret/tp
synced 2026-07-07 14:13:27 -04:00
Z2WolfHowlMgr, d_bg_s, quat OK (#1887)
This commit is contained in:
@@ -15,6 +15,8 @@ struct Z2AudioCamera {
|
||||
/* 802BCBEC */ void convertAbsToRel(Z2Audible*, int);
|
||||
/* 802BCC7C */ void convertAbsToRel(Vec&, Vec*) const;
|
||||
/* 802BCCC0 */ void isInSight(Vec&) const;
|
||||
JGeometry::TVec3<f32>* getPos() { return &mPos; }
|
||||
|
||||
|
||||
/* 0x00 */ u8 field_0x0[0x30]; // set up JGeometry::TPosition3
|
||||
/* 0x30 */ JGeometry::TVec3<f32> mVel;
|
||||
@@ -128,6 +130,11 @@ struct Z2Audience : public JAIAudience, public JASGlobalInstance<Z2Audience> {
|
||||
/* 802BD71C */ virtual void mixChannelOut(JASSoundParams const&, JAIAudible*, int);
|
||||
|
||||
Z2SpotMic* getLinkMic() { return mLinkMic; }
|
||||
JGeometry::TVec3<f32> getAudioCamPos() {
|
||||
JGeometry::TVec3<f32> pos;
|
||||
JGeometry::setTVec3f(*(Vec*)mAudioCamera[0].getPos(), *(Vec*)pos);
|
||||
return pos;
|
||||
}
|
||||
|
||||
/* 0x004 */ f32 field_0x4;
|
||||
/* 0x008 */ u8 field_0x8;
|
||||
|
||||
@@ -75,6 +75,7 @@ public:
|
||||
|
||||
void setInWater(bool status) { mInWater = status; }
|
||||
bool isInWater() { return mInWater; }
|
||||
u8 getLinkState() const { return mLinkState; }
|
||||
|
||||
static Z2CreatureLink* mLinkPtr;
|
||||
|
||||
|
||||
@@ -28,7 +28,8 @@ public:
|
||||
void loadSeWave(u32);
|
||||
void loadBgmWave(u32);
|
||||
|
||||
bool isSceneExist() { return sceneExist; }
|
||||
bool isSceneExist() const { return sceneExist; }
|
||||
int getCurrentSceneNum() const { return sceneNum; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ long BGM_ID;
|
||||
|
||||
@@ -94,6 +94,10 @@ public:
|
||||
mAllBgmMaster.mTransition.set(val, mAllBgmMaster.mIntensity, count);
|
||||
}
|
||||
|
||||
bool isItemGetDemo() {
|
||||
return field_0x08.isSoundAttached() || field_0xba != 0;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x00 */ JAISoundHandle mMainBgmHandle;
|
||||
/* 0x04 */ JAISoundHandle mSubBgmHandle;
|
||||
|
||||
@@ -23,9 +23,8 @@ public:
|
||||
/* 802AA9E8 */ void multiVolumeSoundID(JAISoundID, f32);
|
||||
/* 802AAAC4 */ void isPlayingSoundID(JAISoundID);
|
||||
|
||||
/* 802A9EE8 */ /* virtual */ void startSound(JAISoundID, JAISoundHandle*,
|
||||
/* 802A9EE8 */ virtual void startSound(JAISoundID, JAISoundHandle*,
|
||||
JGeometry::TVec3<f32> const*);
|
||||
/* 0x000 */ void* vtable; // remove later
|
||||
|
||||
JAISeMgr* getSeMgr() { return &mSeMgr; }
|
||||
|
||||
|
||||
@@ -12,9 +12,15 @@
|
||||
* 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 SongNote {
|
||||
u8 barType;
|
||||
u8 length;
|
||||
};
|
||||
|
||||
struct Z2WolfHowlData {
|
||||
u8 mLineNum;
|
||||
u16* mSongData;
|
||||
SongNote* mSongData;
|
||||
};
|
||||
|
||||
class Z2WolfHowlMgr : public JASGlobalInstance<Z2WolfHowlMgr> {
|
||||
@@ -23,17 +29,17 @@ public:
|
||||
|
||||
void resetState();
|
||||
void calcVolumeMod(f32);
|
||||
void getNowPitch();
|
||||
void getNowInputValue();
|
||||
f32 getNowPitch();
|
||||
f32 getNowInputValue();
|
||||
void calcPitchMod(f32, f32);
|
||||
void startWolfHowlSound(f32, f32, bool, f32);
|
||||
void setCorrectData(s8, Z2WolfHowlData*);
|
||||
void getCorrectLine(u8);
|
||||
void getCorrectLineNum();
|
||||
void checkLine();
|
||||
void getOnLineNum();
|
||||
SongNote getCorrectLine(u8);
|
||||
u8 getCorrectLineNum();
|
||||
s8 checkLine();
|
||||
s8 getOnLineNum();
|
||||
void startWindStoneSound(s8, Vec*);
|
||||
void startGuideMelody(bool);
|
||||
int startGuideMelody(bool);
|
||||
void skipCorrectDemo();
|
||||
|
||||
private:
|
||||
@@ -41,7 +47,7 @@ private:
|
||||
/* 0x04 */ JAISoundHandle field_0x04;
|
||||
/* 0x08 */ JAISoundHandle field_0x08;
|
||||
/* 0x0C */ Z2WolfHowlData* mpCurSong;
|
||||
/* 0x10 */ Z2WolfHowlData** mpSongList;
|
||||
/* 0x10 */ Z2WolfHowlData* mpSongList;
|
||||
/* 0x14 */ f32 mNowInputValue;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
@@ -53,16 +59,18 @@ private:
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38[10];
|
||||
/* 0x60 */ f32 field_0x60[10];
|
||||
/* 0x88 */ void* mTimer;
|
||||
/* 0x88 */ u32 mTimer;
|
||||
/* 0x8C */ u8 mReleaseTimer;
|
||||
/* 0x8D */ u8 field_0x8d;
|
||||
/* 0x8E */ s8 mCorrectCurveID;
|
||||
/* 0x8F */ u8 field_0x8f;
|
||||
/* 0x90 */ s16 field_0x90;
|
||||
/* 0x92 */ u16 field_0x92[20];
|
||||
/* 0xBA */ s8 field_0xba;
|
||||
/* 0xBA */ u8 field_0xba;
|
||||
/* 0xBB */ s8 field_0xbb;
|
||||
/* 0xBC */ s8 field_0xbc;
|
||||
/* 0xBC */ u8 field_0xbc;
|
||||
/* 0xBD */ s8 field_0xbd;
|
||||
/* 0xBE */ u16 field_0xbe;
|
||||
};
|
||||
|
||||
#endif /* Z2WOLFHOWLMGR_H */
|
||||
|
||||
Reference in New Issue
Block a user