Z2WolfHowlMgr, d_bg_s, quat OK (#1887)

This commit is contained in:
hatal175
2023-08-18 10:01:51 +03:00
committed by GitHub
parent 114582643f
commit 00bbaf6216
14 changed files with 504 additions and 610 deletions
+7
View File
@@ -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;
+1
View File
@@ -75,6 +75,7 @@ public:
void setInWater(bool status) { mInWater = status; }
bool isInWater() { return mInWater; }
u8 getLinkState() const { return mLinkState; }
static Z2CreatureLink* mLinkPtr;
+2 -1
View File
@@ -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;
+4
View File
@@ -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;
+1 -2
View File
@@ -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; }
+20 -12
View File
@@ -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 */