* Merged Gamecube Video settings to a single option.

If you used the option "Use game settings" you will have to 
  fix your settings manually. Sorry, for the inconvenience.
This commit is contained in:
Cyan 2014-05-04 15:46:13 +00:00
parent 64f448bc7f
commit e1b58a73ce
6 changed files with 45 additions and 42 deletions

View File

@ -2,8 +2,8 @@
<app version="1"> <app version="1">
<name> USB Loader GX</name> <name> USB Loader GX</name>
<coder>USB Loader GX Team</coder> <coder>USB Loader GX Team</coder>
<version>3.0 r1223</version> <version>3.0 r1224</version>
<release_date>20140504141623</release_date> <release_date>20140504153530</release_date>
<!-- // remove this line to enable arguments <!-- // remove this line to enable arguments
<arguments> <arguments>
<arg>--ios=250</arg> <arg>--ios=250</arg>

View File

@ -313,7 +313,14 @@ enum
enum enum
{ {
DML_VIDEO_AUTO, DML_VIDEO_AUTO,
DML_VIDEO_FORCE, DML_VIDEO_FORCE_SYSDEFAULT, // same modes as Wii, +1
DML_VIDEO_FORCE_DISCDEFAULT,
DML_VIDEO_FORCE_PAL50,
DML_VIDEO_FORCE_PAL60,
DML_VIDEO_FORCE_NTSC,
DML_VIDEO_FORCE_PATCH, // unused
DML_VIDEO_FORCE_PAL480P,
DML_VIDEO_FORCE_NTSC480P,
DML_VIDEO_NONE, DML_VIDEO_NONE,
DML_VIDEO_MAX_CHOICE DML_VIDEO_MAX_CHOICE
}; };

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* Copyright (C) 2012-2013 by Cyan * Copyright (C) 2012-2014 by Cyan
* Copyright (C) 2012 Dimok * Copyright (C) 2012 Dimok
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -36,18 +36,6 @@ static const char * OnOffText[] =
trNOOP( "Auto" ) trNOOP( "Auto" )
}; };
static const char * VideoModeText[] =
{
trNOOP( "System Default" ),
trNOOP( "Disc Default" ),
trNOOP( "Force PAL50" ),
trNOOP( "Force PAL60" ),
trNOOP( "Force NTSC" ),
trNOOP( "Region Patch" ),
trNOOP( "Force PAL480p" ),
trNOOP( "Force NTSC480p" ),
};
static const char * LanguageText[] = static const char * LanguageText[] =
{ {
trNOOP( "English" ), trNOOP( "English" ),
@ -78,7 +66,14 @@ static const char * GCMode[] =
static const char * DMLVideoText[] = static const char * DMLVideoText[] =
{ {
trNOOP( "Auto" ), trNOOP( "Auto" ),
trNOOP( "Use Game Settings" ), trNOOP( "System Default" ),
trNOOP( "Disc Default" ),
trNOOP( "Force PAL50" ),
trNOOP( "Force PAL60" ),
trNOOP( "Force NTSC" ),
"", // unused
trNOOP( "Force PAL480p" ),
trNOOP( "Force NTSC480p" ),
trNOOP( "None" ), trNOOP( "None" ),
}; };
@ -160,13 +155,12 @@ void GCGameLoadSM::SetOptionNames()
Options->SetName(Idx++, "%s", tr( "Game Lock" )); Options->SetName(Idx++, "%s", tr( "Game Lock" ));
Options->SetName(Idx++, "%s", tr( "Favorite Level" )); Options->SetName(Idx++, "%s", tr( "Favorite Level" ));
Options->SetName(Idx++, "%s", tr( "Video Mode" ));
Options->SetName(Idx++, "%s", tr( "Game Language" )); Options->SetName(Idx++, "%s", tr( "Game Language" ));
Options->SetName(Idx++, "%s", tr( "Parental Control" )); Options->SetName(Idx++, "%s", tr( "Parental Control" ));
Options->SetName(Idx++, "%s", tr( "GameCube Mode" )); Options->SetName(Idx++, "%s", tr( "GameCube Mode" ));
if(currentGCmode == GC_MODE_MIOS &&IosLoader::GetMIOSInfo() > DEFAULT_MIOS) if(currentGCmode == GC_MODE_MIOS &&IosLoader::GetMIOSInfo() > DEFAULT_MIOS)
{ {
Options->SetName(Idx++, "%s", tr( "--== DM(L) + Nintendont" )); Options->SetName(Idx++, "%s", tr( "--== DIOS MIOS (Lite) " ));
Options->SetName(Idx++, "%s", tr( "Video Mode" )); Options->SetName(Idx++, "%s", tr( "Video Mode" ));
Options->SetName(Idx++, "%s", tr( "Progressive Patch" )); Options->SetName(Idx++, "%s", tr( "Progressive Patch" ));
if(IosLoader::GetDMLVersion() >= DML_VERSION_DM_2_1) if(IosLoader::GetDMLVersion() >= DML_VERSION_DM_2_1)
@ -184,7 +178,7 @@ void GCGameLoadSM::SetOptionNames()
} }
if(currentGCmode == GC_MODE_NINTENDONT) if(currentGCmode == GC_MODE_NINTENDONT)
{ {
Options->SetName(Idx++, "%s", tr( "--== DM(L) + Nintendont" )); Options->SetName(Idx++, "%s", tr( "--== Nintendont" ));
Options->SetName(Idx++, "%s", tr( "Video Mode" )); Options->SetName(Idx++, "%s", tr( "Video Mode" ));
Options->SetName(Idx++, "%s", tr( "Progressive Patch" )); Options->SetName(Idx++, "%s", tr( "Progressive Patch" ));
Options->SetName(Idx++, "%s", tr( "Force Widescreen" )); Options->SetName(Idx++, "%s", tr( "Force Widescreen" ));
@ -215,12 +209,6 @@ void GCGameLoadSM::SetOptionValues()
//! Settings: Favorite Level //! Settings: Favorite Level
Options->SetValue(Idx++, "%i", GameStatistics.GetFavoriteRank(Header->id)); Options->SetValue(Idx++, "%i", GameStatistics.GetFavoriteRank(Header->id));
//! Settings: Video Mode
if(GameConfig.video == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
else
Options->SetValue(Idx++, "%s", tr(VideoModeText[GameConfig.video]));
//! Settings: Game Language //! Settings: Game Language
if(GameConfig.language == INHERIT) if(GameConfig.language == INHERIT)
Options->SetValue(Idx++, tr("Use global")); Options->SetValue(Idx++, tr("Use global"));
@ -449,12 +437,6 @@ int GCGameLoadSM::GetMenuInternal()
GameStatistics.Save(); GameStatistics.Save();
} }
//! Settings: Video Mode
else if (ret == ++Idx)
{
if (++GameConfig.video >= VIDEO_MODE_MAX) GameConfig.video = INHERIT;
}
//! Settings: Game Language //! Settings: Game Language
else if (ret == ++Idx) else if (ret == ++Idx)
{ {
@ -486,7 +468,10 @@ int GCGameLoadSM::GetMenuInternal()
//! Settings: DML Video Mode //! Settings: DML Video Mode
else if (currentGCmode == GC_MODE_MIOS && IosLoader::GetMIOSInfo() > DEFAULT_MIOS && ret == ++Idx) else if (currentGCmode == GC_MODE_MIOS && IosLoader::GetMIOSInfo() > DEFAULT_MIOS && ret == ++Idx)
{ {
if (++GameConfig.DMLVideo >= DML_VIDEO_MAX_CHOICE) GameConfig.DMLVideo = INHERIT; GameConfig.DMLVideo++;
if(GameConfig.DMLVideo == DML_VIDEO_FORCE_PATCH) // Skip Force Patch
GameConfig.DMLVideo++;
if(GameConfig.DMLVideo >= DML_VIDEO_MAX_CHOICE) GameConfig.DMLVideo = INHERIT;
} }
//! Settings: DML Progressive Patch //! Settings: DML Progressive Patch
@ -558,7 +543,10 @@ int GCGameLoadSM::GetMenuInternal()
//! Settings: NIN Video Mode //! Settings: NIN Video Mode
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx) else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{ {
if (++GameConfig.DMLVideo >= DML_VIDEO_MAX_CHOICE) GameConfig.DMLVideo = INHERIT; GameConfig.DMLVideo++;
if(GameConfig.DMLVideo == DML_VIDEO_FORCE_PATCH) // Skip Force Patch
GameConfig.DMLVideo++;
if(GameConfig.DMLVideo >= DML_VIDEO_MAX_CHOICE) GameConfig.DMLVideo = INHERIT;
} }
//! Settings: NIN Progressive Patch //! Settings: NIN Progressive Patch

View File

@ -138,7 +138,14 @@ static const char * GCSourceText[][3] =
static const char * DMLVideoText[] = static const char * DMLVideoText[] =
{ {
trNOOP( "Auto" ), trNOOP( "Auto" ),
trNOOP( "Use Game Settings" ), trNOOP( "System Default" ),
trNOOP( "Disc Default" ),
trNOOP( "Force PAL50" ),
trNOOP( "Force PAL60" ),
trNOOP( "Force NTSC" ),
"", // unused
trNOOP( "Force PAL480p" ),
trNOOP( "Force NTSC480p" ),
trNOOP( "None" ), trNOOP( "None" ),
}; };
@ -608,7 +615,10 @@ int LoaderSettings::GetMenuInternal()
//! Settings: DML + NIN Video Mode //! Settings: DML + NIN Video Mode
else if (ret == ++Idx) else if (ret == ++Idx)
{ {
if (++Settings.DMLVideo >= DML_VIDEO_MAX_CHOICE) Settings.DMLVideo = 0; Settings.DMLVideo++;
if(Settings.DMLVideo == DML_VIDEO_FORCE_PATCH) // Skip Force Patch
Settings.DMLVideo++;
if(Settings.DMLVideo >= DML_VIDEO_MAX_CHOICE) Settings.DMLVideo = 0;
} }
//! Settings: DML + NIN Progressive Patch //! Settings: DML + NIN Progressive Patch

View File

@ -7,6 +7,7 @@
#include "Controls/DeviceHandler.hpp" #include "Controls/DeviceHandler.hpp"
#include "FileOperations/fileops.h" #include "FileOperations/fileops.h"
#include "homebrewboot/BootHomebrew.h" #include "homebrewboot/BootHomebrew.h"
#include "homebrewboot/HomebrewXML.h"
#include "settings/CSettings.h" #include "settings/CSettings.h"
#include "settings/GameTitles.h" #include "settings/GameTitles.h"
#include "settings/newtitles.h" #include "settings/newtitles.h"

View File

@ -420,7 +420,6 @@ int GameBooter::BootDIOSMIOS(struct discHdr *gameHdr)
const char *RealPath = GCGames::Instance()->GetPath((const char *) gameHdr->id); const char *RealPath = GCGames::Instance()->GetPath((const char *) gameHdr->id);
GameCFG * game_cfg = GameSettings.GetGameCFG(gameHdr->id); GameCFG * game_cfg = GameSettings.GetGameCFG(gameHdr->id);
u8 videoChoice = game_cfg->video == INHERIT ? Settings.videomode : game_cfg->video;
s8 languageChoice = game_cfg->language == INHERIT ? Settings.language - 1 : game_cfg->language; s8 languageChoice = game_cfg->language == INHERIT ? Settings.language - 1 : game_cfg->language;
u8 ocarinaChoice = game_cfg->ocarina == INHERIT ? Settings.ocarina : game_cfg->ocarina; u8 ocarinaChoice = game_cfg->ocarina == INHERIT ? Settings.ocarina : game_cfg->ocarina;
u8 dmlVideoChoice = game_cfg->DMLVideo == INHERIT ? Settings.DMLVideo : game_cfg->DMLVideo; u8 dmlVideoChoice = game_cfg->DMLVideo == INHERIT ? Settings.DMLVideo : game_cfg->DMLVideo;
@ -692,7 +691,7 @@ int GameBooter::BootDIOSMIOS(struct discHdr *gameHdr)
} }
else // Force user choice else // Force user choice
{ {
Disc_SelectVMode(videoChoice, false, &dml_config->VideoMode, NULL); Disc_SelectVMode(dmlVideoChoice-1, false, &dml_config->VideoMode, NULL);
if(!(dml_config->VideoMode & DML_VID_DML_AUTO)) if(!(dml_config->VideoMode & DML_VID_DML_AUTO))
dml_config->VideoMode |= DML_VID_FORCE; dml_config->VideoMode |= DML_VID_FORCE;
} }
@ -731,7 +730,6 @@ int GameBooter::BootDevolution(struct discHdr *gameHdr)
const char *LoaderName = "Devolution"; const char *LoaderName = "Devolution";
GameCFG * game_cfg = GameSettings.GetGameCFG(gameHdr->id); GameCFG * game_cfg = GameSettings.GetGameCFG(gameHdr->id);
u8 videoChoice = game_cfg->video == INHERIT ? Settings.videomode : game_cfg->video;
s8 languageChoice = game_cfg->language == INHERIT ? Settings.language -1 : game_cfg->language; s8 languageChoice = game_cfg->language == INHERIT ? Settings.language -1 : game_cfg->language;
u8 devoMCEmulation = game_cfg->DEVOMCEmulation == INHERIT ? Settings.DEVOMCEmulation : game_cfg->DEVOMCEmulation; u8 devoMCEmulation = game_cfg->DEVOMCEmulation == INHERIT ? Settings.DEVOMCEmulation : game_cfg->DEVOMCEmulation;
u8 devoActivityLEDChoice = game_cfg->DEVOActivityLED == INHERIT ? Settings.DEVOActivityLED : game_cfg->DEVOActivityLED; u8 devoActivityLEDChoice = game_cfg->DEVOActivityLED == INHERIT ? Settings.DEVOActivityLED : game_cfg->DEVOActivityLED;
@ -921,7 +919,7 @@ int GameBooter::BootDevolution(struct discHdr *gameHdr)
fclose(iso_file); fclose(iso_file);
// setup video mode // setup video mode
Disc_SelectVMode(videoChoice, true, NULL, NULL); Disc_SelectVMode(0, true, NULL, NULL);
Disc_SetVMode(); Disc_SetVMode();
// Set sram flags // Set sram flags
@ -952,7 +950,6 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
const char *LoaderName = "Nintendont"; const char *LoaderName = "Nintendont";
GameCFG * game_cfg = GameSettings.GetGameCFG(gameHdr->id); GameCFG * game_cfg = GameSettings.GetGameCFG(gameHdr->id);
u8 videoChoice = game_cfg->video == INHERIT ? Settings.videomode : game_cfg->video;
s8 languageChoice = game_cfg->language == INHERIT ? Settings.language -1 : game_cfg->language; s8 languageChoice = game_cfg->language == INHERIT ? Settings.language -1 : game_cfg->language;
u8 ocarinaChoice = game_cfg->ocarina == INHERIT ? Settings.ocarina : game_cfg->ocarina; u8 ocarinaChoice = game_cfg->ocarina == INHERIT ? Settings.ocarina : game_cfg->ocarina;
u8 ninVideoChoice = game_cfg->DMLVideo == INHERIT ? Settings.DMLVideo : game_cfg->DMLVideo; u8 ninVideoChoice = game_cfg->DMLVideo == INHERIT ? Settings.DMLVideo : game_cfg->DMLVideo;
@ -1295,7 +1292,7 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
} }
else // Force user choice else // Force user choice
{ {
Disc_SelectVMode(videoChoice, false, NULL, &nin_config->VideoMode); Disc_SelectVMode(ninVideoChoice-1, false, NULL, &nin_config->VideoMode);
if(!(nin_config->VideoMode & NIN_VID_AUTO)) if(!(nin_config->VideoMode & NIN_VID_AUTO))
nin_config->VideoMode |= NIN_VID_FORCE; nin_config->VideoMode |= NIN_VID_FORCE;