Z2AudioMgr / various JAudio setup (#152)

* audioMgr setup

* bunch of JAudio setup
This commit is contained in:
TakaRikka
2021-09-30 07:13:49 -07:00
committed by GitHub
parent 4efaff5faf
commit 5390dfe55f
103 changed files with 1329 additions and 2696 deletions
+34 -173
View File
@@ -4,6 +4,7 @@
//
#include "Z2AudioLib/Z2LinkMgr.h"
#include "Z2AudioLib/Z2Creature.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -19,35 +20,10 @@ struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
struct JGeometry {
template <typename A1>
struct TVec3 {};
/* TVec3<f32> */
struct TVec3__template0 {};
};
struct JAISoundID {};
struct JAISoundHandle {};
struct Z2SoundStarter {
/* 802AAB94 */ Z2SoundStarter(bool);
/* 802AAC3C */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32,
f32, f32, f32, f32, f32, u32);
/* 802AABF4 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802AAEDC */ void setPortData(JAISoundHandle*, u32, u16, s8);
};
struct Z2SoundObjSimple {
/* 802BE844 */ Z2SoundObjSimple();
};
struct Z2SoundObjMgr {
/* 802BFFEC */ void setGhostEnemyState(u8);
};
struct Vec {};
struct Z2SoundObjCoach {
/* 802C54B8 */ Z2SoundObjCoach();
/* 802C54FC */ void init(Vec*, u8);
@@ -56,27 +32,6 @@ struct Z2SoundObjCoach {
/* 802C57C0 */ void startSound(JAISoundID, u32, s8);
};
struct Z2SoundHandlePool {};
struct Z2SoundObjBase {
/* 802BDEF0 */ Z2SoundObjBase();
/* 802BDF48 */ ~Z2SoundObjBase();
/* 802BDFB0 */ void init(Vec*, u8);
/* 802BDFF8 */ void deleteObject();
/* 802BE038 */ void framework(u32, s8);
/* 802BE070 */ void dispose();
/* 802BE104 */ void stopOK(Z2SoundHandlePool&);
/* 802BE144 */ void startSound(JAISoundID, u32, s8);
/* 802BE2D4 */ void startLevelSound(JAISoundID, u32, s8);
/* 802BE4A4 */ void startCollisionSE(u32, u32, Z2SoundObjBase*);
};
struct Z2SoundHandles {
/* 802AB254 */ void getHandleSoundID(JAISoundID);
/* 802AB4A0 */ void stopAllSounds(u32);
/* 802AB504 */ void isActive() const;
};
struct Z2SeqMgr {
/* 802B4844 */ void setBattleSeqState(u8);
/* 802B4AFC */ void setBattleLastHit(u8);
@@ -87,79 +42,10 @@ struct Z2SeMgr {
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2CreatureRide {
/* 802C4FFC */ Z2CreatureRide();
/* 802C5114 */ ~Z2CreatureRide();
/* 802C51EC */ void deleteObject();
/* 802C520C */ void init(Vec*, Vec*, u8, u8);
/* 802C522C */ void setLinkRiding(bool);
};
struct Z2RideSoundStarter {
/* 802C5078 */ ~Z2RideSoundStarter();
/* 802C5234 */ Z2RideSoundStarter(Z2CreatureRide*);
/* 802C5284 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32,
f32, f32, f32, f32, f32, u32);
};
struct Z2LinkSoundStarter {
/* 802C3464 */ ~Z2LinkSoundStarter();
/* 802C48E8 */ Z2LinkSoundStarter();
/* 802C4928 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32,
f32, f32, f32, f32, f32, u32);
};
struct Z2FxLineMgr {
/* 802BAE1C */ void setFxForceOff(bool);
};
struct Z2CreatureLink {
/* 802C321C */ void setLinkGroupInfo(u8);
/* 802C3220 */ void setLinkHp(s32, s32);
/* 802C3228 */ void setLinkSwordType(s32, s32);
/* 802C328C */ void setLinkShieldType(s32, s32);
/* 802C32F0 */ void setLinkBootsType(s32);
/* 802C333C */ Z2CreatureLink();
/* 802C3500 */ ~Z2CreatureLink();
/* 802C35F8 */ void deleteObject();
/* 802C3638 */ void init(Vec*, Vec*, Vec*);
/* 802C3710 */ void initKantera(Vec*);
/* 802C374C */ void deleteKantera();
/* 802C3778 */ void setKanteraState(u8);
/* 802C3780 */ void framework(u32, s8);
/* 802C3A64 */ void setSinkDepth(s8);
/* 802C3A6C */ void setRiding(bool);
/* 802C3AEC */ void setMagnetized(bool);
/* 802C3AFC */ void setWolfEyeOpen(bool);
/* 802C3BD4 */ void startLinkSound(JAISoundID, u32, s8);
/* 802C3E68 */ void startLinkSoundLevel(JAISoundID, u32, s8);
/* 802C4320 */ void startLinkVoice(JAISoundID, s8);
/* 802C45B0 */ void startLinkVoiceLevel(JAISoundID, s8);
/* 802C46F0 */ void startLinkSwordSound(JAISoundID, u32, s8);
/* 802C4784 */ void startCollisionSE(u32, u32);
/* 802C4814 */ void startHitItemSE(u32, u32, Z2SoundObjBase*, f32);
/* 802C48D8 */ void setResumeAttack(bool);
static u8 mLinkPtr[4 + 4 /* padding */];
};
struct Z2Creature {
/* 802C03C8 */ Z2Creature();
/* 802C0420 */ ~Z2Creature();
/* 802C04E8 */ void deleteObject();
/* 802C0530 */ void init(Vec*, Vec*, u8, u8);
/* 802C05B0 */ void init(Vec*, Vec*, Vec*, u8, u8, u8);
/* 802C0618 */ void setSoundStarter(Z2SoundStarter*);
/* 802C064C */ void framework(u32, s8);
/* 802C0720 */ void startCreatureSound(JAISoundID, u32, s8);
/* 802C087C */ void startCreatureSoundLevel(JAISoundID, u32, s8);
/* 802C0A4C */ void startCreatureVoice(JAISoundID, s8);
/* 802C0AF8 */ void startCreatureVoiceLevel(JAISoundID, s8);
/* 802C0B70 */ void startCreatureExtraSound(JAISoundID, u32, s8);
/* 802C0BAC */ void startCreatureExtraSoundLevel(JAISoundID, u32, s8);
/* 802C0BE8 */ void startCollisionSE(u32, u32);
};
struct Z2Calc {
struct CurveSign {};
@@ -171,19 +57,6 @@ struct Z2Audience {
/* 802BD90C */ void setTargetVolume(f32, int);
};
struct JAISoundStarter {
/* 802A2F88 */ ~JAISoundStarter();
};
struct JAISoundParamsMove {
/* 802A2DB4 */ void moveVolume(f32, u32);
/* 802A2E0C */ void movePitch(f32, u32);
};
struct JAISound {
/* 802A24DC */ void stop(u32);
};
//
// Forward References:
//
@@ -284,7 +157,6 @@ extern "C" void startCreatureExtraSound__10Z2CreatureF10JAISoundIDUlSc();
extern "C" void startCreatureExtraSoundLevel__10Z2CreatureF10JAISoundIDUlSc();
extern "C" void startCollisionSE__10Z2CreatureFUlUl();
extern "C" void __dl__FPv();
extern "C" void PSVECSquareDistance();
extern "C" void _savegpr_24();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
@@ -315,8 +187,8 @@ void Z2CreatureLink::setLinkGroupInfo(u8 param_0) {
}
/* 802C3220-802C3228 -00001 0008+00 0/0 0/0 0/0 .text setLinkHp__14Z2CreatureLinkFll */
void Z2CreatureLink::setLinkHp(s32 param_0, s32 param_1) {
*(u8*)(((u8*)this) + 195) /* this->field_0xc3 */ = (u8)(param_0);
void Z2CreatureLink::setLinkHp(s32 hp, s32 param_1) {
mLinkHp = hp;
}
/* 802C3228-802C328C 2BDB68 0064+00 0/0 1/1 0/0 .text setLinkSwordType__14Z2CreatureLinkFll */
@@ -419,7 +291,7 @@ SECTION_DATA extern void* __vt__14Z2CreatureLink[18] = {
};
/* 80451360-80451368 000860 0004+04 3/3 15/15 0/0 .sbss mLinkPtr__14Z2CreatureLink */
u8 Z2CreatureLink::mLinkPtr[4 + 4 /* padding */];
Z2CreatureLink* Z2CreatureLink::mLinkPtr;
/* 802C333C-802C3464 2BDC7C 0128+00 0/0 1/1 0/0 .text __ct__14Z2CreatureLinkFv */
#pragma push
@@ -435,7 +307,8 @@ asm Z2CreatureLink::Z2CreatureLink() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm Z2LinkSoundStarter::~Z2LinkSoundStarter() {
extern "C" asm void __dt__18Z2LinkSoundStarterFv() {
// asm Z2LinkSoundStarter::~Z2LinkSoundStarter() {
nofralloc
#include "asm/Z2AudioLib/Z2LinkMgr/__dt__18Z2LinkSoundStarterFv.s"
}
@@ -455,7 +328,8 @@ asm Z2CreatureLink::~Z2CreatureLink() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2CreatureLink::deleteObject() {
extern "C" asm void deleteObject__14Z2CreatureLinkFv() {
// asm void Z2CreatureLink::deleteObject() {
nofralloc
#include "asm/Z2AudioLib/Z2LinkMgr/deleteObject__14Z2CreatureLinkFv.s"
}
@@ -484,18 +358,14 @@ asm void Z2CreatureLink::initKantera(Vec* param_0) {
/* 802C374C-802C3778 2BE08C 002C+00 1/1 1/1 0/0 .text deleteKantera__14Z2CreatureLinkFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2CreatureLink::deleteKantera() {
nofralloc
#include "asm/Z2AudioLib/Z2LinkMgr/deleteKantera__14Z2CreatureLinkFv.s"
void Z2CreatureLink::deleteKantera() {
mKanteraState = 0;
mKantera.deleteObject();
}
#pragma pop
/* 802C3778-802C3780 -00001 0008+00 0/0 0/0 0/0 .text setKanteraState__14Z2CreatureLinkFUc */
void Z2CreatureLink::setKanteraState(u8 param_0) {
*(u8*)(((u8*)this) + 197) /* this->field_0xc5 */ = (u8)(param_0);
void Z2CreatureLink::setKanteraState(u8 state) {
mKanteraState = state;
}
/* ############################################################################################## */
@@ -535,8 +405,8 @@ asm void Z2CreatureLink::framework(u32 param_0, s8 param_1) {
/* 802C3A64-802C3A6C -00001 0008+00 0/0 0/0 0/0 .text setSinkDepth__14Z2CreatureLinkFSc
*/
void Z2CreatureLink::setSinkDepth(s8 param_0) {
*(u8*)(((u8*)this) + 202) /* this->field_0xca */ = (u8)(param_0);
void Z2CreatureLink::setSinkDepth(s8 sinkDepth) {
mSinkDepth = sinkDepth;
}
/* ############################################################################################## */
@@ -555,6 +425,11 @@ asm void Z2CreatureLink::setRiding(bool param_0) {
/* 802C3AEC-802C3AFC 2BE42C 0010+00 0/0 5/5 0/0 .text setMagnetized__14Z2CreatureLinkFb
*/
#ifdef NONMATCHING
void Z2CreatureLink::setMagnetized(bool param_0) {
mFlags = param_0 & 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -563,6 +438,7 @@ asm void Z2CreatureLink::setMagnetized(bool param_0) {
#include "asm/Z2AudioLib/Z2LinkMgr/setMagnetized__14Z2CreatureLinkFb.s"
}
#pragma pop
#endif
/* 802C3AFC-802C3BD4 2BE43C 00D8+00 0/0 2/2 0/0 .text setWolfEyeOpen__14Z2CreatureLinkFb
*/
@@ -709,8 +585,8 @@ SECTION_SDATA2 static f32 lit_4178 = 100.0f;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2CreatureLink::startHitItemSE(u32 param_0, u32 param_1, Z2SoundObjBase* param_2,
f32 param_3) {
asm int Z2CreatureLink::startHitItemSE(u32 param_0, u32 param_1, Z2SoundObjBase* param_2,
f32 param_3) {
nofralloc
#include "asm/Z2AudioLib/Z2LinkMgr/startHitItemSE__14Z2CreatureLinkFUlUlP14Z2SoundObjBasef.s"
}
@@ -728,14 +604,7 @@ asm void Z2CreatureLink::setResumeAttack(bool param_0) {
#pragma pop
/* 802C48E8-802C4928 2BF228 0040+00 1/1 0/0 0/0 .text __ct__18Z2LinkSoundStarterFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm Z2LinkSoundStarter::Z2LinkSoundStarter() {
nofralloc
#include "asm/Z2AudioLib/Z2LinkMgr/__ct__18Z2LinkSoundStarterFv.s"
}
#pragma pop
Z2LinkSoundStarter::Z2LinkSoundStarter() : Z2SoundStarter(false) {}
/* ############################################################################################## */
/* 80455D1C-80455D20 00431C 0004+00 2/2 0/0 0/0 .sdata2 @4399 */
@@ -769,7 +638,8 @@ asm Z2CreatureRide::Z2CreatureRide() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm Z2RideSoundStarter::~Z2RideSoundStarter() {
extern "C" asm void __dt__18Z2RideSoundStarterFv() {
// asm Z2RideSoundStarter::~Z2RideSoundStarter() {
nofralloc
#include "asm/Z2AudioLib/Z2LinkMgr/__dt__18Z2RideSoundStarterFv.s"
}
@@ -789,38 +659,29 @@ asm Z2CreatureRide::~Z2CreatureRide() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2CreatureRide::deleteObject() {
extern "C" asm void deleteObject__14Z2CreatureRideFv() {
// asm void Z2CreatureRide::deleteObject() {
nofralloc
#include "asm/Z2AudioLib/Z2LinkMgr/deleteObject__14Z2CreatureRideFv.s"
}
#pragma pop
/* 802C520C-802C522C 2BFB4C 0020+00 0/0 0/0 3/3 .text init__14Z2CreatureRideFP3VecP3VecUcUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2CreatureRide::init(Vec* param_0, Vec* param_1, u8 param_2, u8 param_3) {
nofralloc
#include "asm/Z2AudioLib/Z2LinkMgr/init__14Z2CreatureRideFP3VecP3VecUcUc.s"
void Z2CreatureRide::init(Vec* param_0, Vec* param_1, u8 param_2, u8 param_3) {
Z2Creature::init(param_0, param_1, param_2, param_3);
}
#pragma pop
/* 802C522C-802C5234 -00001 0008+00 0/0 0/0 0/0 .text setLinkRiding__14Z2CreatureRideFb
*/
void Z2CreatureRide::setLinkRiding(bool param_0) {
*(u8*)(((u8*)this) + 152) /* this->field_0x98 */ = (u8)(param_0);
void Z2CreatureRide::setLinkRiding(bool isRiding) {
mLinkRiding = isRiding;
}
/* 802C5234-802C5284 2BFB74 0050+00 1/1 0/0 0/0 .text __ct__18Z2RideSoundStarterFP14Z2CreatureRide
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm Z2RideSoundStarter::Z2RideSoundStarter(Z2CreatureRide* param_0) {
nofralloc
#include "asm/Z2AudioLib/Z2LinkMgr/__ct__18Z2RideSoundStarterFP14Z2CreatureRide.s"
Z2RideSoundStarter::Z2RideSoundStarter(Z2CreatureRide* ride) : Z2SoundStarter(false) {
mRide = ride;
}
#pragma pop
/* 802C5284-802C54B8 2BFBC4 0234+00 2/0 0/0 0/0 .text
* startSound__18Z2RideSoundStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f>UlfffffUl */