(Feat) Add Main Menu + Music Manger

This commit is contained in:
2026-07-29 20:18:51 +02:00
parent 956f48816b
commit 9b5ad7c8a4
55 changed files with 3727 additions and 125 deletions
@@ -18,17 +18,52 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnSurvivalSettingsApplied);
*/
namespace SurvivalSettingsRange
{
// Deux granularites par reglage :
// Step = le pas FIN, celui du glissement au curseur. C'est aussi
// celui sur lequel les setters arrondissent : le stocker plus
// grossier annulerait le reglage fin juste apres.
// ArrowStep = le bond des fleches, pour traverser la plage vite.
constexpr float SensitivityMin = 5.f;
constexpr float SensitivityMax = 100.f;
constexpr float SensitivityStep = 5.f;
constexpr float SensitivityStep = 1.f;
constexpr float SensitivityArrowStep = 5.f;
constexpr float FieldOfViewMin = 70.f;
constexpr float FieldOfViewMax = 120.f;
constexpr float FieldOfViewStep = 5.f;
constexpr float FieldOfViewStep = 1.f;
constexpr float FieldOfViewArrowStep = 5.f;
constexpr float CameraShakeMin = 0.f;
constexpr float CameraShakeMax = 100.f;
constexpr float CameraShakeStep = 10.f;
constexpr float CameraShakeStep = 1.f;
constexpr float CameraShakeArrowStep = 10.f;
/**
* Luminosite en POURCENTAGE et non en gamma.
*
* Le gamma utile va de 0.8 a 1.4 ; affiche tel quel il tiendrait dans un
* intervalle de 0.6 que la ligne, qui n'affiche que des entiers, arrondirait
* a "1" partout. On stocke donc 80 a 140 et on divise a l'application.
*/
constexpr float BrightnessMin = 80.f;
constexpr float BrightnessMax = 140.f;
constexpr float BrightnessStep = 1.f;
constexpr float BrightnessArrowStep = 10.f;
/**
* Gamma d'affichage a 100 % de luminosite.
*
* C'est la valeur du moteur (BaseEngine.ini), PAS un neutre a 1.0 :
* GEngine->DisplayGamma est un exposant, pas un multiplicateur. Y ecrire 1.0
* assombrit tout l'ecran -- et comme GEngine est global, l'editeur avec.
*/
constexpr float BaseDisplayGamma = 2.2f;
/** Echelle de resolution, en pourcentage de la resolution native. */
constexpr float ResolutionScaleMin = 50.f;
constexpr float ResolutionScaleMax = 100.f;
constexpr float ResolutionScaleStep = 1.f;
constexpr float ResolutionScaleArrowStep = 10.f;
/**
* Multiplicateurs reels correspondant aux extremites de l'echelle affichee.
@@ -169,6 +204,17 @@ public:
UFUNCTION(BlueprintCallable, Category = "Reglages|Controles")
void SetCrouchToggle(bool bValue);
UFUNCTION(BlueprintPure, Category = "Reglages|Affichage")
float GetBrightness() const { return Brightness; }
/** Ne fait qu'enregistrer : c'est ApplySurvivalSettings qui pousse le gamma. */
UFUNCTION(BlueprintCallable, Category = "Reglages|Affichage")
void SetBrightness(float Value);
/** Remet a l'usine les seuls reglages de l'onglet Affichage qui nous appartiennent. */
UFUNCTION(BlueprintCallable, Category = "Reglages|Affichage")
void SetSurvivalDisplayToDefaults();
private:
/** Echelle lisible (5 a 100), convertie a la lecture. Jamais brute. */
UPROPERTY(config)
@@ -195,4 +241,8 @@ private:
UPROPERTY(config)
bool bCrouchToggle;
/** Pourcentage, converti en gamma a l'application. */
UPROPERTY(config)
float Brightness;
};