JAUSectionHeap, Z2SoundInfo, others (#1925)

* Z2SoundInfo

* JAUSectionHeap

* Z2EnvSeMgr

* Z2AudioMgr

* m_Do_audio

* d_a_alink
This commit is contained in:
Jcw87
2023-09-15 15:20:09 +03:00
committed by GitHub
parent f834379a8b
commit 287ae62349
159 changed files with 1349 additions and 1511 deletions
+1 -1
View File
@@ -138,7 +138,7 @@ u8 JASAramStream::sLoadThread[4];
u8 JASAramStream::sReadBuffer[4];
/* 80451258-8045125C 000758 0004+00 6/6 1/1 0/0 .sbss sBlockSize__13JASAramStream */
u8 JASAramStream::sBlockSize[4];
u32 JASAramStream::sBlockSize;
/* 8045125C-80451260 00075C 0004+00 1/1 0/0 0/0 .sbss sChannelMax__13JASAramStream */
u8 JASAramStream::sChannelMax[4];
+2 -31
View File
@@ -14,12 +14,6 @@ struct JKRHeap {
/* 802CE72C */ void getFreeSize();
};
struct JASOscillator {
struct Point {};
struct Data {};
};
template <typename A0>
struct JASMemPool_MultiThreaded {};
/* JASMemPool_MultiThreaded<JASChannel> */
@@ -61,29 +55,6 @@ struct JASBasicBank {
/* 80297E80 */ void getInst(int) const;
};
struct JASBNKParser {
struct Ver1 {
/* 80299600 */ void findChunk(void const*, u32);
/* 8029963C */ void createBasicBank(void const*, JKRHeap*);
};
struct Ver0 {
struct THeader {};
struct TOsc {};
/* 80299A3C */ void createBasicBank(void const*, JKRHeap*);
/* 80299E68 */ void findOscPtr(JASBasicBank*, JASBNKParser::Ver0::THeader const*,
JASBNKParser::Ver0::TOsc const*);
/* 80299F8C */ void getOscTableEndPtr(JASOscillator::Point const*);
};
/* 80299538 */ void createBank(void const*, JKRHeap*);
/* 80299558 */ void createBasicBank(void const*, JKRHeap*);
static u8 sUsedHeapSize[4];
};
//
// Forward References:
//
@@ -148,7 +119,7 @@ extern "C" extern u8 JASDram[4];
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASBNKParser::createBank(void const* param_0, JKRHeap* param_1) {
asm JASBank* JASBNKParser::createBank(void const* param_0, JKRHeap* param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASBNKParser/createBank__12JASBNKParserFPCvP7JKRHeap.s"
}
@@ -163,7 +134,7 @@ u8 JASBNKParser::sUsedHeapSize[4];
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASBNKParser::createBasicBank(void const* param_0, JKRHeap* param_1) {
asm JASBasicBank* JASBNKParser::createBasicBank(void const* param_0, JKRHeap* param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASBNKParser/createBasicBank__12JASBNKParserFPCvP7JKRHeap.s"
}
-1
View File
@@ -141,7 +141,6 @@ extern "C" u32 FILTER_MODE_IIR__6JASDsp;
// External References:
//
SECTION_INIT void memset();
extern "C" void __ct__17JASGenericMemPoolFv();
extern "C" void __dt__17JASGenericMemPoolFv();
extern "C" void alloc__17JASGenericMemPoolFUl();
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -152,7 +152,7 @@ void JAUDynamicSeqDataBlocks::setSeqDataArchive(JKRArchive* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUDynamicSeqDataBlocks::getSeqData(JAISoundID param_0, JAISeqDataUser* param_1,
asm s32 JAUDynamicSeqDataBlocks::getSeqData(JAISoundID param_0, JAISeqDataUser* param_1,
JAISeqData* param_2, bool param_3) {
nofralloc
#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/func_802A6AA8.s"
@@ -164,7 +164,7 @@ asm void JAUDynamicSeqDataBlocks::getSeqData(JAISoundID param_0, JAISeqDataUser*
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUDynamicSeqDataBlocks::appendDynamicSeqDataBlock(JAUSeqDataBlock* param_0) {
asm bool JAUDynamicSeqDataBlocks::appendDynamicSeqDataBlock(JAUSeqDataBlock* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/appendDynamicSeqDataBlock__23JAUDynamicSeqDataBlocksFP15JAUSeqDataBlock.s"
}
@@ -186,7 +186,7 @@ static asm void JAUDynamicSeqDataBlocks_receiveLoaded_(u32 param_0, u32 param_1)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUDynamicSeqDataBlocks::loadDynamicSeq(JAISoundID param_0, bool param_1,
asm bool JAUDynamicSeqDataBlocks::loadDynamicSeq(JAISoundID param_0, bool param_1,
JAISeqDataUser* param_2) {
nofralloc
#include "asm/JSystem/JAudio2/JAUSeqDataBlockMgr/loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser.s"
+1 -1
View File
@@ -38,7 +38,7 @@ asm void JAUSoundTable::init(void const* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JAUSoundTable::getTypeID(JAISoundID param_0) const {
asm u8 JAUSoundTable::getTypeID(JAISoundID param_0) const {
nofralloc
#include "asm/JSystem/JAudio2/JAUSoundTable/getTypeID__13JAUSoundTableCF10JAISoundID.s"
}
+2 -2
View File
@@ -38,8 +38,8 @@ const char* JAUStreamFileTable::getFilePath(int index) const {
/* 802A74AC-802A74E8 2A1DEC 003C+00 1/0 0/0 0/0 .text
* getStreamFileEntry__32JAUStreamDataMgr_StreamFileTableF10JAISoundID */
int JAUStreamDataMgr_StreamFileTable::getStreamFileEntry(JAISoundID soundId) {
const char* filePath = mStreamFileTable.getFilePath(soundId.mId.mAdvancedId.mShortId);
s32 JAUStreamDataMgr_StreamFileTable::getStreamFileEntry(JAISoundID soundId) {
const char* filePath = getFilePath(soundId.mId.mAdvancedId.mShortId);
if (filePath == NULL) {
return -1;
}
+1 -1
View File
@@ -110,7 +110,7 @@ asm Z2AudioArcLoader::Z2AudioArcLoader(JAUSection* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2AudioArcLoader::readCommandMore(u32 param_0) {
asm bool Z2AudioArcLoader::readCommandMore(u32 param_0) {
nofralloc
#include "asm/Z2AudioLib/Z2AudioArcLoader/readCommandMore__16Z2AudioArcLoaderFUl.s"
}
+118 -72
View File
@@ -6,6 +6,14 @@
#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/Z2SoundHandles.h"
#include "MSL_C/stdio.h"
#include "MSL_C/stdlib.h"
#include "dol2asm.h"
@@ -27,73 +35,6 @@ struct Z2Param {
static f32 VOL_SE_ATMOSPHERE_DEFAULT;
};
struct JAUSection {
/* 802A50F8 */ void finishBuild();
};
struct Z2AudioArcLoader {
/* 802A9A34 */ Z2AudioArcLoader(JAUSection*);
};
struct JAU_JASInitializer {
/* 802A4AD0 */ JAU_JASInitializer();
/* 802A4B28 */ void initJASystem(JKRSolidHeap*);
};
struct JAU_JAIInitializer {
/* 802A4D3C */ JAU_JAIInitializer();
/* 802A4D60 */ void initJAInterface();
};
template <typename A0>
struct JAUStreamStaticAramMgr_ {};
/* JAUStreamStaticAramMgr_<1> */
struct JAUStreamStaticAramMgr___template0 {
/* 802CDB68 */ void func_802CDB68(void* _this);
/* 802CDC08 */ void func_802CDC08(void* _this, u32);
/* 802CDCEC */ void func_802CDCEC(void* _this, u32*);
};
template <typename A0>
struct JAUStreamAramMgrBase_ {};
/* JAUStreamAramMgrBase_<1> */
struct JAUStreamAramMgrBase___template0 {
/* 802CD7F8 */ void func_802CD7F8(void* _this);
};
struct JAUSectionHeap {
/* 802A5E60 */ void setSeqDataArchive(JKRArchive*);
/* 802A60AC */ void newDynamicSeqBlock(u32);
};
struct JAUAudioArcLoader {
/* 802A478C */ void load(void const*);
};
struct JAUAudioArcInterpreter {
/* 802A4260 */ ~JAUAudioArcInterpreter();
};
struct JASSeqParser {
static u8 sCallBackFunc[4];
};
struct JASResArcLoader {
/* 80290C04 */ void getResMaxSize(JKRArchive const*);
};
struct JASAramStream {
static u8 sBlockSize[4];
};
struct JAIStreamAramMgr {
/* 802A3B20 */ ~JAIStreamAramMgr();
};
struct JAISoundInfo {
/* 802A2D34 */ JAISoundInfo(bool);
};
//
// Forward References:
//
@@ -228,6 +169,14 @@ SECTION_DATA extern void* __vt__10Z2AudioMgr[3] = {
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
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -236,6 +185,7 @@ asm Z2AudioMgr::Z2AudioMgr() {
#include "asm/Z2AudioLib/Z2AudioMgr/__ct__10Z2AudioMgrFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 8039CA58-8039CA58 0290B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -277,6 +227,90 @@ 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
void Z2AudioMgr::init(JKRSolidHeap* param_0, u32 param_1, void* param_2, JKRArchive* param_3) {
JAU_JASInitializer stack_60;
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;
stack_80.mItems[1].mMaxActiveSe = 2;
stack_80.mItems[1].mMaxInactiveSe = 1;
stack_80.mItems[2].mMaxActiveSe = 6;
stack_80.mItems[2].mMaxInactiveSe = 3;
stack_80.mItems[3].mMaxActiveSe = 16;
stack_80.mItems[3].mMaxInactiveSe = 8;
stack_80.mItems[4].mMaxActiveSe = 8;
stack_80.mItems[4].mMaxInactiveSe = 4;
stack_80.mItems[5].mMaxActiveSe = 6;
stack_80.mItems[5].mMaxInactiveSe = 3;
stack_80.mItems[6].mMaxActiveSe = 6;
stack_80.mItems[6].mMaxInactiveSe = 3;
stack_80.mItems[7].mMaxActiveSe = 12;
stack_80.mItems[7].mMaxInactiveSe = 8;
stack_80.mItems[8].mMaxActiveSe = 10;
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->getParams()->moveVolume(1.0f, 0);
JAISeqMgr* seqMgr = mSoundMgr.getSeqMgr();
seqMgr->getParams()->moveVolume(1.0f, 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);
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());
JAUSectionHeap* sectionHeap = JAUNewSectionHeap(true);
sectionHeap->setSeqDataArchive(param_3);
size_t resMaxSize = JASResArcLoader::getResMaxSize(param_3);
sectionHeap->newDynamicSeqBlock(0xe00);
sectionHeap->newDynamicSeqBlock(0x17e0);
sectionHeap->newDynamicSeqBlock(0x5380);
sectionHeap->newDynamicSeqBlock(resMaxSize);
Z2AudioArcLoader stack_a0(sectionHeap);
bool baaLoadResult = stack_a0.load(param_2);
JUT_ASSERT("Z2AudioMgr.cpp", 0xfc, baaLoadResult);
seqMgr->setSeqDataMgr(sectionHeap->getSeqDataMgr());
if (sectionHeap->getStreamDataMgr()) {
streamMgr->setStreamDataMgr(sectionHeap->getStreamDataMgr());
} else {
streamMgr->setStreamDataMgr(&mSoundInfo);
}
sectionHeap->finishBuild();
initSe();
JASSeqParser::registerSeqCallback(seqCallback);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -285,6 +319,7 @@ asm void Z2AudioMgr::init(JKRSolidHeap* param_0, u32 param_1, void* param_2, JKR
#include "asm/Z2AudioLib/Z2AudioMgr/init__10Z2AudioMgrFP12JKRSolidHeapUlPvP10JKRArchive.s"
}
#pragma pop
#endif
/* 802CD7F8-802CD888 2C8138 0090+00 1/0 0/0 0/0 .text __dt__24JAUStreamAramMgrBase_<1>Fv
*/
@@ -306,11 +341,11 @@ void Z2AudioMgr::setOutputMode(u32 mode) {
/* 802CD8B4-802CD904 2C81F4 0050+00 1/1 0/0 0/0 .text zeldaGFrameWork__10Z2AudioMgrFv */
void Z2AudioMgr::zeldaGFrameWork() {
mStatusMgr.processTime();
processTime();
mSpeechMgr.framework();
mSeMgr.processSeFramework();
mSeqMgr.processBgmFramework();
mStatusMgr.processHeartGaugeSound();
processSeFramework();
processBgmFramework();
processHeartGaugeSound();
}
/* 802CD904-802CD974 2C8244 0070+00 0/0 1/1 0/0 .text gframeProcess__10Z2AudioMgrFv */
@@ -322,7 +357,7 @@ void Z2AudioMgr::gframeProcess() {
}
} else {
mSoundMgr.framework();
mSceneMgr.framework();
framework();
}
}
@@ -378,6 +413,16 @@ asm bool Z2AudioMgr::hasReset() const {
/* 802CDB1C-802CDB68 2C845C 004C+00 1/0 1/0 0/0 .text
* startSound__10Z2AudioMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3<f> */
// vtable order
#ifdef NONMATCHING
int Z2AudioMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
JGeometry::TVec3<f32> const* param_2) {
if (mResettingFlag) {
return 0;
}
return mSoundMgr.startSound(param_0, param_1, param_2);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -388,6 +433,7 @@ extern "C" asm void func_802CDB1C() {
#include "asm/Z2AudioLib/Z2AudioMgr/func_802CDB1C.s"
}
#pragma pop
#endif
/* 802CDB68-802CDC08 2C84A8 00A0+00 1/0 0/0 0/0 .text __dt__26JAUStreamStaticAramMgr_<1>Fv */
#pragma push
+77 -58
View File
@@ -164,24 +164,12 @@ extern "C" extern u8 __OSReport_disable;
//
/* 802C589C-802C58AC 2C01DC 0010+00 3/3 0/0 0/0 .text __ct__11Z2EnvSeBaseFP3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm Z2EnvSeBase::Z2EnvSeBase(Vec* param_0) {
nofralloc
#include "asm/Z2AudioLib/Z2EnvSeMgr/__ct__11Z2EnvSeBaseFP3Vec.s"
Z2EnvSeBase::Z2EnvSeBase(Vec* param_0) {
mPos = param_0;
}
#pragma pop
/* 802C58AC-802C5908 2C01EC 005C+00 3/3 0/0 0/0 .text __dt__11Z2EnvSeBaseFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm Z2EnvSeBase::~Z2EnvSeBase() {
nofralloc
#include "asm/Z2AudioLib/Z2EnvSeMgr/__dt__11Z2EnvSeBaseFv.s"
}
#pragma pop
Z2EnvSeBase::~Z2EnvSeBase() {}
/* ############################################################################################## */
/* 80455D40-80455D44 004340 0004+00 2/2 0/0 0/0 .sdata2 @3501 */
@@ -237,31 +225,25 @@ asm void Z2EnvSeBase::startEnvSeLevel(JAISoundID param_0, f32 param_1, f32 param
/* ############################################################################################## */
/* 8039C250-8039C260 0288B0 000C+04 2/2 0/0 0/0 .rodata cNullVec__6Z2Calc */
SECTION_RODATA static u8 const cNullVec__6Z2Calc[12 + 4 /* padding */] = {
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
/* padding */
0x00,
0x00,
0x00,
0x00,
};
SECTION_RODATA static Vec const cNullVec__6Z2Calc = {0.0f, 0.0f, 0.0f};
COMPILER_STRIP_GATE(0x8039C250, &cNullVec__6Z2Calc);
/* 80455D60-80455D64 004360 0004+00 10/10 0/0 0/0 .sdata2 @3574 */
SECTION_SDATA2 static f32 lit_3574 = 0.5f;
/* 802C5C9C-802C5D1C 2C05DC 0080+00 1/1 0/0 0/0 .text __ct__10Z2EnvSeDirFP3Vec */
// matches with literals
#ifdef NONMATCHING
Z2EnvSeDir::Z2EnvSeDir(Vec* param_0) {
field_0x8 = 0.5f;
field_0xc = 0.5f;
if (param_0) {
setPanDir(param_0);
} else {
mPanDir = cNullVec__6Z2Calc;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -270,22 +252,24 @@ asm Z2EnvSeDir::Z2EnvSeDir(Vec* param_0) {
#include "asm/Z2AudioLib/Z2EnvSeMgr/__ct__10Z2EnvSeDirFP3Vec.s"
}
#pragma pop
#endif
/* 802C5D1C-802C5D70 2C065C 0054+00 1/1 0/0 0/0 .text __dt__10Z2EnvSeDirFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm Z2EnvSeDir::~Z2EnvSeDir() {
nofralloc
#include "asm/Z2AudioLib/Z2EnvSeMgr/__dt__10Z2EnvSeDirFv.s"
}
#pragma pop
Z2EnvSeDir::~Z2EnvSeDir() {}
/* ############################################################################################## */
/* 80455D64-80455D68 004364 0004+00 1/1 0/0 0/0 .sdata2 @3585 */
SECTION_SDATA2 static f32 lit_3585 = -1000.0f;
/* 802C5D70-802C5D9C 2C06B0 002C+00 2/2 0/0 0/0 .text setPanDir__10Z2EnvSeDirFP3Vec */
// matches with literals
#ifdef NONMATCHING
void Z2EnvSeDir::setPanDir(Vec* dir) {
mPanDir.x = dir->x * -1000.0f;
mPanDir.y = dir->y * -1000.0f;
mPanDir.z = dir->z * -1000.0f;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -294,6 +278,7 @@ asm void Z2EnvSeDir::setPanDir(Vec* param_0) {
#include "asm/Z2AudioLib/Z2EnvSeMgr/setPanDir__10Z2EnvSeDirFP3Vec.s"
}
#pragma pop
#endif
/* 802C5D9C-802C5E90 2C06DC 00F4+00 1/1 0/0 0/0 .text calcPan__10Z2EnvSeDirFf */
#pragma push
@@ -324,6 +309,17 @@ SECTION_SDATA2 static f32 lit_3654 = 0.0018554000416770577f;
SECTION_SDATA2 static f32 lit_3655 = 0.0008553999941796064f;
/* 802C5ECC-802C5F28 2C080C 005C+00 1/1 0/0 0/0 .text __ct__14Z2EnvSeAutoPanFv */
// matches with literals
#ifdef NONMATCHING
Z2EnvSeAutoPan::Z2EnvSeAutoPan() {
field_0x8 = 0.5f;
field_0xc = 0.5f;
field_0x10 = 0.0018554000416770577f;
field_0x14 = 0.0008553999941796064f;
field_0x18 = 1;
field_0x19 = 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -332,16 +328,10 @@ asm Z2EnvSeAutoPan::Z2EnvSeAutoPan() {
#include "asm/Z2AudioLib/Z2EnvSeMgr/__ct__14Z2EnvSeAutoPanFv.s"
}
#pragma pop
#endif
/* 802C5F28-802C5F7C 2C0868 0054+00 1/1 0/0 0/0 .text __dt__14Z2EnvSeAutoPanFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm Z2EnvSeAutoPan::~Z2EnvSeAutoPan() {
nofralloc
#include "asm/Z2AudioLib/Z2EnvSeMgr/__dt__14Z2EnvSeAutoPanFv.s"
}
#pragma pop
Z2EnvSeAutoPan::~Z2EnvSeAutoPan() {}
/* 802C5F7C-802C5F98 2C08BC 001C+00 2/2 0/0 0/0 .text setPanParam__14Z2EnvSeAutoPanFffbbff */
#pragma push
@@ -472,6 +462,41 @@ SECTION_SDATA2 static f32 lit_3776 = 0.0010000000474974513f;
SECTION_SDATA2 static f32 lit_3777 = 0.0037908784579485655f;
/* 802C611C-802C6540 2C0A5C 0424+00 0/0 1/1 0/0 .text __ct__10Z2EnvSeMgrFv */
// matches with literals
#ifdef NONMATCHING
Z2EnvSeMgr::Z2EnvSeMgr()
: JASGlobalInstance<Z2EnvSeMgr>(this), field_0x38(), field_0x48(1.0f), field_0x4c(1.0f),
field_0x50(1.0f), field_0x140(), mSnowPower(), mWindType(), field_0x188(), field_0x1ac(1.0f),
field_0x1b0(1.0f), field_0x1b4(1.0f), field_0x1b8(), field_0x1e0(), field_0x1e4(1.0f),
field_0x1e8(1.0f), field_0x1ec(1.0f), field_0x214(), field_0x218(1.0f), field_0x21c(1.0f),
field_0x220(1.0f), field_0x248(), field_0x24c(1.0f), field_0x250(1.0f), field_0x254(1.0f),
field_0x27c(), field_0x280(1.0f), field_0x284(1.0f), field_0x288(1.0f), field_0x2b0(),
field_0x2b4(1.0f), field_0x2b8(1.0f), field_0x2bc(1.0f), field_0x2e4(), mFogDensity() {
field_0x3c = 0.0f;
field_0x40 = 0.0f;
field_0x44 = 0.0f;
field_0x54 = 0.0f;
field_0x58 = 0.0f;
field_0x5c = 0.0f;
field_0x39 = 0;
field_0x2e8.setParam(0.1f, 0.007823764f, 0.06f);
field_0x2f8.setParam(0.2f, 0.007823764f, 0.06f);
field_0x90.setParam(0.1f, 0.02630252f, 0.005f);
field_0xa0.setParam(0.9f, 0.02331011f, 0.003f);
field_0xb0.setParam(0.2f, 0.006385157f, 0.004f);
field_0xc0.setParam(0.8f, 0.006188805f, 0.0045f);
field_0xd0.setParam(0.3f, 0.05343298f, 0.002f);
field_0xe0.setParam(0.7f, 0.04256627f, 0.0025f);
field_0xf0.setParam(0.4f, 0.01293395f, 0.006f);
field_0x100.setParam(0.6f, 0.01215741f, 0.0065f);
field_0x18c.setParam(0.1f, 0.02331011f, 0.005f);
field_0x19c.setParam(0.5f, 0.05343298f, 0.0025f);
field_0x64.setVolumeScale(1.0f);
field_0x2c0.setVolumeScale(1.0f);
field_0x120.setParam(0.5f, 0.02092357f, 0.001f);
field_0x130.setParam(0.1f, 0.003790878f, 0.005f);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -480,16 +505,10 @@ asm Z2EnvSeMgr::Z2EnvSeMgr() {
#include "asm/Z2AudioLib/Z2EnvSeMgr/__ct__10Z2EnvSeMgrFv.s"
}
#pragma pop
#endif
/* 802C6540-802C66B0 2C0E80 0170+00 0/0 1/1 0/0 .text __dt__10Z2EnvSeMgrFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm Z2EnvSeMgr::~Z2EnvSeMgr() {
nofralloc
#include "asm/Z2AudioLib/Z2EnvSeMgr/__dt__10Z2EnvSeMgrFv.s"
}
#pragma pop
Z2EnvSeMgr::~Z2EnvSeMgr() {}
/* ############################################################################################## */
/* 80455DEC-80455DF0 0043EC 0004+00 1/1 0/0 0/0 .sdata2 @3928 */
-1
View File
@@ -139,7 +139,6 @@ extern "C" void _savegpr_16();
extern "C" void _savegpr_29();
extern "C" void _restgpr_16();
extern "C" void _restgpr_29();
extern "C" void strcmp();
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 struct_80450860[4];
+26 -38
View File
@@ -4,7 +4,12 @@
//
#include "Z2AudioLib/Z2SoundInfo.h"
#include "JSystem/JAudio2/JAISeq.h"
#include "JSystem/JAudio2/JAUAudibleParam.h"
#include "JSystem/JAudio2/JAUSoundTable.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "dol2asm.h"
#include "dolphin/dvd/dvd.h"
//
// Types:
@@ -19,11 +24,6 @@ struct JAUStdSoundTableType {
static u32 STRM_CH_SHIFT;
};
struct JAUSoundTable {
/* 802A7160 */ void getTypeID(JAISoundID) const;
/* 802A728C */ void getData(JAISoundID) const;
};
//
// Forward References:
//
@@ -59,7 +59,6 @@ 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 DVDConvertPathToEntrynum();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
@@ -81,37 +80,35 @@ extern "C" extern u8 __OSReport_disable;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2SoundInfo::getBgmSeqResourceID(JAISoundID param_0) const {
asm u16 Z2SoundInfo::getBgmSeqResourceID(JAISoundID param_0) const {
nofralloc
#include "asm/Z2AudioLib/Z2SoundInfo/getBgmSeqResourceID__11Z2SoundInfoCF10JAISoundID.s"
}
#pragma pop
/* 802BB090-802BB0D8 2B59D0 0048+00 1/0 0/0 0/0 .text getSoundType__11Z2SoundInfoCF10JAISoundID */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2SoundInfo::getSoundType(JAISoundID param_0) const {
nofralloc
#include "asm/Z2AudioLib/Z2SoundInfo/getSoundType__11Z2SoundInfoCF10JAISoundID.s"
u32 Z2SoundInfo::getSoundType(JAISoundID param_0) const {
switch (param_0.mId.mBytes.b0) {
case 0:
return 0;
case 1:
return 1;
case 2:
return 2;
}
return -1;
}
#pragma pop
/* 802BB0D8-802BB0E0 2B5A18 0008+00 1/0 0/0 0/0 .text getCategory__11Z2SoundInfoCF10JAISoundID */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2SoundInfo::getCategory(JAISoundID param_0) const {
nofralloc
#include "asm/Z2AudioLib/Z2SoundInfo/getCategory__11Z2SoundInfoCF10JAISoundID.s"
int Z2SoundInfo::getCategory(JAISoundID param_0) const {
return param_0.mId.mBytes.b1;
}
#pragma pop
/* 802BB0E0-802BB158 2B5A20 0078+00 1/0 0/0 0/0 .text getPriority__11Z2SoundInfoCF10JAISoundID */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2SoundInfo::getPriority(JAISoundID param_0) const {
asm u32 Z2SoundInfo::getPriority(JAISoundID param_0) const {
nofralloc
#include "asm/Z2AudioLib/Z2SoundInfo/getPriority__11Z2SoundInfoCF10JAISoundID.s"
}
@@ -185,14 +182,9 @@ asm void Z2SoundInfo::getSeInfo(JAISoundID param_0, JAISe* param_1) const {
/* 802BB8B4-802BB8E0 2B61F4 002C+00 1/0 0/0 0/0 .text
* getSeqInfo__11Z2SoundInfoCF10JAISoundIDP6JAISeq */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2SoundInfo::getSeqInfo(JAISoundID param_0, JAISeq* param_1) const {
nofralloc
#include "asm/Z2AudioLib/Z2SoundInfo/getSeqInfo__11Z2SoundInfoCF10JAISoundIDP6JAISeq.s"
void Z2SoundInfo::getSeqInfo(JAISoundID param_0, JAISeq* param_1) const {
getSoundInfo_(param_0, param_1);
}
#pragma pop
/* ############################################################################################## */
/* 80455A90-80455A94 004090 0004+00 1/1 0/0 0/0 .sdata2 STRM_CH_SHIFT__20JAUStdSoundTableType */
@@ -217,7 +209,7 @@ asm void Z2SoundInfo::getStreamInfo(JAISoundID param_0, JAIStream* param_1) cons
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2SoundInfo::getStreamFilePath(JAISoundID param_0) {
asm const char* Z2SoundInfo::getStreamFilePath(JAISoundID param_0) {
nofralloc
#include "asm/Z2AudioLib/Z2SoundInfo/getStreamFilePath__11Z2SoundInfoF10JAISoundID.s"
}
@@ -225,20 +217,16 @@ asm void Z2SoundInfo::getStreamFilePath(JAISoundID param_0) {
/* 802BBA88-802BBAC8 2B63C8 0040+00 2/1 0/0 0/0 .text
* getStreamFileEntry__11Z2SoundInfoF10JAISoundID */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2SoundInfo::getStreamFileEntry(JAISoundID param_0) {
nofralloc
#include "asm/Z2AudioLib/Z2SoundInfo/getStreamFileEntry__11Z2SoundInfoF10JAISoundID.s"
s32 Z2SoundInfo::getStreamFileEntry(JAISoundID param_0) {
const char* path = getStreamFilePath(param_0);
return !path ? -1 : DVDConvertPathToEntrynum(path);
}
#pragma pop
/* 802BBAC8-802BBB48 2B6408 0080+00 3/3 4/4 0/0 .text getSwBit__11Z2SoundInfoCF10JAISoundID */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2SoundInfo::getSwBit(JAISoundID param_0) const {
asm int Z2SoundInfo::getSwBit(JAISoundID param_0) const {
nofralloc
#include "asm/Z2AudioLib/Z2SoundInfo/getSwBit__11Z2SoundInfoCF10JAISoundID.s"
}
+2 -2
View File
@@ -158,7 +158,7 @@ SECTION_SDATA2 static f32 lit_3689 = -1.0f;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void seqCallback(JASTrack* param_0, u16 param_1) {
asm u16 seqCallback(JASTrack* param_0, u16 param_1) {
nofralloc
#include "asm/Z2AudioLib/Z2SoundMgr/seqCallback__FP8JASTrackUs.s"
}
@@ -212,7 +212,7 @@ SECTION_SDATA2 static f64 lit_3909 = 4503599627370496.0 /* cast u32 to float */;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2SoundMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
asm int Z2SoundMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
JGeometry::TVec3<f32> const* param_2) {
nofralloc
#include "asm/Z2AudioLib/Z2SoundMgr/func_802A9EE8.s"
-1
View File
@@ -52,7 +52,6 @@ extern "C" void _savegpr_23();
extern "C" void _savegpr_27();
extern "C" void _restgpr_23();
extern "C" void _restgpr_27();
extern "C" void strcmp();
extern "C" extern u8 data_80450B80[4];
extern "C" extern Z2SeqMgr* data_80450B84;
extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */];