* 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">
<name> USB Loader GX</name>
<coder>USB Loader GX Team</coder>
<version>3.0 r1223</version>
<release_date>20140504141623</release_date>
<version>3.0 r1224</version>
<release_date>20140504153530</release_date>
<!-- // remove this line to enable arguments
<arguments>
<arg>--ios=250</arg>

View File

@ -313,7 +313,14 @@ enum
enum
{
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_MAX_CHOICE
};

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (C) 2012-2013 by Cyan
* Copyright (C) 2012-2014 by Cyan
* Copyright (C) 2012 Dimok
*
* This program is free software: you can redistribute it and/or modify
@ -36,18 +36,6 @@ static const char * OnOffText[] =
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[] =
{
trNOOP( "English" ),
@ -78,7 +66,14 @@ static const char * GCMode[] =
static const char * DMLVideoText[] =
{
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" ),
};
@ -160,13 +155,12 @@ void GCGameLoadSM::SetOptionNames()
Options->SetName(Idx++, "%s", tr( "Game Lock" ));
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( "Parental Control" ));
Options->SetName(Idx++, "%s", tr( "GameCube Mode" ));
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( "Progressive Patch" ));
if(IosLoader::GetDMLVersion() >= DML_VERSION_DM_2_1)
@ -184,7 +178,7 @@ void GCGameLoadSM::SetOptionNames()
}
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( "Progressive Patch" ));
Options->SetName(Idx++, "%s", tr( "Force Widescreen" ));
@ -215,12 +209,6 @@ void GCGameLoadSM::SetOptionValues()
//! Settings: Favorite Level
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
if(GameConfig.language == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
@ -449,12 +437,6 @@ int GCGameLoadSM::GetMenuInternal()
GameStatistics.Save();
}
//! Settings: Video Mode
else if (ret == ++Idx)
{
if (++GameConfig.video >= VIDEO_MODE_MAX) GameConfig.video = INHERIT;
}
//! Settings: Game Language
else if (ret == ++Idx)
{
@ -486,7 +468,10 @@ int GCGameLoadSM::GetMenuInternal()
//! Settings: DML Video Mode
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
@ -558,7 +543,10 @@ int GCGameLoadSM::GetMenuInternal()
//! Settings: NIN Video Mode
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

View File

@ -138,7 +138,14 @@ static const char * GCSourceText[][3] =
static const char * DMLVideoText[] =
{
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" ),
};
@ -608,7 +615,10 @@ int LoaderSettings::GetMenuInternal()
//! Settings: DML + NIN Video Mode
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

View File

@ -7,6 +7,7 @@
#include "Controls/DeviceHandler.hpp"
#include "FileOperations/fileops.h"
#include "homebrewboot/BootHomebrew.h"
#include "homebrewboot/HomebrewXML.h"
#include "settings/CSettings.h"
#include "settings/GameTitles.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);
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;
u8 ocarinaChoice = game_cfg->ocarina == INHERIT ? Settings.ocarina : game_cfg->ocarina;
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
{
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))
dml_config->VideoMode |= DML_VID_FORCE;
}
@ -731,7 +730,6 @@ int GameBooter::BootDevolution(struct discHdr *gameHdr)
const char *LoaderName = "Devolution";
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;
u8 devoMCEmulation = game_cfg->DEVOMCEmulation == INHERIT ? Settings.DEVOMCEmulation : game_cfg->DEVOMCEmulation;
u8 devoActivityLEDChoice = game_cfg->DEVOActivityLED == INHERIT ? Settings.DEVOActivityLED : game_cfg->DEVOActivityLED;
@ -921,7 +919,7 @@ int GameBooter::BootDevolution(struct discHdr *gameHdr)
fclose(iso_file);
// setup video mode
Disc_SelectVMode(videoChoice, true, NULL, NULL);
Disc_SelectVMode(0, true, NULL, NULL);
Disc_SetVMode();
// Set sram flags
@ -952,7 +950,6 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
const char *LoaderName = "Nintendont";
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;
u8 ocarinaChoice = game_cfg->ocarina == INHERIT ? Settings.ocarina : game_cfg->ocarina;
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
{
Disc_SelectVMode(videoChoice, false, NULL, &nin_config->VideoMode);
Disc_SelectVMode(ninVideoChoice-1, false, NULL, &nin_config->VideoMode);
if(!(nin_config->VideoMode & NIN_VID_AUTO))
nin_config->VideoMode |= NIN_VID_FORCE;