diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index cc1428e1..99e41313 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -491,7 +491,7 @@ void DivEngine::notifyWaveChange(int wave) { BUSY_END; } -int DivEngine::loadSampleRom(String path, ssize_t expectedSize, unsigned char*& ret) { +int DivEngine::loadSampleROM(String path, ssize_t expectedSize, unsigned char*& ret) { ret = NULL; if (path.empty()) { return 0; @@ -551,14 +551,23 @@ int DivEngine::loadSampleRom(String path, ssize_t expectedSize, unsigned char*& return 0; } -int DivEngine::loadSampleRoms() { - delete[] yrw801Rom; - delete[] tg100Rom; - delete[] mu5Rom; +int DivEngine::loadSampleROMs() { + if (yrw801ROM!=NULL) { + delete[] yrw801ROM; + yrw801ROM=NULL; + } + if (tg100ROM!=NULL) { + delete[] tg100ROM; + tg100ROM=NULL; + } + if (mu5ROM!=NULL) { + delete[] mu5ROM; + mu5ROM=NULL; + } int error = 0; - error += loadSampleRom(getConfString("yrw801Path",""), 0x200000, yrw801Rom); - error += loadSampleRom(getConfString("tg100Path",""), 0x200000, tg100Rom); - error += loadSampleRom(getConfString("mu5Path",""), 0x200000, mu5Rom); + error += loadSampleROM(getConfString("yrw801Path",""), 0x200000, yrw801ROM); + error += loadSampleROM(getConfString("tg100Path",""), 0x200000, tg100ROM); + error += loadSampleROM(getConfString("mu5Path",""), 0x200000, mu5ROM); return error; } @@ -2779,7 +2788,7 @@ bool DivEngine::init() { loadConf(); - loadSampleRoms(); + loadSampleROMs(); // set default system preset if (!hasLoadedSomething) { @@ -2854,8 +2863,8 @@ bool DivEngine::quit() { active=false; delete[] oscBuf[0]; delete[] oscBuf[1]; - delete[] yrw801Rom; - delete[] tg100Rom; - delete[] mu5Rom; + if (yrw801ROM!=NULL) delete[] yrw801ROM; + if (tg100ROM!=NULL) delete[] tg100ROM; + if (mu5ROM!=NULL) delete[] mu5ROM; return true; } diff --git a/src/engine/engine.h b/src/engine/engine.h index 3338b4a5..8a95e935 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -397,7 +397,7 @@ class DivEngine { void loadOPM(SafeReader& reader, std::vector& ret, String& stripPath); void loadFF(SafeReader& reader, std::vector& ret, String& stripPath); - int loadSampleRom(String path, ssize_t expectedSize, unsigned char*& ret); + int loadSampleROM(String path, ssize_t expectedSize, unsigned char*& ret); bool initAudioBackend(); bool deinitAudioBackend(); @@ -786,7 +786,7 @@ class DivEngine { const char** getRegisterSheet(int sys); // load sample ROMs - int loadSampleRoms(); + int loadSampleROMs(); // UNSAFE render samples - only execute when locked void renderSamples(); @@ -861,9 +861,9 @@ class DivEngine { // terminate the engine. bool quit(); - unsigned char* yrw801Rom; - unsigned char* tg100Rom; - unsigned char* mu5Rom; + unsigned char* yrw801ROM; + unsigned char* tg100ROM; + unsigned char* mu5ROM; DivEngine(): output(NULL), @@ -940,9 +940,9 @@ class DivEngine { oscWritePos(0), tickMult(1), processTime(0), - yrw801Rom(NULL), - tg100Rom(NULL), - mu5Rom(NULL) { + yrw801ROM(NULL), + tg100ROM(NULL), + mu5ROM(NULL) { memset(isMuted,0,DIV_MAX_CHANS*sizeof(bool)); memset(keyHit,0,DIV_MAX_CHANS*sizeof(bool)); memset(dispatchChanOfChan,0,DIV_MAX_CHANS*sizeof(int)); diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 4d237c1d..abeb569d 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -1516,7 +1516,7 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) { {"compatible files", "*.rom *.bin", "all files", ".*"}, "compatible files{.rom,.bin},.*", - workingDirRom, + workingDirROM, dpiScale ); break; @@ -3040,7 +3040,7 @@ bool FurnaceGUI::loop() { case GUI_FILE_YRW801_ROM_OPEN: case GUI_FILE_TG100_ROM_OPEN: case GUI_FILE_MU5_ROM_OPEN: - workingDirRom=fileDialog->getPath()+DIR_SEPARATOR_STR; + workingDirROM=fileDialog->getPath()+DIR_SEPARATOR_STR; break; } if (fileDialog->accepted()) { diff --git a/src/gui/gui.h b/src/gui/gui.h index 03a3d7e3..61b2d912 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -768,7 +768,7 @@ class FurnaceGUI { bool updateSampleTex; String workingDir, fileName, clipboard, warnString, errorString, lastError, curFileName, nextFile; - String workingDirSong, workingDirIns, workingDirWave, workingDirSample, workingDirAudioExport, workingDirVGMExport, workingDirFont, workingDirColors, workingDirKeybinds, workingDirLayout, workingDirRom; + String workingDirSong, workingDirIns, workingDirWave, workingDirSample, workingDirAudioExport, workingDirVGMExport, workingDirFont, workingDirColors, workingDirKeybinds, workingDirLayout, workingDirROM; String mmlString[17]; String mmlStringW; diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index c38e1dc8..f44c2aa9 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -1990,7 +1990,7 @@ void FurnaceGUI::syncSettings() { } void FurnaceGUI::commitSettings() { - bool sampleRomsChanged = settings.yrw801Path!=e->getConfString("yrw801Path","") || + bool sampleROMsChanged = settings.yrw801Path!=e->getConfString("yrw801Path","") || settings.tg100Path!=e->getConfString("tg100Path","") || settings.mu5Path!=e->getConfString("mu5Path",""); @@ -2100,8 +2100,8 @@ void FurnaceGUI::commitSettings() { e->saveConf(); - if (sampleRomsChanged) { - if (e->loadSampleRoms()) { + if (sampleROMsChanged) { + if (e->loadSampleROMs()) { showError(e->getLastError()); } }