mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-31 00:45:24 -04:00
177 lines
6.8 KiB
C++
177 lines
6.8 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},
|
|
.skipWarningScreen {"game.skipWarningScreen", false},
|
|
.biggerWallets {"game.biggerWallets", false},
|
|
.noReturnRupees {"game.noReturnRupees", false},
|
|
.disableRupeeCutscenes {"game.disableRupeeCutscenes", false},
|
|
.noSwordRecoil {"game.noSwordRecoil", false},
|
|
.damageMultiplier {"game.damageMultiplier", 1},
|
|
.noHeartDrops{"game.noHeartDrops", false},
|
|
.instantDeath {"game.instantDeath", false},
|
|
.fastClimbing {"game.fastClimbing", false},
|
|
.noMissClimbing {"game.noMissClimbing", false},
|
|
.fastTears {"game.fastTears", false},
|
|
.instantSaves {"game.instantSaves", false},
|
|
.sunsSong {"game.sunsSong", false},
|
|
|
|
// Preferences
|
|
.enableMirrorMode {"game.enableMirrorMode", false},
|
|
.invertCameraXAxis {"game.invertCameraXAxis", false},
|
|
|
|
// Graphics
|
|
.bloomMode {"game.bloomMode", BloomMode::Classic},
|
|
.bloomMultiplier {"game.bloomMultiplier", 1.0f},
|
|
.enableWaterRefraction {"game.enableWaterRefraction", true},
|
|
.enableFrameInterpolation = {"game.enableFrameInterpolation", false},
|
|
.shadowResolutionMultiplier {"game.shadowResolutionMultiplier", 1},
|
|
|
|
// Audio
|
|
.noLowHpSound {"game.noLowHpSound", false},
|
|
.midnasLamentNonStop {"game.midnasLamentNonStop", false},
|
|
|
|
// Input
|
|
.enableGyroAim {"game.enableGyroAim", false},
|
|
.gyroAimSensitivityX {"game.gyroAimSensitivityX", 1.0f},
|
|
.gyroAimSensitivityY {"game.gyroAimSensitivityY", 1.0f},
|
|
.gyroAimInvertPitch {"game.gyroAimInvertPitch", false},
|
|
.gyroAimInvertYaw {"game.gyroAimInvertYaw", 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", false},
|
|
|
|
// Tools
|
|
.speedrunTimer {"game.speedrunTimer", false},
|
|
.speedrunTimerOverlay {"game.speedrunTimerOverlay", false},
|
|
.liveSplitEnabled {"game.liveSplitEnabled", false}
|
|
},
|
|
|
|
.backend = {
|
|
.isoPath {"backend.isoPath", ""},
|
|
.graphicsBackend {"backend.graphicsBackend", "auto"},
|
|
.skipPreLaunchUI {"backend.skipPreLaunchUI", false},
|
|
.showPipelineCompilation {"backend.showPipelineCompilation", false},
|
|
.wasPresetChosen {"backend.wasPresetChosen", false},
|
|
.enableCrashReporting {"backend.enableCrashReporting", true}
|
|
}
|
|
};
|
|
|
|
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.skipWarningScreen);
|
|
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.noHeartDrops);
|
|
Register(g_userSettings.game.instantDeath);
|
|
Register(g_userSettings.game.fastClimbing);
|
|
Register(g_userSettings.game.fastTears);
|
|
Register(g_userSettings.game.instantSaves);
|
|
Register(g_userSettings.game.sunsSong);
|
|
Register(g_userSettings.game.enableMirrorMode);
|
|
Register(g_userSettings.game.invertCameraXAxis);
|
|
Register(g_userSettings.game.bloomMode);
|
|
Register(g_userSettings.game.bloomMultiplier);
|
|
Register(g_userSettings.game.enableWaterRefraction);
|
|
Register(g_userSettings.game.shadowResolutionMultiplier);
|
|
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.speedrunTimer);
|
|
Register(g_userSettings.game.speedrunTimerOverlay);
|
|
Register(g_userSettings.game.liveSplitEnabled);
|
|
Register(g_userSettings.game.fastSpinner);
|
|
Register(g_userSettings.game.enableFrameInterpolation);
|
|
Register(g_userSettings.game.enableGyroAim);
|
|
Register(g_userSettings.game.gyroAimSensitivityX);
|
|
Register(g_userSettings.game.gyroAimSensitivityY);
|
|
Register(g_userSettings.game.gyroAimInvertPitch);
|
|
Register(g_userSettings.game.gyroAimInvertYaw);
|
|
|
|
Register(g_userSettings.backend.isoPath);
|
|
Register(g_userSettings.backend.graphicsBackend);
|
|
Register(g_userSettings.backend.skipPreLaunchUI);
|
|
Register(g_userSettings.backend.showPipelineCompilation);
|
|
Register(g_userSettings.backend.wasPresetChosen);
|
|
Register(g_userSettings.backend.enableCrashReporting);
|
|
}
|
|
|
|
// 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;
|
|
}
|
|
|
|
}
|