Merge branch 'master' into feature/esfm

This commit is contained in:
Kagamiin~ 2023-11-18 09:15:48 -03:00
commit 56d774bb3b
123 changed files with 2732 additions and 707 deletions

View file

@ -23,6 +23,7 @@
#include "imgui_internal.h"
#include "../engine/macroInt.h"
#include "IconsFontAwesome4.h"
#include "furIcons.h"
#include "misc/cpp/imgui_stdlib.h"
#include "guiConst.h"
#include "intConst.h"
@ -246,8 +247,8 @@ enum ESFMParams {
const char* macroTypeLabels[4]={
ICON_FA_BAR_CHART "##IMacroType",
ICON_FA_AREA_CHART "##IMacroType",
ICON_FA_LINE_CHART "##IMacroType",
ICON_FUR_ADSR "##IMacroType",
ICON_FUR_TRI "##IMacroType",
ICON_FA_SIGN_OUT "##IMacroType"
};
@ -287,8 +288,8 @@ const char* filtModeBits[5]={
"low", "band", "high", "ch3off", NULL
};
const char* c64SpecialBits[3]={
"sync", "ring", NULL
const char* c64TestGateBits[5]={
"gate", "sync", "ring", "test", NULL
};
const char* pokeyCtlBits[9]={
@ -5724,12 +5725,8 @@ void FurnaceGUI::drawInsEdit() {
}
popToggleColors();
if (ImGui::Checkbox("Volume Macro is Cutoff Macro",&ins->c64.volIsCutoff)) {
ins->std.volMacro.vZoom=-1;
PARAMETER;
}
if (ImGui::Checkbox("Absolute Cutoff Macro",&ins->c64.filterIsAbs)) {
ins->std.volMacro.vZoom=-1;
ins->std.algMacro.vZoom=-1;
PARAMETER;
}
if (ImGui::Checkbox("Absolute Duty Macro",&ins->c64.dutyIsAbs)) {
@ -6697,17 +6694,6 @@ void FurnaceGUI::drawInsEdit() {
int volMax=15;
int volMin=0;
if (ins->type==DIV_INS_C64) {
if (ins->c64.volIsCutoff) {
volumeLabel="Cutoff";
if (ins->c64.filterIsAbs) {
volMax=2047;
} else {
volMin=-64;
volMax=64;
}
}
}
if (ins->type==DIV_INS_PCE || ins->type==DIV_INS_AY8930 || ins->type==DIV_INS_SM8521) {
volMax=31;
}
@ -6767,8 +6753,8 @@ void FurnaceGUI::drawInsEdit() {
if (ins->c64.dutyIsAbs) {
dutyMax=4095;
} else {
dutyMin=-96;
dutyMax=96;
dutyMin=-4095;
dutyMax=4095;
}
}
if (ins->type==DIV_INS_STD) {
@ -7159,6 +7145,14 @@ void FurnaceGUI::drawInsEdit() {
}
if (ex1Max>0) {
if (ins->type==DIV_INS_C64) {
int cutoffMin=-2047;
int cutoffMax=2047;
if (ins->c64.filterIsAbs) {
cutoffMin=0;
cutoffMax=2047;
}
macroList.push_back(FurnaceGUIMacroDesc("Cutoff",&ins->std.algMacro,cutoffMin,cutoffMax,160,uiColors[GUI_COLOR_MACRO_OTHER]));
macroList.push_back(FurnaceGUIMacroDesc("Filter Mode",&ins->std.ex1Macro,0,ex1Max,64,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,filtModeBits));
} else if (ins->type==DIV_INS_SAA1099) {
macroList.push_back(FurnaceGUIMacroDesc("Envelope",&ins->std.ex1Macro,0,ex1Max,160,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,saaEnvBits));
@ -7204,8 +7198,11 @@ void FurnaceGUI::drawInsEdit() {
}
}
if (ins->type==DIV_INS_C64) {
macroList.push_back(FurnaceGUIMacroDesc("Special",&ins->std.ex3Macro,0,2,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,c64SpecialBits));
macroList.push_back(FurnaceGUIMacroDesc("Test/Gate",&ins->std.ex4Macro,0,1,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true));
macroList.push_back(FurnaceGUIMacroDesc("Special",&ins->std.ex4Macro,0,4,64,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,c64TestGateBits));
macroList.push_back(FurnaceGUIMacroDesc("Attack",&ins->std.ex5Macro,0,15,128,uiColors[GUI_COLOR_MACRO_OTHER]));
macroList.push_back(FurnaceGUIMacroDesc("Decay",&ins->std.ex6Macro,0,15,128,uiColors[GUI_COLOR_MACRO_OTHER]));
macroList.push_back(FurnaceGUIMacroDesc("Sustain",&ins->std.ex7Macro,0,15,128,uiColors[GUI_COLOR_MACRO_OTHER]));
macroList.push_back(FurnaceGUIMacroDesc("Release",&ins->std.ex8Macro,0,15,128,uiColors[GUI_COLOR_MACRO_OTHER]));
}
if (ins->type==DIV_INS_AY || ins->type==DIV_INS_AY8930 || (ins->type==DIV_INS_X1_010 && !ins->amiga.useSample)) {
macroList.push_back(FurnaceGUIMacroDesc("AutoEnv Num",&ins->std.ex3Macro,0,15,160,uiColors[GUI_COLOR_MACRO_OTHER]));