Merge branch 'master' of git@github.com:dborth/snes9xgx.git

This commit is contained in:
Daryl Borth 2022-07-18 13:04:38 -06:00
commit 3c0f05da3f
5 changed files with 58 additions and 28 deletions

View File

@ -793,12 +793,18 @@ msgstr "Controles de SNES (2)"
msgid "SNES Controllers (4)" msgid "SNES Controllers (4)"
msgstr "Controles de SNES (4)" msgstr "Controles de SNES (4)"
msgid "SNES Hi-Res Mode"
msgstr "Modo Alta-Res SNES"
msgid "SNES Mouse" msgid "SNES Mouse"
msgstr "Mouse de SNES" msgstr "Mouse de SNES"
msgid "Snes9x - Copyright (c) Snes9x Team 1996 - 2022" msgid "Snes9x - Copyright (c) Snes9x Team 1996 - 2022"
msgstr "Snes9x - Derechos de autor (c) Snes9x Team 1996 - 2022" msgstr "Snes9x - Derechos de autor (c) Snes9x Team 1996 - 2022"
msgid "Sprites per-line Limit"
msgstr "Límite de Sprites"
msgid "SRAM" msgid "SRAM"
msgstr "SRAM" msgstr "SRAM"

View File

@ -3536,8 +3536,10 @@ static int MenuSettingsVideo()
sprintf(options.name[i++], "Filtering"); sprintf(options.name[i++], "Filtering");
sprintf(options.name[i++], "Screen Zoom"); sprintf(options.name[i++], "Screen Zoom");
sprintf(options.name[i++], "Screen Position"); sprintf(options.name[i++], "Screen Position");
sprintf(options.name[i++], "Crosshair");
sprintf(options.name[i++], "Video Mode"); sprintf(options.name[i++], "Video Mode");
sprintf(options.name[i++], "SNES Hi-Res Mode");
sprintf(options.name[i++], "Sprites per-line Limit");
sprintf(options.name[i++], "Crosshair");
sprintf(options.name[i++], "Show Framerate"); sprintf(options.name[i++], "Show Framerate");
sprintf(options.name[i++], "Show Local Time"); sprintf(options.name[i++], "Show Local Time");
sprintf(options.name[i++], "SuperFX Overclock"); sprintf(options.name[i++], "SuperFX Overclock");
@ -3620,21 +3622,32 @@ static int MenuSettingsVideo()
break; break;
case 5: case 5:
GCSettings.crosshair ^= 1;
break;
case 6:
GCSettings.videomode++; GCSettings.videomode++;
if(GCSettings.videomode > 4) if(GCSettings.videomode > 4)
GCSettings.videomode = 0; GCSettings.videomode = 0;
break; break;
case 6:
GCSettings.HiResolution ^= 1;
break;
case 7: case 7:
GCSettings.SpriteLimit ^= 1;
break;
case 8:
GCSettings.crosshair ^= 1;
break;
case 9:
Settings.DisplayFrameRate ^= 1; Settings.DisplayFrameRate ^= 1;
break; break;
case 8:
case 10:
Settings.DisplayTime ^= 1; Settings.DisplayTime ^= 1;
break; break;
case 9:
case 11:
#ifdef HW_RVL #ifdef HW_RVL
GCSettings.sfxOverclock++; GCSettings.sfxOverclock++;
if (GCSettings.sfxOverclock > 6) { if (GCSettings.sfxOverclock > 6) {
@ -3685,39 +3698,41 @@ static int MenuSettingsVideo()
#endif #endif
sprintf (options.value[3], "%.2f%%, %.2f%%", GCSettings.zoomHor*100, GCSettings.zoomVert*100); sprintf (options.value[3], "%.2f%%, %.2f%%", GCSettings.zoomHor*100, GCSettings.zoomVert*100);
sprintf (options.value[4], "%d, %d", GCSettings.xshift, GCSettings.yshift); sprintf (options.value[4], "%d, %d", GCSettings.xshift, GCSettings.yshift);
sprintf (options.value[5], "%s", GCSettings.crosshair == 1 ? "On" : "Off");
switch(GCSettings.videomode) switch(GCSettings.videomode)
{ {
case 0: case 0:
sprintf (options.value[6], "Automatic (Recommended)"); break; sprintf (options.value[5], "Automatic (Recommended)"); break;
case 1: case 1:
sprintf (options.value[6], "NTSC (480i)"); break; sprintf (options.value[5], "NTSC (480i)"); break;
case 2: case 2:
sprintf (options.value[6], "Progressive (480p)"); break; sprintf (options.value[5], "Progressive (480p)"); break;
case 3: case 3:
sprintf (options.value[6], "PAL (50Hz)"); break; sprintf (options.value[5], "PAL (50Hz)"); break;
case 4: case 4:
sprintf (options.value[6], "PAL (60Hz)"); break; sprintf (options.value[5], "PAL (60Hz)"); break;
} }
sprintf (options.value[7], "%s", Settings.DisplayFrameRate ? "On" : "Off"); sprintf (options.value[6], "%s", GCSettings.HiResolution == 1 ? "On" : "Off");
sprintf (options.value[8], "%s", Settings.DisplayTime ? "On" : "Off"); sprintf (options.value[7], "%s", GCSettings.SpriteLimit == 1 ? "On" : "Off");
sprintf (options.value[8], "%s", GCSettings.crosshair == 1 ? "On" : "Off");
sprintf (options.value[9], "%s", Settings.DisplayFrameRate ? "On" : "Off");
sprintf (options.value[10], "%s", Settings.DisplayTime ? "On" : "Off");
switch(GCSettings.sfxOverclock) switch(GCSettings.sfxOverclock)
{ {
case 0: case 0:
sprintf (options.value[9], "Default"); break; sprintf (options.value[11], "Default"); break;
case 1: case 1:
sprintf (options.value[9], "20 MHz"); break; sprintf (options.value[11], "20 MHz"); break;
case 2: case 2:
sprintf (options.value[9], "40 MHz"); break; sprintf (options.value[11], "40 MHz"); break;
case 3: case 3:
sprintf (options.value[9], "60 MHz"); break; sprintf (options.value[11], "60 MHz"); break;
case 4: case 4:
sprintf (options.value[9], "80 MHz"); break; sprintf (options.value[11], "80 MHz"); break;
case 5: case 5:
sprintf (options.value[9], "100 MHz"); break; sprintf (options.value[11], "100 MHz"); break;
case 6: case 6:
sprintf (options.value[9], "120 MHz"); break; sprintf (options.value[11], "120 MHz"); break;
} }
optionBrowser.TriggerUpdate(); optionBrowser.TriggerUpdate();
} }

