FogDistance
See your distance to fog, lava, Gloom, and lost souls, with start countdowns, estimated time to contact, and a campfire timer. Customizable HUD with English/Russian support. Only you need to install it.
By TactiKot
CHANGELOG
Changelog
1.5.5
- Show
FIRE: OUTonly when a lit campfire actually goes out, not when its segment is disabled or unloaded. - Use the character's head and actual status-field bounds for lost souls, including distance to the nearest field edge and the lower boundary.
- Write standard ZIP entry paths and validate them before packaging.
- Add regression checks for campfire burnout and unexpected NaN results in the test assertions.
1.5.4
- Match Gloom's head-position hit test, status-field bounds, and protection from lit campfires/candles; show
PROTECTEDwhile sheltered. - Pause Gloom's client countdown when PEAK's readiness predicate pauses the host timer, while keeping ordinary lava and lost-soul countdowns running once triggered.
- Suppress contact ETA beyond the endpoint of rising fields and shrinking spherical fog; show
NO CONTACTinstead. - Extract geometry, endpoint, and countdown calculations for regression tests.
- Cache text by displayed distances/seconds while preserving immediate alert and configuration changes.
- Back off missing-renderer and damage-component searches; update TMP effects only on material/outline changes and refresh glyph padding afterward.
1.5.3
- Fix legacy
MovingLava.timeToMovediscovery in current PEAK builds, where the field is public. - Do not fabricate a rising-field countdown for event-driven controllers, and do not label an active rising countdown as paused just because players are resting.
- Select the
LavaRisingcontroller for the current segment, use PEAK's serialized damage bounds when available, and avoid stale fog-controller fallbacks. - Preserve
FIRE: OUTacross campfire reference changes and measure its visibility window in unscaled seconds. - Render non-finite distance values as
UNKNOWNinstead of leakingNaNor infinity into the HUD. - Ignore a cached
LavaRisingcontroller when its serializedrequiredSegmentbelongs to another biome variant. - Hide the stale distance and start countdown in the location immediately before Gloom, including on non-host clients.
- Keep finished Gloom and lost-soul fields visible as
GLOOM/LOST SOULSwith a stopped state when they belong to the current segment. - Respect PEAK's
FogSphereOrigin.disableFogflag so the final static origin cannot create a frozen fog ETA.
1.5.2
- Detect the modern rising-field mode so GLOOM is no longer mislabeled as lava.
- Add lost-soul tracking for PEAK's
VoidGhostsfield using the same distance and ETA calculation. - Add English/Russian hazard labels:
GLOOM/МГЛАandLOST SOULS/ПОТЕРЯННЫЕ ДУШИ. - Use the moving fog-plane footprint for Gloom and lost-soul fields when the lava renderer is absent.
1.5.1
- Remove the black HUD panel so the overlay consists only of text.
- Preserve readability with the existing configurable outline and a subtle TextMeshPro underlay shadow when PEAK's font material supports it.
- Remove panel padding so configured offsets measure directly to the visible text.
- Keep pause labels after the timer on every timed row, including the campfire row.
1.5.0
- Replace the legacy IMGUI overlay with a responsive TextMeshPro panel on PEAK's HUD canvas.
- Reuse PEAK's font and material, respect the screen safe area, and add nine anchors, scale, font, background, outline, and color settings.
- Convert Unity world units with
CharacterStats.unitsToMetersso displayed PEAK metres are correct; add an optional feet display. - Add English/Russian localization with automatic system-language selection.
- Add a session-only
F8visibility toggle and grouped BepInEx configuration for content, visibility, layout, alerts, colors, and update rate. - Clarify timing without expanding the normal countdown: keep
START: mm:ss, and add explicit waiting, paused, stopped, and unavailable states. - Show distance back to safety while in danger and use PEAK's strict spherical-fog danger boundary.
- Match lava's X/Z damage footprint, stop legacy lava at PEAK's exact final height, and distinguish receding hazards from approaching ones.
- Smooth the modern lava start countdown for non-host clients between PEAK's sparse host synchronization packets.
- Keep hazard, timing, and campfire rows independent so fire status no longer inherits a hazard alert color; prefer the current segment's fire without position-based timer switching.
- Fix legacy flat-fog waiting and final-stop reporting, including non-owner states where no synchronized numeric countdown is available.
- Sample hazard values at a configurable rate, poll campfires at 5 Hz, cache TMP updates, back off missing-object searches, and reset cached state across scenes.
- Add validated Thunderstore packaging, portable
PEAK_GAME_DIRbuilds, and model tests for formatting, conversion, severity, hysteresis, and localization.
1.4.1
- Hide the distance and start line while a static/tidal lava stage keeps
LavaRisingdormant. - Reveal the lava HUD only after PEAK starts a real countdown or continuous rise.
- Allow the campfire line to display independently when no hazard HUD is relevant.
1.4.0
- Add a third-line countdown for the relevant lit campfire.
- Show
FIRE: OUTfor 10 seconds after the campfire is spent. - Follow PEAK's real campfire timer, including its rest pause.
- Replace the unused static lava start number with
START: WAITINGuntil the game actually begins its countdown.
1.3.2
- Show the HUD on the first segment before the fog visual is enabled.
- Display
START: WAITINGwhile initial fog waits for the team's progression trigger. - Keep danger styling disabled until PEAK activates the fog effect.
1.3.1
- Show the shortest distance to the current spherical fog boundary.
- Keep distance and ETA based on the same approaching boundary.
1.3.0
- Calculate distance and ETA for the currently spectated player.
- Add a second line with the hazard start countdown or arrival ETA.
- Read PEAK's synchronized fog and lava timing data when available.
- Support trigger-based legacy hazards that have no numeric start countdown.
1.2.1
- Restore support for PEAK's current shrinking-sphere fog implementation.
1.2.0
- Use PEAK's bundled Binggrae Bold interface font.
1.1.0
- Add rising-lava distance support for The Kiln and Peak.
- Move the HUD to the upper-left corner.
1.0.0
- Initial release with rising-fog distance display.