summaryrefslogtreecommitdiff
path: root/src/Z2AudioLib
diff options
context:
space:
mode:
authorCaroline Madsen <69010899+randomsalience@users.noreply.github.com>2024-10-23 19:25:13 -0400
committerGitHub <noreply@github.com>2024-10-24 02:25:13 +0300
commit5650c7fe0861609b4b2c6db09312622a1fcd7fc1 (patch)
tree16c6c124bc0c92edfc8a1f30d54276656087b0f8 /src/Z2AudioLib
parentc44ea2139d298e515f2a5208bf8847a88c15ecf1 (diff)
JAudio2 and Z2AudioLib work (#2223)
* JAudio2 and Z2AudioLib work * check1stDynamicWave matched
Diffstat (limited to 'src/Z2AudioLib')
-rw-r--r--src/Z2AudioLib/Z2Audience.cpp403
-rw-r--r--src/Z2AudioLib/Z2AudioArcLoader.cpp69
-rw-r--r--src/Z2AudioLib/Z2AudioMgr.cpp311
-rw-r--r--src/Z2AudioLib/Z2Creature.cpp289
-rw-r--r--src/Z2AudioLib/Z2EnvSeMgr.cpp20
-rw-r--r--src/Z2AudioLib/Z2FxLineMgr.cpp348
-rw-r--r--src/Z2AudioLib/Z2SceneMgr.cpp2780
-rw-r--r--src/Z2AudioLib/Z2SeMgr.cpp3
-rw-r--r--src/Z2AudioLib/Z2SeqMgr.cpp86
-rw-r--r--src/Z2AudioLib/Z2SoundHandles.cpp58
-rw-r--r--src/Z2AudioLib/Z2SoundInfo.cpp163
-rw-r--r--src/Z2AudioLib/Z2SoundMgr.cpp201
-rw-r--r--src/Z2AudioLib/Z2SoundObjMgr.cpp203
-rw-r--r--src/Z2AudioLib/Z2SpeechMgr2.cpp1468
-rw-r--r--src/Z2AudioLib/Z2StatusMgr.cpp13
-rw-r--r--src/Z2AudioLib/Z2WolfHowlMgr.cpp82
16 files changed, 2707 insertions, 3790 deletions
diff --git a/src/Z2AudioLib/Z2Audience.cpp b/src/Z2AudioLib/Z2Audience.cpp
index 3a2e65e21b..a6306be42e 100644
--- a/src/Z2AudioLib/Z2Audience.cpp
+++ b/src/Z2AudioLib/Z2Audience.cpp
@@ -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>*)&param_1);
+ mPos.set(param_1);
field_0x48.set(mPos);
mVel.zero();
} else {
field_0x48.set(mPos);
- mPos.set(*(JGeometry::TVec3<f32>*)&param_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;
-}
-
-/* 802BDEDC-802BDEF0 2B881C 0014+00 0/0 1/0 0/0 .text __sinit_Z2Audience_cpp */
-void __sinit_Z2Audience_cpp() {
- // NONMATCHING
+ return mMaxChannels;
}
-#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? \ No newline at end of file
diff --git a/src/Z2AudioLib/Z2AudioArcLoader.cpp b/src/Z2AudioLib/Z2AudioArcLoader.cpp
index 99075c1014..b7d6789d98 100644
--- a/src/Z2AudioLib/Z2AudioArcLoader.cpp
+++ b/src/Z2AudioLib/Z2AudioArcLoader.cpp
@@ -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 */
-} \ No newline at end of file
+}
diff --git a/src/Z2AudioLib/Z2AudioMgr.cpp b/src/Z2AudioLib/Z2AudioMgr.cpp
index 394591664f..dbe6813902 100644
--- a/src/Z2AudioLib/Z2AudioMgr.cpp
+++ b/src/Z2AudioLib/Z2AudioMgr.cpp
@@ -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 */ \ No newline at end of file
diff --git a/src/Z2AudioLib/Z2Creature.cpp b/src/Z2AudioLib/Z2Creature.cpp
index e46e8df96a..a49079b28d 100644
--- a/src/Z2AudioLib/Z2Creature.cpp
+++ b/src/Z2AudioLib/Z2Creature.cpp
@@ -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:
-//
-
-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;
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
+/* 80455BD8-80455BDC 0041D8 0004+00 1/1 0/0 0/0 .sdata2 sAreaDefault */
+static Z2EnemyArea const sAreaDefault = {true, 700, 1100, 1500};
+
+/* 80455BE0-80455BE4 0041E0 0004+00 1/1 0/0 0/0 .sdata2 sAreaFloating */
+static Z2EnemyArea const sAreaFloating = {false, 700, 1100, 1500};
+
+/* 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 \ No newline at end of file
diff --git a/src/Z2AudioLib/Z2EnvSeMgr.cpp b/src/Z2AudioLib/Z2EnvSeMgr.cpp
index 50d620c865..9189867d2d 100644
--- a/src/Z2AudioLib/Z2EnvSeMgr.cpp
+++ b/src/Z2AudioLib/Z2EnvSeMgr.cpp
@@ -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;
}
diff --git a/src/Z2AudioLib/Z2FxLineMgr.cpp b/src/Z2AudioLib/Z2FxLineMgr.cpp
index 8a92d1f9d0..c1a7d1645c 100644
--- a/src/Z2AudioLib/Z2FxLineMgr.cpp
+++ b/src/Z2AudioLib/Z2FxLineMgr.cpp
@@ -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
-} \ No newline at end of file
+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;
+ }
+ }
+}
diff --git a/src/Z2AudioLib/Z2SceneMgr.cpp b/src/Z2AudioLib/Z2SceneMgr.cpp
index 632b680532..46909a28cc 100644
--- a/src/Z2AudioLib/Z2SceneMgr.cpp
+++ b/src/Z2AudioLib/Z2SceneMgr.cpp
@@ -3,908 +3,2053 @@
// Translation Unit: Z2SceneMgr
//
+#include "JSystem/JAudio2/JASBasicWaveBank.h"
+#include "JSystem/JAudio2/JAUSectionHeap.h"
+#include "JSystem/JAudio2/JAUSoundTable.h"
#include "Z2AudioLib/Z2SceneMgr.h"
-#include "Z2AudioLib/Z2SoundMgr.h"
-#include "Z2AudioLib/Z2SeqMgr.h"
-#include "Z2AudioLib/Z2SeMgr.h"
#include "Z2AudioLib/Z2Param.h"
-#include "dol2asm.h"
-
-//
-// Types:
-//
-
-struct dSv_memBit_c {
- /* 80034860 */ void isSwitch(int) const;
-};
-
-struct dSv_info_c {
- /* 80035360 */ void isSwitch(int, int) const;
-};
-
-struct dSv_event_flag_c {
- static u8 saveBitLabels[1644 + 4 /* padding */];
-};
-
-struct dSv_event_c {
- /* 800349BC */ void isEventBit(u16) const;
-};
-
-struct Z2SoundObjMgr {
- /* 802BF980 */ void setForceBattleArea(bool, u16, u16, u16);
- /* 802BFFEC */ void setGhostEnemyState(u8);
- /* 802C013C */ void deleteEnemyAll();
-};
-
-struct Z2FxLineMgr {
- /* 802BAEB8 */ void setSceneFx(s32);
-};
-
-struct Z2EnvSeMgr {
- /* 802C699C */ void resetSceneInner();
- /* 802C6AC0 */ void initSceneEnvSe(s32, s8, f32);
-};
-
-struct JAUSoundTable {
- /* 802A7160 */ void getTypeID(JAISoundID) const;
-};
-
-struct JASWaveArc {
- /* 8029A4C0 */ void load(JASHeap*);
- /* 8029A580 */ void loadTail(JASHeap*);
- /* 8029A640 */ void erase();
-};
-
-//
-// Forward References:
-//
-
-extern "C" void __ct__10Z2SceneMgrFv();
-extern "C" void setInDarkness__10Z2SceneMgrFb();
-extern "C" void setSceneExist__10Z2SceneMgrFb();
-extern "C" void setFadeOutStart__10Z2SceneMgrFUc();
-extern "C" void setFadeInStart__10Z2SceneMgrFUc();
-extern "C" void setSceneName__10Z2SceneMgrFPcll();
-extern "C" void __ct__10JAISoundIDFRC10JAISoundID(JAISoundID* this_, JAISoundID const& soundIdToSet);
-extern "C" void setFieldBgmPlay__8Z2SeqMgrFb();
-extern "C" void isActive__12JAIStreamMgrCFv();
-extern "C" void getID__8JAISoundCFv();
-extern "C" void func_802B9994(void* _this);
-extern "C" static void dComIfGs_getStartPoint__Fv();
-extern "C" void unMuteSceneBgm__8Z2SeqMgrFUl();
-extern "C" void muteSceneBgm__8Z2SeqMgrFUlf();
-extern "C" static void dComIfGs_isSaveSwitch__Fi();
-extern "C" void resetCrowdSize__7Z2SeMgrFv();
-extern "C" void setTwilightGateVol__8Z2SeqMgrFf();
-extern "C" void setWindStoneVol__8Z2SeqMgrFfUl();
-extern "C" void __as__10JAISoundIDFRC10JAISoundID(JAISoundID* this_, JAISoundID const& param_0);
-extern "C" void sceneChange__10Z2SceneMgrF10JAISoundIDUcUcUcUcUcb();
-extern "C" void framework__10Z2SceneMgrFv();
-extern "C" void load1stDynamicWave__10Z2SceneMgrFv();
-extern "C" void _load1stWaveInner_1__10Z2SceneMgrFv();
-extern "C" void _load1stWaveInner_2__10Z2SceneMgrFv();
-extern "C" void check1stDynamicWave__10Z2SceneMgrFv();
-extern "C" void load2ndDynamicWave__10Z2SceneMgrFv();
-extern "C" void sceneBgmStart__10Z2SceneMgrFv();
-extern "C" void loadStaticWaves__10Z2SceneMgrFv();
-extern "C" bool checkFirstWaves__10Z2SceneMgrFv();
-extern "C" void eraseSeWave__10Z2SceneMgrFUl();
-extern "C" void eraseBgmWave__10Z2SceneMgrFUl();
-extern "C" void getWaveLoadStatus__10Z2SceneMgrFUlUl();
-extern "C" void loadSeWave__10Z2SceneMgrFUl();
-extern "C" void loadBgmWave__10Z2SceneMgrFUl();
-extern "C" void __ct__10JAISoundIDFUl(void* param_0, u32 param_1);
-extern "C" extern char const* const Z2SceneMgr__stringBase0;
-
-//
-// External References:
-//
-
-extern "C" void dComIfGs_isStageSwitch__Fii();
-extern "C" void isSwitch__12dSv_memBit_cCFi();
-extern "C" void isEventBit__11dSv_event_cCFUs();
-extern "C" void isSwitch__10dSv_info_cCFii();
-extern "C" void dComIfGs_isEventBit__FUs();
-extern "C" void load__10JASWaveArcFP7JASHeap();
-extern "C" void loadTail__10JASWaveArcFP7JASHeap();
-extern "C" void erase__10JASWaveArcFv();
-extern "C" void stop__8JAISoundFUl();
-extern "C" void moveVolume__18JAISoundParamsMoveFfUl();
-extern "C" void getTypeID__13JAUSoundTableCF10JAISoundID();
-extern "C" void resetFilterAll__10Z2SoundMgrFv();
-extern "C" void resetModY__7Z2SeMgrFv();
-extern "C" void seStopAll__7Z2SeMgrFUl();
-extern "C" void seMoveVolumeAll__7Z2SeMgrFfUl();
-extern "C" void bgmStart__8Z2SeqMgrFUlUll();
-extern "C" void bgmStop__8Z2SeqMgrFUll();
-extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl();
-extern "C" void bgmStreamCheckReady__8Z2SeqMgrFv();
-extern "C" void bgmStreamPlay__8Z2SeqMgrFv();
-extern "C" void changeBgmStatus__8Z2SeqMgrFl();
-extern "C" void setHeightVolMod__8Z2SeqMgrFbUl();
-extern "C" void setTimeProcVolMod__8Z2SeqMgrFbUl();
-extern "C" void checkBgmIDPlaying__8Z2SeqMgrFUl();
-extern "C" void resetBattleBgmParams__8Z2SeqMgrFv();
-extern "C" void setBattleBgmOff__8Z2SeqMgrFb();
-extern "C" void menuOut__11Z2StatusMgrFv();
-extern "C" void setDemoName__11Z2StatusMgrFPc();
-extern "C" void checkDayTime__11Z2StatusMgrFv();
-extern "C" void setSceneFx__11Z2FxLineMgrFl();
-extern "C" void setForceBattleArea__13Z2SoundObjMgrFbUsUsUs();
-extern "C" void setGhostEnemyState__13Z2SoundObjMgrFUc();
-extern "C" void deleteEnemyAll__13Z2SoundObjMgrFv();
-extern "C" void resetSceneInner__10Z2EnvSeMgrFv();
-extern "C" void initSceneEnvSe__10Z2EnvSeMgrFlScf();
-extern "C" void _savegpr_16();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_16();
-extern "C" void _restgpr_29();
-extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" extern u8 data_80450B3C[4];
-extern "C" extern u8 data_80450B40[4];
-extern "C" extern u8 data_80450B48[4];
-extern "C" extern u8 data_80450B58[4];
-extern "C" extern Z2SoundMgr* data_80450B60;
-extern "C" extern u8 data_80450B7C[4];
-extern "C" extern Z2SeMgr* data_80450B88;
-extern "C" extern u8 data_80450CC0[4 + 4 /* padding */];
-extern "C" extern u8 __OSReport_disable;
-
-//
-// Declarations:
-//
+#include "Z2AudioLib/Z2SeMgr.h"
+#include "Z2AudioLib/Z2SeqMgr.h"
+#include "Z2AudioLib/Z2SoundMgr.h"
+#include "Z2AudioLib/Z2SoundObjMgr.h"
+#include "Z2AudioLib/Z2StatusMgr.h"
+#include "d/d_com_inf_game.h"
/* 802B6840-802B68B0 2B1180 0070+00 0/0 1/1 0/0 .text __ct__10Z2SceneMgrFv */
Z2SceneMgr::Z2SceneMgr(void) : JASGlobalInstance<Z2SceneMgr>(this) {
- volatile int timerx;
sceneNum = -1;
- timerx = -1;
BGM_ID = -1;
roomNum = -1;
- SeWave_1 = 0;
- SeWaveToErase_1 = 0;
- SeWave_2 = 0;
- SeWaveToErase_2 = 0;
- BgmWave_1 = 0;
- BgmWaveToErase_1 = 0;
- BgmWave_2 = 0;
- BgmWaveToErase_2 = 0;
- SeWave_3 = 0;
- SeWaveToErase_3 = 0;
+ requestSeWave_1 = 0;
+ loadedSeWave_1 = 0;
+ requestSeWave_2 = 0;
+ loadedSeWave_2 = 0;
+ requestBgmWave_1 = 0;
+ loadedBgmWave_1 = 0;
+ requestBgmWave_2 = 0;
+ loadedBgmWave_2 = 0;
+ requestDemoWave = 0;
+ loadedDemoWave = 0;
field_0x18 = 0;
field_0x19 = 0;
- field_0x1a = 0;
- field_0x1b = 0;
+ field_0x1a = false;
+ field_0x1b = false;
sceneExist = 0;
inGame = 0;
inDarkness = false;
- field_0x17 = 0;
+ load1stWait = 0;
}
/* 802B68B0-802B68E0 2B11F0 0030+00 0/0 1/1 0/0 .text setInDarkness__10Z2SceneMgrFb */
void Z2SceneMgr::setInDarkness(bool param_0) {
inDarkness = param_0;
if (!param_0) {
- Z2SoundMgr::getInstance()->resetFilterAll();
+ Z2GetSoundMgr()->resetFilterAll();
}
}
-/* ############################################################################################## */
-/* 80455A38-80455A3C 004038 0004+00 8/8 0/0 0/0 .sdata2 @3511 */
-SECTION_SDATA2 static u8 lit_3511[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
+static char* sSpotName[81] = {
+ "F_SP00",
+ "F_SP103",
+ "R_SP01",
+ "F_SP104",
+ "R_SP107",
+ "F_SP108",
+ "R_SP108",
+ "F_SP117",
+ "F_SP109",
+ "R_SP109",
+ "R_SP209",
+ "F_SP110",
+ "R_SP110",
+ "F_SP111",
+ "F_SP128",
+ "R_SP128",
+ "F_SP115",
+ "F_SP112",
+ "F_SP126",
+ "F_SP127",
+ "R_SP127",
+ "F_SP113",
+ "F_SP116",
+ "R_SP116",
+ "R_SP160",
+ "R_SP161",
+ "F_SP114",
+ "F_SP118",
+ "F_SP124",
+ "F_SP125",
+ "F_SP121",
+ "F_SP122",
+ "F_SP123",
+ "F_SP200",
+ "F_SP102",
+ "",
+ "R_SP300",
+ "R_SP301",
+ "T_ENEMY",
+ "D_MN54",
+ "D_MN05",
+ "D_MN05B",
+ "D_MN05A",
+ "D_MN04",
+ "D_MN04B",
+ "D_MN04A",
+ "D_MN01",
+ "D_MN01B",
+ "D_MN01A",
+ "D_MN10",
+ "D_MN10B",
+ "D_MN10A",
+ "D_MN11",
+ "D_MN11B",
+ "D_MN11A",
+ "D_MN06",
+ "D_MN06B",
+ "D_MN06A",
+ "D_MN07",
+ "D_MN07B",
+ "D_MN07A",
+ "D_MN08",
+ "D_MN08B",
+ "D_MN08C",
+ "D_MN08A",
+ "D_MN08D",
+ "D_MN09",
+ "D_MN09A",
+ "D_MN09B",
+ "D_MN09C",
+ "D_SB00",
+ "D_SB01",
+ "D_SB02",
+ "D_SB03",
+ "D_SB04",
+ "D_SB05",
+ "D_SB06",
+ "D_SB07",
+ "D_SB08",
+ "D_SB09",
+ "D_SB10",
};
-/* 80455A3C-80455A40 00403C 0004+00 6/6 0/0 0/0 .sdata2 @3512 */
-SECTION_SDATA2 static f32 lit_3512 = 1.0f;
-
/* 802B68E0-802B697C 2B1220 009C+00 3/3 2/2 2/2 .text setSceneExist__10Z2SceneMgrFb */
-#ifdef NONMATCHING
void Z2SceneMgr::setSceneExist(bool param_1) {
sceneExist = param_1;
timer = 0;
- JAISeMgr* seMgr = data_80450B60->getSeMgr();
+ JAISeMgr* seMgr = Z2GetSoundMgr()->getSeMgr();
if (param_1) {
inGame = 1;
- if (SeWave_3 == 0x85) {
- seMgr->getCategory(9)->getParams()->moveVolume(FLOAT_LABEL(lit_3511), 0);
- } else if (SeWave_3 == 0x7F) {
- data_80450B88->seMoveVolumeAll(FLOAT_LABEL(lit_3511), 0);
+ if (requestDemoWave == 0x85) {
+ seMgr->getCategory(9)->getParams()->moveVolume(0.0f, 0);
+ } else if (requestDemoWave == 0x7F) {
+ Z2GetSeMgr()->seMoveVolumeAll(0.0f, 0);
} else {
- seMgr->getCategory(9)->getParams()->moveVolume(lit_3512, 33);
+ seMgr->getCategory(9)->getParams()->moveVolume(1.0f, 33);
}
} else {
- seMgr->getCategory(9)->getParams()->moveVolume(FLOAT_LABEL(lit_3511), 180);
+ seMgr->getCategory(9)->getParams()->moveVolume(0.0f, 180);
}
}
-#else
-void Z2SceneMgr::setSceneExist(bool param_0) {
- // NONMATCHING
-}
-#endif
-
-/* ############################################################################################## */
-/* 80455A40-80455A48 004040 0004+04 1/1 0/0 0/0 .sdata2 @3529 */
-SECTION_SDATA2 static f32 lit_3529[1 + 1 /* padding */] = {
- 3.0f / 10.0f,
- /* padding */
- 0.0f,
-};
-
-/* 80455A48-80455A50 004048 0008+00 5/5 0/0 0/0 .sdata2 @3531 */
-SECTION_SDATA2 static f64 lit_3531 = 4503599627370496.0 /* cast u32 to float */;
/* 802B697C-802B6A18 2B12BC 009C+00 0/0 1/1 0/0 .text setFadeOutStart__10Z2SceneMgrFUc */
-#ifdef NONMATCHING
void Z2SceneMgr::setFadeOutStart(u8 param_0) {
setSceneExist(false);
- Z2SeqMgr::getInstance()->bgmAllMute(33, 3.0f / 10.0f);
- Z2SeMgr::getInstance()->seMoveVolumeAll(FLOAT_LABEL(lit_3511), 33);
- Z2SeqMgr::getInstance()->setBattleBgmOff(true);
- field_0x17 = 40;
+ Z2GetSeqMgr()->bgmAllMute(33, 3.0f / 10.0f);
+ Z2GetSeMgr()->seMoveVolumeAll(0.0f, 33);
+ Z2GetSeqMgr()->setBattleBgmOff(true);
+ load1stWait = 40;
timer = -1;
}
-#else
-void Z2SceneMgr::setFadeOutStart(u8 param_0) {
- // NONMATCHING
-}
-#endif
/* 802B6A18-802B6AF8 2B1358 00E0+00 0/0 1/1 0/0 .text setFadeInStart__10Z2SceneMgrFUc */
-#ifdef NONMATCHING
void Z2SceneMgr::setFadeInStart(u8 param_0) {
- if (SeWave_3 == 0x7f) {
- Z2SeMgr::getInstance()->seMoveVolumeAll(FLOAT_LABEL(lit_3511), 0);
+ if (requestDemoWave == 0x7f) {
+ Z2GetSeMgr()->seMoveVolumeAll(0.0f, 0);
} else {
- Z2SeMgr::getInstance()->seMoveVolumeAll(FLOAT_LABEL(lit_3512), 33);
+ Z2GetSeMgr()->seMoveVolumeAll(1.0f, 33);
- if (SeWave_3 == 0x85) {
- JAISeMgr* seMgr = Z2SoundMgr::getInstance()->getSeMgr();
- seMgr->getCategory(9)->getParams()->moveVolume(FLOAT_LABEL(lit_3511), 0);
+ if (requestDemoWave == 0x85) {
+ JAISeMgr* seMgr = Z2GetSoundMgr()->getSeMgr();
+ seMgr->getCategory(9)->getParams()->moveVolume(0.0f, 0);
}
}
- Z2SeqMgr::getInstance()->i_setTwilightGateVol(FLOAT_LABEL(lit_3512));
- Z2StatusMgr::getInstance()->menuOut();
+ Z2GetSeqMgr()->setTwilightGateVol(1.0f);
+ Z2GetStatusMgr()->menuOut();
- if (field_0x1a == 0) {
- Z2SeqMgr::getInstance()->bgmAllMute(33, 3.0f / 10.0f);
+ if (!field_0x1a) {
+ Z2GetSeqMgr()->bgmAllMute(33, 1.0f);
}
inGame = true;
}
-#else
-void Z2SceneMgr::setFadeInStart(u8 param_0) {
- // NONMATCHING
-}
-#endif
-
-/* ############################################################################################## */
-/* 8039BFA8-8039BFA8 028608 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8039BFA8 = "F_SP00";
-SECTION_DEAD static char const* const stringBase_8039BFAF = "F_SP103";
-SECTION_DEAD static char const* const stringBase_8039BFB7 = "R_SP01";
-SECTION_DEAD static char const* const stringBase_8039BFBE = "F_SP104";
-SECTION_DEAD static char const* const stringBase_8039BFC6 = "R_SP107";
-SECTION_DEAD static char const* const stringBase_8039BFCE = "F_SP108";
-SECTION_DEAD static char const* const stringBase_8039BFD6 = "R_SP108";
-SECTION_DEAD static char const* const stringBase_8039BFDE = "F_SP117";
-SECTION_DEAD static char const* const stringBase_8039BFE6 = "F_SP109";
-SECTION_DEAD static char const* const stringBase_8039BFEE = "R_SP109";
-SECTION_DEAD static char const* const stringBase_8039BFF6 = "R_SP209";
-SECTION_DEAD static char const* const stringBase_8039BFFE = "F_SP110";
-SECTION_DEAD static char const* const stringBase_8039C006 = "R_SP110";
-SECTION_DEAD static char const* const stringBase_8039C00E = "F_SP111";
-SECTION_DEAD static char const* const stringBase_8039C016 = "F_SP128";
-SECTION_DEAD static char const* const stringBase_8039C01E = "R_SP128";
-SECTION_DEAD static char const* const stringBase_8039C026 = "F_SP115";
-SECTION_DEAD static char const* const stringBase_8039C02E = "F_SP112";
-SECTION_DEAD static char const* const stringBase_8039C036 = "F_SP126";
-SECTION_DEAD static char const* const stringBase_8039C03E = "F_SP127";
-SECTION_DEAD static char const* const stringBase_8039C046 = "R_SP127";
-SECTION_DEAD static char const* const stringBase_8039C04E = "F_SP113";
-SECTION_DEAD static char const* const stringBase_8039C056 = "F_SP116";
-SECTION_DEAD static char const* const stringBase_8039C05E = "R_SP116";
-SECTION_DEAD static char const* const stringBase_8039C066 = "R_SP160";
-SECTION_DEAD static char const* const stringBase_8039C06E = "R_SP161";
-SECTION_DEAD static char const* const stringBase_8039C076 = "F_SP114";
-SECTION_DEAD static char const* const stringBase_8039C07E = "F_SP118";
-SECTION_DEAD static char const* const stringBase_8039C086 = "F_SP124";
-SECTION_DEAD static char const* const stringBase_8039C08E = "F_SP125";
-SECTION_DEAD static char const* const stringBase_8039C096 = "F_SP121";
-SECTION_DEAD static char const* const stringBase_8039C09E = "F_SP122";
-SECTION_DEAD static char const* const stringBase_8039C0A6 = "F_SP123";
-SECTION_DEAD static char const* const stringBase_8039C0AE = "F_SP200";
-SECTION_DEAD static char const* const stringBase_8039C0B6 = "F_SP102";
-SECTION_DEAD static char const* const stringBase_8039C0BE = "";
-SECTION_DEAD static char const* const stringBase_8039C0BF = "R_SP300";
-SECTION_DEAD static char const* const stringBase_8039C0C7 = "R_SP301";
-SECTION_DEAD static char const* const stringBase_8039C0CF = "T_ENEMY";
-SECTION_DEAD static char const* const stringBase_8039C0D7 = "D_MN54";
-SECTION_DEAD static char const* const stringBase_8039C0DE = "D_MN05";
-SECTION_DEAD static char const* const stringBase_8039C0E5 = "D_MN05B";
-SECTION_DEAD static char const* const stringBase_8039C0ED = "D_MN05A";
-SECTION_DEAD static char const* const stringBase_8039C0F5 = "D_MN04";
-SECTION_DEAD static char const* const stringBase_8039C0FC = "D_MN04B";
-SECTION_DEAD static char const* const stringBase_8039C104 = "D_MN04A";
-SECTION_DEAD static char const* const stringBase_8039C10C = "D_MN01";
-SECTION_DEAD static char const* const stringBase_8039C113 = "D_MN01B";
-SECTION_DEAD static char const* const stringBase_8039C11B = "D_MN01A";
-SECTION_DEAD static char const* const stringBase_8039C123 = "D_MN10";
-SECTION_DEAD static char const* const stringBase_8039C12A = "D_MN10B";
-SECTION_DEAD static char const* const stringBase_8039C132 = "D_MN10A";
-SECTION_DEAD static char const* const stringBase_8039C13A = "D_MN11";
-SECTION_DEAD static char const* const stringBase_8039C141 = "D_MN11B";
-SECTION_DEAD static char const* const stringBase_8039C149 = "D_MN11A";
-SECTION_DEAD static char const* const stringBase_8039C151 = "D_MN06";
-SECTION_DEAD static char const* const stringBase_8039C158 = "D_MN06B";
-SECTION_DEAD static char const* const stringBase_8039C160 = "D_MN06A";
-SECTION_DEAD static char const* const stringBase_8039C168 = "D_MN07";
-SECTION_DEAD static char const* const stringBase_8039C16F = "D_MN07B";
-SECTION_DEAD static char const* const stringBase_8039C177 = "D_MN07A";
-SECTION_DEAD static char const* const stringBase_8039C17F = "D_MN08";
-SECTION_DEAD static char const* const stringBase_8039C186 = "D_MN08B";
-SECTION_DEAD static char const* const stringBase_8039C18E = "D_MN08C";
-SECTION_DEAD static char const* const stringBase_8039C196 = "D_MN08A";
-SECTION_DEAD static char const* const stringBase_8039C19E = "D_MN08D";
-SECTION_DEAD static char const* const stringBase_8039C1A6 = "D_MN09";
-SECTION_DEAD static char const* const stringBase_8039C1AD = "D_MN09A";
-SECTION_DEAD static char const* const stringBase_8039C1B5 = "D_MN09B";
-SECTION_DEAD static char const* const stringBase_8039C1BD = "D_MN09C";
-SECTION_DEAD static char const* const stringBase_8039C1C5 = "D_SB00";
-SECTION_DEAD static char const* const stringBase_8039C1CC = "D_SB01";
-SECTION_DEAD static char const* const stringBase_8039C1D3 = "D_SB02";
-SECTION_DEAD static char const* const stringBase_8039C1DA = "D_SB03";
-SECTION_DEAD static char const* const stringBase_8039C1E1 = "D_SB04";
-SECTION_DEAD static char const* const stringBase_8039C1E8 = "D_SB05";
-SECTION_DEAD static char const* const stringBase_8039C1EF = "D_SB06";
-SECTION_DEAD static char const* const stringBase_8039C1F6 = "D_SB07";
-SECTION_DEAD static char const* const stringBase_8039C1FD = "D_SB08";
-SECTION_DEAD static char const* const stringBase_8039C204 = "D_SB09";
-SECTION_DEAD static char const* const stringBase_8039C20B = "D_SB10";
-SECTION_DEAD static char const* const stringBase_8039C212 = "force_end";
-/* @stringBase0 padding */
-SECTION_DEAD static char const* const pad_8039C21C = "\0\0\0";
-#pragma pop
-
-/* 803CA5C0-803CA704 -00001 0144+00 1/1 0/0 0/0 .data sSpotName */
-SECTION_DATA static void* sSpotName[81] = {
- (void*)&Z2SceneMgr__stringBase0,
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x7),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xF),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x16),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x26),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x2E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x36),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x3E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x46),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x4E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x56),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x5E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x66),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x6E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x76),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x7E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x86),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x8E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x96),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x9E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xA6),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xAE),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xB6),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xBE),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xC6),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xCE),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xD6),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xDE),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xE6),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xEE),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xF6),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0xFE),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x106),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x10E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x116),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x117),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x11F),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x127),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x12F),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x136),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x13D),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x145),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x14D),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x154),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x15C),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x164),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x16B),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x173),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x17B),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x182),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x18A),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x192),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x199),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1A1),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1A9),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1B0),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1B8),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1C0),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1C7),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1CF),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1D7),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1DE),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1E6),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1EE),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1F6),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x1FE),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x205),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x20D),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x215),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x21D),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x224),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x22B),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x232),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x239),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x240),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x247),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x24E),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x255),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x25C),
- (void*)(((char*)&Z2SceneMgr__stringBase0) + 0x263),
-};
-
-/* 803CA704-803CA744 -00001 0040+00 1/1 0/0 0/0 .data @5354 */
-SECTION_DATA static void* lit_5354[16] = {
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BDC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BE4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BE4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BDC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BE4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BE4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BDC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BEC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2BC0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BEC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BDC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BEC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BEC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BDC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BE4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BE4),
-};
-
-/* 803CA744-803CA784 -00001 0040+00 1/1 0/0 0/0 .data @5353 */
-SECTION_DATA static void* lit_5353[16] = {
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BA0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BB8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1B98),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1B98),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1B98),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BA0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BB8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BA0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BBC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BA8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BA8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BA8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BB0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BB0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BB0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BB8),
-};
-
-/* 803CA784-803CA7BC -00001 0038+00 1/1 0/0 0/0 .data @5352 */
-SECTION_DATA static void* lit_5352[14] = {
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xC48),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xC78),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xCC8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xCC8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xCA0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xCC8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xC08),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xC08),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xCC8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xC18),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xC20),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xC28),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xC34),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xC3C),
-};
-
-/* 803CA7BC-803CA7F4 -00001 0038+00 1/1 0/0 0/0 .data @5351 */
-SECTION_DATA static void* lit_5351[14] = {
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xB48),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xAF4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xB48),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xB48),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xADC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xB48),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xADC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xB48),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xB48),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xB48),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xB48),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xB48),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xADC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xAEC),
-};
-
-/* 803CA7F4-803CA824 -00001 0030+00 1/1 0/0 0/0 .data @5350 */
-SECTION_DATA static void* lit_5350[12] = {
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x7B0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x72C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x804),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x804),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x778),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x788),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x798),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x790),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x798),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x7A0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x7A8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x7A8),
-};
-
-/* 803CA824-803CA844 -00001 0020+00 1/1 0/0 0/0 .data @5349 */
-SECTION_DATA static void* lit_5349[8] = {
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x430),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x45C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x52C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x604),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x604),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x628),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x6F4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x604),
-};
-
-/* 803CA844-803CA878 -00001 0034+00 1/1 0/0 0/0 .data @5348 */
-SECTION_DATA static void* lit_5348[13] = {
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x3E4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2E0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x3E4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x364),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x378),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x338),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x3E4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x3E4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x338),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x35C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x3E4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x3E4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x328),
-};
-
-/* 803CA878-803CA9BC -00001 0144+00 1/1 0/0 0/0 .data @5347 */
-SECTION_DATA static void* lit_5347[81] = {
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x150),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1E0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x40C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x700),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x80C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xA08),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x968),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1824),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xB94),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xCF4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xF00),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1010),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1174),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0xF70),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1098),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1140),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x11BC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x13B4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x12D8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1338),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1384),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1468),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x150C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x15E4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1688),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x17E0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x18E8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1994),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1934),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x19C8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1A30),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1BF4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1CF8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1DA8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1D2C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2BC0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2A7C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x948),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x134),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2BC0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1E68),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1EA4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1F00),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1FAC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x1FE8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2038),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x20D8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2108),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2158),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x21F8),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2248),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2298),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2338),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2374),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x23D0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x247C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x24AC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x24FC),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x259C),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x25F4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2644),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x26E4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2760),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2760),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x27B0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2894),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x28D4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2980),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2A04),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2A34),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2AC4),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2A84),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2AF0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2AF0),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2B18),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2B44),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2B44),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2B44),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2B44),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2B44),
- (void*)(((char*)setSceneName__10Z2SceneMgrFPcll) + 0x2B6C),
-};
-
-/* 80455A50-80455A54 004050 0004+00 1/1 0/0 0/0 .sdata2 @5341 */
-SECTION_SDATA2 static f32 lit_5341 = -1.0f;
-
-/* 80455A54-80455A58 004054 0004+00 2/2 0/0 0/0 .sdata2 @5342 */
-SECTION_SDATA2 static f32 lit_5342 = 0.5f;
-
-/* 80455A58-80455A5C 004058 0004+00 1/1 0/0 0/0 .sdata2 @5343 */
-SECTION_SDATA2 static f32 lit_5343 = 7.0f / 10.0f;
-
-/* 80455A5C-80455A60 00405C 0004+00 1/1 0/0 0/0 .sdata2 @5344 */
-SECTION_SDATA2 static f32 lit_5344 = 4.0f / 5.0f;
-
-/* 80455A60-80455A64 004060 0004+00 1/1 0/0 0/0 .sdata2 @5345 */
-SECTION_SDATA2 static f32 lit_5345 = 1.0f / 10.0f;
-
-/* 80455A64-80455A68 004064 0004+00 1/1 0/0 0/0 .sdata2 @5346 */
-SECTION_SDATA2 static f32 lit_5346 = 2.0f / 25.0f;
/* 802B6AF8-802B995C 2B1438 2E64+00 8/0 1/1 0/0 .text setSceneName__10Z2SceneMgrFPcll */
-void Z2SceneMgr::setSceneName(char* param_0, s32 param_1, s32 param_2) {
- // NONMATCHING
-}
+// NONMATCHING JSULink<JAIStream>::getNext() inlining
+void Z2SceneMgr::setSceneName(char* spotName, s32 room, s32 layer) {
+ JAISoundID bgm_id = -1;
+ JAISound* sound;
+ int spot = 0;
+ u8 se_wave1 = 0;
+ u8 se_wave2 = 0;
+ u8 bgm_wave1 = 0;
+ u8 bgm_wave2 = 0;
+ u8 demo_wave = 0;
+ bool bVar6 = false;
+ bool height_vol_mod = false;
+ bool field_bgm_play = false;
+ bool time_proc_vol_mod = false;
+ bool bVar2 = false;
+ field_0x1b = false;
+ f32 fVar1 = -1.0f;
+
+ Z2GetSeqMgr()->resetBattleBgmParams();
+ Z2GetSeqMgr()->setWindStoneVol(1.0f, 0);
+ Z2GetSeqMgr()->setTwilightGateVol(1.0f);
+ Z2GetSeMgr()->resetCrowdSize();
+ Z2GetSoundObjMgr()->setGhostEnemyState(0);
+ Z2GetSeMgr()->resetModY();
+ if (Z2GetStatusMgr()->getDemoStatus() == 8) {
+ Z2GetStatusMgr()->setDemoName("force_end");
+ }
-//! @meme this looks to be non-inlined here because @ref setSceneName is too large*
-extern "C" void __ct__10JAISoundIDFRC10JAISoundID(JAISoundID* this_, JAISoundID const& soundIdToSet) {
- this_->mId = soundIdToSet.mId;
-}
+ if (spotName != NULL) {
+ for (spot = 0; spot < (int)ARRAY_SIZE(sSpotName); spot++) {
+ if (!strcmp(spotName, sSpotName[spot])) {
+ break;
+ }
+ }
+ if (spot == (int)ARRAY_SIZE(sSpotName)) {
+ spot = SPOT_NONE;
+ }
+ }
-/* 802B9968-802B9978 2B42A8 0010+00 1/1 0/0 0/0 .text setFieldBgmPlay__8Z2SeqMgrFb */
-void Z2SeqMgr::setFieldBgmPlay(bool param_1) {
- mFlags.flag5 = param_1;
-}
+ switch (spot) {
+ case SPOT_ENEMY_TEST:
+ bgm_wave2 = 2;
+ if (room < 30) {
+ se_wave1 = 0x8a;
+ } else {
+ se_wave1 = 0x8b;
+ }
+ break;
+
+ case SPOT_ORDON_RANCH:
+ if (layer == 1) {
+ if (dComIfGs_isSaveSwitch(0x67)) {
+ bgm_id = Z2BGM_TOAL_NIGHT;
+ bgm_wave1 = 6;
+ Z2GetSeqMgr()->changeBgmStatus(0);
+ }
+ } else {
+ if (layer == 8) {
+ demo_wave = 0x5c;
+ }
+ bgm_id = Z2BGM_RANCH;
+ bgm_wave1 = 1;
+ bgm_wave2 = 2;
+ time_proc_vol_mod = true;
+ }
+ se_wave1 = 0x26;
+ se_wave2 = 0x25;
+ field_0x1b = true;
+ break;
+
+ case SPOT_ORDON_VILLAGE:
+ field_0x1b = true;
+ se_wave1 = 0x26;
+ if (room == 0) {
+ se_wave2 = 0x27;
+ switch (layer) {
+ case 1:
+ bgm_id = Z2BGM_TOAL_NIGHT;
+ bgm_wave1 = 6;
+ Z2GetSeqMgr()->changeBgmStatus(0);
+ break;
+ case 8:
+ bgm_id = 0x2000011;
+ demo_wave = 0x64;
+ break;
+ case 10:
+ case 11:
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ break;
+ default:
+ bgm_id = Z2BGM_TOAL_VILLEGE;
+ bgm_wave1 = 3;
+ bgm_wave2 = 4;
+ time_proc_vol_mod = true;
+ break;
+ }
+ } else if (room == 1) {
+ se_wave2 = 0x28;
+ switch (layer) {
+ case 1:
+ field_0x1b = false;
+ if (dComIfGs_isSaveSwitch(0x67)) {
+ bgm_id = Z2BGM_TOAL_NIGHT;
+ bgm_wave1 = 6;
+ Z2GetSeqMgr()->changeBgmStatus(0);
+ }
+ break;
+ case 12:
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ break;
+ case 5:
+ case 8:
+ bgm_id = Z2BGM_EVENT01;
+ bgm_wave1 = 5;
+ break;
+ case 9:
+ demo_wave = 0x5c;
+ break;
+ case 3:
+ bVar2 = true;
+ if (!dComIfGs_isSaveSwitch(0xa)) {
+ break;
+ }
+ // fallthrough
+ case 4:
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[18])
+ && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[625]))
+ {
+ bgm_wave1 = 0x55;
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[194])) {
+ bgm_id = Z2BGM_EVENT05;
+ }
+ break;
+ }
+ // fallthrough
+ default:
+ bgm_id = Z2BGM_TOAL_VILLEGE;
+ bgm_wave1 = 3;
+ time_proc_vol_mod = true;
+ break;
+ }
+ }
+ break;
+
+ case SPOT_ORDON_INTERIOR:
+ se_wave1 = 0x26;
+ switch (room) {
+ case 0:
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ bgm_wave2 = 9;
+ se_wave2 = 0x2a;
+ break;
+ case 1:
+ if (layer == 0) {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[136])) {
+ bgm_id = Z2BGM_SHOP01;
+ } else {
+ bgm_id = Z2BGM_SHOP02;
+ }
+ bgm_wave1 = 7;
+ } else if (layer == 2) {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[53])) {
+ bgm_id = Z2BGM_SHOP01;
+ bgm_wave1 = 7;
+ } else {
+ bgm_id = Z2BGM_ROOM_2;
+ bgm_wave1 = 0x35;
+ }
+ }
+ se_wave2 = 0x29;
+ break;
+ case 2:
+ if (layer == 0 || layer == 3) {
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ } else if (layer == 1) {
+ bgm_id = Z2BGM_TOAL_NIGHT;
+ bgm_wave1 = 6;
+ Z2GetSeqMgr()->changeBgmStatus(1);
+ } else if (layer == 2) {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[53])) {
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ } else {
+ bgm_id = Z2BGM_ROOM_2;
+ bgm_wave1 = 0x35;
+ }
+ }
+ se_wave2 = 0x2c;
+ break;
+ case 3:
+ case 4:
+ case 7:
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ break;
+ case 5:
+ if (layer == 0) {
+ if (dComIfGs_isSaveSwitch(0x67)) {
+ bgm_id = Z2BGM_TOAL_NIGHT;
+ bgm_wave1 = 6;
+ Z2GetSeqMgr()->changeBgmStatus(1);
+ } else {
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ }
+ } else {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[53])) {
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ } else {
+ bgm_id = Z2BGM_ROOM_2;
+ bgm_wave1 = 0x35;
+ }
+ }
+ se_wave2 = 0x2b;
+ }
+ field_0x1b = true;
+ break;
+
+ case SPOT_ORDON_SPRING:
+ se_wave1 = 0x26;
+ se_wave2 = 0x2d;
+ switch (layer) {
+ case 4:
+ field_0x1b = false;
+ bVar2 = true;
+ if (dComIfGs_isSaveSwitch(0x67)) {
+ bgm_id = Z2BGM_TOAL_NIGHT;
+ bgm_wave1 = 6;
+ Z2GetSeqMgr()->changeBgmStatus(0);
+ }
+ break;
+ case 7:
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ break;
+ case 8:
+ demo_wave = 0x65;
+ break;
+ case 10:
+ demo_wave = 0x69;
+ break;
+ case 9:
+ case 11:
+ demo_wave = 0x6a;
+ break;
+ case 12:
+ demo_wave = 0x85;
+ break;
+ case 13:
+ case 14:
+ demo_wave = 0x5c;
+ break;
+ case 3:
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[18])
+ && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[625]))
+ {
+ bgm_id = Z2BGM_EVENT05;
+ bgm_wave1 = 0x55;
+ break;
+ }
+ // fallthrough
+ default:
+ bVar2 = true;
+ break;
+ }
+ break;
+
+ case SPOT_TWILIGHT_HYRULE_CASTLE:
+ se_wave1 = 0x2e;
+ if (inDarkness) {
+ se_wave2 = 0x30;
+ if (room == 0) {
+ if (layer == 11) {
+ demo_wave = 0x66;
+ } else if (layer == 7 || layer == 10) {
+ demo_wave = 0x67;
+ } else {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[42])) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ }
+ }
+ } else if (room == 3 && (layer == 8 || layer == 12)) {
+ demo_wave = 0x68;
+ } else if ((room == 3 && layer == 10) || (room == 2 && layer == 8)) {
+ bgm_id = Z2BGM_DEMO08;
+ bgm_wave1 = 0x21;
+ demo_wave = 0x69;
+ } else {
+ if (room == 3 && layer == 14) {
+ bVar2 = true;
+ }
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ }
+ } else {
+ if (room == 3 && layer == 9) {
+ demo_wave = 0x75;
+ }
+ se_wave2 = 0x2f;
+ }
+ break;
-/* 802B9978-802B9988 2B42B8 0010+00 1/1 0/0 0/0 .text isActive__12JAIStreamMgrCFv */
-bool JAIStreamMgr::isActive() const {
- // NONMATCHING
-}
+ case SPOT_CASTLE_THRONE_ROOM:
+ if (layer == 8) {
+ demo_wave = 0x68;
+ } else if (layer == 9) {
+ demo_wave = 0x7f;
+ }
+ break;
+
+ case SPOT_CORO_SHOP:
+ se_wave1 = 0x31;
+ if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ se_wave2 = 0x33;
+ } else {
+ if (layer == 1) {
+ bgm_id = Z2BGM_EVENT05;
+ bgm_wave1 = 0x55;
+ se_wave2 = 0x32;
+ } else {
+ bgm_id = Z2BGM_FILONE_FOREST;
+ bgm_wave1 = 0xf;
+ time_proc_vol_mod = true;
+ Z2GetSeqMgr()->changeBgmStatus(1);
+ se_wave2 = 0x32;
+ }
+ }
+ break;
+
+ case SPOT_FARON_WOODS:
+ se_wave1 = 0x31;
+ if (layer == 11) {
+ demo_wave = 0x6c;
+ inDarkness = false;
+ } else if (layer == 9) {
+ demo_wave = 0x6a;
+ } else if (inDarkness) {
+ if (layer == 7) {
+ demo_wave = 0x78;
+ } else if (layer == 8) {
+ demo_wave = 0x66;
+ } else if (layer == 10) {
+ bgm_id = Z2BGM_DEMO10;
+ bgm_wave1 = 0x21;
+ demo_wave = 0x6b;
+ } else {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ }
+ se_wave2 = 0x33;
+ } else {
+ se_wave2 = 0x32;
+ switch (layer) {
+ case 4:
+ case 6:
+ case 12:
+ demo_wave = 0x7f;
+ se_wave1 = 0;
+ se_wave2 = 0;
+ break;
+ case 13:
+ demo_wave = 0x5c;
+ break;
+ case 1:
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[18])
+ && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[625]))
+ {
+ bgm_id = Z2BGM_EVENT05;
+ bgm_wave1 = 0x55;
+ }
+ break;
+ default:
+ bgm_id = Z2BGM_FILONE_FOREST;
+ bgm_wave1 = 0xf;
+ time_proc_vol_mod = true;
+ if (room == 0xe) {
+ Z2GetSeqMgr()->changeBgmStatus(1);
+ } else {
+ Z2GetSeqMgr()->changeBgmStatus(0);
+ }
+ break;
+ }
+ }
+ break;
+
+ case SPOT_KAKARIKO_VILLAGE:
+ se_wave1 = 0x34;
+ if (layer == 8) {
+ demo_wave = 0x6e;
+ inDarkness = false;
+ } else if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ se_wave2 = 0x36;
+ } else {
+ se_wave2 = 0x35;
+ switch (layer) {
+ case 6:
+ case 7:
+ demo_wave = 0x7f;
+ se_wave1 = 0;
+ se_wave2 = 0;
+ break;
+ case 9:
+ demo_wave = 0x6e;
+ break;
+ case 10:
+ demo_wave = 0x6f;
+ break;
+ case 11:
+ bVar2 = true;
+ demo_wave = 0x70;
+ break;
+ case 12:
+ demo_wave = 0x71;
+ break;
+ case 13:
+ demo_wave = 0x83;
+ bgm_wave1 = 0x2c;
+ break;
+ case 0:
+ bgm_id = Z2BGM_KAKARIKO;
+ bgm_wave1 = 0x10;
+ bgm_wave2 = 0x18;
+ demo_wave = 0x84;
+ time_proc_vol_mod = true;
+ break;
+ case 1:
+ bgm_id = Z2BGM_EVENT02;
+ bgm_wave1 = 0x1c;
+ bgm_wave2 = 0x18;
+ break;
+ case 4:
+ bVar2 = true;
+ bgm_id = Z2BGM_LUTERA2;
+ bgm_wave1 = 0x2c;
+ break;
+ default:
+ bgm_id = Z2BGM_KAKARIKO;
+ bgm_wave1 = 0x10;
+ bgm_wave2 = 0x23;
+ time_proc_vol_mod = true;
+ break;
+ }
+ }
+ break;
+
+ case SPOT_KAKARIKO_INTERIOR:
+ se_wave1 = 0x34;
+ if (inDarkness) {
+ se_wave2 = 0x36;
+ if (room == 0 && layer == 8) {
+ demo_wave = 0x6d;
+ bgm_wave1 = 0xe;
+ } else {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ if (room == 5) {
+ bgm_wave2 = 0x1c;
+ }
+ }
+ } else {
+ switch (room) {
+ case 1:
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[64])) {
+ bgm_id = Z2BGM_SHOP01;
+ } else {
+ bgm_id = Z2BGM_SHOP02;
+ }
+ bgm_wave1 = 7;
+ break;
+ case 2:
+ if (layer == 13) {
+ demo_wave = 0x83;
+ } else {
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[64])) {
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ }
+ }
+ break;
+ case 3:
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[109])) {
+ bgm_id = Z2BGM_SHOP_MARO;
+ bgm_wave1 = 0x33;
+ } else if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[85])) {
+ bgm_id = Z2BGM_SHOP01;
+ bgm_wave1 = 7;
+ } else {
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ }
+ break;
+ case 0:
+ if (layer == 9) {
+ demo_wave = 0x85;
+ } else {
+ bgm_id = Z2BGM_CHURCH1;
+ bgm_wave1 = 0x2f;
+ }
+ break;
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ se_wave2 = 0x86;
+ }
+ break;
+
+ case SPOT_SANCTUARY_BASEMENT:
+ se_wave1 = 0x34;
+ if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ se_wave2 = 0x36;
+ } else {
+ bgm_id = Z2BGM_CHURCH2;
+ bgm_wave1 = 0x30;
+ se_wave2 = 0x86;
+ Z2GetSeqMgr()->muteSceneBgm(30, 0.5f);
+ }
+ break;
+
+ case SPOT_KAKARIKO_GRAVEYARD:
+ se_wave1 = 0x34;
+ if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ se_wave2 = 0x36;
+ } else {
+ if (layer == 4) {
+ bgm_id = Z2BGM_LUTERA2;
+ bgm_wave1 = 0x2c;
+ } else {
+ bgm_id = Z2BGM_CHURCH2;
+ bgm_wave1 = 0x30;
+ Z2GetSeqMgr()->unMuteSceneBgm(30);
+ time_proc_vol_mod = true;
+ bgm_wave2 = 0x2c;
+ }
+ se_wave2 = 0x37;
+ }
+ break;
+
+ case SPOT_DEATH_MOUNTAIN:
+ se_wave1 = 0x34;
+ if (layer == 8) {
+ demo_wave = 0x7f;
+ se_wave1 = 0;
+ se_wave2 = 0;
+ } else if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ se_wave2 = 0x39;
+ } else {
+ bgm_id = Z2BGM_DEATH_MOUNTAIN01;
+ bgm_wave1 = 0x11;
+ se_wave2 = 0x38;
+ time_proc_vol_mod = true;
+ if (room == 3) {
+ height_vol_mod = true;
+ }
+ }
+ break;
+
+ case SPOT_HIDDEN_VILLAGE:
+ if (layer == 0) {
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ if (dComIfGs_isSwitch(0x2e, 0) && !dComIfGs_isSwitch(0x11, 0)) {
+ bgm_id = Z2BGM_HIDDEN_VILLAGE;
+ }
+ field_0x1b = true;
+ } else if (layer == 1) {
+ Z2GetSeqMgr()->bgmStop(33, 0);
+ }
+ bgm_wave1 = 0x31;
+ se_wave1 = 0x34;
+ se_wave2 = 0x4f;
+ break;
+
+ case SPOT_IMPAZ_HOUSE:
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ se_wave1 = 0x34;
+ se_wave2 = 0x4f;
+ field_0x1b = true;
+ break;
+
+ case SPOT_SUMO_HALL:
+ if (layer == 8) {
+ demo_wave = 0x7f;
+ se_wave1 = 0;
+ se_wave2 = 0;
+ } else {
+ bgm_id = Z2BGM_DEATH_MOUNTAIN02;
+ bgm_wave1 = 0x11;
+ se_wave1 = 0x34;
+ bgm_wave2 = 0x12;
+ se_wave2 = 0x3a;
+ }
+ break;
+
+ case SPOT_LAKE_HYLIA:
+ se_wave1 = 0x3b;
+ if (layer == 8) {
+ demo_wave = 0x72;
+ inDarkness = false;
+ } else if (room == 1 && layer == 9) {
+ demo_wave = 0x74;
+ } else if (layer == 10 || layer == 11) {
+ demo_wave = 0x7f;
+ se_wave1 = 0;
+ se_wave2 = 0;
+ } else if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ se_wave2 = 0x3d;
+ if (layer == 14) {
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 10000, 40000, 50000);
+ } else {
+ if (dComIfGs_isSaveSwitch(0xf) && !dComIfGs_isSaveSwitch(0x10)) {
+ field_0x1b = true;
+ }
+ bgm_wave2 = 0x4d;
+ }
+ } else {
+ if (room == 0) {
+ bgm_id = Z2BGM_LAKE;
+ bgm_wave1 = 0x34;
+ height_vol_mod = true;
+ time_proc_vol_mod = true;
+ }
+ se_wave2 = 0x3c;
+ }
+ break;
+
+ case SPOT_UPPER_ZORAS_RIVER:
+ se_wave1 = 0x55;
+ if (layer == 8) {
+ demo_wave = 0x7f;
+ se_wave1 = 0;
+ se_wave2 = 0;
+ } else if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ se_wave2 = 0x3f;
+ } else {
+ bgm_wave1 = 0x34;
+ se_wave2 = 0x3e;
+ height_vol_mod = true;
+ }
+ break;
-/* 802B9988-802B9994 2B42C8 000C+00 1/1 0/0 0/0 .text getID__8JAISoundCFv */
-// JAISoundID JAISound::getID() const {
-extern "C" void getID__8JAISoundCFv() {
- // NONMATCHING
-}
+ case SPOT_FISHING_POND:
+ if (layer == 8) {
+ demo_wave = 0x7f;
+ se_wave1 = 0;
+ se_wave2 = 0;
+ } else {
+ se_wave1 = 0x3b;
+ bgm_id = Z2BGM_FISHING;
+ bgm_wave1 = 0x2b;
+ se_wave2 = 0x3e;
+ height_vol_mod = true;
+ time_proc_vol_mod = true;
+ }
+ break;
+
+ case SPOT_HENA_CABIN:
+ se_wave1 = 0x3b;
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ bgm_wave2 = 0x47;
+ se_wave2 = 0x3e;
+ break;
+
+ case SPOT_ZORAS_RIVER:
+ se_wave1 = 0x55;
+ if (inDarkness) {
+ bgm_id = Z2BGM_CARGO_GAME_TW;
+ bgm_wave1 = 0x24;
+ se_wave2 = 0x41;
+ field_0x1b = true;
+ } else {
+ if (layer == 4) {
+ bgm_id = 0x200000b;
+ } else if (layer == 1) {
+ bgm_id = Z2BGM_MINIGAME_ROOM;
+ bgm_wave1 = 0x47;
+ bgm_wave2 = 0x42;
+ } else if (layer == 0 || layer == 2) {
+ bgm_wave2 = 0x57;
+ }
+ se_wave2 = 0x40;
+ }
+ break;
+
+ case SPOT_ZORAS_DOMAIN:
+ se_wave1 = 0x3b;
+ if (layer == 8 || layer == 9) {
+ demo_wave = 0x82;
+ } else if (layer == 10 || layer == 11) {
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ } else if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0x0e;
+ bgm_wave2 = 0x2c;
+ se_wave2 = 0x3f;
+ } else {
+ bgm_id = Z2BGM_ZORA_VILLAGE;
+ bgm_wave1 = 0x20;
+ se_wave2 = 0x3e;
+ height_vol_mod = true;
+ time_proc_vol_mod = true;
+ }
+ break;
+
+ case SPOT_CASTLE_TOWN:
+ se_wave1 = 0x42;
+ if (layer == 8) {
+ demo_wave = 0x68;
+ } else if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ se_wave2 = 0x44;
+ } else {
+ se_wave2 = 0x43;
+ time_proc_vol_mod = true;
+ if (room == 1 && layer == 9) {
+ demo_wave = 0x7a;
+ } else if (layer == 10) {
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ } else if (!(layer == 1 && room == 1
+ && dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[542])))
+ {
+ bgm_id = Z2BGM_CASTLE_TOWN;
+ bgm_wave1 = 0x25;
+ Z2GetSeqMgr()->changeBgmStatus(room);
+ }
+ }
+ break;
-/* 802B9994-802B999C 2B42D4 0008+00 1/1 0/0 0/0 .text getFirst__19JSUList<9JAIStream>CFv
- */
-extern "C" void func_802B9994(void* _this) /* const */ {
- // NONMATCHING
-}
+ case SPOT_CASTLE_TOWN_INTERIOR:
+ if (room == 6) {
+ se_wave1 = 0x2e;
+ se_wave2 = 0x2f;
+ } else {
+ se_wave1 = 0x42;
+ if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ se_wave2 = 0x44;
+ } else {
+ se_wave2 = 0x5b;
+ if (room == 5) {
+ if (layer == 8) {
+ demo_wave = 0x73;
+ } else if (layer == 9) {
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ } else {
+ bgm_id = Z2BGM_INDOOR_03;
+ bgm_wave1 = 8;
+ }
+ }
+ }
+ }
+ break;
+
+ case SPOT_CASTLE_TOWN_SHOPS:
+ se_wave1 = 0x42;
+ se_wave2 = 0x5b;
+ switch (room) {
+ case 0:
+ if (layer == 1) {
+ bgm_id = Z2BGM_SHOP_MARO;
+ bgm_wave1 = 0x33;
+ } else {
+ bgm_id = Z2BGM_SHOP_CELEB;
+ bgm_wave1 = 0x32;
+ }
+ break;
+ case 1:
+ bgm_id = Z2BGM_FORTUNE;
+ bgm_wave1 = 0x37;
+ Z2GetSeqMgr()->changeBgmStatus(0);
+ break;
+ case 2:
+ bgm_id = Z2BGM_INDOOR;
+ bgm_wave1 = 8;
+ break;
+ case 3:
+ bgm_id = Z2BGM_INDOOR_04;
+ bgm_wave1 = 0x56;
+ break;
+ case 4:
+ bgm_id = Z2BGM_CASTLE_TOWN;
+ bgm_wave1 = 0x25;
+ Z2GetSeqMgr()->changeBgmStatus(5);
+ break;
+ case 5:
+ bgm_id = Z2BGM_SHOP02;
+ bgm_wave1 = 7;
+ break;
+ }
+ break;
-/* 802B999C-802B99AC 2B42DC 0010+00 1/1 0/0 0/0 .text dComIfGs_getStartPoint__Fv */
-static void dComIfGs_getStartPoint() {
- // NONMATCHING
-}
+ case SPOT_STAR_TENT:
+ se_wave1 = 0x42;
+ se_wave2 = 0x87;
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[289])) {
+ bgm_id = Z2BGM_MINIGAME_ROOM;
+ }
+ bgm_wave1 = 0x46;
+ break;
+
+ case SPOT_SACRED_GROVE:
+ se_wave1 = 0x31;
+ bgm_wave2 = 0x1b;
+ se_wave2 = 0x45;
+ if (room == 3) {
+ bgm_id = Z2BGM_HOLY_FOREST;
+ bgm_wave1 = 0x2a;
+ } else if (room == 2) {
+ if (layer == 10) {
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ } else {
+ bgm_id = Z2BGM_TEMPLE_OF_TIME;
+ bgm_wave1 = 0x3e;
+ }
+ } else if (room == 1) {
+ if (layer == 0 || layer == 9) {
+ demo_wave = 0x76;
+ } else if (layer == 8 || layer == 11) {
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ } else {
+ bgm_wave2 = 0x40;
+ }
+ }
+ break;
-/* 802B99AC-802B9A24 2B42EC 0078+00 1/1 0/0 0/0 .text unMuteSceneBgm__8Z2SeqMgrFUl */
-void Z2SeqMgr::unMuteSceneBgm(u32 param_0) {
- // NONMATCHING
-}
+ case SPOT_SNOWPEAK:
+ if (layer == 8) {
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ } else {
+ bgm_id = Z2BGM_SNOW_MOUNTAIN;
+ bgm_wave1 = 0x2d;
+ bgm_wave2 = 0x3a;
+ se_wave1 = 0x46;
+ se_wave2 = 0x47;
+ }
+ height_vol_mod = true;
+ break;
+
+ case SPOT_GERUDO_DESERT:
+ se_wave1 = 0x48;
+ se_wave2 = 0x49;
+ if (layer == 8 || layer == 9 || layer == 10) {
+ demo_wave = 0x77;
+ } else if (layer == 11) {
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ } else {
+ bgm_id = Z2BGM_DESERT;
+ bgm_wave1 = 0x1f;
+ }
+ break;
-/* 802B9A24-802B9A88 2B4364 0064+00 1/1 0/0 0/0 .text muteSceneBgm__8Z2SeqMgrFUlf */
-void Z2SeqMgr::muteSceneBgm(u32 param_0, f32 param_1) {
- // NONMATCHING
-}
+ case SPOT_ARBITERS_GROUNDS_EXTERIOR:
+ if (room == 1) {
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 1000, 2000, 9000);
+ bgm_wave1 = 0x3d;
+ bgm_wave2 = 0x1c;
+ }
+ se_wave1 = 0x48;
+ se_wave2 = 0x49;
+ break;
+
+ case SPOT_MIRROR_CHAMBER:
+ switch (layer) {
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ demo_wave = 0x80;
+ break;
+ case 11:
+ case 12:
+ demo_wave = 0x78;
+ break;
+ case 13:
+ demo_wave = 0x7e;
+ break;
+ default:
+ bVar2 = true;
+ bgm_id = Z2BGM_DESERT;
+ bgm_wave1 = 0x1f;
+ break;
+ }
+ se_wave1 = 0x48;
+ se_wave2 = 0x49;
+ break;
+
+ case SPOT_HYRULE_FIELD:
+ se_wave1 = 0x4a;
+ if (room == 10 && layer == 11) {
+ demo_wave = 0x74;
+ fVar1 = 0.7f;
+ } else if (layer == 9 || layer == 10) {
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ } else if (layer == 2 || layer == 3) {
+ bgm_id = Z2BGM_HORSE_BATTLE;
+ bgm_wave1 = 0xd;
+ se_wave1 = 0x54;
+ se_wave2 = 0x4e;
+ field_0x1b = true;
+ fVar1 = 1.0f;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ } else if (inDarkness) {
+ if (layer == 12) {
+ demo_wave = 0x6a;
+ } else {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ }
+ se_wave2 = 0x4c;
+ if (room == 13 && layer == 14) {
+ bgm_wave2 = 0x1c;
+ }
+ } else {
+ field_bgm_play = true;
+ if (Z2GetStatusMgr()->checkDayTime()) {
+ bgm_id = Z2BGM_FIELD_LINK_DAY;
+ } else {
+ bgm_id = Z2BGM_FIELD_LINK_NIGHT;
+ }
+ bgm_wave1 = 0x19;
+ switch (room) {
+ case 2:
+ case 3:
+ case 4:
+ se_wave2 = 0x5e;
+ break;
+ case 0:
+ case 5:
+ case 7:
+ se_wave2 = 0x5f;
+ break;
+ case 9:
+ case 10:
+ case 11:
+ se_wave2 = 0x60;
+ break;
+ case 12:
+ case 13:
+ case 14:
+ se_wave2 = 0x61;
+ break;
+ case 1:
+ case 6:
+ case 15:
+ se_wave2 = 0x4b;
+ break;
+ }
+ switch (room) {
+ case 0:
+ case 3:
+ case 6:
+ case 10:
+ case 13:
+ fVar1 = 1.0f;
+ break;
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ case 14:
+ case 15:
+ fVar1 = 0.7f;
+ break;
+ case 7:
+ case 9:
+ case 11:
+ case 12:
+ fVar1 = 0.8f;
+ break;
+ }
+ }
+ break;
+
+ case SPOT_CASTLE_TOWN_GATES:
+ se_wave1 = 0x4a;
+ if (layer == 8) {
+ demo_wave = 0x73;
+ fVar1 = 1.0f;
+ } else if (layer == 9) {
+ demo_wave = 0x75;
+ fVar1 = 0.5f;
+ } else if (layer == 10) {
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ } else if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ se_wave2 = 0x4c;
+ } else {
+ if (room == 8) {
+ se_wave2 = 0x62;
+ fVar1 = 0.8f;
+ } else if (room == 16) {
+ se_wave2 = 0x88;
+ fVar1 = 0.8f;
+ } else if (room == 17) {
+ se_wave2 = 0x89;
+ fVar1 = 1.0f;
+ }
+ field_bgm_play = true;
+ if (Z2GetStatusMgr()->checkDayTime()) {
+ bgm_id = Z2BGM_FIELD_LINK_DAY;
+ } else {
+ bgm_id = Z2BGM_FIELD_LINK_NIGHT;
+ }
+ bgm_wave1 = 0x19;
+ }
+ break;
+
+ case SPOT_HYLIA_BRIDGE_BATTLE:
+ se_wave1 = 0x54;
+ bgm_wave1 = 0x3d;
+ se_wave2 = 0x4e;
+ fVar1 = 1.0f;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_ELDIN_BRIDGE_BATTLE:
+ se_wave1 = 0x4a;
+ if (layer == 11) {
+ se_wave1 = 0;
+ se_wave2 = 0;
+ demo_wave = 0x7f;
+ } else if (layer == 10) {
+ bgm_wave1 = 0x59;
+ } else if (layer != 8 && layer != 9) {
+ if (layer == 0) {
+ bgm_wave1 = 13;
+ } else if (layer == 4) {
+ bgm_wave1 = 0x3d;
+ }
+ fVar1 = 1.0f;
+ se_wave2 = 0x4d;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ }
+ break;
+
+ case SPOT_SHADES_REALM:
+ se_wave1 = 0x4a;
+ if (dComIfGs_getStartPoint() == 2) {
+ bgm_wave2 = 0x50;
+ } else if (dComIfGs_getStartPoint() == 3) {
+ bgm_wave2 = 0x4f;
+ } else if (dComIfGs_getStartPoint() == 4) {
+ bgm_wave2 = 0x3b;
+ } else if (dComIfGs_getStartPoint() == 5) {
+ bgm_wave2 = 0x51;
+ } else if (dComIfGs_getStartPoint() == 6) {
+ bgm_wave2 = 0x52;
+ } else if (dComIfGs_getStartPoint() == 7) {
+ bgm_wave2 = 0x53;
+ } else {
+ bgm_wave1 = 0x44;
+ }
+ se_wave2 = 0x5d;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_FOREST_TEMPLE:
+ bgm_id = Z2BGM_DUNGEON_FOREST;
+ bgm_wave1 = 0xa;
+ bgm_wave2 = 0x40;
+ se_wave1 = 1;
+ se_wave2 = 2;
+ Z2GetSeqMgr()->changeBgmStatus(room);
+ break;
+
+ case SPOT_FOREST_TEMPLE_MINIBOSS:
+ bgm_id = Z2BGM_DUNGEON_FOREST;
+ bgm_wave1 = 0xa;
+ bgm_wave2 = 0xb;
+ se_wave1 = 1;
+ se_wave2 = 3;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ Z2GetSeqMgr()->unMuteSceneBgm(struct_80450860);
+ break;
+
+ case SPOT_FOREST_TEMPLE_BOSS:
+ se_wave1 = 1;
+ if (dComIfGs_isStageSwitch(2, 1)) {
+ bgm_id = Z2BGM_DUNGEON_FOREST;
+ bgm_wave1 = 0xa;
+ } else if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[55])) {
+ bgm_id = 0x200005b;
+ } else {
+ bgm_wave1 = 0xc;
+ se_wave2 = 4;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ }
+ Z2GetSeqMgr()->unMuteSceneBgm(struct_80450860);
+ break;
+
+ case SPOT_GORON_MINES:
+ bgm_id = Z2BGM_DUNGEON_LV2;
+ bgm_wave1 = 0x13;
+ bgm_wave2 = 0x3c;
+ Z2GetSeqMgr()->changeBgmStatus(room);
+ se_wave1 = 5;
+ se_wave2 = 6;
+ break;
+
+ case SPOT_GORON_MINES_MINIBOSS:
+ bgm_id = Z2BGM_DUNGEON_LV2;
+ bgm_wave1 = 0x13;
+ se_wave1 = 5;
+ se_wave2 = 7;
+ bgm_wave2 = 0x14;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_GORON_MINES_BOSS:
+ se_wave1 = 5;
+ if (dComIfGs_isStageSwitch(3, 0x7c)) {
+ bgm_id = Z2BGM_DUNGEON_LV2;
+ bgm_wave1 = 0x13;
+ } else if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[64])) {
+ bgm_id = 0x200005b;
+ } else {
+ bgm_wave1 = 0x16;
+ se_wave2 = 8;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ }
+ break;
+
+ case SPOT_LAKEBED_TEMPLE:
+ bgm_id = Z2BGM_DUNGEON_LV3;
+ bgm_wave1 = 0x15;
+ bgm_wave2 = 0x40;
+ se_wave1 = 9;
+ se_wave2 = 0xa;
+ break;
+
+ case SPOT_LAKEBED_TEMPLE_MINIBOSS:
+ bgm_id = Z2BGM_DUNGEON_LV3;
+ bgm_wave1 = 0x15;
+ bgm_wave2 = 0x17;
+ se_wave1 = 9;
+ se_wave2 = 0xb;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_LAKEBED_TEMPLE_BOSS:
+ se_wave1 = 9;
+ if (dComIfGs_isStageSwitch(4, 0xe)) {
+ bgm_id = Z2BGM_DUNGEON_LV3;
+ bgm_wave1 = 0x15;
+ } else if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[78])) {
+ bgm_id = 0x200005b;
+ } else {
+ bgm_wave1 = 0x1e;
+ se_wave2 = 0xc;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ }
+ break;
+
+ case SPOT_ARBITERS_GROUNDS:
+ bgm_id = Z2BGM_DUNGEON_LV4;
+ bgm_wave1 = 0x1a;
+ bgm_wave2 = 0x41;
+ se_wave1 = 0xd;
+ se_wave2 = 0xe;
+ if (room == 1) {
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ }
+ break;
+
+ case SPOT_ARBITERS_GROUNDS_MINIBOSS:
+ bgm_id = Z2BGM_DUNGEON_LV4;
+ bgm_wave1 = 0x1a;
+ bgm_wave2 = 0x22;
+ se_wave1 = 0xd;
+ se_wave2 = 0xf;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_ARBITERS_GROUNDS_BOSS:
+ se_wave1 = 0xd;
+ if (dComIfGs_isStageSwitch(0xa, 0xa)) {
+ bgm_id = Z2BGM_DUNGEON_LV4;
+ bgm_wave1 = 0x1a;
+ } else if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[265])) {
+ bgm_id = 0x200005b;
+ } else {
+ bgm_wave1 = 0x4c;
+ se_wave2 = 0x10;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ }
+ break;
+
+ case SPOT_SNOWPEAK_RUINS:
+ bgm_id = Z2BGM_DUNGEON_LV5;
+ bgm_wave1 = 0x1d;
+ bgm_wave2 = 0x40;
+ se_wave1 = 0x11;
+ se_wave2 = 0x12;
+ Z2GetSeqMgr()->changeBgmStatus(room);
+ break;
+
+ case SPOT_SNOWPEAK_RUINS_MINIBOSS:
+ bgm_id = Z2BGM_DUNGEON_LV5;
+ bgm_wave1 = 0x1d;
+ bgm_wave2 = 0x38;
+ se_wave1 = 0x11;
+ se_wave2 = 0x13;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ Z2GetSeqMgr()->changeBgmStatus(room);
+ break;
+
+ case SPOT_SNOWPEAK_RUINS_BOSS:
+ Z2GetSeqMgr()->unMuteSceneBgm(60);
+ se_wave1 = 0x11;
+ if (dComIfGs_isStageSwitch(8, 0x19)) {
+ bgm_id = Z2BGM_DUNGEON_LV5;
+ bgm_wave1 = 0x1d;
+ } else if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[266])) {
+ bgm_id = 0x200005b;
+ } else {
+ bgm_wave1 = 0x2e;
+ se_wave2 = 0x14;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ }
+ break;
+
+ case SPOT_TEMPLE_OF_TIME:
+ bgm_id = Z2BGM_DUNGEON_LV6;
+ bgm_wave1 = 0x26;
+ bgm_wave2 = 0x40;
+ se_wave1 = 0x15;
+ se_wave2 = 0x16;
+ break;
+
+ case SPOT_TEMPLE_OF_TIME_MINIBOSS:
+ bgm_id = Z2BGM_DUNGEON_LV6;
+ bgm_wave1 = 0x26;
+ bgm_wave2 = 0x3f;
+ se_wave1 = 0x15;
+ se_wave2 = 0x17;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_TEMPLE_OF_TIME_BOSS:
+ se_wave1 = 0x15;
+ if (dComIfGs_isStageSwitch(7, 0x18)) {
+ bgm_id = Z2BGM_DUNGEON_LV6;
+ bgm_wave1 = 0x26;
+ } else if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[267])) {
+ bgm_id = 0x200005b;
+ } else {
+ bgm_wave1 = 0x4e;
+ se_wave2 = 0x18;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ }
+ break;
-/* 802B9A88-802B9A94 2B43C8 000C+00 1/1 0/0 0/0 .text __as__10JAISoundIDFRC10JAISoundID
- */
-extern "C" void __as__10JAISoundIDFRC10JAISoundID(JAISoundID* this_, JAISoundID const& param_0) {
- // NONMATCHING
-}
+ case SPOT_CITY_IN_THE_SKY:
+ if (room == 16) {
+ bgm_id = Z2BGM_OBACHAN;
+ bgm_wave1 = 0x40;
+ } else {
+ bgm_id = Z2BGM_DUNGEON_LV7;
+ bgm_wave1 = 0x27;
+ }
+ se_wave1 = 0x19;
+ se_wave2 = 0x1a;
+ break;
+
+ case SPOT_CITY_IN_THE_SKY_MINIBOSS:
+ bgm_id = Z2BGM_DUNGEON_LV7;
+ bgm_wave1 = 0x27;
+ bgm_wave2 = 0x43;
+ se_wave1 = 0x19;
+ se_wave2 = 0x1b;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_CITY_IN_THE_SKY_BOSS:
+ se_wave1 = 0x19;
+ if (dComIfGs_isStageSwitch(0x16, 0x25)) {
+ bgm_id = Z2BGM_DUNGEON_LV7;
+ bgm_wave1 = 0x27;
+ } else if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[268])) {
+ bgm_id = 0x200005b;
+ } else {
+ bgm_wave1 = 0x1e;
+ se_wave2 = 0x1c;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ }
+ break;
+
+ case SPOT_PALACE_OF_TWILIGHT:
+ if (layer == 8) {
+ if (room == 0 || room == 9) {
+ demo_wave = 0x77;
+ } else if (room == 11) {
+ demo_wave = 0x81;
+ }
+ } else if (layer == 9) {
+ demo_wave = 0x78;
+ } else {
+ bVar2 = true;
+ bgm_id = Z2BGM_DUNGEON_LV8;
+ bgm_wave1 = 0x28;
+ Z2GetSeqMgr()->changeBgmStatus(room);
+ }
+ se_wave1 = 0x1d;
+ se_wave2 = 0x1e;
+ break;
+
+ case SPOT_PALACE_OF_TWILIGHT_MINIBOSS_A:
+ case SPOT_PALACE_OF_TWILIGHT_MINIBOSS_B:
+ bgm_id = Z2BGM_DUNGEON_LV8;
+ bgm_wave1 = 0x28;
+ bgm_wave2 = 0x48;
+ se_wave1 = 0x1d;
+ se_wave2 = 0x1f;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_PALACE_OF_TWILIGHT_THRONE_ROOM:
+ if (layer == 8) {
+ demo_wave = 0x81;
+ } else if (layer == 9) {
+ demo_wave = 0x79;
+ } else if (dComIfGs_isStageSwitch(0x17, 0x16)) {
+ bgm_id = Z2BGM_DUNGEON_LV8;
+ bgm_wave1 = 0x28;
+ } else if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[570])) {
+ bgm_id = 0x200005b;
+ JSUList<JAIStream>* stream_list = Z2GetSoundMgr()->getStreamMgr()->getStreamList();
+ JSULink<JAIStream>* stream;
+ for (stream = stream_list->getFirst(); stream != NULL; stream = stream->getNext()) {
+ if (stream->getObject()->getID() == 0x2000046) {
+ bgm_id = -1;
+ }
+ }
+ }
+ break;
+
+ case SPOT_PALACE_OF_TWILIGHT_BOSS:
+ se_wave1 = 0x1d;
+ bgm_wave1 = 0x39;
+ se_wave2 = 0x20;
+ if (room == 50) {
+ inDarkness = true;
+ }
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_HYRULE_CASTLE:
+ if (room >= 1 && room <= 6) {
+ bgm_id = 0x2000040;
+ bgm_wave2 = 0x58;
+ } else if (room == 8 || room == 12) {
+ bgm_id = Z2BGM_DUNGEON_LV9_02;
+ bgm_wave1 = 0x29;
+ height_vol_mod = true;
+ } else {
+ Z2GetSeqMgr()->bgmStop(45, 0);
+ bgm_wave2 = 0x3d;
+ }
+ se_wave1 = 0x21;
+ se_wave2 = 0x22;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_FINAL_BATTLE_THRONE_ROOM:
+ if (room == 50) {
+ if (layer == 8) {
+ demo_wave = 0x7b;
+ } else if (layer == 0) {
+ bgm_wave1 = 0x49;
+ se_wave2 = 0x23;
+ } else if (layer == 10) {
+ demo_wave = 0x7b;
+ } else if (layer == 1) {
+ bgm_wave1 = 0x4a;
+ se_wave2 = 0x24;
+ } else if (layer == 9) {
+ demo_wave = 0x7c;
+ }
+ }
+ se_wave1 = 0x56;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_FINAL_BATTLE_FIELD:
+ bgm_wave1 = 0x4b;
+ se_wave2 = 0x63;
+ se_wave1 = 0x8c;
+ field_0x1b = true;
+ Z2GetSoundObjMgr()->setForceBattleArea(true, 700, 1100, 1500);
+ break;
+
+ case SPOT_FINAL_BATTLE_CUTSCENE:
+ if (layer == 8) {
+ demo_wave = 0x7c;
+ fVar1 = 0.1f;
+ } else if (layer == 10) {
+ demo_wave = 0x7d;
+ } else if (layer == 9) {
+ demo_wave = 0x7e;
+ fVar1 = 0.08f;
+ } else if (layer == 11) {
+ demo_wave = 0x7f;
+ }
+ break;
-/* 802B9A94-802B9AC4 2B43D4 0030+00 1/1 0/0 0/0 .text dComIfGs_isSaveSwitch__Fi */
-static void dComIfGs_isSaveSwitch(int param_0) {
- // NONMATCHING
-}
+ case SPOT_LIGHT_SPIRIT_CHAMBER:
+ demo_wave = 0x7c;
+ break;
-/* 802B9AC4-802B9AD0 2B4404 000C+00 1/1 0/0 0/0 .text resetCrowdSize__7Z2SeMgrFv */
-void Z2SeMgr::resetCrowdSize() {
- // NONMATCHING
-}
+ case SPOT_CAVE_OF_ORDEALS:
+ se_wave2 = 0x51;
+ if (room != 49 || layer < 5 || layer > 8) {
+ bgm_id = Z2BGM_SUB_DUNGEON;
+ bgm_wave1 = 0x45;
+ }
+ break;
+
+ case SPOT_ICE_BLOCK_PUZZLE:
+ se_wave1 = 0x11;
+ se_wave2 = 0x12;
+ bgm_id = Z2BGM_SUB_DUNGEON;
+ bgm_wave1 = 0x45;
+ break;
+
+ case SPOT_GORGE_LANTERN_CAVE:
+ case SPOT_LAKE_LANTERN_CAVE:
+ se_wave2 = 0x52;
+ bgm_id = Z2BGM_SUB_DUNGEON;
+ bgm_wave1 = 0x45;
+ break;
+
+ case SPOT_ELDIN_MAGNET_CAVE:
+ se_wave1 = 5;
+ se_wave2 = 6;
+ bgm_id = Z2BGM_SUB_DUNGEON;
+ bgm_wave1 = 0x45;
+ break;
+
+ case SPOT_GROTTO_GRASS_1:
+ case SPOT_GROTTO_GRASS_2:
+ case SPOT_GROTTO_ROCK_1:
+ case SPOT_GROTTO_ROCK_2:
+ case SPOT_GROTTO_POND:
+ se_wave2 = 0x50;
+ bgm_id = Z2BGM_SUB_DUNGEON;
+ bgm_wave1 = 0x45;
+ break;
+
+ case SPOT_FARON_WOODS_CAVE:
+ se_wave2 = 0x53;
+ if (inDarkness) {
+ bgm_id = Z2BGM_TWILIGHT;
+ bgm_wave1 = 0xe;
+ } else {
+ bgm_id = Z2BGM_SUB_DUNGEON;
+ bgm_wave1 = 0x45;
+ }
+ break;
+ }
-/* 802B9AD0-802B9AFC 2B4410 002C+00 1/1 0/0 0/0 .text setTwilightGateVol__8Z2SeqMgrFf */
-void Z2SeqMgr::setTwilightGateVol(f32 param_0) {
- // NONMATCHING
-}
+ if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[104])
+ && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[250])
+ && demo_wave == 0 && spot != SPOT_ELDIN_BRIDGE_BATTLE)
+ {
+ bgm_wave1 = 0x36;
+ if (spot == SPOT_CASTLE_TOWN_SHOPS && room == 5) {
+ bgm_id = -1;
+ } else {
+ bgm_id = Z2BGM_MIDNA_SOS;
+ if ((spot == SPOT_CASTLE_TOWN_INTERIOR && room == 5)
+ || spot == SPOT_CASTLE_TOWN_SHOPS || spot == SPOT_STAR_TENT)
+ {
+ Z2GetSeqMgr()->muteSceneBgm(33, 0.5f);
+ } else {
+ Z2GetSeqMgr()->unMuteSceneBgm(33);
+ }
+ }
+ time_proc_vol_mod = false;
+ } else if (sceneNum == SPOT_CASTLE_TOWN_SHOPS && roomNum == 1
+ && !(spot == SPOT_CASTLE_TOWN && room == 3))
+ {
+ bgm_id = Z2BGM_FORTUNE;
+ bgm_wave1 = 0x37;
+ Z2GetSeqMgr()->changeBgmStatus(1);
+ time_proc_vol_mod = false;
+ }
-/* 802B9AFC-802B9B60 2B443C 0064+00 1/1 0/0 0/0 .text setWindStoneVol__8Z2SeqMgrFfUl */
-void Z2SeqMgr::setWindStoneVol(f32 param_0, u32 param_1) {
- // NONMATCHING
-}
+ if (Z2GetSoundMgr()->getStreamMgr()->isActive()) {
+ JAUSoundTable* sound_table = JAUSoundTable::getInstance();
+ JSUList<JAIStream>* stream_list = Z2GetSoundMgr()->getStreamMgr()->getStreamList();
+ JSULink<JAIStream>* stream;
+ for (stream = stream_list->getFirst(); stream != NULL; stream = stream->getNext()) {
+ if (bVar2 || sound_table->getTypeID(stream->getObject()->getID()) != 0x71) {
+ stream->getObject()->stop(struct_80450860);
+ }
+ }
+ }
-/* 802B9B60-802B9B68 -00001 0008+00 0/0 0/0 0/0 .text __ct__10JAISoundIDFUl */
-// JAISoundID::JAISoundID(u32 id) {
-extern "C" void __ct__10JAISoundIDFUl(void* param_0, u32 param_1) {
- *(u32*)param_0 = (u32)(param_1);
+ Z2GetSeqMgr()->setHeightVolMod(height_vol_mod, 30);
+ Z2GetSeqMgr()->setTimeProcVolMod(time_proc_vol_mod, 0);
+ Z2GetSeqMgr()->setFieldBgmPlay(field_bgm_play);
+ Z2GetEnvSeMgr()->initSceneEnvSe(spot, room, fVar1);
+
+ if (sceneNum != spot || bgm_id != BGM_ID || se_wave1 != loadedSeWave_1
+ || se_wave2 != loadedSeWave_2 || bgm_wave1 != loadedBgmWave_1
+ || bgm_wave2 != loadedBgmWave_2 || demo_wave != loadedDemoWave)
+ {
+ sceneNum = spot;
+ sceneChange(bgm_id, se_wave1, se_wave2, bgm_wave1, bgm_wave2, demo_wave, false);
+ }
+ roomNum = room;
}
/* 802B9B68-802B9C50 2B44A8 00E8+00 1/1 0/0 0/0 .text
* sceneChange__10Z2SceneMgrF10JAISoundIDUcUcUcUcUcb */
-void Z2SceneMgr::sceneChange(JAISoundID param_0, u8 param_1, u8 param_2, u8 param_3, u8 param_4,
- u8 param_5, bool param_6) {
- // NONMATCHING
+void Z2SceneMgr::sceneChange(JAISoundID bgm, u8 seWave1, u8 seWave2, u8 bgmWave1, u8 bgmWave2,
+ u8 demoWave, bool param_6) {
+ if (bgm != BGM_ID) {
+ if (Z2GetSeqMgr()->getMainBgmID() == bgm) {
+ field_0x1a = false;
+ } else {
+ field_0x1a = true;
+ }
+ } else {
+ if (Z2GetSeqMgr()->getMainBgmID() == bgm) {
+ if (param_6) {
+ field_0x1a = true;
+ } else {
+ field_0x1a = false;
+ }
+ } else {
+ field_0x1a = true;
+ }
+ }
+
+ requestSeWave_1 = seWave1;
+ requestSeWave_2 = seWave2;
+ requestBgmWave_1 = bgmWave1;
+ requestBgmWave_2 = bgmWave2;
+ requestDemoWave = demoWave;
+ BGM_ID = bgm;
+ Z2GetFxLineMgr()->setSceneFx(sceneNum);
}
/* 802B9C50-802B9D40 2B4590 00F0+00 0/0 1/1 0/0 .text framework__10Z2SceneMgrFv */
void Z2SceneMgr::framework() {
- // NONMATCHING
+ if (load1stWait > 0) {
+ load1stWait--;
+ if (load1stWait == 0 && timer == 0) {
+ _load1stWaveInner_1();
+ }
+ } else if (load1stWait < 0) {
+ load1stWait++;
+ if (load1stWait == 0 && field_0x1a) {
+ _load1stWaveInner_2();
+ }
+ }
+
+ if (isSceneExist()) {
+ if (timer < 10000) {
+ timer++;
+ }
+ if (!field_0x1b && Z2GetStatusMgr()->getDemoStatus() != 3 && timer == struct_80450863) {
+ Z2GetSeqMgr()->setBattleBgmOff(false);
+ }
+ } else {
+ Z2GetSeqMgr()->setBattleBgmOff(true);
+ }
}
/* 802B9D40-802B9D98 2B4680 0058+00 0/0 1/1 0/0 .text load1stDynamicWave__10Z2SceneMgrFv
*/
void Z2SceneMgr::load1stDynamicWave() {
- // NONMATCHING
+ timer = 0;
+ Z2GetSoundObjMgr()->deleteEnemyAll();
+ setSceneExist(false);
+ if (load1stWait == 0) {
+ _load1stWaveInner_1();
+ }
}
/* 802B9D98-802B9FC8 2B46D8 0230+00 2/2 0/0 0/0 .text _load1stWaveInner_1__10Z2SceneMgrFv
*/
void Z2SceneMgr::_load1stWaveInner_1() {
- // NONMATCHING
+ Z2GetSeMgr()->seStopAll(0);
+ Z2GetEnvSeMgr()->resetSceneInner();
+ field_0x18 = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[104]) ? 0x59 : 0x58;
+
+ if (loadedSeWave_2 != 0 && requestSeWave_2 != loadedSeWave_2) {
+ eraseSeWave(loadedSeWave_2);
+ loadedSeWave_2 = 0;
+ }
+
+ if (loadedDemoWave != 0 && requestDemoWave != loadedDemoWave) {
+ if (loadedSeWave_2 != 0 && eraseSeWave(loadedSeWave_2)) {
+ loadedSeWave_2 = 0;
+ }
+ eraseSeWave(loadedDemoWave);
+ loadedDemoWave = 0;
+ }
+
+ if (field_0x18 != field_0x19 || requestSeWave_1 != loadedSeWave_1) {
+ if (loadedSeWave_2 != 0 && eraseSeWave(loadedSeWave_2)) {
+ loadedSeWave_2 = 0;
+ }
+ if (loadedDemoWave != 0 && eraseSeWave(loadedDemoWave)) {
+ loadedDemoWave = 0;
+ }
+ if (loadedSeWave_1 != 0 && eraseSeWave(loadedSeWave_1)) {
+ loadedSeWave_1 = 0;
+ }
+ if (field_0x18 != field_0x19 && eraseSeWave(field_0x19) && loadSeWave(field_0x18)) {
+ field_0x19 = field_0x18;
+ }
+ if (requestSeWave_1 != 0 && loadSeWave(requestSeWave_1)) {
+ loadedSeWave_1 = requestSeWave_1;
+ } else {
+ loadedSeWave_1 = 0;
+ }
+ }
+
+ if (field_0x1a && Z2GetSeqMgr()->checkBgmPlaying()) {
+ Z2GetSeqMgr()->bgmStop(0xf, 0);
+ load1stWait = -15;
+ } else {
+ _load1stWaveInner_2();
+ }
}
/* 802B9FC8-802BA09C 2B4908 00D4+00 2/2 0/0 0/0 .text _load1stWaveInner_2__10Z2SceneMgrFv
*/
void Z2SceneMgr::_load1stWaveInner_2() {
- // NONMATCHING
+ if (loadedBgmWave_2 != 0 && requestBgmWave_2 != loadedBgmWave_2) {
+ eraseBgmWave(loadedBgmWave_2);
+ loadedBgmWave_2 = 0;
+ }
+
+ if (requestBgmWave_1 != loadedBgmWave_1) {
+ if (loadedBgmWave_2 != 0 && eraseBgmWave(loadedBgmWave_2)) {
+ loadedBgmWave_2 = 0;
+ }
+ if (loadedBgmWave_1 != 0 && eraseBgmWave(loadedBgmWave_1)) {
+ loadedBgmWave_1 = 0;
+ }
+ if (requestBgmWave_1 != 0 && loadBgmWave(requestBgmWave_1)) {
+ loadedBgmWave_1 = requestBgmWave_1;
+ } else {
+ loadedBgmWave_1 = 0;
+ }
+ }
}
/* 802BA09C-802BA120 2B49DC 0084+00 0/0 1/1 0/0 .text check1stDynamicWave__10Z2SceneMgrFv
*/
bool Z2SceneMgr::check1stDynamicWave() {
- // NONMATCHING
+ return load1stWait != 0 || getSeLoadStatus(requestSeWave_1) == 1
+ || getBgmLoadStatus(requestBgmWave_1) == 1;
}
/* 802BA120-802BA294 2B4A60 0174+00 0/0 2/2 0/0 .text load2ndDynamicWave__10Z2SceneMgrFv
*/
void Z2SceneMgr::load2ndDynamicWave() {
- // NONMATCHING
-}
+ if (requestDemoWave != loadedDemoWave) {
+ if (loadedSeWave_2 != 0 && eraseSeWave(loadedSeWave_2)) {
+ loadedSeWave_2 = 0;
+ }
+ if (loadedDemoWave != 0 && eraseSeWave(loadedDemoWave)) {
+ loadedDemoWave = 0;
+ }
+ if (requestDemoWave != 0 && requestDemoWave != 0x7f && loadSeWave(requestDemoWave)) {
+ loadedDemoWave = requestDemoWave;
+ } else {
+ loadedDemoWave = 0;
+ }
+ }
-/* ############################################################################################## */
-/* 803CA9BC-803CAB18 -00001 015C+00 1/1 0/0 0/0 .data @5852 */
-SECTION_DATA static void* lit_5852[87] = {
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x150),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x150),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x204),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x23C),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x150),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x180),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x150),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x150),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x150),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x180),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x180),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x150),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x180),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x190),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x2A0),
- (void*)(((char*)sceneBgmStart__10Z2SceneMgrFv) + 0x1B8),
-};
+ if (requestSeWave_2 != loadedSeWave_2) {
+ if (loadedSeWave_2 != 0 && eraseSeWave(loadedSeWave_2)) {
+ loadedSeWave_2 = 0;
+ }
+ if (requestSeWave_2 != 0 && loadSeWave(requestSeWave_2)) {
+ loadedSeWave_2 = requestSeWave_2;
+ } else {
+ loadedSeWave_2 = 0;
+ }
+ }
+
+ if (requestBgmWave_2 != loadedBgmWave_2) {
+ if (loadedBgmWave_2 != 0 && eraseBgmWave(loadedBgmWave_2)) {
+ loadedBgmWave_2 = 0;
+ }
+ if (requestBgmWave_2 != 0 && loadBgmWave(requestBgmWave_2)) {
+ loadedBgmWave_2 = requestBgmWave_2;
+ } else {
+ loadedBgmWave_2 = 0;
+ }
+ }
+}
/* 802BA294-802BA56C 2B4BD4 02D8+00 1/0 2/2 0/0 .text sceneBgmStart__10Z2SceneMgrFv */
+// NONMATCHING regalloc
void Z2SceneMgr::sceneBgmStart() {
- // NONMATCHING
+ inGame = true;
+ setSceneExist(true);
+ Z2GetStatusMgr()->setPauseFlag(0);
+
+ if (!field_0x1a && Z2GetSeqMgr()->checkBgmIDPlaying(BGM_ID)) {
+ return;
+ }
+
+ if (!BGM_ID.isAnonymous() && Z2GetStatusMgr()->getDemoStatus() != 11) {
+ bool var;
+ switch (BGM_ID.mId.mBytes.b0) {
+ case 1:
+ var = false;
+ switch (Z2GetSeqMgr()->getSubBgmID()) {
+ case Z2BGM_BATTLE_NORMAL:
+ case Z2BGM_BOOMERAMG_MONKEY:
+ case Z2BGM_SUMOMO:
+ var = true;
+ break;
+ }
+ Z2GetSeqMgr()->bgmStart(BGM_ID, 0, var);
+ Z2GetSeqMgr()->unMuteSceneBgm(0);
+
+ switch (BGM_ID) {
+ case Z2BGM_DUNGEON_FOREST:
+ case Z2BGM_DUNGEON_LV2:
+ case Z2BGM_DUNGEON_LV5:
+ case Z2BGM_CASTLE_TOWN:
+ case Z2BGM_DUNGEON_LV8:
+ case Z2BGM_DUNGEON_LV9_02:
+ case Z2BGM_SNOW_MOUNTAIN:
+ if (sceneNum == SPOT_CASTLE_TOWN_SHOPS) {
+ Z2GetSeqMgr()->changeBgmStatus(5);
+ } else {
+ Z2GetSeqMgr()->changeBgmStatus(roomNum);
+ }
+ break;
+ case Z2BGM_HOLY_FOREST:
+ case Z2BGM_LUTERA2:
+ case Z2BGM_DEMO08:
+ case Z2BGM_DEMO10:
+ Z2GetSeqMgr()->changeBgmStatus(0);
+ break;
+ case Z2BGM_CHURCH2:
+ if (sceneNum == SPOT_SANCTUARY_BASEMENT) {
+ Z2GetSeqMgr()->muteSceneBgm(0, 0.5f);
+ }
+ break;
+ case Z2BGM_MIDNA_SOS:
+ if ((sceneNum == SPOT_CASTLE_TOWN_INTERIOR && roomNum == 5)
+ || sceneNum == SPOT_CASTLE_TOWN_SHOPS || sceneNum == SPOT_STAR_TENT)
+ {
+ Z2GetSeqMgr()->muteSceneBgm(0, 0.5f);
+ }
+ break;
+ case Z2BGM_TOAL_NIGHT:
+ if (sceneNum == SPOT_ORDON_INTERIOR && roomNum == 2) {
+ Z2GetSeqMgr()->changeBgmStatus(2);
+ } else {
+ Z2GetSeqMgr()->changeBgmStatus(0);
+ }
+ break;
+ case Z2BGM_FILONE_FOREST:
+ if (sceneNum == SPOT_CORO_SHOP
+ || (sceneNum == SPOT_FARON_WOODS && roomNum == 14))
+ {
+ Z2GetSeqMgr()->changeBgmStatus(2);
+ } else {
+ Z2GetSeqMgr()->changeBgmStatus(0);
+ }
+ break;
+ }
+ break;
+
+ case 2:
+ if (!Z2GetSeqMgr()->bgmStreamCheckReady()) {
+ Z2GetSeqMgr()->bgmStreamPrepare(BGM_ID);
+ }
+ Z2GetSeqMgr()->bgmStreamPlay();
+ break;
+ }
+ }
+
+ Z2GetSeqMgr()->bgmAllUnMute(0);
+ field_0x1a = false;
}
/* 802BA56C-802BA5C0 2B4EAC 0054+00 0/0 1/1 0/0 .text loadStaticWaves__10Z2SceneMgrFv */
void Z2SceneMgr::loadStaticWaves() {
- // NONMATCHING
+ loadSeWave(0);
+ loadBgmWave(0);
+ loadSeWave(0x58);
+ field_0x18 = 0x58;
+ field_0x19 = 0x58;
}
/* 802BA5C0-802BA5C8 2B4F00 0008+00 0/0 1/1 0/0 .text checkFirstWaves__10Z2SceneMgrFv */
@@ -913,28 +2058,63 @@ BOOL Z2SceneMgr::checkFirstWaves() {
}
/* 802BA5C8-802BA630 2B4F08 0068+00 2/2 0/0 0/0 .text eraseSeWave__10Z2SceneMgrFUl */
-void Z2SceneMgr::eraseSeWave(u32 param_0) {
- // NONMATCHING
+bool Z2SceneMgr::eraseSeWave(u32 wave) {
+ JASWaveBank* wave_bank = JAUSectionHeap::getInstance()->getWaveBankTable().getWaveBank(0);
+ if (wave_bank != NULL) {
+ JASWaveArc* wave_arc = wave_bank->getWaveArc(wave);
+ if (wave_arc != NULL) {
+ return wave_arc->erase();
+ }
+ }
+ return false;
}
/* 802BA630-802BA698 2B4F70 0068+00 2/2 0/0 0/0 .text eraseBgmWave__10Z2SceneMgrFUl */
-void Z2SceneMgr::eraseBgmWave(u32 param_0) {
- // NONMATCHING
+bool Z2SceneMgr::eraseBgmWave(u32 wave) {
+ JASWaveBank* wave_bank = JAUSectionHeap::getInstance()->getWaveBankTable().getWaveBank(1);
+ if (wave_bank != NULL) {
+ JASWaveArc* wave_arc = wave_bank->getWaveArc(wave);
+ if (wave_arc != NULL) {
+ return wave_arc->erase();
+ }
+ }
+ return false;
}
/* 802BA698-802BA704 2B4FD8 006C+00 1/1 0/0 0/0 .text getWaveLoadStatus__10Z2SceneMgrFUlUl */
-void Z2SceneMgr::getWaveLoadStatus(u32 param_0, u32 param_1) {
- // NONMATCHING
+s32 Z2SceneMgr::getWaveLoadStatus(u32 wave, u32 bank) {
+ JASWaveBank* wave_bank = JAUSectionHeap::getInstance()->getWaveBankTable().getWaveBank(bank);
+ if (wave_bank != NULL) {
+ JASWaveArc* wave_arc = wave_bank->getWaveArc(wave);
+ if (wave_arc != NULL) {
+ return wave_arc->getStatus();
+ }
+ }
+ return 0;
}
/* 802BA704-802BA770 2B5044 006C+00 3/3 0/0 0/0 .text loadSeWave__10Z2SceneMgrFUl */
-void Z2SceneMgr::loadSeWave(u32 param_0) {
- // NONMATCHING
+bool Z2SceneMgr::loadSeWave(u32 wave) {
+ JASWaveBank* wave_bank = JAUSectionHeap::getInstance()->getWaveBankTable().getWaveBank(0);
+ if (wave_bank != NULL) {
+ JASWaveArc* wave_arc = wave_bank->getWaveArc(wave);
+ if (wave_arc != NULL) {
+ return wave_arc->load(NULL);
+ }
+ }
+ return false;
}
/* 802BA770-802BA7DC 2B50B0 006C+00 3/3 0/0 0/0 .text loadBgmWave__10Z2SceneMgrFUl */
-void Z2SceneMgr::loadBgmWave(u32 param_0) {
- // NONMATCHING
+bool Z2SceneMgr::loadBgmWave(u32 wave) {
+ JASWaveBank* wave_bank = JAUSectionHeap::getInstance()->getWaveBankTable().getWaveBank(1);
+ if (wave_bank != NULL) {
+ JASWaveArc* wave_arc = wave_bank->getWaveArc(wave);
+ if (wave_arc != NULL) {
+ return wave_arc->loadTail(NULL);
+ }
+ }
+ return false;
}
-/* 8039BFA8-8039BFA8 028608 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file
+/* 8039BFA8-8039BFA8 028608 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/Z2AudioLib/Z2SeMgr.cpp b/src/Z2AudioLib/Z2SeMgr.cpp
index 15fc003cdd..920ee7c900 100644
--- a/src/Z2AudioLib/Z2SeMgr.cpp
+++ b/src/Z2AudioLib/Z2SeMgr.cpp
@@ -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:
diff --git a/src/Z2AudioLib/Z2SeqMgr.cpp b/src/Z2AudioLib/Z2SeqMgr.cpp
index 9839405ee4..0be99b8f33 100644
--- a/src/Z2AudioLib/Z2SeqMgr.cpp
+++ b/src/Z2AudioLib/Z2SeqMgr.cpp
@@ -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);
diff --git a/src/Z2AudioLib/Z2SoundHandles.cpp b/src/Z2AudioLib/Z2SoundHandles.cpp
index 744773686a..b351939a2b 100644
--- a/src/Z2AudioLib/Z2SoundHandles.cpp
+++ b/src/Z2AudioLib/Z2SoundHandles.cpp
@@ -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 \ No newline at end of file
diff --git a/src/Z2AudioLib/Z2SoundInfo.cpp b/src/Z2AudioLib/Z2SoundInfo.cpp
index 67b957282b..ad9f0519dd 100644
--- a/src/Z2AudioLib/Z2SoundInfo.cpp
+++ b/src/Z2AudioLib/Z2SoundInfo.cpp
@@ -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
-}
diff --git a/src/Z2AudioLib/Z2SoundMgr.cpp b/src/Z2AudioLib/Z2SoundMgr.cpp
index 6c8668cf9f..5d1f8952df 100644
--- a/src/Z2AudioLib/Z2SoundMgr.cpp
+++ b/src/Z2AudioLib/Z2SoundMgr.cpp
@@ -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 */ \ No newline at end of file
+/* 8039B9D0-8039B9D0 028030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/Z2AudioLib/Z2SoundObjMgr.cpp b/src/Z2AudioLib/Z2SoundObjMgr.cpp
index 74723562aa..a4bfb2bc9c 100644
--- a/src/Z2AudioLib/Z2SoundObjMgr.cpp
+++ b/src/Z2AudioLib/Z2SoundObjMgr.cpp
@@ -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,122 +26,96 @@ void Z2SoundObjMgr::setForceBattleArea(bool forceBattle, u16 param_1, u16 param_
mEnemyArea.field_0x6 = param_3;
}
-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;
-};
-
-/* 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},
-};
-
/* 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;
+static Z2EnemyArea const sAreaDefault = {true, 700, 1100, 1500};
/* 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;
+static Z2EnemyArea const sAreaFloating = {false, 700, 1100, 1500};
/* 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;
+static Z2EnemyArea const sAreaWide = {true, 700, 1500, 3300};
/* 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;
+static Z2EnemyArea const sAreaWideFloating = {false, 700, 1500, 3300};
/* 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;
+static Z2EnemyArea const sAreaSmall = {true, 300, 700, 1000};
/* 80455BA8-80455BAC 0041A8 0004+00 1/1 0/0 0/0 .sdata2 sAreaSmallFloating */
-SECTION_SDATA2 static u32 sAreaSmallFloating = 0x000001F4;
+static Z2EnemyArea const sAreaSmallFloating = {false, 500, 800, 1200};
-/* 80455BAC-80455BB0 0041AC 0004+00 1/1 0/0 0/0 .sdata2 None */
-SECTION_SDATA2 static u32 data_80455BAC = 0x032004B0;
+struct EnemyInfo {
+ char mName[8];
+ Z2EnemyArea mEnemyArea;
+};
+
+/* 803CAD70-803CB170 027E90 0400+00 3/3 0/0 0/0 .data mEnemyInfo */
+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},
+};
/* 802BF994-802BFFEC 2BA2D4 0658+00 1/0 1/1 0/0 .text searchEnemy__13Z2SoundObjMgrFv */
void Z2SoundObjMgr::searchEnemy() {
@@ -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 \ No newline at end of file
diff --git a/src/Z2AudioLib/Z2SpeechMgr2.cpp b/src/Z2AudioLib/Z2SpeechMgr2.cpp
index cf0410558f..02a77b8c1c 100644
--- a/src/Z2AudioLib/Z2SpeechMgr2.cpp
+++ b/src/Z2AudioLib/Z2SpeechMgr2.cpp
@@ -6,16 +6,15 @@
#include "Z2AudioLib/Z2SpeechMgr2.h"
#include "Z2AudioLib/Z2SceneMgr.h"
#include "Z2AudioLib/Z2SeMgr.h"
-#include "JSystem/J3DU/J3DUD.h"
-#include "dol2asm.h"
+#include "JSystem/JMath/JMath.h"
//
// Types:
//
typedef struct {
- u8** field_0x0;
- u8** field_0x4;
+ const u8* field_0x0;
+ const u8* field_0x4;
u8 field_0x8;
u8 field_0x9;
u8 field_0xa;
@@ -25,133 +24,42 @@ typedef struct {
struct Z2MdnPrm {
static u8 const sReply[100];
- static u8 const sReplyTail[10 + 2 /* padding */];
+ static u8 const sReplyTail[10];
static u8 const sJoke[100];
- static u8 const sJokeTail[10 + 2 /* padding */];
+ static u8 const sJokeTail[10];
static u8 const sSexy[100];
- static u8 const sSexyTail[10 + 2 /* padding */];
+ static u8 const sSexyTail[10];
static u8 const sRidicule[100];
- static u8 const sRidiculeTail[10 + 2 /* padding */];
+ static u8 const sRidiculeTail[10];
static u8 const sBoring[108];
- static u8 const sIrritated[94 + 2 /* padding */];
- static u8 const sIrritatedTail[10 + 2 /* padding */];
- static u8 const sOrder[114 + 2 /* padding */];
- static u8 const sResent[106 + 2 /* padding */];
- static u8 const sCheerful[106 + 2 /* padding */];
- static u8 const sConfused[106 + 2 /* padding */];
+ static u8 const sIrritated[94];
+ static u8 const sIrritatedTail[10];
+ static u8 const sOrder[114];
+ static u8 const sResent[106];
+ static u8 const sCheerful[106];
+ static u8 const sConfused[106];
static u8 const sHostility[104];
- static u8 const sTired[106 + 2 /* padding */];
- static u8 const sSerious[106 + 2 /* padding */];
+ static u8 const sTired[106];
+ static u8 const sSerious[106];
static u8 const sReplyb[84];
static u8 const sApologize[100];
- static u8 const sApologizeTail[9 + 3 /* padding */];
+ static u8 const sApologizeTail[9];
static u8 const sDeside[100];
static u8 const sAfford[104];
static u8 const sAffordTail[12];
static sPrmStruct const sPrm[17];
- static u8 sBoringTail[6 + 2 /* padding */];
- static u8 sOrderTail[6 + 2 /* padding */];
- static u8 sResentTail[5 + 3 /* padding */];
- static u8 sCheerfulTail[8];
- static u8 sConfusedTail[5 + 3 /* padding */];
- static u8 sHostilityTail[7 + 1 /* padding */];
- static u8 sTiredTail[8];
- static u8 sSeriousTail[7 + 1 /* padding */];
- static u8 sReplybTail[7 + 1 /* padding */];
- static u8 sDesideTail[8];
+ static u8 const sBoringTail[6];
+ static u8 const sOrderTail[6];
+ static u8 const sResentTail[5];
+ static u8 const sCheerfulTail[8];
+ static u8 const sConfusedTail[5];
+ static u8 const sHostilityTail[7];
+ static u8 const sTiredTail[8];
+ static u8 const sSeriousTail[7];
+ static u8 const sReplybTail[7];
+ static u8 const sDesideTail[8];
};
-//
-// Forward References:
-//
-
-extern "C" void __ct__12Z2SpeechMgr2Fv();
-extern "C" void __dt__15Z2SpeechStarterFv();
-extern "C" void setString__12Z2SpeechMgr2FPCUssUcUs();
-extern "C" void setTextCount__12Z2SpeechMgr2Fs();
-extern "C" void speakOneWord__12Z2SpeechMgr2Fb();
-extern "C" void isNonVerbal__12Z2SpeechMgr2Fv();
-extern "C" void selectUnit__12Z2SpeechMgr2Fb();
-extern "C" void selectTail__12Z2SpeechMgr2Fv();
-extern "C" void framework__12Z2SpeechMgr2Fv();
-extern "C" void playOneShotVoice__12Z2SpeechMgr2FUcUsP3VecSc();
-extern "C" void isMidnaSpeak__12Z2SpeechMgr2Fv();
-extern "C" void __ct__15Z2SpeechStarterFv();
-extern "C" void func_802CCFF8();
-extern "C" u8 const sReply__8Z2MdnPrm[100];
-extern "C" u8 const sReplyTail__8Z2MdnPrm[10 + 2 /* padding */];
-extern "C" u8 const sJoke__8Z2MdnPrm[100];
-extern "C" u8 const sJokeTail__8Z2MdnPrm[10 + 2 /* padding */];
-extern "C" u8 const sSexy__8Z2MdnPrm[100];
-extern "C" u8 const sSexyTail__8Z2MdnPrm[10 + 2 /* padding */];
-extern "C" u8 const sRidicule__8Z2MdnPrm[100];
-extern "C" u8 const sRidiculeTail__8Z2MdnPrm[10 + 2 /* padding */];
-extern "C" u8 const sBoring__8Z2MdnPrm[108];
-extern "C" u8 const sIrritated__8Z2MdnPrm[94 + 2 /* padding */];
-extern "C" u8 const sIrritatedTail__8Z2MdnPrm[10 + 2 /* padding */];
-extern "C" u8 const sOrder__8Z2MdnPrm[114 + 2 /* padding */];
-extern "C" u8 const sResent__8Z2MdnPrm[106 + 2 /* padding */];
-extern "C" u8 const sCheerful__8Z2MdnPrm[106 + 2 /* padding */];
-extern "C" u8 const sConfused__8Z2MdnPrm[106 + 2 /* padding */];
-extern "C" u8 const sHostility__8Z2MdnPrm[104];
-extern "C" u8 const sTired__8Z2MdnPrm[106 + 2 /* padding */];
-extern "C" u8 const sSerious__8Z2MdnPrm[106 + 2 /* padding */];
-extern "C" u8 const sReplyb__8Z2MdnPrm[84];
-extern "C" u8 const sApologize__8Z2MdnPrm[100];
-extern "C" u8 const sApologizeTail__8Z2MdnPrm[9 + 3 /* padding */];
-extern "C" u8 const sDeside__8Z2MdnPrm[100];
-extern "C" u8 const sAfford__8Z2MdnPrm[104];
-extern "C" u8 const sAffordTail__8Z2MdnPrm[12];
-extern "C" void* const sPrm__8Z2MdnPrm[51];
-extern "C" u8 sBoringTail__8Z2MdnPrm[6 + 2 /* padding */];
-extern "C" u8 sOrderTail__8Z2MdnPrm[6 + 2 /* padding */];
-extern "C" u8 sResentTail__8Z2MdnPrm[5 + 3 /* padding */];
-extern "C" u8 sCheerfulTail__8Z2MdnPrm[8];
-extern "C" u8 sConfusedTail__8Z2MdnPrm[5 + 3 /* padding */];
-extern "C" u8 sHostilityTail__8Z2MdnPrm[7 + 1 /* padding */];
-extern "C" u8 sTiredTail__8Z2MdnPrm[8];
-extern "C" u8 sSeriousTail__8Z2MdnPrm[7 + 1 /* padding */];
-extern "C" u8 sReplybTail__8Z2MdnPrm[7 + 1 /* padding */];
-extern "C" u8 sDesideTail__8Z2MdnPrm[8];
-
-//
-// External References:
-//
-
-extern "C" void dComIfGp_getReverb__Fi();
-extern "C" void releaseSound__14JAISoundHandleFv();
-extern "C" void stop__8JAISoundFv();
-extern "C" void moveVolume__18JAISoundParamsMoveFfUl();
-extern "C" void movePitch__18JAISoundParamsMoveFfUl();
-extern "C" void moveFxMix__18JAISoundParamsMoveFfUl();
-extern "C" void movePan__18JAISoundParamsMoveFfUl();
-extern "C" void moveDolby__18JAISoundParamsMoveFfUl();
-extern "C" void __dt__15JAISoundStarterFv();
-extern "C" void __ct__14Z2SoundStarterFb();
-extern "C" void func_802AABF4();
-extern "C" void setPortData__14Z2SoundStarterFP14JAISoundHandleUlUsSc();
-extern "C" void subBgmStart__8Z2SeqMgrFUl();
-extern "C" void getFogDensity__10Z2EnvSeMgrFv();
-extern "C" void __dl__FPv();
-extern "C" void __ct__Q25JMath13TRandom_fast_FUl();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" extern void* __vt__14Z2SoundStarter[5 + 1 /* padding */];
-extern "C" extern u8 data_80450B3C[4];
-extern "C" extern u8 data_80450B7C[4];
-extern "C" extern u8 data_80450B80[4];
-extern "C" extern u8 data_80450B84[4];
-extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
-extern "C" extern u8 __OSReport_disable;
-
-//
-// Declarations:
-//
-
/* 802CBC60-802CBCEC 2C65A0 008C+00 0/0 1/1 0/0 .text __ct__12Z2SpeechMgr2Fv */
Z2SpeechMgr2::Z2SpeechMgr2() : JASGlobalInstance<Z2SpeechMgr2>(true), random(0) {
field_0x3f8 = 0;
@@ -165,159 +73,6 @@ Z2SpeechMgr2::Z2SpeechMgr2() : JASGlobalInstance<Z2SpeechMgr2>(true), random(0)
}
}
-/* ############################################################################################## */
-/* 803CBD08-803CBED0 -00001 01C8+00 1/1 0/0 0/0 .data @3729 */
-SECTION_DATA static void* lit_3729[114] = {
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xB4),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xB4),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xB4),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xB4),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xA8),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x9C),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x90),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x84),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x78),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x78),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x3C),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x30),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x3C),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x30),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x9C),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x6C),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x78),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x78),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x78),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x60),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x60),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x60),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x60),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x60),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x60),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x84),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x84),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x48),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x54),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x60),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x60),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x9C),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0x78),
- (void*)(((char*)setString__12Z2SpeechMgr2FPCUssUcUs) + 0xC0),
-};
-
-/* 803CBED0-803CBF24 -00001 0054+00 1/1 0/0 0/0 .data @3839 */
-SECTION_DATA static void* lit_3839[21] = {
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x13C),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x14C),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x15C),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x16C),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x17C),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x18C),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x19C),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1AC),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1D8),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1BC),
- (void*)(((char*)setTextCount__12Z2SpeechMgr2Fs) + 0x1CC),
-};
-
-/* 803CBF24-803CBF38 029044 0014+00 2/2 1/1 0/0 .data __vt__15Z2SpeechStarter */
-SECTION_DATA extern void* __vt__15Z2SpeechStarter[5] = {
- (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__15Z2SpeechStarterFv,
- (void*)func_802AABF4, (void*)func_802CCFF8,
-};
-
-/* 802CBCEC-802CBD88 2C662C 009C+00 1/0 0/0 0/0 .text __dt__15Z2SpeechStarterFv */
-//Z2SpeechStarter::~Z2SpeechStarter() {}
-
/* 802CBD88-802CBF60 2C66C8 01D8+00 1/0 1/1 0/0 .text setString__12Z2SpeechMgr2FPCUssUcUs
*/
void Z2SpeechMgr2::setString(u16 const* param_1, s16 param_2, u8 param_3, u16 param_4) {
@@ -460,128 +215,56 @@ void Z2SpeechMgr2::setString(u16 const* param_1, s16 param_2, u8 param_3, u16 pa
selectUnit(false);
}
-
-/* ############################################################################################## */
/* 80455EE0-80455EE8 0044E0 0006+02 1/0 0/0 0/0 .sdata2 sBoringTail__8Z2MdnPrm */
-SECTION_SDATA2 u8 Z2MdnPrm::sBoringTail[6 + 2 /* padding */] = {
- 0x92,
- 0x58,
- 0x59,
- 0x5B,
- 0x70,
- 0x71,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sBoringTail[6] = {
+ 0x92, 0x58, 0x59, 0x5B, 0x70, 0x71,
};
/* 80455EE8-80455EF0 0044E8 0006+02 1/0 0/0 0/0 .sdata2 sOrderTail__8Z2MdnPrm */
-SECTION_SDATA2 u8 Z2MdnPrm::sOrderTail[6 + 2 /* padding */] = {
- 0x60,
- 0xA8,
- 0x5B,
- 0x4E,
- 0x5D,
- 0x87,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sOrderTail[6] = {
+ 0x60, 0xA8, 0x5B, 0x4E, 0x5D, 0x87,
};
/* 80455EF0-80455EF8 0044F0 0005+03 1/0 0/0 0/0 .sdata2 sResentTail__8Z2MdnPrm */
-SECTION_SDATA2 u8 Z2MdnPrm::sResentTail[5 + 3 /* padding */] = {
- 0x4A,
- 0x98,
- 0x8A,
- 0x7E,
- 0x57,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sResentTail[5] = {
+ 0x4A, 0x98, 0x8A, 0x7E, 0x57,
};
/* 80455EF8-80455F00 0044F8 0008+00 1/0 0/0 0/0 .sdata2 sCheerfulTail__8Z2MdnPrm */
-SECTION_SDATA2 u8 Z2MdnPrm::sCheerfulTail[8] = {
+u8 const Z2MdnPrm::sCheerfulTail[8] = {
0x60, 0x6D, 0x4D, 0x44, 0x9C, 0x54, 0x70, 0x7B,
};
/* 80455F00-80455F08 004500 0005+03 1/0 0/0 0/0 .sdata2 sConfusedTail__8Z2MdnPrm */
-SECTION_SDATA2 u8 Z2MdnPrm::sConfusedTail[5 + 3 /* padding */] = {
- 0x2C,
- 0x42,
- 0x4C,
- 0x7C,
- 0x49,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sConfusedTail[5] = {
+ 0x2C, 0x42, 0x4C, 0x7C, 0x49,
};
/* 80455F08-80455F10 004508 0007+01 1/0 0/0 0/0 .sdata2 sHostilityTail__8Z2MdnPrm */
-SECTION_SDATA2 u8 Z2MdnPrm::sHostilityTail[7 + 1 /* padding */] = {
- 0x97,
- 0x67,
- 0x94,
- 0x6A,
- 0x66,
- 0x4F,
- 0x6A,
- /* padding */
- 0x00,
+u8 const Z2MdnPrm::sHostilityTail[7] = {
+ 0x97, 0x67, 0x94, 0x6A, 0x66, 0x4F, 0x6A,
};
/* 80455F10-80455F18 004510 0008+00 1/0 0/0 0/0 .sdata2 sTiredTail__8Z2MdnPrm */
-SECTION_SDATA2 u8 Z2MdnPrm::sTiredTail[8] = {
+u8 const Z2MdnPrm::sTiredTail[8] = {
0x66, 0x6F, 0x3B, 0x7A, 0x49, 0x91, 0x5C, 0x6A,
};
/* 80455F18-80455F20 004518 0007+01 1/0 0/0 0/0 .sdata2 sSeriousTail__8Z2MdnPrm */
-SECTION_SDATA2 u8 Z2MdnPrm::sSeriousTail[7 + 1 /* padding */] = {
- 0x7B,
- 0x69,
- 0x4B,
- 0x61,
- 0x52,
- 0x59,
- 0x87,
- /* padding */
- 0x00,
+u8 const Z2MdnPrm::sSeriousTail[7] = {
+ 0x7B, 0x69, 0x4B, 0x61, 0x52, 0x59, 0x87,
};
/* 80455F20-80455F28 004520 0007+01 1/0 0/0 0/0 .sdata2 sReplybTail__8Z2MdnPrm */
-SECTION_SDATA2 u8 Z2MdnPrm::sReplybTail[7 + 1 /* padding */] = {
- 0x4F,
- 0x4A,
- 0xA2,
- 0x4F,
- 0x65,
- 0x98,
- 0x5C,
- /* padding */
- 0x00,
+u8 const Z2MdnPrm::sReplybTail[7] = {
+ 0x4F, 0x4A, 0xA2, 0x4F, 0x65, 0x98, 0x5C,
};
/* 80455F28-80455F30 004528 0008+00 1/0 0/0 0/0 .sdata2 sDesideTail__8Z2MdnPrm */
-SECTION_SDATA2 u8 Z2MdnPrm::sDesideTail[8] = {
+u8 const Z2MdnPrm::sDesideTail[8] = {
0x64, 0x2E, 0x4A, 0x57, 0x80, 0x48, 0x7C, 0x5F,
};
-/* 80455F30-80455F34 004530 0004+00 2/2 0/0 0/0 .sdata2 @3836 */
-SECTION_SDATA2 static u8 lit_3836[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-
-/* 80455F34-80455F38 004534 0004+00 6/6 0/0 0/0 .sdata2 @3837 */
-SECTION_SDATA2 static f32 lit_3837 = 1.0f;
-
-/* 80455F38-80455F3C 004538 0004+00 4/4 0/0 0/0 .sdata2 @3838 */
-SECTION_SDATA2 static f32 lit_3838 = -1.0f;
-
/* 802CBF60-802CC190 2C68A0 0230+00 1/0 2/2 0/0 .text setTextCount__12Z2SpeechMgr2Fs */
void Z2SpeechMgr2::setTextCount(s16 param_0) {
if (field_0x3fe != 0x63) {
@@ -646,14 +329,6 @@ void Z2SpeechMgr2::setTextCount(s16 param_0) {
}
}
-
-/* ############################################################################################## */
-/* 80455F3C-80455F40 00453C 0004+00 2/2 0/0 0/0 .sdata2 @3885 */
-SECTION_SDATA2 static f32 lit_3885 = 127.0f;
-
-/* 80455F40-80455F48 004540 0008+00 2/2 0/0 0/0 .sdata2 @3887 */
-SECTION_SDATA2 static f64 lit_3887 = 4503601774854144.0 /* cast s32 to float */;
-
/* 802CC190-802CC2FC 2C6AD0 016C+00 1/1 1/1 0/0 .text speakOneWord__12Z2SpeechMgr2Fb */
void Z2SpeechMgr2::speakOneWord(bool param_0) {
if (Z2GetSceneMgr()->isSceneExist() && (field_0x3fe == 1 || field_0x3fe == 2) &&
@@ -766,7 +441,7 @@ bool Z2SpeechMgr2::isNonVerbal() {
}
/* 8039C260-8039C2C4 0288C0 0064+00 1/0 0/0 0/0 .rodata sReply__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sReply[100] = {
+u8 const Z2MdnPrm::sReply[100] = {
0x6A, 0x8A, 0x50, 0x5F, 0x53, 0x37, 0x37, 0x4F, 0x4F, 0x5E, 0xAA, 0x46, 0x52, 0x5A, 0x5A,
0x4F, 0x4F, 0x45, 0x45, 0x56, 0x64, 0x79, 0x79, 0x79, 0x87, 0x95, 0x95, 0x89, 0x89, 0x4C,
0x4C, 0x4B, 0x52, 0x41, 0x41, 0x5B, 0x5F, 0x71, 0x53, 0x47, 0x89, 0x7D, 0x77, 0x88, 0x88,
@@ -775,28 +450,14 @@ SECTION_RODATA u8 const Z2MdnPrm::sReply[100] = {
0x5D, 0x60, 0x63, 0x63, 0x54, 0x3E, 0x38, 0x38, 0x39, 0x35, 0x41, 0x41, 0x41, 0x41, 0x56,
0x71, 0x85, 0x85, 0xA2, 0xA2, 0x52, 0x52, 0x5C, 0x5C, 0x75,
};
-COMPILER_STRIP_GATE(0x8039C260, &Z2MdnPrm::sReply);
/* 8039C2C4-8039C2D0 028924 000A+02 1/0 0/0 0/0 .rodata sReplyTail__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sReplyTail[10 + 2 /* padding */] = {
- 0x5E,
- 0x7F,
- 0x68,
- 0x39,
- 0x56,
- 0x75,
- 0x47,
- 0x71,
- 0x7D,
- 0x33,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sReplyTail[10] = {
+ 0x5E, 0x7F, 0x68, 0x39, 0x56, 0x75, 0x47, 0x71, 0x7D, 0x33,
};
-COMPILER_STRIP_GATE(0x8039C2C4, &Z2MdnPrm::sReplyTail);
/* 8039C2D0-8039C334 028930 0064+00 1/0 0/0 0/0 .rodata sJoke__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sJoke[100] = {
+u8 const Z2MdnPrm::sJoke[100] = {
0x68, 0x57, 0x57, 0x55, 0x55, 0x51, 0x5B, 0x64, 0x6B, 0x7B, 0x7B, 0x5C, 0x77, 0x97, 0x8D,
0x97, 0x97, 0x8D, 0x66, 0x69, 0xA2, 0x5C, 0x87, 0x4F, 0x69, 0x5F, 0x5F, 0x83, 0x83, 0x82,
0x7F, 0x96, 0x96, 0xB0, 0x70, 0xA1, 0x6D, 0x6D, 0x6D, 0x59, 0x4C, 0x4B, 0x5A, 0x40, 0x4A,
@@ -805,28 +466,13 @@ SECTION_RODATA u8 const Z2MdnPrm::sJoke[100] = {
0x64, 0x60, 0xB1, 0x6C, 0x6D, 0x6D, 0x7E, 0x7A, 0x97, 0x97, 0x99, 0xA5, 0x89, 0x90, 0xA4,
0x45, 0x45, 0x29, 0x4C, 0x4B, 0x64, 0x64, 0x60, 0x5C, 0xB1,
};
-COMPILER_STRIP_GATE(0x8039C2D0, &Z2MdnPrm::sJoke);
-
/* 8039C334-8039C340 028994 000A+02 1/0 0/0 0/0 .rodata sJokeTail__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sJokeTail[10 + 2 /* padding */] = {
- 0x51,
- 0x97,
- 0x60,
- 0xB0,
- 0x6F,
- 0x5E,
- 0x5A,
- 0xA6,
- 0x4F,
- 0x4F,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sJokeTail[10] = {
+ 0x51, 0x97, 0x60, 0xB0, 0x6F, 0x5E, 0x5A, 0xA6, 0x4F, 0x4F,
};
-COMPILER_STRIP_GATE(0x8039C334, &Z2MdnPrm::sJokeTail);
/* 8039C340-8039C3A4 0289A0 0064+00 1/0 0/0 0/0 .rodata sSexy__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sSexy[100] = {
+u8 const Z2MdnPrm::sSexy[100] = {
0x5E, 0x60, 0x5F, 0x63, 0x63, 0x72, 0x72, 0x78, 0x4D, 0x7A, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E,
0x59, 0x59, 0x7A, 0x7A, 0xA5, 0x90, 0x8D, 0x86, 0x62, 0x72, 0x79, 0x79, 0x86, 0x7F, 0x8B,
0x85, 0x7B, 0x7B, 0x5E, 0x5E, 0x6D, 0x6D, 0x88, 0x5F, 0xA3, 0xA3, 0x95, 0x95, 0x7F, 0x79,
@@ -835,28 +481,14 @@ SECTION_RODATA u8 const Z2MdnPrm::sSexy[100] = {
0x76, 0x79, 0x79, 0x5C, 0x6A, 0x90, 0xAB, 0x5C, 0x7D, 0x52, 0x49, 0x54, 0x57, 0x49, 0x55,
0x79, 0x65, 0x65, 0x4A, 0x5C, 0x78, 0x78, 0x8B, 0x8D, 0x7C,
};
-COMPILER_STRIP_GATE(0x8039C340, &Z2MdnPrm::sSexy);
/* 8039C3A4-8039C3B0 028A04 000A+02 1/0 0/0 0/0 .rodata sSexyTail__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sSexyTail[10 + 2 /* padding */] = {
- 0x52,
- 0x79,
- 0x82,
- 0xA5,
- 0x62,
- 0x86,
- 0x3F,
- 0x7D,
- 0x57,
- 0x7C,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sSexyTail[10] = {
+ 0x52, 0x79, 0x82, 0xA5, 0x62, 0x86, 0x3F, 0x7D, 0x57, 0x7C,
};
-COMPILER_STRIP_GATE(0x8039C3A4, &Z2MdnPrm::sSexyTail);
/* 8039C3B0-8039C414 028A10 0064+00 1/0 0/0 0/0 .rodata sRidicule__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sRidicule[100] = {
+u8 const Z2MdnPrm::sRidicule[100] = {
0xA7, 0x5A, 0x5A, 0x52, 0x52, 0x85, 0x85, 0x8C, 0x63, 0x73, 0x73, 0x90, 0x50, 0x46, 0x74,
0x74, 0xA3, 0xA7, 0x41, 0x51, 0x58, 0x34, 0x34, 0x2A, 0x5A, 0x81, 0x5D, 0x42, 0x4B, 0x70,
0x70, 0xB1, 0xB1, 0xB1, 0xB1, 0x65, 0x6A, 0xB1, 0x54, 0xA8, 0xA8, 0x6B, 0x6C, 0x55, 0x55,
@@ -865,28 +497,14 @@ SECTION_RODATA u8 const Z2MdnPrm::sRidicule[100] = {
0x79, 0x79, 0x7C, 0x7C, 0x6C, 0x6C, 0x73, 0x73, 0x6E, 0x6E, 0x36, 0x3F, 0x3C, 0x56, 0x2D,
0x2D, 0x2D, 0x2D, 0x8C, 0x8C, 0x8B, 0x8B, 0x93, 0x93, 0x6E,
};
-COMPILER_STRIP_GATE(0x8039C3B0, &Z2MdnPrm::sRidicule);
/* 8039C414-8039C420 028A74 000A+02 1/0 0/0 0/0 .rodata sRidiculeTail__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sRidiculeTail[10 + 2 /* padding */] = {
- 0x81,
- 0x67,
- 0x6D,
- 0x8C,
- 0x90,
- 0x85,
- 0xB1,
- 0x4D,
- 0x4F,
- 0x6E,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sRidiculeTail[10] = {
+ 0x81, 0x67, 0x6D, 0x8C, 0x90, 0x85, 0xB1, 0x4D, 0x4F, 0x6E,
};
-COMPILER_STRIP_GATE(0x8039C414, &Z2MdnPrm::sRidiculeTail);
/* 8039C420-8039C48C 028A80 006C+00 1/0 0/0 0/0 .rodata sBoring__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sBoring[108] = {
+u8 const Z2MdnPrm::sBoring[108] = {
0x8E, 0x9C, 0x9C, 0x5A, 0x5A, 0x52, 0x52, 0x5B, 0x5C, 0x56, 0x5C, 0x52, 0x52, 0x2D, 0x2D, 0x5B,
0x59, 0x56, 0x56, 0x56, 0x56, 0x6B, 0x6B, 0x58, 0x4C, 0x8E, 0x8E, 0x59, 0x61, 0x54, 0xA0, 0x4D,
0x5D, 0x59, 0x48, 0x30, 0x30, 0x5B, 0x5B, 0x5B, 0x4A, 0x64, 0x64, 0x7A, 0x7A, 0x92, 0x62, 0x62,
@@ -895,594 +513,69 @@ SECTION_RODATA u8 const Z2MdnPrm::sBoring[108] = {
0x89, 0x5A, 0x5A, 0x63, 0x66, 0x5E, 0x5E, 0x71, 0x62, 0x55, 0x55, 0x85, 0x85, 0x5B, 0x5B, 0x5B,
0x5B, 0x5E, 0x70, 0x56, 0x56, 0x4C, 0x4C, 0x59, 0x59, 0x5B, 0x5B, 0x71,
};
-COMPILER_STRIP_GATE(0x8039C420, &Z2MdnPrm::sBoring);
/* 8039C48C-8039C4EC 028AEC 005E+02 1/0 0/0 0/0 .rodata sIrritated__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sIrritated[94 + 2 /* padding */] = {
- 0x6C,
- 0x91,
- 0x67,
- 0x8B,
- 0x8B,
- 0xA2,
- 0xA2,
- 0xAB,
- 0x48,
- 0x64,
- 0x73,
- 0x61,
- 0x61,
- 0x64,
- 0x64,
- 0x6D,
- 0x60,
- 0x7E,
- 0x4A,
- 0x55,
- 0x6A,
- 0x63,
- 0x66,
- 0x78,
- 0x5C,
- 0x5A,
- 0x6E,
- 0x79,
- 0x75,
- 0x62,
- 0x62,
- 0x57,
- 0x85,
- 0x3F,
- 0x3C,
- 0x83,
- 0x83,
- 0x9B,
- 0x78,
- 0x65,
- 0x65,
- 0x67,
- 0x65,
- 0x65,
- 0x87,
- 0x88,
- 0x88,
- 0x3D,
- 0x4C,
- 0x68,
- 0x68,
- 0x4D,
- 0x5B,
- 0x6E,
- 0x6E,
- 0x74,
- 0x56,
- 0x63,
- 0x6B,
- 0x8C,
- 0x8C,
- 0x93,
- 0x93,
- 0x4E,
- 0x4E,
- 0x69,
- 0x77,
- 0x75,
- 0x75,
- 0x71,
- 0x79,
- 0x4F,
- 0x4F,
- 0x6F,
- 0x4E,
- 0x42,
- 0x71,
- 0x75,
- 0x5E,
- 0x68,
- 0xAD,
- 0x6E,
- 0x72,
- 0x82,
- 0x83,
- 0x87,
- 0x85,
- 0x85,
- 0x85,
- 0x8E,
- 0x60,
- 0x6D,
- 0x80,
- 0x80,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sIrritated[94] = {
+ 0x6C, 0x91, 0x67, 0x8B, 0x8B, 0xA2, 0xA2, 0xAB, 0x48, 0x64, 0x73, 0x61, 0x61, 0x64, 0x64, 0x6D,
+ 0x60, 0x7E, 0x4A, 0x55, 0x6A, 0x63, 0x66, 0x78, 0x5C, 0x5A, 0x6E, 0x79, 0x75, 0x62, 0x62, 0x57,
+ 0x85, 0x3F, 0x3C, 0x83, 0x83, 0x9B, 0x78, 0x65, 0x65, 0x67, 0x65, 0x65, 0x87, 0x88, 0x88, 0x3D,
+ 0x4C, 0x68, 0x68, 0x4D, 0x5B, 0x6E, 0x6E, 0x74, 0x56, 0x63, 0x6B, 0x8C, 0x8C, 0x93, 0x93, 0x4E,
+ 0x4E, 0x69, 0x77, 0x75, 0x75, 0x71, 0x79, 0x4F, 0x4F, 0x6F, 0x4E, 0x42, 0x71, 0x75, 0x5E, 0x68,
+ 0xAD, 0x6E, 0x72, 0x82, 0x83, 0x87, 0x85, 0x85, 0x85, 0x8E, 0x60, 0x6D, 0x80, 0x80,
};
-COMPILER_STRIP_GATE(0x8039C48C, &Z2MdnPrm::sIrritated);
/* 8039C4EC-8039C4F8 028B4C 000A+02 1/0 0/0 0/0 .rodata sIrritatedTail__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sIrritatedTail[10 + 2 /* padding */] = {
- 0x64,
- 0x61,
- 0x4E,
- 0x91,
- 0xA0,
- 0x85,
- 0x9B,
- 0x67,
- 0x6F,
- 0x64,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sIrritatedTail[10] = {
+ 0x64, 0x61, 0x4E, 0x91, 0xA0, 0x85, 0x9B, 0x67, 0x6F, 0x64,
};
-COMPILER_STRIP_GATE(0x8039C4EC, &Z2MdnPrm::sIrritatedTail);
/* 8039C4F8-8039C56C 028B58 0072+02 1/0 0/0 0/0 .rodata sOrder__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sOrder[114 + 2 /* padding */] = {
- 0x77,
- 0x5F,
- 0x5F,
- 0x73,
- 0x73,
- 0x66,
- 0x66,
- 0x6B,
- 0x6B,
- 0x7A,
- 0x7A,
- 0x60,
- 0x54,
- 0x5F,
- 0x5F,
- 0x69,
- 0x69,
- 0x5A,
- 0x86,
- 0x84,
- 0x84,
- 0x96,
- 0x96,
- 0x94,
- 0x94,
- 0x8A,
- 0x87,
- 0x84,
- 0x5A,
- 0x2C,
- 0x4E,
- 0x52,
- 0x52,
- 0x52,
- 0x52,
- 0x51,
- 0x51,
- 0x6E,
- 0x62,
- 0x5E,
- 0x6C,
- 0xA3,
- 0xA3,
- 0x5B,
- 0x62,
- 0x63,
- 0x63,
- 0x66,
- 0x66,
- 0x51,
- 0x51,
- 0x5B,
- 0x5B,
- 0x78,
- 0x78,
- 0x8F,
- 0x8F,
- 0x83,
- 0x61,
- 0x7A,
- 0x7A,
- 0x4E,
- 0x75,
- 0x81,
- 0x81,
- 0x71,
- 0x71,
- 0x83,
- 0x83,
- 0x66,
- 0x5D,
- 0x5D,
- 0x65,
- 0x47,
- 0x53,
- 0x6D,
- 0x6D,
- 0x8C,
- 0x8F,
- 0x8F,
- 0x8F,
- 0x2C,
- 0x2B,
- 0x6A,
- 0x6A,
- 0x5C,
- 0x5C,
- 0x54,
- 0x54,
- 0x60,
- 0xAC,
- 0xA1,
- 0x4E,
- 0x5B,
- 0x5B,
- 0x5F,
- 0x5F,
- 0x79,
- 0x4A,
- 0x60,
- 0x60,
- 0x5A,
- 0x5A,
- 0x35,
- 0x2E,
- 0x48,
- 0x48,
- 0x69,
- 0x69,
- 0x6D,
- 0x6D,
- 0x94,
- 0x94,
- 0x97,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sOrder[114] = {
+ 0x77, 0x5F, 0x5F, 0x73, 0x73, 0x66, 0x66, 0x6B, 0x6B, 0x7A, 0x7A, 0x60, 0x54, 0x5F, 0x5F,
+ 0x69, 0x69, 0x5A, 0x86, 0x84, 0x84, 0x96, 0x96, 0x94, 0x94, 0x8A, 0x87, 0x84, 0x5A, 0x2C,
+ 0x4E, 0x52, 0x52, 0x52, 0x52, 0x51, 0x51, 0x6E, 0x62, 0x5E, 0x6C, 0xA3, 0xA3, 0x5B, 0x62,
+ 0x63, 0x63, 0x66, 0x66, 0x51, 0x51, 0x5B, 0x5B, 0x78, 0x78, 0x8F, 0x8F, 0x83, 0x61, 0x7A,
+ 0x7A, 0x4E, 0x75, 0x81, 0x81, 0x71, 0x71, 0x83, 0x83, 0x66, 0x5D, 0x5D, 0x65, 0x47, 0x53,
+ 0x6D, 0x6D, 0x8C, 0x8F, 0x8F, 0x8F, 0x2C, 0x2B, 0x6A, 0x6A, 0x5C, 0x5C, 0x54, 0x54, 0x60,
+ 0xAC, 0xA1, 0x4E, 0x5B, 0x5B, 0x5F, 0x5F, 0x79, 0x4A, 0x60, 0x60, 0x5A, 0x5A, 0x35, 0x2E,
+ 0x48, 0x48, 0x69, 0x69, 0x6D, 0x6D, 0x94, 0x94, 0x97,
};
-COMPILER_STRIP_GATE(0x8039C4F8, &Z2MdnPrm::sOrder);
/* 8039C56C-8039C5D8 028BCC 006A+02 1/0 0/0 0/0 .rodata sResent__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sResent[106 + 2 /* padding */] = {
- 0x6F,
- 0x5F,
- 0x5F,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x55,
- 0x55,
- 0x55,
- 0x55,
- 0x4B,
- 0x4B,
- 0x6B,
- 0x6B,
- 0x86,
- 0x86,
- 0x4A,
- 0x4A,
- 0x6D,
- 0x6D,
- 0x6D,
- 0x6D,
- 0x8C,
- 0x8C,
- 0x84,
- 0x84,
- 0x64,
- 0x64,
- 0x6C,
- 0x6C,
- 0x92,
- 0x92,
- 0x6A,
- 0x5F,
- 0x6F,
- 0x6F,
- 0x62,
- 0x62,
- 0x62,
- 0x75,
- 0x5A,
- 0x5A,
- 0x5A,
- 0x5A,
- 0x60,
- 0x60,
- 0x6A,
- 0x6A,
- 0x76,
- 0x76,
- 0x6A,
- 0x6A,
- 0x7F,
- 0x7F,
- 0x9A,
- 0x9A,
- 0x98,
- 0x56,
- 0x5B,
- 0x5B,
- 0x6F,
- 0x82,
- 0x98,
- 0x98,
- 0x9B,
- 0x9B,
- 0x6E,
- 0x6E,
- 0x61,
- 0x61,
- 0x5C,
- 0x5F,
- 0x67,
- 0x62,
- 0x8A,
- 0xA9,
- 0x65,
- 0x65,
- 0x31,
- 0x31,
- 0x8C,
- 0x8C,
- 0x69,
- 0x69,
- 0x7E,
- 0x67,
- 0x67,
- 0x5B,
- 0x73,
- 0x73,
- 0x65,
- 0x65,
- 0x56,
- 0x56,
- 0x5E,
- 0x5E,
- 0xAA,
- 0xAA,
- 0x9E,
- 0x9E,
- 0x5A,
- 0x5A,
- 0x57,
- 0x57,
- 0x57,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sResent[106] = {
+ 0x6F, 0x5F, 0x5F, 0x66, 0x66, 0x66, 0x66, 0x55, 0x55, 0x55, 0x55, 0x4B, 0x4B, 0x6B, 0x6B, 0x86,
+ 0x86, 0x4A, 0x4A, 0x6D, 0x6D, 0x6D, 0x6D, 0x8C, 0x8C, 0x84, 0x84, 0x64, 0x64, 0x6C, 0x6C, 0x92,
+ 0x92, 0x6A, 0x5F, 0x6F, 0x6F, 0x62, 0x62, 0x62, 0x75, 0x5A, 0x5A, 0x5A, 0x5A, 0x60, 0x60, 0x6A,
+ 0x6A, 0x76, 0x76, 0x6A, 0x6A, 0x7F, 0x7F, 0x9A, 0x9A, 0x98, 0x56, 0x5B, 0x5B, 0x6F, 0x82, 0x98,
+ 0x98, 0x9B, 0x9B, 0x6E, 0x6E, 0x61, 0x61, 0x5C, 0x5F, 0x67, 0x62, 0x8A, 0xA9, 0x65, 0x65, 0x31,
+ 0x31, 0x8C, 0x8C, 0x69, 0x69, 0x7E, 0x67, 0x67, 0x5B, 0x73, 0x73, 0x65, 0x65, 0x56, 0x56, 0x5E,
+ 0x5E, 0xAA, 0xAA, 0x9E, 0x9E, 0x5A, 0x5A, 0x57, 0x57, 0x57,
};
-COMPILER_STRIP_GATE(0x8039C56C, &Z2MdnPrm::sResent);
/* 8039C5D8-8039C644 028C38 006A+02 1/0 0/0 0/0 .rodata sCheerful__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sCheerful[106 + 2 /* padding */] = {
- 0x64,
- 0x6D,
- 0x6D,
- 0x6D,
- 0x99,
- 0x6D,
- 0x40,
- 0x51,
- 0x51,
- 0x6F,
- 0x6F,
- 0x66,
- 0x66,
- 0x60,
- 0xA7,
- 0xAF,
- 0xB3,
- 0x61,
- 0x61,
- 0xA7,
- 0xA7,
- 0x5E,
- 0x8B,
- 0x75,
- 0x77,
- 0x72,
- 0x72,
- 0x93,
- 0x93,
- 0x8B,
- 0x8B,
- 0x88,
- 0x88,
- 0x77,
- 0x77,
- 0x80,
- 0x80,
- 0x80,
- 0x80,
- 0x67,
- 0x67,
- 0x4D,
- 0x4A,
- 0x69,
- 0x44,
- 0xA1,
- 0x64,
- 0xA8,
- 0xAE,
- 0x85,
- 0x85,
- 0x8D,
- 0x95,
- 0xA9,
- 0xA9,
- 0x91,
- 0x91,
- 0x67,
- 0x69,
- 0x60,
- 0x60,
- 0x5E,
- 0x5E,
- 0x54,
- 0x34,
- 0x6B,
- 0x63,
- 0x4F,
- 0x4F,
- 0x46,
- 0x46,
- 0x55,
- 0x6F,
- 0x6A,
- 0x6A,
- 0x75,
- 0x75,
- 0x75,
- 0x75,
- 0x70,
- 0x70,
- 0x9F,
- 0x9F,
- 0x55,
- 0x55,
- 0x63,
- 0x63,
- 0x63,
- 0x62,
- 0x9C,
- 0x9C,
- 0xA8,
- 0x85,
- 0x65,
- 0x65,
- 0x65,
- 0x65,
- 0x70,
- 0x6B,
- 0x6B,
- 0x6B,
- 0x6D,
- 0x6D,
- 0x57,
- 0x57,
- 0x7B,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sCheerful[106] = {
+ 0x64, 0x6D, 0x6D, 0x6D, 0x99, 0x6D, 0x40, 0x51, 0x51, 0x6F, 0x6F, 0x66, 0x66, 0x60, 0xA7, 0xAF,
+ 0xB3, 0x61, 0x61, 0xA7, 0xA7, 0x5E, 0x8B, 0x75, 0x77, 0x72, 0x72, 0x93, 0x93, 0x8B, 0x8B, 0x88,
+ 0x88, 0x77, 0x77, 0x80, 0x80, 0x80, 0x80, 0x67, 0x67, 0x4D, 0x4A, 0x69, 0x44, 0xA1, 0x64, 0xA8,
+ 0xAE, 0x85, 0x85, 0x8D, 0x95, 0xA9, 0xA9, 0x91, 0x91, 0x67, 0x69, 0x60, 0x60, 0x5E, 0x5E, 0x54,
+ 0x34, 0x6B, 0x63, 0x4F, 0x4F, 0x46, 0x46, 0x55, 0x6F, 0x6A, 0x6A, 0x75, 0x75, 0x75, 0x75, 0x70,
+ 0x70, 0x9F, 0x9F, 0x55, 0x55, 0x63, 0x63, 0x63, 0x62, 0x9C, 0x9C, 0xA8, 0x85, 0x65, 0x65, 0x65,
+ 0x65, 0x70, 0x6B, 0x6B, 0x6B, 0x6D, 0x6D, 0x57, 0x57, 0x7B,
};
-COMPILER_STRIP_GATE(0x8039C5D8, &Z2MdnPrm::sCheerful);
/* 8039C644-8039C6B0 028CA4 006A+02 1/0 0/0 0/0 .rodata sConfused__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sConfused[106 + 2 /* padding */] = {
- 0x83,
- 0x80,
- 0x80,
- 0x82,
- 0x82,
- 0x82,
- 0x82,
- 0x5B,
- 0x75,
- 0x84,
- 0x84,
- 0x84,
- 0x84,
- 0x75,
- 0x75,
- 0x62,
- 0x62,
- 0x62,
- 0x4D,
- 0x56,
- 0x56,
- 0x59,
- 0x59,
- 0x59,
- 0x59,
- 0x74,
- 0x74,
- 0x85,
- 0x7D,
- 0x8D,
- 0x8D,
- 0x70,
- 0x70,
- 0x5A,
- 0x5A,
- 0x6B,
- 0x6B,
- 0x6B,
- 0x6B,
- 0x70,
- 0x79,
- 0x73,
- 0x73,
- 0x71,
- 0x71,
- 0x75,
- 0x75,
- 0x7B,
- 0x7B,
- 0x5F,
- 0x5F,
- 0x62,
- 0x76,
- 0x64,
- 0x7B,
- 0x7B,
- 0x7B,
- 0x7C,
- 0x7F,
- 0x65,
- 0x7C,
- 0x7C,
- 0x68,
- 0x43,
- 0x40,
- 0x67,
- 0x67,
- 0x69,
- 0x69,
- 0x5F,
- 0x5F,
- 0x5D,
- 0x5D,
- 0x5D,
- 0xA2,
- 0xA2,
- 0xA2,
- 0xA6,
- 0xA6,
- 0x9A,
- 0x9A,
- 0x97,
- 0x97,
- 0x97,
- 0x97,
- 0x97,
- 0x97,
- 0x8E,
- 0x8E,
- 0x94,
- 0x8E,
- 0x95,
- 0x95,
- 0x95,
- 0x95,
- 0x42,
- 0x38,
- 0x38,
- 0x38,
- 0x83,
- 0x83,
- 0x8E,
- 0x8E,
- 0x4C,
- 0x56,
- 0x56,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sConfused[106] = {
+ 0x83, 0x80, 0x80, 0x82, 0x82, 0x82, 0x82, 0x5B, 0x75, 0x84, 0x84, 0x84, 0x84, 0x75, 0x75, 0x62,
+ 0x62, 0x62, 0x4D, 0x56, 0x56, 0x59, 0x59, 0x59, 0x59, 0x74, 0x74, 0x85, 0x7D, 0x8D, 0x8D, 0x70,
+ 0x70, 0x5A, 0x5A, 0x6B, 0x6B, 0x6B, 0x6B, 0x70, 0x79, 0x73, 0x73, 0x71, 0x71, 0x75, 0x75, 0x7B,
+ 0x7B, 0x5F, 0x5F, 0x62, 0x76, 0x64, 0x7B, 0x7B, 0x7B, 0x7C, 0x7F, 0x65, 0x7C, 0x7C, 0x68, 0x43,
+ 0x40, 0x67, 0x67, 0x69, 0x69, 0x5F, 0x5F, 0x5D, 0x5D, 0x5D, 0xA2, 0xA2, 0xA2, 0xA6, 0xA6, 0x9A,
+ 0x9A, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x8E, 0x8E, 0x94, 0x8E, 0x95, 0x95, 0x95, 0x95, 0x42,
+ 0x38, 0x38, 0x38, 0x83, 0x83, 0x8E, 0x8E, 0x4C, 0x56, 0x56,
};
-COMPILER_STRIP_GATE(0x8039C644, &Z2MdnPrm::sConfused);
/* 8039C6B0-8039C718 028D10 0068+00 1/0 0/0 0/0 .rodata sHostility__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sHostility[104] = {
+u8 const Z2MdnPrm::sHostility[104] = {
0x85, 0x71, 0x71, 0x73, 0x73, 0x3B, 0x62, 0x84, 0x94, 0x94, 0x94, 0xAF, 0x98, 0xAD, 0xAD,
0x5A, 0x5A, 0x63, 0x63, 0x97, 0x90, 0x90, 0x7B, 0x73, 0x73, 0x63, 0x63, 0x55, 0x55, 0x65,
0x66, 0x7F, 0x7F, 0x87, 0x87, 0x8A, 0x8A, 0x94, 0x5D, 0x5C, 0x5A, 0x67, 0x67, 0x68, 0x68,
@@ -1491,238 +584,31 @@ SECTION_RODATA u8 const Z2MdnPrm::sHostility[104] = {
0x65, 0x6B, 0x6E, 0x6E, 0x83, 0x83, 0x96, 0x3F, 0x56, 0x56, 0x56, 0x56, 0x4F, 0x5F, 0x57,
0x62, 0x6A, 0x5F, 0x72, 0x72, 0x62, 0x62, 0x65, 0x5E, 0x69, 0x69, 0x63, 0x63, 0x7F,
};
-COMPILER_STRIP_GATE(0x8039C6B0, &Z2MdnPrm::sHostility);
/* 8039C718-8039C784 028D78 006A+02 1/0 0/0 0/0 .rodata sTired__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sTired[106 + 2 /* padding */] = {
- 0x70,
- 0x70,
- 0x70,
- 0x5C,
- 0x5C,
- 0x5C,
- 0x6F,
- 0x6F,
- 0x6F,
- 0x93,
- 0x8C,
- 0x9A,
- 0x9D,
- 0x89,
- 0x99,
- 0x7A,
- 0x91,
- 0x8D,
- 0x8D,
- 0x8D,
- 0x8D,
- 0x69,
- 0x69,
- 0x72,
- 0x72,
- 0x65,
- 0x65,
- 0x65,
- 0x9E,
- 0x98,
- 0x98,
- 0x2A,
- 0x50,
- 0x54,
- 0x54,
- 0x49,
- 0x64,
- 0x59,
- 0x59,
- 0x62,
- 0x62,
- 0x62,
- 0x44,
- 0x5E,
- 0x9F,
- 0x91,
- 0x63,
- 0x63,
- 0x63,
- 0x57,
- 0x57,
- 0x2A,
- 0x64,
- 0x52,
- 0x5B,
- 0x5C,
- 0x5C,
- 0x5C,
- 0x5C,
- 0x59,
- 0x63,
- 0x75,
- 0x66,
- 0x69,
- 0x61,
- 0x67,
- 0x67,
- 0x67,
- 0x67,
- 0x65,
- 0x6A,
- 0x6A,
- 0x7B,
- 0x75,
- 0x75,
- 0x75,
- 0x75,
- 0x69,
- 0x69,
- 0x64,
- 0x64,
- 0x51,
- 0x67,
- 0x68,
- 0x68,
- 0x6F,
- 0x6F,
- 0x6F,
- 0x7F,
- 0x95,
- 0x9C,
- 0x87,
- 0x84,
- 0x8A,
- 0x72,
- 0x84,
- 0x84,
- 0x6D,
- 0x6D,
- 0x6A,
- 0x6A,
- 0x8D,
- 0x8D,
- 0x8D,
- 0x8D,
- 0x3B,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sTired[106] = {
+ 0x70, 0x70, 0x70, 0x5C, 0x5C, 0x5C, 0x6F, 0x6F, 0x6F, 0x93, 0x8C, 0x9A, 0x9D, 0x89, 0x99, 0x7A,
+ 0x91, 0x8D, 0x8D, 0x8D, 0x8D, 0x69, 0x69, 0x72, 0x72, 0x65, 0x65, 0x65, 0x9E, 0x98, 0x98, 0x2A,
+ 0x50, 0x54, 0x54, 0x49, 0x64, 0x59, 0x59, 0x62, 0x62, 0x62, 0x44, 0x5E, 0x9F, 0x91, 0x63, 0x63,
+ 0x63, 0x57, 0x57, 0x2A, 0x64, 0x52, 0x5B, 0x5C, 0x5C, 0x5C, 0x5C, 0x59, 0x63, 0x75, 0x66, 0x69,
+ 0x61, 0x67, 0x67, 0x67, 0x67, 0x65, 0x6A, 0x6A, 0x7B, 0x75, 0x75, 0x75, 0x75, 0x69, 0x69, 0x64,
+ 0x64, 0x51, 0x67, 0x68, 0x68, 0x6F, 0x6F, 0x6F, 0x7F, 0x95, 0x9C, 0x87, 0x84, 0x8A, 0x72, 0x84,
+ 0x84, 0x6D, 0x6D, 0x6A, 0x6A, 0x8D, 0x8D, 0x8D, 0x8D, 0x3B,
};
-COMPILER_STRIP_GATE(0x8039C718, &Z2MdnPrm::sTired);
/* 8039C784-8039C7F0 028DE4 006A+02 1/0 0/0 0/0 .rodata sSerious__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sSerious[106 + 2 /* padding */] = {
- 0x52,
- 0x65,
- 0x65,
- 0x72,
- 0x5A,
- 0x61,
- 0x61,
- 0x7B,
- 0x80,
- 0x92,
- 0x93,
- 0x9D,
- 0x9D,
- 0x70,
- 0x79,
- 0x76,
- 0x62,
- 0x57,
- 0x5A,
- 0x53,
- 0x53,
- 0x59,
- 0x59,
- 0x65,
- 0x63,
- 0x60,
- 0x60,
- 0x6A,
- 0x83,
- 0x80,
- 0x7F,
- 0x5D,
- 0x5C,
- 0x45,
- 0x5D,
- 0x71,
- 0x72,
- 0x65,
- 0x65,
- 0x65,
- 0x66,
- 0x4B,
- 0xB2,
- 0x60,
- 0x5C,
- 0x5C,
- 0x5C,
- 0x5B,
- 0x5F,
- 0x55,
- 0x55,
- 0x5E,
- 0x5E,
- 0x5F,
- 0x5B,
- 0x4D,
- 0x58,
- 0x60,
- 0x5B,
- 0x50,
- 0x50,
- 0x56,
- 0x56,
- 0x56,
- 0x7D,
- 0x6E,
- 0x72,
- 0x73,
- 0x73,
- 0x6A,
- 0x64,
- 0x54,
- 0x58,
- 0x57,
- 0x57,
- 0x5D,
- 0x5D,
- 0x64,
- 0x5F,
- 0x53,
- 0x53,
- 0x52,
- 0x54,
- 0x4D,
- 0x4D,
- 0x4D,
- 0x4D,
- 0x59,
- 0x59,
- 0x59,
- 0x69,
- 0x6B,
- 0x6B,
- 0x5A,
- 0x72,
- 0x69,
- 0x70,
- 0x60,
- 0x3C,
- 0x81,
- 0x81,
- 0x92,
- 0x92,
- 0x8E,
- 0x98,
- 0x87,
- /* padding */
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sSerious[106] = {
+ 0x52, 0x65, 0x65, 0x72, 0x5A, 0x61, 0x61, 0x7B, 0x80, 0x92, 0x93, 0x9D, 0x9D, 0x70, 0x79, 0x76,
+ 0x62, 0x57, 0x5A, 0x53, 0x53, 0x59, 0x59, 0x65, 0x63, 0x60, 0x60, 0x6A, 0x83, 0x80, 0x7F, 0x5D,
+ 0x5C, 0x45, 0x5D, 0x71, 0x72, 0x65, 0x65, 0x65, 0x66, 0x4B, 0xB2, 0x60, 0x5C, 0x5C, 0x5C, 0x5B,
+ 0x5F, 0x55, 0x55, 0x5E, 0x5E, 0x5F, 0x5B, 0x4D, 0x58, 0x60, 0x5B, 0x50, 0x50, 0x56, 0x56, 0x56,
+ 0x7D, 0x6E, 0x72, 0x73, 0x73, 0x6A, 0x64, 0x54, 0x58, 0x57, 0x57, 0x5D, 0x5D, 0x64, 0x5F, 0x53,
+ 0x53, 0x52, 0x54, 0x4D, 0x4D, 0x4D, 0x4D, 0x59, 0x59, 0x59, 0x69, 0x6B, 0x6B, 0x5A, 0x72, 0x69,
+ 0x70, 0x60, 0x3C, 0x81, 0x81, 0x92, 0x92, 0x8E, 0x98, 0x87,
};
-COMPILER_STRIP_GATE(0x8039C784, &Z2MdnPrm::sSerious);
/* 8039C7F0-8039C844 028E50 0054+00 1/0 0/0 0/0 .rodata sReplyb__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sReplyb[84] = {
+u8 const Z2MdnPrm::sReplyb[84] = {
0x5C, 0x45, 0x45, 0x71, 0x9F, 0x57, 0xB4, 0xB4, 0x56, 0x62, 0x8E, 0x61, 0x61, 0xB0,
0xB0, 0x3C, 0x59, 0x4A, 0x64, 0xA4, 0xA4, 0x5A, 0x5A, 0x5A, 0x5A, 0x72, 0x72, 0x4B,
0x6B, 0x97, 0x97, 0x59, 0x60, 0x60, 0x60, 0x69, 0x3E, 0x3E, 0x57, 0x42, 0x5E, 0x76,
@@ -1730,10 +616,9 @@ SECTION_RODATA u8 const Z2MdnPrm::sReplyb[84] = {
0x72, 0x8A, 0x2C, 0x1F, 0x1F, 0x95, 0x95, 0x69, 0x4C, 0x59, 0x59, 0x79, 0x5B, 0x44,
0x44, 0x4F, 0x52, 0x58, 0x5A, 0x6F, 0x6E, 0x8A, 0x8E, 0x8E, 0x8E, 0x8C, 0x8C, 0x9B,
};
-COMPILER_STRIP_GATE(0x8039C7F0, &Z2MdnPrm::sReplyb);
/* 8039C844-8039C8A8 028EA4 0064+00 1/0 0/0 0/0 .rodata sApologize__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sApologize[100] = {
+u8 const Z2MdnPrm::sApologize[100] = {
0x6A, 0x6A, 0x6A, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x57, 0x57, 0x57, 0x63, 0x61,
0x54, 0x54, 0x54, 0x54, 0x58, 0x58, 0x58, 0x58, 0x45, 0x45, 0x56, 0x56, 0x5B, 0x5B, 0x37,
0x53, 0x53, 0x53, 0x59, 0x59, 0x59, 0x49, 0x58, 0x58, 0x55, 0x56, 0x56, 0x83, 0x7F, 0x7F,
@@ -1742,28 +627,14 @@ SECTION_RODATA u8 const Z2MdnPrm::sApologize[100] = {
0x5B, 0x70, 0x72, 0x72, 0x72, 0x72, 0x6E, 0x76, 0x6B, 0x6B, 0x58, 0x69, 0x66, 0x66, 0x64,
0x64, 0x60, 0x61, 0x63, 0x6A, 0x62, 0x62, 0x64, 0x65, 0x71,
};
-COMPILER_STRIP_GATE(0x8039C844, &Z2MdnPrm::sApologize);
/* 8039C8A8-8039C8B4 028F08 0009+03 1/0 0/0 0/0 .rodata sApologizeTail__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sApologizeTail[9 + 3 /* padding */] = {
- 0x7C,
- 0x6E,
- 0x63,
- 0x71,
- 0x51,
- 0x37,
- 0x75,
- 0x58,
- 0x5C,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
+u8 const Z2MdnPrm::sApologizeTail[9] = {
+ 0x7C, 0x6E, 0x63, 0x71, 0x51, 0x37, 0x75, 0x58, 0x5C,
};
-COMPILER_STRIP_GATE(0x8039C8A8, &Z2MdnPrm::sApologizeTail);
/* 8039C8B4-8039C918 028F14 0064+00 1/0 0/0 0/0 .rodata sDeside__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sDeside[100] = {
+u8 const Z2MdnPrm::sDeside[100] = {
0x77, 0x77, 0x77, 0x58, 0x58, 0x6F, 0x78, 0x5F, 0x66, 0x5E, 0x6E, 0x62, 0x62, 0x2E, 0x5A,
0x58, 0x54, 0x52, 0x52, 0x5C, 0x59, 0x56, 0x56, 0x4B, 0x4B, 0x63, 0x63, 0x4D, 0x4E, 0x4A,
0x69, 0x71, 0x71, 0x76, 0x80, 0x80, 0x80, 0x73, 0x73, 0x5C, 0x7C, 0x64, 0x83, 0x89, 0x89,
@@ -1772,10 +643,9 @@ SECTION_RODATA u8 const Z2MdnPrm::sDeside[100] = {
0x62, 0x5D, 0x67, 0x5D, 0x5F, 0x62, 0x59, 0x5D, 0x55, 0x55, 0x48, 0x5F, 0x5F, 0x5F, 0x5D,
0x75, 0x6A, 0x66, 0x76, 0x69, 0x69, 0x69, 0x60, 0x60, 0x5F,
};
-COMPILER_STRIP_GATE(0x8039C8B4, &Z2MdnPrm::sDeside);
/* 8039C918-8039C980 028F78 0068+00 1/0 0/0 0/0 .rodata sAfford__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sAfford[104] = {
+u8 const Z2MdnPrm::sAfford[104] = {
0x4E, 0x45, 0x52, 0x5B, 0x56, 0x5B, 0x59, 0x52, 0x52, 0x57, 0x5C, 0x50, 0x50, 0x49, 0x80,
0x6E, 0x6E, 0x5A, 0x5C, 0x60, 0x6A, 0x62, 0x62, 0x6A, 0x71, 0x48, 0x4C, 0x5B, 0x5A, 0x40,
0x40, 0x49, 0x49, 0x50, 0x51, 0x51, 0x51, 0x3A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x57, 0x57,
@@ -1784,41 +654,32 @@ SECTION_RODATA u8 const Z2MdnPrm::sAfford[104] = {
0x7D, 0x6E, 0x56, 0x79, 0x79, 0x50, 0x4C, 0x50, 0x43, 0x52, 0x51, 0x66, 0x6C, 0x64, 0x63,
0x63, 0x5D, 0x69, 0x70, 0x56, 0x50, 0x4B, 0x92, 0x86, 0x8F, 0x4B, 0x4F, 0x57, 0x56,
};
-COMPILER_STRIP_GATE(0x8039C918, &Z2MdnPrm::sAfford);
/* 8039C980-8039C98C 028FE0 000C+00 1/0 0/0 0/0 .rodata sAffordTail__8Z2MdnPrm */
-SECTION_RODATA u8 const Z2MdnPrm::sAffordTail[12] = {
+u8 const Z2MdnPrm::sAffordTail[12] = {
0x63, 0x8E, 0x5B, 0x59, 0x4C, 0x3A, 0x69, 0x47, 0x41, 0x59, 0x50, 0x55,
};
-COMPILER_STRIP_GATE(0x8039C980, &Z2MdnPrm::sAffordTail);
/* 8039C98C-8039CA58 -00001 00CC+00 2/2 0/0 0/0 .rodata sPrm__8Z2MdnPrm */
-SECTION_RODATA sPrmStruct const Z2MdnPrm::sPrm[17] = {
- { (u8**)&Z2MdnPrm::sReply, (u8**)&Z2MdnPrm::sReplyTail, 0x32, 0x06, 0x04, 0x00},
- { (u8**)&Z2MdnPrm::sJoke, (u8**)&Z2MdnPrm::sJokeTail, 0x32, 0x03, 0x07, 0x00},
- { (u8**)&Z2MdnPrm::sSexy, (u8**)&Z2MdnPrm::sSexyTail, 0x32, 0x03, 0x07, 0x00},
- { (u8**)&Z2MdnPrm::sRidicule, (u8**)&Z2MdnPrm::sRidiculeTail, 0x32, 0x03, 0x07, 0x00},
- { (u8**)&Z2MdnPrm::sBoring, (u8**)&Z2MdnPrm::sBoringTail, 0x36, 0x01, 0x05, 0x00},
- { (u8**)&Z2MdnPrm::sIrritated, (u8**)&Z2MdnPrm::sIrritatedTail, 0x2F, 0x03, 0x07, 0x00},
- { (u8**)&Z2MdnPrm::sOrder, (u8**)&Z2MdnPrm::sOrderTail, 0x39, 0x02, 0x04, 0x00},
- { (u8**)&Z2MdnPrm::sResent, (u8**)&Z2MdnPrm::sResentTail, 0x35, 0x02, 0x03, 0x00},
- { (u8**)&Z2MdnPrm::sCheerful, (u8**)&Z2MdnPrm::sCheerfulTail, 0x35, 0x01, 0x07, 0x00},
- { (u8**)&Z2MdnPrm::sConfused, (u8**)&Z2MdnPrm::sConfusedTail, 0x35, 0x03, 0x02, 0x00},
- { (u8**)&Z2MdnPrm::sHostility, (u8**)&Z2MdnPrm::sHostilityTail, 0x34, 0x02, 0x05, 0x00},
- { (u8**)&Z2MdnPrm::sTired, (u8**)&Z2MdnPrm::sTiredTail, 0x35, 0x03, 0x05, 0x00},
- { (u8**)&Z2MdnPrm::sSerious, (u8**)&Z2MdnPrm::sSeriousTail, 0x35, 0x02, 0x05, 0x00},
- { (u8**)&Z2MdnPrm::sReplyb, (u8**)&Z2MdnPrm::sReplybTail, 0x2A, 0x04, 0x03, 0x00},
- { (u8**)&Z2MdnPrm::sApologize, (u8**)&Z2MdnPrm::sApologizeTail, 0x32, 0x04, 0x05, 0x00},
- { (u8**)&Z2MdnPrm::sDeside, (u8**)&Z2MdnPrm::sDesideTail, 0x32, 0x01, 0x07, 0x00},
- { (u8**)&Z2MdnPrm::sAfford, (u8**)&Z2MdnPrm::sAffordTail, 0x34, 0x02, 0x0A, 0x00},
+sPrmStruct const Z2MdnPrm::sPrm[17] = {
+ { Z2MdnPrm::sReply, Z2MdnPrm::sReplyTail, 0x32, 0x06, 0x04, 0x00},
+ { Z2MdnPrm::sJoke, Z2MdnPrm::sJokeTail, 0x32, 0x03, 0x07, 0x00},
+ { Z2MdnPrm::sSexy, Z2MdnPrm::sSexyTail, 0x32, 0x03, 0x07, 0x00},
+ { Z2MdnPrm::sRidicule, Z2MdnPrm::sRidiculeTail, 0x32, 0x03, 0x07, 0x00},
+ { Z2MdnPrm::sBoring, Z2MdnPrm::sBoringTail, 0x36, 0x01, 0x05, 0x00},
+ { Z2MdnPrm::sIrritated, Z2MdnPrm::sIrritatedTail, 0x2F, 0x03, 0x07, 0x00},
+ { Z2MdnPrm::sOrder, Z2MdnPrm::sOrderTail, 0x39, 0x02, 0x04, 0x00},
+ { Z2MdnPrm::sResent, Z2MdnPrm::sResentTail, 0x35, 0x02, 0x03, 0x00},
+ { Z2MdnPrm::sCheerful, Z2MdnPrm::sCheerfulTail, 0x35, 0x01, 0x07, 0x00},
+ { Z2MdnPrm::sConfused, Z2MdnPrm::sConfusedTail, 0x35, 0x03, 0x02, 0x00},
+ { Z2MdnPrm::sHostility, Z2MdnPrm::sHostilityTail, 0x34, 0x02, 0x05, 0x00},
+ { Z2MdnPrm::sTired, Z2MdnPrm::sTiredTail, 0x35, 0x03, 0x05, 0x00},
+ { Z2MdnPrm::sSerious, Z2MdnPrm::sSeriousTail, 0x35, 0x02, 0x05, 0x00},
+ { Z2MdnPrm::sReplyb, Z2MdnPrm::sReplybTail, 0x2A, 0x04, 0x03, 0x00},
+ { Z2MdnPrm::sApologize, Z2MdnPrm::sApologizeTail, 0x32, 0x04, 0x05, 0x00},
+ { Z2MdnPrm::sDeside, Z2MdnPrm::sDesideTail, 0x32, 0x01, 0x07, 0x00},
+ { Z2MdnPrm::sAfford, Z2MdnPrm::sAffordTail, 0x34, 0x02, 0x0A, 0x00},
};
-COMPILER_STRIP_GATE(0x8039C98C, &Z2MdnPrm::sPrm);
-
-/* 80455F48-80455F50 004548 0008+00 3/3 0/0 0/0 .sdata2 @4083 */
-SECTION_SDATA2 static f64 lit_4083 = 4503599627370496.0 /* cast u32 to float */;
-
-/* 80456BA8-80456BAC 000048 0002+02 1/1 0/0 0/0 .sbss2 @4003 */
-SECTION_SBSS2 static u8 lit_4003[2 + 2 /* padding */];
typedef struct {
u8 field_0x0;
@@ -1826,17 +687,18 @@ typedef struct {
} Z2ConnectCost;
/* 802CC4C0-802CC738 2C6E00 0278+00 2/2 0/0 0/0 .text selectUnit__12Z2SpeechMgr2Fb */
-// This one is a mess
-#ifdef NONMATCHING
+// NONMATCHING This one is a mess
void Z2SpeechMgr2::selectUnit(bool param_0) {
Z2ConnectCost local_3c[5];
if (field_0x401 >= 64) {
field_0x0->stop();
} else {
- s32 ZVar2 = random.get_uint8(Z2MdnPrm::sPrm[field_0x3fc].field_0x8);
+ int best = random.get_uint8(Z2MdnPrm::sPrm[field_0x3fc].field_0x8);
+
if (field_0x401 != 0 && param_0) {
- u8 cVar5 = 0;
- ZVar2 = field_0x402[field_0x401 - 1];
+ int cVar5 = 0;
+ int ZVar2 = field_0x402[field_0x401 - 1];
+
do {
bool bVar1;
int ZVar3;
@@ -1858,31 +720,26 @@ void Z2SpeechMgr2::selectUnit(bool param_0) {
}
}
} while (bVar1);
- local_3c[1].field_0x1 = J3DUD::JMAAbs((*Z2MdnPrm::sPrm[field_0x3fc].field_0x0)[ZVar3 * 2] - (*Z2MdnPrm::sPrm[field_0x3fc].field_0x0)[ZVar3 * 2 + 1]);
- local_3c[2].field_0x0 = ZVar3;
- local_3c[cVar5] = local_3c[2];
+ u8 diff = JMAAbs(Z2MdnPrm::sPrm[field_0x3fc].field_0x0[ZVar3 * 2]
+ - Z2MdnPrm::sPrm[field_0x3fc].field_0x0[ZVar2 * 2 + 1]);
+ local_3c[cVar5] = (Z2ConnectCost){ZVar3, diff};
cVar5++;
- } while (cVar5 != 5);
- for (int iVar4 = 0; /*ZVar2 = local_3c[0],*/ iVar4 < 5; iVar4++) {
- if (local_3c[iVar4].field_0x1 < local_3c[0].field_0x0) {
- local_3c[0].field_0x1 = local_3c[iVar4].field_0x1;
- local_3c[0].field_0x0 = local_3c[iVar4].field_0x0;
+ } while ((s8)cVar5 != 5);
+
+ best = local_3c[0].field_0x0;
+ u16 min = local_3c[0].field_0x1;
+ for (int iVar4 = 0; iVar4 < 5; iVar4++) {
+ if (local_3c[iVar4].field_0x1 < min) {
+ min = local_3c[iVar4].field_0x1;
+ best = local_3c[iVar4].field_0x0;
}
}
}
- field_0x402[field_0x401 - 1] = ZVar2;
+
+ field_0x402[field_0x401] = best;
field_0x401++;
}
}
-#else
-void Z2SpeechMgr2::selectUnit(bool param_0) {
- // NONMATCHING
-}
-#endif
-
-/* ############################################################################################## */
-/* 80456BAC-80456BB0 00004C 0002+02 1/1 0/0 0/0 .sbss2 @4104 */
-SECTION_SBSS2 static u8 lit_4104[2 + 2 /* padding */];
/* 802CC738-802CC9D0 2C7078 0298+00 1/1 0/0 0/0 .text selectTail__12Z2SpeechMgr2Fv */
void Z2SpeechMgr2::selectTail() {
@@ -1923,13 +780,6 @@ bool Z2SpeechMgr2::isMidnaSpeak() {
/* 802CCFB8-802CCFF8 2C78F8 0040+00 1/1 0/0 0/0 .text __ct__15Z2SpeechStarterFv */
Z2SpeechStarter::Z2SpeechStarter() : Z2SoundStarter(false) {}
-/* ############################################################################################## */
-/* 80455F50-80455F54 004550 0004+00 1/1 0/0 0/0 .sdata2 @4571 */
-SECTION_SDATA2 static f32 lit_4571 = 7.0f / 100.0f;
-
-/* 80455F54-80455F58 004554 0004+00 1/1 0/0 0/0 .sdata2 @4572 */
-SECTION_SDATA2 static f32 lit_4572 = 0.5f;
-
/* 802CCFF8-802CD248 2C7938 0250+00 1/0 0/0 0/0 .text
* startSound__15Z2SpeechStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f>UlfffffUl */
bool Z2SpeechStarter::startSound(JAISoundID param_0, JAISoundHandle* param_1,
diff --git a/src/Z2AudioLib/Z2StatusMgr.cpp b/src/Z2AudioLib/Z2StatusMgr.cpp
index c5fe617970..8adc97d924 100644
--- a/src/Z2AudioLib/Z2StatusMgr.cpp
+++ b/src/Z2AudioLib/Z2StatusMgr.cpp
@@ -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 */ \ No newline at end of file
+/* 8039BC88-8039BC88 0282E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/Z2AudioLib/Z2WolfHowlMgr.cpp b/src/Z2AudioLib/Z2WolfHowlMgr.cpp
index e34915e55d..f8030a3c77 100644
--- a/src/Z2AudioLib/Z2WolfHowlMgr.cpp
+++ b/src/Z2AudioLib/Z2WolfHowlMgr.cpp
@@ -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();
-} \ No newline at end of file
+}