summaryrefslogtreecommitdiff
path: root/include/Z2AudioLib
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2023-08-18 10:01:51 +0300
committerGitHub <noreply@github.com>2023-08-18 01:01:51 -0600
commit00bbaf6216935df56f2b88456d60ea894ac20a53 (patch)
tree6f04d4b9e137e71d85cd07133cccd8f912007f00 /include/Z2AudioLib
parent114582643fcdb8b99499984e7e8e1f6c4e0671da (diff)
Z2WolfHowlMgr, d_bg_s, quat OK (#1887)
Diffstat (limited to 'include/Z2AudioLib')
-rw-r--r--include/Z2AudioLib/Z2Audience.h7
-rw-r--r--include/Z2AudioLib/Z2Creature.h1
-rw-r--r--include/Z2AudioLib/Z2SceneMgr.h3
-rw-r--r--include/Z2AudioLib/Z2SeqMgr.h4
-rw-r--r--include/Z2AudioLib/Z2SoundMgr.h3
-rw-r--r--include/Z2AudioLib/Z2WolfHowlMgr.h32
6 files changed, 35 insertions, 15 deletions
diff --git a/include/Z2AudioLib/Z2Audience.h b/include/Z2AudioLib/Z2Audience.h
index 4a91d14469..df3f518727 100644
--- a/include/Z2AudioLib/Z2Audience.h
+++ b/include/Z2AudioLib/Z2Audience.h
@@ -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;
diff --git a/include/Z2AudioLib/Z2Creature.h b/include/Z2AudioLib/Z2Creature.h
index f6dac02f0f..cbc20652b6 100644
--- a/include/Z2AudioLib/Z2Creature.h
+++ b/include/Z2AudioLib/Z2Creature.h
@@ -75,6 +75,7 @@ public:
void setInWater(bool status) { mInWater = status; }
bool isInWater() { return mInWater; }
+ u8 getLinkState() const { return mLinkState; }
static Z2CreatureLink* mLinkPtr;
diff --git a/include/Z2AudioLib/Z2SceneMgr.h b/include/Z2AudioLib/Z2SceneMgr.h
index 4cb65bf48a..1f6d9d5ebd 100644
--- a/include/Z2AudioLib/Z2SceneMgr.h
+++ b/include/Z2AudioLib/Z2SceneMgr.h
@@ -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;
diff --git a/include/Z2AudioLib/Z2SeqMgr.h b/include/Z2AudioLib/Z2SeqMgr.h
index 0313d0da0d..8d9f2dfb36 100644
--- a/include/Z2AudioLib/Z2SeqMgr.h
+++ b/include/Z2AudioLib/Z2SeqMgr.h
@@ -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;
diff --git a/include/Z2AudioLib/Z2SoundMgr.h b/include/Z2AudioLib/Z2SoundMgr.h
index dffb7174b2..5fb0c5acc9 100644
--- a/include/Z2AudioLib/Z2SoundMgr.h
+++ b/include/Z2AudioLib/Z2SoundMgr.h
@@ -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; }
diff --git a/include/Z2AudioLib/Z2WolfHowlMgr.h b/include/Z2AudioLib/Z2WolfHowlMgr.h
index 82c9846415..e48633730d 100644
--- a/include/Z2AudioLib/Z2WolfHowlMgr.h
+++ b/include/Z2AudioLib/Z2WolfHowlMgr.h
@@ -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 */