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()) {
ImGui::SetTooltip("like ProTracker/FamiTracker");
}
if (ImGui::RadioButton("Partial (only 04xy/E5xx)",e->song.linearPitch==1)) {
e->song.linearPitch=1;
}
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip("like DefleMask");
if (e->song.linearPitch==1) {
pushWarningColor(true);
if (ImGui::RadioButton("Partial (only 04xy/E5xx)",e->song.linearPitch==1)) {
e->song.linearPitch=1;
}
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)) {
e->song.linearPitch=2;

View file

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

View file

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