Merge remote-tracking branch 'origin/main' into 26-04-04-config

This commit is contained in:
PJB3005
2026-04-05 00:12:17 +02:00
50 changed files with 1094 additions and 364 deletions
+4
View File
@@ -48,6 +48,7 @@ public:
void FileSelectClose();
void brightCheckOpen();
void brightCheck();
void doPreLoadSetup();
void changeGameScene();
#if VERSION == VERSION_GCN_PAL
@@ -70,6 +71,9 @@ private:
/* 0x41E */ u8 mWaitTimer;
/* 0x41F */ u8 field_0x41f;
/* 0x420 */ u8 field_0x420;
#if TARGET_PC
bool mShowTvSettingsScreen;
#endif
};
#endif /* D_S_D_S_NAME_H */
+19
View File
@@ -0,0 +1,19 @@
#ifndef DUSK_HOTKEYS_H
#define DUSK_HOTKEYS_H
namespace dusk::hotkeys {
constexpr const char* DO_RESET = "Ctrl+R";
constexpr const char* TOGGLE_FULLSCREEN = "F11";
constexpr const char* SHOW_PROCESS_MANAGEMENT = "F2";
constexpr const char* SHOW_DEBUG_OVERLAY = "F3";
constexpr const char* SHOW_HEAP_VIEWER = "F4";
constexpr const char* SHOW_STUB_LOG = "F5";
constexpr const char* SHOW_CAMERA_DEBUG = "F6";
constexpr const char* SHOW_AUDIO_DEBUG = "F7";
}
#endif // DUSK_HOTKEYS_H
+78
View File
@@ -0,0 +1,78 @@
#ifndef DUSK_CONFIG_H
#define DUSK_CONFIG_H
#include "config_var.hpp"
namespace dusk::settings {
using namespace config;
// Persistent user settings
namespace video {
extern ConfigVar<bool> enableFullscreen;
}
namespace audio {
extern ConfigVar<float> masterVolume;
extern ConfigVar<float> mainMusicVolume;
extern ConfigVar<float> subMusicVolume;
extern ConfigVar<float> soundEffectsVolume;
extern ConfigVar<float> fanfareVolume;
}
namespace game {
// QoL
extern ConfigVar<bool> enableQuickTransform;
extern ConfigVar<bool> hideTvSettingsScreen;
extern ConfigVar<bool> biggerWallets;
extern ConfigVar<bool> noReturnRupees;
extern ConfigVar<bool> disableRupeeCutscenes;
extern ConfigVar<bool> noSwordRecoil;
extern ConfigVar<int> damageMultiplier;
extern ConfigVar<bool> instantDeath;
extern ConfigVar<bool> fastClimbing;
extern ConfigVar<bool> fastTears;
// Preferences
extern ConfigVar<bool> enableMirrorMode;
extern ConfigVar<bool> invertCameraXAxis;
// Graphics
extern ConfigVar<bool> enableBloom;
extern ConfigVar<bool> useWaterProjectionOffset;
// Cheats
extern ConfigVar<bool> enableFastIronBoots;
// Technical
extern ConfigVar<bool> restoreWiiGlitches;
}
void Register();
}
namespace dusk {
// Transient settings
struct CollisionViewSettings {
bool enableTerrainView;
bool enableWireframe;
bool enableAtView;
bool enableTgView;
bool enableCoView;
float terrainViewOpacity;
float colliderViewOpacity;
float drawRange;
};
struct TransientSettings {
CollisionViewSettings collisionView;
};
TransientSettings& getTransientSettings();
}
#endif // DUSK_CONFIG_H
-24
View File
@@ -1,24 +0,0 @@
#ifndef DUSK_SETTINGS_HPP
#define DUSK_SETTINGS_HPP
#include "config_var.hpp"
namespace dusk::settings {
using namespace dusk::config;
namespace enhancements {
extern ConfigVar<bool> FastIronBoots;
extern ConfigVar<bool> InvertCameraXAxis;
extern ConfigVar<bool> QuickTransform;
extern ConfigVar<bool> RestoreWiiGlitches;
extern ConfigVar<bool> EnableBloom;
extern ConfigVar<bool> UseWaterProjectionOffset;
extern ConfigVar<bool> MirrorMode;
void Register();
}
void Register();
}
#endif // DUSK_SETTINGS_HPP
+3 -5
View File
@@ -3,9 +3,7 @@
#include "JSystem/JUtility/JUTGamePad.h"
#include "SSystem/SComponent/c_API_controller_pad.h"
#include "dusk/settings.hpp"
#include "dusk/imgui/ImGuiMenuEnhancements.hpp"
#include "dusk/settings.h"
// Controller Ports 1 - 4
enum { PAD_1, PAD_2, PAD_3, PAD_4 };
@@ -58,7 +56,7 @@ public:
static s16 getStickAngle3D(u32 pad) {
#if TARGET_PC
if (dusk::settings::enhancements::MirrorMode.getValue()) {
if (dusk::settings::game::enableMirrorMode) {
return -getCpadInfo(pad).mMainStickAngle;
} else {
return getCpadInfo(pad).mMainStickAngle;
@@ -70,7 +68,7 @@ public:
static f32 getSubStickX3D(u32 pad) {
#if TARGET_PC
if (dusk::settings::enhancements::MirrorMode.getValue()) {
if (dusk::settings::game::enableMirrorMode) {
return -getCpadInfo(pad).mCStickPosX;
} else {
return getCpadInfo(pad).mCStickPosX;