mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-12 05:28:43 -04:00
ed7fa8f2c5
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.
107 lines
2.4 KiB
C++
107 lines
2.4 KiB
C++
#ifndef DUSK_CONFIG_H
|
|
#define DUSK_CONFIG_H
|
|
|
|
#include "dusk/config_var.hpp"
|
|
|
|
namespace dusk {
|
|
|
|
using namespace config;
|
|
|
|
// Persistent user settings
|
|
|
|
struct UserSettings {
|
|
// Program settings
|
|
|
|
struct {
|
|
// Video
|
|
ConfigVar<bool> enableFullscreen;
|
|
ConfigVar<bool> enableVsync;
|
|
ConfigVar<bool> lockAspectRatio;
|
|
} video;
|
|
|
|
struct {
|
|
// Audio
|
|
ConfigVar<int> masterVolume;
|
|
ConfigVar<int> mainMusicVolume;
|
|
ConfigVar<int> subMusicVolume;
|
|
ConfigVar<int> soundEffectsVolume;
|
|
ConfigVar<int> fanfareVolume;
|
|
ConfigVar<bool> enableReverb;
|
|
} audio;
|
|
|
|
// Game settings
|
|
|
|
struct {
|
|
// QoL
|
|
ConfigVar<bool> enableQuickTransform;
|
|
ConfigVar<bool> hideTvSettingsScreen;
|
|
ConfigVar<bool> biggerWallets;
|
|
ConfigVar<bool> noReturnRupees;
|
|
ConfigVar<bool> disableRupeeCutscenes;
|
|
ConfigVar<bool> noSwordRecoil;
|
|
ConfigVar<int> damageMultiplier;
|
|
ConfigVar<bool> instantDeath;
|
|
ConfigVar<bool> fastClimbing;
|
|
ConfigVar<bool> noMissClimbing;
|
|
ConfigVar<bool> fastTears;
|
|
ConfigVar<bool> instantSaves;
|
|
|
|
// Preferences
|
|
ConfigVar<bool> enableMirrorMode;
|
|
ConfigVar<bool> invertCameraXAxis;
|
|
|
|
// Graphics
|
|
ConfigVar<bool> enableBloom;
|
|
ConfigVar<bool> useWaterProjectionOffset;
|
|
|
|
// Audio
|
|
ConfigVar<bool> noLowHpSound;
|
|
ConfigVar<bool> midnasLamentNonStop;
|
|
|
|
// Cheats
|
|
ConfigVar<bool> enableFastIronBoots;
|
|
ConfigVar<bool> canTransformAnywhere;
|
|
ConfigVar<bool> fastSpinner;
|
|
ConfigVar<bool> freeMagicArmor;
|
|
|
|
// Technical
|
|
ConfigVar<bool> restoreWiiGlitches;
|
|
|
|
// Controls
|
|
ConfigVar<bool> enableTurboKeybind;
|
|
} game;
|
|
|
|
struct {
|
|
ConfigVar<std::string> isoPath;
|
|
ConfigVar<bool> skipPreLaunchUI;
|
|
} backend;
|
|
};
|
|
|
|
UserSettings& getSettings();
|
|
|
|
void registerSettings();
|
|
|
|
// Transient settings
|
|
|
|
struct CollisionViewSettings {
|
|
bool enableTerrainView;
|
|
bool enableWireframe;
|
|
bool enableAtView;
|
|
bool enableTgView;
|
|
bool enableCoView;
|
|
float terrainViewOpacity;
|
|
float colliderViewOpacity;
|
|
float drawRange;
|
|
};
|
|
|
|
struct TransientSettings {
|
|
CollisionViewSettings collisionView;
|
|
bool skipFrameRateLimit;
|
|
};
|
|
|
|
TransientSettings& getTransientSettings();
|
|
|
|
}
|
|
|
|
#endif // DUSK_CONFIG_H
|