Trying to make gameini support some gl options
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2687 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
eff7b1aa14
commit
f22af37320
|
@ -171,6 +171,27 @@ std::string* IniFile::GetLine(Section* section, const char* key, std::string* va
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IniFile::Exists(const char* sectionName, const char* key)
|
||||||
|
{
|
||||||
|
|
||||||
|
const Section* section = GetSection(sectionName);
|
||||||
|
if (!section)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
for (std::vector<std::string>::const_iterator iter = section->lines.begin(); iter != section->lines.end(); ++iter)
|
||||||
|
{
|
||||||
|
std::string lineKey;
|
||||||
|
ParseLine(*iter, &lineKey, NULL, NULL);
|
||||||
|
|
||||||
|
if (!strcasecmp(lineKey.c_str(), key))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void IniFile::SetLines(const char* sectionName, const std::vector<std::string> &lines)
|
void IniFile::SetLines(const char* sectionName, const std::vector<std::string> &lines)
|
||||||
{
|
{
|
||||||
Section* section = GetOrCreateSection(sectionName);
|
Section* section = GetOrCreateSection(sectionName);
|
||||||
|
|
|
@ -57,6 +57,9 @@ public:
|
||||||
|
|
||||||
void SetLines(const char* sectionName, const std::vector<std::string> &lines);
|
void SetLines(const char* sectionName, const std::vector<std::string> &lines);
|
||||||
|
|
||||||
|
// Returns true if exists key in section
|
||||||
|
bool Exists(const char* sectionName, const char* key);
|
||||||
|
|
||||||
// getter should be const
|
// getter should be const
|
||||||
bool Get(const char* sectionName, const char* key, std::string* value, const char* defaultValue = "");
|
bool Get(const char* sectionName, const char* key, std::string* value, const char* defaultValue = "");
|
||||||
bool Get(const char* sectionName, const char* key, int* value, int defaultValue = 0);
|
bool Get(const char* sectionName, const char* key, int* value, int defaultValue = 0);
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
// Official SVN repository and contact information can be found at
|
// Official SVN repository and contact information can be found at
|
||||||
// http://code.google.com/p/dolphin-emu/
|
// http://code.google.com/p/dolphin-emu/
|
||||||
|
|
||||||
#ifndef _CONFIG_H
|
#ifndef _CONFIGMANAGER_H
|
||||||
#define _CONFIG_H
|
#define _CONFIGMANAGER_H
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
@ -88,4 +88,4 @@ struct SConfig
|
||||||
static SConfig m_Instance;
|
static SConfig m_Instance;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // endif config manager
|
||||||
|
|
|
@ -45,6 +45,8 @@ void SCoreStartupParameter::LoadDefaults()
|
||||||
bWii = false;
|
bWii = false;
|
||||||
SelectedLanguage = 0;
|
SelectedLanguage = 0;
|
||||||
iTLBHack = 0;
|
iTLBHack = 0;
|
||||||
|
delete gameIni;
|
||||||
|
gameIni = NULL;
|
||||||
|
|
||||||
bJITOff = false; // debugger only settings
|
bJITOff = false; // debugger only settings
|
||||||
bJITLoadStoreOff = false;
|
bJITLoadStoreOff = false;
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "IniFile.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#define MAXPADS 4
|
#define MAXPADS 4
|
||||||
|
@ -36,6 +37,9 @@ struct SCoreStartupParameter
|
||||||
// Windows/GUI related
|
// Windows/GUI related
|
||||||
void* hMainWindow;
|
void* hMainWindow;
|
||||||
|
|
||||||
|
// game ini
|
||||||
|
IniFile *gameIni;
|
||||||
|
|
||||||
// Settings
|
// Settings
|
||||||
bool bEnableDebugging; bool bAutomaticStart; bool bBootToPause;
|
bool bEnableDebugging; bool bAutomaticStart; bool bBootToPause;
|
||||||
bool bUseJIT;
|
bool bUseJIT;
|
||||||
|
|
|
@ -122,17 +122,19 @@ bool BootCore(const std::string& _rFilename)
|
||||||
// ====================================================
|
// ====================================================
|
||||||
// Load game specific settings
|
// Load game specific settings
|
||||||
// ----------------
|
// ----------------
|
||||||
IniFile ini;
|
// Released when you LoadDefaults
|
||||||
|
IniFile *ini = new IniFile();
|
||||||
std::string unique_id = StartUp.GetUniqueID();
|
std::string unique_id = StartUp.GetUniqueID();
|
||||||
if (unique_id.size() == 6 && ini.Load((FULL_GAMECONFIG_DIR + unique_id + ".ini").c_str()))
|
if (unique_id.size() == 6 && ini->Load((FULL_GAMECONFIG_DIR + unique_id + ".ini").c_str()))
|
||||||
{
|
{
|
||||||
|
StartUp.gameIni = ini;
|
||||||
// ------------------------------------------------
|
// ------------------------------------------------
|
||||||
// General settings
|
// General settings
|
||||||
// ----------------
|
// ----------------
|
||||||
ini.Get("Core", "UseDualCore", &StartUp.bUseDualCore, StartUp.bUseDualCore);
|
ini->Get("Core", "UseDualCore", &StartUp.bUseDualCore, StartUp.bUseDualCore);
|
||||||
ini.Get("Core", "SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle);
|
ini->Get("Core", "SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle);
|
||||||
ini.Get("Core", "OptimizeQuantizers", &StartUp.bOptimizeQuantizers, StartUp.bOptimizeQuantizers);
|
ini->Get("Core", "OptimizeQuantizers", &StartUp.bOptimizeQuantizers, StartUp.bOptimizeQuantizers);
|
||||||
ini.Get("Core", "TLBHack", &StartUp.iTLBHack, StartUp.iTLBHack);
|
ini->Get("Core", "TLBHack", &StartUp.iTLBHack, StartUp.iTLBHack);
|
||||||
|
|
||||||
// ------------------------------------------------
|
// ------------------------------------------------
|
||||||
// Wii settings
|
// Wii settings
|
||||||
|
@ -144,8 +146,8 @@ bool BootCore(const std::string& _rFilename)
|
||||||
u16 IPL_PGS = 0x17CC; // progressive scan
|
u16 IPL_PGS = 0x17CC; // progressive scan
|
||||||
u16 IPL_AR = 0x04D9; // widescreen
|
u16 IPL_AR = 0x04D9; // widescreen
|
||||||
|
|
||||||
ini.Get("Wii", "ProgressiveScan", &StartUp.bProgressiveScan, StartUp.bProgressiveScan);
|
ini->Get("Wii", "ProgressiveScan", &StartUp.bProgressiveScan, StartUp.bProgressiveScan);
|
||||||
ini.Get("Wii", "Widescreen", &StartUp.bWidescreen, StartUp.bWidescreen);
|
ini->Get("Wii", "Widescreen", &StartUp.bWidescreen, StartUp.bWidescreen);
|
||||||
|
|
||||||
// Save the update Wii SYSCONF settings
|
// Save the update Wii SYSCONF settings
|
||||||
pStream = NULL;
|
pStream = NULL;
|
||||||
|
@ -164,6 +166,9 @@ bool BootCore(const std::string& _rFilename)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ---------------
|
// ---------------
|
||||||
|
} else {
|
||||||
|
delete ini;
|
||||||
|
ini = NULL;
|
||||||
}
|
}
|
||||||
// =====================
|
// =====================
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
// Official SVN repository and contact information can be found at
|
// Official SVN repository and contact information can be found at
|
||||||
// http://code.google.com/p/dolphin-emu/
|
// http://code.google.com/p/dolphin-emu/
|
||||||
|
|
||||||
#ifndef _CONFIG_H
|
#ifndef _PLUGIN_DSP_HLE_CONFIG_H
|
||||||
#define _CONFIG_H
|
#define _PLUGIN_DSP_HLE_CONFIG_H
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -36,5 +36,5 @@ struct CConfig
|
||||||
|
|
||||||
extern CConfig g_Config;
|
extern CConfig g_Config;
|
||||||
|
|
||||||
#endif
|
#endif // _PLUGIN_DSP_HLE_CONFIG_H
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
#include "IniFile.h"
|
#include "IniFile.h"
|
||||||
#include "Config.h"
|
#include "Config.h"
|
||||||
|
#include "ConfigManager.h"
|
||||||
|
|
||||||
Config g_Config;
|
Config g_Config;
|
||||||
|
|
||||||
|
@ -79,6 +80,27 @@ void Config::Load()
|
||||||
iniFile.Get("Hacks", "EFBToTextureEnable", &bCopyEFBToRAM, 0);
|
iniFile.Get("Hacks", "EFBToTextureEnable", &bCopyEFBToRAM, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Config::GameIniLoad() {
|
||||||
|
IniFile *iniFile = ((struct SConfig *)globals->config)->m_LocalCoreStartupParameter.gameIni;
|
||||||
|
if (iniFile->Exists("Video", "ForceFiltering"))
|
||||||
|
iniFile->Get("Video", "ForceFiltering", &bForceFiltering, 0);
|
||||||
|
|
||||||
|
if (iniFile->Exists("Video", "MaxAnisotropy"))
|
||||||
|
iniFile->Get("Video", "MaxAnisotropy", &iMaxAnisotropy, 3); // NOTE - this is x in (1 << x)
|
||||||
|
|
||||||
|
if (iniFile->Exists("Video", "EFBCopyDisable"))
|
||||||
|
iniFile->Get("Video", "EFBCopyDisable", &bEFBCopyDisable, 0);
|
||||||
|
|
||||||
|
if (iniFile->Exists("Video", "EFBCopyDisableHotKey"))
|
||||||
|
iniFile->Get("Video", "EFBCopyDisableHotKey", &bEFBCopyDisableHotKey, 0);
|
||||||
|
|
||||||
|
if (iniFile->Exists("Video", "ProjectionHax1"))
|
||||||
|
iniFile->Get("Video", "ProjectionHax1", &bProjectionHax1, 0);
|
||||||
|
|
||||||
|
if (iniFile->Exists("Video", "EFBToTextureEnable"))
|
||||||
|
iniFile->Get("Video", "EFBToTextureEnable", &bCopyEFBToRAM, 0);
|
||||||
|
}
|
||||||
|
|
||||||
void Config::Save()
|
void Config::Save()
|
||||||
{
|
{
|
||||||
IniFile iniFile;
|
IniFile iniFile;
|
||||||
|
@ -125,3 +147,4 @@ void Config::Save()
|
||||||
|
|
||||||
iniFile.Save(FULL_CONFIG_DIR "gfx_opengl.ini");
|
iniFile.Save(FULL_CONFIG_DIR "gfx_opengl.ini");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
// Official SVN repository and contact information can be found at
|
// Official SVN repository and contact information can be found at
|
||||||
// http://code.google.com/p/dolphin-emu/
|
// http://code.google.com/p/dolphin-emu/
|
||||||
|
|
||||||
#ifndef _CONFIG_H
|
#ifndef _PLUGIN_VIDEOOGL_CONFIG_H
|
||||||
#define _CONFIG_H
|
#define _PLUGIN_VIDEOOGL_CONFIG_H
|
||||||
|
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
|
|
||||||
|
@ -43,6 +43,7 @@ struct Config
|
||||||
{
|
{
|
||||||
Config();
|
Config();
|
||||||
void Load();
|
void Load();
|
||||||
|
void GameIniLoad();
|
||||||
void Save();
|
void Save();
|
||||||
|
|
||||||
// General
|
// General
|
||||||
|
@ -104,4 +105,4 @@ private:
|
||||||
|
|
||||||
extern Config g_Config;
|
extern Config g_Config;
|
||||||
|
|
||||||
#endif // _CONFIG_H
|
#endif // _PLUGIN_VIDEOOGL_CONFIG_H
|
||||||
|
|
|
@ -23,11 +23,9 @@
|
||||||
|
|
||||||
#include "VideoCommon.h"
|
#include "VideoCommon.h"
|
||||||
#include "pluginspecs_video.h"
|
#include "pluginspecs_video.h"
|
||||||
|
#include "ConfigManager.h"
|
||||||
|
|
||||||
// A global plugin specification
|
// A global plugin specification
|
||||||
extern PLUGIN_GLOBALS* globals;
|
extern PLUGIN_GLOBALS* globals;
|
||||||
|
|
||||||
//void OpenConsole();
|
|
||||||
//void CloseConsole();
|
|
||||||
|
|
||||||
#endif // _GLOBALS_H
|
#endif // _GLOBALS_H
|
||||||
|
|
|
@ -228,6 +228,8 @@ void Initialize(void *init)
|
||||||
InitXFBConvTables();
|
InitXFBConvTables();
|
||||||
g_Config.Load();
|
g_Config.Load();
|
||||||
|
|
||||||
|
g_Config.GameIniLoad();
|
||||||
|
|
||||||
if (!OpenGL_Create(g_VideoInitialize, 640, 480)) // 640x480 will be the default if all else fails
|
if (!OpenGL_Create(g_VideoInitialize, 640, 480)) // 640x480 will be the default if all else fails
|
||||||
{
|
{
|
||||||
g_VideoInitialize.pLog("Renderer::Create failed\n", TRUE);
|
g_VideoInitialize.pLog("Renderer::Create failed\n", TRUE);
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
// Official SVN repository and contact information can be found at
|
// Official SVN repository and contact information can be found at
|
||||||
// http://code.google.com/p/dolphin-emu/
|
// http://code.google.com/p/dolphin-emu/
|
||||||
|
|
||||||
#ifndef _CONFIG_H
|
#ifndef _PLUGIN_WIIMOTE_CONFIG_H
|
||||||
#define _CONFIG_H
|
#define _PLUGIN_WIIMOTE_CONFIG_H
|
||||||
|
|
||||||
|
|
||||||
struct Config
|
struct Config
|
||||||
|
@ -91,4 +91,4 @@ struct Config
|
||||||
|
|
||||||
extern Config g_Config;
|
extern Config g_Config;
|
||||||
|
|
||||||
#endif // _CONFIG_H
|
#endif // _PLUGIN_WIIMOTE_CONFIG_H
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
// Official SVN repository and contact information can be found at
|
// Official SVN repository and contact information can be found at
|
||||||
// http://code.google.com/p/dolphin-emu/
|
// http://code.google.com/p/dolphin-emu/
|
||||||
|
|
||||||
#ifndef _CONFIG_H
|
#ifndef _PLUGIN_NJOY_SDL_CONFIG_H
|
||||||
#define _CONFIG_H
|
#define _PLUGIN_NJOY_SDL_CONFIG_H
|
||||||
|
|
||||||
struct Config
|
struct Config
|
||||||
{
|
{
|
||||||
|
@ -38,4 +38,4 @@ struct Config
|
||||||
|
|
||||||
extern Config g_Config;
|
extern Config g_Config;
|
||||||
|
|
||||||
#endif // _CONFIG_H
|
#endif // _PLUGIN_NJOY_SDL_CONFIG_H
|
||||||
|
|
Loading…
Reference in New Issue