aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/qt_sdl
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/qt_sdl')
-rw-r--r--src/frontend/qt_sdl/AudioSettingsDialog.cpp1
-rw-r--r--src/frontend/qt_sdl/CMakeLists.txt3
-rw-r--r--src/frontend/qt_sdl/CheatsDialog.cpp1
-rw-r--r--src/frontend/qt_sdl/Config.cpp (renamed from src/frontend/qt_sdl/PlatformConfig.cpp)88
-rw-r--r--src/frontend/qt_sdl/Config.h (renamed from src/frontend/qt_sdl/PlatformConfig.h)18
-rw-r--r--src/frontend/qt_sdl/EmuSettingsDialog.cpp1
-rw-r--r--src/frontend/qt_sdl/FirmwareSettingsDialog.cpp2
-rw-r--r--src/frontend/qt_sdl/Input.cpp2
-rw-r--r--src/frontend/qt_sdl/InputConfig/InputConfigDialog.cpp1
-rw-r--r--src/frontend/qt_sdl/InterfaceSettingsDialog.cpp1
-rw-r--r--src/frontend/qt_sdl/LAN_PCap.cpp2
-rw-r--r--src/frontend/qt_sdl/LAN_Socket.cpp1
-rw-r--r--src/frontend/qt_sdl/OSD.cpp2
-rw-r--r--src/frontend/qt_sdl/Platform.cpp4
-rw-r--r--src/frontend/qt_sdl/ROMInfoDialog.cpp1
-rw-r--r--src/frontend/qt_sdl/TitleManagerDialog.cpp1
-rw-r--r--src/frontend/qt_sdl/VideoSettingsDialog.cpp1
-rw-r--r--src/frontend/qt_sdl/WifiSettingsDialog.cpp1
-rw-r--r--src/frontend/qt_sdl/main.cpp1
19 files changed, 111 insertions, 21 deletions
diff --git a/src/frontend/qt_sdl/AudioSettingsDialog.cpp b/src/frontend/qt_sdl/AudioSettingsDialog.cpp
index bf88eab..d4ce678 100644
--- a/src/frontend/qt_sdl/AudioSettingsDialog.cpp
+++ b/src/frontend/qt_sdl/AudioSettingsDialog.cpp
@@ -22,7 +22,6 @@
#include "types.h"
#include "Platform.h"
#include "Config.h"
-#include "PlatformConfig.h"
#include "AudioSettingsDialog.h"
#include "ui_AudioSettingsDialog.h"
diff --git a/src/frontend/qt_sdl/CMakeLists.txt b/src/frontend/qt_sdl/CMakeLists.txt
index 1d987a4..ad38e37 100644
--- a/src/frontend/qt_sdl/CMakeLists.txt
+++ b/src/frontend/qt_sdl/CMakeLists.txt
@@ -4,6 +4,7 @@ SET(SOURCES_QT_SDL
main.cpp
main_shaders.h
CheatsDialog.cpp
+ Config.cpp
EmuSettingsDialog.cpp
InputConfig/InputConfigDialog.cpp
InputConfig/MapButton.h
@@ -22,7 +23,6 @@ SET(SOURCES_QT_SDL
OSD_shaders.h
font.h
Platform.cpp
- PlatformConfig.cpp
QPathInput.h
ArchiveUtil.h
@@ -33,6 +33,7 @@ SET(SOURCES_QT_SDL
../Util_Audio.cpp
../FrontendUtil.h
../mic_blow.h
+ ../SharedConfig.h
${CMAKE_SOURCE_DIR}/res/melon.qrc
)
diff --git a/src/frontend/qt_sdl/CheatsDialog.cpp b/src/frontend/qt_sdl/CheatsDialog.cpp
index 4a4c4b6..afa0805 100644
--- a/src/frontend/qt_sdl/CheatsDialog.cpp
+++ b/src/frontend/qt_sdl/CheatsDialog.cpp
@@ -24,7 +24,6 @@
#include "types.h"
#include "Platform.h"
#include "Config.h"
-#include "PlatformConfig.h"
#include "CheatsDialog.h"
#include "ui_CheatsDialog.h"
diff --git a/src/frontend/qt_sdl/PlatformConfig.cpp b/src/frontend/qt_sdl/Config.cpp
index abecb2d..8c3690b 100644
--- a/src/frontend/qt_sdl/PlatformConfig.cpp
+++ b/src/frontend/qt_sdl/Config.cpp
@@ -19,7 +19,9 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
-#include "PlatformConfig.h"
+#include "Platform.h"
+#include "Config.h"
+
namespace Config
{
@@ -112,6 +114,7 @@ int DirectLAN;
int SavestateRelocSRAM;
int AudioInterp;
+int AudioBitrate;
int AudioVolume;
int MicInputType;
char MicWavPath[1024];
@@ -127,7 +130,10 @@ int MouseHideSeconds;
int PauseLostFocus;
-ConfigEntry PlatformConfigFile[] =
+
+const char* kConfigFile = "melonDS.ini";
+
+ConfigEntry ConfigFile[] =
{
{"Key_A", 0, &KeyMapping[0], -1, NULL, 0},
{"Key_B", 0, &KeyMapping[1], -1, NULL, 0},
@@ -265,6 +271,7 @@ ConfigEntry PlatformConfigFile[] =
{"SavStaRelocSRAM", 0, &SavestateRelocSRAM, 0, NULL, 0},
{"AudioInterp", 0, &AudioInterp, 0, NULL, 0},
+ {"AudioBitrate", 0, &AudioBitrate, 0, NULL, 0},
{"AudioVolume", 0, &AudioVolume, 256, NULL, 0},
{"MicInputType", 0, &MicInputType, 1, NULL, 0},
{"MicWavPath", 1, MicWavPath, 0, "", 1023},
@@ -291,4 +298,81 @@ ConfigEntry PlatformConfigFile[] =
{"", -1, NULL, 0, NULL, 0}
};
+
+void Load()
+{
+ ConfigEntry* entry = &ConfigFile[0];
+ for (;;)
+ {
+ if (!entry->Value) break;
+
+ if (entry->Type == 0)
+ *(int*)entry->Value = entry->DefaultInt;
+ else
+ {
+ strncpy((char*)entry->Value, entry->DefaultStr, entry->StrLength);
+ ((char*)entry->Value)[entry->StrLength] = '\0';
+ }
+
+ entry++;
+ }
+
+ FILE* f = Platform::OpenLocalFile(kConfigFile, "r");
+ if (!f) return;
+
+ char linebuf[1024];
+ char entryname[32];
+ char entryval[1024];
+ while (!feof(f))
+ {
+ if (fgets(linebuf, 1024, f) == nullptr)
+ break;
+
+ int ret = sscanf(linebuf, "%31[A-Za-z_0-9]=%[^\t\r\n]", entryname, entryval);
+ entryname[31] = '\0';
+ if (ret < 2) continue;
+
+ ConfigEntry* entry = &ConfigFile[0];
+ for (;;)
+ {
+ if (!entry->Value) break;
+
+ if (!strncmp(entry->Name, entryname, 32))
+ {
+ if (entry->Type == 0)
+ *(int*)entry->Value = strtol(entryval, NULL, 10);
+ else
+ strncpy((char*)entry->Value, entryval, entry->StrLength);
+
+ break;
+ }
+
+ entry++;
+ }
+ }
+
+ fclose(f);
+}
+
+void Save()
+{
+ FILE* f = Platform::OpenLocalFile(kConfigFile, "w");
+ if (!f) return;
+
+ ConfigEntry* entry = &ConfigFile[0];
+ for (;;)
+ {
+ if (!entry->Value) break;
+
+ if (entry->Type == 0)
+ fprintf(f, "%s=%d\r\n", entry->Name, *(int*)entry->Value);
+ else
+ fprintf(f, "%s=%s\r\n", entry->Name, (char*)entry->Value);
+
+ entry++;
+ }
+
+ fclose(f);
+}
+
}
diff --git a/src/frontend/qt_sdl/PlatformConfig.h b/src/frontend/qt_sdl/Config.h
index 9fe7bbb..5914978 100644
--- a/src/frontend/qt_sdl/PlatformConfig.h
+++ b/src/frontend/qt_sdl/Config.h
@@ -19,8 +19,6 @@
#ifndef PLATFORMCONFIG_H
#define PLATFORMCONFIG_H
-#include "Config.h"
-
enum
{
HK_Lid = 0,
@@ -40,6 +38,17 @@ enum
namespace Config
{
+struct ConfigEntry
+{
+ char Name[32];
+ int Type;
+ void* Value;
+ int DefaultInt;
+ const char* DefaultStr;
+ int StrLength; // should be set to actual array length minus one
+};
+
+
extern int KeyMapping[12];
extern int JoyMapping[12];
@@ -128,6 +137,7 @@ extern int DirectLAN;
extern int SavestateRelocSRAM;
extern int AudioInterp;
+extern int AudioBitrate;
extern int AudioVolume;
extern int MicInputType;
extern char MicWavPath[1024];
@@ -142,6 +152,10 @@ extern int MouseHide;
extern int MouseHideSeconds;
extern int PauseLostFocus;
+
+void Load();
+void Save();
+
}
#endif // PLATFORMCONFIG_H
diff --git a/src/frontend/qt_sdl/EmuSettingsDialog.cpp b/src/frontend/qt_sdl/EmuSettingsDialog.cpp
index 99c6630..379300f 100644
--- a/src/frontend/qt_sdl/EmuSettingsDialog.cpp
+++ b/src/frontend/qt_sdl/EmuSettingsDialog.cpp
@@ -25,7 +25,6 @@
#include "types.h"
#include "Platform.h"
#include "Config.h"
-#include "PlatformConfig.h"
#include "EmuSettingsDialog.h"
#include "ui_EmuSettingsDialog.h"
diff --git a/src/frontend/qt_sdl/FirmwareSettingsDialog.cpp b/src/frontend/qt_sdl/FirmwareSettingsDialog.cpp
index 834624f..94e5f5a 100644
--- a/src/frontend/qt_sdl/FirmwareSettingsDialog.cpp
+++ b/src/frontend/qt_sdl/FirmwareSettingsDialog.cpp
@@ -16,7 +16,7 @@
with melonDS. If not, see http://www.gnu.org/licenses/.
*/
-#include "PlatformConfig.h"
+#include "Config.h"
#include "FirmwareSettingsDialog.h"
#include "ui_FirmwareSettingsDialog.h"
diff --git a/src/frontend/qt_sdl/Input.cpp b/src/frontend/qt_sdl/Input.cpp
index 07e5252..cca11e7 100644
--- a/src/frontend/qt_sdl/Input.cpp
+++ b/src/frontend/qt_sdl/Input.cpp
@@ -20,7 +20,7 @@
#include <SDL2/SDL.h>
#include "Input.h"
-#include "PlatformConfig.h"
+#include "Config.h"
namespace Input
diff --git a/src/frontend/qt_sdl/InputConfig/InputConfigDialog.cpp b/src/frontend/qt_sdl/InputConfig/InputConfigDialog.cpp
index 4040079..2a50539 100644
--- a/src/frontend/qt_sdl/InputConfig/InputConfigDialog.cpp
+++ b/src/frontend/qt_sdl/InputConfig/InputConfigDialog.cpp
@@ -25,7 +25,6 @@
#include "types.h"
#include "Config.h"
-#include "PlatformConfig.h"
#include "MapButton.h"
#include "Input.h"
diff --git a/src/frontend/qt_sdl/InterfaceSettingsDialog.cpp b/src/frontend/qt_sdl/InterfaceSettingsDialog.cpp
index 3fad0ff..788e596 100644
--- a/src/frontend/qt_sdl/InterfaceSettingsDialog.cpp
+++ b/src/frontend/qt_sdl/InterfaceSettingsDialog.cpp
@@ -22,7 +22,6 @@
#include "types.h"
#include "Platform.h"
#include "Config.h"
-#include "PlatformConfig.h"
InterfaceSettingsDialog* InterfaceSettingsDialog::currentDlg = nullptr;
diff --git a/src/frontend/qt_sdl/LAN_PCap.cpp b/src/frontend/qt_sdl/LAN_PCap.cpp
index df647fc..ed3eee9 100644
--- a/src/frontend/qt_sdl/LAN_PCap.cpp
+++ b/src/frontend/qt_sdl/LAN_PCap.cpp
@@ -25,7 +25,7 @@
#include <pcap/pcap.h>
#include "../Wifi.h"
#include "LAN_PCap.h"
-#include "PlatformConfig.h"
+#include "Config.h"
#ifdef __WIN32__
#include <iphlpapi.h>
diff --git a/src/frontend/qt_sdl/LAN_Socket.cpp b/src/frontend/qt_sdl/LAN_Socket.cpp
index b385c6a..83ddd99 100644
--- a/src/frontend/qt_sdl/LAN_Socket.cpp
+++ b/src/frontend/qt_sdl/LAN_Socket.cpp
@@ -23,7 +23,6 @@
#include <string.h>
#include "Wifi.h"
#include "LAN_Socket.h"
-#include "Config.h"
#include "FIFO.h"
#include <slirp/libslirp.h>
diff --git a/src/frontend/qt_sdl/OSD.cpp b/src/frontend/qt_sdl/OSD.cpp
index bc3cd91..d9f75fd 100644
--- a/src/frontend/qt_sdl/OSD.cpp
+++ b/src/frontend/qt_sdl/OSD.cpp
@@ -29,7 +29,7 @@
#include "OSD_shaders.h"
#include "font.h"
-#include "PlatformConfig.h"
+#include "Config.h"
extern MainWindow* mainWindow;
diff --git a/src/frontend/qt_sdl/Platform.cpp b/src/frontend/qt_sdl/Platform.cpp
index c787092..9dfad06 100644
--- a/src/frontend/qt_sdl/Platform.cpp
+++ b/src/frontend/qt_sdl/Platform.cpp
@@ -51,7 +51,7 @@
#include <QOpenGLContext>
#include "Platform.h"
-#include "PlatformConfig.h"
+#include "Config.h"
#include "LAN_Socket.h"
#include "LAN_PCap.h"
#include <string>
@@ -140,6 +140,8 @@ int GetConfigInt(ConfigEntry entry)
case Firm_BirthdayMonth: return Config::FirmwareBirthdayMonth;
case Firm_BirthdayDay: return Config::FirmwareBirthdayDay;
case Firm_Color: return Config::FirmwareFavouriteColour;
+
+ case AudioBitrate: return Config::AudioBitrate;
}
return 0;
diff --git a/src/frontend/qt_sdl/ROMInfoDialog.cpp b/src/frontend/qt_sdl/ROMInfoDialog.cpp
index a0e24e4..9166efe 100644
--- a/src/frontend/qt_sdl/ROMInfoDialog.cpp
+++ b/src/frontend/qt_sdl/ROMInfoDialog.cpp
@@ -25,7 +25,6 @@
#include "NDSCart.h"
#include "Platform.h"
#include "Config.h"
-#include "PlatformConfig.h"
QString IntToHex(u64 num)
{
diff --git a/src/frontend/qt_sdl/TitleManagerDialog.cpp b/src/frontend/qt_sdl/TitleManagerDialog.cpp
index cf2b735..0a5e65d 100644
--- a/src/frontend/qt_sdl/TitleManagerDialog.cpp
+++ b/src/frontend/qt_sdl/TitleManagerDialog.cpp
@@ -23,7 +23,6 @@
#include "types.h"
#include "Platform.h"
#include "Config.h"
-#include "PlatformConfig.h"
#include "FrontendUtil.h"
#include "DSi_NAND.h"
diff --git a/src/frontend/qt_sdl/VideoSettingsDialog.cpp b/src/frontend/qt_sdl/VideoSettingsDialog.cpp
index 875b0e4..0c3f13e 100644
--- a/src/frontend/qt_sdl/VideoSettingsDialog.cpp
+++ b/src/frontend/qt_sdl/VideoSettingsDialog.cpp
@@ -23,7 +23,6 @@
#include "types.h"
#include "Platform.h"
#include "Config.h"
-#include "PlatformConfig.h"
#include "VideoSettingsDialog.h"
#include "ui_VideoSettingsDialog.h"
diff --git a/src/frontend/qt_sdl/WifiSettingsDialog.cpp b/src/frontend/qt_sdl/WifiSettingsDialog.cpp
index 061d914..9c428ba 100644
--- a/src/frontend/qt_sdl/WifiSettingsDialog.cpp
+++ b/src/frontend/qt_sdl/WifiSettingsDialog.cpp
@@ -22,7 +22,6 @@
#include "types.h"
#include "Platform.h"
#include "Config.h"
-#include "PlatformConfig.h"
#include "LAN_Socket.h"
#include "LAN_PCap.h"
diff --git a/src/frontend/qt_sdl/main.cpp b/src/frontend/qt_sdl/main.cpp
index fb1caea..99c32e0 100644
--- a/src/frontend/qt_sdl/main.cpp
+++ b/src/frontend/qt_sdl/main.cpp
@@ -75,7 +75,6 @@
#include "Wifi.h"
#include "Platform.h"
#include "Config.h"
-#include "PlatformConfig.h"
#include "Savestate.h"