Add a standalone Profiler module (S3.profiler.json, disabled by default) that hosts the in-game frame-time overlay previously owned by Physics Optimizer. The overlay now adapts to whichever modules are enabled: - Always shows: render + physics frame-time graph, timing report. - Physics Optimizer section (if enabled): LOD fast-path and auto-freeze quick-toggles with live stats, debug car count line. - Mesh LOD section (if enabled): total tracked cars, loco/freight split, per-LOD-level counts refreshed once per second. PhysicsOptimizerModule retains only the Harmony patches and CarDebugVisualizer; ShowOverlay/OverlayOpacity removed from PhysicsSettings. MeshLodInjector gains GetLodStats() and GetLodLevel() for the overlay. BBox material shader search now tries URP/Lit before Standard. /rpf overlay toggle redirected to ProfilerOverlayGUI.Instance.
13 lines
281 B
C#
13 lines
281 B
C#
using System;
|
|
|
|
namespace S3.Modules.Profiler;
|
|
|
|
[Serializable]
|
|
public class ProfilerSettings
|
|
{
|
|
public bool enabled = false;
|
|
public bool visible = true;
|
|
public float opacity = 0.85f;
|
|
public bool showPhysicsSection = true;
|
|
public bool showMeshLodSection = true;
|
|
}
|