summaryrefslogtreecommitdiff
path: root/src/Z2AudioLib/Z2LinkMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Z2AudioLib/Z2LinkMgr.cpp')
-rw-r--r--src/Z2AudioLib/Z2LinkMgr.cpp373
1 files changed, 198 insertions, 175 deletions
diff --git a/src/Z2AudioLib/Z2LinkMgr.cpp b/src/Z2AudioLib/Z2LinkMgr.cpp
index 9d4ac0ca88..d916aa34af 100644
--- a/src/Z2AudioLib/Z2LinkMgr.cpp
+++ b/src/Z2AudioLib/Z2LinkMgr.cpp
@@ -1,23 +1,21 @@
-//
-// Generated By: dol2asm
-// Translation Unit: Z2LinkMgr
-//
-
#include "Z2AudioLib/Z2LinkMgr.h"
-#include "Z2AudioLib/Z2AudioCS.h"
#include "d/d_com_inf_game.h"
+#if PLATFORM_WII || PLATFORM_SHIELD
+#include "Z2AudioLib/Z2AudioCS.h"
+#endif
+
/* 802C321C-802C3220 2BDB5C 0004+00 0/0 1/1 0/0 .text setLinkGroupInfo__14Z2CreatureLinkFUc */
void Z2CreatureLink::setLinkGroupInfo(u8) {}
/* 802C3220-802C3228 -00001 0008+00 0/0 0/0 0/0 .text setLinkHp__14Z2CreatureLinkFll */
-void Z2CreatureLink::setLinkHp(s32 i_hp, s32) {
- mLinkHp = i_hp;
+void Z2CreatureLink::setLinkHp(s32 linkHp, s32) {
+ mLinkHp = linkHp;
}
/* 802C3228-802C328C 2BDB68 0064+00 0/0 1/1 0/0 .text setLinkSwordType__14Z2CreatureLinkFll */
-void Z2CreatureLink::setLinkSwordType(s32 i_swordType, s32 param_1) {
- mLinkSwordType = i_swordType;
+void Z2CreatureLink::setLinkSwordType(s32 swordType, s32 param_1) {
+ mLinkSwordType = swordType;
mFlag3 = param_1 == 1;
if (mLinkSwordType != 0) {
@@ -31,8 +29,8 @@ void Z2CreatureLink::setLinkSwordType(s32 i_swordType, s32 param_1) {
}
/* 802C328C-802C32F0 2BDBCC 0064+00 0/0 1/1 0/0 .text setLinkShieldType__14Z2CreatureLinkFll */
-void Z2CreatureLink::setLinkShieldType(s32 i_shieldType, s32 param_1) {
- mLinkShieldType = i_shieldType;
+void Z2CreatureLink::setLinkShieldType(s32 shieldType, s32 param_1) {
+ mLinkShieldType = shieldType;
mFlag4 = param_1 == 1;
if (mLinkSwordType != 0) {
@@ -46,8 +44,8 @@ void Z2CreatureLink::setLinkShieldType(s32 i_shieldType, s32 param_1) {
}
/* 802C32F0-802C333C 2BDC30 004C+00 0/0 1/1 0/0 .text setLinkBootsType__14Z2CreatureLinkFl */
-void Z2CreatureLink::setLinkBootsType(s32 i_bootsType) {
- mLinkBootsType = i_bootsType;
+void Z2CreatureLink::setLinkBootsType(s32 bootsType) {
+ mLinkBootsType = bootsType;
if (Z2GetSceneMgr()->isSceneExist()) {
startLinkSound(Z2SE_AL_CHANGE_BOOTS, 0, -1);
@@ -102,10 +100,10 @@ void Z2CreatureLink::deleteObject() {
}
/* 802C3638-802C3710 2BDF78 00D8+00 0/0 1/1 0/0 .text init__14Z2CreatureLinkFP3VecP3VecP3Vec */
-void Z2CreatureLink::init(Vec* param_0, Vec* param_1, Vec* param_2) {
+void Z2CreatureLink::init(Vec* animePosPtr, Vec* simplePosPtr, Vec* simple2PosPtr) {
OS_REPORT("[Z2CreatureLink::init]");
- Z2Creature::init(param_0, param_1, param_2, 6, 1, 2);
+ Z2Creature::init(animePosPtr, simplePosPtr, simple2PosPtr, 6, 1, 2);
Z2GetAudience()->getLinkMic()->setPosPtr(getCurrentPos());
field_0xc1 = 0xFF;
@@ -117,7 +115,7 @@ void Z2CreatureLink::init(Vec* param_0, Vec* param_1, Vec* param_2) {
mRiding = false;
mMagnetized = false;
mUsingIronBall = false;
- field_0xb4 = *param_0;
+ field_0xb4 = *animePosPtr;
mMoveSpeed = 0;
mMovingTime = 0;
mSinkDepth = -1;
@@ -125,9 +123,9 @@ void Z2CreatureLink::init(Vec* param_0, Vec* param_1, Vec* param_2) {
/* 802C3710-802C374C 2BE050 003C+00 0/0 1/1 0/0 .text initKantera__14Z2CreatureLinkFP3Vec
*/
-void Z2CreatureLink::initKantera(Vec* i_pos) {
+void Z2CreatureLink::initKantera(Vec* posPtr) {
mKanteraState = 0;
- mKantera.init(i_pos, 2);
+ mKantera.init(posPtr, 2);
}
/* 802C374C-802C3778 2BE08C 002C+00 1/1 1/1 0/0 .text deleteKantera__14Z2CreatureLinkFv
@@ -138,16 +136,16 @@ void Z2CreatureLink::deleteKantera() {
}
/* 802C3778-802C3780 -00001 0008+00 0/0 0/0 0/0 .text setKanteraState__14Z2CreatureLinkFUc */
-void Z2CreatureLink::setKanteraState(u8 i_state) {
- mKanteraState = i_state;
+void Z2CreatureLink::setKanteraState(u8 state) {
+ mKanteraState = state;
}
/* 802C3780-802C3A64 2BE0C0 02E4+00 1/0 0/0 0/0 .text framework__14Z2CreatureLinkFUlSc */
-void Z2CreatureLink::framework(u32 param_0, s8 param_1) {
- Z2Creature::framework(param_0, param_1);
+void Z2CreatureLink::framework(u32 mapinfo, s8 reverb) {
+ Z2Creature::framework(mapinfo, reverb);
if (mKantera.isAlive()) {
- mKantera.framework(param_0, param_1);
+ mKantera.framework(mapinfo, reverb);
}
if (field_0xc1 != 0xFF) {
@@ -194,39 +192,53 @@ 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 i_sinkDepth) {
- mSinkDepth = i_sinkDepth;
+void Z2CreatureLink::setSinkDepth(s8 sinkDepth) {
+ mSinkDepth = sinkDepth;
}
/* 802C3A6C-802C3AEC 2BE3AC 0080+00 0/0 4/4 0/0 .text setRiding__14Z2CreatureLinkFb */
-void Z2CreatureLink::setRiding(bool i_isRiding) {
- if (mRiding != i_isRiding) {
- if (i_isRiding) {
+void Z2CreatureLink::setRiding(bool isRiding) {
+ if (mRiding != isRiding) {
+ if (isRiding) {
+ OS_REPORT("[Z2CreatureLink::setRiding] true targetVol = 0.35f\n");
Z2GetAudience()->setTargetVolume(0.35f, 0);
} else {
+ OS_REPORT("[Z2CreatureLink::setRiding] false targetVol = 0.0f\n");
Z2GetAudience()->setTargetVolume(0.0f, 0);
}
- mRiding = i_isRiding;
+ mRiding = isRiding;
}
}
/* 802C3AEC-802C3AFC 2BE42C 0010+00 0/0 5/5 0/0 .text setMagnetized__14Z2CreatureLinkFb
*/
-void Z2CreatureLink::setMagnetized(bool i_isMagnetized) {
- mMagnetized = i_isMagnetized;
+void Z2CreatureLink::setMagnetized(bool isMagnetized) {
+ mMagnetized = isMagnetized;
}
/* 802C3AFC-802C3BD4 2BE43C 00D8+00 0/0 2/2 0/0 .text setWolfEyeOpen__14Z2CreatureLinkFb
*/
-void Z2CreatureLink::setWolfEyeOpen(bool i_wolfEyeOpen) {
- mWolfEyeOpen = i_wolfEyeOpen;
+void Z2CreatureLink::setWolfEyeOpen(bool wolfEyeOpen) {
+ mWolfEyeOpen = wolfEyeOpen;
if (mWolfEyeOpen) {
+ #if PLATFORM_WII || PLATFORM_SHIELD
+ if (Z2GetSceneMgr()->isSceneExist()) {
+ Z2AudioCS::start(0x55, 0);
+ }
+ #endif
+
Z2GetSeMgr()->seStart(Z2SE_WOLF_SENSE_OPEN_START, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
Z2GetFxLineMgr()->setFxForceOff(true);
Z2GetSoundObjMgr()->setGhostEnemyState(32);
} else {
+ #if PLATFORM_WII || PLATFORM_SHIELD
+ if (Z2GetSceneMgr()->isSceneExist()) {
+ Z2AudioCS::start(0x56, 0);
+ }
+ #endif
+
Z2GetSeMgr()->seStart(Z2SE_WOLF_SENSE_CLOSE, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
Z2GetFxLineMgr()->setFxForceOff(false);
Z2GetSoundObjMgr()->setGhostEnemyState(16);
@@ -235,11 +247,10 @@ void Z2CreatureLink::setWolfEyeOpen(bool i_wolfEyeOpen) {
/* 802C3BD4-802C3E68 2BE514 0294+00 3/3 3/3 0/0 .text
* startLinkSound__14Z2CreatureLinkF10JAISoundIDUlSc */
-// stopSound seems to store to the stack twice
-Z2SoundHandlePool* Z2CreatureLink::startLinkSound(JAISoundID i_soundID, u32 param_1, s8 param_2) {
- Z2SoundHandlePool* var_r30 = startCreatureSound(i_soundID, param_1, param_2);
+Z2SoundHandlePool* Z2CreatureLink::startLinkSound(JAISoundID soundID, u32 mapinfo, s8 reverb) {
+ Z2SoundHandlePool* handle = startCreatureSound(soundID, mapinfo, reverb);
- switch (i_soundID) {
+ switch (soundID) {
case Z2SE_AL_DAMAGE_NORMAL:
case Z2SE_AL_DAMAGE_LARGE:
case Z2SE_AL_FREEZE:
@@ -249,35 +260,35 @@ Z2SoundHandlePool* Z2CreatureLink::startLinkSound(JAISoundID i_soundID, u32 para
mSoundObjAnime.stopSound(Z2SE_AL_HS_OPEN, 0);
break;
case Z2SE_AL_SINK_SAND_OUT:
- if (var_r30 != NULL && *var_r30) {
- f32 var_f31 = Z2Calc::linearTransform(mSinkDepth, 32.0f, 127.0f, 0.4f, 1.0f, false);
- f32 var_f30 = Z2Calc::linearTransform(mSinkDepth, 32.0f, 127.0f, 1.0f, 0.7f, false);
+ if (handle != NULL && *handle) {
+ f32 volume = Z2Calc::linearTransform(mSinkDepth, 32.0f, 127.0f, 0.4f, 1.0f, false);
+ f32 pitch = Z2Calc::linearTransform(mSinkDepth, 32.0f, 127.0f, 1.0f, 0.7f, false);
- (*var_r30)->getAuxiliary().moveVolume(var_f31, 0);
- (*var_r30)->getAuxiliary().movePitch(var_f30, 0);
+ (*handle)->getAuxiliary().moveVolume(volume, 0);
+ (*handle)->getAuxiliary().movePitch(pitch, 0);
}
break;
case Z2SE_AL_SINK_SNOW_OUT:
- if (var_r30 != NULL && *var_r30) {
- f32 var_f29 = Z2Calc::linearTransform(mSinkDepth, 0.0f, 23.0f, 0.5f, 1.0f, false);
- f32 var_f28 = Z2Calc::linearTransform(mSinkDepth, 0.0f, 23.0f, 1.0f, 0.7f, false);
+ if (handle != NULL && *handle) {
+ f32 volume = Z2Calc::linearTransform(mSinkDepth, 0.0f, 23.0f, 0.5f, 1.0f, false);
+ f32 pitch = Z2Calc::linearTransform(mSinkDepth, 0.0f, 23.0f, 1.0f, 0.7f, false);
- (*var_r30)->getAuxiliary().moveVolume(var_f29, 0);
- (*var_r30)->getAuxiliary().movePitch(var_f28, 0);
+ (*handle)->getAuxiliary().moveVolume(volume, 0);
+ (*handle)->getAuxiliary().movePitch(pitch, 0);
}
break;
}
- return var_r30;
+ return handle;
}
/* 802C3E68-802C4320 2BE7A8 04B8+00 1/1 3/3 0/0 .text
* startLinkSoundLevel__14Z2CreatureLinkF10JAISoundIDUlSc */
-JAISoundHandle* Z2CreatureLink::startLinkSoundLevel(JAISoundID i_soundID, u32 param_1, s8 param_2) {
- #if VERSION == VERSION_SHIELD_DEBUG
+JAISoundHandle* Z2CreatureLink::startLinkSoundLevel(JAISoundID soundID, u32 mapinfo, s8 reverb) {
+ #if PLATFORM_WII || PLATFORM_SHIELD
if (Z2GetSceneMgr()->isSceneExist()) {
int iVar3 = -1;
- switch((u32)i_soundID) {
+ switch((u32)soundID) {
case Z2SE_AL_REEL_SLOW_LOOP:
iVar3 = 0x16;
break;
@@ -296,81 +307,81 @@ JAISoundHandle* Z2CreatureLink::startLinkSoundLevel(JAISoundID i_soundID, u32 pa
}
#endif
- if (i_soundID == Z2SE_AL_LIGHTNING_SW_GLOW && (Z2GetStatusMgr()->getDemoStatus() == 2 || !Z2GetSceneMgr()->isInGame())) {
+ if (soundID == Z2SE_AL_LIGHTNING_SW_GLOW && (Z2GetStatusMgr()->getDemoStatus() == 2 || !Z2GetSceneMgr()->isInGame())) {
return NULL;
}
- Z2SoundHandlePool* temp_r3 = startCreatureSoundLevel((u32)i_soundID, param_1, param_2);
- if (temp_r3 != NULL && *temp_r3) {
- f32 var_f31 = 1.0f;
- f32 var_f30 = 1.0f;
- int var_r30 = 0;
+ Z2SoundHandlePool* handle = startCreatureSoundLevel((u32)soundID, mapinfo, reverb);
+ if (handle != NULL && *handle) {
+ f32 volume = 1.0f;
+ f32 pitch = 1.0f;
+ int volumeMoveSteps = 0;
- switch (i_soundID) {
+ switch (soundID) {
case Z2SE_AL_SINK_SAND_LEVEL:
if (mSinkDepth > 0) {
- var_f31 = Z2Calc::linearTransform(mSinkDepth, 0.0f, 127.0f, 0.4f, 1.0f, true);
- var_f30 = Z2Calc::linearTransform(mSinkDepth, 0.0f, 127.0f, 1.0f, 0.7f, true);
+ volume = Z2Calc::linearTransform(mSinkDepth, 0.0f, 127.0f, 0.4f, 1.0f, true);
+ pitch = Z2Calc::linearTransform(mSinkDepth, 0.0f, 127.0f, 1.0f, 0.7f, true);
}
break;
case Z2SE_AL_SINK_SNOW_LEVEL:
if (mSinkDepth > 0) {
- var_f31 = Z2Calc::linearTransform(mSinkDepth, 0.0f, 23.0f, 0.7f, 1.0f, true);
- var_f30 = Z2Calc::linearTransform(mSinkDepth, 0.0f, 23.0f, 1.0f, 0.7f, true);
+ volume = Z2Calc::linearTransform(mSinkDepth, 0.0f, 23.0f, 0.7f, 1.0f, true);
+ pitch = Z2Calc::linearTransform(mSinkDepth, 0.0f, 23.0f, 1.0f, 0.7f, true);
}
break;
case Z2SE_AL_SPINNER_RIDE:
- var_f30 = Z2Calc::getParamByExp(mMoveSpeed, 0.0f, 30.0f, 0.3f, 0.8f, 1.0f, Z2Calc::CURVE_SIGN_0);
+ pitch = Z2Calc::getParamByExp(mMoveSpeed, 0.0f, 30.0f, 0.3f, 0.8f, 1.0f, Z2Calc::CURVE_NEGATIVE);
if (mMoveSpeed == 0 && mMovingTime > 120) {
- var_f31 = Z2Calc::getParamByExp(mMovingTime, 180.0f, 120.0f, 0.6f, 0.0f, 0.4f, Z2Calc::CURVE_SIGN_0);
+ volume = Z2Calc::getParamByExp(mMovingTime, 180.0f, 120.0f, 0.6f, 0.0f, 0.4f, Z2Calc::CURVE_NEGATIVE);
} else {
- var_f31 = Z2Calc::getParamByExp(mMoveSpeed, 0.0f, 30.0f, 0.6f, 0.4f, 1.0f, Z2Calc::CURVE_SIGN_0);
+ volume = Z2Calc::getParamByExp(mMoveSpeed, 0.0f, 30.0f, 0.6f, 0.4f, 1.0f, Z2Calc::CURVE_NEGATIVE);
}
break;
case Z2SE_AL_SPINNER_RAIL:
- var_f30 = Z2Calc::getParamByExp(mMoveSpeed, 0.0f, 80.0f, 0.3f, 0.8f, 1.2f, Z2Calc::CURVE_SIGN_0);
+ pitch = Z2Calc::getParamByExp(mMoveSpeed, 0.0f, 80.0f, 0.3f, 0.8f, 1.2f, Z2Calc::CURVE_NEGATIVE);
break;
case Z2SE_AL_SNOBO_RIDE:
case Z2SE_AL_SNOBO_BREAK:
/* dSv_event_flag_c::F_0266 - Snowpeak Ruins - Snowpeak Ruins clear */
if (dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[266])
&& Z2GetSeqMgr()->getSubBgmID() != Z2BGM_SNOW_BOARD) {
- var_f31 = 0.0f;
- var_r30 = 0;
+ volume = 0.0f;
+ volumeMoveSteps = 0;
} else if (mMoveSpeed == 0) {
- var_f31 = 0.0f;
- var_r30 = 10;
+ volume = 0.0f;
+ volumeMoveSteps = 10;
} else {
- var_f31 = Z2Calc::getParamByExp(mMoveSpeed, 0.0f, 80.0f, 0.25f, 0.4f, 1.0f, Z2Calc::CURVE_SIGN_0);
+ volume = Z2Calc::getParamByExp(mMoveSpeed, 0.0f, 80.0f, 0.25f, 0.4f, 1.0f, Z2Calc::CURVE_NEGATIVE);
}
- var_f30 = Z2Calc::getParamByExp(mMoveSpeed, 0.0f, 80.0f, 0.3f, 0.5f, 1.1f, Z2Calc::CURVE_SIGN_0);
+ pitch = Z2Calc::getParamByExp(mMoveSpeed, 0.0f, 80.0f, 0.3f, 0.5f, 1.1f, Z2Calc::CURVE_NEGATIVE);
break;
case Z2SE_AL_LIGHTNING_SW_GLOW:
- f32 temp_f1_2 = (*temp_r3)->getAuxiliary().mTransition.mVolume.mDest;
+ f32 temp_f1_2 = (*handle)->getAuxiliary().transition_.volume_.targetValue_;
if (Z2GetStatusMgr()->getDemoStatus() == 2 && temp_f1_2 != 0.3f) {
- var_f31 = 0.3f;
- var_r30 = 45;
+ volume = 0.3f;
+ volumeMoveSteps = 45;
} else if (temp_f1_2 != 1.0f) {
- var_f31 = 1.0f;
- var_r30 = 45;
+ volume = 1.0f;
+ volumeMoveSteps = 45;
}
break;
}
- (*temp_r3)->getAuxiliary().moveVolume(var_f31, var_r30);
- (*temp_r3)->getAuxiliary().movePitch(var_f30, 0);
+ (*handle)->getAuxiliary().moveVolume(volume, volumeMoveSteps);
+ (*handle)->getAuxiliary().movePitch(pitch, 0);
}
- return temp_r3;
+ return handle;
}
/* 802C4320-802C45B0 2BEC60 0290+00 1/1 1/1 0/0 .text
* startLinkVoice__14Z2CreatureLinkF10JAISoundIDSc */
-Z2SoundHandlePool* Z2CreatureLink::startLinkVoice(JAISoundID i_soundID, s8 param_1) {
+Z2SoundHandlePool* Z2CreatureLink::startLinkVoice(JAISoundID soundID, s8 reverb) {
if (mLinkState == 1) {
- switch (i_soundID) {
+ switch (soundID) {
case Z2SE_WL_V_BREATH_WAIT:
case Z2SE_WL_V_BREATH_TIRED:
case Z2SE_WL_V_BREATH_SIT:
@@ -392,57 +403,56 @@ Z2SoundHandlePool* Z2CreatureLink::startLinkVoice(JAISoundID i_soundID, s8 param
break;
}
} else {
- if (i_soundID == Z2SE_AL_V_ATTACK_RUN) {
+ if (soundID == Z2SE_AL_V_ATTACK_RUN) {
if (field_0xc1 < 10) {
return NULL;
}
field_0xc1 = 0;
}
- if (mMarkState != 3 && Z2GetSoundObjMgr()->getEnemyNumNear() == 0
- && !Z2GetSoundObjMgr()->isForceBattle())
+ if (mMarkState != 3 && Z2GetSoundObjMgr()->getEnemyNumNear() == 0 && !Z2GetSoundObjMgr()->isForceBattle())
{
- switch (i_soundID) {
+ switch (soundID) {
case Z2SE_AL_V_ATTACK_S:
- i_soundID = Z2SE_AL_V_ATTACK_S_FREE;
+ soundID = Z2SE_AL_V_ATTACK_S_FREE;
break;
case Z2SE_AL_V_ATTACK_M:
case Z2SE_AL_V_TATE_OSHI:
- i_soundID = Z2SE_AL_V_ATTACK_M_FREE;
+ soundID = Z2SE_AL_V_ATTACK_M_FREE;
break;
case Z2SE_AL_V_ATTACK_L:
- i_soundID = Z2SE_AL_V_ATTACK_L_FREE;
+ soundID = Z2SE_AL_V_ATTACK_L_FREE;
break;
case Z2SE_AL_V_KAITEN:
- i_soundID = Z2SE_AL_V_KAITEN_FREE;
+ soundID = Z2SE_AL_V_KAITEN_FREE;
break;
case Z2SE_AL_V_BACKTEN:
case Z2SE_AL_V_SOTOMO_ROLL:
- i_soundID = Z2SE_AL_V_BACKTEN_FREE;
+ soundID = Z2SE_AL_V_BACKTEN_FREE;
break;
case Z2SE_AL_V_ATTACK_RUN:
- i_soundID = Z2SE_AL_V_ATTACK_RUN_FREE;
+ soundID = Z2SE_AL_V_ATTACK_RUN_FREE;
break;
}
} else {
- if (i_soundID == Z2SE_AL_V_JUMP_S) {
- i_soundID = Z2SE_AL_V_BACKTEN;
+ if (soundID == Z2SE_AL_V_JUMP_S) {
+ soundID = Z2SE_AL_V_BACKTEN;
}
}
if (isInWater()) {
- i_soundID = Z2SE_AL_V_UNDER_WATER;
+ soundID = Z2SE_AL_V_UNDER_WATER;
}
}
- return startCreatureVoice(i_soundID, param_1);
+ return startCreatureVoice(soundID, reverb);
}
/* 802C45B0-802C46F0 2BEEF0 0140+00 0/0 1/1 0/0 .text
* startLinkVoiceLevel__14Z2CreatureLinkF10JAISoundIDSc */
-Z2SoundHandlePool* Z2CreatureLink::startLinkVoiceLevel(JAISoundID i_soundID, s8 param_1) {
+Z2SoundHandlePool* Z2CreatureLink::startLinkVoiceLevel(JAISoundID soundID, s8 reverb) {
if (mLinkState == 1) {
- switch (i_soundID) {
+ switch (soundID) {
case Z2SE_WL_V_ROAR:
f32 volume = 0.0f;
u8 port_data = 0;
@@ -465,7 +475,7 @@ Z2SoundHandlePool* Z2CreatureLink::startLinkVoiceLevel(JAISoundID i_soundID, s8
break;
}
- Z2SoundHandlePool* handle = startCreatureVoiceLevel(Z2SE_WL_V_ROAR, param_1);
+ Z2SoundHandlePool* handle = startCreatureVoiceLevel(Z2SE_WL_V_ROAR, reverb);
if (handle != NULL && *handle) {
(*handle)->getAuxiliary().moveVolume(volume, 0);
Z2GetSoundStarter()->setPortData(handle, 8, port_data, -1);
@@ -474,23 +484,33 @@ Z2SoundHandlePool* Z2CreatureLink::startLinkVoiceLevel(JAISoundID i_soundID, s8
}
}
- return startCreatureVoiceLevel(i_soundID, param_1);
+ return startCreatureVoiceLevel(soundID, reverb);
}
/* 802C46F0-802C4784 2BF030 0094+00 0/0 2/2 0/0 .text
* startLinkSwordSound__14Z2CreatureLinkF10JAISoundIDUlSc */
-void Z2CreatureLink::startLinkSwordSound(JAISoundID i_soundID, u32 id, s8 ch) {
- u32 soundID = i_soundID;
+void Z2CreatureLink::startLinkSwordSound(JAISoundID soundID, u32 mapinfo, s8 reverb) {
+ u32 sound_ID = soundID; // fakematch
- switch (soundID) {
+ switch (sound_ID) {
case Z2SE_SWORD_POWER_COME:
- startCreatureExtraSoundLevel(soundID, id, ch);
+ #if PLATFORM_WII || PLATFORM_SHIELD
+ if (Z2GetSceneMgr()->isSceneExist()) {
+ Z2AudioCS::startLevel(0x2F, 0);
+ }
+ #endif
+ startCreatureExtraSoundLevel(sound_ID, mapinfo, reverb);
break;
case Z2SE_WOLF_POWER_COME:
- startCreatureExtraSoundLevel(soundID, id, ch);
+ #if PLATFORM_WII || PLATFORM_SHIELD
+ if (Z2GetSceneMgr()->isSceneExist()) {
+ Z2AudioCS::startLevel(0x6B, 0);
+ }
+ #endif
+ startCreatureExtraSoundLevel(sound_ID, mapinfo, reverb);
break;
default:
- startCreatureExtraSound(soundID, id, ch);
+ startCreatureExtraSound(sound_ID, mapinfo, reverb);
break;
}
}
@@ -515,30 +535,33 @@ Z2SoundHandlePool* Z2CreatureLink::startCollisionSE(u32 hitID, u32 mapinfo) {
/* 802C4814-802C48D8 2BF154 00C4+00 0/0 4/4 2/2 .text
* startHitItemSE__14Z2CreatureLinkFUlUlP14Z2SoundObjBasef */
-Z2SoundHandlePool* Z2CreatureLink::startHitItemSE(u32 i_soundID, u32 param_1,
- Z2SoundObjBase* param_2, f32 speed) {
- if (param_2 == NULL) {
- param_2 = &mSoundObjSimple2;
+Z2SoundHandlePool* Z2CreatureLink::startHitItemSE(u32 soundID, u32 mapinfo, Z2SoundObjBase* other, f32 speed) {
+ if (other == NULL) {
+ other = &mSoundObjSimple2;
}
- if (i_soundID == Z2SE_HIT_SHIELD_ATTACK) {
- return mSoundObjAnime.startCollisionSE(i_soundID, param_1, NULL);
+ if (soundID == Z2SE_HIT_SHIELD_ATTACK) {
+ return mSoundObjAnime.startCollisionSE(soundID, mapinfo, NULL);
}
- Z2SoundHandlePool* handle = param_2->startCollisionSE(i_soundID, param_1, NULL);
+ Z2SoundHandlePool* handle = other->startCollisionSE(soundID, mapinfo, NULL);
if (speed >= 0.0f && handle != NULL && *handle) {
+ OS_REPORT("[Z2CreatureLink::startHitItemSE] speed:%.3f\n", speed);
if (speed >= 100.0f) {
speed = 100.0f;
}
- (*handle)->getAuxiliary().moveVolume(speed / 100.0f, 0);
+
+ f32 volume = speed / 100.0f;
+ (*handle)->getAuxiliary().moveVolume(volume, 0);
}
+
return handle;
}
/* 802C48D8-802C48E8 2BF218 0010+00 0/0 1/1 0/0 .text setResumeAttack__14Z2CreatureLinkFb
*/
-void Z2CreatureLink::setResumeAttack(bool i_resumeAttack) {
- mResumeAttack = i_resumeAttack;
+void Z2CreatureLink::setResumeAttack(bool resumeAttack) {
+ mResumeAttack = resumeAttack;
}
/* 802C48E8-802C4928 2BF228 0040+00 1/1 0/0 0/0 .text __ct__18Z2LinkSoundStarterFv */
@@ -546,47 +569,47 @@ Z2LinkSoundStarter::Z2LinkSoundStarter() : Z2SoundStarter(false) {}
/* 802C4928-802C4FFC 2BF268 06D4+00 2/0 0/0 0/0 .text
* startSound__18Z2LinkSoundStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f>UlfffffUl */
-bool Z2LinkSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_1,
- JGeometry::TVec3<f32> const* param_2, u32 param_3,
- f32 param_4, f32 param_5, f32 param_6, f32 param_7,
- f32 param_8, u32 param_9) {
+bool Z2LinkSoundStarter::startSound(JAISoundID soundID, JAISoundHandle* handle,
+ const JGeometry::TVec3<f32>* posPtr, u32 mapinfo,
+ f32 fxMix, f32 pitch, f32 volume, f32 pan,
+ f32 dolby, u32 moveSteps) {
bool bVar2 = false;
bool bVar3 = false;
if (Z2GetLink()->isInWater() && Z2GetStatusMgr()->getCameraInWaterDepthRatio() > 0.0f) {
- switch (i_soundID) {
+ switch (soundID) {
case Z2SE_AL_SWIM:
case Z2SE_AL_DIVE_SWIM:
- i_soundID = Z2SE_AL_SWIM_UNDERWATER;
+ soundID = Z2SE_AL_SWIM_UNDERWATER;
break;
case Z2SE_AL_SWORD_SWING_S:
case Z2SE_AL_FINISH_SWING1:
case Z2SE_AL_FINISH_SWING2:
case Z2SE_AL_WAIT_SWORD_SWING:
- i_soundID = Z2SE_AL_WATER_STROKE_S;
+ soundID = Z2SE_AL_WATER_STROKE_S;
break;
case Z2SE_AL_SWORD_SWING_L:
- i_soundID = Z2SE_AL_WATER_STROKE_L;
+ soundID = Z2SE_AL_WATER_STROKE_L;
break;
case Z2SE_AL_SWORD_THRUST:
- i_soundID = Z2SE_AL_WATER_STROKE_FAST;
+ soundID = Z2SE_AL_WATER_STROKE_FAST;
break;
case Z2SE_AL_KAITENGIRI:
- i_soundID = Z2SE_AL_WATER_STROKE_CIRCLE;
+ soundID = Z2SE_AL_WATER_STROKE_CIRCLE;
break;
}
}
- if (i_soundID.mId.mBytes.b1 == 3 && param_3 > 26) {
- if (param_3 == 44) {
- param_3 = 23;
+ if (soundID.id_.info.type.parts.groupID == 3 && mapinfo > 26) {
+ if (mapinfo == 44) {
+ mapinfo = 23;
} else {
JUT_WARN_DEVICE(929, 1, "%s", "mapinfo > 26\n");
- param_3 = 0;
+ mapinfo = 0;
}
}
- switch (i_soundID) {
+ switch (soundID) {
case Z2SE_AL_INTO_WATER:
case Z2SE_AL_DIVE_INTO_WATER:
case Z2SE_WL_INTO_WATER:
@@ -602,9 +625,9 @@ bool Z2LinkSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_
case Z2SE_GORON_FOOTNOTE:
case Z2SE_FN_GOB_JUMP:
if (Z2GetLink()->mLinkBootsType == 1) {
- i_soundID = Z2SE_FN_WALK_HEAVY;
+ soundID = Z2SE_FN_WALK_HEAVY;
if (Z2GetLink()->mMagnetized) {
- param_3 = 127;
+ mapinfo = 127;
}
}
bVar3 = true;
@@ -613,9 +636,9 @@ bool Z2LinkSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_
bVar2 = true;
bVar3 = true;
if (Z2GetLink()->mLinkBootsType == 1) {
- i_soundID = Z2SE_FN_JUMP_HEAVY;
+ soundID = Z2SE_FN_JUMP_HEAVY;
if (Z2GetLink()->mMagnetized) {
- param_3 = 127;
+ mapinfo = 127;
}
}
if (Z2GetLink()->mSoundObjSimple1.getHandleSoundID(Z2SE_AL_V_FALL) != NULL) {
@@ -640,7 +663,7 @@ bool Z2LinkSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_
}
if (Z2GetLink()->mSinkDepth > 0) {
- switch (i_soundID) {
+ switch (soundID) {
case Z2SE_FN_WALK_DUMMY:
case Z2SE_FN_JUMP_DUMMY:
case Z2SE_FN_BOUND_DUMMY:
@@ -651,32 +674,32 @@ bool Z2LinkSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_
case Z2SE_WL_WALK_R_DUMMY:
case Z2SE_WL_RUN_L_DUMMY:
case Z2SE_WL_RUN_R_DUMMY:
- if (param_3 == 3) {
- param_5 *= Z2Calc::linearTransform(Z2GetLink()->mSinkDepth,
+ if (mapinfo == 3) {
+ pitch *= Z2Calc::linearTransform(Z2GetLink()->mSinkDepth,
0.0f, 127.0f, 1.0f, 0.5f, true);
- } else if (param_3 == 25) {
- param_5 *= Z2Calc::linearTransform(Z2GetLink()->mSinkDepth,
+ } else if (mapinfo == 25) {
+ pitch *= Z2Calc::linearTransform(Z2GetLink()->mSinkDepth,
0.0f, 23.0f, 1.0f, 0.7f, true);
}
break;
}
}
- bool ret = Z2SoundStarter::startSound(i_soundID, param_1, param_2, param_3, param_4, param_5,
- param_6, param_7, param_8, param_9);
+ bool ret = Z2SoundStarter::startSound(soundID, handle, posPtr, mapinfo, fxMix, pitch,
+ volume, pan, dolby, moveSteps);
if (bVar2 && Z2GetSceneMgr()->getDemoSeWaveNum() != 114) {
if (Z2GetLink()->mFlag5) {
- Z2GetLink()->startLinkSound(Z2SE_AL_SWORD_SHIELD_ADD, 0, param_4 * 127.0f);
+ Z2GetLink()->startLinkSound(Z2SE_AL_SWORD_SHIELD_ADD, 0, fxMix * 127.0f);
}
if (Z2GetLink()->mUsingIronBall) {
- Z2GetLink()->startLinkSound(Z2SE_AL_IB_CHAIN_ADD, 0, param_4 * 127.0f);
+ Z2GetLink()->startLinkSound(Z2SE_AL_IB_CHAIN_ADD, 0, fxMix * 127.0f);
}
if (Z2GetLink()->mKanteraState != 0) {
Z2SoundHandlePool* handle =
- Z2GetLink()->mKantera.startSound(Z2SE_AL_KANTERA_SWING_ADD, 0, param_4 * 127.0f);
+ Z2GetLink()->mKantera.startSound(Z2SE_AL_KANTERA_SWING_ADD, 0, fxMix * 127.0f);
if (Z2GetLink()->mKanteraState == 2 && handle != NULL && *handle) {
(*handle)->getAuxiliary().moveVolume(0.6f, 0);
(*handle)->getAuxiliary().movePitch(0.9f, 0);
@@ -686,9 +709,9 @@ bool Z2LinkSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_
if (bVar3) {
if (Z2GetLink()->getLinkState() == 4) {
- Z2GetLink()->startLinkSound(Z2SE_FN_ARMER_LIGHT_ADD, 0, param_4 * 127.0f);
+ Z2GetLink()->startLinkSound(Z2SE_FN_ARMER_LIGHT_ADD, 0, fxMix * 127.0f);
} else if (Z2GetLink()->getLinkState() == 5) {
- Z2GetLink()->startLinkSound(Z2SE_FN_ARMER_HEAVY_ADD, 0, param_4 * 127.0f);
+ Z2GetLink()->startLinkSound(Z2SE_FN_ARMER_HEAVY_ADD, 0, fxMix * 127.0f);
}
}
@@ -713,8 +736,8 @@ void Z2CreatureRide::deleteObject() {
}
/* 802C520C-802C522C 2BFB4C 0020+00 0/0 0/0 3/3 .text init__14Z2CreatureRideFP3VecP3VecUcUc */
-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);
+void Z2CreatureRide::init(Vec* animePosPtr, Vec* simplePosPtr, u8 animeHandleNum, u8 simpleHandleNum) {
+ Z2Creature::init(animePosPtr, simplePosPtr, animeHandleNum, simpleHandleNum);
}
/* 802C522C-802C5234 -00001 0008+00 0/0 0/0 0/0 .text setLinkRiding__14Z2CreatureRideFb
@@ -727,20 +750,21 @@ void Z2CreatureRide::setLinkRiding(bool isRiding) {
*/
Z2RideSoundStarter::Z2RideSoundStarter(Z2CreatureRide* ride) : Z2SoundStarter(false) {
mRide = ride;
+ JUT_ASSERT(1294, ride);
}
/* 802C5284-802C54B8 2BFBC4 0234+00 2/0 0/0 0/0 .text
* startSound__18Z2RideSoundStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f>UlfffffUl */
-bool Z2RideSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_1,
- JGeometry::TVec3<f32> const* param_2, u32 param_3,
- f32 param_4, f32 param_5, f32 param_6, f32 param_7,
- f32 param_8, u32 param_9) {
+bool Z2RideSoundStarter::startSound(JAISoundID soundID, JAISoundHandle* handle,
+ const JGeometry::TVec3<f32>* posPtr, u32 mapinfo,
+ f32 fxMix, f32 pitch, f32 volume, f32 pan,
+ f32 dolby, u32 moveSteps) {
if (!Z2GetSceneMgr()->isInGame()) {
return false;
}
u8 uVar3 = 0;
- switch (i_soundID) {
+ switch (soundID) {
case Z2SE_HS_WALK_L_DUMMY:
case Z2SE_HS_WALK_R_DUMMY:
case Z2SE_HS_TROT_L_DUMMY:
@@ -755,17 +779,17 @@ bool Z2RideSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_
break;
}
- bool ret = Z2SoundStarter::startSound((u32)i_soundID, param_1, param_2, param_3, param_4, param_5,
- param_6, param_7, param_8, param_9);
+ bool ret = Z2SoundStarter::startSound((u32)soundID, handle, posPtr, mapinfo, fxMix, pitch,
+ volume, pan, dolby, moveSteps);
if (mRide->isLinkRiding() && uVar3 != 0) {
if (Z2GetLink()->mFlag5) {
- Z2GetLink()->startLinkSound(Z2SE_AL_SWORD_SHIELD_ADD, 0, param_4 * 127.0f);
+ Z2GetLink()->startLinkSound(Z2SE_AL_SWORD_SHIELD_ADD, 0, fxMix * 127.0f);
}
if (Z2GetLink()->mKanteraState != 0) {
Z2SoundHandlePool* handle =
- Z2GetLink()->mKantera.startSound(Z2SE_AL_KANTERA_SWING_ADD, 0, param_4 * 127.0f);
+ Z2GetLink()->mKantera.startSound(Z2SE_AL_KANTERA_SWING_ADD, 0, fxMix * 127.0f);
if (Z2GetLink()->mKanteraState == 2 && handle != NULL && *handle) {
(*handle)->getAuxiliary().moveVolume(0.6f, 0);
(*handle)->getAuxiliary().movePitch(0.9f, 0);
@@ -774,11 +798,10 @@ bool Z2RideSoundStarter::startSound(JAISoundID i_soundID, JAISoundHandle* param_
switch (uVar3) {
case 1:
- Z2GetLink()->startLinkSound(Z2SE_AL_HARNESS_ADD_HS, 0, param_4 * 127.0f);
+ Z2GetLink()->startLinkSound(Z2SE_AL_HARNESS_ADD_HS, 0, fxMix * 127.0f);
break;
-
case 2:
- Z2GetLink()->startLinkSound(Z2SE_AL_HARNESS_ADD_WB, 0, param_4 * 127.0f);
+ Z2GetLink()->startLinkSound(Z2SE_AL_HARNESS_ADD_WB, 0, fxMix * 127.0f);
break;
}
}
@@ -792,8 +815,8 @@ Z2SoundObjCoach::Z2SoundObjCoach() {
}
/* 802C54FC-802C551C 2BFE3C 0020+00 1/0 0/0 0/0 .text init__15Z2SoundObjCoachFP3VecUc */
-void Z2SoundObjCoach::init(Vec* i_soundPos, u8 i_numHandles) {
- Z2SoundObjBase::init(i_soundPos, i_numHandles);
+void Z2SoundObjCoach::init(Vec* posPtr, u8 handleNum) {
+ Z2SoundObjBase::init(posPtr, handleNum);
}
/* 802C551C-802C56C0 2BFE5C 01A4+00 0/0 0/0 1/1 .text startWheelSound__15Z2SoundObjCoachFf */
@@ -805,20 +828,20 @@ Z2SoundHandlePool* Z2SoundObjCoach::startWheelSound(f32 param_0) {
handle = startLevelSound(Z2SE_COACH_WHEEL_ROLL_A, 0, -1);
if (handle != NULL && *handle) {
f32 pitch = Z2Calc::getParamByExp(param_0, 0.0f, 35.0f, 0.25f, 0.88f, 1.25f,
- Z2Calc::CURVE_SIGN_1);
+ Z2Calc::CURVE_POSITIVE);
(*handle)->getAuxiliary().movePitch(pitch, 0);
f32 volume = Z2Calc::getParamByExp(param_0, 0.0f, 35.0f, 0.3f, 0.7f, 1.0f,
- Z2Calc::CURVE_SIGN_1);
+ Z2Calc::CURVE_POSITIVE);
(*handle)->getAuxiliary().moveVolume(volume, 0);
}
} else {
handle = startLevelSound(Z2SE_COACH_WHEEL_ROLL_B, 0, -1);
if (handle != NULL && *handle) {
f32 pitch = Z2Calc::getParamByExp(param_0, 35.0f, 50.0f, 0.25f, 0.88f, 1.25f,
- Z2Calc::CURVE_SIGN_1);
+ Z2Calc::CURVE_POSITIVE);
(*handle)->getAuxiliary().movePitch(pitch, 0);
f32 volume = Z2Calc::getParamByExp(param_0, 35.0f, 50.0f, 0.3f, 0.8f, 1.0f,
- Z2Calc::CURVE_SIGN_1);
+ Z2Calc::CURVE_POSITIVE);
(*handle)->getAuxiliary().moveVolume(volume, 0);
}
}
@@ -834,10 +857,10 @@ Z2SoundHandlePool* Z2SoundObjCoach::startFireSound(u16 param_0) {
if (handle != NULL && *handle) {
f32 pitch = Z2Calc::getParamByExp(param_0, 0.0f, 1500.0f, 0.2f, 0.85f, 1.25f,
- Z2Calc::CURVE_SIGN_1);
+ Z2Calc::CURVE_POSITIVE);
(*handle)->getAuxiliary().movePitch(pitch, 0);
f32 volume = Z2Calc::getParamByExp(param_0, 0.0f, 1500.0f, 0.2f, 0.6f, 1.0f,
- Z2Calc::CURVE_SIGN_1);
+ Z2Calc::CURVE_POSITIVE);
(*handle)->getAuxiliary().moveVolume(volume, 0);
}
@@ -846,15 +869,15 @@ Z2SoundHandlePool* Z2SoundObjCoach::startFireSound(u16 param_0) {
/* 802C57C0-802C588C 2C0100 00CC+00 1/0 0/0 0/0 .text
* startSound__15Z2SoundObjCoachF10JAISoundIDUlSc */
-Z2SoundHandlePool* Z2SoundObjCoach::startSound(JAISoundID i_soundID, u32 param_1, s8 param_2) {
- Z2SoundHandlePool* handle = Z2SoundObjBase::startSound(i_soundID, param_1, param_2);
+Z2SoundHandlePool* Z2SoundObjCoach::startSound(JAISoundID soundID, u32 mapinfo, s8 reverb) {
+ Z2SoundHandlePool* handle = Z2SoundObjBase::startSound(soundID, mapinfo, reverb);
- if (handle != NULL && *handle && i_soundID == Z2SE_COACH_SHAKE) {
+ if (handle != NULL && *handle && soundID == Z2SE_COACH_SHAKE) {
f32 pitch = Z2Calc::getParamByExp(field_0x20, 0.0f, 50.0f, 0.2f, 0.85f, 1.25f,
- Z2Calc::CURVE_SIGN_1);
+ Z2Calc::CURVE_POSITIVE);
(*handle)->getAuxiliary().movePitch(pitch, 0);
f32 volume = Z2Calc::getParamByExp(field_0x20, 0.0f, 50.0f, 0.2f, 0.8f, 1.0f,
- Z2Calc::CURVE_SIGN_1);
+ Z2Calc::CURVE_POSITIVE);
(*handle)->getAuxiliary().moveVolume(volume, 0);
}