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>
|
|
|
|
#include "cfg.h"
|
|
|
|
|
2010-09-24 02:48:03 +02:00
|
|
|
enum
|
|
|
|
{
|
2010-09-19 22:25:12 +02:00
|
|
|
APP_DEFAULT = 0,
|
|
|
|
CONSOLE_DEFAULT,
|
|
|
|
JAPANESE,
|
|
|
|
ENGLISH,
|
|
|
|
GERMAN,
|
|
|
|
FRENCH,
|
|
|
|
SPANISH,
|
|
|
|
ITALIAN,
|
|
|
|
DUTCH,
|
|
|
|
S_CHINESE,
|
|
|
|
T_CHINESE,
|
|
|
|
KOREAN,
|
|
|
|
MAX_LANGUAGE
|
|
|
|
};
|
|
|
|
|
|
|
|
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];
|
|
|
|
char ConfigPath[80];
|
|
|
|
short videomode;
|
|
|
|
short language;
|
|
|
|
short ocarina;
|
|
|
|
short videopatch;
|
|
|
|
short sinfo;
|
|
|
|
short hddinfo;
|
|
|
|
short rumble;
|
|
|
|
short xflip;
|
|
|
|
int volume;
|
|
|
|
int sfxvolume;
|
|
|
|
int gamesoundvolume;
|
|
|
|
short tooltips;
|
|
|
|
char unlockCode[20];
|
|
|
|
short parentalcontrol;
|
2010-09-28 20:58:56 +02:00
|
|
|
short lockedgames;
|
2010-09-24 02:48:03 +02:00
|
|
|
short cios;
|
|
|
|
short quickboot;
|
|
|
|
short wsprompt;
|
|
|
|
short keyset;
|
|
|
|
short sort;
|
|
|
|
short fave;
|
|
|
|
short wiilight;
|
|
|
|
short gameDisplay;
|
|
|
|
short patchcountrystrings;
|
|
|
|
short screensaver;
|
|
|
|
short partition;
|
|
|
|
short musicloopmode;
|
|
|
|
short widescreen;
|
|
|
|
short godmode;
|
|
|
|
char covers_path[100];
|
|
|
|
char covers2d_path[100];
|
|
|
|
char theme_path[100];
|
|
|
|
char theme_downloadpath[100];
|
|
|
|
char disc_path[100];
|
|
|
|
char titlestxt_path[100];
|
|
|
|
char language_path[100];
|
|
|
|
char languagefiles_path[100];
|
|
|
|
char ogg_path[250];
|
|
|
|
char dolpath[150];
|
|
|
|
char update_path[150];
|
|
|
|
char homebrewapps_path[150];
|
|
|
|
char selected_homebrew[200];
|
|
|
|
char Cheatcodespath[100];
|
|
|
|
char TxtCheatcodespath[100];
|
|
|
|
char BcaCodepath[100];
|
|
|
|
char WipCodepath[100];
|
|
|
|
short error002;
|
|
|
|
short titlesOverride; // db_titles
|
|
|
|
char db_url[200];
|
|
|
|
char db_language[20];
|
|
|
|
short db_JPtoEN;
|
|
|
|
short gridRows;
|
|
|
|
short autonetwork;
|
|
|
|
short discart;
|
|
|
|
short gamesound;
|
|
|
|
short marknewtitles;
|
|
|
|
short FatInstallToDir;
|
|
|
|
short partitions_to_install;
|
|
|
|
short fullcopy;
|
|
|
|
short beta_upgrades;
|
|
|
|
char returnTo[20];
|
2010-09-19 22:25:12 +02:00
|
|
|
struct
|
|
|
|
{
|
2010-09-24 02:48:03 +02:00
|
|
|
u8 enabled;
|
|
|
|
u8 rating;
|
|
|
|
u8 pin[4];
|
|
|
|
u8 question;
|
|
|
|
wchar_t answer[32]; // IS WCHAR!
|
2010-09-19 22:25:12 +02:00
|
|
|
} Parental;
|
|
|
|
protected:
|
|
|
|
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);
|
|
|
|
FILE * file;
|
|
|
|
};
|
|
|
|
|
|
|
|
extern CSettings Settings;
|
|
|
|
|
|
|
|
#endif
|