2011-01-09 11:45:29 +01:00
/****************************************************************************
2014-05-04 16:42:52 +02:00
* Copyright ( C ) 2012 - 2014 Cyan
2013-03-17 14:48:15 +01:00
* Copyright ( C ) 2010 by Dimok
2011-01-09 11:45:29 +01:00
*
* This software is provided ' as - is ' , without any express or implied
* warranty . In no event will the authors be held liable for any
* damages arising from the use of this software .
*
* Permission is granted to anyone to use this software for any
* purpose , including commercial applications , and to alter it and
* redistribute it freely , subject to the following restrictions :
*
* 1. The origin of this software must not be misrepresented ; you
* must not claim that you wrote the original software . If you use
* this software in a product , an acknowledgment in the product
* documentation would be appreciated but is not required .
*
* 2. Altered source versions must be plainly marked as such , and
* must not be misrepresented as being the original software .
*
* 3. This notice may not be removed or altered from any source
* distribution .
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# include <unistd.h>
# include "LoaderSettings.hpp"
2011-02-05 22:06:52 +01:00
# include "usbloader/usbstorage2.h"
2011-01-09 11:45:29 +01:00
# include "settings/CSettings.h"
2011-11-12 19:14:09 +01:00
# include "settings/GameTitles.h"
2014-05-04 16:42:52 +02:00
# include "settings/meta.h"
2011-01-09 11:45:29 +01:00
# include "prompts/PromptWindows.h"
# include "language/gettext.h"
# include "wad/nandtitle.h"
# include "prompts/TitleBrowser.h"
2011-07-24 18:32:09 +02:00
# include "system/IosLoader.h"
2011-12-22 23:44:48 +01:00
# include "usbloader/wbfs.h"
# include "usbloader/GameList.h"
2012-05-06 12:59:58 +02:00
# include "utils/tools.h"
2011-01-09 11:45:29 +01:00
# include "menu.h"
2013-03-17 14:48:15 +01:00
# include "GameCube/GCGames.h"
2011-01-09 11:45:29 +01:00
2011-06-10 14:22:19 +02:00
static const char * OnOffText [ ] =
2011-01-09 11:45:29 +01:00
{
2011-07-26 00:28:22 +02:00
trNOOP ( " OFF " ) ,
trNOOP ( " ON " ) ,
trNOOP ( " Auto " )
2011-01-09 11:45:29 +01:00
} ;
2011-12-23 16:48:20 +01:00
static const char * AspectText [ ] =
{
trNOOP ( " Force 4:3 " ) ,
trNOOP ( " Force 16:9 " ) ,
trNOOP ( " System Default " )
} ;
2011-12-22 23:44:48 +01:00
static const char * VideoModeText [ ] =
2011-01-09 11:45:29 +01:00
{
2011-07-26 00:28:22 +02:00
trNOOP ( " System Default " ) ,
trNOOP ( " Disc Default " ) ,
trNOOP ( " Force PAL50 " ) ,
trNOOP ( " Force PAL60 " ) ,
trNOOP ( " Force NTSC " ) ,
trNOOP ( " Region Patch " ) ,
trNOOP ( " Force PAL480p " ) ,
trNOOP ( " Force NTSC480p " ) ,
2011-01-09 11:45:29 +01:00
} ;
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
static const char * VideoPatchDolText [ ] =
{
trNOOP ( " OFF " ) ,
trNOOP ( " Region Patch " ) ,
trNOOP ( " ON " ) ,
trNOOP ( " All " ) ,
} ;
2011-12-22 23:44:48 +01:00
static const char * LanguageText [ ] =
2011-01-09 11:45:29 +01:00
{
2011-07-26 00:28:22 +02:00
trNOOP ( " Japanese " ) ,
trNOOP ( " English " ) ,
trNOOP ( " German " ) ,
trNOOP ( " French " ) ,
trNOOP ( " Spanish " ) ,
trNOOP ( " Italian " ) ,
trNOOP ( " Dutch " ) ,
trNOOP ( " SChinese " ) ,
trNOOP ( " TChinese " ) ,
trNOOP ( " Korean " ) ,
trNOOP ( " Console Default " )
2011-01-09 11:45:29 +01:00
} ;
2011-07-24 18:32:09 +02:00
static const char * NandEmuText [ ] =
{
2011-07-26 00:28:22 +02:00
trNOOP ( " OFF " ) ,
trNOOP ( " Partial " ) ,
trNOOP ( " Full " )
2011-07-24 18:32:09 +02:00
} ;
2011-07-29 22:59:31 +02:00
static const char * HooktypeText [ ] =
{
trNOOP ( " None " ) ,
trNOOP ( " VBI (Default) " ) ,
trNOOP ( " KPAD Read " ) ,
trNOOP ( " Joypad " ) ,
trNOOP ( " GXDraw " ) ,
trNOOP ( " GXFlush " ) ,
trNOOP ( " OSSleepThread " ) ,
trNOOP ( " AXNextFrame " ) ,
} ;
2012-01-08 19:24:46 +01:00
static const char * ChannelLaunchText [ ] =
{
trNOOP ( " Main DOL " ) ,
trNOOP ( " Boot Content " ) ,
} ;
2012-07-16 18:07:24 +02:00
static const char * GCMode [ ] =
{
trNOOP ( " MIOS (Default & Customs) " ) ,
trNOOP ( " Devolution " ) ,
2013-10-01 23:13:08 +02:00
trNOOP ( " Nintendont " ) ,
2012-07-16 18:07:24 +02:00
} ;
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
static const char * GCSourceText [ ] [ 3 ] =
2012-12-09 22:36:32 +01:00
{
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
{ trNOOP ( " Main Path " ) , " " , " " } ,
{ trNOOP ( " SD Path " ) , " " , " " } ,
{ trNOOP ( " Auto " ) , " " , " " } ,
{ trNOOP ( " Main Path " ) , " / " , trNOOP ( " SD Path " ) } ,
{ trNOOP ( " SD Path " ) , " / " , trNOOP ( " Main Path " ) } ,
2012-12-09 22:36:32 +01:00
} ;
2012-07-22 22:30:59 +02:00
static const char * DMLVideoText [ ] =
{
2013-10-01 23:13:08 +02:00
trNOOP ( " Auto " ) ,
2014-05-04 17:46:13 +02:00
trNOOP ( " System Default " ) ,
trNOOP ( " Disc Default " ) ,
trNOOP ( " Force PAL50 " ) ,
trNOOP ( " Force PAL60 " ) ,
trNOOP ( " Force NTSC " ) ,
" " , // unused
trNOOP ( " Force PAL480p " ) ,
trNOOP ( " Force NTSC480p " ) ,
2013-10-01 23:13:08 +02:00
trNOOP ( " None " ) ,
2012-07-22 22:30:59 +02:00
} ;
2012-05-06 12:59:58 +02:00
static const char * DMLNMMMode [ ] =
{
trNOOP ( " OFF " ) ,
trNOOP ( " ON " ) ,
trNOOP ( " Debug " ) ,
} ;
static const char * DMLDebug [ ] =
{
trNOOP ( " OFF " ) ,
trNOOP ( " ON " ) ,
trNOOP ( " Debug Wait " ) ,
} ;
2012-07-16 18:07:24 +02:00
static const char * DEVOMCText [ ] =
{
trNOOP ( " OFF " ) ,
trNOOP ( " ON " ) ,
trNOOP ( " Individual " ) ,
} ;
2011-01-09 11:45:29 +01:00
LoaderSettings : : LoaderSettings ( )
2011-07-26 00:28:22 +02:00
: SettingsMenu ( tr ( " Loader Settings " ) , & GuiOptions , MENU_NONE )
2011-01-09 11:45:29 +01:00
{
2011-07-26 00:28:22 +02:00
int Idx = 0 ;
Options - > SetName ( Idx + + , " %s " , tr ( " Video Mode " ) ) ;
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
Options - > SetName ( Idx + + , " %s " , tr ( " Dol Video Patch " ) ) ;
2011-07-26 00:28:22 +02:00
Options - > SetName ( Idx + + , " %s " , tr ( " Sneek Video Patch " ) ) ;
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
Options - > SetName ( Idx + + , " %s " , tr ( " VIDTV Patch " ) ) ;
2011-12-23 16:48:20 +01:00
Options - > SetName ( Idx + + , " %s " , tr ( " Aspect Ratio " ) ) ;
2011-07-26 00:28:22 +02:00
Options - > SetName ( Idx + + , " %s " , tr ( " Game Language " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Patch Country Strings " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Ocarina " ) ) ;
2013-10-01 23:13:08 +02:00
Options - > SetName ( Idx + + , " %s " , tr ( " Loader's IOS " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Game's IOS " ) ) ;
2011-07-26 00:28:22 +02:00
Options - > SetName ( Idx + + , " %s " , tr ( " Quick Boot " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Error 002 fix " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Block IOS Reload " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Return To " ) ) ;
2011-11-12 19:14:09 +01:00
Options - > SetName ( Idx + + , " %s " , tr ( " Nand Saves Emulation " ) ) ;
2012-01-08 19:24:46 +01:00
Options - > SetName ( Idx + + , " %s " , tr ( " Nand Chan. Emulation " ) ) ;
2011-07-29 22:59:31 +02:00
Options - > SetName ( Idx + + , " %s " , tr ( " Hooktype " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Wiird Debugger " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Debugger Paused Start " ) ) ;
2012-01-08 19:24:46 +01:00
Options - > SetName ( Idx + + , " %s " , tr ( " Channel Launcher " ) ) ;
2013-10-01 23:13:08 +02:00
Options - > SetName ( Idx + + , " %s " , tr ( " === GameCube Settings " ) ) ;
2012-12-09 22:36:32 +01:00
Options - > SetName ( Idx + + , " %s " , tr ( " GameCube Source " ) ) ;
2013-10-01 23:13:08 +02:00
Options - > SetName ( Idx + + , " %s " , tr ( " GameCube Mode " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " --== DM(L) + Nintendont " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Video Mode " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Progressive Patch " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Force Widescreen " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Debug " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " --== DIOS MIOS (Lite) " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " NMM Mode " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " PAD Hook " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " No Disc+ " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Screenshot " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " LED Activity " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Japanese Patch " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " --== Nintendont " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Memory Card Emulation " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Auto Boot " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " USB-HID Controller " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " --== Devolution " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Memory Card Emulation " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Force Widescreen " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " LED Activity " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " F-Zero AX " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " Timer Fix " ) ) ;
Options - > SetName ( Idx + + , " %s " , tr ( " D Buttons " ) ) ;
2011-07-26 00:28:22 +02:00
SetOptionValues ( ) ;
2011-11-12 19:14:09 +01:00
oldLoaderMode = Settings . LoaderMode ;
2012-12-09 22:36:32 +01:00
oldGameCubeSource = Settings . GameCubeSource ;
2014-05-04 16:42:52 +02:00
oldLoaderIOS = Settings . LoaderIOS ;
2011-11-12 19:14:09 +01:00
}
LoaderSettings : : ~ LoaderSettings ( )
{
if ( oldLoaderMode ! = Settings . LoaderMode )
2011-12-22 23:44:48 +01:00
{
if ( Settings . LoaderMode & MODE_WIIGAMES & & ( gameList . GameCount ( ) = = 0 ) )
{
WBFS_ReInit ( WBFS_DEVICE_USB ) ;
gameList . ReadGameList ( ) ;
}
gameList . LoadUnfiltered ( ) ;
2012-01-08 19:24:46 +01:00
GameTitles . LoadTitlesFromGameTDB ( Settings . titlestxt_path , false ) ;
2011-12-22 23:44:48 +01:00
}
2012-12-09 22:36:32 +01:00
if ( oldGameCubeSource ! = Settings . GameCubeSource )
{
GCGames : : Instance ( ) - > LoadAllGames ( ) ;
}
2014-05-04 16:42:52 +02:00
if ( oldLoaderIOS ! = Settings . LoaderIOS )
{
// edit meta.xml arguments
editMetaArguments ( ) ;
}
2011-01-09 11:45:29 +01:00
}
void LoaderSettings : : SetOptionValues ( )
{
2011-07-26 00:28:22 +02:00
int Idx = 0 ;
2011-01-09 11:45:29 +01:00
2011-07-26 00:28:22 +02:00
//! Settings: Video Mode
Options - > SetValue ( Idx + + , " %s " , tr ( VideoModeText [ Settings . videomode ] ) ) ;
2011-01-09 11:45:29 +01:00
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
//! Settings: Dol Video Patch
Options - > SetValue ( Idx + + , " %s " , tr ( VideoPatchDolText [ Settings . videoPatchDol ] ) ) ;
2011-01-09 11:45:29 +01:00
2011-07-26 00:28:22 +02:00
//! Settings: Sneek Video Patch
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . sneekVideoPatch ] ) ) ;
2011-06-25 21:50:57 +02:00
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
//! Settings: VIDTV Patch
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . videopatch ] ) ) ;
2011-12-23 16:48:20 +01:00
//! Settings: Aspect Ratio
Options - > SetValue ( Idx + + , " %s " , tr ( AspectText [ Settings . GameAspectRatio ] ) ) ;
2011-07-26 00:28:22 +02:00
//! Settings: Game Language
Options - > SetValue ( Idx + + , " %s " , tr ( LanguageText [ Settings . language ] ) ) ;
2011-01-09 11:45:29 +01:00
2011-07-26 00:28:22 +02:00
//! Settings: Patch Country Strings
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . patchcountrystrings ] ) ) ;
2011-01-09 11:45:29 +01:00
2011-07-26 00:28:22 +02:00
//! Settings: Ocarina
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . ocarina ] ) ) ;
2011-01-09 11:45:29 +01:00
2013-10-01 23:13:08 +02:00
//! Settings: Loader's IOS
if ( Settings . godmode )
Options - > SetValue ( Idx + + , " IOS %i " , Settings . LoaderIOS ) ;
else
Options - > SetValue ( Idx + + , " ******** " ) ;
//! Settings: Game's IOS
2011-07-26 00:28:22 +02:00
if ( Settings . godmode )
Options - > SetValue ( Idx + + , " IOS %i " , Settings . cios ) ;
else
Options - > SetValue ( Idx + + , " ******** " ) ;
2011-01-09 11:45:29 +01:00
2011-07-26 00:28:22 +02:00
//! Settings: Quick Boot
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . quickboot ] ) ) ;
2011-01-09 11:45:29 +01:00
2011-07-26 00:28:22 +02:00
//! Settings: Block IOS Reload
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . BlockIOSReload ] ) ) ;
2011-06-10 14:22:19 +02:00
2011-07-26 00:28:22 +02:00
//! Settings: Return To
const char * TitleName = NULL ;
u64 tid = NandTitles . FindU32 ( Settings . returnTo ) ;
if ( tid > 0 )
TitleName = NandTitles . NameOf ( tid ) ;
TitleName = TitleName ? TitleName : strlen ( Settings . returnTo ) > 0 ? Settings . returnTo : tr ( OnOffText [ 0 ] ) ;
Options - > SetValue ( Idx + + , " %s " , TitleName ) ;
2011-07-24 18:32:09 +02:00
2011-07-26 00:28:22 +02:00
//! Settings: Nand Emulation
Options - > SetValue ( Idx + + , " %s " , tr ( NandEmuText [ Settings . NandEmuMode ] ) ) ;
2011-07-29 22:59:31 +02:00
2012-01-08 19:24:46 +01:00
//! Settings: Nand Chan. Emulation
Options - > SetValue ( Idx + + , " %s " , tr ( NandEmuText [ Settings . NandEmuChanMode ] ) ) ;
2011-07-29 22:59:31 +02:00
//! Settings: Hooktype
Options - > SetValue ( Idx + + , " %s " , tr ( HooktypeText [ Settings . Hooktype ] ) ) ;
//! Settings: Wiird Debugger
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . WiirdDebugger ] ) ) ;
//! Settings: Wiird Debugger Pause on Start
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . WiirdDebuggerPause ] ) ) ;
2012-01-08 19:24:46 +01:00
//! Settings: Channel Launcher
Options - > SetValue ( Idx + + , " %s " , tr ( ChannelLaunchText [ Settings . UseChanLauncher ] ) ) ;
2012-05-06 12:59:58 +02:00
2013-10-01 23:13:08 +02:00
//! Settings: TITLE - GameCube Settings
Options - > SetValue ( Idx + + , " ======= " ) ;
2012-07-16 18:07:24 +02:00
2012-12-09 22:36:32 +01:00
//! Settings: GameCube Source
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
Options - > SetValue ( Idx + + , " %s%s%s " , tr ( GCSourceText [ Settings . GameCubeSource ] [ 0 ] ) ,
GCSourceText [ Settings . GameCubeSource ] [ 1 ] , tr ( GCSourceText [ Settings . GameCubeSource ] [ 2 ] ) ) ;
2012-12-09 22:36:32 +01:00
2013-10-01 23:13:08 +02:00
//! Settings: GameCube Mode
Options - > SetValue ( Idx + + , " %s " , tr ( GCMode [ Settings . GameCubeMode ] ) ) ;
//! Settings: TITLE - GameCube DIOS MIOS (Lite) + Nintendont
Options - > SetValue ( Idx + + , " ==-- " ) ;
//! Settings: DML + NIN Video Mode
2012-07-22 22:30:59 +02:00
Options - > SetValue ( Idx + + , " %s " , tr ( DMLVideoText [ Settings . DMLVideo ] ) ) ;
2013-10-01 23:13:08 +02:00
//! Settings: DML + NIN Progressive Patch
2012-07-16 18:07:24 +02:00
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DMLProgPatch ] ) ) ;
2012-05-06 12:59:58 +02:00
2013-10-01 23:13:08 +02:00
//! Settings: DML + NIN Force Widescreen
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DMLWidescreen ] ) ) ;
//! Settings: DML Debug
Options - > SetValue ( Idx + + , " %s " , tr ( DMLDebug [ Settings . DMLDebug ] ) ) ;
//! Settings: TITLE - GameCube DIOS MIOS (Lite)
Options - > SetValue ( Idx + + , " ==-- " ) ;
2012-05-06 12:59:58 +02:00
//! Settings: DML NMM Mode
Options - > SetValue ( Idx + + , " %s " , tr ( DMLNMMMode [ Settings . DMLNMM ] ) ) ;
//! Settings: DML PAD Hook
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DMLPADHOOK ] ) ) ;
2012-07-22 19:08:54 +02:00
//! Settings: DML Extended No Disc
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DMLNoDisc2 ] ) ) ;
2012-11-11 14:47:02 +01:00
//! Settings: DML Screenshot
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DMLScreenshot ] ) ) ;
2013-10-01 23:13:08 +02:00
//! Settings: DML LED Activity
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DMLActivityLED ] ) ) ;
2012-08-24 18:55:49 +02:00
//! Settings: DML Japanese Patch
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DMLJPNPatch ] ) ) ;
2013-10-01 23:13:08 +02:00
//! Settings: TITLE - Nintendont
Options - > SetValue ( Idx + + , " ==-- " ) ;
//! Settings: TITLE - NIN Memory Card Emulation
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . NINMCEmulation ] ) ) ;
//! Settings: TITLE - NIN Auto Boot
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . NINAutoboot ] ) ) ;
//! Settings: TITLE - NIN USB-HID controller
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . NINUSBHID ] ) ) ;
//! Settings: TITLE - Devolution
Options - > SetValue ( Idx + + , " ==-- " ) ;
2012-07-16 18:07:24 +02:00
//! Settings: DEVO Memory Card Emulation
Options - > SetValue ( Idx + + , " %s " , tr ( DEVOMCText [ Settings . DEVOMCEmulation ] ) ) ;
2013-04-14 23:02:09 +02:00
2012-10-14 18:27:01 +02:00
//! Settings: DEVO Widescreen Patch
2013-03-17 14:48:15 +01:00
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DEVOWidescreen ] ) ) ;
2013-04-14 23:02:09 +02:00
2012-10-14 18:27:01 +02:00
//! Settings: DEVO Activity LED
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DEVOActivityLED ] ) ) ;
2013-04-14 23:02:09 +02:00
//! Settings: DEVO F-Zero AX unlock patch
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DEVOFZeroAX ] ) ) ;
//! Settings: DEVO Timer Fix
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DEVOTimerFix ] ) ) ;
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
//! Settings: DEVO Direct Button Mapping
Options - > SetValue ( Idx + + , " %s " , tr ( OnOffText [ Settings . DEVODButtons ] ) ) ;
2011-01-09 11:45:29 +01:00
}
int LoaderSettings : : GetMenuInternal ( )
{
2011-07-26 00:28:22 +02:00
int ret = optionBrowser - > GetClickedOption ( ) ;
if ( ret < 0 )
return MENU_NONE ;
int Idx = - 1 ;
//! Settings: Video Mode
2012-05-09 21:27:54 +02:00
if ( ret = = + + Idx )
2011-07-26 00:28:22 +02:00
{
if ( + + Settings . videomode > = VIDEO_MODE_MAX ) Settings . videomode = 0 ;
}
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
//! Settings: Dol Video Patch
if ( ret = = + + Idx )
2011-07-26 00:28:22 +02:00
{
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
if ( + + Settings . videoPatchDol > = VIDEO_PATCH_DOL_MAX ) Settings . videoPatchDol = 0 ;
2011-07-26 00:28:22 +02:00
}
//! Settings: Sneek Video Patch
else if ( ret = = + + Idx )
{
if ( + + Settings . sneekVideoPatch > = MAX_ON_OFF ) Settings . sneekVideoPatch = 0 ;
}
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
//! Settings: VIDTV Patch
else if ( ret = = + + Idx )
{
if ( + + Settings . videopatch > = MAX_ON_OFF ) Settings . videopatch = 0 ;
}
2011-12-23 16:48:20 +01:00
//! Settings: Aspect Ratio
else if ( ret = = + + Idx )
{
if ( + + Settings . GameAspectRatio > = ASPECT_MAX ) Settings . GameAspectRatio = 0 ;
}
2011-07-26 00:28:22 +02:00
//! Settings: Game Language
else if ( ret = = + + Idx )
{
if ( + + Settings . language > = MAX_LANGUAGE ) Settings . language = 0 ;
}
//! Settings: Patch Country Strings
else if ( ret = = + + Idx )
{
if ( + + Settings . patchcountrystrings > = MAX_ON_OFF ) Settings . patchcountrystrings = 0 ;
}
//! Settings: Ocarina
else if ( ret = = + + Idx )
{
if ( + + Settings . ocarina > = MAX_ON_OFF ) Settings . ocarina = 0 ;
}
2013-10-01 23:13:08 +02:00
//! Settings: Loader's IOS
else if ( ret = = + + Idx )
{
if ( ! Settings . godmode )
return MENU_NONE ;
char entered [ 4 ] ;
snprintf ( entered , sizeof ( entered ) , " %i " , Settings . LoaderIOS ) ;
if ( OnScreenNumpad ( entered , sizeof ( entered ) ) )
{
if ( atoi ( entered ) = = 58 ) // allow only IOS58 for IOS <200
Settings . LoaderIOS = 58 ;
else
Settings . LoaderIOS = LIMIT ( atoi ( entered ) , 200 , 255 ) ;
if ( NandTitles . IndexOf ( TITLE_ID ( 1 , Settings . LoaderIOS ) ) < 0 )
{
WindowPrompt ( tr ( " Warning: " ) , tr ( " This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning. " ) , tr ( " OK " ) ) ;
}
else if ( Settings . LoaderIOS = = 254 )
{
WindowPrompt ( tr ( " Warning: " ) , tr ( " This IOS is the BootMii ios. If you are sure it is not BootMii and you have something else installed there than ignore this warning. " ) , tr ( " OK " ) ) ;
}
}
}
//! Settings: Game's IOS
2011-07-26 00:28:22 +02:00
else if ( ret = = + + Idx )
{
if ( ! Settings . godmode )
return MENU_NONE ;
char entered [ 4 ] ;
snprintf ( entered , sizeof ( entered ) , " %i " , Settings . cios ) ;
2012-05-06 12:59:58 +02:00
if ( OnScreenNumpad ( entered , sizeof ( entered ) ) )
2011-07-26 00:28:22 +02:00
{
2012-05-06 12:59:58 +02:00
Settings . cios = LIMIT ( atoi ( entered ) , 200 , 255 ) ;
2011-07-26 00:28:22 +02:00
if ( NandTitles . IndexOf ( TITLE_ID ( 1 , Settings . cios ) ) < 0 )
{
WindowPrompt ( tr ( " Warning: " ) , tr ( " This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning. " ) , tr ( " OK " ) ) ;
}
else if ( Settings . cios = = 254 )
{
WindowPrompt ( tr ( " Warning: " ) , tr ( " This IOS is the BootMii ios. If you are sure it is not BootMii and you have something else installed there than ignore this warning. " ) , tr ( " OK " ) ) ;
}
}
}
//! Settings: Quick Boot
else if ( ret = = + + Idx )
{
if ( + + Settings . quickboot > = MAX_ON_OFF ) Settings . quickboot = 0 ;
}
//! Settings: Block IOS Reload
else if ( ret = = + + Idx )
{
if ( + + Settings . BlockIOSReload > = 3 ) Settings . BlockIOSReload = 0 ;
}
//! Settings: Return To
else if ( ret = = + + Idx )
{
char tidChar [ 10 ] ;
bool getChannel = TitleSelector ( tidChar ) ;
if ( getChannel )
snprintf ( Settings . returnTo , sizeof ( Settings . returnTo ) , " %s " , tidChar ) ;
}
//! Settings: Nand Emulation
else if ( ret = = + + Idx )
{
2013-10-01 23:13:08 +02:00
if ( ! IosLoader : : IsD2X ( Settings . cios ) )
2011-07-26 00:28:22 +02:00
WindowPrompt ( tr ( " Error: " ) , tr ( " Nand Emulation is only available on D2X cIOS! " ) , tr ( " OK " ) ) ;
else if ( + + Settings . NandEmuMode > = 3 ) Settings . NandEmuMode = 0 ;
}
2012-01-08 19:24:46 +01:00
//! Settings: Nand Chan. Emulation
else if ( ret = = + + Idx )
{
2013-01-06 14:41:22 +01:00
// If NandEmuPath is on root of the first FAT32 partition, allow rev17-21 cIOS for EmuNAND Channels
bool NandEmu_compatible = false ;
NandEmu_compatible = IosLoader : : is_NandEmu_compatible ( Settings . NandEmuChanPath ) ;
2013-10-01 23:13:08 +02:00
if ( ! IosLoader : : IsD2X ( Settings . cios ) & & ! NandEmu_compatible )
2012-01-08 19:24:46 +01:00
WindowPrompt ( tr ( " Error: " ) , tr ( " Nand Emulation is only available on D2X cIOS! " ) , tr ( " OK " ) ) ;
else if ( + + Settings . NandEmuChanMode > = 3 ) Settings . NandEmuChanMode = 1 ;
}
2011-07-29 22:59:31 +02:00
//! Settings: Hooktype
else if ( ret = = + + Idx )
{
if ( + + Settings . Hooktype > = 8 ) Settings . Hooktype = 0 ;
}
//! Settings: Wiird Debugger
else if ( ret = = + + Idx )
{
if ( + + Settings . WiirdDebugger > = MAX_ON_OFF ) Settings . WiirdDebugger = 0 ;
}
//! Settings: Wiird Debugger Pause on Start
else if ( ret = = + + Idx )
{
if ( + + Settings . WiirdDebuggerPause > = MAX_ON_OFF ) Settings . WiirdDebuggerPause = 0 ;
}
2012-01-08 19:24:46 +01:00
//! Settings: Channel Launcher
else if ( ret = = + + Idx )
{
if ( + + Settings . UseChanLauncher > = MAX_ON_OFF ) Settings . UseChanLauncher = 0 ;
}
2013-10-01 23:13:08 +02:00
//! Settings: TITLE - GameCube Settings
2012-07-16 18:07:24 +02:00
else if ( ret = = + + Idx )
{
2013-10-01 23:13:08 +02:00
// This one is a category title
2012-07-16 18:07:24 +02:00
}
2012-12-09 22:36:32 +01:00
//! Settings: GameCube Source
else if ( ret = = + + Idx )
{
if ( + + Settings . GameCubeSource > = CG_SOURCE_MAX_CHOICE ) Settings . GameCubeSource = 0 ;
}
2013-10-01 23:13:08 +02:00
//! Settings: GameCube Mode
else if ( ret = = + + Idx )
{
if ( + + Settings . GameCubeMode > = CG_MODE_MAX_CHOICE ) Settings . GameCubeMode = 0 ;
}
//! Settings: TITLE - GameCube DM(L) + Nintendont
else if ( ret = = + + Idx )
{
// This one is a category title
}
//! Settings: DML + NIN Video Mode
2012-07-22 22:30:59 +02:00
else if ( ret = = + + Idx )
{
2014-05-04 17:46:13 +02:00
Settings . DMLVideo + + ;
if ( Settings . DMLVideo = = DML_VIDEO_FORCE_PATCH ) // Skip Force Patch
Settings . DMLVideo + + ;
if ( Settings . DMLVideo > = DML_VIDEO_MAX_CHOICE ) Settings . DMLVideo = 0 ;
2012-07-22 22:30:59 +02:00
}
2013-10-01 23:13:08 +02:00
//! Settings: DML + NIN Progressive Patch
2012-05-06 12:59:58 +02:00
else if ( ret = = + + Idx )
{
2012-07-16 18:07:24 +02:00
if ( + + Settings . DMLProgPatch > = MAX_ON_OFF ) Settings . DMLProgPatch = 0 ;
2012-05-06 12:59:58 +02:00
}
2013-10-01 23:13:08 +02:00
//! Settings: DML + NIN Force Widescreen
2012-05-06 12:59:58 +02:00
else if ( ret = = + + Idx )
{
2013-10-01 23:13:08 +02:00
if ( + + Settings . DMLWidescreen > = MAX_ON_OFF ) Settings . DMLWidescreen = 0 ;
2012-05-06 12:59:58 +02:00
}
2013-10-01 23:13:08 +02:00
//! Settings: DML Debug
2012-05-06 12:59:58 +02:00
else if ( ret = = + + Idx )
{
2013-10-01 23:13:08 +02:00
if ( + + Settings . DMLDebug > = 3 ) Settings . DMLDebug = 0 ;
}
//! Settings: TITLE - GameCube DIOS MIOS (Lite)
else if ( ret = = + + Idx )
{
// This one is a category title
}
//! Settings: DML + NIN NMM Mode
else if ( ret = = + + Idx )
{
if ( + + Settings . DMLNMM > = 3 ) Settings . DMLNMM = 0 ;
2012-05-06 12:59:58 +02:00
}
//! Settings: DML PAD Hook
else if ( ret = = + + Idx )
{
if ( + + Settings . DMLPADHOOK > = MAX_ON_OFF ) Settings . DMLPADHOOK = 0 ;
}
2012-07-22 19:08:54 +02:00
//! Settings: DML Extended No Disc
else if ( ret = = + + Idx )
{
if ( + + Settings . DMLNoDisc2 > = MAX_ON_OFF ) Settings . DMLNoDisc2 = 0 ;
}
2013-10-01 23:13:08 +02:00
//! Settings: DML Screenshot
2012-07-19 22:13:39 +02:00
else if ( ret = = + + Idx )
{
2013-10-01 23:13:08 +02:00
if ( + + Settings . DMLScreenshot > = MAX_ON_OFF ) Settings . DMLScreenshot = 0 ;
2012-07-19 22:13:39 +02:00
}
2013-10-01 23:13:08 +02:00
//! Settings: DML LED Activity
2012-11-11 14:47:02 +01:00
else if ( ret = = + + Idx )
{
2013-10-01 23:13:08 +02:00
if ( + + Settings . DMLActivityLED > = MAX_ON_OFF ) Settings . DMLActivityLED = 0 ;
2012-11-11 14:47:02 +01:00
}
2012-08-24 18:55:49 +02:00
//! Settings: DML Japanese Patch
else if ( ret = = + + Idx )
{
if ( + + Settings . DMLJPNPatch > = MAX_ON_OFF ) Settings . DMLJPNPatch = 0 ;
}
2013-10-01 23:13:08 +02:00
//! Settings: TITLE - Nintendont
2012-05-06 12:59:58 +02:00
else if ( ret = = + + Idx )
{
2013-10-01 23:13:08 +02:00
// This one is a category title
}
//! Settings: NIN Memory Card Emulation
else if ( ret = = + + Idx )
{
if ( + + Settings . NINMCEmulation > = MAX_ON_OFF ) Settings . NINMCEmulation = 0 ;
}
//! Settings: NIN Auto Boot
else if ( ret = = + + Idx )
{
if ( + + Settings . NINAutoboot > = MAX_ON_OFF ) Settings . NINAutoboot = 0 ;
}
//! Settings: NIN USB-HID controller
else if ( ret = = + + Idx )
{
if ( + + Settings . NINUSBHID > = MAX_ON_OFF ) Settings . NINUSBHID = 0 ;
}
//! Settings: TITLE - Devolution
else if ( ret = = + + Idx )
{
// This one is a category title
2012-05-06 12:59:58 +02:00
}
2012-07-16 18:07:24 +02:00
//! Settings: DEVO Memory Card Emulation
else if ( ret = = + + Idx )
{
if ( + + Settings . DEVOMCEmulation > = DEVO_MC_MAX_CHOICE ) Settings . DEVOMCEmulation = 0 ;
}
2012-10-14 18:27:01 +02:00
//! Settings: DEVO Widescreen Patch
2013-03-17 14:48:15 +01:00
else if ( ret = = + + Idx )
{
if ( + + Settings . DEVOWidescreen > = MAX_ON_OFF ) Settings . DEVOWidescreen = 0 ;
}
2012-10-14 18:27:01 +02:00
//! Settings: DEVO Activity LED
else if ( ret = = + + Idx )
{
if ( + + Settings . DEVOActivityLED > = MAX_ON_OFF ) Settings . DEVOActivityLED = 0 ;
}
2013-04-14 23:02:09 +02:00
//! Settings: DEVO F-Zero AX unlock patch
else if ( ret = = + + Idx )
{
if ( + + Settings . DEVOFZeroAX > = MAX_ON_OFF ) Settings . DEVOFZeroAX = 0 ;
}
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
//! Settings: DEVO Timer Fix
2013-04-14 23:02:09 +02:00
else if ( ret = = + + Idx )
{
if ( + + Settings . DEVOTimerFix > = MAX_ON_OFF ) Settings . DEVOTimerFix = 0 ;
}
* Improved GameCube controller functions (patch by Dynamit)
R+Z=Screenshot, X=Gameinfo window, Y=Covers download
* Added Classic Controller and GameCube Controller support
in GameInfo window:
Right stick=3D Cover movement, X=Flip 3DCover 180°, L/R=Zoom
* Added Wifi6 and wifi10 pictures for GameInfo window.
(Thanks OriginalHamster)
* Added device priority selection for GameCube listing
in global Loader settings (SD->USB, or USB->SD)
* Added a "Use global" language setting for Gamecube games.
* Added support for USB devices with modified MBR's signature
to prevent WiiU's format message.
* Prevent Rockband cursor display on GameCube and WiiWare
games with "band" in the title (Crach bandicoot, Beach
Bandits, etc.)
* Added Dol's Video mode patcher in Loader/Game settings,
for games which couldn't be forced. (MadWorld, MotoGP08,
Mario Party 8, etc.)
♦ Region patch = Patches the dol's known video modes
to the region selected in "Video mode" setting,
but keep interlace/progressive references.
♦ ON = Patch all dol's known video modes to the one
selected in "Video mode" setting.
♦ ALL = Patch all dol's found video mode patterns
(even unknown video modes) to the one selected
in "Video mode" setting.
* DML: Updated DM(L) version detection up to v2.10
* DML: Automatically enable PADHook if Screenshot setting
is enabled
* DML: Fixed a bug where multiple video modes could be set
at the same time
* DEVO: Added a prompt if trying to launch a game from a
non FAT32 partition.
* DEVO: Added Direct Mapping Buttons setting (Devo r200+)
* DEVO: Added support for Language setting
* Language files updated: Chinese, French
2013-08-18 16:30:39 +02:00
//! Settings: DEVO Direct Button Mapping
else if ( ret = = + + Idx )
{
if ( + + Settings . DEVODButtons > = MAX_ON_OFF ) Settings . DEVODButtons = 0 ;
}
2011-07-26 00:28:22 +02:00
SetOptionValues ( ) ;
return MENU_NONE ;
2011-01-09 11:45:29 +01:00
}