Suppress movement after teleport/portal, add shadow distance slider

- Add movementSuppressTimer to camera controller that forces all movement
  keys to read as false, preventing held W key from carrying through
  loading screens (fixes always-running-forward after instance portals)
- Increase shadow frustum default from 60 to 72 units (+20%)
- Make shadow distance configurable via setShadowDistance() (40-200 range)
- Add shadow distance slider in Video settings tab (persisted to config)
This commit is contained in:
Kelsi 2026-03-06 20:38:58 -08:00
parent e4d94e5d7c
commit e001aaa2b6
7 changed files with 47 additions and 14 deletions

View file

@ -97,6 +97,7 @@ public:
void setExternalMoving(bool moving) { externalMoving_ = moving; }
void setFacingYaw(float yaw) { facingYaw = yaw; } // For taxi/scripted movement
void clearMovementInputs();
void suppressMovementFor(float seconds) { movementSuppressTimer_ = seconds; }
// Trigger mount jump (applies vertical velocity for physics hop)
void triggerMountJump();
@ -211,6 +212,9 @@ private:
static constexpr float SWIM_SINK_SPEED = -3.0f;
static constexpr float WATER_SURFACE_OFFSET = 0.9f;
// Movement input suppression (after teleport/portal, ignore held keys)
float movementSuppressTimer_ = 0.0f;
// State
bool enabled = true;
bool sitting = false;