GUI: deprecate partial pitch linearity

This commit is contained in:
tildearrow 2023-09-06 17:57:53 -05:00
parent ec4063641a
commit 70dbe92b51
3 changed files with 15 additions and 5 deletions

View file

@ -210,11 +210,15 @@ void FurnaceGUI::drawCompatFlags() {
if (ImGui::IsItemHovered()) { if (ImGui::IsItemHovered()) {
ImGui::SetTooltip("like ProTracker/FamiTracker"); ImGui::SetTooltip("like ProTracker/FamiTracker");
} }
if (ImGui::RadioButton("Partial (only 04xy/E5xx)",e->song.linearPitch==1)) { if (e->song.linearPitch==1) {
e->song.linearPitch=1; pushWarningColor(true);
} if (ImGui::RadioButton("Partial (only 04xy/E5xx)",e->song.linearPitch==1)) {
if (ImGui::IsItemHovered()) { e->song.linearPitch=1;
ImGui::SetTooltip("like DefleMask"); }
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip("like DefleMask\n\nthis pitch linearity mode is deprecated due to:\n- excessive complexity\n- lack of possible optimization\n\nit is recommended to change it now because I will remove this option in the future!");
}
popWarningColor();
} }
if (ImGui::RadioButton("Full",e->song.linearPitch==2)) { if (ImGui::RadioButton("Full",e->song.linearPitch==2)) {
e->song.linearPitch=2; e->song.linearPitch=2;

View file

@ -1517,6 +1517,7 @@ class FurnaceGUI {
int noMultiSystem; int noMultiSystem;
int oldMacroVSlider; int oldMacroVSlider;
int displayAllInsTypes; int displayAllInsTypes;
int displayPartial;
int noteCellSpacing; int noteCellSpacing;
int insCellSpacing; int insCellSpacing;
int volCellSpacing; int volCellSpacing;
@ -1694,6 +1695,7 @@ class FurnaceGUI {
noMultiSystem(0), noMultiSystem(0),
oldMacroVSlider(0), oldMacroVSlider(0),
displayAllInsTypes(0), displayAllInsTypes(0),
displayPartial(0),
noteCellSpacing(0), noteCellSpacing(0),
insCellSpacing(0), insCellSpacing(0),
volCellSpacing(0), volCellSpacing(0),

View file

@ -3032,6 +3032,7 @@ void FurnaceGUI::drawSettings() {
// "Debug" - toggles mobile UI // "Debug" - toggles mobile UI
// "Nice Amiga cover of the song!" - enables hidden systems (YMU759/SoundUnit/Dummy) // "Nice Amiga cover of the song!" - enables hidden systems (YMU759/SoundUnit/Dummy)
// "42 63" - enables all instrument types // "42 63" - enables all instrument types
// "4-bit FDS" - enables partial pitch linearity option
// "????" - enables stuff // "????" - enables stuff
CONFIG_SECTION("Cheat Codes") { CONFIG_SECTION("Cheat Codes") {
// SUBSECTION ENTER CODE: // SUBSECTION ENTER CODE:
@ -3219,6 +3220,7 @@ void FurnaceGUI::syncSettings() {
settings.noMultiSystem=e->getConfInt("noMultiSystem",0); settings.noMultiSystem=e->getConfInt("noMultiSystem",0);
settings.oldMacroVSlider=e->getConfInt("oldMacroVSlider",0); settings.oldMacroVSlider=e->getConfInt("oldMacroVSlider",0);
settings.displayAllInsTypes=e->getConfInt("displayAllInsTypes",0); settings.displayAllInsTypes=e->getConfInt("displayAllInsTypes",0);
settings.displayPartial=e->getConfInt("displayPartial",0);
settings.noteCellSpacing=e->getConfInt("noteCellSpacing",0); settings.noteCellSpacing=e->getConfInt("noteCellSpacing",0);
settings.insCellSpacing=e->getConfInt("insCellSpacing",0); settings.insCellSpacing=e->getConfInt("insCellSpacing",0);
settings.volCellSpacing=e->getConfInt("volCellSpacing",0); settings.volCellSpacing=e->getConfInt("volCellSpacing",0);
@ -3377,6 +3379,7 @@ void FurnaceGUI::syncSettings() {
clampSetting(settings.noMultiSystem,0,1); clampSetting(settings.noMultiSystem,0,1);
clampSetting(settings.oldMacroVSlider,0,1); clampSetting(settings.oldMacroVSlider,0,1);
clampSetting(settings.displayAllInsTypes,0,1); clampSetting(settings.displayAllInsTypes,0,1);
clampSetting(settings.displayPartial,0,1);
clampSetting(settings.noteCellSpacing,0,32); clampSetting(settings.noteCellSpacing,0,32);
clampSetting(settings.insCellSpacing,0,32); clampSetting(settings.insCellSpacing,0,32);
clampSetting(settings.volCellSpacing,0,32); clampSetting(settings.volCellSpacing,0,32);
@ -3625,6 +3628,7 @@ void FurnaceGUI::commitSettings() {
e->setConf("noMultiSystem",settings.noMultiSystem); e->setConf("noMultiSystem",settings.noMultiSystem);
e->setConf("oldMacroVSlider",settings.oldMacroVSlider); e->setConf("oldMacroVSlider",settings.oldMacroVSlider);
e->setConf("displayAllInsTypes",settings.displayAllInsTypes); e->setConf("displayAllInsTypes",settings.displayAllInsTypes);
e->setConf("displayPartial",settings.displayPartial);
e->setConf("noteCellSpacing",settings.noteCellSpacing); e->setConf("noteCellSpacing",settings.noteCellSpacing);
e->setConf("insCellSpacing",settings.insCellSpacing); e->setConf("insCellSpacing",settings.insCellSpacing);
e->setConf("volCellSpacing",settings.volCellSpacing); e->setConf("volCellSpacing",settings.volCellSpacing);