#pragma once #include "CoreMinimal.h" /** Constants of the simulation step (Core/DescentSimSubsystem.h, DESIGN_UE.md section 1.4). */ namespace Descent::Tune::Sim { /** The largest dt a single Step() integrates, seconds. Longer frames are simulated slower, not faster (section 1.4). */ constexpr double MaxStepDt = 0.05; /** The largest dt LateStep() passes on, seconds. Late steps only smooth cosmetics, so the clamp is looser. */ constexpr double MaxLateDt = 0.25; /** FastForward's default step, seconds: the 30 FPS of the fixed-time-step scenario runs (section 9.2). */ constexpr double DefaultFastForwardDt = 1.0 / 30.0; /** FastForward refuses to run more steps than this in one call (a typo like 1e9 seconds must not hang the game). */ constexpr int64 MaxFastForwardSteps = 5'000'000; /** A debug intent override with at most this much sim time left counts as expired (floating-point slack). */ constexpr double OverrideEpsilonSec = 1e-9; }