also enable backward on Windows XP

This commit is contained in:
tildearrow 2024-02-04 02:05:00 -05:00
parent b3b84d41b6
commit 4df1c59698
6 changed files with 201 additions and 53 deletions

View file

@ -336,6 +336,10 @@ const char* powerNoiseSlopeControlBits[7]={
"invert B", "invert A", "reset B", "reset A", "clip B", "clip A", NULL
};
const char* daveControlBits[5]={
"high pass", "ring mod", "swap counters (noise)", "low pass (noise)", NULL
};
const char* panBits[5]={
"right", "left", "rear right", "rear left", NULL
};
@ -6916,6 +6920,10 @@ void FurnaceGUI::drawInsEdit() {
if (ins->type==DIV_INS_POWERNOISE_SLOPE) {
dutyMax=0;
}
if (ins->type==DIV_INS_DAVE) {
dutyLabel="Noise Freq";
dutyMax=3;
}
const char* waveLabel="Waveform";
int waveMax=(ins->type==DIV_INS_VERA)?3:(MAX(1,e->song.waveLen-1));
@ -6953,7 +6961,7 @@ void FurnaceGUI::drawInsEdit() {
if (ins->type==DIV_INS_POWERNOISE) waveMax=0;
if (ins->type==DIV_INS_POWERNOISE_SLOPE) waveMax=0;
if (ins->type==DIV_INS_SU || ins->type==DIV_INS_POKEY) waveMax=7;
if (ins->type==DIV_INS_DAVE) waveMax=3;
if (ins->type==DIV_INS_DAVE) waveMax=4;
if (ins->type==DIV_INS_PET) {
waveMax=8;
waveBitMode=true;
@ -7020,12 +7028,15 @@ void FurnaceGUI::drawInsEdit() {
ex1Max=5;
ex2Max=11;
}
if (ins->type==DIV_INS_DAVE) {
ex1Max=4;
}
int panMin=0;
int panMax=0;
bool panSingle=false;
bool panSingleNoBit=false;
if (ins->type==DIV_INS_STD ||//Game Gear
if (ins->type==DIV_INS_STD || // Game Gear
ins->type==DIV_INS_FM ||
ins->type==DIV_INS_OPM ||
ins->type==DIV_INS_GB ||
@ -7097,6 +7108,9 @@ void FurnaceGUI::drawInsEdit() {
if (ins->type==DIV_INS_POWERNOISE_SLOPE) {
panMax=15;
}
if (ins->type==DIV_INS_DAVE) {
panMax=63;
}
if (volMax>0) {
macroList.push_back(FurnaceGUIMacroDesc(volumeLabel,&ins->std.volMacro,volMin,volMax,160,uiColors[GUI_COLOR_MACRO_VOLUME]));
@ -7186,7 +7200,8 @@ void FurnaceGUI::drawInsEdit() {
ins->type==DIV_INS_TED ||
ins->type==DIV_INS_ESFM ||
ins->type==DIV_INS_POWERNOISE ||
ins->type==DIV_INS_POWERNOISE_SLOPE) {
ins->type==DIV_INS_POWERNOISE_SLOPE ||
ins->type==DIV_INS_DAVE) {
macroList.push_back(FurnaceGUIMacroDesc("Phase Reset",&ins->std.phaseResetMacro,0,1,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true));
}
if (ex1Max>0) {
@ -7220,6 +7235,8 @@ void FurnaceGUI::drawInsEdit() {
macroList.push_back(FurnaceGUIMacroDesc("Special",&ins->std.ex1Macro,0,ex1Max,96,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,snesModeBits));
} else if (ins->type==DIV_INS_MSM5232) {
macroList.push_back(FurnaceGUIMacroDesc("Group Attack",&ins->std.ex1Macro,0,ex1Max,96,uiColors[GUI_COLOR_MACRO_OTHER]));
} else if (ins->type==DIV_INS_DAVE) {
macroList.push_back(FurnaceGUIMacroDesc("Control",&ins->std.ex1Macro,0,ex1Max,64,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,daveControlBits));
} else {
macroList.push_back(FurnaceGUIMacroDesc("Duty",&ins->std.ex1Macro,0,ex1Max,160,uiColors[GUI_COLOR_MACRO_OTHER]));
}