diff options
author | Arisotura <thetotalworm@gmail.com> | 2021-11-17 21:44:49 +0100 |
---|---|---|
committer | Arisotura <thetotalworm@gmail.com> | 2021-11-17 21:44:49 +0100 |
commit | d5b248bb863570f46a394ea7e217deb9666402fd (patch) | |
tree | 108c844c1a5687798c405b01dac5f618f45be599 /src | |
parent | 13afaa03031c2ea6c255a9e7a1c2563a51090d36 (diff) |
decouple more config shit from the core. bahahah
Diffstat (limited to 'src')
-rw-r--r-- | src/Config.cpp | 20 | ||||
-rw-r--r-- | src/Config.h | 10 | ||||
-rw-r--r-- | src/Platform.h | 9 | ||||
-rw-r--r-- | src/SPI.cpp | 19 | ||||
-rw-r--r-- | src/frontend/qt_sdl/FirmwareSettingsDialog.cpp | 2 | ||||
-rw-r--r-- | src/frontend/qt_sdl/Platform.cpp | 11 | ||||
-rw-r--r-- | src/frontend/qt_sdl/PlatformConfig.cpp | 18 | ||||
-rw-r--r-- | src/frontend/qt_sdl/PlatformConfig.h | 9 |
8 files changed, 61 insertions, 37 deletions
diff --git a/src/Config.cpp b/src/Config.cpp index 1163e06..0565a32 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -28,28 +28,12 @@ namespace Config const char* kConfigFile = "melonDS.ini"; -char FirmwareUsername[64]; -int FirmwareLanguage; -bool FirmwareOverrideSettings; -int FirmwareBirthdayMonth; -int FirmwareBirthdayDay; -int FirmwareFavouriteColour; -char FirmwareMessage[1024]; - -int RandomizeMAC; + int AudioBitrate; ConfigEntry ConfigFile[] = { - {"FirmwareUsername", 1, FirmwareUsername, 0, "melonDS", 63}, - {"FirmwareLanguage", 0, &FirmwareLanguage, 1, NULL, 0}, - {"FirmwareOverrideSettings", 0, &FirmwareOverrideSettings, false, NULL, 0}, - {"FirmwareBirthdayMonth", 0, &FirmwareBirthdayMonth, 0, NULL, 0}, - {"FirmwareBirthdayDay", 0, &FirmwareBirthdayDay, 0, NULL, 0}, - {"FirmwareFavouriteColour", 0, &FirmwareFavouriteColour, 0, NULL, 0}, - {"FirmwareMessage", 1, FirmwareMessage, 0, "", 1023}, - - {"RandomizeMAC", 0, &RandomizeMAC, 0, NULL, 0}, + {"AudioBitrate", 0, &AudioBitrate, 0, NULL, 0}, {"", -1, NULL, 0, NULL, 0} diff --git a/src/Config.h b/src/Config.h index 8821be2..778fd0e 100644 --- a/src/Config.h +++ b/src/Config.h @@ -41,15 +41,7 @@ bool HasConfigFile(const char* fileName); void Load(); void Save(); -extern char FirmwareUsername[64]; -extern int FirmwareLanguage; -extern bool FirmwareOverrideSettings; -extern int FirmwareBirthdayMonth; -extern int FirmwareBirthdayDay; -extern int FirmwareFavouriteColour; -extern char FirmwareMessage[1024]; - -extern int RandomizeMAC; + extern int AudioBitrate; } diff --git a/src/Platform.h b/src/Platform.h index 2faef50..0323637 100644 --- a/src/Platform.h +++ b/src/Platform.h @@ -68,6 +68,15 @@ enum ConfigEntry DSiSD_ReadOnly, DSiSD_FolderSync, DSiSD_FolderPath, + + Firm_RandomizeMAC, + Firm_OverrideSettings, + Firm_Username, + Firm_Language, + Firm_BirthdayMonth, + Firm_BirthdayDay, + Firm_Color, + Firm_Message, }; int GetConfigInt(ConfigEntry entry); diff --git a/src/SPI.cpp b/src/SPI.cpp index 5ae0e21..e8a7d35 100644 --- a/src/SPI.cpp +++ b/src/SPI.cpp @@ -23,7 +23,6 @@ #include <algorithm> #include <codecvt> #include <locale> -#include "Config.h" #include "NDS.h" #include "DSi.h" #include "SPI.h" @@ -171,23 +170,25 @@ void LoadFirmwareFromFile(FILE* f) void LoadUserSettingsFromConfig() { // setting up username - std::u16string username = std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}.from_bytes(Config::FirmwareUsername); + std::string orig_username = Platform::GetConfigString(Platform::Firm_Username); + std::u16string username = std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}.from_bytes(orig_username); size_t usernameLength = std::min(username.length(), (size_t) 10); memcpy(Firmware + UserSettings + 0x06, username.data(), usernameLength * sizeof(char16_t)); Firmware[UserSettings+0x1A] = usernameLength; // setting language - Firmware[UserSettings+0x64] = Config::FirmwareLanguage; + Firmware[UserSettings+0x64] = Platform::GetConfigInt(Platform::Firm_Language); // setting up color - Firmware[UserSettings+0x02] = Config::FirmwareFavouriteColour; + Firmware[UserSettings+0x02] = Platform::GetConfigInt(Platform::Firm_Color); // setting up birthday - Firmware[UserSettings+0x03] = Config::FirmwareBirthdayMonth; - Firmware[UserSettings+0x04] = Config::FirmwareBirthdayDay; + Firmware[UserSettings+0x03] = Platform::GetConfigInt(Platform::Firm_BirthdayMonth); + Firmware[UserSettings+0x04] = Platform::GetConfigInt(Platform::Firm_BirthdayDay); // setup message - std::u16string message = std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}.from_bytes(Config::FirmwareMessage); + std::string orig_message = Platform::GetConfigString(Platform::Firm_Message); + std::u16string message = std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}.from_bytes(orig_message); size_t messageLength = std::min(message.length(), (size_t) 26); memcpy(Firmware + UserSettings + 0x1C, message.data(), messageLength * sizeof(char16_t)); Firmware[UserSettings+0x50] = messageLength; @@ -225,7 +226,7 @@ void Reset() UserSettings = userdata; - if (!f || Config::FirmwareOverrideSettings) + if (!f || Platform::GetConfigBool(Platform::Firm_OverrideSettings)) LoadUserSettingsFromConfig(); // fix touchscreen coords @@ -243,7 +244,7 @@ void Reset() *(u16*)&Firmware[userdata+0x72] = CRC16(&Firmware[userdata], 0x70, 0xFFFF); - if (Config::RandomizeMAC) + if (Platform::GetConfigBool(Platform::Firm_RandomizeMAC)) { // replace MAC address with random address Firmware[0x36] = 0x00; diff --git a/src/frontend/qt_sdl/FirmwareSettingsDialog.cpp b/src/frontend/qt_sdl/FirmwareSettingsDialog.cpp index 94e5f5a..834624f 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 "Config.h" +#include "PlatformConfig.h" #include "FirmwareSettingsDialog.h" #include "ui_FirmwareSettingsDialog.h" diff --git a/src/frontend/qt_sdl/Platform.cpp b/src/frontend/qt_sdl/Platform.cpp index b11ca2c..c787092 100644 --- a/src/frontend/qt_sdl/Platform.cpp +++ b/src/frontend/qt_sdl/Platform.cpp @@ -135,6 +135,11 @@ int GetConfigInt(ConfigEntry entry) case DLDI_ImageSize: return imgsizes[Config::DLDISize]; case DSiSD_ImageSize: return imgsizes[Config::DSiSDSize]; + + case Firm_Language: return Config::FirmwareLanguage; + case Firm_BirthdayMonth: return Config::FirmwareBirthdayMonth; + case Firm_BirthdayDay: return Config::FirmwareBirthdayDay; + case Firm_Color: return Config::FirmwareFavouriteColour; } return 0; @@ -160,6 +165,9 @@ bool GetConfigBool(ConfigEntry entry) case DSiSD_Enable: return Config::DSiSDEnable != 0; case DSiSD_ReadOnly: return Config::DSiSDReadOnly != 0; case DSiSD_FolderSync: return Config::DSiSDFolderSync != 0; + + case Firm_RandomizeMAC: return Config::RandomizeMAC != 0; + case Firm_OverrideSettings: return Config::FirmwareOverrideSettings != 0; } return false; @@ -183,6 +191,9 @@ std::string GetConfigString(ConfigEntry entry) case DSiSD_ImagePath: return Config::DSiSDPath; case DSiSD_FolderPath: return Config::DSiSDFolderPath; + + case Firm_Username: return Config::FirmwareUsername; + case Firm_Message: return Config::FirmwareMessage; } return ""; diff --git a/src/frontend/qt_sdl/PlatformConfig.cpp b/src/frontend/qt_sdl/PlatformConfig.cpp index 70fc852..48d810d 100644 --- a/src/frontend/qt_sdl/PlatformConfig.cpp +++ b/src/frontend/qt_sdl/PlatformConfig.cpp @@ -96,6 +96,15 @@ int DSiSDReadOnly; int DSiSDFolderSync; char DSiSDFolderPath[1024]; +int RandomizeMAC; +bool FirmwareOverrideSettings; +char FirmwareUsername[64]; +int FirmwareLanguage; +int FirmwareBirthdayMonth; +int FirmwareBirthdayDay; +int FirmwareFavouriteColour; +char FirmwareMessage[1024]; + int SocketBindAnyAddr; char LANDevice[128]; int DirectLAN; @@ -242,6 +251,15 @@ ConfigEntry PlatformConfigFile[] = {"DSiSDFolderSync", 0, &DSiSDFolderSync, 0, NULL, 0}, {"DSiSDFolderPath", 1, DSiSDFolderPath, 0, "", 1023}, + {"RandomizeMAC", 0, &RandomizeMAC, 0, NULL, 0}, + {"FirmwareOverrideSettings", 0, &FirmwareOverrideSettings, false, NULL, 0}, + {"FirmwareUsername", 1, FirmwareUsername, 0, "melonDS", 63}, + {"FirmwareLanguage", 0, &FirmwareLanguage, 1, NULL, 0}, + {"FirmwareBirthdayMonth", 0, &FirmwareBirthdayMonth, 0, NULL, 0}, + {"FirmwareBirthdayDay", 0, &FirmwareBirthdayDay, 0, NULL, 0}, + {"FirmwareFavouriteColour", 0, &FirmwareFavouriteColour, 0, NULL, 0}, + {"FirmwareMessage", 1, FirmwareMessage, 0, "", 1023}, + {"SockBindAnyAddr", 0, &SocketBindAnyAddr, 0, NULL, 0}, {"LANDevice", 1, LANDevice, 0, "", 127}, {"DirectLAN", 0, &DirectLAN, 0, NULL, 0}, diff --git a/src/frontend/qt_sdl/PlatformConfig.h b/src/frontend/qt_sdl/PlatformConfig.h index 0a224e9..514a2da 100644 --- a/src/frontend/qt_sdl/PlatformConfig.h +++ b/src/frontend/qt_sdl/PlatformConfig.h @@ -112,6 +112,15 @@ extern int DSiSDReadOnly; extern int DSiSDFolderSync; extern char DSiSDFolderPath[1024]; +extern int RandomizeMAC; +extern bool FirmwareOverrideSettings; +extern char FirmwareUsername[64]; +extern int FirmwareLanguage; +extern int FirmwareBirthdayMonth; +extern int FirmwareBirthdayDay; +extern int FirmwareFavouriteColour; +extern char FirmwareMessage[1024]; + extern int SocketBindAnyAddr; extern char LANDevice[128]; extern int DirectLAN; |