diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 78cce40e3..7fd671d5d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -54,7 +54,8 @@ the coding style is described here: - in float/double operations, always use decimal and `f` if single-precision. - e.g. `1.0f` or `1.0` instead of `1`. - prefer `NULL` over `nullptr` or any other proprietary null. -- don't use `auto` unless needed. +- only use `auto` if needed. +- avoid using `goto` unless absolutely required. - use `String` for `std::string` (this is typedef'd in ta-utils.h). - prefer using operator for String (std::string) comparisons (a==""). - if you have to work with C strings, only use safe C string operations: diff --git a/demos/genesis/SparkmanMD.fur b/demos/genesis/SparkmanMD.fur new file mode 100644 index 000000000..3e16aa8e2 Binary files /dev/null and b/demos/genesis/SparkmanMD.fur differ diff --git a/demos/genesis/Swaggin_Dragon.dmf b/demos/genesis/Swaggin_Dragon.dmf deleted file mode 100644 index 20c358049..000000000 Binary files a/demos/genesis/Swaggin_Dragon.dmf and /dev/null differ diff --git a/demos/genesis/darkstar.dmf b/demos/genesis/darkstar.dmf deleted file mode 100644 index eb269ba59..000000000 Binary files a/demos/genesis/darkstar.dmf and /dev/null differ diff --git a/demos/genesis/darkstar.fur b/demos/genesis/darkstar.fur new file mode 100644 index 000000000..a87f97f29 Binary files /dev/null and b/demos/genesis/darkstar.fur differ diff --git a/demos/specs2/KeygenTypeBeat.fur b/demos/specs2/KeygenTypeBeat.fur new file mode 100644 index 000000000..eb9f98a94 Binary files /dev/null and b/demos/specs2/KeygenTypeBeat.fur differ diff --git a/src/engine/platform/ay.cpp b/src/engine/platform/ay.cpp index f50234087..cb1708d52 100644 --- a/src/engine/platform/ay.cpp +++ b/src/engine/platform/ay.cpp @@ -879,10 +879,10 @@ void DivPlatformAY8910::setFlags(const DivConfig& flags) { if (ay!=NULL) delete ay; switch (flags.getInt("chipType",0)) { case 1: + clockSel=flags.getBool("halfClock",false); ay=new ym2149_device(rate,clockSel); sunsoft=false; intellivision=false; - clockSel=flags.getBool("halfClock",false); break; case 2: ay=new sunsoft_5b_sound_device(rate); diff --git a/src/engine/platform/nds.cpp b/src/engine/platform/nds.cpp index b52980198..d373326cb 100644 --- a/src/engine/platform/nds.cpp +++ b/src/engine/platform/nds.cpp @@ -239,11 +239,9 @@ void DivPlatformNDS::tick(bool sysTick) { if (chan[i].freq<0) chan[i].freq=0; if (chan[i].freq>65535) chan[i].freq=65535; ctrl=(chan[i].active?0xe8:0)|(chan[i].duty&7); - rWrite8(0x03+i*16,ctrl&~0x80); // force keyoff first - } - if (!chan[i].std.vol.had) { - chan[i].outVol=chan[i].vol; - writeOutVol(i); + if (chan[i].keyOff || chan[i].keyOn) { + rWrite8(0x03+i*16,ctrl&~0x80); // force keyoff first + } } chan[i].keyOn=false; if (chan[i].keyOff) { @@ -422,6 +420,7 @@ void DivPlatformNDS::forceIns() { chan[i].sample=-1; rWrite8(0x02+i*16,chan[i].panning); + writeOutVol(i); } } diff --git a/src/gui/about.cpp b/src/gui/about.cpp index 21ebc3873..22d0c268e 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -152,6 +152,7 @@ const char* aboutLine[]={ "RevvoBolt", "Rockyfan75000", "scooblee", + "sheffield^2", "sillygoose", "smaybius", "SnugglyBun", diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 2507ba7e4..33550f62f 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -5635,7 +5635,6 @@ void FurnaceGUI::applyUISettings(bool updateFonts) { ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fur",uiColors[GUI_COLOR_FILE_SONG_NATIVE],ICON_FA_FILE); ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fui",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE); ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fuw",uiColors[GUI_COLOR_FILE_WAVE],ICON_FA_FILE); - ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".dmf",uiColors[GUI_COLOR_FILE_SONG_NATIVE],ICON_FA_FILE); ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".dmp",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE); ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".dmw",uiColors[GUI_COLOR_FILE_WAVE],ICON_FA_FILE); ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".wav",uiColors[GUI_COLOR_FILE_AUDIO],ICON_FA_FILE_AUDIO_O); @@ -5651,6 +5650,7 @@ void FurnaceGUI::applyUISettings(bool updateFonts) { ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".pcf",uiColors[GUI_COLOR_FILE_FONT],ICON_FA_FONT); ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".psf",uiColors[GUI_COLOR_FILE_FONT],ICON_FA_FONT); + ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".dmf",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE); ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".mod",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE); ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fc13",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE); ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fc14",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);