mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-31 00:45:24 -04:00
300ed931e3
UI will automatically open on boot and will not launch the game if there is no valid iso path specified in the config. Can optionally be disabled on future game launches.
137 lines
4.7 KiB
C++
137 lines
4.7 KiB
C++
#include "dusk/settings.h"
|
|
#include "dusk/config.hpp"
|
|
|
|
namespace dusk {
|
|
|
|
UserSettings g_userSettings = {
|
|
.video = {
|
|
.enableFullscreen {"video.enableFullscreen", false},
|
|
.enableVsync {"video.enableVsync", true},
|
|
.lockAspectRatio {"video.lockAspectRatio", false},
|
|
},
|
|
|
|
.audio = {
|
|
.masterVolume {"audio.masterVolume", 80},
|
|
.mainMusicVolume {"audio.mainMusicVolume", 100},
|
|
.subMusicVolume {"audio.subMusicVolume", 100},
|
|
.soundEffectsVolume {"audio.soundEffectsVolume", 100},
|
|
.fanfareVolume {"audio.fanfareVolume", 100},
|
|
.enableReverb {"audio.enableReverb", true},
|
|
},
|
|
|
|
.game = {
|
|
// Quality of Life
|
|
.enableQuickTransform {"game.enableQuickTransform", false},
|
|
.hideTvSettingsScreen {"game.hideTvSettingsScreen", false},
|
|
.biggerWallets {"game.biggerWallets", false},
|
|
.noReturnRupees {"game.noReturnRupees", false},
|
|
.disableRupeeCutscenes {"game.disableRupeeCutscenes", false},
|
|
.noSwordRecoil {"game.noSwordRecoil", false},
|
|
.damageMultiplier {"game.damageMultiplier", 1},
|
|
.instantDeath {"game.instantDeath", false},
|
|
.fastClimbing {"game.fastClimbing", false},
|
|
.noMissClimbing {"game.noMissClimbing", false},
|
|
.fastTears {"game.fastTears", false},
|
|
.instantSaves {"game.instantSaves", false},
|
|
|
|
// Preferences
|
|
.enableMirrorMode {"game.enableMirrorMode", false},
|
|
.invertCameraXAxis {"game.invertCameraXAxis", false},
|
|
|
|
// Graphics
|
|
.enableBloom {"game.enableBloom", true},
|
|
.useWaterProjectionOffset {"game.useWaterProjectionOffset", false},
|
|
|
|
// Audio
|
|
.noLowHpSound {"game.noLowHpSound", false},
|
|
.midnasLamentNonStop {"game.midnasLamentNonStop", false},
|
|
|
|
// Cheats
|
|
.enableFastIronBoots {"game.enableFastIronBoots", false},
|
|
.canTransformAnywhere {"game.canTransformAnywhere", false},
|
|
.fastSpinner {"game.fastSpinner", false},
|
|
.freeMagicArmor {"game.freeMagicArmor", false},
|
|
|
|
// Technical
|
|
.restoreWiiGlitches {"game.restoreWiiGlitches", false},
|
|
|
|
// Controls
|
|
.enableTurboKeybind {"game.enableTurboKeybind", true},
|
|
},
|
|
|
|
.backend = {
|
|
.isoPath {"backend.isoPath", ""},
|
|
.skipPreLaunchUI {"backend.skipPreLaunchUI", false}
|
|
}
|
|
};
|
|
|
|
UserSettings& getSettings() {
|
|
return g_userSettings;
|
|
}
|
|
|
|
void registerSettings() {
|
|
// Video
|
|
Register(g_userSettings.video.enableFullscreen);
|
|
Register(g_userSettings.video.enableVsync);
|
|
Register(g_userSettings.video.lockAspectRatio);
|
|
|
|
// Audio
|
|
Register(g_userSettings.audio.masterVolume);
|
|
Register(g_userSettings.audio.mainMusicVolume);
|
|
Register(g_userSettings.audio.subMusicVolume);
|
|
Register(g_userSettings.audio.soundEffectsVolume);
|
|
Register(g_userSettings.audio.fanfareVolume);
|
|
Register(g_userSettings.audio.enableReverb);
|
|
|
|
// Game
|
|
Register(g_userSettings.game.enableQuickTransform);
|
|
Register(g_userSettings.game.hideTvSettingsScreen);
|
|
Register(g_userSettings.game.biggerWallets);
|
|
Register(g_userSettings.game.noReturnRupees);
|
|
Register(g_userSettings.game.disableRupeeCutscenes);
|
|
Register(g_userSettings.game.noSwordRecoil);
|
|
Register(g_userSettings.game.damageMultiplier);
|
|
Register(g_userSettings.game.instantDeath);
|
|
Register(g_userSettings.game.fastClimbing);
|
|
Register(g_userSettings.game.fastTears);
|
|
Register(g_userSettings.game.instantSaves);
|
|
Register(g_userSettings.game.enableMirrorMode);
|
|
Register(g_userSettings.game.invertCameraXAxis);
|
|
Register(g_userSettings.game.enableBloom);
|
|
Register(g_userSettings.game.useWaterProjectionOffset);
|
|
Register(g_userSettings.game.enableFastIronBoots);
|
|
Register(g_userSettings.game.canTransformAnywhere);
|
|
Register(g_userSettings.game.freeMagicArmor);
|
|
Register(g_userSettings.game.restoreWiiGlitches);
|
|
Register(g_userSettings.game.noMissClimbing);
|
|
Register(g_userSettings.game.noLowHpSound);
|
|
Register(g_userSettings.game.midnasLamentNonStop);
|
|
Register(g_userSettings.game.enableTurboKeybind);
|
|
Register(g_userSettings.game.fastSpinner);
|
|
|
|
Register(g_userSettings.backend.isoPath);
|
|
Register(g_userSettings.backend.skipPreLaunchUI);
|
|
}
|
|
|
|
// Transient settings
|
|
|
|
static TransientSettings g_transientSettings = {
|
|
.collisionView = {
|
|
.enableTerrainView = false,
|
|
.enableWireframe = false,
|
|
.enableAtView = false,
|
|
.enableTgView = false,
|
|
.enableCoView = false,
|
|
.terrainViewOpacity = 50.0f,
|
|
.colliderViewOpacity = 50.0f,
|
|
.drawRange = 100.0f,
|
|
},
|
|
.skipFrameRateLimit = false,
|
|
};
|
|
|
|
TransientSettings& getTransientSettings() {
|
|
return g_transientSettings;
|
|
}
|
|
|
|
}
|