View File

@ -151,6 +151,8 @@ preparePrefsData ()
createXMLSetting("widescreen", "Aspect Ratio Correction", toStr(GCSettings.widescreen)); createXMLSetting("widescreen", "Aspect Ratio Correction", toStr(GCSettings.widescreen));
createXMLSetting("crosshair", "Crosshair", toStr(GCSettings.crosshair)); createXMLSetting("crosshair", "Crosshair", toStr(GCSettings.crosshair));
createXMLSetting("FilterMethod", "Filter Method", toStr(GCSettings.FilterMethod)); createXMLSetting("FilterMethod", "Filter Method", toStr(GCSettings.FilterMethod));
createXMLSetting("HiResolution", "SNES Hi-Res Mode", toStr(GCSettings.HiResolution));
createXMLSetting("SpriteLimit", "Sprites per-line Limit", toStr(GCSettings.SpriteLimit));
createXMLSetting("xshift", "Horizontal Video Shift", toStr(GCSettings.xshift)); createXMLSetting("xshift", "Horizontal Video Shift", toStr(GCSettings.xshift));
createXMLSetting("yshift", "Vertical Video Shift", toStr(GCSettings.yshift)); createXMLSetting("yshift", "Vertical Video Shift", toStr(GCSettings.yshift));
createXMLSetting("sfxOverclock", "SuperFX Overclock", toStr(GCSettings.sfxOverclock)); createXMLSetting("sfxOverclock", "SuperFX Overclock", toStr(GCSettings.sfxOverclock));
@ -339,6 +341,8 @@ decodePrefsData ()
loadXMLSetting(&GCSettings.widescreen, "widescreen"); loadXMLSetting(&GCSettings.widescreen, "widescreen");
loadXMLSetting(&GCSettings.crosshair, "crosshair"); loadXMLSetting(&GCSettings.crosshair, "crosshair");
loadXMLSetting(&GCSettings.FilterMethod, "FilterMethod"); loadXMLSetting(&GCSettings.FilterMethod, "FilterMethod");
loadXMLSetting(&GCSettings.HiResolution, "HiResolution");
loadXMLSetting(&GCSettings.SpriteLimit, "SpriteLimit");
loadXMLSetting(&GCSettings.xshift, "xshift"); loadXMLSetting(&GCSettings.xshift, "xshift");
loadXMLSetting(&GCSettings.yshift, "yshift"); loadXMLSetting(&GCSettings.yshift, "yshift");
loadXMLSetting(&GCSettings.TurboModeEnabled, "TurboModeEnabled"); loadXMLSetting(&GCSettings.TurboModeEnabled, "TurboModeEnabled");
@ -487,10 +491,10 @@ DefaultSettings ()
// General // General
Settings.MouseMaster = true; Settings.MouseMaster = false;
Settings.SuperScopeMaster = true; Settings.SuperScopeMaster = false;
Settings.JustifierMaster = true; Settings.JustifierMaster = false;
Settings.MultiPlayer5Master = true; Settings.MultiPlayer5Master = false;
Settings.DontSaveOopsSnapshot = true; Settings.DontSaveOopsSnapshot = true;
Settings.ApplyCheats = true; Settings.ApplyCheats = true;
@ -515,14 +519,15 @@ DefaultSettings ()
// Graphics // Graphics
Settings.Transparency = true; Settings.Transparency = true;
Settings.SupportHiRes = true;
Settings.MaxSpriteTilesPerLine = 34; Settings.MaxSpriteTilesPerLine = 34;
Settings.SkipFrames = AUTO_FRAMERATE; Settings.SkipFrames = AUTO_FRAMERATE;
Settings.TurboSkipFrames = 19; Settings.TurboSkipFrames = 19;
Settings.DisplayFrameRate = false;
Settings.AutoDisplayMessages = false; Settings.AutoDisplayMessages = false;
Settings.InitialInfoStringTimeout = 200; // # frames to display messages for Settings.InitialInfoStringTimeout = 200; // # frames to display messages for
Settings.DisplayFrameRate = false;
Settings.DisplayTime = false; Settings.DisplayTime = false;
GCSettings.HiResolution = 1; // Enabled by default
GCSettings.SpriteLimit = 1; // Enabled by default
// Frame timings in 50hz and 60hz cpu mode // Frame timings in 50hz and 60hz cpu mode
Settings.FrameTimePAL = 20000; Settings.FrameTimePAL = 20000;

