2010-09-24 02:48:03 +02:00
|
|
|
/****************************************************************************
|
2010-09-19 22:25:12 +02:00
|
|
|
* Copyright (C) 2010
|
|
|
|
* by Dimok
|
|
|
|
*
|
|
|
|
* 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.
|
|
|
|
***************************************************************************/
|
|
|
|
#ifndef _CSETTINGS_H_
|
|
|
|
#define _CSETTINGS_H_
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <gctypes.h>
|
2010-10-27 16:45:27 +02:00
|
|
|
#include "SettingsEnums.h"
|
2010-09-19 22:25:12 +02:00
|
|
|
|
|
|
|
class CSettings
|
|
|
|
{
|
|
|
|
public:
|
2010-09-24 02:48:03 +02:00
|
|
|
//!Constructor
|
2010-09-19 22:25:12 +02:00
|
|
|
CSettings();
|
2010-09-24 02:48:03 +02:00
|
|
|
//!Destructor
|
|
|
|
~CSettings();
|
|
|
|
//!Set Default Settings
|
|
|
|
void SetDefault();
|
|
|
|
//!Load Settings
|
|
|
|
bool Load();
|
|
|
|
//!Save Settings
|
2010-09-19 22:25:12 +02:00
|
|
|
bool Save();
|
2010-09-24 02:48:03 +02:00
|
|
|
//!Reset Settings
|
2010-09-19 22:25:12 +02:00
|
|
|
bool Reset();
|
2010-09-24 02:48:03 +02:00
|
|
|
//!Load a languagefile
|
|
|
|
//!\param language
|
2010-09-19 22:25:12 +02:00
|
|
|
bool LoadLanguage(const char *path, int language = -1);
|
|
|
|
|
|
|
|
/** Variables **/
|
2010-09-24 02:48:03 +02:00
|
|
|
char BootDevice[10];
|
2011-01-20 16:00:55 +01:00
|
|
|
char unlockCode[20];
|
|
|
|
char db_language[20];
|
|
|
|
char returnTo[20];
|
2010-09-24 02:48:03 +02:00
|
|
|
char ConfigPath[80];
|
2011-01-20 16:00:55 +01:00
|
|
|
char covers_path[100];
|
2011-01-30 17:22:16 +01:00
|
|
|
char coversFull_path[100];
|
2011-01-20 16:00:55 +01:00
|
|
|
char covers2d_path[100];
|
|
|
|
char theme_path[100];
|
|
|
|
char theme[100];
|
|
|
|
char disc_path[100];
|
|
|
|
char titlestxt_path[100];
|
|
|
|
char language_path[100];
|
|
|
|
char languagefiles_path[100];
|
|
|
|
char ogg_path[150];
|
|
|
|
char Cheatcodespath[100];
|
|
|
|
char TxtCheatcodespath[100];
|
|
|
|
char BcaCodepath[100];
|
|
|
|
char WipCodepath[100];
|
|
|
|
char dolpath[100];
|
|
|
|
char update_path[100];
|
|
|
|
char homebrewapps_path[100];
|
|
|
|
char WDMpath[100];
|
2010-09-24 02:48:03 +02:00
|
|
|
short videomode;
|
|
|
|
short language;
|
|
|
|
short ocarina;
|
|
|
|
short videopatch;
|
|
|
|
short sinfo;
|
|
|
|
short hddinfo;
|
|
|
|
short rumble;
|
|
|
|
short xflip;
|
2011-01-20 16:00:55 +01:00
|
|
|
short volume;
|
|
|
|
short sfxvolume;
|
|
|
|
short gamesoundvolume;
|
2010-09-24 02:48:03 +02:00
|
|
|
short tooltips;
|
|
|
|
short parentalcontrol;
|
|
|
|
short cios;
|
|
|
|
short quickboot;
|
|
|
|
short wsprompt;
|
|
|
|
short keyset;
|
2010-10-27 16:45:27 +02:00
|
|
|
short GameSort;
|
2010-09-24 02:48:03 +02:00
|
|
|
short wiilight;
|
|
|
|
short gameDisplay;
|
|
|
|
short patchcountrystrings;
|
|
|
|
short screensaver;
|
|
|
|
short partition;
|
|
|
|
short musicloopmode;
|
|
|
|
short widescreen;
|
|
|
|
short godmode;
|
|
|
|
short error002;
|
|
|
|
short titlesOverride; // db_titles
|
|
|
|
short gridRows;
|
|
|
|
short autonetwork;
|
|
|
|
short discart;
|
|
|
|
short gamesound;
|
|
|
|
short marknewtitles;
|
2010-12-29 16:42:26 +01:00
|
|
|
short InstallToDir;
|
|
|
|
short GameSplit;
|
2010-12-27 10:44:27 +01:00
|
|
|
short PlaylogUpdate;
|
2010-12-31 14:13:14 +01:00
|
|
|
short ShowFreeSpace;
|
2011-01-22 17:10:36 +01:00
|
|
|
short HomeMenu;
|
2011-02-02 19:30:15 +01:00
|
|
|
short MultiplePartitions;
|
2011-02-05 22:06:52 +01:00
|
|
|
short USBPort;
|
2011-02-12 10:50:35 +01:00
|
|
|
short CacheTitles;
|
2011-01-20 16:00:55 +01:00
|
|
|
u32 InstallPartitions;
|
|
|
|
u32 ParentalBlocks;
|
2010-09-19 22:25:12 +02:00
|
|
|
protected:
|
2011-01-06 19:59:45 +01:00
|
|
|
bool ValidVersion(FILE * file);
|
2010-09-19 22:25:12 +02:00
|
|
|
bool SetSetting(char *name, char *value);
|
|
|
|
//!Find the config file in the default paths
|
|
|
|
bool FindConfig();
|
|
|
|
|
|
|
|
void ParseLine(char *line);
|
|
|
|
void TrimLine(char *dest, char *src, int size);
|
|
|
|
};
|
|
|
|
|
|
|
|
extern CSettings Settings;
|
|
|
|
|
|
|
|
#endif
|