mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-25 23:15:06 -04:00
fb9178cac9
* Disable waitForTick and waitBlanking * Initial frame interpolation implementation * Initial batch of speed fixes * Fix Iron Boots * Strip dead code once used for debugging * Interpolate shadows * Revert overzealous/redundant lookups * Fix JUTFader * Fix field map cursor * Fix various particle effects * Fix Midna when riding Wolf Link * Fix title logo * Title Logo 2: Electric Boogaloo * Fixed grass and flowers * "Unlock Framerate" config option (WIP) * Wrap more things in TARGET_PC * Finish wrapping things in TARGET_PC * Missed one * Disable dComIfGd_drawXluListInvisible when interpolating --------- Co-authored-by: Luke Street <luke@street.dev>
110 lines
2.5 KiB
C++
110 lines
2.5 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;
|
|
ConfigVar<bool> enableFrameInterpolation;
|
|
|
|
// 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<std::string> graphicsBackend;
|
|
ConfigVar<bool> skipPreLaunchUI;
|
|
ConfigVar<bool> showPipelineCompilation;
|
|
} 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
|