View File

@ -531,6 +531,8 @@ int main(int argc, char *argv[])
ScreenshotRequested = 0; ScreenshotRequested = 0;
SwitchAudioMode(0); SwitchAudioMode(0);
Settings.SupportHiRes = (GCSettings.HiResolution == 1);
Settings.MaxSpriteTilesPerLine = (GCSettings.SpriteLimit ? 34 : 128);
Settings.AutoDisplayMessages = (Settings.DisplayFrameRate || Settings.DisplayTime ? true : false); Settings.AutoDisplayMessages = (Settings.DisplayFrameRate || Settings.DisplayTime ? true : false);
Settings.MultiPlayer5Master = (GCSettings.Controller == CTRL_PAD4 ? true : false); Settings.MultiPlayer5Master = (GCSettings.Controller == CTRL_PAD4 ? true : false);
Settings.SuperScopeMaster = (GCSettings.Controller == CTRL_SCOPE ? true : false); Settings.SuperScopeMaster = (GCSettings.Controller == CTRL_SCOPE ? true : false);

View File

@ -126,6 +126,8 @@ struct SGCSettings{
int render; // 0 - original, 1 - filtered, 2 - unfiltered int render; // 0 - original, 1 - filtered, 2 - unfiltered
int FilterMethod; // convert to RenderFilter int FilterMethod; // convert to RenderFilter
int Controller; int Controller;
int HiResolution;
int SpriteLimit;
int crosshair; int crosshair;
int widescreen; // 0 - 4:3 aspect, 1 - 16:9 aspect int widescreen; // 0 - 4:3 aspect, 1 - 16:9 aspect
int xshift; // video output shift int xshift; // video output shift