2013-04-18 02:43:11 +00:00
|
|
|
// Copyright 2013 Dolphin Emulator Project
|
|
|
|
// Licensed under GPLv2
|
|
|
|
// Refer to the license.txt file included.
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2014-02-10 18:54:46 +00:00
|
|
|
#pragma once
|
2008-12-08 04:46:09 +00:00
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
2014-02-17 10:18:15 +00:00
|
|
|
#include "Common/SysConf.h"
|
|
|
|
#include "Core/Boot/Boot.h"
|
|
|
|
#include "Core/HW/EXI_Device.h"
|
|
|
|
#include "Core/HW/SI_Device.h"
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2013-01-17 01:16:56 +00:00
|
|
|
// DSP Backend Types
|
2014-02-09 23:29:13 +00:00
|
|
|
#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"
|
2010-11-15 05:29:10 +00:00
|
|
|
struct SConfig : NonCopyable
|
2008-12-08 04:46:09 +00:00
|
|
|
{
|
2010-01-11 11:56:17 +00:00
|
|
|
// Wii Devices
|
|
|
|
bool m_WiiSDCard;
|
|
|
|
bool m_WiiKeyboard;
|
2013-02-11 23:58:56 +00:00
|
|
|
bool m_WiimoteContinuousScanning;
|
2013-02-15 09:00:31 +00:00
|
|
|
bool m_WiimoteEnableSpeaker;
|
2010-01-11 11:56:17 +00:00
|
|
|
|
2008-12-08 04:46:09 +00:00
|
|
|
// name of the last used filename
|
|
|
|
std::string m_LastFilename;
|
|
|
|
|
|
|
|
// gcm folder
|
2009-04-08 20:26:33 +00:00
|
|
|
std::vector<std::string> m_ISOFolder;
|
|
|
|
bool m_RecursiveISOFolder;
|
2008-12-08 04:46:09 +00:00
|
|
|
|
|
|
|
SCoreStartupParameter m_LocalCoreStartupParameter;
|
2011-05-24 19:12:18 +00:00
|
|
|
std::string m_NANDPath;
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2009-02-02 22:29:33 +00:00
|
|
|
std::string m_strMemoryCardA;
|
|
|
|
std::string m_strMemoryCardB;
|
|
|
|
TEXIDevices m_EXIDevice[3];
|
2011-10-23 14:01:17 +00:00
|
|
|
SIDevices m_SIDevice[4];
|
2010-12-27 22:30:24 +00:00
|
|
|
std::string m_bba_mac;
|
2009-02-02 22:29:33 +00:00
|
|
|
|
2009-01-22 07:42:17 +00:00
|
|
|
// interface language
|
2011-01-08 15:05:59 +00:00
|
|
|
int m_InterfaceLanguage;
|
2009-06-09 21:27:45 +00:00
|
|
|
// framelimit choose
|
2011-01-27 05:01:00 +00:00
|
|
|
unsigned int m_Framelimit;
|
2009-03-18 17:17:58 +00:00
|
|
|
// other interface settings
|
|
|
|
bool m_InterfaceToolbar;
|
|
|
|
bool m_InterfaceStatusbar;
|
|
|
|
bool m_InterfaceLogWindow;
|
2011-02-21 15:01:00 +00:00
|
|
|
bool m_InterfaceLogConfigWindow;
|
2014-03-22 09:15:30 +00:00
|
|
|
bool m_InterfaceExtendedFPSInfo;
|
2010-01-11 05:07:56 +00:00
|
|
|
|
2009-04-28 02:30:50 +00:00
|
|
|
bool m_ListDrives;
|
2009-06-06 06:22:36 +00:00
|
|
|
bool m_ListWad;
|
2009-04-28 02:30:50 +00:00
|
|
|
bool m_ListWii;
|
|
|
|
bool m_ListGC;
|
|
|
|
bool m_ListPal;
|
|
|
|
bool m_ListUsa;
|
|
|
|
bool m_ListJap;
|
2010-01-11 05:07:56 +00:00
|
|
|
bool m_ListFrance;
|
|
|
|
bool m_ListItaly;
|
|
|
|
bool m_ListKorea;
|
|
|
|
bool m_ListTaiwan;
|
|
|
|
bool m_ListUnknown;
|
2012-12-17 11:08:45 +00:00
|
|
|
int m_ListSort;
|
|
|
|
int m_ListSort2;
|
|
|
|
|
2012-11-14 19:28:38 +00:00
|
|
|
std::string m_WirelessMac;
|
2012-11-14 21:21:54 +00:00
|
|
|
bool m_PauseMovie;
|
|
|
|
bool m_ShowLag;
|
|
|
|
std::string m_strMovieAuthor;
|
2014-02-18 17:12:49 +00:00
|
|
|
unsigned int m_FrameSkip;
|
2009-03-18 17:17:58 +00:00
|
|
|
|
2013-01-17 01:16:56 +00:00
|
|
|
// DSP settings
|
2014-02-23 14:14:27 +00:00
|
|
|
bool m_DSPEnableJIT;
|
2013-01-17 01:16:56 +00:00
|
|
|
bool m_DumpAudio;
|
|
|
|
int m_Volume;
|
|
|
|
std::string sBackend;
|
|
|
|
|
2009-09-14 06:26:49 +00:00
|
|
|
SysConf* m_SYSCONF;
|
|
|
|
|
2008-12-08 04:46:09 +00:00
|
|
|
// save settings
|
|
|
|
void SaveSettings();
|
|
|
|
|
|
|
|
// load settings
|
|
|
|
void LoadSettings();
|
|
|
|
|
2010-02-06 05:22:53 +00:00
|
|
|
// Return the permanent and somewhat globally used instance of this struct
|
2010-02-19 18:50:01 +00:00
|
|
|
static SConfig& GetInstance() {return(*m_Instance);}
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2010-02-16 04:34:41 +00:00
|
|
|
static void Init();
|
|
|
|
static void Shutdown();
|
|
|
|
|
2010-02-19 18:50:01 +00:00
|
|
|
private:
|
|
|
|
SConfig();
|
|
|
|
~SConfig();
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2010-02-19 18:50:01 +00:00
|
|
|
static SConfig* m_Instance;
|
2008-12-08 04:46:09 +00:00
|
|
|
};
|