diff options
| author | jdflyer <jdflyer10@gmail.com> | 2022-12-24 12:47:48 -0700 |
|---|---|---|
| committer | jdflyer <jdflyer10@gmail.com> | 2022-12-24 12:47:48 -0700 |
| commit | ae040aa688d6937ded96ea46e5ab804019d1ee85 (patch) | |
| tree | d8bf6182e5dfb244218215fdd3352433b5382842 /libs | |
| parent | e0c23673db94cae6729ec0827a67219d5b114814 (diff) | |
Old JAudio changes
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/JSystem/JAudio2/JAISound.cpp | 167 | ||||
| -rw-r--r-- | libs/JSystem/JAudio2/JASAudioReseter.cpp | 78 | ||||
| -rw-r--r-- | libs/JSystem/JAudio2/JASAudioThread.cpp | 12 | ||||
| -rw-r--r-- | libs/JSystem/JAudio2/dspproc.cpp | 61 | ||||
| -rw-r--r-- | libs/Z2AudioLib/Z2Audience.cpp | 4 | ||||
| -rw-r--r-- | libs/Z2AudioLib/Z2SceneMgr.cpp | 14 |
6 files changed, 197 insertions, 139 deletions
diff --git a/libs/JSystem/JAudio2/JAISound.cpp b/libs/JSystem/JAudio2/JAISound.cpp index 2f943947c1..9f9e3162d1 100644 --- a/libs/JSystem/JAudio2/JAISound.cpp +++ b/libs/JSystem/JAudio2/JAISound.cpp @@ -6,6 +6,7 @@ #include "JSystem/JAudio2/JAISound.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "JSystem/JAudio2/JASReport.h" // // Forward References: @@ -79,8 +80,8 @@ void JAISound::attachHandle(JAISoundHandle* handle) { /* 802A2220-802A2244 29CB60 0024+00 0/0 2/2 0/0 .text lockWhenPrepared__15JAISoundStatus_Fv */ s32 JAISoundStatus_::lockWhenPrepared() { - if (state[0] == 0) { - state[0] = 1; + if (state.unk == 0) { + state.unk = 1; return 1; } return 0; @@ -89,12 +90,12 @@ s32 JAISoundStatus_::lockWhenPrepared() { /* 802A2244-802A2280 29CB84 003C+00 0/0 2/2 0/0 .text unlockIfLocked__15JAISoundStatus_Fv */ s32 JAISoundStatus_::unlockIfLocked() { - if (state[0] == 3) { - state[0] = 4; + if (state.unk == 3) { + state.unk = 4; return 1; } - if (state[0] == 1) { - state[0] = 0; + if (state.unk == 1) { + state.unk = 0; return 1; } return 0; @@ -171,11 +172,10 @@ void JAISound::start_JAISound_(JAISoundID param_0, JGeometry::TVec3<f32> const* prepareCount = 0; mCount = 0; - if (param_1 == NULL || audience_ == NULL) { - audible_ = NULL; + if (param_1 != 0 && audience_ != NULL) { + audible_ = audience_->newAudible(*param_1, soundID, NULL, 0); } else { - JAISoundID sound = soundID; - audible_ = audience_->newAudible(*param_1, sound, NULL, 0); + audible_ = NULL; } field_0x34 = 0; } @@ -194,7 +194,7 @@ asm void JAISound::start_JAISound_(JAISoundID param_0, JGeometry::TVec3<f32> con /* 802A244C-802A2474 29CD8C 0028+00 0/0 2/2 0/0 .text acceptsNewAudible__8JAISoundCFv */ bool JAISound::acceptsNewAudible() const { bool accepts = false; - if (audible_ == NULL && !(status_.state[1] >> 6 & 1)) { + if (audible_ == NULL && status_.state.flags.flag2==0) { accepts = true; } return accepts; @@ -202,7 +202,6 @@ bool JAISound::acceptsNewAudible() const { /* 802A2474-802A24DC 29CDB4 0068+00 0/0 2/2 0/0 .text /* * newAudible__8JAISoundFRCQ29JGeometry8TVec3<f>PCQ29JGeometry8TVec3<f>UlP11JAIAudience */ -#ifdef NONMATCHING void JAISound::newAudible(JGeometry::TVec3<f32> const& param_0, JGeometry::TVec3<f32> const* param_1, u32 param_2, JAIAudience* param_3) { if (param_3 != NULL) { @@ -211,24 +210,27 @@ void JAISound::newAudible(JGeometry::TVec3<f32> const& param_0, JAISoundID sound = soundID; audible_ = audience_->newAudible(param_0, sound, param_1, param_2); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISound::newAudible(JGeometry::TVec3<f32> const& param_0, - JGeometry::TVec3<f32> const* param_1, u32 param_2, - JAIAudience* param_3) { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/func_802A2474.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 804557C8-804557D0 003DC8 0008+00 1/1 0/0 0/0 .sdata2 @766 */ SECTION_SDATA2 static f64 lit_766 = 4503599627370496.0 /* cast u32 to float */; /* 802A24DC-802A2598 29CE1C 00BC+00 0/0 24/24 0/0 .text stop__8JAISoundFUl */ +#ifdef NONMATCHING +void JAISound::stop(u32 fadeCount) { + ASSERT(status_.isAlive()); + if (fadeCount==0) { + stop(); + return; + }else{ + fader.fadeOut(fadeCount); + removeLifeTime_(); + status_.field_0x1.flags.flag2 = 0; + status_.state.flags.flag5 = 1; + status_.state.flags.flag1 = 1; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -237,16 +239,13 @@ asm void JAISound::stop(u32 param_0) { #include "asm/JSystem/JAudio2/JAISound/stop__8JAISoundFUl.s" } #pragma pop +#endif /* 802A2598-802A25D8 29CED8 0040+00 2/2 21/21 0/0 .text stop__8JAISoundFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISound::stop() { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/stop__8JAISoundFv.s" +void JAISound::stop() { + stop_JAISound_(); + releaseHandle(); } -#pragma pop /* 802A25D8-802A25E0 29CF18 0008+00 1/0 2/0 0/0 .text asSe__8JAISoundFv */ bool JAISound::asSe() { @@ -264,6 +263,18 @@ bool JAISound::asStream() { } /* 802A25F0-802A266C 29CF30 007C+00 0/0 3/3 0/0 .text die_JAISound___8JAISoundFv */ +#ifdef NONMATCHING +void JAISound::die_JAISound_() { + if (audible_!=NULL){ + audience_->deleteAudible(audible_); + audible_ = NULL; + audience_ = NULL; + } + fader.forceOut(); + releaseHandle(); + status_.state.unk = 6; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -272,28 +283,15 @@ asm void JAISound::die_JAISound_() { #include "asm/JSystem/JAudio2/JAISound/die_JAISound___8JAISoundFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 8039B910-8039B910 027F70 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039B910 = - "It cost %d steps to prepare Sound(ID:%08x, Addre" - "ss%08x).\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8039B94A = "\0\0\0\0\0"; -#pragma pop +#endif /* 802A266C-802A26B8 29CFAC 004C+00 0/0 3/3 0/0 .text increasePrepareCount_JAISound___8JAISoundFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISound::increasePrepareCount_JAISound_() { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/increasePrepareCount_JAISound___8JAISoundFv.s" +void JAISound::increasePrepareCount_JAISound_() { + if((++prepareCount&0xFF) == 0) { + JASReport("It cost %d steps to prepare Sound(ID:%08x, Address%08x).\n",prepareCount,(u32)soundID,this); + } } -#pragma pop /* ############################################################################################## */ /* 804557D0-804557D8 003DD0 0004+04 1/1 0/0 0/0 .sdata2 @887 */ @@ -304,23 +302,74 @@ SECTION_SDATA2 static f32 lit_887[1 + 1 /* padding */] = { }; /* 802A26B8-802A29DC 29CFF8 0324+00 0/0 3/3 0/0 .text calc_JAISound___8JAISoundFv */ +#ifdef NONMATCHING +bool JAISound::calc_JAISound_() { + status_.state.flags.flag2 = 1; + if(isStopping()&&JAISound_tryDie_()) { + return false; + } + ASSERT(status_.isAlive()); + bool isPlaying = status_.isPlaying(); + if(isPlaying) { + mCount++; + } + bool isPaused = status_.isPaused(); + if(isPaused==false) { + fader.calc(); + } + bool playing = isPlaying&&isPaused == false; + if (playing) { + params.mMove.calc(); + if (audible_!=NULL) { + audible_->calc(); + } + if(status_.field_0x1.flags.flag2!=0) { + if(lifeTime==0) { + stop_JAISound_(); + }else{ + lifeTime--; + } + } + } + if(audience_!=NULL&&audible_!=NULL) { + u32 priority = audience_->calcPriority(audible_); + mPriority = priority; + if (priority==0xFFFFFFFF&&status_.field_0x1.flags.flag1==0) { + stop_JAISound_(); + } + }else{ + mPriority = 0; + } + + return playing; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JAISound::calc_JAISound_() { +asm bool JAISound::calc_JAISound_() { nofralloc #include "asm/JSystem/JAudio2/JAISound/calc_JAISound___8JAISoundFv.s" } #pragma pop +#endif /* 802A29DC-802A2AB0 29D31C 00D4+00 0/0 2/2 0/0 .text initTrack_JAISound___8JAISoundFP8JASTrack */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISound::initTrack_JAISound_(JASTrack* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/initTrack_JAISound___8JAISoundFP8JASTrack.s" +void JAISound::initTrack_JAISound_(JASTrack* track) { + JASSoundParams* soundParams[8]; + ASSERT(audience_); + ASSERT(audible_); + int numChannels = 0; + for (int i = 0; i<audience_->getMaxChannels(); i++) { + JASSoundParams* currentParams = audible_->getOuterParams(i); + if (currentParams!=NULL) { + soundParams[numChannels] = currentParams; + numChannels++; + } + } + ASSERT(numChannels >= 1) + track->setChannelMgrCount(numChannels); + for (size_t i = 0; i<track->getChannelMgrCount(); i++) { + track->assignExtBuffer(i,soundParams[i]); + } } -#pragma pop - -/* 8039B910-8039B910 027F70 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/libs/JSystem/JAudio2/JASAudioReseter.cpp b/libs/JSystem/JAudio2/JASAudioReseter.cpp index 3ed33e6dd3..b253f6c3f2 100644 --- a/libs/JSystem/JAudio2/JASAudioReseter.cpp +++ b/libs/JSystem/JAudio2/JASAudioReseter.cpp @@ -7,6 +7,9 @@ #include "dol2asm.h" #include "dolphin/os/OS.h" #include "dolphin/types.h" +#include "JSystem/JAudio2/JAISoundHandles.h" +#include "JSystem/JAudio2/JASGadget.h" +#include "JSystem/JAudio2/JASAudioThread.h" // // Types: @@ -14,11 +17,10 @@ struct JASDSPChannel { /* 8029D340 */ void drop(); - /* 8029D948 */ void getHandle(u32); -}; + /* 8029D948 */ static JASDSPChannel* getHandle(u32); -struct JASAudioThread { - /* 8029CDC0 */ void stop(); + inline u32 getStatus() {return mStatus;} + u32 mStatus; }; // @@ -44,7 +46,7 @@ extern "C" void setDSPLevel__9JASDriverFf(); extern "C" void getDSPLevel__9JASDriverFv(); extern "C" void registerDspSyncCallback__9JASDriverFPFPv_lPv(); extern "C" void __dl__FPv(); -extern "C" extern u8 data_80450B8C[4]; +extern "C" extern JASAudioThread* data_80450B8C; // // Declarations: @@ -62,38 +64,21 @@ JASAudioReseter::JASAudioReseter() { JASAudioReseter::~JASAudioReseter() {} /* 8029D138-8029D1D4 297A78 009C+00 0/0 1/1 0/0 .text start__15JASAudioReseterFUlb */ -#ifdef NONMATCHING bool JASAudioReseter::start(u32 param_0, bool param_1) { - u32 interrupt_status; - if (mIsDone == false) { return false; + } + field_0xc = param_1; + JASCriticalSection critical; + if (!JASDriver::registerDspSyncCallback(callback, this)) { + return false; } else { - field_0xc = param_1; - interrupt_status = OSDisableInterrupts(); - - if (!JASDriver::registerDspSyncCallback(callback, (void*)param_0)) { - OSRestoreInterrupts(interrupt_status); - return false; - } else { - mDSPLevel = JASDriver::getDSPLevel(); - field_0x0 = param_0; - mIsDone = false; - OSRestoreInterrupts(interrupt_status); - return true; - } + mDSPLevel = JASDriver::getDSPLevel(); + field_0x0 = param_0; + mIsDone = false; + return true; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JASAudioReseter::start(u32 param_0, bool param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASAudioReseter/start__15JASAudioReseterFUlb.s" -} -#pragma pop -#endif /* 8029D1D4-8029D1F8 297B14 0024+00 0/0 1/1 0/0 .text resume__15JASAudioReseterFv */ void JASAudioReseter::resume() { @@ -105,21 +90,30 @@ s32 JASAudioReseter::checkDone() const { return mIsDone; } -/* ############################################################################################## */ -/* 80455740-80455748 003D40 0008+00 1/1 0/0 0/0 .sdata2 @156 */ -SECTION_SDATA2 static f64 lit_156 = 4503599627370496.0 /* cast u32 to float */; /* 8029D200-8029D2D4 297B40 00D4+00 1/1 0/0 0/0 .text calc__15JASAudioReseterFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 JASAudioReseter::calc() { - nofralloc -#include "asm/JSystem/JAudio2/JASAudioReseter/calc__15JASAudioReseterFv.s" +s32 JASAudioReseter::calc() { + if(field_0x0==0) { + for(size_t i = 0; i<64; i++) { + JASDSPChannel* handle = JASDSPChannel::getHandle(i); + if ((handle->getStatus()&0xFF)==0) { + handle->drop(); + } + } + if(field_0xc!=false) { + data_80450B8C->stop();//JASGlobalInstance<JASAudioThread>::sInstance->stop(); + } + mIsDone = 1; + return -1; + } + field_0x0--; + u32 unk = field_0x0; + float dspLevel = JASDriver::getDSPLevel(); + JASDriver::setDSPLevel(((float)unk*dspLevel)/(float)(unk+1)); + return 0; } -#pragma pop /* 8029D2D4-8029D2F4 297C14 0020+00 1/1 0/0 0/0 .text callback__15JASAudioReseterFPv */ s32 JASAudioReseter::callback(void* param_0) { - return calc(); + return ((JASAudioReseter*)param_0)->calc(); } diff --git a/libs/JSystem/JAudio2/JASAudioThread.cpp b/libs/JSystem/JAudio2/JASAudioThread.cpp index 0667bfb0cc..415d62b23d 100644 --- a/libs/JSystem/JAudio2/JASAudioThread.cpp +++ b/libs/JSystem/JAudio2/JASAudioThread.cpp @@ -58,18 +58,6 @@ struct JASDSPChannel { /* 8029D3C8 */ void initAll(); }; -struct JASAudioThread { - /* 8029CCDC */ JASAudioThread(int, int, u32); - /* 8029CD4C */ void create(s32); - /* 8029CDC0 */ void stop(); - /* 8029CDEC */ void run(); - /* 8029CF68 */ void DMACallback(); - /* 8029CFBC */ void DSPCallback(void*); - /* 8029D028 */ ~JASAudioThread(); - - static u8 snIntCount[4 + 4 /* padding */]; -}; - // // Forward References: // diff --git a/libs/JSystem/JAudio2/dspproc.cpp b/libs/JSystem/JAudio2/dspproc.cpp index f91c6ff13e..e034a347bd 100644 --- a/libs/JSystem/JAudio2/dspproc.cpp +++ b/libs/JSystem/JAudio2/dspproc.cpp @@ -29,7 +29,19 @@ extern "C" void DSPSendCommands2__FPUlUlPFUs_v(); // Declarations: // +//Different compiler version for this TU? Something to note is that JAudio 1 is 32 byte aligned like this file + +#pragma function_align 32 + /* 8029E4E0-8029E528 298E20 0048+00 0/0 1/1 0/0 .text DSPReleaseHalt2__FUl */ +#ifdef NONMATCHING +void DSPReleaseHalt2(u32 msg) { + u32 msgs[2]; + msgs[0] = (msg<<16) | DSP_CreateMap2(msg); + + DSPSendCommands2(msgs,0,NULL); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -39,23 +51,32 @@ asm void DSPReleaseHalt2(u32 param_0) { #include "asm/JSystem/JAudio2/dspproc/DSPReleaseHalt2__FUl.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804512F8-80451300 0007F8 0004+04 2/2 0/0 0/0 .sbss flag */ -static u8 flag[4 + 4 /* padding */]; +static u32 flag; /* 8029E540-8029E54C 298E80 000C+00 1/1 0/0 0/0 .text setup_callback__FUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -static asm void setup_callback(u16 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/dspproc/setup_callback__FUs.s" +static void setup_callback(u16 param_0) { + flag = 0; } -#pragma pop /* 8029E560-8029E5C4 298EA0 0064+00 0/0 1/1 0/0 .text DsetupTable__FUlUlUlUlUl */ +#ifdef NONMATCHING +void DsetupTable(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4) { + u32 r8 = 1; + void(*callback_func)(u16) = setup_callback; + u32 table[5] = {param_0&0xFFFF,param_1,param_2,param_3,param_4}; + flag = r8; + DSPSendCommands2(table,5,callback_func); + while (true) { + if (flag==0) { + return; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -65,16 +86,22 @@ asm void DsetupTable(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 par #include "asm/JSystem/JAudio2/dspproc/DsetupTable__FUlUlUlUlUl.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804507C8-804507D0 000248 0002+06 3/3 0/0 0/0 .sdata DSP_MIXERLEVEL */ -SECTION_SDATA static u16 DSP_MIXERLEVEL[1 + 3 /* padding */] = { - 0x4000, - /* padding */ - 0x0000, - 0x0000, - 0x0000, -}; +static u16 DSP_MIXERLEVEL = 0x4000; + +/* 8029E5E0-8029E604 298F20 0024+00 0/0 1/1 0/0 .text DsetMixerLevel__Ff */ +#ifdef NONMATCHING +void DsetMixerLevel(f32 level) { + DSP_MIXERLEVEL = 4096.0f*level; +} +#else +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +#pragma function_align 32 /* 80455770-80455778 003D70 0004+04 1/1 0/0 0/0 .sdata2 @333 */ SECTION_SDATA2 static f32 lit_333[1 + 1 /* padding */] = { @@ -83,7 +110,6 @@ SECTION_SDATA2 static f32 lit_333[1 + 1 /* padding */] = { 0.0f, }; -/* 8029E5E0-8029E604 298F20 0024+00 0/0 1/1 0/0 .text DsetMixerLevel__Ff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -93,6 +119,7 @@ asm void DsetMixerLevel(f32 param_0) { #include "asm/JSystem/JAudio2/dspproc/DsetMixerLevel__Ff.s" } #pragma pop +#endif /* 8029E620-8029E674 298F60 0054+00 0/0 1/1 0/0 .text DsyncFrame2ch__FUlUlUl */ #pragma push diff --git a/libs/Z2AudioLib/Z2Audience.cpp b/libs/Z2AudioLib/Z2Audience.cpp index 4bf359b0d5..a38aeb5753 100644 --- a/libs/Z2AudioLib/Z2Audience.cpp +++ b/libs/Z2AudioLib/Z2Audience.cpp @@ -739,7 +739,7 @@ asm Z2Audible::~Z2Audible() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2Audience::calcPriority(JAIAudible* param_0) { +asm u32 Z2Audience::calcPriority(JAIAudible* param_0) { nofralloc #include "asm/Z2AudioLib/Z2Audience/calcPriority__10Z2AudienceFP10JAIAudible.s" } @@ -882,7 +882,7 @@ asm void Z2Audience::calcPitch_(Z2AudibleChannel* param_0, Z2Audible const* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2Audience::getMaxChannels() { +asm int Z2Audience::getMaxChannels() { nofralloc #include "asm/Z2AudioLib/Z2Audience/getMaxChannels__10Z2AudienceFv.s" } diff --git a/libs/Z2AudioLib/Z2SceneMgr.cpp b/libs/Z2AudioLib/Z2SceneMgr.cpp index c139fc4120..4f0a62b583 100644 --- a/libs/Z2AudioLib/Z2SceneMgr.cpp +++ b/libs/Z2AudioLib/Z2SceneMgr.cpp @@ -79,7 +79,7 @@ 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(); +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(); @@ -87,12 +87,11 @@ 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" void __as__10JAISoundIDFRC10JAISoundID(); 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 __ct__10JAISoundIDFUl(void* param_0, u32 param_1); +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(); @@ -108,6 +107,7 @@ 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; // @@ -707,9 +707,9 @@ asm void Z2SceneMgr::setSceneName(char* param_0, s32 param_1, s32 param_2) { } #pragma pop -//! @meme this looks to be non-inlined here because @ref setSceneName is too large -JAISoundID::JAISoundID(JAISoundID const& soundIdToSet) { - mId = soundIdToSet.mId; +//! @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_ = soundIdToSet; } /* 802B9968-802B9978 2B42A8 0010+00 1/1 0/0 0/0 .text setFieldBgmPlay__8Z2SeqMgrFb */ @@ -795,7 +795,7 @@ asm void Z2SeqMgr::muteSceneBgm(u32 param_0, f32 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JAISoundID::operator=(JAISoundID const& param_0) { +extern "C" asm void __as__10JAISoundIDFRC10JAISoundID(JAISoundID* this_, JAISoundID const& param_0) { nofralloc #include "asm/Z2AudioLib/Z2SceneMgr/__as__10JAISoundIDFRC10JAISoundID.s" } |
