WonderSwan: bring Mednafen core back

This commit is contained in:
tildearrow 2025-03-22 01:36:03 -05:00
parent b4b0481b3f
commit 841af611ba
10 changed files with 1334 additions and 3 deletions

View file

@ -209,6 +209,11 @@ const char* ayCores[]={
"AtomicSSG"
};
const char* swanCores[]={
"asiekierka new core",
"Mednafen"
};
const char* coreQualities[]={
_N("Lower"),
_N("Low"),
@ -2053,6 +2058,17 @@ void FurnaceGUI::drawSettings() {
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
if (ImGui::Combo("##AYCoreRender",&settings.ayCoreRender,ayCores,2)) settingsChanged=true;
ImGui::TableNextRow();
ImGui::TableNextColumn();
ImGui::AlignTextToFramePadding();
ImGui::Text("WonderSwan");
ImGui::TableNextColumn();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
if (ImGui::Combo("##SwanCore",&settings.swanCore,swanCores,2)) settingsChanged=true;
ImGui::TableNextColumn();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
if (ImGui::Combo("##SwanCoreRender",&settings.swanCoreRender,swanCores,2)) settingsChanged=true;
ImGui::EndTable();
}
@ -5123,6 +5139,7 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
settings.esfmCore=conf.getInt("esfmCore",0);
settings.opllCore=conf.getInt("opllCore",0);
settings.ayCore=conf.getInt("ayCore",0);
settings.swanCore=conf.getInt("swanCore",0);
settings.dsidQuality=conf.getInt("dsidQuality",3);
settings.gbQuality=conf.getInt("gbQuality",3);
@ -5145,6 +5162,7 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
settings.esfmCoreRender=conf.getInt("esfmCoreRender",0);
settings.opllCoreRender=conf.getInt("opllCoreRender",0);
settings.ayCoreRender=conf.getInt("ayCoreRender",0);
settings.swanCoreRender=conf.getInt("swanCoreRender",0);
settings.dsidQualityRender=conf.getInt("dsidQualityRender",3);
settings.gbQualityRender=conf.getInt("gbQualityRender",3);
@ -5184,6 +5202,7 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
clampSetting(settings.esfmCore,0,1);
clampSetting(settings.opllCore,0,1);
clampSetting(settings.ayCore,0,1);
clampSetting(settings.swanCore,0,1);
clampSetting(settings.dsidQuality,0,5);
clampSetting(settings.gbQuality,0,5);
clampSetting(settings.pnQuality,0,5);
@ -5204,6 +5223,7 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
clampSetting(settings.esfmCoreRender,0,1);
clampSetting(settings.opllCoreRender,0,1);
clampSetting(settings.ayCoreRender,0,1);
clampSetting(settings.swanCoreRender,0,1);
clampSetting(settings.dsidQualityRender,0,5);
clampSetting(settings.gbQualityRender,0,5);
clampSetting(settings.pnQualityRender,0,5);
@ -5697,6 +5717,7 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
conf.set("esfmCore",settings.esfmCore);
conf.set("opllCore",settings.opllCore);
conf.set("ayCore",settings.ayCore);
conf.set("swanCore",settings.swanCore);
conf.set("dsidQuality",settings.dsidQuality);
conf.set("gbQuality",settings.gbQuality);
@ -5719,6 +5740,7 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
conf.set("esfmCoreRender",settings.esfmCoreRender);
conf.set("opllCoreRender",settings.opllCoreRender);
conf.set("ayCoreRender",settings.ayCoreRender);
conf.set("swanCoreRender",settings.swanCoreRender);
conf.set("dsidQualityRender",settings.dsidQualityRender);
conf.set("gbQualityRender",settings.gbQualityRender);
@ -5776,6 +5798,7 @@ void FurnaceGUI::commitSettings() {
settings.esfmCore!=e->getConfInt("esfmCore",0) ||
settings.opllCore!=e->getConfInt("opllCore",0) ||
settings.ayCore!=e->getConfInt("ayCore",0) ||
settings.swanCore!=e->getConfInt("swanCore",0) ||
settings.dsidQuality!=e->getConfInt("dsidQuality",3) ||
settings.gbQuality!=e->getConfInt("gbQuality",3) ||
settings.pnQuality!=e->getConfInt("pnQuality",3) ||