Merge pull request #93 from TakaRikka/ira-crashfix1

JAUSoundTable-related crash fix
This commit is contained in:
TakaRikka
2026-03-16 14:27:43 -07:00
committed by GitHub
2 changed files with 20 additions and 5 deletions
@@ -15,6 +15,11 @@ void JAUSoundTable::init(void const* param_0) {
}
u8 JAUSoundTable::getTypeID(JAISoundID param_0) const {
#if DUSK_AUDIO_DISABLED
if (this == NULL) {
return 0xff;
}
#endif
if (param_0.isAnonymous()) {
return 0xff;
}
@@ -30,6 +35,11 @@ u8 JAUSoundTable::getTypeID(JAISoundID param_0) const {
}
JAUSoundTableItem* JAUSoundTable::getData(JAISoundID param_0) const {
#if DUSK_AUDIO_DISABLED
if (this == NULL) {
return NULL;
}
#endif
if (param_0.isAnonymous()) {
return NULL;
}
+10 -5
View File
@@ -1718,11 +1718,16 @@ void Z2SceneMgr::setSceneName(char* spot, s32 room, s32 layer) {
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(Z2Param::SCENE_CHANGE_BGM_FADEOUT_TIME);
#if DUSK_AUDIO_DISABLED
if (sound_table->isValid())
#endif
{
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(Z2Param::SCENE_CHANGE_BGM_FADEOUT_TIME);
}
}
}
}