usbloadergx/source/settings/CSettings.h

134 lines
3.8 KiB
C
Raw Normal View History

2010-09-24 02:48:03 +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"
class CSettings
{
public:
2010-09-24 02:48:03 +02:00
//!Constructor
CSettings();
2010-09-24 02:48:03 +02:00
//!Destructor
~CSettings();
//!Set Default Settings
void SetDefault();
//!Load Settings
bool Load();
//!Save Settings
bool Save();
2010-09-24 02:48:03 +02:00
//!Reset Settings
bool Reset();
2010-09-24 02:48:03 +02:00
//!Load a languagefile
//!\param language
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;
short lockedgames;
2010-09-24 02:48:03 +02:00
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;
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 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;
2010-10-27 16:45:27 +02:00
u32 InstallPartitions;
2010-09-24 02:48:03 +02:00
short fullcopy;
short beta_upgrades;
char returnTo[20];
struct
{
2010-09-24 02:48:03 +02:00
u8 enabled;
u8 rating;
u8 pin[4];
u8 question;
wchar_t answer[32]; // IS WCHAR!
} 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