Move the ZTP hack to the game properties (reverted all changes from r6057 to the...
[dolphin.git] / Source / Core / Core / Src / ConfigManager.h
blob6a1839b07bc0d9afd4864cd9930d8709c1a6f4cb
1 // Copyright (C) 2003 Dolphin Project.
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, version 2.0.
7 // This program is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 // GNU General Public License 2.0 for more details.
12 // A copy of the GPL 2.0 should have been included with the program.
13 // If not, see http://www.gnu.org/licenses/
15 // Official SVN repository and contact information can be found at
16 // http://code.google.com/p/dolphin-emu/
18 #ifndef _CONFIGMANAGER_H
19 #define _CONFIGMANAGER_H
21 #include <string>
22 #include <vector>
24 #include "Boot/Boot.h"
25 #include "HW/EXI_Device.h"
26 #include "HW/SI_Device.h"
27 #include "SysConf.h"
29 // HyperIris: not sure but a temporary implement
30 enum INTERFACE_LANGUAGE
32 INTERFACE_ENGLISH = 0,
33 INTERFACE_GERMAN,
34 INTERFACE_FRENCH,
35 INTERFACE_SPANISH,
36 INTERFACE_ITALIAN,
37 INTERFACE_DUTCH,
39 INTERFACE_OTHER,
42 struct SConfig
44 // Wii Devices
45 bool m_WiiSDCard;
46 bool m_WiiKeyboard;
47 bool m_WiiAutoReconnect[4];
48 bool m_WiiAutoUnpair;
50 // hard coded default plugins ...
51 std::string m_DefaultGFXPlugin;
52 std::string m_DefaultDSPPlugin;
53 std::string m_DefaultWiiMotePlugin;
55 // name of the last used filename
56 std::string m_LastFilename;
58 // gcm folder
59 std::vector<std::string> m_ISOFolder;
60 bool m_RecursiveISOFolder;
62 SCoreStartupParameter m_LocalCoreStartupParameter;
64 std::string m_strMemoryCardA;
65 std::string m_strMemoryCardB;
66 TEXIDevices m_EXIDevice[3];
67 TSIDevices m_SIDevice[4];
69 // interface language
70 INTERFACE_LANGUAGE m_InterfaceLanguage;
71 // framelimit choose
72 int m_Framelimit;
73 bool b_UseFPS;
74 // other interface settings
75 bool m_InterfaceToolbar;
76 bool m_InterfaceStatusbar;
77 bool m_InterfaceLogWindow;
78 bool m_InterfaceConsole;
80 bool m_ListDrives;
81 bool m_ListWad;
82 bool m_ListWii;
83 bool m_ListGC;
84 bool m_ListPal;
85 bool m_ListUsa;
86 bool m_ListJap;
87 bool m_ListFrance;
88 bool m_ListItaly;
89 bool m_ListKorea;
90 bool m_ListTaiwan;
91 bool m_ListUnknown;
93 SysConf* m_SYSCONF;
95 // save settings
96 void SaveSettings();
98 // load settings
99 void LoadSettings();
101 //Special load settings
102 void LoadSettingsWii();
104 // Return the permanent and somewhat globally used instance of this struct
105 static SConfig& GetInstance() {return(*m_Instance);}
107 static void Init();
108 static void Shutdown();
110 private:
111 SConfig();
112 ~SConfig();
114 static SConfig* m_Instance;
116 DISALLOW_COPY_AND_ASSIGN(SConfig);
119 #endif // endif config manager