dev128 - prepare for SN noise and hard fix fp b
file picker bug...
This commit is contained in:
parent
7841c3d0b6
commit
7709a9c3f6
|
@ -47,8 +47,8 @@
|
|||
#define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock();
|
||||
#define BUSY_END isBusy.unlock(); softLocked=false;
|
||||
|
||||
#define DIV_VERSION "dev127"
|
||||
#define DIV_ENGINE_VERSION 127
|
||||
#define DIV_VERSION "dev128"
|
||||
#define DIV_ENGINE_VERSION 128
|
||||
// for imports
|
||||
#define DIV_VERSION_MOD 0xff01
|
||||
#define DIV_VERSION_FC 0xff02
|
||||
|
|
|
@ -208,7 +208,9 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) {
|
|||
}*/
|
||||
|
||||
// Game Boy arp+soundLen screwery
|
||||
ds.systemFlags[0].set("enoughAlready",true);
|
||||
if (ds.system[0]==DIV_SYSTEM_GB) {
|
||||
ds.systemFlags[0].set("enoughAlready",true);
|
||||
}
|
||||
|
||||
logI("reading module data...");
|
||||
if (ds.version>0x0c) {
|
||||
|
@ -966,6 +968,11 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) {
|
|||
ds.system[1]=DIV_SYSTEM_FDS;
|
||||
}
|
||||
|
||||
// SMS noise freq
|
||||
if (ds.system[0]==DIV_SYSTEM_SMS) {
|
||||
ds.systemFlags[0].set("noEasyNoise",true);
|
||||
}
|
||||
|
||||
ds.systemName=getSongSystemLegacyName(ds,!getConfInt("noMultiSystem",0));
|
||||
|
||||
if (active) quitDispatch();
|
||||
|
@ -2513,6 +2520,16 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) {
|
|||
}
|
||||
}
|
||||
|
||||
// SN noise compat
|
||||
if (ds.version<128) {
|
||||
for (int i=0; i<ds.systemLen; i++) {
|
||||
if (ds.system[i]==DIV_SYSTEM_SMS ||
|
||||
ds.system[i]==DIV_SYSTEM_T6W28) {
|
||||
ds.systemFlags[i].set("noEasyNoise",true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (active) quitDispatch();
|
||||
BUSY_BEGIN_SOFT;
|
||||
saveLock.lock();
|
||||
|
|
|
@ -467,6 +467,7 @@ void DivPlatformSMS::setFlags(const DivConfig& flags) {
|
|||
break;
|
||||
}
|
||||
resetPhase=!flags.getBool("noPhaseReset",false);
|
||||
easyNoise=!flags.getBool("noEasyNoise",false);
|
||||
divider=16;
|
||||
toneDivider=64.0;
|
||||
noiseDivider=64.0;
|
||||
|
|
|
@ -70,6 +70,7 @@ class DivPlatformSMS: public DivDispatch {
|
|||
bool isRealSN;
|
||||
bool stereo;
|
||||
bool nuked;
|
||||
bool easyNoise;
|
||||
sn76496_base_device* sn;
|
||||
ympsg_t sn_nuked;
|
||||
struct QueuedWrite {
|
||||
|
|
|
@ -330,6 +330,7 @@ void DivPlatformT6W28::setFlags(const DivConfig& flags) {
|
|||
for (int i=0; i<4; i++) {
|
||||
oscBuf[i]->rate=rate;
|
||||
}
|
||||
easyNoise=!flags.getBool("noEasyNoise",false);
|
||||
|
||||
if (t6w!=NULL) {
|
||||
delete t6w;
|
||||
|
|
|
@ -60,6 +60,7 @@ class DivPlatformT6W28: public DivDispatch {
|
|||
DivDispatchOscBuffer* oscBuf[4];
|
||||
bool isMuted[4];
|
||||
bool antiClickEnabled;
|
||||
bool easyNoise;
|
||||
struct QueuedWrite {
|
||||
unsigned char addr;
|
||||
unsigned char val;
|
||||
|
|
|
@ -80,6 +80,14 @@ bool FurnaceGUIFileDialog::openLoad(String header, std::vector<String> filter, c
|
|||
if (opened) return false;
|
||||
saving=false;
|
||||
curPath=path;
|
||||
|
||||
// strip excess directory separators
|
||||
while (!curPath.empty()) {
|
||||
if (curPath[curPath.size()-1]!=DIR_SEPARATOR) break;
|
||||
curPath.erase(curPath.size()-1);
|
||||
}
|
||||
curPath+=DIR_SEPARATOR;
|
||||
|
||||
logD("opening load file dialog with curPath %s",curPath.c_str());
|
||||
if (sysDialog) {
|
||||
#ifdef USE_NFD
|
||||
|
@ -145,6 +153,14 @@ bool FurnaceGUIFileDialog::openSave(String header, std::vector<String> filter, c
|
|||
if (opened) return false;
|
||||
saving=true;
|
||||
curPath=path;
|
||||
|
||||
// strip excess directory separators
|
||||
while (!curPath.empty()) {
|
||||
if (curPath[curPath.size()-1]!=DIR_SEPARATOR) break;
|
||||
curPath.erase(curPath.size()-1);
|
||||
}
|
||||
curPath+=DIR_SEPARATOR;
|
||||
|
||||
logD("opening save file dialog with curPath %s",curPath.c_str());
|
||||
if (sysDialog) {
|
||||
#ifdef USE_NFD
|
||||
|
|
Loading…
Reference in New Issue