// Copyright (C) 2003 Dolphin Project. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, version 2.0. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License 2.0 for more details. // A copy of the GPL 2.0 should have been included with the program. // If not, see http://www.gnu.org/licenses/ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ #ifndef _CONFIGMANAGER_H #define _CONFIGMANAGER_H #include #include #include "Boot/Boot.h" #include "HW/EXI_Device.h" #include "HW/SI_Device.h" #include "SysConf.h" // DSP Backend Types #define BACKEND_NULLSOUND _trans("No audio output") #define BACKEND_ALSA "ALSA" #define BACKEND_AOSOUND "AOSound" #define BACKEND_COREAUDIO "CoreAudio" #define BACKEND_DIRECTSOUND "DSound" #define BACKEND_OPENAL "OpenAL" #define BACKEND_PULSEAUDIO "Pulse" #define BACKEND_XAUDIO2 "XAudio2" #define BACKEND_OPENSLES "OpenSLES" struct SConfig : NonCopyable { // Wii Devices bool m_WiiSDCard; bool m_WiiKeyboard; bool m_WiimoteReconnectOnLoad; bool m_WiimoteContinuousScanning; bool m_WiimoteEnableSpeaker; // name of the last used filename std::string m_LastFilename; // gcm folder std::vector m_ISOFolder; bool m_RecursiveISOFolder; SCoreStartupParameter m_LocalCoreStartupParameter; std::string m_NANDPath; std::string m_strMemoryCardA; std::string m_strMemoryCardB; TEXIDevices m_EXIDevice[3]; SIDevices m_SIDevice[4]; std::string m_bba_mac; // interface language int m_InterfaceLanguage; // framelimit choose unsigned int m_Framelimit; bool b_UseFPS; // other interface settings bool m_InterfaceToolbar; bool m_InterfaceStatusbar; bool m_InterfaceLogWindow; bool m_InterfaceLogConfigWindow; bool m_InterfaceConsole; bool m_ListDrives; bool m_ListWad; bool m_ListWii; bool m_ListGC; bool m_ListPal; bool m_ListUsa; bool m_ListJap; bool m_ListFrance; bool m_ListItaly; bool m_ListKorea; bool m_ListTaiwan; bool m_ListUnknown; int m_ListSort; int m_ListSort2; std::string m_WirelessMac; bool m_PauseMovie; bool m_ShowLag; std::string m_strMovieAuthor; // DSP settings bool m_EnableJIT; bool m_DumpAudio; int m_Volume; std::string sBackend; SysConf* m_SYSCONF; // save settings void SaveSettings(); // load settings void LoadSettings(); // Return the permanent and somewhat globally used instance of this struct static SConfig& GetInstance() {return(*m_Instance);} static void Init(); static void Shutdown(); private: SConfig(); ~SConfig(); static SConfig* m_Instance; }; #endif // endif config manager