mirror of
https://github.com/dborth/snes9xgx.git
synced 2025-02-02 21:22:43 +01:00
merging changes from Zopenko
This commit is contained in:
parent
1e46032589
commit
10a881ac05
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,5 @@
|
|||||||
/snes9x-gx.pnps
|
/snes9x-gx.pnps
|
||||||
/snes9x-gx.pnproj
|
/snes9x-gx.pnproj
|
||||||
/build_wii
|
/build_wii
|
||||||
|
/build_gc
|
||||||
/executables
|
/executables
|
||||||
|
12
readme.txt
12
readme.txt
@ -31,6 +31,18 @@ Wii homebrew is WiiBrew (www.wiibrew.org).
|
|||||||
•<EFBFBD>———–—––-- - —————————––––– ———–—––-- - —————————––––– ———–—––-- - ————————•
|
•<EFBFBD>———–—––-- - —————————––––– ———–—––-- - —————————––––– ———–—––-- - ————————•
|
||||||
| UPDATE HISTORY |
|
| UPDATE HISTORY |
|
||||||
•<EFBFBD>———–—––-- - —————————––––– ———–—––-- - —————————––––– ———–—––-- - ————————•
|
•<EFBFBD>———–—––-- - —————————––––– ———–—––-- - —————————––––– ———–—––-- - ————————•
|
||||||
|
|
||||||
|
[4.3.6 - September 12, 2016]
|
||||||
|
|
||||||
|
* Added the delete save file (SRAM / Snapshot) option
|
||||||
|
* Changed the box colors for the SRAM and Snapshots files to match the color scheme of the emu GUI
|
||||||
|
* Change the "Power off Wii" exit option to completely turn off the wii, ignoring the WC24 settings
|
||||||
|
* Updated emulator credits
|
||||||
|
* Added an option to switch between screenshots, covers, or artworks images,
|
||||||
|
with their respectively named folders inside /snes9xgx at the device's root.
|
||||||
|
You can set which one to show, by going to Settings > Menu > Preview Image.
|
||||||
|
The .PNG image file needs to have the same name as the ROM (e.g.: Contra III.png)
|
||||||
|
|
||||||
[4.3.5 - February 06, 2016]
|
[4.3.5 - February 06, 2016]
|
||||||
|
|
||||||
* Added Fix94 wiiflow plugin mode
|
* Added Fix94 wiiflow plugin mode
|
||||||
|
@ -144,8 +144,7 @@ LoadSnapshotAuto (bool silent)
|
|||||||
* SavePreview
|
* SavePreview
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
int
|
int SavePreviewImg (char * filepath, bool silent)
|
||||||
SavePreviewImg (char * filepath, bool silent)
|
|
||||||
{
|
{
|
||||||
int device;
|
int device;
|
||||||
|
|
||||||
@ -161,8 +160,5 @@ SavePreviewImg (char * filepath, bool silent)
|
|||||||
sprintf(screenpath, "%s.png", screenpath);
|
sprintf(screenpath, "%s.png", screenpath);
|
||||||
SaveFile((char *)gameScreenPng, screenpath, gameScreenPngSize, silent);
|
SaveFile((char *)gameScreenPng, screenpath, gameScreenPngSize, silent);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!silent)
|
|
||||||
InfoPrompt("Save successful");
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
Binary file not shown.
Before Width: | Height: | Size: 546 B After Width: | Height: | Size: 11 KiB |
Binary file not shown.
Before Width: | Height: | Size: 549 B After Width: | Height: | Size: 11 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.9 KiB |
@ -633,13 +633,13 @@ void ReportButtons ()
|
|||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
UpdatePads();
|
UpdatePads();
|
||||||
/*
|
|
||||||
Settings.TurboMode = (
|
Settings.TurboMode = (
|
||||||
userInput[0].pad.substickX > 70 ||
|
userInput[0].pad.substickX > 70 ||
|
||||||
userInput[0].WPAD_StickX(1) > 70 ||
|
userInput[0].WPAD_StickX(1) > 70 ||
|
||||||
userInput[0].wupcdata.substickX > 560
|
userInput[0].wupcdata.substickX > 560
|
||||||
); // RIGHT on c-stick and on classic controller right joystick
|
); // RIGHT on c-stick and on classic controller right joystick
|
||||||
*/
|
|
||||||
/* Check for menu:
|
/* Check for menu:
|
||||||
* CStick left
|
* CStick left
|
||||||
* OR "L+R+X+Y" (eg. Homebrew/Adapted SNES controllers)
|
* OR "L+R+X+Y" (eg. Homebrew/Adapted SNES controllers)
|
||||||
|
@ -787,13 +787,13 @@ static void WindowCredits(void * ptr)
|
|||||||
creditsBoxImg.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE);
|
creditsBoxImg.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE);
|
||||||
creditsWindowBox.Append(&creditsBoxImg);
|
creditsWindowBox.Append(&creditsBoxImg);
|
||||||
|
|
||||||
int numEntries = 24;
|
int numEntries = 23;
|
||||||
GuiText * txt[numEntries];
|
GuiText * txt[numEntries];
|
||||||
|
|
||||||
txt[i] = new GuiText("Credits", 30, (GXColor){0, 0, 0, 255});
|
txt[i] = new GuiText("Credits", 30, (GXColor){0, 0, 0, 255});
|
||||||
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(0,y); i++; y+=32;
|
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(0,y); i++; y+=32;
|
||||||
|
|
||||||
txt[i] = new GuiText("Official Site: http://code.google.com/p/snes9x-gx/", 20, (GXColor){0, 0, 0, 255});
|
txt[i] = new GuiText("Official Site: https://github.com/dborth/snes9xgx", 20, (GXColor){0, 0, 0, 255});
|
||||||
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(0,y); i++; y+=40;
|
txt[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); txt[i]->SetPosition(0,y); i++; y+=40;
|
||||||
|
|
||||||
txt[i]->SetPresets(20, (GXColor){0, 0, 0, 255}, 0,
|
txt[i]->SetPresets(20, (GXColor){0, 0, 0, 255}, 0,
|
||||||
@ -803,9 +803,9 @@ static void WindowCredits(void * ptr)
|
|||||||
txt[i]->SetPosition(60,y); i++;
|
txt[i]->SetPosition(60,y); i++;
|
||||||
txt[i] = new GuiText("Tantric");
|
txt[i] = new GuiText("Tantric");
|
||||||
txt[i]->SetPosition(350,y); i++; y+=24;
|
txt[i]->SetPosition(350,y); i++; y+=24;
|
||||||
txt[i] = new GuiText("Coding");
|
txt[i] = new GuiText("Additional improvements");
|
||||||
txt[i]->SetPosition(60,y); i++;
|
txt[i]->SetPosition(60,y); i++;
|
||||||
txt[i] = new GuiText("michniewski");
|
txt[i] = new GuiText("Zopenko, michniewski");
|
||||||
txt[i]->SetPosition(350,y); i++; y+=24;
|
txt[i]->SetPosition(350,y); i++; y+=24;
|
||||||
txt[i] = new GuiText("Menu artwork");
|
txt[i] = new GuiText("Menu artwork");
|
||||||
txt[i]->SetPosition(60,y); i++;
|
txt[i]->SetPosition(60,y); i++;
|
||||||
@ -841,11 +841,9 @@ static void WindowCredits(void * ptr)
|
|||||||
|
|
||||||
txt[i] = new GuiText("Snes9x - Copyright (c) Snes9x Team 1996 - 2006");
|
txt[i] = new GuiText("Snes9x - Copyright (c) Snes9x Team 1996 - 2006");
|
||||||
txt[i]->SetPosition(0,y); i++; y+=20;
|
txt[i]->SetPosition(0,y); i++; y+=20;
|
||||||
txt[i] = new GuiText("This software is open source and may be copied,");
|
txt[i] = new GuiText("This software is open source and may be copied, distributed, or modified ");
|
||||||
txt[i]->SetPosition(0,y); i++; y+=20;
|
txt[i]->SetPosition(0,y); i++; y+=20;
|
||||||
txt[i] = new GuiText("distributed, or modified under the terms of the");
|
txt[i] = new GuiText("under the terms of the GNU General Public License (GPL) Version 2.");
|
||||||
txt[i]->SetPosition(0,y); i++; y+=20;
|
|
||||||
txt[i] = new GuiText("GNU General Public License (GPL) Version 2.");
|
|
||||||
txt[i]->SetPosition(0,y); i++; y+=20;
|
txt[i]->SetPosition(0,y); i++; y+=20;
|
||||||
|
|
||||||
char iosVersion[20];
|
char iosVersion[20];
|
||||||
@ -989,7 +987,7 @@ static int MenuGameSelection()
|
|||||||
preview.SetPosition(174, -8);
|
preview.SetPosition(174, -8);
|
||||||
u8* imgBuffer = MEM_ALLOC(512 * 512 * 4);
|
u8* imgBuffer = MEM_ALLOC(512 * 512 * 4);
|
||||||
int previousBrowserIndex = -1;
|
int previousBrowserIndex = -1;
|
||||||
char screenshotPath[MAXJOLIET + 1];
|
char imagePath[MAXJOLIET + 1];
|
||||||
|
|
||||||
HaltGui();
|
HaltGui();
|
||||||
btnLogo->SetAlignment(ALIGN_RIGHT, ALIGN_TOP);
|
btnLogo->SetAlignment(ALIGN_RIGHT, ALIGN_TOP);
|
||||||
@ -1051,7 +1049,6 @@ static int MenuGameSelection()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
titleTxt.SetText(inSz ? szname : "Choose Game");
|
titleTxt.SetText(inSz ? szname : "Choose Game");
|
||||||
|
|
||||||
ResumeGui();
|
ResumeGui();
|
||||||
@ -1071,20 +1068,19 @@ static int MenuGameSelection()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//update game screenshot
|
//update gamelist image
|
||||||
if(previousBrowserIndex != browser.selIndex)
|
if(previousBrowserIndex != browser.selIndex)
|
||||||
{
|
{
|
||||||
previousBrowserIndex = browser.selIndex;
|
previousBrowserIndex = browser.selIndex;
|
||||||
snprintf(screenshotPath, MAXJOLIET, "%s%s/%s.png", pathPrefix[GCSettings.LoadMethod], GCSettings.ScreenshotsFolder, browserList[browser.selIndex].displayname);
|
snprintf(imagePath, MAXJOLIET, "%s%s/%s.png", pathPrefix[GCSettings.LoadMethod], GCSettings.ImageFolder, browserList[browser.selIndex].displayname);
|
||||||
|
|
||||||
AllocSaveBuffer();
|
AllocSaveBuffer();
|
||||||
int width, height;
|
int width, height;
|
||||||
if(LoadFile(screenshotPath, SILENT))
|
if(LoadFile(imagePath, SILENT))
|
||||||
{
|
{
|
||||||
if(DecodePNG(savebuffer, &width, &height, imgBuffer, 512, 512))
|
if(DecodePNG(savebuffer, &width, &height, imgBuffer, 512, 512))
|
||||||
{
|
{
|
||||||
preview.SetImage(imgBuffer, width, height);
|
preview.SetImage(imgBuffer, width, height);
|
||||||
//preview.SetScale(225.0f / width);
|
|
||||||
preview.SetScale( MIN(225.0f / width, 235.0f / height) );
|
preview.SetScale( MIN(225.0f / width, 235.0f / height) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1776,7 +1772,7 @@ static int MenuGameSaves(int action)
|
|||||||
|
|
||||||
ret = saveBrowser.GetClickedSave();
|
ret = saveBrowser.GetClickedSave();
|
||||||
|
|
||||||
// load, save and delete save games
|
//load, save and delete save games
|
||||||
if(ret > -3)
|
if(ret > -3)
|
||||||
{
|
{
|
||||||
int result = 0;
|
int result = 0;
|
||||||
@ -1796,7 +1792,7 @@ static int MenuGameSaves(int action)
|
|||||||
if(result)
|
if(result)
|
||||||
menu = MENU_EXIT;
|
menu = MENU_EXIT;
|
||||||
}
|
}
|
||||||
else if(action == 2) // delete SRAM/Snapshot
|
else if(action == 2) // delete RAM/State
|
||||||
{
|
{
|
||||||
if (WindowPrompt("Delete File", "Delete this save file? Deleted files can not be restored.", "OK", "Cancel"))
|
if (WindowPrompt("Delete File", "Delete this save file? Deleted files can not be restored.", "OK", "Cancel"))
|
||||||
{
|
{
|
||||||
@ -1822,8 +1818,6 @@ static int MenuGameSaves(int action)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
menu = MENU_GAME_DELETE;
|
menu = MENU_GAME_DELETE;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else // save
|
else // save
|
||||||
{
|
{
|
||||||
@ -1869,7 +1863,6 @@ static int MenuGameSaves(int action)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(backBtn.GetState() == STATE_CLICKED)
|
if(backBtn.GetState() == STATE_CLICKED)
|
||||||
{
|
{
|
||||||
menu = MENU_GAME;
|
menu = MENU_GAME;
|
||||||
@ -3518,6 +3511,8 @@ static int MenuSettingsFile()
|
|||||||
sprintf(options.name[i++], "Save Folder");
|
sprintf(options.name[i++], "Save Folder");
|
||||||
sprintf(options.name[i++], "Cheats Folder");
|
sprintf(options.name[i++], "Cheats Folder");
|
||||||
sprintf(options.name[i++], "Screenshots Folder");
|
sprintf(options.name[i++], "Screenshots Folder");
|
||||||
|
sprintf(options.name[i++], "Covers Folder");
|
||||||
|
sprintf(options.name[i++], "Artworks Folder");
|
||||||
sprintf(options.name[i++], "Auto Load");
|
sprintf(options.name[i++], "Auto Load");
|
||||||
sprintf(options.name[i++], "Auto Save");
|
sprintf(options.name[i++], "Auto Save");
|
||||||
options.length = i;
|
options.length = i;
|
||||||
@ -3595,12 +3590,20 @@ static int MenuSettingsFile()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 6:
|
case 6:
|
||||||
|
OnScreenKeyboard(GCSettings.CoverFolder, MAXPATHLEN);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 7:
|
||||||
|
OnScreenKeyboard(GCSettings.ArtworkFolder, MAXPATHLEN);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 8:
|
||||||
GCSettings.AutoLoad++;
|
GCSettings.AutoLoad++;
|
||||||
if (GCSettings.AutoLoad > 2)
|
if (GCSettings.AutoLoad > 2)
|
||||||
GCSettings.AutoLoad = 0;
|
GCSettings.AutoLoad = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7:
|
case 9:
|
||||||
GCSettings.AutoSave++;
|
GCSettings.AutoSave++;
|
||||||
if (GCSettings.AutoSave > 3)
|
if (GCSettings.AutoSave > 3)
|
||||||
GCSettings.AutoSave = 0;
|
GCSettings.AutoSave = 0;
|
||||||
@ -3667,15 +3670,17 @@ static int MenuSettingsFile()
|
|||||||
snprintf (options.value[3], 35, "%s", GCSettings.SaveFolder);
|
snprintf (options.value[3], 35, "%s", GCSettings.SaveFolder);
|
||||||
snprintf (options.value[4], 35, "%s", GCSettings.CheatFolder);
|
snprintf (options.value[4], 35, "%s", GCSettings.CheatFolder);
|
||||||
snprintf (options.value[5], 35, "%s", GCSettings.ScreenshotsFolder);
|
snprintf (options.value[5], 35, "%s", GCSettings.ScreenshotsFolder);
|
||||||
|
snprintf (options.value[6], 35, "%s", GCSettings.CoverFolder);
|
||||||
|
snprintf (options.value[7], 35, "%s", GCSettings.ArtworkFolder);
|
||||||
|
|
||||||
if (GCSettings.AutoLoad == 0) sprintf (options.value[6],"Off");
|
if (GCSettings.AutoLoad == 0) sprintf (options.value[8],"Off");
|
||||||
else if (GCSettings.AutoLoad == 1) sprintf (options.value[6],"SRAM");
|
else if (GCSettings.AutoLoad == 1) sprintf (options.value[8],"SRAM");
|
||||||
else if (GCSettings.AutoLoad == 2) sprintf (options.value[6],"Snapshot");
|
else if (GCSettings.AutoLoad == 2) sprintf (options.value[8],"Snapshot");
|
||||||
|
|
||||||
if (GCSettings.AutoSave == 0) sprintf (options.value[7],"Off");
|
if (GCSettings.AutoSave == 0) sprintf (options.value[9],"Off");
|
||||||
else if (GCSettings.AutoSave == 1) sprintf (options.value[7],"SRAM");
|
else if (GCSettings.AutoSave == 1) sprintf (options.value[9],"SRAM");
|
||||||
else if (GCSettings.AutoSave == 2) sprintf (options.value[7],"Snapshot");
|
else if (GCSettings.AutoSave == 2) sprintf (options.value[9],"Snapshot");
|
||||||
else if (GCSettings.AutoSave == 3) sprintf (options.value[7],"Both");
|
else if (GCSettings.AutoSave == 3) sprintf (options.value[9],"Both");
|
||||||
|
|
||||||
optionBrowser.TriggerUpdate();
|
optionBrowser.TriggerUpdate();
|
||||||
}
|
}
|
||||||
@ -3710,6 +3715,7 @@ static int MenuSettingsMenu()
|
|||||||
sprintf(options.name[i++], "Sound Effects Volume");
|
sprintf(options.name[i++], "Sound Effects Volume");
|
||||||
sprintf(options.name[i++], "Rumble");
|
sprintf(options.name[i++], "Rumble");
|
||||||
sprintf(options.name[i++], "Language");
|
sprintf(options.name[i++], "Language");
|
||||||
|
sprintf(options.name[i++], "Preview Image");
|
||||||
options.length = i;
|
options.length = i;
|
||||||
|
|
||||||
for(i=0; i < options.length; i++)
|
for(i=0; i < options.length; i++)
|
||||||
@ -3794,6 +3800,12 @@ static int MenuSettingsMenu()
|
|||||||
GCSettings.language = LANG_ENGLISH;
|
GCSettings.language = LANG_ENGLISH;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 6:
|
||||||
|
GCSettings.PreviewImage++;
|
||||||
|
if(GCSettings.PreviewImage > 2)
|
||||||
|
GCSettings.PreviewImage = 0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ret >= 0 || firstRun)
|
if(ret >= 0 || firstRun)
|
||||||
@ -3861,6 +3873,22 @@ static int MenuSettingsMenu()
|
|||||||
case LANG_TURKISH: sprintf(options.value[5], "Turkish"); break;
|
case LANG_TURKISH: sprintf(options.value[5], "Turkish"); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch(GCSettings.PreviewImage)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sprintf(options.value[6], "Screenshots");
|
||||||
|
snprintf(GCSettings.ImageFolder, MAXJOLIET, "%s", GCSettings.ScreenshotsFolder);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
sprintf(options.value[6], "Covers");
|
||||||
|
snprintf(GCSettings.ImageFolder, MAXJOLIET, "%s", GCSettings.CoverFolder);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
sprintf(options.value[6], "Artworks");
|
||||||
|
snprintf(GCSettings.ImageFolder, MAXJOLIET, "%s", GCSettings.ArtworkFolder);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
optionBrowser.TriggerUpdate();
|
optionBrowser.TriggerUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,6 +127,9 @@ preparePrefsData ()
|
|||||||
createXMLSetting("SaveFolder", "Save Folder", GCSettings.SaveFolder);
|
createXMLSetting("SaveFolder", "Save Folder", GCSettings.SaveFolder);
|
||||||
createXMLSetting("CheatFolder", "Cheats Folder", GCSettings.CheatFolder);
|
createXMLSetting("CheatFolder", "Cheats Folder", GCSettings.CheatFolder);
|
||||||
createXMLSetting("ScreenshotsFolder", "Screenshots Folder", GCSettings.ScreenshotsFolder);
|
createXMLSetting("ScreenshotsFolder", "Screenshots Folder", GCSettings.ScreenshotsFolder);
|
||||||
|
createXMLSetting("CoverFolder", "Covers Folder", GCSettings.CoverFolder);
|
||||||
|
createXMLSetting("ArtworkFolder", "Artworks Folder", GCSettings.ArtworkFolder);
|
||||||
|
createXMLSetting("ImageFolder", "Image Folder", GCSettings.ImageFolder);
|
||||||
|
|
||||||
createXMLSection("Network", "Network Settings");
|
createXMLSection("Network", "Network Settings");
|
||||||
|
|
||||||
@ -156,6 +159,7 @@ preparePrefsData ()
|
|||||||
createXMLSetting("SFXVolume", "Sound Effects Volume", toStr(GCSettings.SFXVolume));
|
createXMLSetting("SFXVolume", "Sound Effects Volume", toStr(GCSettings.SFXVolume));
|
||||||
createXMLSetting("Rumble", "Rumble", toStr(GCSettings.Rumble));
|
createXMLSetting("Rumble", "Rumble", toStr(GCSettings.Rumble));
|
||||||
createXMLSetting("language", "Language", toStr(GCSettings.language));
|
createXMLSetting("language", "Language", toStr(GCSettings.language));
|
||||||
|
createXMLSetting("PreviewImage", "Preview Image", toStr(GCSettings.PreviewImage));
|
||||||
|
|
||||||
createXMLSection("Controller", "Controller Settings");
|
createXMLSection("Controller", "Controller Settings");
|
||||||
|
|
||||||
@ -270,9 +274,6 @@ decodePrefsData ()
|
|||||||
int verMajor = version[0] - '0';
|
int verMajor = version[0] - '0';
|
||||||
int verMinor = version[2] - '0';
|
int verMinor = version[2] - '0';
|
||||||
int verPoint = version[4] - '0';
|
int verPoint = version[4] - '0';
|
||||||
int curMajor = APPVERSION[0] - '0';
|
|
||||||
int curMinor = APPVERSION[2] - '0';
|
|
||||||
int curPoint = APPVERSION[4] - '0';
|
|
||||||
|
|
||||||
// first we'll check that the versioning is valid
|
// first we'll check that the versioning is valid
|
||||||
if(!(verMajor >= 0 && verMajor <= 9 &&
|
if(!(verMajor >= 0 && verMajor <= 9 &&
|
||||||
@ -283,9 +284,6 @@ decodePrefsData ()
|
|||||||
result = false; // reset settings
|
result = false; // reset settings
|
||||||
else if(verMajor == 4 && verMinor == 0 && verPoint < 2) // anything less than 4.0.2
|
else if(verMajor == 4 && verMinor == 0 && verPoint < 2) // anything less than 4.0.2
|
||||||
result = false; // reset settings
|
result = false; // reset settings
|
||||||
else if((verMajor*100 + verMinor*10 + verPoint) >
|
|
||||||
(curMajor*100 + curMinor*10 + curPoint)) // some future version
|
|
||||||
result = false; // reset settings
|
|
||||||
else
|
else
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
@ -304,6 +302,9 @@ decodePrefsData ()
|
|||||||
loadXMLSetting(GCSettings.SaveFolder, "SaveFolder", sizeof(GCSettings.SaveFolder));
|
loadXMLSetting(GCSettings.SaveFolder, "SaveFolder", sizeof(GCSettings.SaveFolder));
|
||||||
loadXMLSetting(GCSettings.CheatFolder, "CheatFolder", sizeof(GCSettings.CheatFolder));
|
loadXMLSetting(GCSettings.CheatFolder, "CheatFolder", sizeof(GCSettings.CheatFolder));
|
||||||
loadXMLSetting(GCSettings.ScreenshotsFolder, "ScreenshotsFolder", sizeof(GCSettings.ScreenshotsFolder));
|
loadXMLSetting(GCSettings.ScreenshotsFolder, "ScreenshotsFolder", sizeof(GCSettings.ScreenshotsFolder));
|
||||||
|
loadXMLSetting(GCSettings.CoverFolder, "CoverFolder", sizeof(GCSettings.CoverFolder));
|
||||||
|
loadXMLSetting(GCSettings.ArtworkFolder, "ArtworkFolder", sizeof(GCSettings.ArtworkFolder));
|
||||||
|
loadXMLSetting(GCSettings.ImageFolder, "ImageFolder", sizeof(GCSettings.ImageFolder));
|
||||||
|
|
||||||
// Network Settings
|
// Network Settings
|
||||||
|
|
||||||
@ -336,6 +337,7 @@ decodePrefsData ()
|
|||||||
loadXMLSetting(&GCSettings.SFXVolume, "SFXVolume");
|
loadXMLSetting(&GCSettings.SFXVolume, "SFXVolume");
|
||||||
loadXMLSetting(&GCSettings.Rumble, "Rumble");
|
loadXMLSetting(&GCSettings.Rumble, "Rumble");
|
||||||
loadXMLSetting(&GCSettings.language, "language");
|
loadXMLSetting(&GCSettings.language, "language");
|
||||||
|
loadXMLSetting(&GCSettings.PreviewImage, "PreviewImage");
|
||||||
|
|
||||||
// Controller Settings
|
// Controller Settings
|
||||||
|
|
||||||
@ -409,7 +411,10 @@ DefaultSettings ()
|
|||||||
sprintf (GCSettings.LoadFolder, "%s/roms", APPFOLDER); // Path to game files
|
sprintf (GCSettings.LoadFolder, "%s/roms", APPFOLDER); // Path to game files
|
||||||
sprintf (GCSettings.SaveFolder, "%s/saves", APPFOLDER); // Path to save files
|
sprintf (GCSettings.SaveFolder, "%s/saves", APPFOLDER); // Path to save files
|
||||||
sprintf (GCSettings.CheatFolder, "%s/cheats", APPFOLDER); // Path to cheat files
|
sprintf (GCSettings.CheatFolder, "%s/cheats", APPFOLDER); // Path to cheat files
|
||||||
sprintf (GCSettings.ScreenshotsFolder, "%s/screenshots", APPFOLDER); // Path to cheat files
|
sprintf (GCSettings.ScreenshotsFolder, "%s/screenshots", APPFOLDER); // Path to screenshot files
|
||||||
|
sprintf (GCSettings.CoverFolder, "%s/covers", APPFOLDER); // Path to cover files
|
||||||
|
sprintf (GCSettings.ArtworkFolder, "%s/artworks", APPFOLDER); // Path to artwork files
|
||||||
|
sprintf (GCSettings.ImageFolder, "%s/covers", APPFOLDER);
|
||||||
GCSettings.AutoLoad = 1;
|
GCSettings.AutoLoad = 1;
|
||||||
GCSettings.AutoSave = 1;
|
GCSettings.AutoSave = 1;
|
||||||
|
|
||||||
@ -431,6 +436,8 @@ DefaultSettings ()
|
|||||||
GCSettings.MusicVolume = 40;
|
GCSettings.MusicVolume = 40;
|
||||||
GCSettings.SFXVolume = 40;
|
GCSettings.SFXVolume = 40;
|
||||||
GCSettings.Rumble = 1;
|
GCSettings.Rumble = 1;
|
||||||
|
GCSettings.PreviewImage = 0;
|
||||||
|
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
GCSettings.language = CONF_GetLanguage();
|
GCSettings.language = CONF_GetLanguage();
|
||||||
|
|
||||||
@ -667,6 +674,12 @@ bool LoadPrefs()
|
|||||||
if(strcmp(GCSettings.ScreenshotsFolder, "snes9x/screenshots") == 0)
|
if(strcmp(GCSettings.ScreenshotsFolder, "snes9x/screenshots") == 0)
|
||||||
sprintf(GCSettings.ScreenshotsFolder, "snes9xgx/screenshots");
|
sprintf(GCSettings.ScreenshotsFolder, "snes9xgx/screenshots");
|
||||||
|
|
||||||
|
if(strcmp(GCSettings.CoverFolder, "snes9x/covers") == 0)
|
||||||
|
sprintf(GCSettings.CoverFolder, "snes9xgx/covers");
|
||||||
|
|
||||||
|
if(strcmp(GCSettings.ArtworkFolder, "snes9x/artworks") == 0)
|
||||||
|
sprintf(GCSettings.ArtworkFolder, "snes9xgx/artworks");
|
||||||
|
|
||||||
ResetText();
|
ResetText();
|
||||||
return prefFound;
|
return prefFound;
|
||||||
}
|
}
|
||||||
|
@ -121,7 +121,7 @@ void ExitApp()
|
|||||||
ExitCleanup();
|
ExitCleanup();
|
||||||
|
|
||||||
if(ShutdownRequested)
|
if(ShutdownRequested)
|
||||||
SYS_ResetSystem(SYS_POWEROFF, 0, 0);
|
SYS_ResetSystem(SYS_POWEROFF_STANDBY, 0, 0);
|
||||||
|
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
if(GCSettings.ExitAction == 0) // Auto
|
if(GCSettings.ExitAction == 0) // Auto
|
||||||
@ -153,7 +153,7 @@ void ExitApp()
|
|||||||
}
|
}
|
||||||
else if(GCSettings.ExitAction == 2) // Shutdown Wii
|
else if(GCSettings.ExitAction == 2) // Shutdown Wii
|
||||||
{
|
{
|
||||||
SYS_ResetSystem(SYS_POWEROFF, 0, 0);
|
SYS_ResetSystem(SYS_POWEROFF_STANDBY, 0, 0);
|
||||||
}
|
}
|
||||||
else // Exit to Loader
|
else // Exit to Loader
|
||||||
{
|
{
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define APPNAME "Snes9x GX"
|
#define APPNAME "Snes9x GX"
|
||||||
#define APPVERSION "4.3.6"
|
#define APPVERSION "4.3.6"
|
||||||
#define APPFOLDER "snes9xgx"
|
#define APPFOLDER "snes9xgx"
|
||||||
#define PREF_FILE_NAME "settings.xml"
|
#define PREF_FILE_NAME "settings.xml"
|
||||||
|
|
||||||
#define NOTSILENT 0
|
#define NOTSILENT 0
|
||||||
#define SILENT 1
|
#define SILENT 1
|
||||||
@ -84,11 +84,14 @@ struct SGCSettings{
|
|||||||
int AutoSave;
|
int AutoSave;
|
||||||
int LoadMethod; // For ROMS: Auto, SD, DVD, USB, Network (SMB)
|
int LoadMethod; // For ROMS: Auto, SD, DVD, USB, Network (SMB)
|
||||||
int SaveMethod; // For SRAM, Freeze, Prefs: Auto, SD, USB, SMB
|
int SaveMethod; // For SRAM, Freeze, Prefs: Auto, SD, USB, SMB
|
||||||
char LoadFolder[MAXPATHLEN]; // Path to game files
|
char LoadFolder[MAXPATHLEN]; // Path to game files
|
||||||
char LastFileLoaded[MAXPATHLEN]; //Last file loaded filename
|
char LastFileLoaded[MAXPATHLEN]; //Last file loaded filename
|
||||||
char SaveFolder[MAXPATHLEN]; // Path to save files
|
char SaveFolder[MAXPATHLEN]; // Path to save files
|
||||||
char CheatFolder[MAXPATHLEN]; // Path to cheat files
|
char CheatFolder[MAXPATHLEN]; // Path to cheat files
|
||||||
char ScreenshotsFolder[MAXPATHLEN]; //Path to screenshots files
|
char ScreenshotsFolder[MAXPATHLEN]; //Path to screenshots files
|
||||||
|
char CoverFolder[MAXPATHLEN]; //Path to cover files
|
||||||
|
char ArtworkFolder[MAXPATHLEN]; //Path to artwork files
|
||||||
|
char ImageFolder[MAXPATHLEN]; //Saved image folder path
|
||||||
|
|
||||||
char Exit_Dol_File[MAXPATHLEN]; // Exit Path
|
char Exit_Dol_File[MAXPATHLEN]; // Exit Path
|
||||||
char LoaderName[20]; // Menu Loader Name
|
char LoaderName[20]; // Menu Loader Name
|
||||||
@ -115,6 +118,7 @@ struct SGCSettings{
|
|||||||
int SFXVolume;
|
int SFXVolume;
|
||||||
int Rumble;
|
int Rumble;
|
||||||
int language;
|
int language;
|
||||||
|
int PreviewImage;
|
||||||
|
|
||||||
int sfxOverclock;
|
int sfxOverclock;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user