#pragma once #include "../../DNACommon/Tweaks/ITweakGame.hpp" namespace DataSpec::DNAMP1 { struct CTweakGame final : ITweakGame { AT_DECL_DNA_YAML String<-1> x4_worldPrefix; String<-1> x14_ruinsArea; // ???? Value x24_fov; Value x28_unknown1; Value x29_unknown2; Value x2a_unknown3; Value x2b_splashScreensDisabled; Value x2c_unknown5; Value x30_pressStartDelay; Value x34_wavecapIntensityNormal; Value x38_wavecapIntensityPoison; Value x3c_wavecapIntensityLava; Value x40_rippleIntensityNormal; Value x44_rippleIntentityPoison; Value x48_rippleIntensityLava; Value x4c_fluidEnvBumpScale; Value x50_waterFogDistanceBase; Value x54_waterFogDistanceRange; Value x58_gravityWaterFogDistanceBase; Value x5c_gravityWaterFogDistanceRange; Value x60_hardmodeDamageMult; Value x64_hardmodeWeaponMult; std::string_view GetWorldPrefix() const { return x4_worldPrefix; } bool GetSplashScreensDisabled() const { return x2b_splashScreensDisabled; } float GetFirstPersonFOV() const { return x24_fov; } float GetPressStartDelay() const { return x30_pressStartDelay; } float GetWavecapIntensityNormal() const { return x34_wavecapIntensityNormal; } float GetWavecapIntensityPoison() const { return x38_wavecapIntensityPoison; } float GetWavecapIntensityLava() const { return x3c_wavecapIntensityLava; } float GetRippleIntensityNormal() const { return x40_rippleIntensityNormal; } float GetRippleIntensityPoison() const { return x44_rippleIntentityPoison; } float GetRippleIntensityLava() const { return x48_rippleIntensityLava; } float GetFluidEnvBumpScale() const { return x4c_fluidEnvBumpScale; } float GetWaterFogDistanceBase() const { return x50_waterFogDistanceBase; } float GetWaterFogDistanceRange() const { return x54_waterFogDistanceRange; } float GetGravityWaterFogDistanceBase() const { return x58_gravityWaterFogDistanceBase; } float GetGravityWaterFogDistanceRange() const { return x5c_gravityWaterFogDistanceRange; } float GetHardModeDamageMultiplier() const { return x60_hardmodeDamageMult; } float GetHardModeWeaponMultiplier() const { return x64_hardmodeWeaponMult; } CTweakGame() = default; CTweakGame(athena::io::IStreamReader& in) { this->read(in); #ifdef NDEBUG x2b_splashScreensDisabled = false; #endif } void initCVars(hecl::CVarManager* mgr); }; } // namespace DataSpec::DNAMP1