mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-29 07:21:54 -04:00
JAudio2 and Z2AudioLib work (#2223)
* JAudio2 and Z2AudioLib work * check1stDynamicWave matched
This commit is contained in:
+27
-376
@@ -6,131 +6,12 @@
|
||||
#include "Z2AudioLib/Z2Audience.h"
|
||||
#include "Z2AudioLib/Z2SoundInfo.h"
|
||||
#include "Z2AudioLib/Z2Calc.h"
|
||||
#include "Z2AudioLib/Z2Param.h"
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "JSystem/JMath/JMATrigonometric.h"
|
||||
#include "JSystem/JGeometry.h"
|
||||
#include "JSystem/J3DU/J3DUD.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct Z2Param {
|
||||
static f32 DISTANCE_MAX;
|
||||
static f32 MAX_VOLUME_DISTANCE;
|
||||
static f32 DOLBY_CENTER_VALUE;
|
||||
static f32 DOLBY_FLONT_DISTANCE_MAX;
|
||||
static f32 DOLBY_BEHIND_DISTANCE_MAX;
|
||||
static f32 DISTANCE_FX_PARAM;
|
||||
static f32 SONIC_SPEED;
|
||||
static f32 MIN_DISTANCE_VOLUME;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void func_802BBCDC();
|
||||
extern "C" void func_802BBD18();
|
||||
extern "C" void func_802BBD94();
|
||||
extern "C" void __ct__16Z2AudibleChannelFv();
|
||||
extern "C" void calc__9Z2AudibleFv();
|
||||
extern "C" void getOuterParams__9Z2AudibleFi();
|
||||
extern "C" void setOuterParams__9Z2AudibleFRC14JASSoundParamsRC14JASSoundParamsi();
|
||||
extern "C" void getChannel__9Z2AudibleFi();
|
||||
extern "C" void getDistVolBit__9Z2AudibleFv();
|
||||
extern "C" void __ct__19Z2Audience3DSettingFv();
|
||||
extern "C" void init__19Z2Audience3DSettingFv();
|
||||
extern "C" void initVolumeDist__19Z2Audience3DSettingFv();
|
||||
extern "C" void updateVolumeDist__19Z2Audience3DSettingFf();
|
||||
extern "C" void initDolbyDist__19Z2Audience3DSettingFv();
|
||||
extern "C" void updateDolbyDist__19Z2Audience3DSettingFff();
|
||||
extern "C" void __ct__13Z2AudioCameraFv();
|
||||
extern "C" void init__13Z2AudioCameraFv();
|
||||
extern "C" void setCameraState__13Z2AudioCameraFPA4_CfR3Vecb();
|
||||
extern "C" void setCameraState__13Z2AudioCameraFPA4_fR3VecR3Vecffbb();
|
||||
extern "C" void convertAbsToRel__13Z2AudioCameraFP9Z2Audiblei();
|
||||
extern "C" void convertAbsToRel__13Z2AudioCameraCFR3VecP3Vec();
|
||||
extern "C" void isInSight__13Z2AudioCameraCFR3Vec();
|
||||
extern "C" void __ct__9Z2SpotMicFv();
|
||||
extern "C" void clearMicState__9Z2SpotMicFi();
|
||||
extern "C" void calcVolumeFactor__9Z2SpotMicFi();
|
||||
extern "C" void setMicState__9Z2SpotMicFP13Z2AudioCamerai();
|
||||
extern "C" void calcMicDist__9Z2SpotMicFP9Z2Audible();
|
||||
extern "C" void calcMicPriority__9Z2SpotMicFf();
|
||||
extern "C" void calcMicVolume__9Z2SpotMicFfif();
|
||||
extern "C" void __ct__10Z2AudienceFv();
|
||||
extern "C" void __dt__10Z2AudienceFv();
|
||||
extern "C" void func_802BD288(void* _this);
|
||||
extern "C" void setAudioCamera__10Z2AudienceFPA4_fR3VecR3Vecffbib();
|
||||
extern "C" void func_802BD338();
|
||||
extern "C" void deleteAudible__10Z2AudienceFP10JAIAudible();
|
||||
extern "C" void __dt__9Z2AudibleFv();
|
||||
extern "C" void calcPriority__10Z2AudienceFP10JAIAudible();
|
||||
extern "C" void calcOffMicSound__10Z2AudienceFf();
|
||||
extern "C" void mixChannelOut__10Z2AudienceFRC14JASSoundParamsP10JAIAudiblei();
|
||||
extern "C" void setTargetVolume__10Z2AudienceFfi();
|
||||
extern "C" void convertAbsToRel__10Z2AudienceFR3VecP3Veci();
|
||||
extern "C" void calcRelPosVolume__10Z2AudienceFRC3Vecfi();
|
||||
extern "C" void calcRelPosPan__10Z2AudienceFRC3Veci();
|
||||
extern "C" void calcRelPosDolby__10Z2AudienceFRC3Veci();
|
||||
extern "C" void calcVolume___10Z2AudienceCFfi();
|
||||
extern "C" void calcDeltaPriority___10Z2AudienceCFfib();
|
||||
extern "C" void func_802BDCB0();
|
||||
extern "C" void calcFxMix___10Z2AudienceCFfi();
|
||||
extern "C" void calcPitch___10Z2AudienceCFP16Z2AudibleChannelPC9Z2AudiblePC13Z2AudioCamera();
|
||||
extern "C" void getMaxChannels__10Z2AudienceFv();
|
||||
extern "C" void __sinit_Z2Audience_cpp();
|
||||
extern "C" extern u8 struct_80451358[8];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__17JASGenericMemPoolFv();
|
||||
extern "C" void __dt__17JASGenericMemPoolFv();
|
||||
extern "C" void alloc__17JASGenericMemPoolFUl();
|
||||
extern "C" void free__17JASGenericMemPoolFPvUl();
|
||||
extern "C" void clamp__14JASSoundParamsFv();
|
||||
extern "C" void combine__14JASSoundParamsFRC14JASSoundParamsRC14JASSoundParams();
|
||||
extern "C" void __dt__10JAIAudibleFv();
|
||||
extern "C" void __dt__11JAIAudienceFv();
|
||||
extern "C" void linearTransform__6Z2CalcFfffffb();
|
||||
extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign();
|
||||
extern "C" void getAudibleSwFull__11Z2SoundInfoF10JAISoundID();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void __cvt_fp2unsigned();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__10JAIAudible[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__11JAIAudience[8];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" f32 DISTANCE_MAX__7Z2Param;
|
||||
extern "C" f32 MAX_VOLUME_DISTANCE__7Z2Param;
|
||||
extern "C" f32 DOLBY_CENTER_VALUE__7Z2Param;
|
||||
extern "C" f32 DOLBY_FLONT_DISTANCE_MAX__7Z2Param;
|
||||
extern "C" f32 DOLBY_BEHIND_DISTANCE_MAX__7Z2Param;
|
||||
extern "C" f32 DISTANCE_FX_PARAM__7Z2Param;
|
||||
extern "C" f32 SONIC_SPEED__7Z2Param;
|
||||
extern "C" extern u8 data_80450B4C[4];
|
||||
extern "C" f32 MIN_DISTANCE_VOLUME__7Z2Param;
|
||||
extern "C" extern u8 __OSReport_disable;
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 802BBCDC-802BBD18 2B661C 003C+00 1/1 0/0 0/0 .text
|
||||
* calc__15Z2AudibleAbsPosFRCQ29JGeometry8TVec3<f> */
|
||||
@@ -139,15 +20,6 @@ void Z2AudibleAbsPos::calc(JGeometry::TVec3<f32> const& param_0) {
|
||||
field_0x0.set(param_0);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455AA0-80455AA4 0040A0 0004+00 19/19 0/0 0/0 .sdata2 @848 */
|
||||
SECTION_SDATA2 static u8 lit_848[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 802BBD18-802BBD94 2B6658 007C+00 1/1 0/0 0/0 .text
|
||||
* init__15Z2AudibleAbsPosFPQ29JGeometry8TVec3<f>RCQ29JGeometry8TVec3<f>PCQ29JGeometry8TVec3<f> */
|
||||
void Z2AudibleAbsPos::init(JGeometry::TVec3<f32>* param_0, JGeometry::TVec3<f32> const& param_1,
|
||||
@@ -162,40 +34,6 @@ void Z2AudibleAbsPos::init(JGeometry::TVec3<f32>* param_0, JGeometry::TVec3<f32>
|
||||
field_0xc.zero();
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CAC98-803CACB8 027DB8 0020+00 2/2 0/0 0/0 .data __vt__10Z2Audience */
|
||||
SECTION_DATA extern void* __vt__10Z2Audience[8] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10Z2AudienceFv,
|
||||
(void*)func_802BD338,
|
||||
(void*)getMaxChannels__10Z2AudienceFv,
|
||||
(void*)deleteAudible__10Z2AudienceFP10JAIAudible,
|
||||
(void*)calcPriority__10Z2AudienceFP10JAIAudible,
|
||||
(void*)mixChannelOut__10Z2AudienceFRC14JASSoundParamsP10JAIAudiblei,
|
||||
};
|
||||
|
||||
/* 803CACB8-803CACD0 027DD8 0014+04 2/2 0/0 0/0 .data __vt__9Z2Audible */
|
||||
SECTION_DATA extern void* __vt__9Z2Audible[5 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__9Z2AudibleFv,
|
||||
(void*)getOuterParams__9Z2AudibleFi,
|
||||
(void*)calc__9Z2AudibleFv,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 80455AA4-80455AA8 0040A4 0004+00 16/16 0/0 0/0 .sdata2 @894 */
|
||||
SECTION_SDATA2 static f32 lit_894 = 1.0f;
|
||||
|
||||
/* 80455AA8-80455AAC 0040A8 0004+00 10/10 0/0 0/0 .sdata2 @895 */
|
||||
SECTION_SDATA2 static f32 lit_895 = 0.5f;
|
||||
|
||||
/* 80455AAC-80455AB0 0040AC 0004+00 5/5 0/0 0/0 .sdata2 @896 */
|
||||
SECTION_SDATA2 static f32 lit_896 = -1.0f;
|
||||
|
||||
/* 802BBD94-802BBE74 2B66D4 00E0+00 1/1 0/0 0/0 .text
|
||||
* __ct__9Z2AudibleFRCQ29JGeometry8TVec3<f>PCQ29JGeometry8TVec3<f>Ulb */
|
||||
Z2Audible::Z2Audible(JGeometry::TVec3<f32> const& param_0, JGeometry::TVec3<f32> const* param_1,
|
||||
@@ -230,39 +68,9 @@ JASSoundParams* Z2Audible::getOuterParams(int param_0) {
|
||||
return &field_0x2c[param_0].field_0x0;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455AB0-80455AB4 0040B0 0004+00 4/4 0/0 0/0 .sdata2 @998 */
|
||||
SECTION_SDATA2 static f32 lit_998 = 3.0f;
|
||||
|
||||
/* 80455AB4-80455AB8 0040B4 0004+00 1/1 0/0 0/0 .sdata2 @999 */
|
||||
SECTION_SDATA2 static f32 lit_999 = 15.0f;
|
||||
|
||||
/* 80455AB8-80455ABC 0040B8 0004+00 4/4 0/0 0/0 .sdata2 @1000 */
|
||||
SECTION_SDATA2 static f32 lit_1000 = 3.0f / 10.0f;
|
||||
|
||||
/* 80455ABC-80455AC0 0040BC 0004+00 1/1 0/0 0/0 .sdata2 @1001 */
|
||||
SECTION_SDATA2 static f32 lit_1001 = 0.0010000000474974513f;
|
||||
|
||||
/* 80455AC0-80455AC4 0040C0 0004+00 2/2 0/0 0/0 .sdata2 @1002 */
|
||||
SECTION_SDATA2 static f32 lit_1002 = 1.0f / 10.0f;
|
||||
|
||||
/* 80455AC4-80455AC8 0040C4 0004+00 1/1 0/0 0/0 .sdata2 @1003 */
|
||||
SECTION_SDATA2 static f32 lit_1003 = 1.0f / 30.0f;
|
||||
|
||||
/* 80455AC8-80455AD0 0040C8 0004+04 1/1 0/0 0/0 .sdata2 @1004 */
|
||||
SECTION_SDATA2 static f32 lit_1004[1 + 1 /* padding */] = {
|
||||
1.0f / 3.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80455AD0-80455AD8 0040D0 0008+00 4/4 0/0 0/0 .sdata2 @1008 */
|
||||
SECTION_SDATA2 static f64 lit_1008 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 802BBEE4-802BC204 2B6824 0320+00 1/1 0/0 0/0 .text
|
||||
* setOuterParams__9Z2AudibleFRC14JASSoundParamsRC14JASSoundParamsi */
|
||||
// regalloc
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING regalloc
|
||||
void Z2Audible::setOuterParams(JASSoundParams const& param_0, JASSoundParams const& param_1,
|
||||
int param_2) {
|
||||
Z2AudibleChannel* this_01 = &field_0x2c[param_2];
|
||||
@@ -290,8 +98,8 @@ void Z2Audible::setOuterParams(JASSoundParams const& param_0, JASSoundParams con
|
||||
f32 dVar9 = param_1.mVolume * local_b8.length();
|
||||
f32 dVar10 = 1.0f;
|
||||
f32 dVar12 = Z2Calc::linearTransform(iStack_94, 0.0f, 15.0f, 1.0f, 0.3f, true);
|
||||
if (param_1.mVolume > dVar12 && dVar9 > 0.0010000000474974513f) {
|
||||
dVar10 = Z2Calc::getParamByExp(dVar9, 0.3f, 0.0010000000474974513f, 0.1f, dVar12, 1.0f,
|
||||
if (param_1.mVolume > dVar12 && dVar9 > 0.001f) {
|
||||
dVar10 = Z2Calc::getParamByExp(dVar9, 0.3f, 0.001f, 0.1f, dVar12, 1.0f,
|
||||
Z2Calc::CURVE_SIGN_1);
|
||||
if (dVar10 < 0.0f) {
|
||||
dVar10 = 0.0f;
|
||||
@@ -334,12 +142,6 @@ void Z2Audible::setOuterParams(JASSoundParams const& param_0, JASSoundParams con
|
||||
this_01->mPan = local_b0.mPan;
|
||||
this_01->mDolby = local_b0.mDolby;
|
||||
}
|
||||
#else
|
||||
void Z2Audible::setOuterParams(JASSoundParams const& param_0, JASSoundParams const& param_1,
|
||||
int param_2) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802BC204-802BC218 2B6B44 0014+00 4/4 0/0 0/0 .text getChannel__9Z2AudibleFi */
|
||||
Z2AudibleChannel* Z2Audible::getChannel(int param_0) {
|
||||
@@ -367,10 +169,6 @@ Z2Audience3DSetting::Z2Audience3DSetting() {
|
||||
init();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455AD8-80455ADC 0040D8 0004+00 4/4 0/0 0/0 .sdata2 @1036 */
|
||||
SECTION_SDATA2 static f32 lit_1036 = 1.5f;
|
||||
|
||||
/* 802BC284-802BC308 2B6BC4 0084+00 1/1 0/0 0/0 .text init__19Z2Audience3DSettingFv */
|
||||
void Z2Audience3DSetting::init() {
|
||||
field_0x40 = Z2Param::MIN_DISTANCE_VOLUME;
|
||||
@@ -387,38 +185,6 @@ void Z2Audience3DSetting::init() {
|
||||
initDolbyDist();
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455ADC-80455AE0 0040DC 0004+00 2/2 0/0 0/0 .sdata2 @1058 */
|
||||
SECTION_SDATA2 static f32 lit_1058 = 1.25f;
|
||||
|
||||
/* 80455AE0-80455AE4 0040E0 0004+00 3/3 0/0 0/0 .sdata2 @1059 */
|
||||
SECTION_SDATA2 static f32 lit_1059 = 2.0f;
|
||||
|
||||
/* 80455AE4-80455AE8 0040E4 0004+00 2/2 0/0 0/0 .sdata2 @1060 */
|
||||
SECTION_SDATA2 static f32 lit_1060 = 4.0f;
|
||||
|
||||
/* 80455AE8-80455AEC 0040E8 0004+00 2/2 0/0 0/0 .sdata2 @1061 */
|
||||
SECTION_SDATA2 static f32 lit_1061 = 6.0f;
|
||||
|
||||
/* 80455AEC-80455AF0 0040EC 0004+00 2/2 0/0 0/0 .sdata2 @1062 */
|
||||
SECTION_SDATA2 static f32 lit_1062 = 8.0f;
|
||||
|
||||
/* 80455AF0-80455AF4 0040F0 0004+00 2/2 0/0 0/0 .sdata2 @1063 */
|
||||
SECTION_SDATA2 static f32 lit_1063 = 9.0f / 10.0f;
|
||||
|
||||
/* 80455AF4-80455AF8 0040F4 0004+00 2/2 0/0 0/0 .sdata2 @1064 */
|
||||
SECTION_SDATA2 static f32 lit_1064 = 4.0f / 5.0f;
|
||||
|
||||
/* 80455AF8-80455AFC 0040F8 0004+00 2/2 0/0 0/0 .sdata2 @1065 */
|
||||
SECTION_SDATA2 static f32 lit_1065 = 7.0f / 10.0f;
|
||||
|
||||
/* 80455AFC-80455B00 0040FC 0004+00 2/2 0/0 0/0 .sdata2 @1066 */
|
||||
SECTION_SDATA2 static f32 lit_1066 = 3.0f / 5.0f;
|
||||
|
||||
/* 80455B00-80455B04 004100 0004+00 2/2 0/0 0/0 .sdata2 @1067 */
|
||||
SECTION_SDATA2 static f32 lit_1067 = 2.0f / 5.0f;
|
||||
|
||||
/* 802BC308-802BC4D0 2B6C48 01C8+00 2/2 0/0 0/0 .text initVolumeDist__19Z2Audience3DSettingFv */
|
||||
void Z2Audience3DSetting::initVolumeDist() {
|
||||
if (mVolumeDistInit) return;
|
||||
@@ -431,10 +197,8 @@ void Z2Audience3DSetting::initVolumeDist() {
|
||||
mVolumeDistInit = true;
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451350-80451354 000850 0004+00 2/2 0/0 0/0 .sbss cNearFarRatio */
|
||||
static f32 cNearFarRatio;
|
||||
static f32 cNearFarRatio = Z2Param::MAX_VOLUME_DISTANCE / Z2Param::DISTANCE_MAX;
|
||||
|
||||
/* 802BC4D0-802BC6A4 2B6E10 01D4+00 1/1 0/0 0/0 .text updateVolumeDist__19Z2Audience3DSettingFf */
|
||||
void Z2Audience3DSetting::updateVolumeDist(f32 param_0) {
|
||||
@@ -450,7 +214,6 @@ void Z2Audience3DSetting::updateVolumeDist(f32 param_0) {
|
||||
mVolumeDistInit = false;
|
||||
}
|
||||
|
||||
|
||||
/* 802BC6A4-802BC6F8 2B6FE4 0054+00 1/1 0/0 0/0 .text initDolbyDist__19Z2Audience3DSettingFv */
|
||||
void Z2Audience3DSetting::initDolbyDist() {
|
||||
if (!mDolbyDistInit) {
|
||||
@@ -462,7 +225,6 @@ void Z2Audience3DSetting::initDolbyDist() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 802BC6F8-802BC758 2B7038 0060+00 1/1 0/0 0/0 .text updateDolbyDist__19Z2Audience3DSettingFff */
|
||||
void Z2Audience3DSetting::updateDolbyDist(f32 param_0, f32 param_1) {
|
||||
if (param_0 > -1.0f * Z2Param::DOLBY_FLONT_DISTANCE_MAX) {
|
||||
@@ -481,7 +243,6 @@ void Z2Audience3DSetting::updateDolbyDist(f32 param_0, f32 param_1) {
|
||||
mDolbyDistInit = false;
|
||||
}
|
||||
|
||||
|
||||
/* 802BC758-802BC788 2B7098 0030+00 1/1 0/0 0/0 .text __ct__13Z2AudioCameraFv */
|
||||
Z2AudioCamera::Z2AudioCamera() {
|
||||
mFovySin = 1.0f;
|
||||
@@ -494,7 +255,6 @@ Z2AudioCamera::Z2AudioCamera() {
|
||||
mSetMainCamera = 0;
|
||||
}
|
||||
|
||||
|
||||
/* 802BC788-802BC7DC 2B70C8 0054+00 1/1 0/0 0/0 .text init__13Z2AudioCameraFv */
|
||||
void Z2AudioCamera::init() {
|
||||
JGeometry::TPosition3f32 aTStack_38;
|
||||
@@ -509,61 +269,16 @@ void Z2AudioCamera::init() {
|
||||
void Z2AudioCamera::setCameraState(f32 const (*param_0)[4], Vec& param_1, bool param_2) {
|
||||
field_0x0.set(param_0);
|
||||
if (param_2) {
|
||||
mPos.set(*(JGeometry::TVec3<f32>*)¶m_1);
|
||||
mPos.set(param_1);
|
||||
field_0x48.set(mPos);
|
||||
mVel.zero();
|
||||
} else {
|
||||
field_0x48.set(mPos);
|
||||
mPos.set(*(JGeometry::TVec3<f32>*)¶m_1);
|
||||
mPos.set(param_1);
|
||||
mVel.sub(mPos, field_0x48);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039C220-8039C230 028880 000C+04 1/1 0/0 0/0 .rodata @1193 */
|
||||
SECTION_RODATA static u8 const lit_1193[12 + 4 /* padding */] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x8039C220, &lit_1193);
|
||||
|
||||
/* 80455B08-80455B0C 004108 0004+00 1/1 0/0 0/0 .sdata2 @1267 */
|
||||
SECTION_SDATA2 static f32 lit_1267 = -22.755556106567383f;
|
||||
|
||||
/* 80455B0C-80455B10 00410C 0004+00 1/1 0/0 0/0 .sdata2 @1268 */
|
||||
SECTION_SDATA2 static f32 lit_1268 = 22.755556106567383f;
|
||||
|
||||
/* 80455B10-80455B14 004110 0004+00 1/1 0/0 0/0 .sdata2 @1269 */
|
||||
SECTION_SDATA2 static f32 lit_1269 = 50.0f;
|
||||
|
||||
/* 80455B14-80455B18 004114 0004+00 1/1 0/0 0/0 .sdata2 @1270 */
|
||||
SECTION_SDATA2 static f32 lit_1270 = 2.1445069313049316f;
|
||||
|
||||
/* 80455B18-80455B1C 004118 0004+00 2/2 0/0 0/0 .sdata2 @1271 */
|
||||
SECTION_SDATA2 static f32 lit_1271 = 32.0f;
|
||||
|
||||
/* 80455B1C-80455B20 00411C 0004+00 1/1 0/0 0/0 .sdata2 @1272 */
|
||||
SECTION_SDATA2 static f32 lit_1272 = -100.0f;
|
||||
|
||||
/* 80455B20-80455B24 004120 0004+00 1/1 0/0 0/0 .sdata2 @1273 */
|
||||
SECTION_SDATA2 static f32 lit_1273 = 0.01745329238474369f;
|
||||
|
||||
/* 802BC8AC-802BCBEC 2B71EC 0340+00 1/1 0/0 0/0 .text
|
||||
* setCameraState__13Z2AudioCameraFPA4_fR3VecR3Vecffbb */
|
||||
void Z2AudioCamera::setCameraState(f32 (*param_0)[4], Vec& param_1, Vec& param_2, f32 param_3,
|
||||
@@ -582,15 +297,15 @@ void Z2AudioCamera::setCameraState(f32 (*param_0)[4], Vec& param_1, Vec& param_2
|
||||
mVolCenterZ = 0.0f;
|
||||
dVar11 = mCamDist;
|
||||
} else {
|
||||
dVar11 = 2.1445069313049316f * (mCamDist * field_0x6c);
|
||||
dVar11 = 2.144507f * (mCamDist * field_0x6c);
|
||||
mVolCenterZ = mCamDist - dVar11;
|
||||
if (mVolCenterZ < 32.0f * FLT_EPSILON) {
|
||||
if (mVolCenterZ < JGeometry::TUtil<f32>::epsilon()) {
|
||||
mVolCenterZ = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
if (mSetMainCamera && mTargetVolume > 0.0f) {
|
||||
if (dVar11 > (double)(Z2Param::DISTANCE_MAX * (1.0f - mTargetVolume)))
|
||||
if (dVar11 > (Z2Param::DISTANCE_MAX * (1.0f - mTargetVolume)))
|
||||
{
|
||||
Z2GetAudience()->getSetting()->updateVolumeDist(dVar11 / (1.0f - mTargetVolume));
|
||||
} else {
|
||||
@@ -604,12 +319,9 @@ void Z2AudioCamera::setCameraState(f32 (*param_0)[4], Vec& param_1, Vec& param_2
|
||||
Z2GetAudience()->getSetting()->updateDolbyDist(mCamDist, mCamDist);
|
||||
}
|
||||
} else {
|
||||
JGeometry::TVec3<f32> aTStack_cc(0.0f, 0.0f, 0.0f);
|
||||
aTStack_cc.x = param_0[0][0];
|
||||
aTStack_cc.y = param_0[0][1];
|
||||
aTStack_cc.z = param_0[0][2];
|
||||
Vec aTStack_cc = {param_0[0][0], param_0[0][1], param_0[0][2]};
|
||||
Mtx rotMtx;
|
||||
MTXRotAxisRad(rotMtx, aTStack_cc, 0.01745329238474369f * (-1.0f * dVar10));
|
||||
MTXRotAxisRad(rotMtx, &aTStack_cc, 0.017453292f * (-1.0f * dVar10));
|
||||
JGeometry::TVec3<f32> aTStack_d8;
|
||||
MTXMultVec(rotMtx, aTStack_c0, aTStack_d8);
|
||||
aTStack_d8.scale(aTStack_c0.y / aTStack_d8.y);
|
||||
@@ -621,7 +333,6 @@ void Z2AudioCamera::setCameraState(f32 (*param_0)[4], Vec& param_1, Vec& param_2
|
||||
setCameraState(param_0, param_1, param_6);
|
||||
}
|
||||
|
||||
|
||||
/* 802BCBEC-802BCC7C 2B752C 0090+00 2/2 0/0 0/0 .text
|
||||
* convertAbsToRel__13Z2AudioCameraFP9Z2Audiblei */
|
||||
void Z2AudioCamera::convertAbsToRel(Z2Audible* param_0, int param_1) {
|
||||
@@ -667,19 +378,6 @@ bool Z2AudioCamera::isInSight(Vec& param_0) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455B24-80455B28 004124 0004+00 1/1 0/0 0/0 .sdata2 @1334 */
|
||||
SECTION_SDATA2 static f32 lit_1334 = 200.0f;
|
||||
|
||||
/* 80455B28-80455B2C 004128 0004+00 1/1 0/0 0/0 .sdata2 @1335 */
|
||||
SECTION_SDATA2 static f32 lit_1335 = 400.0f;
|
||||
|
||||
/* 80455B2C-80455B30 00412C 0004+00 2/2 0/0 0/0 .sdata2 @1336 */
|
||||
SECTION_SDATA2 static f32 lit_1336 = 1.0f / 5.0f;
|
||||
|
||||
/* 80455B30-80455B34 004130 0004+00 1/1 0/0 0/0 .sdata2 @1337 */
|
||||
SECTION_SDATA2 static f32 lit_1337 = 255.0f;
|
||||
|
||||
/* 802BCD28-802BCDA8 2B7668 0080+00 1/1 0/0 0/0 .text __ct__9Z2SpotMicFv */
|
||||
Z2SpotMic::Z2SpotMic() {
|
||||
field_0x0 = 200.0f;
|
||||
@@ -693,7 +391,6 @@ Z2SpotMic::Z2SpotMic() {
|
||||
clearMicState(0);
|
||||
}
|
||||
|
||||
|
||||
/* 802BCDA8-802BCDE8 2B76E8 0040+00 2/2 0/0 0/0 .text clearMicState__9Z2SpotMicFi */
|
||||
void Z2SpotMic::clearMicState(int param_0) {
|
||||
field_0x10[param_0] = NULL;
|
||||
@@ -735,7 +432,6 @@ void Z2SpotMic::setMicState(Z2AudioCamera* param_0, int param_1) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 802BCF5C-802BCFE4 2B789C 0088+00 2/2 0/0 0/0 .text calcMicDist__9Z2SpotMicFP9Z2Audible
|
||||
*/
|
||||
f32 Z2SpotMic::calcMicDist(Z2Audible* param_0) {
|
||||
@@ -756,7 +452,6 @@ f32 Z2SpotMic::calcMicDist(Z2Audible* param_0) {
|
||||
return aTStack_1c.length();
|
||||
}
|
||||
|
||||
|
||||
/* 802BCFE4-802BD03C 2B7924 0058+00 1/1 0/0 0/0 .text calcMicPriority__9Z2SpotMicFf */
|
||||
u32 Z2SpotMic::calcMicPriority(f32 param_0) {
|
||||
if (param_0 > field_0x4) {
|
||||
@@ -809,25 +504,18 @@ f32 Z2SpotMic::calcMicVolume(f32 param_0, int param_1, f32 param_2) {
|
||||
return param_2;
|
||||
}
|
||||
|
||||
|
||||
/* 802BD130-802BD1FC 2B7A70 00CC+00 0/0 1/1 0/0 .text __ct__10Z2AudienceFv */
|
||||
Z2Audience::Z2Audience() : JASGlobalInstance<Z2Audience>(true), field_0x4(1.0f), field_0x8(0x7f) {
|
||||
mNumPlayers = 1;
|
||||
mMaxChannels = 1;
|
||||
mUsingOffMicVol = false;
|
||||
mAudioCamera[0].init();
|
||||
mAudioCamera[0].setMainCamera();
|
||||
mLinkMic = mSpotMic;
|
||||
}
|
||||
|
||||
|
||||
/* 802BD1FC-802BD288 2B7B3C 008C+00 1/0 1/1 0/0 .text __dt__10Z2AudienceFv */
|
||||
Z2Audience::~Z2Audience() {}
|
||||
|
||||
/* 802BD288-802BD2DC 2B7BC8 0054+00 2/2 1/1 0/0 .text __dt__22JASMemPool<9Z2Audible>Fv */
|
||||
extern "C" void func_802BD288(void* _this) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 802BD2DC-802BD338 2B7C1C 005C+00 0/0 1/1 0/0 .text
|
||||
* setAudioCamera__10Z2AudienceFPA4_fR3VecR3Vecffbib */
|
||||
void Z2Audience::setAudioCamera(f32 (*param_0)[4], Vec& param_1, Vec& param_2, f32 param_3,
|
||||
@@ -836,38 +524,23 @@ void Z2Audience::setAudioCamera(f32 (*param_0)[4], Vec& param_1, Vec& param_2, f
|
||||
mLinkMic->setMicState(&mAudioCamera[param_6], param_6);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804341D8-804341E4 060EF8 000C+00 2/2 0/0 0/0 .bss @1539 */
|
||||
static u8 lit_1539[12];
|
||||
|
||||
/* 804341E4-804341F8 060F04 0010+04 2/2 1/1 0/0 .bss
|
||||
* memPool_$localstatic3$getMemPool___30JASPoolAllocObject<9Z2Audible>Fv */
|
||||
extern u8 data_804341E4[16 + 4 /* padding */];
|
||||
u8 data_804341E4[16 + 4 /* padding */];
|
||||
|
||||
/* 80451354-80451358 000854 0004+00 2/2 1/1 0/0 .sbss None */
|
||||
extern u8 data_80451354[4];
|
||||
u8 data_80451354[4];
|
||||
|
||||
/* 802BD338-802BD4D4 2B7C78 019C+00 1/0 0/0 0/0 .text
|
||||
* newAudible__10Z2AudienceFRCQ29JGeometry8TVec3<f>10JAISoundIDPCQ29JGeometry8TVec3<f>Ul */
|
||||
JAIAudible* Z2Audience::newAudible(JGeometry::TVec3<f32> const& param_0, JAISoundID param_1,
|
||||
JGeometry::TVec3<f32> const* param_2, u32 param_3) {
|
||||
JAUAudibleParam local_34;
|
||||
u32 uVar4 = param_3 | ~((1 << mNumPlayers) + -1);
|
||||
u32 uVar4 = param_3 | ~((1 << mMaxChannels) + -1);
|
||||
if (uVar4 == 0xffffffff) {
|
||||
return NULL;
|
||||
}
|
||||
local_34 = Z2GetSoundInfo()->getAudibleSwFull(param_1);
|
||||
bool x = ((local_34.field_0x0.bytes.b0_0 >> 4) & 0xf) != 0;
|
||||
Z2Audible* this_01 = (Z2Audible*)new JASPoolAllocObject<Z2Audible>();
|
||||
this_01 = new (this_01) Z2Audible(param_0, param_2, uVar4, x);
|
||||
JAUAudibleParam local_34 = Z2GetSoundInfo()->getAudibleSwFull(param_1);
|
||||
bool x = local_34.field_0x0.bytes.b0_0 != 0;
|
||||
Z2Audible* this_01 = new Z2Audible(param_0, param_2, uVar4, x);
|
||||
if (this_01 == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
this_01->setAudibleParam(local_34);
|
||||
for (int iVar5 = 0; iVar5 < mNumPlayers; iVar5++) {
|
||||
for (int iVar5 = 0; iVar5 < mMaxChannels; iVar5++) {
|
||||
Z2AudibleChannel* iVar2 = this_01->getChannel(iVar5);
|
||||
if (iVar2 != NULL) {
|
||||
u32 local_38 = this_01->getDistVolBit();
|
||||
@@ -884,7 +557,6 @@ JAIAudible* Z2Audience::newAudible(JGeometry::TVec3<f32> const& param_0, JAISoun
|
||||
return this_01;
|
||||
}
|
||||
|
||||
|
||||
/* 802BD4D4-802BD510 2B7E14 003C+00 1/0 0/0 0/0 .text deleteAudible__10Z2AudienceFP10JAIAudible */
|
||||
void Z2Audience::deleteAudible(JAIAudible* param_0) {
|
||||
delete param_0;
|
||||
@@ -894,12 +566,11 @@ void Z2Audience::deleteAudible(JAIAudible* param_0) {
|
||||
Z2Audible::~Z2Audible() {
|
||||
}
|
||||
|
||||
|
||||
/* 802BD5B8-802BD704 2B7EF8 014C+00 1/0 0/0 0/0 .text calcPriority__10Z2AudienceFP10JAIAudible */
|
||||
u32 Z2Audience::calcPriority(JAIAudible* param_0) {
|
||||
Z2Audible* z2Audible = (Z2Audible*)param_0;
|
||||
if (!z2Audible->getAudibleParam()->field_0x0.bytes.b0_4) {
|
||||
for (int i = 0; i < mNumPlayers; i++) {
|
||||
for (int i = 0; i < mMaxChannels; i++) {
|
||||
mAudioCamera[i].convertAbsToRel(z2Audible, i);
|
||||
}
|
||||
return 0;
|
||||
@@ -907,7 +578,7 @@ u32 Z2Audience::calcPriority(JAIAudible* param_0) {
|
||||
|
||||
u32 deltaPriority[1];
|
||||
u32 rv = 0xffffffff;
|
||||
for (int i = 0; i < mNumPlayers; i++) {
|
||||
for (int i = 0; i < mMaxChannels; i++) {
|
||||
Z2AudibleChannel* iVar4 = (z2Audible)->getChannel(i);
|
||||
if (iVar4 != NULL) {
|
||||
mAudioCamera[i].convertAbsToRel(z2Audible, i);
|
||||
@@ -968,14 +639,14 @@ void Z2Audience::mixChannelOut(JASSoundParams const& param_0, JAIAudible* param_
|
||||
local_60.mVolume = 1.0f;
|
||||
}
|
||||
|
||||
if (z2Audible->getAudibleParam()->field_0x0.bytes.b1_1 && mNumPlayers == 1) {
|
||||
if (z2Audible->getAudibleParam()->field_0x0.bytes.b1_1 && mMaxChannels == 1) {
|
||||
local_60.mDolby = calcRelPosDolby(*(Vec*)&pZVar5->field_0x14.field_0x00, param_2);
|
||||
} else {
|
||||
local_60.mDolby = 0.5f;
|
||||
}
|
||||
|
||||
if (z2Audible->getAudibleParam()->field_0x0.bytes.b1_0) {
|
||||
if (mNumPlayers > 2) {
|
||||
if (mMaxChannels > 2) {
|
||||
f32 fVar1;
|
||||
if (param_2 & 1) {
|
||||
fVar1 = 1.0f;
|
||||
@@ -1015,8 +686,6 @@ bool Z2Audience::convertAbsToRel(Vec& param_0, Vec* param_1, int param_2) {
|
||||
}
|
||||
|
||||
/* 802BD95C-802BDA44 2B829C 00E8+00 0/0 3/3 0/0 .text calcRelPosVolume__10Z2AudienceFRC3Vecfi */
|
||||
// Mathces with literals
|
||||
#ifdef NONMATCHING
|
||||
f32 Z2Audience::calcRelPosVolume(Vec const& param_0, f32 param_1, int param_2) {
|
||||
JGeometry::TVec3<f32> aTStack_3c;
|
||||
JGeometry::setTVec3f(param_0, *(Vec*)&aTStack_3c);
|
||||
@@ -1036,11 +705,6 @@ f32 Z2Audience::calcRelPosVolume(Vec const& param_0, f32 param_1, int param_2) {
|
||||
(this_00 - mSetting.field_0x3c),
|
||||
0.0f, 1.0f);
|
||||
}
|
||||
#else
|
||||
f32 Z2Audience::calcRelPosVolume(Vec const& param_0, f32 param_1, int param_2) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802BDA44-802BDB44 2B8384 0100+00 1/1 3/3 0/0 .text calcRelPosPan__10Z2AudienceFRC3Veci
|
||||
*/
|
||||
@@ -1075,7 +739,6 @@ f32 Z2Audience::calcRelPosPan(Vec const& param_0, int param_1) {
|
||||
return dVar6;
|
||||
}
|
||||
|
||||
|
||||
/* 802BDB44-802BDBDC 2B8484 0098+00 1/1 3/3 0/0 .text calcRelPosDolby__10Z2AudienceFRC3Veci */
|
||||
f32 Z2Audience::calcRelPosDolby(Vec const& param_0, int param_1) {
|
||||
f32 fVar1 = param_0.z + mAudioCamera[param_1].getDolbyCenterZ();
|
||||
@@ -1097,7 +760,6 @@ f32 Z2Audience::calcRelPosDolby(Vec const& param_0, int param_1) {
|
||||
1.0f, Z2Calc::CURVE_SIGN_0);
|
||||
}
|
||||
|
||||
|
||||
/* 802BDBDC-802BDC44 2B851C 0068+00 1/1 0/0 0/0 .text calcVolume___10Z2AudienceCFfi */
|
||||
f32 Z2Audience::calcVolume_(f32 param_0, int param_1) const {
|
||||
if (param_0 > mSetting.field_0x0[param_1]) {
|
||||
@@ -1119,7 +781,6 @@ f32 Z2Audience::calcVolume_(f32 param_0, int param_1) const {
|
||||
return volume;
|
||||
}
|
||||
|
||||
|
||||
/* 802BDC44-802BDCB0 2B8584 006C+00 2/2 0/0 0/0 .text calcDeltaPriority___10Z2AudienceCFfib */
|
||||
u32 Z2Audience::calcDeltaPriority_(f32 param_0, int param_1, bool param_2) const {
|
||||
if (param_0 > mSetting.field_0x0[param_1]) {
|
||||
@@ -1158,10 +819,6 @@ f32 Z2Audience::calcFxMix_(f32 param_0, int param_1) const {
|
||||
return mSetting.field_0x50 + mSetting.field_0xe8[param_1] * (param_0 - mSetting.field_0x3c);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455B34-80455B38 004134 0004+00 1/1 0/0 0/0 .sdata2 @1988 */
|
||||
SECTION_SDATA2 static f32 lit_1988 = 1.0f / 15.0f;
|
||||
|
||||
/* 802BDD48-802BDED4 2B8688 018C+00 1/1 0/0 0/0 .text
|
||||
* calcPitch___10Z2AudienceCFP16Z2AudibleChannelPC9Z2AudiblePC13Z2AudioCamera */
|
||||
f32 Z2Audience::calcPitch_(Z2AudibleChannel* param_0, Z2Audible const* param_1,
|
||||
@@ -1195,18 +852,13 @@ f32 Z2Audience::calcPitch_(Z2AudibleChannel* param_0, Z2Audible const* param_1,
|
||||
|
||||
/* 802BDED4-802BDEDC 2B8814 0008+00 1/0 0/0 0/0 .text getMaxChannels__10Z2AudienceFv */
|
||||
int Z2Audience::getMaxChannels() {
|
||||
return mNumPlayers;
|
||||
return mMaxChannels;
|
||||
}
|
||||
|
||||
/* 802BDEDC-802BDEF0 2B881C 0014+00 0/0 1/0 0/0 .text __sinit_Z2Audience_cpp */
|
||||
void __sinit_Z2Audience_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x802BDEDC, __sinit_Z2Audience_cpp);
|
||||
#pragma pop
|
||||
// padding (???)
|
||||
s8 data_80451355;
|
||||
s8 data_80451356;
|
||||
s8 data_80451357;
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451358-80451360 -00001 0008+00 0/0 1/1 0/0 .sbss None */
|
||||
@@ -1216,4 +868,3 @@ REGISTER_CTORS(0x802BDEDC, __sinit_Z2Audience_cpp);
|
||||
// u8 struct_80451358[8];
|
||||
s8 data_80451358;
|
||||
s8 data_80451359;
|
||||
u8 data_8045135a[6]; // padding?
|
||||
@@ -5,54 +5,13 @@
|
||||
|
||||
#include "Z2AudioLib/Z2AudioArcLoader.h"
|
||||
#include "JSystem/JAudio2/JAUSectionHeap.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__16Z2AudioArcLoaderFP10JAUSection();
|
||||
extern "C" void readCommandMore__16Z2AudioArcLoaderFUl();
|
||||
extern "C" void readBFCA__16Z2AudioArcLoaderFPCv();
|
||||
extern "C" void readBSTN__16Z2AudioArcLoaderFPCvUl();
|
||||
extern "C" void __dt__16Z2AudioArcLoaderFv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __dt__22JAUAudioArcInterpreterFv();
|
||||
extern "C" void __ct__17JAUAudioArcLoaderFP10JAUSection();
|
||||
extern "C" void readWS__17JAUAudioArcLoaderFUlPCvUl();
|
||||
extern "C" void readBNK__17JAUAudioArcLoaderFUlPCv();
|
||||
extern "C" void readBSC__17JAUAudioArcLoaderFPCvUl();
|
||||
extern "C" void readBST__17JAUAudioArcLoaderFPCvUl();
|
||||
extern "C" void readBMS__17JAUAudioArcLoaderFUlPCvUl();
|
||||
extern "C" void readBMS_fromArchive__17JAUAudioArcLoaderFUl();
|
||||
extern "C" void newVoiceBank__17JAUAudioArcLoaderFUlUl();
|
||||
extern "C" void newDynamicSeqBlock__17JAUAudioArcLoaderFUl();
|
||||
extern "C" void readBSFT__17JAUAudioArcLoaderFPCv();
|
||||
extern "C" void beginBNKList__17JAUAudioArcLoaderFUlUl();
|
||||
extern "C" void endBNKList__17JAUAudioArcLoaderFv();
|
||||
extern "C" void readMaxSeCategory__17JAUAudioArcLoaderFiii();
|
||||
extern "C" void getOpenSection__14JAUSectionHeapFv();
|
||||
extern "C" void initDataArc__11Z2FxLineMgrFP10JKRArchiveP7JKRHeap();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void mount__10JKRArchiveFPvP7JKRHeapQ210JKRArchive15EMountDirection();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__17JAUAudioArcLoader[17 + 1 /* padding */];
|
||||
extern "C" extern u8 data_80450B40[4];
|
||||
extern "C" extern u8 data_80450CC0[4 + 4 /* padding */];
|
||||
extern "C" u8 sCurrentHeap__7JKRHeap[4];
|
||||
extern "C" extern u8 __OSReport_disable;
|
||||
#include "JSystem/JKernel/JKRArchive.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "Z2AudioLib/Z2FxLineMgr.h"
|
||||
|
||||
/* 802A9A34-802A9A70 2A4374 003C+00 0/0 1/1 0/0 .text __ct__16Z2AudioArcLoaderFP10JAUSection */
|
||||
Z2AudioArcLoader::Z2AudioArcLoader(JAUSection* param_0) : JAUAudioArcLoader(param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 802A9A70-802A9AC8 2A43B0 0058+00 1/0 0/0 0/0 .text readCommandMore__16Z2AudioArcLoaderFUl */
|
||||
@@ -68,22 +27,16 @@ bool Z2AudioArcLoader::readCommandMore(u32 param_0) {
|
||||
}
|
||||
|
||||
/* 802A9AC8-802A9B54 2A4408 008C+00 1/1 0/0 0/0 .text readBFCA__16Z2AudioArcLoaderFPCv */
|
||||
// regalloc and extra stack
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING regalloc
|
||||
void Z2AudioArcLoader::readBFCA(void const* param_0) {
|
||||
JAUSectionHeap* sectionHeap = JASGlobalInstance<JAUSectionHeap>::getInstance();
|
||||
JKRHeap* pJVar1 = sectionHeap->getHeap();
|
||||
JKRArchive* pJVar5 = JKRArchive::mount((void*)param_0, JKRGetCurrentHeap(), JKRArchive::MOUNT_DIRECTION_TAIL);
|
||||
Z2GetFxLineMgr()->initDataArc(pJVar5, pJVar1);
|
||||
JKRUnmountArchive(pJVar5);
|
||||
JKRHeap* heap = JAUSectionHeap::getInstance()->getHeap();
|
||||
JKRArchive* archive = JKRArchive::mount((void*)param_0, JKRGetCurrentHeap(), JKRArchive::MOUNT_DIRECTION_TAIL);
|
||||
Z2GetFxLineMgr()->initDataArc(archive, heap);
|
||||
JKRUnmountArchive(archive);
|
||||
}
|
||||
#else
|
||||
void Z2AudioArcLoader::readBFCA(void const* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802A9B54-802A9B58 2A4494 0004+00 1/0 0/0 0/0 .text readBSTN__16Z2AudioArcLoaderFPCvUl
|
||||
*/
|
||||
void Z2AudioArcLoader::readBSTN(void const* param_0, u32 param_1) {
|
||||
/* empty function */
|
||||
}
|
||||
}
|
||||
|
||||
+35
-276
@@ -6,231 +6,49 @@
|
||||
#include "Z2AudioLib/Z2AudioMgr.h"
|
||||
#include "JSystem/JAudio2/JASAiCtrl.h"
|
||||
#include "JSystem/JAudio2/JASDriverIF.h"
|
||||
#include "JSystem/JAudio2/JASResArcLoader.h"
|
||||
#include "JSystem/JAudio2/JASSeqParser.h"
|
||||
#include "JSystem/JAudio2/JAUInitializer.h"
|
||||
#include "JSystem/JAudio2/JAUSectionHeap.h"
|
||||
#include "JSystem/JAudio2/JAUStreamAramMgr.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "Z2AudioLib/Z2AudioArcLoader.h"
|
||||
#include "Z2AudioLib/Z2Param.h"
|
||||
#include "Z2AudioLib/Z2SoundHandles.h"
|
||||
#include "stdio.h"
|
||||
#include "stdlib.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/os.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct Z2Param {
|
||||
static f32 VOL_BGM_DEFAULT;
|
||||
static f32 VOL_SE_SYSTEM_DEFAULT;
|
||||
static f32 VOL_SE_LINK_VOICE_DEFAULT;
|
||||
static f32 VOL_SE_LINK_MOTION_DEFAULT;
|
||||
static f32 VOL_SE_LINK_FOOTNOTE_DEFAULT;
|
||||
static f32 VOL_SE_CHAR_VOICE_DEFAULT;
|
||||
static f32 VOL_SE_CHAR_MOVE_DEFAULT;
|
||||
static f32 VOL_SE_OBJECT_DEFAULT;
|
||||
static f32 VOL_SE_ATMOSPHERE_DEFAULT;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__10Z2AudioMgrFv();
|
||||
extern "C" void init__10Z2AudioMgrFP12JKRSolidHeapUlPvP10JKRArchive();
|
||||
extern "C" void func_802CD7F8(void* _this);
|
||||
extern "C" void setOutputMode__10Z2AudioMgrFUl();
|
||||
extern "C" void zeldaGFrameWork__10Z2AudioMgrFv();
|
||||
extern "C" void gframeProcess__10Z2AudioMgrFv();
|
||||
extern "C" void resetProcess__10Z2AudioMgrFUlb();
|
||||
extern "C" void resetRecover__10Z2AudioMgrFv();
|
||||
extern "C" void hasReset__10Z2AudioMgrCFv();
|
||||
extern "C" void func_802CDB1C();
|
||||
extern "C" void func_802CDB68(void* _this);
|
||||
extern "C" void func_802CDC08(void* _this, u32);
|
||||
extern "C" void func_802CDCEC(void* _this, u32*);
|
||||
extern "C" extern char const* const Z2AudioMgr__stringBase0;
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void alloc__7JASHeapFP7JASHeapUl();
|
||||
extern "C" void free__7JASHeapFv();
|
||||
extern "C" void __ct__17JASGenericMemPoolFv();
|
||||
extern "C" void newMemPool__17JASGenericMemPoolFUli();
|
||||
extern "C" void getAramHeap__9JASKernelFv();
|
||||
extern "C" void __dt__7JASHeapFv();
|
||||
extern "C" void getResMaxSize__15JASResArcLoaderFPC10JKRArchive();
|
||||
extern "C" void getSubFrames__9JASDriverFv();
|
||||
extern "C" void __ct__15JASAudioReseterFv();
|
||||
extern "C" void start__15JASAudioReseterFUlb();
|
||||
extern "C" void resume__15JASAudioReseterFv();
|
||||
extern "C" void checkDone__15JASAudioReseterCFv();
|
||||
extern "C" void setOutputMode__9JASDriverFUl();
|
||||
extern "C" void setCategoryArrangement__8JAISeMgrFRC24JAISeCategoryArrangement();
|
||||
extern "C" void setAudience__8JAISeMgrFP11JAIAudience();
|
||||
extern "C" void setSeqDataMgr__8JAISeMgrFP13JAISeqDataMgr();
|
||||
extern "C" void getNumActiveSe__8JAISeMgrCFv();
|
||||
extern "C" void __ct__12JAISoundInfoFb();
|
||||
extern "C" void moveVolume__18JAISoundParamsMoveFfUl();
|
||||
extern "C" void __dt__16JAIStreamAramMgrFv();
|
||||
extern "C" void __dt__22JAUAudioArcInterpreterFv();
|
||||
extern "C" void load__17JAUAudioArcLoaderFPCv();
|
||||
extern "C" void __defctor__7JASHeapFv();
|
||||
extern "C" void __ct__18JAU_JASInitializerFv();
|
||||
extern "C" void initJASystem__18JAU_JASInitializerFP12JKRSolidHeap();
|
||||
extern "C" void __ct__18JAU_JAIInitializerFv();
|
||||
extern "C" void initJAInterface__18JAU_JAIInitializerFv();
|
||||
extern "C" void finishBuild__10JAUSectionFv();
|
||||
extern "C" void setSeqDataArchive__14JAUSectionHeapFP10JKRArchive();
|
||||
extern "C" void JAUNewSectionHeap__Fb();
|
||||
extern "C" void newDynamicSeqBlock__14JAUSectionHeapFUl();
|
||||
extern "C" void __ct__16Z2AudioArcLoaderFP10JAUSection();
|
||||
extern "C" void seqCallback__FP8JASTrackUs();
|
||||
extern "C" void __ct__10Z2SoundMgrFv();
|
||||
extern "C" void framework__10Z2SoundMgrFv();
|
||||
extern "C" void stopSync__10Z2SoundMgrFv();
|
||||
extern "C" void initParams__10Z2SoundMgrFv();
|
||||
extern "C" void __ct__14Z2SoundStarterFb();
|
||||
extern "C" void func_802AB200(void* _this);
|
||||
extern "C" void __ct__7Z2SeMgrFv();
|
||||
extern "C" void initSe__7Z2SeMgrFv();
|
||||
extern "C" void processSeFramework__7Z2SeMgrFv();
|
||||
extern "C" void __ct__8Z2SeqMgrFv();
|
||||
extern "C" void processBgmFramework__8Z2SeqMgrFv();
|
||||
extern "C" void __ct__11Z2StatusMgrFv();
|
||||
extern "C" void processHeartGaugeSound__11Z2StatusMgrFv();
|
||||
extern "C" void menuOut__11Z2StatusMgrFv();
|
||||
extern "C" void processTime__11Z2StatusMgrFv();
|
||||
extern "C" void __ct__10Z2SceneMgrFv();
|
||||
extern "C" void framework__10Z2SceneMgrFv();
|
||||
extern "C" void __ct__11Z2FxLineMgrFv();
|
||||
extern "C" void __ct__10Z2AudienceFv();
|
||||
extern "C" void func_802BD288(void* _this);
|
||||
extern "C" void __ct__13Z2SoundObjMgrFv();
|
||||
extern "C" void __ct__12Z2SpeechMgr2Fv();
|
||||
extern "C" void framework__12Z2SpeechMgr2Fv();
|
||||
extern "C" void* __nw__FUlP7JKRHeapi();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__12JAUSoundInfo[4 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__16JAIStreamAramMgr[5];
|
||||
extern "C" extern void* __vt__16JAIStreamDataMgr[4 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__17JAUAudioArcLoader[17 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__16Z2AudioArcLoader[17 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__11Z2SoundInfo[20];
|
||||
extern "C" extern u8 data_804341C4[16 + 4 /* padding */];
|
||||
extern "C" extern u8 data_804341E4[16 + 4 /* padding */];
|
||||
extern "C" f32 VOL_BGM_DEFAULT__7Z2Param;
|
||||
extern "C" f32 VOL_SE_SYSTEM_DEFAULT__7Z2Param;
|
||||
extern "C" f32 VOL_SE_LINK_VOICE_DEFAULT__7Z2Param;
|
||||
extern "C" f32 VOL_SE_LINK_MOTION_DEFAULT__7Z2Param;
|
||||
extern "C" f32 VOL_SE_LINK_FOOTNOTE_DEFAULT__7Z2Param;
|
||||
extern "C" f32 VOL_SE_CHAR_VOICE_DEFAULT__7Z2Param;
|
||||
extern "C" f32 VOL_SE_CHAR_MOVE_DEFAULT__7Z2Param;
|
||||
extern "C" f32 VOL_SE_OBJECT_DEFAULT__7Z2Param;
|
||||
extern "C" f32 VOL_SE_ATMOSPHERE_DEFAULT__7Z2Param;
|
||||
extern "C" extern u8 data_80450B4C[4];
|
||||
extern "C" extern u8 data_80450B50[4];
|
||||
extern "C" u8 sCallBackFunc__12JASSeqParser[4];
|
||||
extern "C" u8 sBlockSize__13JASAramStream[4];
|
||||
extern "C" extern u8 data_80451348[8];
|
||||
extern "C" extern u8 data_80451354[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CBF38-803CBF44 029058 000C+00 1/1 1/1 0/0 .data __vt__10Z2AudioMgr */
|
||||
SECTION_DATA extern void* __vt__10Z2AudioMgr[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)func_802CDB1C,
|
||||
};
|
||||
|
||||
/* 80451368-80451370 000868 0004+04 1/1 251/251 900/900 .sbss mAudioMgrPtr__10Z2AudioMgr
|
||||
*/
|
||||
Z2AudioMgr* Z2AudioMgr::mAudioMgrPtr;
|
||||
|
||||
/* 802CD248-802CD34C 2C7B88 0104+00 0/0 1/1 0/0 .text __ct__10Z2AudioMgrFv */
|
||||
// wild destructors appeared!
|
||||
#ifdef NONMATCHING
|
||||
Z2AudioMgr::Z2AudioMgr() : mSoundStarter(true) {
|
||||
mAudioMgrPtr = this;
|
||||
mResettingFlag = false;
|
||||
field_0x519 = false;
|
||||
}
|
||||
#else
|
||||
Z2AudioMgr::Z2AudioMgr() : mSoundStarter(true) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039CA58-8039CA58 0290B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8039CA58 = "Audiores/Waves/";
|
||||
SECTION_DEAD static char const* const stringBase_8039CA68 = "index out of range of bitset::reset";
|
||||
#pragma pop
|
||||
|
||||
/* 803CBF44-803CBF58 029064 0014+00 2/2 0/0 0/0 .data __vt__26JAUStreamStaticAramMgr_<1>
|
||||
*/
|
||||
SECTION_DATA extern void* data_803CBF44[5] = {
|
||||
(void*)NULL /* RTTI */, (void*)NULL, (void*)func_802CDCEC,
|
||||
(void*)func_802CDC08, (void*)func_802CDB68,
|
||||
};
|
||||
|
||||
/* 803CBF58-803CBF70 029078 0014+04 3/3 0/0 0/0 .data __vt__24JAUStreamAramMgrBase_<1> */
|
||||
SECTION_DATA extern void* data_803CBF58[5 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_802CD7F8,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 80434268-80434274 060F88 000C+00 1/1 0/0 0/0 .bss @3779 */
|
||||
static u8 lit_3779[12];
|
||||
|
||||
/* 80434274-80434280 060F94 000C+00 1/1 0/0 0/0 .bss @3783 */
|
||||
static u8 lit_3783[12];
|
||||
|
||||
/* 80455F58-80455F5C 004558 0004+00 1/1 0/0 0/0 .sdata2 @3931 */
|
||||
SECTION_SDATA2 static f32 lit_3931 = 13.0f / 10.0f;
|
||||
|
||||
/* 80455F5C-80455F60 00455C 0004+00 2/2 0/0 0/0 .sdata2 @3932 */
|
||||
SECTION_SDATA2 static f32 lit_3932 = 1.0f;
|
||||
|
||||
/* 802CD34C-802CD7F8 2C7C8C 04AC+00 0/0 1/1 0/0 .text
|
||||
* init__10Z2AudioMgrFP12JKRSolidHeapUlPvP10JKRArchive */
|
||||
// JAUSectionHeap inheritance
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING JASPoolAllocObject<_> locations
|
||||
void Z2AudioMgr::init(JKRSolidHeap* param_0, u32 param_1, void* param_2, JKRArchive* param_3) {
|
||||
JAU_JASInitializer stack_60;
|
||||
stack_60.field_0x04 = param_1;
|
||||
stack_60.field_0x1c = 0x8c;
|
||||
stack_60.field_0x2c = 1.3f;
|
||||
stack_60.field_0x30 = "Audiores/Waves/";
|
||||
stack_60.field_0x04 = param_1;
|
||||
stack_60.initJASystem(param_0);
|
||||
|
||||
JAU_JAIInitializer stack_90;
|
||||
stack_90.field_0x0 = 0x4e;
|
||||
stack_90.field_0x4 = 4;
|
||||
stack_90.field_0xc = 0x30;
|
||||
stack_90.initJAInterface();
|
||||
|
||||
JAISeMgr *seMgr = mSoundMgr.getSeMgr();
|
||||
|
||||
JAISeCategoryArrangement stack_80;
|
||||
stack_80.mItems[0].mMaxActiveSe = 4;
|
||||
stack_80.mItems[0].mMaxInactiveSe = 2;
|
||||
@@ -252,33 +70,33 @@ void Z2AudioMgr::init(JKRSolidHeap* param_0, u32 param_1, void* param_2, JKRArch
|
||||
stack_80.mItems[8].mMaxInactiveSe = 5;
|
||||
stack_80.mItems[9].mMaxActiveSe = 8;
|
||||
stack_80.mItems[9].mMaxInactiveSe = 4;
|
||||
stack_80.mItems[10].mMaxActiveSe = 4;
|
||||
stack_80.mItems[10].mMaxInactiveSe = 2;
|
||||
|
||||
seMgr->setCategoryArrangement(stack_80);
|
||||
seMgr->getCategory(0)->getParams()->moveVolume(0.9448819f, 0);
|
||||
seMgr->getCategory(1)->getParams()->moveVolume(1.0f, 0);
|
||||
seMgr->getCategory(2)->getParams()->moveVolume(0.9448819f, 0);
|
||||
seMgr->getCategory(3)->getParams()->moveVolume(0.9448819f, 0);
|
||||
seMgr->getCategory(4)->getParams()->moveVolume(0.9448819f, 0);
|
||||
seMgr->getCategory(5)->getParams()->moveVolume(0.9448819f, 0);
|
||||
seMgr->getCategory(6)->getParams()->moveVolume(0.9448819f, 0);
|
||||
seMgr->getCategory(7)->getParams()->moveVolume(0.9448819f, 0);
|
||||
seMgr->getCategory(8)->getParams()->moveVolume(0.9448819f, 0);
|
||||
seMgr->getCategory(9)->getParams()->moveVolume(0.9448819f, 0);
|
||||
seMgr->getCategory(10)->getParams()->moveVolume(1.0f, 0);
|
||||
seMgr->getCategory(0)->getParams()->moveVolume(Z2Param::VOL_SE_SYSTEM_DEFAULT, 0);
|
||||
seMgr->getCategory(1)->getParams()->moveVolume(Z2Param::VOL_SE_LINK_VOICE_DEFAULT, 0);
|
||||
seMgr->getCategory(2)->getParams()->moveVolume(Z2Param::VOL_SE_LINK_MOTION_DEFAULT, 0);
|
||||
seMgr->getCategory(3)->getParams()->moveVolume(Z2Param::VOL_SE_LINK_FOOTNOTE_DEFAULT, 0);
|
||||
seMgr->getCategory(4)->getParams()->moveVolume(Z2Param::VOL_SE_OBJECT_DEFAULT, 0);
|
||||
seMgr->getCategory(5)->getParams()->moveVolume(Z2Param::VOL_SE_CHAR_VOICE_DEFAULT, 0);
|
||||
seMgr->getCategory(6)->getParams()->moveVolume(Z2Param::VOL_SE_CHAR_MOVE_DEFAULT, 0);
|
||||
seMgr->getCategory(7)->getParams()->moveVolume(Z2Param::VOL_SE_CHAR_VOICE_DEFAULT, 0);
|
||||
seMgr->getCategory(8)->getParams()->moveVolume(Z2Param::VOL_SE_OBJECT_DEFAULT, 0);
|
||||
seMgr->getCategory(9)->getParams()->moveVolume(Z2Param::VOL_SE_ATMOSPHERE_DEFAULT, 0);
|
||||
seMgr->getParams()->moveVolume(1.0f, 0);
|
||||
|
||||
JAISeqMgr* seqMgr = mSoundMgr.getSeqMgr();
|
||||
seqMgr->getParams()->moveVolume(1.0f, 0);
|
||||
seqMgr->getParams()->moveVolume(Z2Param::VOL_BGM_DEFAULT, 0);
|
||||
JAIStreamMgr* streamMgr = mSoundMgr.getStreamMgr();
|
||||
JAUStreamStaticAramMgr_<1>* streamStaticAramMgr = new(param_0, 0) JAUStreamStaticAramMgr_<1>();
|
||||
streamStaticAramMgr->reserveAram(NULL, 0, 0x14);
|
||||
streamMgr->setStreamAramMgr(streamStaticAramMgr);
|
||||
streamMgr->getParams()->moveVolume(1.0f, 0);
|
||||
streamMgr->getParams()->moveVolume(Z2Param::VOL_BGM_DEFAULT, 0);
|
||||
JASPoolAllocObject<Z2Audible>::newMemPool(0x4e);
|
||||
mSoundMgr.getSeMgr()->setAudience(&mAudience);
|
||||
mSoundMgr.getSeqMgr()->setAudience(&mAudience);
|
||||
JASPoolAllocObject<Z2SoundHandlePool>::newMemPool(0x4e);
|
||||
OSReport("[Z2AudioMgr::init]before Create Section: %d\n", param_0->getFreeSize());
|
||||
// OSReport("[Z2AudioMgr::init]before Create Section: %d\n", param_0->getFreeSize());
|
||||
|
||||
JAUSectionHeap* sectionHeap = JAUNewSectionHeap(true);
|
||||
sectionHeap->setSeqDataArchive(param_3);
|
||||
size_t resMaxSize = JASResArcLoader::getResMaxSize(param_3);
|
||||
@@ -289,7 +107,8 @@ void Z2AudioMgr::init(JKRSolidHeap* param_0, u32 param_1, void* param_2, JKRArch
|
||||
Z2AudioArcLoader stack_a0(sectionHeap);
|
||||
bool baaLoadResult = stack_a0.load(param_2);
|
||||
JUT_ASSERT(252, baaLoadResult);
|
||||
seqMgr->setSeqDataMgr(sectionHeap->getSeqDataMgr());
|
||||
seMgr->setSeqDataMgr(sectionHeap->getSeSeqDataMgr());
|
||||
seqMgr->setSeqDataMgr(sectionHeap->getSeqSeqDataMgr());
|
||||
if (sectionHeap->getStreamDataMgr()) {
|
||||
streamMgr->setStreamDataMgr(sectionHeap->getStreamDataMgr());
|
||||
} else {
|
||||
@@ -299,17 +118,6 @@ void Z2AudioMgr::init(JKRSolidHeap* param_0, u32 param_1, void* param_2, JKRArch
|
||||
initSe();
|
||||
JASSeqParser::registerSeqCallback(seqCallback);
|
||||
}
|
||||
#else
|
||||
void Z2AudioMgr::init(JKRSolidHeap* param_0, u32 param_1, void* param_2, JKRArchive* param_3) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802CD7F8-802CD888 2C8138 0090+00 1/0 0/0 0/0 .text __dt__24JAUStreamAramMgrBase_<1>Fv
|
||||
*/
|
||||
extern "C" void func_802CD7F8(void* _this) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 802CD888-802CD8B4 2C81C8 002C+00 0/0 5/5 0/0 .text setOutputMode__10Z2AudioMgrFUl */
|
||||
void Z2AudioMgr::setOutputMode(u32 mode) {
|
||||
@@ -347,14 +155,6 @@ void Z2AudioMgr::resetProcess(u32 param_0, bool param_1) {
|
||||
mResettingFlag = true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455F60-80455F68 004560 0004+04 1/1 0/0 0/0 .sdata2 @4035 */
|
||||
SECTION_SDATA2 static f32 lit_4035[1 + 1 /* padding */] = {
|
||||
0.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 802CD9CC-802CDA6C 2C830C 00A0+00 0/0 1/1 0/0 .text resetRecover__10Z2AudioMgrFv */
|
||||
void Z2AudioMgr::resetRecover() {
|
||||
mAudioReseter.resume();
|
||||
@@ -364,20 +164,21 @@ void Z2AudioMgr::resetRecover() {
|
||||
setTwilightGateVol(1.0f);
|
||||
setWindStoneVol(1.0f, 0);
|
||||
menuOut();
|
||||
i_bgmAllUnMute(0);
|
||||
bgmAllUnMute(0);
|
||||
unMuteSceneBgm(0);
|
||||
}
|
||||
|
||||
|
||||
/* 802CDA6C-802CDB1C 2C83AC 00B0+00 0/0 2/2 0/0 .text hasReset__10Z2AudioMgrCFv */
|
||||
bool Z2AudioMgr::hasReset() const {
|
||||
// NONMATCHING
|
||||
return mResettingFlag && mAudioReseter.checkDone()
|
||||
&& (field_0x519
|
||||
|| (mSoundMgr.getSeMgr()->getNumActiveSe() == 0
|
||||
&& mSoundMgr.getSeqMgr()->getNumActiveSeqs() == 0));
|
||||
}
|
||||
|
||||
/* 802CDB1C-802CDB68 2C845C 004C+00 1/0 1/0 0/0 .text
|
||||
* startSound__10Z2AudioMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f> */
|
||||
// vtable order
|
||||
#ifdef NONMATCHING
|
||||
bool Z2AudioMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
JGeometry::TVec3<f32> const* param_2) {
|
||||
if (mResettingFlag) {
|
||||
@@ -385,45 +186,3 @@ bool Z2AudioMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
}
|
||||
return mSoundMgr.startSound(param_0, param_1, param_2);
|
||||
}
|
||||
#else
|
||||
// void Z2AudioMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
|
||||
// JGeometry::TVec3<f32> const* param_2) {
|
||||
extern "C" void func_802CDB1C() {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802CDB68-802CDC08 2C84A8 00A0+00 1/0 0/0 0/0 .text __dt__26JAUStreamStaticAramMgr_<1>Fv */
|
||||
extern "C" void func_802CDB68(void* _this) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039CA58-8039CA58 0290B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8039CA8C = "index out of range of bitset::test";
|
||||
#pragma pop
|
||||
|
||||
/* 802CDC08-802CDCEC 2C8548 00E4+00 1/0 0/0 0/0 .text
|
||||
* deleteStreamAram__26JAUStreamStaticAramMgr_<1>FUl */
|
||||
extern "C" void func_802CDC08(void* _this, u32 param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039CA58-8039CA58 0290B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8039CAAF = "index out of range of bitset::set";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_8039CAD1 = "\0\0\0\0\0\0";
|
||||
#pragma pop
|
||||
|
||||
/* 802CDCEC-802CDDC8 2C862C 00DC+00 1/0 0/0 0/0 .text
|
||||
* newStreamAram__26JAUStreamStaticAramMgr_<1>FPUl */
|
||||
extern "C" void func_802CDCEC(void* _this, u32* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 8039CA58-8039CA58 0290B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
+90
-193
@@ -7,153 +7,101 @@
|
||||
#include "Z2AudioLib/Z2Param.h"
|
||||
#include "Z2AudioLib/Z2Calc.h"
|
||||
#include "Z2AudioLib/Z2AudioMgr.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
static void Z2_E_sw_modPitch(Z2SoundHandlePool*, u32);
|
||||
static void Z2_E_ms_modVol(Z2SoundHandlePool*, u32);
|
||||
static void Z2_E_mm_modPitch(Z2SoundHandlePool*, u32);
|
||||
static void Z2_B_zan_modPitch(Z2SoundHandlePool*, u32);
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
/* 80455BD8-80455BDC 0041D8 0004+00 1/1 0/0 0/0 .sdata2 sAreaDefault */
|
||||
static Z2EnemyArea const sAreaDefault = {true, 700, 1100, 1500};
|
||||
|
||||
extern "C" void __dt__16Z2SoundObjSimpleFv();
|
||||
extern "C" void moveVolume__18JAISoundParamsMoveFfUl();
|
||||
extern "C" void movePitch__18JAISoundParamsMoveFfUl();
|
||||
extern "C" void linearTransform__6Z2CalcFfffffb();
|
||||
extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign();
|
||||
extern "C" void getRandom__6Z2CalcFfff();
|
||||
extern "C" void getHandleSoundID__14Z2SoundHandlesF10JAISoundID();
|
||||
extern "C" void incrCrowdSize__7Z2SeMgrFv();
|
||||
extern "C" void decrCrowdSize__7Z2SeMgrFv();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void subBgmStart__8Z2SeqMgrFUl();
|
||||
extern "C" void subBgmStop__8Z2SeqMgrFv();
|
||||
extern "C" void setChildTrackVolume__8Z2SeqMgrFP14JAISoundHandleifUlff();
|
||||
extern "C" void setBattleSeqState__8Z2SeqMgrFUc();
|
||||
extern "C" void setBattleLastHit__8Z2SeqMgrFUc();
|
||||
extern "C" void convertAbsToRel__10Z2AudienceFR3VecP3Veci();
|
||||
extern "C" void calcRelPosVolume__10Z2AudienceFRC3Vecfi();
|
||||
extern "C" void calcRelPosPan__10Z2AudienceFRC3Veci();
|
||||
extern "C" void calcRelPosDolby__10Z2AudienceFRC3Veci();
|
||||
extern "C" void __ct__14Z2SoundObjBaseFv();
|
||||
extern "C" void __dt__14Z2SoundObjBaseFv();
|
||||
extern "C" void init__14Z2SoundObjBaseFP3VecUc();
|
||||
extern "C" void deleteObject__14Z2SoundObjBaseFv();
|
||||
extern "C" void framework__14Z2SoundObjBaseFUlSc();
|
||||
extern "C" void dispose__14Z2SoundObjBaseFv();
|
||||
extern "C" void stopOK__14Z2SoundObjBaseFR17Z2SoundHandlePool();
|
||||
extern "C" void startSound__14Z2SoundObjBaseF10JAISoundIDUlSc();
|
||||
extern "C" void startLevelSound__14Z2SoundObjBaseF10JAISoundIDUlSc();
|
||||
extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase();
|
||||
extern "C" void __ct__16Z2SoundObjSimpleFv();
|
||||
extern "C" void __ct__15Z2SoundObjAnimeFv();
|
||||
extern "C" void initAnime__15Z2SoundObjAnimeFPvbff();
|
||||
extern "C" void updateAnime__15Z2SoundObjAnimeFff();
|
||||
extern "C" void func_802C0074();
|
||||
extern "C" void func_802C0190();
|
||||
extern "C" void isMidnaSpeak__12Z2SpeechMgr2Fv();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __ct__10JSUPtrLinkFPv();
|
||||
extern "C" void __dt__10JSUPtrLinkFv();
|
||||
extern "C" void append__10JSUPtrListFP10JSUPtrLink();
|
||||
extern "C" void remove__10JSUPtrListFP10JSUPtrLink();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_20();
|
||||
extern "C" void _savegpr_23();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_20();
|
||||
extern "C" void _restgpr_23();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__15Z2SoundObjAnime[8];
|
||||
extern "C" extern void* __vt__16Z2SoundObjSimple[8];
|
||||
extern "C" extern u8 data_80450B44[4];
|
||||
extern "C" extern u8 data_80450B48[4];
|
||||
extern "C" extern u8 data_80450B70[4];
|
||||
extern "C" extern u8 data_80450B7C[4];
|
||||
extern "C" extern u8 data_80450B80[4];
|
||||
extern "C" extern u8 data_80450B84[4];
|
||||
extern "C" extern u8 data_80450B88[4];
|
||||
extern "C" extern u8 struct_80451358[8];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" extern u8 __OSReport_disable;
|
||||
/* 80455BE0-80455BE4 0041E0 0004+00 1/1 0/0 0/0 .sdata2 sAreaFloating */
|
||||
static Z2EnemyArea const sAreaFloating = {false, 700, 1100, 1500};
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
/* 80455BE8-80455BEC 0041E8 0004+00 1/1 0/0 0/0 .sdata2 sAreaWide */
|
||||
static Z2EnemyArea const sAreaWide = {true, 700, 1500, 3300};
|
||||
|
||||
/* 80455BF0-80455BF4 0041F0 0004+00 1/1 0/0 0/0 .sdata2 sAreaWideFloating */
|
||||
static Z2EnemyArea const sAreaWideFloating = {false, 700, 1500, 3300};
|
||||
|
||||
/* 80455BF8-80455BFC 0041F8 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmall */
|
||||
static Z2EnemyArea const sAreaSmall = {true, 300, 700, 1000};
|
||||
|
||||
/* 80455C00-80455C04 004200 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmallFloating */
|
||||
static Z2EnemyArea const sAreaSmallFloating = {false, 500, 800, 1200};
|
||||
|
||||
struct EnemyInfo {
|
||||
char mName[8];
|
||||
Z2EnemyArea mEnemyArea;
|
||||
};
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CB230-803CB630 028350 0400+00 1/1 0/0 0/0 .data mEnemyInfo */
|
||||
SECTION_DATA static u8 mEnemyInfo[1024] = {
|
||||
0x44, 0x75, 0x6D, 0x6D, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x73, 0x31, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xBC, 0x04, 0xB0, 0x07, 0xD0,
|
||||
0x45, 0x5F, 0x79, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x79, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x79, 0x67, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x2C, 0x01, 0xF4, 0x02, 0xBC,
|
||||
0x45, 0x5F, 0x79, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x79, 0x64, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x03, 0x84, 0x05, 0xDC,
|
||||
0x45, 0x5F, 0x72, 0x64, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x79, 0x6D, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x1E,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x77, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x72, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x64, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x6B, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x73, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x74, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xBC, 0x05, 0xDC, 0x09, 0xC4,
|
||||
0x45, 0x5F, 0x74, 0x6B, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xBC, 0x05, 0xDC, 0x09, 0xC4,
|
||||
0x45, 0x5F, 0x63, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x64, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x66, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x53, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x64, 0x62, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x03, 0x84, 0x07, 0x08,
|
||||
0x45, 0x5F, 0x6B, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x73, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x73, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x62, 0x73, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xC8, 0x01, 0x90, 0x02, 0x58,
|
||||
0x45, 0x5F, 0x53, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x62, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x62, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x48, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x67, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x68, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF4, 0x03, 0x20, 0x05, 0x14,
|
||||
0x45, 0x5F, 0x77, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x6F, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x66, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x66, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x62, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x6D, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x03, 0x20, 0x05, 0xDC,
|
||||
0x45, 0x5F, 0x6E, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x02, 0xBC, 0x04, 0x4C,
|
||||
0x45, 0x5F, 0x70, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x72, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x73, 0x67, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x02, 0xBC, 0x03, 0x84,
|
||||
0x45, 0x5F, 0x68, 0x62, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x03, 0x84, 0x05, 0xDC,
|
||||
0x45, 0x5F, 0x67, 0x62, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0x40, 0x0B, 0xB8, 0x0F, 0xA0,
|
||||
0x45, 0x5F, 0x6D, 0x73, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x02, 0xBC, 0x04, 0x4C,
|
||||
0x45, 0x5F, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x62, 0x69, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x02, 0xBC, 0x03, 0x84,
|
||||
0x45, 0x5F, 0x74, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x61, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x64, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x67, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x73, 0x6D, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x73, 0x77, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x90, 0x02, 0x58, 0x05, 0xDC,
|
||||
0x45, 0x5F, 0x72, 0x64, 0x62, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xF4, 0x03, 0xE8, 0x05, 0xDC,
|
||||
0x45, 0x5F, 0x6B, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x7A, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x67, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x42, 0x5F, 0x47, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x07, 0xD0, 0x0F, 0xA0,
|
||||
0x45, 0x5F, 0x6D, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x5F, 0x7A, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x42, 0x5F, 0x74, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
static EnemyInfo mEnemyInfo[64] = {
|
||||
{"Dummy", sAreaDefault},
|
||||
{"E_s1", {true, 700, 1200, 2000}},
|
||||
{"E_yk", sAreaSmallFloating},
|
||||
{"E_yr", sAreaWideFloating},
|
||||
{"E_yg", {true, 300, 500, 700}},
|
||||
{"E_yc", sAreaWideFloating},
|
||||
{"E_yd", {true, 500, 900, 1500}},
|
||||
{"E_rdy", sAreaDefault},
|
||||
{"E_ymb", {false, 10, 20, 30}},
|
||||
{"", sAreaDefault},
|
||||
{"E_wb", sAreaDefault},
|
||||
{"E_rd", sAreaDefault},
|
||||
{"E_dn", sAreaDefault},
|
||||
{"E_kr", sAreaWideFloating},
|
||||
{"E_st", sAreaDefault},
|
||||
{"E_tk", {true, 700, 1500, 2500}},
|
||||
{"E_tk2", {true, 700, 1500, 2500}},
|
||||
{"E_cr", sAreaSmall},
|
||||
{"E_df", sAreaDefault},
|
||||
{"E_fs", sAreaDefault},
|
||||
{"E_SB", sAreaDefault},
|
||||
{"E_PM", sAreaDefault},
|
||||
{"E_db", {true, 500, 900, 1800}},
|
||||
{"E_kg", sAreaSmall},
|
||||
{"E_sh", sAreaDefault},
|
||||
{"E_sf", sAreaDefault},
|
||||
{"E_bs", {true, 200, 400, 600}},
|
||||
{"E_SM", sAreaDefault},
|
||||
{"E_ba", sAreaSmallFloating},
|
||||
{"E_bu", sAreaFloating},
|
||||
{"E_HM", sAreaDefault},
|
||||
{"E_ge", sAreaFloating},
|
||||
{"E_hz", {false, 500, 800, 1300}},
|
||||
{"E_ws", sAreaSmallFloating},
|
||||
{"E_oc", sAreaDefault},
|
||||
{"E_fz", sAreaDefault},
|
||||
{"E_fb", sAreaDefault},
|
||||
{"E_bg", sAreaSmall},
|
||||
{"E_mm", {true, 500, 800, 1500}},
|
||||
{"E_nz", {true, 500, 700, 1100}},
|
||||
{"E_po", sAreaWide},
|
||||
{"E_rb", sAreaDefault},
|
||||
{"E_sg", {true, 500, 700, 900}},
|
||||
{"E_hb", {true, 500, 900, 1500}},
|
||||
{"E_gb", {true, 1600, 3000, 4000}},
|
||||
{"E_ms", {true, 500, 700, 1100}},
|
||||
{"E_dd", sAreaDefault},
|
||||
{"E_bi", {true, 500, 700, 900}},
|
||||
{"E_tt", sAreaSmallFloating},
|
||||
{"E_ai", sAreaDefault},
|
||||
{"E_dk", sAreaSmall},
|
||||
{"E_ww", sAreaWide},
|
||||
{"E_gi", sAreaDefault},
|
||||
{"E_sm2", sAreaDefault},
|
||||
{"E_sw", {true, 400, 600, 1500}},
|
||||
{"E_rdb", {true, 500, 1000, 1500}},
|
||||
{"E_kk", sAreaDefault},
|
||||
{"E_hp", sAreaDefault},
|
||||
{"E_zh", sAreaDefault},
|
||||
{"E_gm", sAreaSmall},
|
||||
{"B_GG", {false, 1000, 2000, 4000}},
|
||||
{"E_mf", sAreaDefault},
|
||||
{"E_zm", sAreaDefault},
|
||||
{"B_tn", sAreaDefault},
|
||||
};
|
||||
|
||||
/* 802C03C8-802C0420 2BAD08 0058+00 3/3 3/3 129/129 .text __ct__10Z2CreatureFv */
|
||||
@@ -224,43 +172,6 @@ void Z2Creature::stopAnime() {
|
||||
deleteObject();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455BD8-80455BDC 0041D8 0004+00 1/1 0/0 0/0 .sdata2 sAreaDefault */
|
||||
SECTION_SDATA2 static u32 sAreaDefault = 0x010002BC;
|
||||
|
||||
/* 80455BDC-80455BE0 0041DC 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455BDC = 0x044C05DC;
|
||||
|
||||
/* 80455BE0-80455BE4 0041E0 0004+00 1/1 0/0 0/0 .sdata2 sAreaFloating */
|
||||
SECTION_SDATA2 static u32 sAreaFloating = 0x000002BC;
|
||||
|
||||
/* 80455BE4-80455BE8 0041E4 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455BE4 = 0x044C05DC;
|
||||
|
||||
/* 80455BE8-80455BEC 0041E8 0004+00 1/1 0/0 0/0 .sdata2 sAreaWide */
|
||||
SECTION_SDATA2 static u32 sAreaWide = 0x010002BC;
|
||||
|
||||
/* 80455BEC-80455BF0 0041EC 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455BEC = 0x05DC0CE4;
|
||||
|
||||
/* 80455BF0-80455BF4 0041F0 0004+00 1/1 0/0 0/0 .sdata2 sAreaWideFloating */
|
||||
SECTION_SDATA2 static u32 sAreaWideFloating = 0x000002BC;
|
||||
|
||||
/* 80455BF4-80455BF8 0041F4 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455BF4 = 0x05DC0CE4;
|
||||
|
||||
/* 80455BF8-80455BFC 0041F8 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmall */
|
||||
SECTION_SDATA2 static u32 sAreaSmall = 0x0100012C;
|
||||
|
||||
/* 80455BFC-80455C00 0041FC 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455BFC = 0x02BC03E8;
|
||||
|
||||
/* 80455C00-80455C04 004200 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmallFloating */
|
||||
SECTION_SDATA2 static u32 sAreaSmallFloating = 0x000001F4;
|
||||
|
||||
/* 80455C04-80455C08 004204 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455C04 = 0x032004B0;
|
||||
|
||||
/* 802C0720-802C087C 2BB060 015C+00 4/0 2/0 0/0 .text
|
||||
* startCreatureSound__10Z2CreatureF10JAISoundIDUlSc */
|
||||
Z2SoundHandlePool* Z2Creature::startCreatureSound(JAISoundID i_soundID, u32 param_1, s8 param_2) {
|
||||
@@ -423,10 +334,9 @@ void Z2CreatureCitizen::setMdlType(s8 param_0, bool param_1, bool param_2) {
|
||||
|
||||
/* 802C0E18-802C0ED8 2BB758 00C0+00 0/0 0/0 21/21 .text playVoice__17Z2CreatureCitizenFi
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
// regalloc
|
||||
void Z2CreatureCitizen::playVoice(int i_sound) {
|
||||
u32 sound_id = Z2SE_MAN_A1_V_AWAY + 6 * mCitizenID + i_sound;
|
||||
u32 tmp = mCitizenID;
|
||||
u32 sound_id = Z2SE_MAN_A1_V_AWAY + 6 * tmp + i_sound;
|
||||
switch (mCitizenID) {
|
||||
case 0:
|
||||
case 1:
|
||||
@@ -441,11 +351,6 @@ void Z2CreatureCitizen::playVoice(int i_sound) {
|
||||
mLinkSearch = true;
|
||||
}
|
||||
}
|
||||
#else
|
||||
void Z2CreatureCitizen::playVoice(int param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802C0ED8-802C0F64 2BB818 008C+00 1/0 0/0 0/0 .text
|
||||
* startCreatureVoice__17Z2CreatureCitizenF10JAISoundIDSc */
|
||||
@@ -478,7 +383,7 @@ Z2CreatureEnemy::Z2CreatureEnemy() :
|
||||
*/
|
||||
void Z2CreatureEnemy::deleteObject() {
|
||||
if (mEnemyID == 0x2c) {
|
||||
Z2GetSeqMgr()->i_unMuteSceneBgm(0x21);
|
||||
Z2GetSeqMgr()->unMuteSceneBgm(0x21);
|
||||
}
|
||||
if (getSupervisor() != NULL) {
|
||||
Z2GetSoundObjMgr()->removeEnemy(this);
|
||||
@@ -739,6 +644,7 @@ Z2SoundHandlePool* Z2CreatureEnemy::startCreatureExtraSoundLevel(JAISoundID i_so
|
||||
|
||||
/* 802C1A14-802C1B7C 2BC354 0168+00 4/0 0/0 0/0 .text startCollisionSE__15Z2CreatureEnemyFUlUl */
|
||||
Z2SoundHandlePool* Z2CreatureEnemy::startCollisionSE(u32 param_0, u32 param_1) {
|
||||
u8 var1;
|
||||
switch (mEnemyID) {
|
||||
case 0x21:
|
||||
field_0xa3 = 1;
|
||||
@@ -766,7 +672,7 @@ Z2SoundHandlePool* Z2CreatureEnemy::startCollisionSE(u32 param_0, u32 param_1) {
|
||||
case 0x20:
|
||||
case 0x24:
|
||||
field_0xa3 = 1;
|
||||
u8 var1 = struct_80450869;
|
||||
var1 = struct_80450869;
|
||||
if (param_0 - 0x40000 <= 1 || param_0 - 0x40000 == 3) {
|
||||
var1 = 0x14;
|
||||
}
|
||||
@@ -1208,12 +1114,3 @@ static void Z2_B_zan_modPitch(Z2SoundHandlePool* i_handle, u32 param_1) {
|
||||
(*i_handle)->getAuxiliary().moveVolume(volume, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* 802C3040-802C321C 2BD980 01DC+00 0/0 1/0 0/0 .text __sinit_Z2Creature_cpp */
|
||||
void __sinit_Z2Creature_cpp(){// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x802C3040, __sinit_Z2Creature_cpp);
|
||||
#pragma pop
|
||||
@@ -1181,22 +1181,23 @@ bool Z2EnvSeMgr::startEtcSe(s8 param_1) {
|
||||
f32 dVar15 = mEtcSeMgr.getDolbyPower();
|
||||
bool rv = false;
|
||||
f32 dVar18 = field_0x21c;
|
||||
f32 local_90;
|
||||
f32 local_90, local_98, local_9c, local_a0;
|
||||
bool iVar5, iVar6, iVar7, iVar8;
|
||||
switch (field_0x214) {
|
||||
case 0x11:
|
||||
local_90 = Z2Calc::linearTransform(field_0x120.calcNoise1f(), 0.0f, 1.0f, 0.01f, 1.0f,
|
||||
true);
|
||||
dVar18 *= Z2Calc::linearTransform(field_0x130.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.2f,
|
||||
true);
|
||||
bool iVar8 = field_0x20c.startEnvSeLevel(Z2SE_OBJ_RANCH_WOODPLATE, dVar17,
|
||||
iVar8 = field_0x20c.startEnvSeLevel(Z2SE_OBJ_RANCH_WOODPLATE, dVar17,
|
||||
(dVar19 * local_90), dVar14, dVar15, dVar18, 0);
|
||||
local_90 = Z2Calc::linearTransform(local_90, 0.0f, 1.0f, 0.3f, 1.0f, true);
|
||||
field_0x0.calcPan();
|
||||
field_0x1c.calcPan();
|
||||
bool iVar6 = field_0x0.startEnvSeAutoPanLevel(JA_SE_ATM_WIND_1, dVar17, local_90, dVar18);
|
||||
bool iVar7 = field_0x1c.startEnvSeAutoPanLevel(JA_SE_ATM_WIND_1, dVar17, 0.7f * local_90,
|
||||
iVar6 = field_0x0.startEnvSeAutoPanLevel(JA_SE_ATM_WIND_1, dVar17, local_90, dVar18);
|
||||
iVar7 = field_0x1c.startEnvSeAutoPanLevel(JA_SE_ATM_WIND_1, dVar17, 0.7f * local_90,
|
||||
(0.8f * dVar18));
|
||||
bool iVar5 = false;
|
||||
iVar5 = false;
|
||||
if (iVar8 && iVar6 && iVar7) {
|
||||
iVar5 = true;
|
||||
}
|
||||
@@ -1265,11 +1266,11 @@ bool Z2EnvSeMgr::startEtcSe(s8 param_1) {
|
||||
case 0x0:
|
||||
break;
|
||||
case 0x10:
|
||||
f32 local_98 = Z2Calc::getParamByExp(getFogDensity(), 0.4f, 1.0f, 0.2f, 0.2f, 1.0f,
|
||||
local_98 = Z2Calc::getParamByExp(getFogDensity(), 0.4f, 1.0f, 0.2f, 0.2f, 1.0f,
|
||||
Z2Calc::CURVE_SIGN_0);
|
||||
f32 local_9c = Z2Calc::getParamByExp(getFogDensity(), 0.4f, 1.0f, 0.2f, 0.75f, 1.0f,
|
||||
local_9c = Z2Calc::getParamByExp(getFogDensity(), 0.4f, 1.0f, 0.2f, 0.75f, 1.0f,
|
||||
Z2Calc::CURVE_SIGN_0);
|
||||
f32 local_a0 = field_0x2e8.calcNoise1f();
|
||||
local_a0 = field_0x2e8.calcNoise1f();
|
||||
rv = field_0x240.startEnvSeLevel(Z2SE_ENV_PUPPET_FOG_L, 0.3f,
|
||||
(dVar19 * ((0.332f + 0.668f * local_a0) * local_98)),
|
||||
dVar14, dVar15, 0.8f + 0.2f * local_a0, 0);
|
||||
@@ -1299,6 +1300,7 @@ bool Z2EnvSeMgr::startFogWipeTrigger(Vec* param_0) {
|
||||
(JGeometry::TVec3<f32>*)param_0, fogDensity2, 0.3f,
|
||||
1.0f, fogDensity, -1.0f, -1.0f, 0);
|
||||
}
|
||||
//! @bug does not always return a value
|
||||
}
|
||||
|
||||
/* 802C93A0-802C93E4 2C3CE0 0044+00 0/0 0/0 1/1 .text setFogWipeWidth__10Z2EnvSeMgrFf */
|
||||
@@ -1331,7 +1333,7 @@ bool Z2EnvSeMgr::startFogSe() {
|
||||
dVar13, 0);
|
||||
bool uVar8 = false;
|
||||
if (iVar5 && iVar6) {
|
||||
uVar8 = 1;
|
||||
uVar8 = true;
|
||||
}
|
||||
return uVar8;
|
||||
}
|
||||
|
||||
+196
-152
@@ -4,180 +4,224 @@
|
||||
//
|
||||
|
||||
#include "Z2AudioLib/Z2FxLineMgr.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JSUMemoryInputStream {
|
||||
/* 802DC520 */ void setBuffer(void const*, s32);
|
||||
};
|
||||
|
||||
struct JSUInputStream {
|
||||
/* 802DC23C */ ~JSUInputStream();
|
||||
/* 802DC298 */ void read(void*, s32);
|
||||
};
|
||||
|
||||
struct JASDsp {
|
||||
struct FxlineConfig_ {};
|
||||
|
||||
/* 8029DB78 */ void setFXLine(u8, s16*, JASDsp::FxlineConfig_*);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__11Z2FxLineMgrFv();
|
||||
extern "C" void initDataArc__11Z2FxLineMgrFP10JKRArchiveP7JKRHeap();
|
||||
extern "C" void setLineID__11Z2FxLineMgrFScbb();
|
||||
extern "C" void setLine__11Z2FxLineMgrFP14Z2FxLineConfigbb();
|
||||
extern "C" void setFxForceOff__11Z2FxLineMgrFb();
|
||||
extern "C" void setUnderWaterFx__11Z2FxLineMgrFb();
|
||||
extern "C" void setSceneFx__11Z2FxLineMgrFl();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void setFXLine__6JASDspFUcPsPQ26JASDsp13FxlineConfig_();
|
||||
extern "C" void free__7JKRHeapFPvP7JKRHeap();
|
||||
extern "C" void* __nwa__FUlP7JKRHeapi();
|
||||
extern "C" void getResource__10JKRArchiveFUs();
|
||||
extern "C" void countResource__10JKRArchiveCFv();
|
||||
extern "C" void __dt__14JSUInputStreamFv();
|
||||
extern "C" void read__14JSUInputStreamFPvl();
|
||||
extern "C" void setBuffer__20JSUMemoryInputStreamFPCvl();
|
||||
extern "C" void _savegpr_22();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_22();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" extern void* __vt__10JSUIosBase[3];
|
||||
extern "C" extern void* __vt__20JSURandomInputStream[9];
|
||||
extern "C" extern void* __vt__14JSUInputStream[6 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__20JSUMemoryInputStream[9 + 1 /* padding */];
|
||||
extern "C" extern u8 data_80450B80[4];
|
||||
extern "C" extern u8 __OSReport_disable;
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
#include "Z2AudioLib/Z2SceneMgr.h"
|
||||
#include "JSystem/JAudio2/JASDSPInterface.h"
|
||||
#include "JSystem/JKernel/JKRArchive.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "JSystem/JSupport/JSUMemoryStream.h"
|
||||
|
||||
/* 802BA7DC-802BA7FC 2B511C 0020+00 0/0 1/1 0/0 .text __ct__11Z2FxLineMgrFv */
|
||||
Z2FxLineMgr::Z2FxLineMgr() : JASGlobalInstance<Z2FxLineMgr>(this) {
|
||||
// NONMATCHING
|
||||
mConfig = NULL;
|
||||
mLineID = -1;
|
||||
mFxDataNum = 0;
|
||||
mSetUnderWaterFx = false;
|
||||
}
|
||||
|
||||
/* 802BA7FC-802BAC28 2B513C 042C+00 0/0 1/1 0/0 .text
|
||||
* initDataArc__11Z2FxLineMgrFP10JKRArchiveP7JKRHeap */
|
||||
void Z2FxLineMgr::initDataArc(JKRArchive* param_0, JKRHeap* param_1) {
|
||||
// NONMATCHING
|
||||
void Z2FxLineMgr::initDataArc(JKRArchive* arc, JKRHeap* heap) {
|
||||
mFxLineBuffer[0] = new (heap, 0x20) u8[0x2800];
|
||||
mFxLineBuffer[1] = new (heap, 0x20) u8[0x2800];
|
||||
mFxLineBuffer[2] = new (heap, 0x20) u8[0x4B00];
|
||||
mFxLineBuffer[3] = new (heap, 0x20) u8[0x4B00];
|
||||
mFxDataNum = arc->countResource();
|
||||
mConfig = new (heap, 0) Z2FxLineConfig[mFxDataNum];
|
||||
for (u8 i = 0; i < mFxDataNum; i++) {
|
||||
void* res = arc->getResource(i);
|
||||
u32 size = (arc->getResSize(res) + 0x1f) & ~0x1f;
|
||||
JSUMemoryInputStream stream(res, size);
|
||||
stream >> mConfig[i].field_0x0;
|
||||
stream >> mConfig[i].field_0x1;
|
||||
stream >> mConfig[i].field_0x2;
|
||||
stream >> mConfig[i].field_0x3;
|
||||
stream >> mConfig[i].field_0x4;
|
||||
stream >> mConfig[i].field_0x6;
|
||||
stream >> mConfig[i].field_0x8[0];
|
||||
stream >> mConfig[i].field_0x8[1];
|
||||
stream >> mConfig[i].field_0x8[2];
|
||||
stream >> mConfig[i].field_0x8[3];
|
||||
stream >> mConfig[i].field_0x8[4];
|
||||
stream >> mConfig[i].field_0x8[5];
|
||||
stream >> mConfig[i].field_0x8[6];
|
||||
stream >> mConfig[i].field_0x8[7];
|
||||
stream >> mConfig[i].field_0x18;
|
||||
stream >> mConfig[i].field_0x19;
|
||||
stream >> mConfig[i].field_0x1a;
|
||||
stream >> mConfig[i].field_0x1b;
|
||||
stream >> mConfig[i].field_0x1c;
|
||||
stream >> mConfig[i].field_0x1e;
|
||||
stream >> mConfig[i].field_0x20[0];
|
||||
stream >> mConfig[i].field_0x20[1];
|
||||
stream >> mConfig[i].field_0x20[2];
|
||||
stream >> mConfig[i].field_0x20[3];
|
||||
stream >> mConfig[i].field_0x20[4];
|
||||
stream >> mConfig[i].field_0x20[5];
|
||||
stream >> mConfig[i].field_0x20[6];
|
||||
stream >> mConfig[i].field_0x20[7];
|
||||
JKRFree(res);
|
||||
}
|
||||
setLineID(-1, false, false);
|
||||
setLineID(-1, true, false);
|
||||
}
|
||||
|
||||
/* 802BAC28-802BAC74 2B5568 004C+00 4/4 0/0 0/0 .text setLineID__11Z2FxLineMgrFScbb */
|
||||
void Z2FxLineMgr::setLineID(s8 param_0, bool param_1, bool param_2) {
|
||||
// NONMATCHING
|
||||
void Z2FxLineMgr::setLineID(s8 fxID, bool param_1, bool param_2) {
|
||||
if (fxID < 0) {
|
||||
mLineID = 0;
|
||||
} else {
|
||||
mLineID = fxID;
|
||||
}
|
||||
setLine(&mConfig[mLineID], param_1, param_2);
|
||||
}
|
||||
|
||||
/* 802BAC74-802BAE1C 2B55B4 01A8+00 1/1 0/0 0/0 .text setLine__11Z2FxLineMgrFP14Z2FxLineConfigbb
|
||||
*/
|
||||
void Z2FxLineMgr::setLine(Z2FxLineConfig* param_0, bool param_1, bool param_2) {
|
||||
// NONMATCHING
|
||||
void Z2FxLineMgr::setLine(Z2FxLineConfig* config, bool param_1, bool param_2) {
|
||||
u8 buf1 = 0;
|
||||
u8 buf2 = 1;
|
||||
if (param_1) {
|
||||
buf1 = 2;
|
||||
buf2 = 3;
|
||||
}
|
||||
|
||||
if (mFxLineBuffer[buf1] == NULL || mFxLineBuffer[buf2] == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
JASDsp::FxlineConfig_ dsp_config;
|
||||
dsp_config.field_0x0 = config->field_0x0;
|
||||
dsp_config.field_0x2 = config->field_0x1;
|
||||
dsp_config.field_0x6 = config->field_0x2;
|
||||
if (param_2) {
|
||||
dsp_config.field_0x4 = 0;
|
||||
dsp_config.field_0x8 = 0;
|
||||
} else {
|
||||
dsp_config.field_0x4 = config->field_0x4;
|
||||
dsp_config.field_0x8 = config->field_0x6;
|
||||
}
|
||||
dsp_config.field_0xc = config->field_0x3;
|
||||
dsp_config.field_0x10[0] = config->field_0x8[0];
|
||||
dsp_config.field_0x10[1] = config->field_0x8[1];
|
||||
dsp_config.field_0x10[2] = config->field_0x8[2];
|
||||
dsp_config.field_0x10[3] = config->field_0x8[3];
|
||||
dsp_config.field_0x10[4] = config->field_0x8[4];
|
||||
dsp_config.field_0x10[5] = config->field_0x8[5];
|
||||
dsp_config.field_0x10[6] = config->field_0x8[6];
|
||||
dsp_config.field_0x10[7] = config->field_0x8[7];
|
||||
JASDsp::setFXLine(buf1, (s16*)mFxLineBuffer[buf1], &dsp_config);
|
||||
|
||||
dsp_config.field_0x0 = config->field_0x18;
|
||||
dsp_config.field_0x2 = config->field_0x19;
|
||||
dsp_config.field_0x6 = config->field_0x1a;
|
||||
if (param_2) {
|
||||
dsp_config.field_0x4 = 0;
|
||||
dsp_config.field_0x8 = 0;
|
||||
} else {
|
||||
dsp_config.field_0x4 = config->field_0x1c;
|
||||
dsp_config.field_0x8 = config->field_0x1e;
|
||||
}
|
||||
dsp_config.field_0xc = config->field_0x1b;
|
||||
dsp_config.field_0x10[0] = config->field_0x20[0];
|
||||
dsp_config.field_0x10[1] = config->field_0x20[1];
|
||||
dsp_config.field_0x10[2] = config->field_0x20[2];
|
||||
dsp_config.field_0x10[3] = config->field_0x20[3];
|
||||
dsp_config.field_0x10[4] = config->field_0x20[4];
|
||||
dsp_config.field_0x10[5] = config->field_0x20[5];
|
||||
dsp_config.field_0x10[6] = config->field_0x20[6];
|
||||
dsp_config.field_0x10[7] = config->field_0x20[7];
|
||||
JASDsp::setFXLine(buf2, (s16*)mFxLineBuffer[buf2], &dsp_config);
|
||||
}
|
||||
|
||||
/* 802BAE1C-802BAE48 2B575C 002C+00 0/0 1/1 0/0 .text setFxForceOff__11Z2FxLineMgrFb */
|
||||
void Z2FxLineMgr::setFxForceOff(bool param_0) {
|
||||
// NONMATCHING
|
||||
setLineID(mLineID, true, param_0);
|
||||
}
|
||||
|
||||
/* 802BAE48-802BAEB8 2B5788 0070+00 0/0 1/1 0/0 .text setUnderWaterFx__11Z2FxLineMgrFb */
|
||||
void Z2FxLineMgr::setUnderWaterFx(bool param_0) {
|
||||
// NONMATCHING
|
||||
if (mSetUnderWaterFx != param_0) {
|
||||
if (param_0) {
|
||||
setLineID(12, true, false);
|
||||
} else {
|
||||
setSceneFx(Z2GetSceneMgr()->getCurrentSceneNum());
|
||||
}
|
||||
mSetUnderWaterFx = param_0;
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CAB18-803CAC48 -00001 0130+00 1/1 0/0 0/0 .data @3566 */
|
||||
SECTION_DATA static void* lit_3566[76] = {
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x88),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x7C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x68),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x68),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x68),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xB0),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x68),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x68),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x54),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x7C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x7C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x7C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x9C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x9C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x9C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xB0),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xB0),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xB0),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xD0),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xD0),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xD0),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xE4),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xE4),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xE4),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xF8),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xF8),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xF8),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x10C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x10C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x10C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x120),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x120),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0xE4),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x7C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x7C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x9C),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x134),
|
||||
(void*)(((char*)setSceneFx__11Z2FxLineMgrFl) + 0x7C),
|
||||
};
|
||||
|
||||
/* 802BAEB8-802BB00C 2B57F8 0154+00 2/1 1/1 0/0 .text setSceneFx__11Z2FxLineMgrFl */
|
||||
void Z2FxLineMgr::setSceneFx(s32 param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
void Z2FxLineMgr::setSceneFx(s32 sceneNum) {
|
||||
if (Z2GetSceneMgr()->isInDarkness()) {
|
||||
setLineID(11, true, false);
|
||||
} else {
|
||||
switch (sceneNum) {
|
||||
case SPOT_SHADES_REALM:
|
||||
setLineID(9, true, false);
|
||||
break;
|
||||
case SPOT_KAKARIKO_VILLAGE:
|
||||
case SPOT_DEATH_MOUNTAIN:
|
||||
case SPOT_HIDDEN_VILLAGE:
|
||||
case SPOT_ZORAS_RIVER:
|
||||
case SPOT_HYRULE_FIELD:
|
||||
setLineID(10, true, false);
|
||||
break;
|
||||
case SPOT_SACRED_GROVE:
|
||||
case SPOT_FOREST_TEMPLE:
|
||||
case SPOT_FOREST_TEMPLE_MINIBOSS:
|
||||
case SPOT_FOREST_TEMPLE_BOSS:
|
||||
case SPOT_GORGE_LANTERN_CAVE:
|
||||
case SPOT_LAKE_LANTERN_CAVE:
|
||||
case SPOT_FARON_WOODS_CAVE:
|
||||
if (Z2GetSceneMgr()->getCurrentRoomNum() == 2) {
|
||||
return;
|
||||
}
|
||||
// fallthrough
|
||||
case SPOT_FARON_WOODS:
|
||||
setLineID(1, true, false);
|
||||
break;
|
||||
case SPOT_GORON_MINES:
|
||||
case SPOT_GORON_MINES_MINIBOSS:
|
||||
case SPOT_GORON_MINES_BOSS:
|
||||
case SPOT_ELDIN_MAGNET_CAVE:
|
||||
setLineID(2, true, false);
|
||||
break;
|
||||
case SPOT_LAKE_HYLIA:
|
||||
case SPOT_LAKEBED_TEMPLE:
|
||||
case SPOT_LAKEBED_TEMPLE_MINIBOSS:
|
||||
case SPOT_LAKEBED_TEMPLE_BOSS:
|
||||
if (Z2GetSceneMgr()->getCurrentRoomNum() == 1) {
|
||||
setLineID(3, true, false);
|
||||
}
|
||||
break;
|
||||
case SPOT_ARBITERS_GROUNDS:
|
||||
case SPOT_ARBITERS_GROUNDS_MINIBOSS:
|
||||
case SPOT_ARBITERS_GROUNDS_BOSS:
|
||||
setLineID(4, true, false);
|
||||
break;
|
||||
case SPOT_SNOWPEAK_RUINS:
|
||||
case SPOT_SNOWPEAK_RUINS_MINIBOSS:
|
||||
case SPOT_SNOWPEAK_RUINS_BOSS:
|
||||
case SPOT_ICE_BLOCK_PUZZLE:
|
||||
setLineID(5, true, false);
|
||||
break;
|
||||
case SPOT_TEMPLE_OF_TIME:
|
||||
case SPOT_TEMPLE_OF_TIME_MINIBOSS:
|
||||
case SPOT_TEMPLE_OF_TIME_BOSS:
|
||||
setLineID(6, true, false);
|
||||
break;
|
||||
case SPOT_CITY_IN_THE_SKY:
|
||||
case SPOT_CITY_IN_THE_SKY_MINIBOSS:
|
||||
case SPOT_CITY_IN_THE_SKY_BOSS:
|
||||
setLineID(7, true, false);
|
||||
break;
|
||||
case SPOT_HYRULE_CASTLE:
|
||||
case SPOT_FINAL_BATTLE_THRONE_ROOM:
|
||||
setLineID(8, true, false);
|
||||
break;
|
||||
default:
|
||||
setLineID(-1, true, false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1980
-800
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,6 @@
|
||||
#include "Z2AudioLib/Z2Param.h"
|
||||
#include "Z2AudioLib/Z2SeqMgr.h"
|
||||
#include "dol2asm.h"
|
||||
#include "global.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -294,7 +293,7 @@ bool Z2SeMgr::seStart(JAISoundID i_soundID, Vec const* i_pos, u32 param_2, s8 i_
|
||||
}
|
||||
break;
|
||||
case Z2SE_OBJ_CHANDLV5_SWING:
|
||||
i_volume = Z2Calc::getParamByExp(param_2, 353.0f, 261.0f, 0.4f, 0.05f, 1.0f,
|
||||
i_volume = Z2Calc::getParamByExp(param_2, 35.0f, 261.0f, 0.4f, 0.05f, 1.0f,
|
||||
Z2Calc::CURVE_SIGN_2);
|
||||
break;
|
||||
case Z2SE_OBJ_IRONBALL_HIT:
|
||||
|
||||
+42
-44
@@ -40,10 +40,10 @@ Z2SeqMgr::Z2SeqMgr() : JASGlobalInstance<Z2SeqMgr>(this) {
|
||||
field_0xc8 = 1.0f;
|
||||
field_0xcc = 1.0f;
|
||||
mRideCount = 0;
|
||||
mFlags.flag5 = false;
|
||||
mFlags.mFieldBgmPlay = false;
|
||||
mFlags.mBattleBgmOff = true;
|
||||
mFlags.flag6 = false;
|
||||
mFlags.flag7 = false;
|
||||
mFlags.mHeightVolMod = false;
|
||||
mFlags.mTimeProcVolMod = false;
|
||||
}
|
||||
|
||||
/* 802AF010-802AF408 2A9950 03F8+00 3/3 5/5 38/38 .text bgmStart__8Z2SeqMgrFUlUll */
|
||||
@@ -121,7 +121,7 @@ void Z2SeqMgr::bgmStart(u32 i_bgmID, u32 i_count, s32 param_2) {
|
||||
changeBgmStatus(0);
|
||||
}
|
||||
|
||||
if (mFlags.flag7 && !Z2GetStatusMgr()->checkDayTime()) {
|
||||
if (mFlags.mTimeProcVolMod && !Z2GetStatusMgr()->checkDayTime()) {
|
||||
field_0xa4.forceOut();
|
||||
} else {
|
||||
field_0xa4.forceIn();
|
||||
@@ -144,7 +144,6 @@ void Z2SeqMgr::bgmStop(u32 i_count, s32 param_1) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039BA08-8039BA08 028068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
@@ -640,6 +639,7 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) {
|
||||
}
|
||||
|
||||
u32 count = 0;
|
||||
bool mute;
|
||||
f32 volume1, volume2, volume3, volume4;
|
||||
switch (getMainBgmID()) {
|
||||
case Z2BGM_TOAL_VILLEGE:
|
||||
@@ -677,11 +677,11 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) {
|
||||
setChildTrackVolume(&mMainBgmHandle, 13, 0.0f, 0, -1.0f, -1.0f);
|
||||
break;
|
||||
case Z2BGM_DUNGEON_FOREST:
|
||||
bool mute = false;
|
||||
mute = false;
|
||||
switch (param_0) {
|
||||
case 4:
|
||||
case 0xc:
|
||||
i_muteSceneBgm(struct_80450860, 0.0f);
|
||||
muteSceneBgm(struct_80450860, 0.0f);
|
||||
// fallthrough
|
||||
case 7:
|
||||
mute = true;
|
||||
@@ -691,7 +691,7 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) {
|
||||
break;
|
||||
}
|
||||
if (!mute) {
|
||||
i_unMuteSceneBgm(struct_80450860);
|
||||
unMuteSceneBgm(struct_80450860);
|
||||
}
|
||||
break;
|
||||
case Z2BGM_DUNGEON_LV2:
|
||||
@@ -731,9 +731,9 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) {
|
||||
setChildTrackVolume(&mMainBgmHandle, 12, volume2, count, -1.0f, -1.0f);
|
||||
setChildTrackVolume(&mMainBgmHandle, 13, volume2, count, -1.0f, -1.0f);
|
||||
if (param_0 == 4) {
|
||||
i_muteSceneBgm(60, 0.29f);
|
||||
muteSceneBgm(60, 0.29f);
|
||||
} else {
|
||||
i_unMuteSceneBgm(60);
|
||||
unMuteSceneBgm(60);
|
||||
}
|
||||
break;
|
||||
case Z2BGM_CASTLE_TOWN:
|
||||
@@ -805,14 +805,14 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) {
|
||||
break;
|
||||
}
|
||||
if (param_0 == 5) {
|
||||
i_muteSceneBgm(count, 0.35f);
|
||||
mFlags.flag6 = false;
|
||||
muteSceneBgm(count, 0.35f);
|
||||
mFlags.mHeightVolMod = false;
|
||||
} else {
|
||||
i_unMuteSceneBgm(count);
|
||||
unMuteSceneBgm(count);
|
||||
if (param_0 < 2) {
|
||||
mFlags.flag6 = false;
|
||||
mFlags.mHeightVolMod = false;
|
||||
} else {
|
||||
mFlags.flag6 = true;
|
||||
mFlags.mHeightVolMod = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -840,9 +840,9 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) {
|
||||
break;
|
||||
case Z2BGM_LUTERA2:
|
||||
if (param_0 == 0) {
|
||||
i_muteSceneBgm(0, 0.5f);
|
||||
muteSceneBgm(0, 0.5f);
|
||||
} else if (param_0 == 1) {
|
||||
i_unMuteSceneBgm(80);
|
||||
unMuteSceneBgm(80);
|
||||
}
|
||||
break;
|
||||
case Z2BGM_DEMO08:
|
||||
@@ -953,9 +953,9 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) {
|
||||
break;
|
||||
case Z2BGM_FORTUNE:
|
||||
if (param_0 == 1) {
|
||||
i_muteSceneBgm(45, 0.5f);
|
||||
muteSceneBgm(45, 0.5f);
|
||||
} else {
|
||||
i_unMuteSceneBgm(45);
|
||||
unMuteSceneBgm(45);
|
||||
}
|
||||
break;
|
||||
case Z2BGM_DUNGEON_LV9_02:
|
||||
@@ -1019,11 +1019,11 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) {
|
||||
case Z2BGM_TOAL_NIGHT:
|
||||
case Z2BGM_FILONE_FOREST:
|
||||
if (param_0 == 1) {
|
||||
i_muteSceneBgm(45, 0.5f);
|
||||
muteSceneBgm(45, 0.5f);
|
||||
} else if (param_0 == 2) {
|
||||
i_muteSceneBgm(0, 0.5f);
|
||||
muteSceneBgm(0, 0.5f);
|
||||
} else {
|
||||
i_unMuteSceneBgm(45);
|
||||
unMuteSceneBgm(45);
|
||||
}
|
||||
break;
|
||||
case Z2BGM_VS_GANON_04:
|
||||
@@ -1257,23 +1257,23 @@ void Z2SeqMgr::changeFishingBgm(s32 param_0) {
|
||||
if (getSubBgmID() == Z2BGM_FISHING_HIT) {
|
||||
subBgmStop();
|
||||
}
|
||||
i_unMuteSceneBgm(struct_80450862);
|
||||
unMuteSceneBgm(struct_80450862);
|
||||
break;
|
||||
case 1:
|
||||
if (getSubBgmID() == Z2BGM_FISHING_HIT) {
|
||||
subBgmStop();
|
||||
}
|
||||
i_muteSceneBgm(2, 0.5f);
|
||||
muteSceneBgm(2, 0.5f);
|
||||
break;
|
||||
case 2:
|
||||
subBgmStart(Z2BGM_FISHING_HIT);
|
||||
i_muteSceneBgm(1, 0.0f);
|
||||
muteSceneBgm(1, 0.0f);
|
||||
break;
|
||||
case 4:
|
||||
if (getSubBgmID() == Z2BGM_FISHING_HIT) {
|
||||
subBgmStop();
|
||||
}
|
||||
i_muteSceneBgm(1, 0.0f);
|
||||
muteSceneBgm(1, 0.0f);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1304,7 +1304,6 @@ void Z2SeqMgr::menuOutBgm() {
|
||||
}
|
||||
|
||||
/* 802B2E3C-802B327C 2AD77C 0440+00 1/1 0/0 0/0 .text fanfareFramework__8Z2SeqMgrFv */
|
||||
// NONMATCHING extra load
|
||||
void Z2SeqMgr::fanfareFramework() {
|
||||
switch (mFanfareID) {
|
||||
case Z2BGM_OPEN_BOX:
|
||||
@@ -1364,7 +1363,7 @@ void Z2SeqMgr::fanfareFramework() {
|
||||
mFanfareCount = 50;
|
||||
mFanfareMute.fadeOut(30);
|
||||
} else if (mFanfareCount == 1) {
|
||||
Z2GetSoundMgr()->startSound(mFanfareID, &mFanfareHandle, 0);
|
||||
Z2GetSoundMgr()->startSound((u32)mFanfareID, &mFanfareHandle, 0);
|
||||
mFanfareID.setAnonymous();
|
||||
}
|
||||
break;
|
||||
@@ -1424,26 +1423,26 @@ void Z2SeqMgr::stopWolfHowlSong() {
|
||||
}
|
||||
|
||||
/* 802B3318-802B3398 2ADC58 0080+00 0/0 1/1 0/0 .text setHeightVolMod__8Z2SeqMgrFbUl */
|
||||
void Z2SeqMgr::setHeightVolMod(bool param_0, u32 i_count) {
|
||||
mFlags.flag6 = param_0;
|
||||
if (!param_0) {
|
||||
void Z2SeqMgr::setHeightVolMod(bool i_value, u32 i_count) {
|
||||
mFlags.mHeightVolMod = i_value;
|
||||
if (!i_value) {
|
||||
field_0x84.fadeIn(i_count);
|
||||
}
|
||||
}
|
||||
|
||||
/* 802B3398-802B33A8 2ADCD8 0010+00 0/0 1/1 0/0 .text setTimeProcVolMod__8Z2SeqMgrFbUl */
|
||||
void Z2SeqMgr::setTimeProcVolMod(bool param_0, u32 i_count) {
|
||||
mFlags.flag7 = param_0;
|
||||
void Z2SeqMgr::setTimeProcVolMod(bool i_value, u32 i_count) {
|
||||
mFlags.mTimeProcVolMod = i_value;
|
||||
}
|
||||
|
||||
/* 80450870-80450874 0002F0 0004+00 1/1 0/0 0/0 .sdata sDeathMtBottom */
|
||||
SECTION_SDATA static f32 sDeathMtBottom = -1000.0f;
|
||||
static f32 sDeathMtBottom = -1000.0f;
|
||||
|
||||
/* 80450874-80450878 0002F4 0004+00 1/1 0/0 0/0 .sdata sDeathMtTop */
|
||||
SECTION_SDATA static f32 sDeathMtTop = 3650.0f;
|
||||
static f32 sDeathMtTop = 3650.0f;
|
||||
|
||||
/* 80450878-80450880 0002F8 0004+04 1/1 0/0 0/0 .sdata sUnderWaterDepthMax */
|
||||
SECTION_SDATA static f32 sUnderWaterDepthMax = 3500.0f;
|
||||
static f32 sUnderWaterDepthMax = 3500.0f;
|
||||
|
||||
/* 802B33A8-802B3EAC 2ADCE8 0B04+00 0/0 1/1 0/0 .text processBgmFramework__8Z2SeqMgrFv */
|
||||
void Z2SeqMgr::processBgmFramework() {
|
||||
@@ -1467,7 +1466,7 @@ void Z2SeqMgr::processBgmFramework() {
|
||||
mMainBgmMaster.fadeIn(struct_80450861);
|
||||
}
|
||||
|
||||
if (mFlags.flag7) {
|
||||
if (mFlags.mTimeProcVolMod) {
|
||||
if (Z2GetStatusMgr()->checkDayTime() && field_0xa4.getDest() != 1.0f) {
|
||||
field_0xa4.fadeIn(600);
|
||||
} else if (!Z2GetStatusMgr()->checkDayTime() && field_0xa4.getDest() != 0.0f) {
|
||||
@@ -1475,11 +1474,11 @@ void Z2SeqMgr::processBgmFramework() {
|
||||
}
|
||||
}
|
||||
|
||||
if (mFlags.flag6 && Z2GetSceneMgr()->isSceneExist()
|
||||
if (mFlags.mHeightVolMod && Z2GetSceneMgr()->isSceneExist()
|
||||
&& Z2GetLink() != NULL && Z2GetLink()->getCurrentPos() != NULL)
|
||||
{
|
||||
f32 link_y = Z2GetLink()->getCurrentPos()->y;
|
||||
f32 volume;
|
||||
f32 volume, depth;
|
||||
switch (getMainBgmID()) {
|
||||
case Z2BGM_DEATH_MOUNTAIN01:
|
||||
volume = Z2Calc::getParamByExp(link_y, sDeathMtTop, sDeathMtBottom, 0.3f, 0.0f, 1.0f,
|
||||
@@ -1501,7 +1500,7 @@ void Z2SeqMgr::processBgmFramework() {
|
||||
case Z2BGM_ZORA_VILLAGE:
|
||||
case Z2BGM_FISHING:
|
||||
case Z2BGM_LAKE:
|
||||
f32 depth = Z2GetStatusMgr()->getCameraInWaterDepth();
|
||||
depth = Z2GetStatusMgr()->getCameraInWaterDepth();
|
||||
if (depth > sUnderWaterDepthMax) {
|
||||
field_0x84.forceOut();
|
||||
} else if (depth > 0.0f) {
|
||||
@@ -1592,7 +1591,7 @@ void Z2SeqMgr::processBgmFramework() {
|
||||
f32 volume = base_vol * mMainBgmMaster.get() * mSceneBgm.get();
|
||||
mStreamBgmHandle->getAuxiliary().moveVolume(volume, 0);
|
||||
}
|
||||
i_setWindStoneVol(1.0f, 30);
|
||||
setWindStoneVol(1.0f, 30);
|
||||
}
|
||||
|
||||
/* 802B3EAC-802B3F40 2AE7EC 0094+00 0/0 2/2 0/0 .text checkBgmIDPlaying__8Z2SeqMgrFUl */
|
||||
@@ -1969,7 +1968,7 @@ void Z2SeqMgr::stopBattleBgm(u8 param_0, u8 param_1) {
|
||||
|
||||
/* 802B545C-802B556C 2AFD9C 0110+00 1/1 0/0 0/0 .text fieldBgmStart__8Z2SeqMgrFv */
|
||||
void Z2SeqMgr::fieldBgmStart() {
|
||||
if (Z2GetSceneMgr()->isSceneExist() && mFlags.flag5) {
|
||||
if (Z2GetSceneMgr()->isSceneExist() && mFlags.mFieldBgmPlay) {
|
||||
if (Z2GetStatusMgr()->checkDayTime()) {
|
||||
Z2GetSoundMgr()->startSound(Z2BGM_FIELD_LINK_DAY, &mMainBgmHandle, NULL);
|
||||
changeBgmStatus(0);
|
||||
@@ -2046,7 +2045,7 @@ void Z2SeqMgr::fieldBgmFramework() {
|
||||
if (Z2GetSceneMgr()->isSceneExist() && !Z2GetSceneMgr()->isInDarkness()
|
||||
&& (Z2GetSceneMgr()->getCurrentSceneNum() == 0x1e
|
||||
|| Z2GetSceneMgr()->getCurrentSceneNum() == 0x1f)
|
||||
&& mFlags.flag5)
|
||||
&& mFlags.mFieldBgmPlay)
|
||||
{
|
||||
if (mRideCount != 0) {
|
||||
mRideCount--;
|
||||
@@ -2229,7 +2228,6 @@ void Z2SeqMgr::taktModeMute() {
|
||||
mBgmPause.move(0.3f, 10);
|
||||
}
|
||||
|
||||
|
||||
/* 802B5ED4-802B5F1C 2B0814 0048+00 0/0 1/1 0/0 .text taktModeMuteOff__8Z2SeqMgrFv */
|
||||
void Z2SeqMgr::taktModeMuteOff() {
|
||||
mBgmPause.fadeIn(10);
|
||||
|
||||
@@ -5,38 +5,6 @@
|
||||
|
||||
#include "Z2AudioLib/Z2SoundHandles.h"
|
||||
#include "JSystem/JAudio2/JAISoundInfo.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
extern "C" void func_802AB200(void* _this);
|
||||
extern "C" void __ct__17JASGenericMemPoolFv();
|
||||
extern "C" void __dt__17JASGenericMemPoolFv();
|
||||
extern "C" void alloc__17JASGenericMemPoolFUl();
|
||||
extern "C" void free__17JASGenericMemPoolFPvUl();
|
||||
extern "C" void releaseSound__14JAISoundHandleFv();
|
||||
extern "C" void stop__8JAISoundFUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __ct__10JSUPtrLinkFPv();
|
||||
extern "C" void __dt__10JSUPtrLinkFv();
|
||||
extern "C" void __dt__10JSUPtrListFv();
|
||||
extern "C" void initiate__10JSUPtrListFv();
|
||||
extern "C" void append__10JSUPtrListFP10JSUPtrLink();
|
||||
extern "C" void remove__10JSUPtrListFP10JSUPtrLink();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" extern u8 data_80451348[8];
|
||||
|
||||
/* 804341B8-804341C4 060ED8 000C+00 3/3 0/0 0/0 .bss @632 */
|
||||
static u8 lit_632[12];
|
||||
|
||||
/* 804341C4-804341D8 060EE4 0010+04 3/3 1/1 0/0 .bss
|
||||
* memPool_$localstatic3$getMemPool___39JASPoolAllocObject<17Z2SoundHandlePool>Fv */
|
||||
extern u8 data_804341C4[16 + 4 /* padding */];
|
||||
u8 data_804341C4[16 + 4 /* padding */];
|
||||
|
||||
// inline JAISoundID::JAISoundID(u32 pId) : mId(pId) {}
|
||||
|
||||
Z2SoundHandles::Z2SoundHandles() {
|
||||
mNumHandles = 0;
|
||||
@@ -51,7 +19,7 @@ void Z2SoundHandles::initHandlesPool(u8 pNumHandles) {
|
||||
}
|
||||
|
||||
/* 802AB120-802AB200 2A5A60 00E0+00 1/1 1/1 0/0 .text deleteHandlesPool__14Z2SoundHandlesFv */
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING JASPoolAllocObject<_> locations
|
||||
void Z2SoundHandles::deleteHandlesPool() {
|
||||
JSULink<Z2SoundHandlePool>* link;
|
||||
while (link = getFirst(), link != NULL) {
|
||||
@@ -61,16 +29,6 @@ void Z2SoundHandles::deleteHandlesPool() {
|
||||
}
|
||||
mNumHandles = 0;
|
||||
}
|
||||
#else
|
||||
void Z2SoundHandles::deleteHandlesPool() {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802AB200-802AB254 2A5B40 0054+00 3/3 1/1 0/0 .text __dt__31JASMemPool<17Z2SoundHandlePool>Fv */
|
||||
extern "C" void func_802AB200(void* _this) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
Z2SoundHandlePool* Z2SoundHandles::getHandleSoundID(JAISoundID pSoundId) {
|
||||
JSULink<Z2SoundHandlePool>* link;
|
||||
@@ -102,7 +60,7 @@ Z2SoundHandlePool* Z2SoundHandles::getHandleUserData(u32 pUserData) {
|
||||
|
||||
/* 802AB2D8-802AB3D0 2A5C18 00F8+00 0/0 3/3 0/0 .text getFreeHandle__14Z2SoundHandlesFv
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING JASPoolAllocObject<_> locations
|
||||
Z2SoundHandlePool* Z2SoundHandles::getFreeHandle() {
|
||||
JSULink<Z2SoundHandlePool>* link;
|
||||
for (link = getFirst(); link != NULL; link = link->getNext()) {
|
||||
@@ -123,11 +81,6 @@ Z2SoundHandlePool* Z2SoundHandles::getFreeHandle() {
|
||||
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
Z2SoundHandlePool* Z2SoundHandles::getFreeHandle() {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802AB3D0-802AB4A0 2A5D10 00D0+00 0/0 2/2 0/0 .text
|
||||
* getLowPrioSound__14Z2SoundHandlesF10JAISoundID */
|
||||
@@ -180,7 +133,7 @@ bool Z2SoundHandles::isActive() const {
|
||||
|
||||
/* 802AB538-802AB64C 2A5E78 0114+00 0/0 1/1 0/0 .text
|
||||
* setPos__14Z2SoundHandlesFRCQ29JGeometry8TVec3<f> */
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING JASPoolAllocObject<_> locations
|
||||
void Z2SoundHandles::setPos(JGeometry::TVec3<f32> const& param_0) {
|
||||
JSULink<Z2SoundHandlePool>* link;
|
||||
for (link = getFirst(); link != NULL; link = link->getNext()) {
|
||||
@@ -194,8 +147,3 @@ void Z2SoundHandles::setPos(JGeometry::TVec3<f32> const& param_0) {
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
void Z2SoundHandles::setPos(JGeometry::TVec3<f32> const& param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
+16
-147
@@ -6,18 +6,15 @@
|
||||
#include "Z2AudioLib/Z2SoundInfo.h"
|
||||
#include "JSystem/JAudio2/JAISeq.h"
|
||||
#include "JSystem/JAudio2/JAISe.h"
|
||||
#include "JSystem/JAudio2/JAISoundChild.h"
|
||||
#include "JSystem/JAudio2/JAIStream.h"
|
||||
#include "JSystem/JAudio2/JAUSoundTable.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "Z2AudioLib/Z2Calc.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/dvd.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JAUStdSoundTableType {
|
||||
static u32 STRM_CH_SHIFT;
|
||||
static const u32 STRM_CH_SHIFT;
|
||||
struct StringOffset {
|
||||
static inline const char* getString(const void* addr, u32 offset) {
|
||||
return (const char*)addr + offset;
|
||||
@@ -25,53 +22,6 @@ struct JAUStdSoundTableType {
|
||||
};
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void getBgmSeqResourceID__11Z2SoundInfoCF10JAISoundID();
|
||||
extern "C" void getSoundType__11Z2SoundInfoCF10JAISoundID();
|
||||
extern "C" void getCategory__11Z2SoundInfoCF10JAISoundID();
|
||||
extern "C" void getPriority__11Z2SoundInfoCF10JAISoundID();
|
||||
extern "C" void getAudibleSwFull__11Z2SoundInfoF10JAISoundID();
|
||||
extern "C" void getAudibleSw__11Z2SoundInfoCF10JAISoundID();
|
||||
extern "C" void getSeInfo__11Z2SoundInfoCF10JAISoundIDP5JAISe();
|
||||
extern "C" void getSeqInfo__11Z2SoundInfoCF10JAISoundIDP6JAISeq();
|
||||
extern "C" void getStreamInfo__11Z2SoundInfoCF10JAISoundIDP9JAIStream();
|
||||
extern "C" void getStreamFilePath__11Z2SoundInfoF10JAISoundID();
|
||||
extern "C" void getStreamFileEntry__11Z2SoundInfoF10JAISoundID();
|
||||
extern "C" void getSwBit__11Z2SoundInfoCF10JAISoundID();
|
||||
extern "C" void getSoundInfo___11Z2SoundInfoCF10JAISoundIDP8JAISound();
|
||||
extern "C" void __dt__11Z2SoundInfoFv();
|
||||
extern "C" static void func_802BBCBC();
|
||||
extern "C" static void func_802BBCC4();
|
||||
extern "C" static void func_802BBCCC();
|
||||
extern "C" static void func_802BBCD4();
|
||||
extern "C" u32 STRM_CH_SHIFT__20JAUStdSoundTableType;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __dt__12JAISoundInfoFv();
|
||||
extern "C" void __dt__16JAIStreamDataMgrFv();
|
||||
extern "C" void getTypeID__13JAUSoundTableCF10JAISoundID();
|
||||
extern "C" void getData__13JAUSoundTableCF10JAISoundID();
|
||||
extern "C" void linearTransform__6Z2CalcFfffffb();
|
||||
extern "C" void getRandom_0_1__6Z2CalcFv();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__12JAUSoundInfo[4 + 1 /* padding */];
|
||||
extern "C" extern u8 data_80450B58[4];
|
||||
extern "C" extern u8 __OSReport_disable;
|
||||
|
||||
/* 802BB00C-802BB090 2B594C 0084+00 2/1 0/0 0/0 .text
|
||||
* getBgmSeqResourceID__11Z2SoundInfoCF10JAISoundID */
|
||||
u16 Z2SoundInfo::getBgmSeqResourceID(JAISoundID param_0) const {
|
||||
@@ -123,6 +73,7 @@ u32 Z2SoundInfo::getPriority(JAISoundID param_0) const {
|
||||
JAUAudibleParam Z2SoundInfo::getAudibleSwFull(JAISoundID param_0) {
|
||||
JAUAudibleParam local_28;
|
||||
JUT_ASSERT(82, isValid());
|
||||
int iVar1, uVar7;
|
||||
switch (JASGlobalInstance<JAUSoundTable>::getInstance()->getTypeID(param_0)) {
|
||||
case 81:
|
||||
local_28.field_0x0.bytes.b0_0 = (u32)getSwBit(param_0) >> 8;
|
||||
@@ -157,8 +108,7 @@ JAUAudibleParam Z2SoundInfo::getAudibleSwFull(JAISoundID param_0) {
|
||||
local_28.field_0x0.bytes.b1_1 = 1;
|
||||
}
|
||||
|
||||
int iVar1;
|
||||
int uVar7 = 0;
|
||||
uVar7 = 0;
|
||||
if ((getSwBit(param_0) & 0x80000) != 0) {
|
||||
uVar7 = 8;
|
||||
}
|
||||
@@ -188,6 +138,7 @@ JAUAudibleParam Z2SoundInfo::getAudibleSwFull(JAISoundID param_0) {
|
||||
u16 Z2SoundInfo::getAudibleSw(JAISoundID param_0) const {
|
||||
JAUAudibleParam local_28;
|
||||
JUT_ASSERT(184, isValid());
|
||||
int iVar1, uVar7;
|
||||
switch (JASGlobalInstance<JAUSoundTable>::getInstance()->getTypeID(param_0)) {
|
||||
case 81:
|
||||
local_28.field_0x0.bytes.b0_0 = (u32)getSwBit(param_0) >> 8;
|
||||
@@ -222,8 +173,7 @@ u16 Z2SoundInfo::getAudibleSw(JAISoundID param_0) const {
|
||||
local_28.field_0x0.bytes.b1_1 = 1;
|
||||
}
|
||||
|
||||
int iVar1;
|
||||
int uVar7 = 0;
|
||||
uVar7 = 0;
|
||||
if ((getSwBit(param_0) & 0x80000) != 0) {
|
||||
uVar7 = 8;
|
||||
}
|
||||
@@ -242,40 +192,6 @@ u16 Z2SoundInfo::getAudibleSw(JAISoundID param_0) const {
|
||||
return local_28.field_0x0.half.f0;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455A68-80455A6C 004068 0004+00 1/1 0/0 0/0 .sdata2 @963 */
|
||||
SECTION_SDATA2 static f32 lit_963 = 8.0f;
|
||||
|
||||
/* 80455A6C-80455A70 00406C 0004+00 1/1 0/0 0/0 .sdata2 @964 */
|
||||
SECTION_SDATA2 static f32 lit_964 = 15.0f;
|
||||
|
||||
/* 80455A70-80455A74 004070 0004+00 1/1 0/0 0/0 .sdata2 @965 */
|
||||
SECTION_SDATA2 static f32 lit_965 = 16.0f;
|
||||
|
||||
/* 80455A74-80455A78 004074 0004+00 1/1 0/0 0/0 .sdata2 @966 */
|
||||
SECTION_SDATA2 static f32 lit_966 = 24.0f;
|
||||
|
||||
/* 80455A78-80455A7C 004078 0004+00 1/1 0/0 0/0 .sdata2 @967 */
|
||||
SECTION_SDATA2 static f32 lit_967 = 48.0f;
|
||||
|
||||
/* 80455A7C-80455A80 00407C 0004+00 2/2 0/0 0/0 .sdata2 @968 */
|
||||
SECTION_SDATA2 static u8 lit_968[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80455A80-80455A88 004080 0004+04 2/2 0/0 0/0 .sdata2 @969 */
|
||||
SECTION_SDATA2 static f32 lit_969[1 + 1 /* padding */] = {
|
||||
1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80455A88-80455A90 004088 0008+00 2/2 0/0 0/0 .sdata2 @973 */
|
||||
SECTION_SDATA2 static f64 lit_973 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 802BB6DC-802BB8B4 2B601C 01D8+00 1/0 0/0 0/0 .text
|
||||
* getSeInfo__11Z2SoundInfoCF10JAISoundIDP5JAISe */
|
||||
void Z2SoundInfo::getSeInfo(JAISoundID param_1, JAISe* param_2) const {
|
||||
@@ -309,24 +225,18 @@ void Z2SoundInfo::getSeInfo(JAISoundID param_1, JAISe* param_2) const {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 802BB8B4-802BB8E0 2B61F4 002C+00 1/0 0/0 0/0 .text
|
||||
* getSeqInfo__11Z2SoundInfoCF10JAISoundIDP6JAISeq */
|
||||
void Z2SoundInfo::getSeqInfo(JAISoundID param_0, JAISeq* param_1) const {
|
||||
getSoundInfo_(param_0, param_1);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455A90-80455A94 004090 0004+00 1/1 0/0 0/0 .sdata2 STRM_CH_SHIFT__20JAUStdSoundTableType */
|
||||
SECTION_SDATA2 u32 JAUStdSoundTableType::STRM_CH_SHIFT = 0x00000002;
|
||||
|
||||
/* 80455A94-80455A98 004094 0004+00 1/1 0/0 0/0 .sdata2 @1010 */
|
||||
SECTION_SDATA2 static f32 lit_1010 = 0.5f;
|
||||
u32 const JAUStdSoundTableType::STRM_CH_SHIFT = 2;
|
||||
|
||||
/* 802BB8E0-802BBA10 2B6220 0130+00 1/0 0/0 0/0 .text
|
||||
* getStreamInfo__11Z2SoundInfoCF10JAISoundIDP9JAIStream */
|
||||
// regalloc
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING regalloc
|
||||
void Z2SoundInfo::getStreamInfo(JAISoundID param_1, JAIStream* param_2) const {
|
||||
int numChild;
|
||||
JAUSoundTableItem* data;
|
||||
@@ -334,18 +244,15 @@ void Z2SoundInfo::getStreamInfo(JAISoundID param_1, JAIStream* param_2) const {
|
||||
JUT_ASSERT(349, isValid());
|
||||
switch (JASGlobalInstance<JAUSoundTable>::getInstance()->getTypeID(param_1) & 0xf0) {
|
||||
case 0x70:
|
||||
int chShift;
|
||||
u32 uVar1;
|
||||
u16 uVar1;
|
||||
s32 iVar4;
|
||||
u16 uVar3;
|
||||
data = JASGlobalInstance<JAUSoundTable>::getInstance()->getData(param_1);
|
||||
JUT_ASSERT(356, data);
|
||||
uVar1 = data->mResourceId;
|
||||
numChild = param_2->getNumChild();
|
||||
iVar4 = 0;
|
||||
chShift = JAUStdSoundTableType::STRM_CH_SHIFT;
|
||||
for (uVar3 = uVar1; iVar4 < numChild && uVar3 != 0; uVar3 >>= chShift, iVar4++) {
|
||||
u32 uVar2 = uVar3 & 3;
|
||||
for (; iVar4 < numChild && uVar1 != 0; uVar1 >>= JAUStdSoundTableType::STRM_CH_SHIFT, iVar4++) {
|
||||
u32 uVar2 = uVar1 & 3;
|
||||
if (uVar2 != 0) {
|
||||
JAISoundChild* child = param_2->getChild(iVar4);
|
||||
if (child != NULL) {
|
||||
@@ -365,21 +272,18 @@ void Z2SoundInfo::getStreamInfo(JAISoundID param_1, JAIStream* param_2) const {
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
void Z2SoundInfo::getStreamInfo(JAISoundID param_0, JAIStream* param_1) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802BBA10-802BBA88 2B6350 0078+00 1/1 0/0 0/0 .text
|
||||
* getStreamFilePath__11Z2SoundInfoF10JAISoundID */
|
||||
const char* Z2SoundInfo::getStreamFilePath(JAISoundID param_1) {
|
||||
JUT_ASSERT(387, isValid());
|
||||
JAUSoundTableItem* data;
|
||||
const void* resource;
|
||||
switch (JASGlobalInstance<JAUSoundTable>::getInstance()->getTypeID(param_1) & 0xf0) {
|
||||
case 0x70:
|
||||
JAUSoundTableItem* data = JASGlobalInstance<JAUSoundTable>::getInstance()->getData(param_1);
|
||||
data = JASGlobalInstance<JAUSoundTable>::getInstance()->getData(param_1);
|
||||
JUT_ASSERT(394, data);
|
||||
const void* resource = JASGlobalInstance<JAUSoundTable>::getInstance()->getResource();
|
||||
resource = JASGlobalInstance<JAUSoundTable>::getInstance()->getResource();
|
||||
JUT_ASSERT(398, resource);
|
||||
return JAUStdSoundTableType::StringOffset::getString(resource, data->field_0x4);
|
||||
default:
|
||||
@@ -409,14 +313,6 @@ int Z2SoundInfo::getSwBit(JAISoundID param_1) const {
|
||||
return 0xffffffff;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455A98-80455AA0 004098 0004+04 1/1 0/0 0/0 .sdata2 @1070 */
|
||||
SECTION_SDATA2 static f32 lit_1070[1 + 1 /* padding */] = {
|
||||
1.0f / 127.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 802BBB48-802BBBE0 2B6488 0098+00 3/3 0/0 0/0 .text
|
||||
* getSoundInfo___11Z2SoundInfoCF10JAISoundIDP8JAISound */
|
||||
void Z2SoundInfo::getSoundInfo_(JAISoundID param_1, JAISound* param_2) const {
|
||||
@@ -427,30 +323,3 @@ void Z2SoundInfo::getSoundInfo_(JAISoundID param_1, JAISound* param_2) const {
|
||||
param_2->getProperty().field_0x0 = (1.0f / 127.0f) * data->field_0x1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 802BBBE0-802BBCBC 2B6520 00DC+00 2/1 0/0 0/0 .text __dt__11Z2SoundInfoFv */
|
||||
// Z2SoundInfo::~Z2SoundInfo() {}
|
||||
|
||||
/* 802BBCBC-802BBCC4 2B65FC 0008+00 1/0 0/0 0/0 .text
|
||||
* @4@getBgmSeqResourceID__11Z2SoundInfoCF10JAISoundID */
|
||||
static void func_802BBCBC() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 802BBCC4-802BBCCC 2B6604 0008+00 1/0 0/0 0/0 .text @4@getAudibleSw__11Z2SoundInfoCF10JAISoundID
|
||||
*/
|
||||
static void func_802BBCC4() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 802BBCCC-802BBCD4 2B660C 0008+00 1/0 0/0 0/0 .text @8@__dt__11Z2SoundInfoFv */
|
||||
static void func_802BBCCC() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 802BBCD4-802BBCDC 2B6614 0008+00 1/0 0/0 0/0 .text
|
||||
* @8@getStreamFileEntry__11Z2SoundInfoF10JAISoundID */
|
||||
static void func_802BBCD4() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
@@ -13,131 +13,9 @@
|
||||
#include "JSystem/JAudio2/JASCalc.h"
|
||||
#include "JSystem/JAudio2/JASDriverIF.h"
|
||||
#include "JSystem/JAudio2/JAUSectionHeap.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void seqCallback__FP8JASTrackUs();
|
||||
extern "C" void __ct__10Z2SoundMgrFv();
|
||||
extern "C" void func_802A9EE8();
|
||||
extern "C" void calc__10Z2SoundMgrFv();
|
||||
extern "C" void setIIR__10Z2SoundMgrFP8JAISoundPCs();
|
||||
extern "C" void setFilterOff__10Z2SoundMgrFP8JAISound();
|
||||
extern "C" void resetFilterAll__10Z2SoundMgrFv();
|
||||
extern "C" void mixOut__10Z2SoundMgrFv();
|
||||
extern "C" void framework__10Z2SoundMgrFv();
|
||||
extern "C" void pauseAllGameSound__10Z2SoundMgrFb();
|
||||
extern "C" void stopSoundID__10Z2SoundMgrF10JAISoundID();
|
||||
extern "C" void stopSync__10Z2SoundMgrFv();
|
||||
extern "C" void stop__10Z2SoundMgrFv();
|
||||
extern "C" void initParams__10Z2SoundMgrFv();
|
||||
extern "C" void multiVolumeSoundID__10Z2SoundMgrF10JAISoundIDf();
|
||||
extern "C" void isPlayingSoundID__10Z2SoundMgrF10JAISoundID();
|
||||
extern "C" extern char const* const Z2SoundMgr__stringBase0;
|
||||
|
||||
void dComIfGs_staffroll_next_go();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void dComIfGs_staffroll_next_go__Fv();
|
||||
extern "C" void setFIR__8JASTrackFPCs();
|
||||
extern "C" void setIIR__8JASTrackFPCs();
|
||||
extern "C" void writePort__8JASTrackFUlUs();
|
||||
extern "C" void waitSubFrame__9JASDriverFv();
|
||||
extern "C" void pause__16JAISeCategoryMgrFb();
|
||||
extern "C" void __ct__8JAISeMgrFb();
|
||||
extern "C" void stop__8JAISeMgrFv();
|
||||
extern "C" void stopSoundID__8JAISeMgrF10JAISoundID();
|
||||
extern "C" void initParams__8JAISeMgrFv();
|
||||
extern "C" void calc__8JAISeMgrFv();
|
||||
extern "C" void mixOut__8JAISeMgrFv();
|
||||
extern "C" void func_802A0768();
|
||||
extern "C" void getNumActiveSe__8JAISeMgrCFv();
|
||||
extern "C" void __ct__9JAISeqMgrFb();
|
||||
extern "C" void func_802A1B48();
|
||||
extern "C" void calc__9JAISeqMgrFv();
|
||||
extern "C" void stop__9JAISeqMgrFv();
|
||||
extern "C" void stopSoundID__9JAISeqMgrF10JAISoundID();
|
||||
extern "C" void mixOut__9JAISeqMgrFv();
|
||||
extern "C" void moveVolume__18JAISoundParamsMoveFfUl();
|
||||
extern "C" void __ct__12JAIStreamMgrFb();
|
||||
extern "C" void func_802A3C3C();
|
||||
extern "C" void calc__12JAIStreamMgrFv();
|
||||
extern "C" void stop__12JAIStreamMgrFv();
|
||||
extern "C" void stop__12JAIStreamMgrFUl();
|
||||
extern "C" void stopSoundID__12JAIStreamMgrF10JAISoundID();
|
||||
extern "C" void mixOut__12JAIStreamMgrFv();
|
||||
extern "C" void loadDynamicSeq__14JAUSectionHeapF10JAISoundIDb();
|
||||
extern "C" void releaseIdleDynamicSeqDataBlock__14JAUSectionHeapFv();
|
||||
extern "C" void seMoveVolumeAll__7Z2SeMgrFfUl();
|
||||
extern "C" void bgmStart__8Z2SeqMgrFUlUll();
|
||||
extern "C" void changeBgmStatus__8Z2SeqMgrFl();
|
||||
extern "C" void onVariantBgmJumpEnd__8Z2SeqMgrFb();
|
||||
extern "C" void setChildTrackVolume__8Z2SeqMgrFP14JAISoundHandleifUlff();
|
||||
extern "C" void onFieldBgmJumpStart__8Z2SeqMgrFv();
|
||||
extern "C" void onFieldBgmJumpEnd__8Z2SeqMgrFv();
|
||||
extern "C" void getSwBit__11Z2SoundInfoCF10JAISoundID();
|
||||
extern "C" void speakOneWord__12Z2SpeechMgr2Fb();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" u8 const CUTOFF_TO_IIR_TABLE__7JASCalc[1024];
|
||||
extern "C" extern u8 data_80450B4C[4];
|
||||
extern "C" extern u8 data_80450B70[4];
|
||||
extern "C" extern u8 data_80450B80[4];
|
||||
extern "C" extern u8 data_80450B84[4];
|
||||
extern "C" extern u8 data_80450B88[4];
|
||||
extern "C" extern u8 data_80450CC0[4 + 4 /* padding */];
|
||||
extern "C" extern u8 __OSReport_disable;
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C9D18-803C9D70 -00001 0058+00 1/1 0/0 0/0 .data @3690 */
|
||||
SECTION_DATA static void* lit_3690[22] = {
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x40),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x7C),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x88),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x94),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0xA4),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0xB4),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0xC4),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1AC),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1BC),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1D0),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x1CC),
|
||||
(void*)(((char*)seqCallback__FP8JASTrackUs) + 0x148),
|
||||
};
|
||||
|
||||
/* 80455838-8045583C 003E38 0004+00 5/5 0/0 0/0 .sdata2 @3688 */
|
||||
SECTION_SDATA2 static f32 lit_3688 = 1.0f;
|
||||
|
||||
/* 8045583C-80455840 003E3C 0004+00 1/1 0/0 0/0 .sdata2 @3689 */
|
||||
SECTION_SDATA2 static f32 lit_3689 = -1.0f;
|
||||
|
||||
/* 802A9BC8-802A9E80 2A4508 02B8+00 1/0 1/1 0/0 .text seqCallback__FP8JASTrackUs */
|
||||
u16 seqCallback(JASTrack* i_track, u16 param_1) {
|
||||
JSUList<JAISe>* list;
|
||||
@@ -221,20 +99,7 @@ u16 seqCallback(JASTrack* i_track, u16 param_1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C9D70-803C9D80 026E90 000C+04 1/1 1/1 0/0 .data __vt__10Z2SoundMgr */
|
||||
SECTION_DATA extern void* __vt__10Z2SoundMgr[3 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)func_802A9EE8,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 802A9E80-802A9EE8 2A47C0 0068+00 0/0 1/1 0/0 .text __ct__10Z2SoundMgrFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches but generates an extra weak function
|
||||
Z2SoundMgr::Z2SoundMgr() :
|
||||
JASGlobalInstance<Z2SoundMgr>(this),
|
||||
mSeMgr(true),
|
||||
@@ -243,37 +108,6 @@ Z2SoundMgr::Z2SoundMgr() :
|
||||
{
|
||||
mSoundID.setAnonymous();
|
||||
}
|
||||
#else
|
||||
Z2SoundMgr::Z2SoundMgr() : JASGlobalInstance<Z2SoundMgr>(this),
|
||||
mSeMgr(true),
|
||||
mSeqMgr(true),
|
||||
mStreamMgr(true) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039B9D0-8039B9D0 028030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8039B9D0 = "Unknown Sound-Type id :%08x\n";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_8039B9ED = "\0\0";
|
||||
#pragma pop
|
||||
|
||||
/* 80455840-80455844 003E40 0004+00 1/1 0/0 0/0 .sdata2 @3904 */
|
||||
SECTION_SDATA2 static f32 lit_3904 = 3.0f / 10.0f;
|
||||
|
||||
/* 80455844-80455848 003E44 0004+00 3/3 0/0 0/0 .sdata2 @3905 */
|
||||
SECTION_SDATA2 static u8 lit_3905[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80455848-80455850 003E48 0008+00 2/2 0/0 0/0 .sdata2 @3909 */
|
||||
SECTION_SDATA2 static f64 lit_3909 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 802A9EE8-802AA1B0 2A4828 02C8+00 1/0 0/0 0/0 .text
|
||||
* startSound__10Z2SoundMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f> */
|
||||
@@ -289,7 +123,7 @@ bool Z2SoundMgr::startSound(JAISoundID i_soundID, JAISoundHandle* i_handle,
|
||||
case 1:
|
||||
if (i_soundID == Z2BGM_LUTERA_DEMO) {
|
||||
Z2GetSeqMgr()->bgmStart(Z2BGM_LUTERA2, 0, 0);
|
||||
Z2GetSeqMgr()->i_unMuteSceneBgm(0);
|
||||
Z2GetSeqMgr()->unMuteSceneBgm(0);
|
||||
Z2GetSeqMgr()->changeBgmStatus(0);
|
||||
return mSeMgr.startSound(Z2SE_NO_SOUND, i_handle, i_pos);
|
||||
} else {
|
||||
@@ -335,7 +169,7 @@ bool Z2SoundMgr::startSound(JAISoundID i_soundID, JAISoundHandle* i_handle,
|
||||
|
||||
|
||||
/* 802AA1B0-802AA270 2A4AF0 00C0+00 2/2 0/0 0/0 .text calc__10Z2SoundMgrFv */
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING extra load
|
||||
void Z2SoundMgr::calc() {
|
||||
mSeMgr.calc();
|
||||
if (!mSoundID.isAnonymous() && !isPlayingSoundID(mSoundID)) {
|
||||
@@ -347,11 +181,6 @@ void Z2SoundMgr::calc() {
|
||||
mSeqMgr.calc();
|
||||
mStreamMgr.calc();
|
||||
}
|
||||
#else
|
||||
void Z2SoundMgr::calc() {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802AA270-802AA33C 2A4BB0 00CC+00 1/1 2/2 0/0 .text setIIR__10Z2SoundMgrFP8JAISoundPCs
|
||||
*/
|
||||
@@ -519,14 +348,6 @@ void Z2SoundMgr::stop() {
|
||||
mStreamMgr.stop();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455850-80455858 003E50 0004+04 1/1 0/0 0/0 .sdata2 @4313 */
|
||||
SECTION_SDATA2 static f32 lit_4313[1 + 1 /* padding */] = {
|
||||
0.5f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 802AA908-802AA9E8 2A5248 00E0+00 0/0 1/1 0/0 .text initParams__10Z2SoundMgrFv */
|
||||
void Z2SoundMgr::initParams() {
|
||||
mSeMgr.initParams();
|
||||
@@ -537,7 +358,7 @@ void Z2SoundMgr::initParams() {
|
||||
|
||||
/* 802AA9E8-802AAAC4 2A5328 00DC+00 0/0 1/1 0/0 .text
|
||||
* multiVolumeSoundID__10Z2SoundMgrF10JAISoundIDf */
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING extra load
|
||||
void Z2SoundMgr::multiVolumeSoundID(JAISoundID i_soundID, f32 i_multi) {
|
||||
if (!i_soundID.isAnonymous() && Z2GetSoundInfo()->getSoundType(i_soundID) == 0) {
|
||||
JSUList<JAISe>* list =
|
||||
@@ -549,18 +370,13 @@ void Z2SoundMgr::multiVolumeSoundID(JAISoundID i_soundID, f32 i_multi) {
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
void Z2SoundMgr::multiVolumeSoundID(JAISoundID param_0, f32 param_1) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802AAAC4-802AAB94 2A5404 00D0+00 1/1 0/0 0/0 .text isPlayingSoundID__10Z2SoundMgrF10JAISoundID
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING extra load
|
||||
bool Z2SoundMgr::isPlayingSoundID(JAISoundID i_soundID) {
|
||||
if (i_soundID.isAnonymous()) {
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
if (Z2GetSoundInfo()->getSoundType(i_soundID) == 0) {
|
||||
JSUList<JAISe>* list =
|
||||
@@ -573,10 +389,5 @@ bool Z2SoundMgr::isPlayingSoundID(JAISoundID i_soundID) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
bool Z2SoundMgr::isPlayingSoundID(JAISoundID param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 8039B9D0-8039B9D0 028030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 8039B9D0-8039B9D0 028030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -8,10 +8,8 @@
|
||||
#include "Z2AudioLib/Z2SeqMgr.h"
|
||||
#include "Z2AudioLib/Z2Calc.h"
|
||||
#include "Z2AudioLib/Z2SceneMgr.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
/* 802BF920-802BF980 2BA260 0060+00 0/0 1/1 0/0 .text __ct__13Z2SoundObjMgrFv */
|
||||
// order wrong because this needs to inherit from JASGlobalInstance<T>
|
||||
Z2SoundObjMgr::Z2SoundObjMgr() : JASGlobalInstance<Z2SoundObjMgr>(this) {
|
||||
mGhostEnemyState = 0;
|
||||
mTwilightBattle = 0;
|
||||
@@ -28,123 +26,97 @@ void Z2SoundObjMgr::setForceBattleArea(bool forceBattle, u16 param_1, u16 param_
|
||||
mEnemyArea.field_0x6 = param_3;
|
||||
}
|
||||
|
||||
/* 80455B80-80455B84 004180 0004+00 1/1 0/0 0/0 .sdata2 sAreaDefault */
|
||||
static Z2EnemyArea const sAreaDefault = {true, 700, 1100, 1500};
|
||||
|
||||
/* 80455B88-80455B8C 004188 0004+00 1/1 0/0 0/0 .sdata2 sAreaFloating */
|
||||
static Z2EnemyArea const sAreaFloating = {false, 700, 1100, 1500};
|
||||
|
||||
/* 80455B90-80455B94 004190 0004+00 1/1 0/0 0/0 .sdata2 sAreaWide */
|
||||
static Z2EnemyArea const sAreaWide = {true, 700, 1500, 3300};
|
||||
|
||||
/* 80455B98-80455B9C 004198 0004+00 1/1 0/0 0/0 .sdata2 sAreaWideFloating */
|
||||
static Z2EnemyArea const sAreaWideFloating = {false, 700, 1500, 3300};
|
||||
|
||||
/* 80455BA0-80455BA4 0041A0 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmall */
|
||||
static Z2EnemyArea const sAreaSmall = {true, 300, 700, 1000};
|
||||
|
||||
/* 80455BA8-80455BAC 0041A8 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmallFloating */
|
||||
static Z2EnemyArea const sAreaSmallFloating = {false, 500, 800, 1200};
|
||||
|
||||
struct EnemyInfo {
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u32 field_0x8;
|
||||
u32 field_0xc;
|
||||
char mName[8];
|
||||
Z2EnemyArea mEnemyArea;
|
||||
};
|
||||
|
||||
/* 803CAD70-803CB170 027E90 0400+00 3/3 0/0 0/0 .data mEnemyInfo */
|
||||
SECTION_DATA static EnemyInfo mEnemyInfo[64] = {
|
||||
{0x44, 0x75, 0x6D, 0x6D, 0x79, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x73, 0x31, 0x00, 0x00, 0x00, 0x00, 0x010002BC, 0x04B007D0},
|
||||
{0x45, 0x5F, 0x79, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x79, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x79, 0x67, 0x00, 0x00, 0x00, 0x00, 0x0100012C, 0x01F402BC},
|
||||
{0x45, 0x5F, 0x79, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x79, 0x64, 0x00, 0x00, 0x00, 0x00, 0x010001F4, 0x038405DC},
|
||||
{0x45, 0x5F, 0x72, 0x64, 0x79, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x79, 0x6D, 0x62, 0x00, 0x00, 0x00, 0x0000000A, 0x0014001E},
|
||||
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x77, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x72, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x64, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x6B, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x73, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x74, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x010002BC, 0x05DC09C4},
|
||||
{0x45, 0x5F, 0x74, 0x6B, 0x32, 0x00, 0x00, 0x00, 0x010002BC, 0x05DC09C4},
|
||||
{0x45, 0x5F, 0x63, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x64, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x66, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x53, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x64, 0x62, 0x00, 0x00, 0x00, 0x00, 0x010001F4, 0x03840708},
|
||||
{0x45, 0x5F, 0x6B, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x73, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x73, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x62, 0x73, 0x00, 0x00, 0x00, 0x00, 0x010000C8, 0x01900258},
|
||||
{0x45, 0x5F, 0x53, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x62, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x62, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x48, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x67, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x68, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x000001F4, 0x03200514},
|
||||
{0x45, 0x5F, 0x77, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x6F, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x66, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x66, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x62, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x6D, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x010001F4, 0x032005DC},
|
||||
{0x45, 0x5F, 0x6E, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x010001F4, 0x02BC044C},
|
||||
{0x45, 0x5F, 0x70, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x72, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x73, 0x67, 0x00, 0x00, 0x00, 0x00, 0x010001F4, 0x02BC0384},
|
||||
{0x45, 0x5F, 0x68, 0x62, 0x00, 0x00, 0x00, 0x00, 0x010001F4, 0x038405DC},
|
||||
{0x45, 0x5F, 0x67, 0x62, 0x00, 0x00, 0x00, 0x00, 0x01000640, 0x0BB80FA0},
|
||||
{0x45, 0x5F, 0x6D, 0x73, 0x00, 0x00, 0x00, 0x00, 0x010001F4, 0x02BC044C},
|
||||
{0x45, 0x5F, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x62, 0x69, 0x00, 0x00, 0x00, 0x00, 0x010001F4, 0x02BC0384},
|
||||
{0x45, 0x5F, 0x74, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x61, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x64, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x67, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x73, 0x6D, 0x32, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x73, 0x77, 0x00, 0x00, 0x00, 0x00, 0x01000190, 0x025805DC},
|
||||
{0x45, 0x5F, 0x72, 0x64, 0x62, 0x00, 0x00, 0x00, 0x010001F4, 0x03E805DC},
|
||||
{0x45, 0x5F, 0x6B, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x7A, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x67, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x42, 0x5F, 0x47, 0x47, 0x00, 0x00, 0x00, 0x00, 0x000003E8, 0x07D00FA0},
|
||||
{0x45, 0x5F, 0x6D, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x45, 0x5F, 0x7A, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
{0x42, 0x5F, 0x74, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00000000, 0x00000000},
|
||||
static EnemyInfo mEnemyInfo[64] = {
|
||||
{"Dummy", sAreaDefault},
|
||||
{"E_s1", {true, 700, 1200, 2000}},
|
||||
{"E_yk", sAreaSmallFloating},
|
||||
{"E_yr", sAreaWideFloating},
|
||||
{"E_yg", {true, 300, 500, 700}},
|
||||
{"E_yc", sAreaWideFloating},
|
||||
{"E_yd", {true, 500, 900, 1500}},
|
||||
{"E_rdy", sAreaDefault},
|
||||
{"E_ymb", {false, 10, 20, 30}},
|
||||
{"", sAreaDefault},
|
||||
{"E_wb", sAreaDefault},
|
||||
{"E_rd", sAreaDefault},
|
||||
{"E_dn", sAreaDefault},
|
||||
{"E_kr", sAreaWideFloating},
|
||||
{"E_st", sAreaDefault},
|
||||
{"E_tk", {true, 700, 1500, 2500}},
|
||||
{"E_tk2", {true, 700, 1500, 2500}},
|
||||
{"E_cr", sAreaSmall},
|
||||
{"E_df", sAreaDefault},
|
||||
{"E_fs", sAreaDefault},
|
||||
{"E_SB", sAreaDefault},
|
||||
{"E_PM", sAreaDefault},
|
||||
{"E_db", {true, 500, 900, 1800}},
|
||||
{"E_kg", sAreaSmall},
|
||||
{"E_sh", sAreaDefault},
|
||||
{"E_sf", sAreaDefault},
|
||||
{"E_bs", {true, 200, 400, 600}},
|
||||
{"E_SM", sAreaDefault},
|
||||
{"E_ba", sAreaSmallFloating},
|
||||
{"E_bu", sAreaFloating},
|
||||
{"E_HM", sAreaDefault},
|
||||
{"E_ge", sAreaFloating},
|
||||
{"E_hz", {false, 500, 800, 1300}},
|
||||
{"E_ws", sAreaSmallFloating},
|
||||
{"E_oc", sAreaDefault},
|
||||
{"E_fz", sAreaDefault},
|
||||
{"E_fb", sAreaDefault},
|
||||
{"E_bg", sAreaSmall},
|
||||
{"E_mm", {true, 500, 800, 1500}},
|
||||
{"E_nz", {true, 500, 700, 1100}},
|
||||
{"E_po", sAreaWide},
|
||||
{"E_rb", sAreaDefault},
|
||||
{"E_sg", {true, 500, 700, 900}},
|
||||
{"E_hb", {true, 500, 900, 1500}},
|
||||
{"E_gb", {true, 1600, 3000, 4000}},
|
||||
{"E_ms", {true, 500, 700, 1100}},
|
||||
{"E_dd", sAreaDefault},
|
||||
{"E_bi", {true, 500, 700, 900}},
|
||||
{"E_tt", sAreaSmallFloating},
|
||||
{"E_ai", sAreaDefault},
|
||||
{"E_dk", sAreaSmall},
|
||||
{"E_ww", sAreaWide},
|
||||
{"E_gi", sAreaDefault},
|
||||
{"E_sm2", sAreaDefault},
|
||||
{"E_sw", {true, 400, 600, 1500}},
|
||||
{"E_rdb", {true, 500, 1000, 1500}},
|
||||
{"E_kk", sAreaDefault},
|
||||
{"E_hp", sAreaDefault},
|
||||
{"E_zh", sAreaDefault},
|
||||
{"E_gm", sAreaSmall},
|
||||
{"B_GG", {false, 1000, 2000, 4000}},
|
||||
{"E_mf", sAreaDefault},
|
||||
{"E_zm", sAreaDefault},
|
||||
{"B_tn", sAreaDefault},
|
||||
};
|
||||
|
||||
/* 80455B80-80455B84 004180 0004+00 1/1 0/0 0/0 .sdata2 sAreaDefault */
|
||||
SECTION_SDATA2 static u32 sAreaDefault = 0x010002BC;
|
||||
|
||||
/* 80455B84-80455B88 004184 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455B84 = 0x044C05DC;
|
||||
|
||||
/* 80455B88-80455B8C 004188 0004+00 1/1 0/0 0/0 .sdata2 sAreaFloating */
|
||||
SECTION_SDATA2 static u32 sAreaFloating = 0x000002BC;
|
||||
|
||||
/* 80455B8C-80455B90 00418C 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455B8C = 0x044C05DC;
|
||||
|
||||
/* 80455B90-80455B94 004190 0004+00 1/1 0/0 0/0 .sdata2 sAreaWide */
|
||||
SECTION_SDATA2 static u32 sAreaWide = 0x010002BC;
|
||||
|
||||
/* 80455B94-80455B98 004194 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455B94 = 0x05DC0CE4;
|
||||
|
||||
/* 80455B98-80455B9C 004198 0004+00 1/1 0/0 0/0 .sdata2 sAreaWideFloating */
|
||||
SECTION_SDATA2 static u32 sAreaWideFloating = 0x000002BC;
|
||||
|
||||
/* 80455B9C-80455BA0 00419C 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455B9C = 0x05DC0CE4;
|
||||
|
||||
/* 80455BA0-80455BA4 0041A0 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmall */
|
||||
SECTION_SDATA2 static u32 sAreaSmall = 0x0100012C;
|
||||
|
||||
/* 80455BA4-80455BA8 0041A4 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455BA4 = 0x02BC03E8;
|
||||
|
||||
/* 80455BA8-80455BAC 0041A8 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmallFloating */
|
||||
SECTION_SDATA2 static u32 sAreaSmallFloating = 0x000001F4;
|
||||
|
||||
/* 80455BAC-80455BB0 0041AC 0004+00 1/1 0/0 0/0 .sdata2 None */
|
||||
SECTION_SDATA2 static u32 data_80455BAC = 0x032004B0;
|
||||
|
||||
/* 802BF994-802BFFEC 2BA2D4 0658+00 1/0 1/1 0/0 .text searchEnemy__13Z2SoundObjMgrFv */
|
||||
void Z2SoundObjMgr::searchEnemy() {
|
||||
mTwilightBattle = 0;
|
||||
@@ -157,7 +129,7 @@ void Z2SoundObjMgr::searchEnemy() {
|
||||
bool bVar7 = false;
|
||||
bool local_96 = false;
|
||||
bool iVar8 = false;
|
||||
if (Z2GetSeqMgr()->getMainBgmID() == 0x1000041) {
|
||||
if (Z2GetSeqMgr()->getMainBgmID() == Z2BGM_HOLY_FOREST) {
|
||||
iVar8 = true;
|
||||
}
|
||||
u8 iVar16 = 0;
|
||||
@@ -233,13 +205,12 @@ void Z2SoundObjMgr::searchEnemy() {
|
||||
if (iVar10 != NULL) {
|
||||
Vec* iVar14 = Z2GetLink()->getCurrentPos();
|
||||
if (iVar14 != NULL) {
|
||||
Z2EnemyArea local_88;
|
||||
__memcpy(&local_88, &mEnemyInfo[enemyId].field_0x8, 8);
|
||||
Z2EnemyArea local_88 = mEnemyInfo[enemyId].mEnemyArea;
|
||||
if (mForceBattle) {
|
||||
local_88 = mEnemyArea;
|
||||
}
|
||||
f32 fVar2 = 2.0f;
|
||||
if (local_88.field_0x0 == 1) {
|
||||
if (local_88.field_0x0 == true) {
|
||||
fVar2 = 4.0f;
|
||||
}
|
||||
Vec local_80 = {0.0f, 0.0f, 0.0f};
|
||||
@@ -369,7 +340,7 @@ void Z2SoundObjMgr::setGhostEnemyState(u8 p1) {
|
||||
u8 Z2SoundObjMgr::getEnemyID(char const* param_0, JSULink<Z2CreatureEnemy>* param_1) {
|
||||
if (param_0 != NULL) {
|
||||
for (u8 uVar2 = 0; uVar2 < 0x40; uVar2++) {
|
||||
if (strcmp(param_0, (char*)&mEnemyInfo[(u32)uVar2].field_0x0) == 0) {
|
||||
if (strcmp(param_0, mEnemyInfo[(u32)uVar2].mName) == 0) {
|
||||
append(param_1);
|
||||
return uVar2;
|
||||
}
|
||||
@@ -431,13 +402,3 @@ bool Z2SoundObjMgr::removeEnemy(JSULink<Z2CreatureEnemy>* param_0) {
|
||||
u8 Z2SoundObjMgr::isTwilightBattle() {
|
||||
return mTwilightBattle;
|
||||
}
|
||||
|
||||
/* 802C01EC-802C03C8 2BAB2C 01DC+00 0/0 1/0 0/0 .text __sinit_Z2SoundObjMgr_cpp */
|
||||
void __sinit_Z2SoundObjMgr_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x802C01EC, __sinit_Z2SoundObjMgr_cpp);
|
||||
#pragma pop
|
||||
+159
-1309
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,6 @@
|
||||
#include "Z2AudioLib/Z2Param.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
/* 802B5F1C-802B5F70 2B085C 0054+00 0/0 1/1 0/0 .text __ct__11Z2StatusMgrFv */
|
||||
Z2StatusMgr::Z2StatusMgr() : JASGlobalInstance(this) {
|
||||
@@ -17,7 +16,7 @@ Z2StatusMgr::Z2StatusMgr() : JASGlobalInstance(this) {
|
||||
field_0x03 = 0;
|
||||
mTime = 3072;
|
||||
mEventBit = NULL;
|
||||
mIsMenuIn = false;
|
||||
mPauseFlag = false;
|
||||
mCameraMapInfo = 0;
|
||||
|
||||
mPolygonPosition.x = 10000000.0f;
|
||||
@@ -84,7 +83,7 @@ void Z2StatusMgr::menuIn() {
|
||||
Z2GetSeqMgr()->menuInBgm();
|
||||
Z2GetSeMgr()->menuInSe();
|
||||
|
||||
mIsMenuIn = true;
|
||||
mPauseFlag = true;
|
||||
}
|
||||
|
||||
/* 802B617C-802B61BC 2B0ABC 0040+00 0/0 3/3 0/0 .text menuOut__11Z2StatusMgrFv */
|
||||
@@ -92,7 +91,7 @@ void Z2StatusMgr::menuOut() {
|
||||
Z2GetSeqMgr()->menuOutBgm();
|
||||
Z2GetSeMgr()->talkOutSe();
|
||||
|
||||
mIsMenuIn = false;
|
||||
mPauseFlag = false;
|
||||
}
|
||||
|
||||
/* 802B61BC-802B61E8 2B0AFC 002C+00 2/2 1/1 0/0 .text isMovieDemo__11Z2StatusMgrFv */
|
||||
@@ -196,7 +195,7 @@ void Z2StatusMgr::setDemoName(char* demoName) {
|
||||
if (mDemoStatus == 3) {
|
||||
Z2GetSeqMgr()->setBattleBgmOff(false);
|
||||
} else if (mDemoStatus == 4) {
|
||||
Z2GetSeqMgr()->i_unMuteSceneBgm(struct_80450861);
|
||||
Z2GetSeqMgr()->unMuteSceneBgm(struct_80450861);
|
||||
} else if (mDemoStatus == 5) {
|
||||
Z2GetSeqMgr()->subBgmStop();
|
||||
} else if (mDemoStatus == 9) {
|
||||
@@ -215,7 +214,7 @@ void Z2StatusMgr::setDemoName(char* demoName) {
|
||||
mDemoStatus = 11;
|
||||
} else if (strcmp(demoName, "demo36_01") == 0 || strcmp(demoName, "demo36_02") == 0) {
|
||||
mDemoStatus = 4;
|
||||
Z2GetSeqMgr()->i_muteSceneBgm(0x1e, 0.0f);
|
||||
Z2GetSeqMgr()->muteSceneBgm(0x1e, 0.0f);
|
||||
} else if (strcmp(demoName, "demo37_01") == 0) {
|
||||
mDemoStatus = 12;
|
||||
Z2GetSoundMgr()->getSeMgr()->getCategory(9)->getParams()->moveVolume(0.0f, 0);
|
||||
@@ -336,4 +335,4 @@ void Z2StatusMgr::setCameraInWaterDepth(f32 depth) {
|
||||
mUnderwaterDepth = depth;
|
||||
}
|
||||
|
||||
/* 8039BC88-8039BC88 0282E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 8039BC88-8039BC88 0282E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -12,9 +12,42 @@
|
||||
#include "Z2AudioLib/Z2Audience.h"
|
||||
#include "d/d_demo.h"
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450880-80450884 000300 0004+00 2/2 0/0 0/0 .sdata cPitchDown */
|
||||
static f32 cPitchDown = 0.8909000158309937f;
|
||||
|
||||
/* 80450884-80450888 000304 0004+00 4/4 0/0 0/0 .sdata cPitchCenter */
|
||||
static f32 cPitchCenter = 1.0f;
|
||||
|
||||
/* 80450888-8045088C 000308 0004+00 2/2 0/0 0/0 .sdata cPitchUp */
|
||||
static f32 cPitchUp = 1.1892000436782837f;
|
||||
|
||||
static u8 struct_8045088C = 7;
|
||||
static u8 struct_8045088D = 7;
|
||||
|
||||
/* 8045088E-80450890 00030E 0002+00 4/4 0/0 0/0 .sdata None */
|
||||
static u8 data_8045088E = 0x1E;
|
||||
static u8 data_8045088F = 0x00;
|
||||
|
||||
/* 80450890-80450894 000310 0004+00 1/1 0/0 0/0 .sdata cR_FlatWidth */
|
||||
static f32 cR_FlatWidth = 0.9438700079917908f;
|
||||
|
||||
/* 80450894-80450898 -00001 0004+00 3/3 0/0 0/0 .sdata None */
|
||||
static u8 struct_80450894 = 0x05;
|
||||
static u8 struct_80450895 = 0x1E;
|
||||
|
||||
/* 80450898-8045089C 000318 0004+00 1/1 0/0 0/0 .sdata sStickHigh */
|
||||
static f32 sStickHigh = 0.5f;
|
||||
|
||||
/* 8045089C-804508A0 00031C 0004+00 1/1 0/0 0/0 .sdata sStickCenter */
|
||||
static f32 sStickCenter = 1.0f / 5.0f;
|
||||
|
||||
/* 804508A0-804508A8 000320 0008+00 1/0 0/0 0/0 .sdata sHowlTobikusa */
|
||||
extern SongNote sHowlTobikusa[4];
|
||||
static SongNote sHowlTobikusa[4] = {
|
||||
{0x01, 0x1E},
|
||||
{0x03, 0x1E},
|
||||
{0x01, 0x1E},
|
||||
{0x03, 0x1E},
|
||||
};
|
||||
|
||||
/* 803CBC50-803CBC5C 028D70 000C+00 1/0 0/0 0/0 .data sHowlUmakusa */
|
||||
static SongNote sHowlUmakusa[6] = {
|
||||
@@ -63,43 +96,6 @@ static Z2WolfHowlData sGuideData[9] = {
|
||||
{7, sNewSong1}, {8, sNewSong2}, {9, sNewSong3},
|
||||
};
|
||||
|
||||
/* 80450880-80450884 000300 0004+00 2/2 0/0 0/0 .sdata cPitchDown */
|
||||
static f32 cPitchDown = 0.8909000158309937f;
|
||||
|
||||
/* 80450884-80450888 000304 0004+00 4/4 0/0 0/0 .sdata cPitchCenter */
|
||||
static f32 cPitchCenter = 1.0f;
|
||||
|
||||
/* 80450888-8045088C 000308 0004+00 2/2 0/0 0/0 .sdata cPitchUp */
|
||||
static f32 cPitchUp = 1.1892000436782837f;
|
||||
|
||||
static u8 struct_8045088C = 7;
|
||||
static u8 struct_8045088D = 7;
|
||||
|
||||
/* 8045088E-80450890 00030E 0002+00 4/4 0/0 0/0 .sdata None */
|
||||
static u8 data_8045088E = 0x1E;
|
||||
static u8 data_8045088F = 0x00;
|
||||
|
||||
/* 80450890-80450894 000310 0004+00 1/1 0/0 0/0 .sdata cR_FlatWidth */
|
||||
static f32 cR_FlatWidth = 0.9438700079917908f;
|
||||
|
||||
/* 80450894-80450898 -00001 0004+00 3/3 0/0 0/0 .sdata None */
|
||||
static u8 struct_80450894 = 0x05;
|
||||
static u8 struct_80450895 = 0x1E;
|
||||
|
||||
/* 80450898-8045089C 000318 0004+00 1/1 0/0 0/0 .sdata sStickHigh */
|
||||
static f32 sStickHigh = 0.5f;
|
||||
|
||||
/* 8045089C-804508A0 00031C 0004+00 1/1 0/0 0/0 .sdata sStickCenter */
|
||||
static f32 sStickCenter = 1.0f / 5.0f;
|
||||
|
||||
/* 804508A0-804508A8 000320 0008+00 1/0 0/0 0/0 .sdata sHowlTobikusa */
|
||||
static SongNote sHowlTobikusa[4] = {
|
||||
{0x01, 0x1E},
|
||||
{0x03, 0x1E},
|
||||
{0x01, 0x1E},
|
||||
{0x03, 0x1E},
|
||||
};
|
||||
|
||||
/* 802CAAC0-802CAB8C 2C5400 00CC+00 0/0 1/1 0/0 .text __ct__13Z2WolfHowlMgrFv */
|
||||
Z2WolfHowlMgr::Z2WolfHowlMgr() : JASGlobalInstance(this) {
|
||||
mpCurSong = NULL;
|
||||
@@ -228,7 +224,7 @@ void Z2WolfHowlMgr::calcPitchMod(f32 param_0, f32 param_1) {
|
||||
/* 802CAED4-802CB100 2C5814 022C+00 0/0 1/1 0/0 .text startWolfHowlSound__13Z2WolfHowlMgrFffbf */
|
||||
s8 Z2WolfHowlMgr::startWolfHowlSound(f32 param_0, f32 param_1, bool param_2, f32 param_3) {
|
||||
if (mCorrectCurveID > 1) {
|
||||
Z2GetSeqMgr()->i_setWindStoneVol(0.0f, 0);
|
||||
Z2GetSeqMgr()->setWindStoneVol(0.0f, 0);
|
||||
}
|
||||
|
||||
if (Z2GetSeqMgr()->isItemGetDemo() || (mReleaseTimer != 0)) {
|
||||
@@ -486,7 +482,7 @@ void Z2WolfHowlMgr::startWindStoneSound(s8 param_0, Vec* param_1) {
|
||||
dVar13 = Z2Calc::getParamByExp(fVar14, 150.0f, 2000.0f,
|
||||
0.45f, 0.05f, dVar13, Z2Calc::CURVE_SIGN_0);
|
||||
}
|
||||
Z2GetSeqMgr()->i_setWindStoneVol(dVar13, 0);
|
||||
Z2GetSeqMgr()->setWindStoneVol(dVar13, 0);
|
||||
field_0x04->getAuxiliary().moveVolume(0.4f, 0);
|
||||
} else {
|
||||
field_0x04->getAuxiliary().moveVolume(0.04f, 0);
|
||||
@@ -497,7 +493,7 @@ void Z2WolfHowlMgr::startWindStoneSound(s8 param_0, Vec* param_1) {
|
||||
/* 802CBA88-802CBB58 2C63C8 00D0+00 0/0 1/1 0/0 .text startGuideMelody__13Z2WolfHowlMgrFb
|
||||
*/
|
||||
int Z2WolfHowlMgr::startGuideMelody(bool param_0) {
|
||||
Z2GetSeqMgr()->i_setWindStoneVol(0.0f, 0);
|
||||
Z2GetSeqMgr()->setWindStoneVol(0.0f, 0);
|
||||
if (param_0) {
|
||||
Z2GetSoundMgr()->startSound(sWindStoneSound[mCorrectCurveID], &field_0x08, NULL);
|
||||
}
|
||||
@@ -513,4 +509,4 @@ int Z2WolfHowlMgr::startGuideMelody(bool param_0) {
|
||||
*/
|
||||
void Z2WolfHowlMgr::skipCorrectDemo() {
|
||||
Z2GetSeqMgr()->stopWolfHowlSong();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user