You are viewing a potentially older version of this package. View all versions.
TactiKot-FogDistance-1.5.4 icon

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.

Date uploaded 2 weeks ago
Version 1.5.4
Download link TactiKot-FogDistance-1.5.4.zip
Downloads 200
Dependency string TactiKot-FogDistance-1.5.4

This mod requires the following mods to function

BepInEx-BepInExPack_PEAK-5.4.75301 icon
BepInEx-BepInExPack_PEAK

BepInEx pack for PEAK. Preconfigured and ready to use.

Preferred version: 5.4.75301

README

Fog Distance

Fog Distance adds a compact HUD to PEAK with distance to fog, lava, Gloom, or lost souls, start countdowns, estimated time to contact, and a campfire timer.

Only you need to install it. Your host and teammates can play without the mod. Supports English and Russian; press F8 to show or hide the HUD.

Example readout:

FOG: 38.4 m
ETA: 01:27
FIRE: 03:12

Features

  • Track the current hazard. The HUD switches between fog, lava, Gloom, and lost souls automatically.
  • See when to move. Start countdowns and contact estimates show how much time you have. Nearby danger adds a warning; once inside it, the HUD shows distance back to safety.
  • Keep an eye on the campfire. See its remaining burn time, paused state, and a brief notice when it goes out.
  • Follow teammates while spectating. Distances and contact estimates use the player you are watching.
  • Make the HUD fit your screen. Choose from nine positions and adjust size, offsets, colors, outline, warning thresholds, and which rows appear. Text has no background panel.
  • Choose metres or feet. Distances use PEAK's scale, with either unit available.

Installation

Install with a Thunderstore-compatible mod manager. It also installs the required BepInEx pack.

For a manual installation:

  1. Install BepInEx 5 for PEAK.
  2. Close PEAK and copy PeakFogDistance.dll to PEAK/BepInEx/plugins/PeakFogDistance/PeakFogDistance.dll.
  3. Launch the game once to create the configuration file.

Settings

Edit BepInEx/config/com.bronekot.peak.fogdistance.cfg to customize the HUD. It starts in the top-left corner and warns at 10 PEAK metres or a contact estimate of 20 seconds. Distance thresholds stay metre-based when displaying feet.

The HUD hides in pause menus and behind input-blocking windows by default; both behaviors are configurable. Language = Auto selects Russian when your system language is Russian, and English otherwise.

Reading the HUD

ETA estimates when the hazard will reach your current position. It updates as you move and does not predict your route. The fire timer is shown independently of hazard information.

HUD text Meaning
WAITING FOR TEAM Fog is waiting for the team to progress.
WAITING TO START Waiting for the hazard to start; no countdown is available yet.
START: mm:ss Time until the hazard starts moving.
START: mm:ss · PAUSED The game has paused the start countdown.
ETA: mm:ss Estimated time until contact at your current position.
NO CONTACT The current movement ends before reaching your position.
PROTECTED A lit campfire or candle protects you from Gloom.
RECEDING The hazard is moving away.
STOPPED The hazard has stopped moving.
ETA: UNKNOWN or --:-- A reliable timer is unavailable.

A ! marks a warning. Inside a hazard, the distance and timing rows change to:

FOG: DANGER
TO SAFETY: 2.4 m

The fire row shows its remaining burn time, PAUSED, or OUT after burnout.

Gloom's countdown follows the game's pause conditions, including team rest. Lava and lost-soul countdowns continue once triggered. PROTECTED describes your current protection; it does not estimate when a candle or campfire will stop protecting you. NO CONTACT applies to the current movement, so moving elsewhere or starting a new hazard phase can change it.

Updating and removing

To update manually, close PEAK and replace the DLL. Keep only one copy under BepInEx/plugins; your configuration is retained.

To uninstall, close PEAK and delete the DLL or its PeakFogDistance plugin folder. You can also delete BepInEx/config/com.bronekot.peak.fogdistance.cfg to remove saved settings.

Troubleshooting

  • No HUD: check that BepInEx and the mod loaded, set Enabled = true, press F8, and test during island gameplay. Rows appear when there is relevant hazard or fire information.
  • Hidden behind a menu: check the two settings in 3 - Visibility.
  • Missing configuration: launch the game once, then check BepInEx/config.
  • Duplicate HUD: remove extra copies of PeakFogDistance.dll from BepInEx/plugins.
  • Unknown readings: check the BepInEx log for compatibility messages. Some game states do not provide a reliable timer or distance.

What's new in 1.5.4

  • Gloom's start timer now pauses correctly on non-host clients.
  • Gloom readings account for head position and protection from lit campfires and candles.
  • NO CONTACT replaces misleading contact estimates beyond a hazard's endpoint.
  • Reduced repeated text and HUD updates.

Build, automated tests, and package validation pass for 1.5.4. In-game validation of this version is still pending.

CHANGELOG

Changelog

1.5.5

  • Show FIRE: OUT only 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 PROTECTED while 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 CONTACT instead.
  • 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.timeToMove discovery 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 LavaRising controller for the current segment, use PEAK's serialized damage bounds when available, and avoid stale fog-controller fallbacks.
  • Preserve FIRE: OUT across campfire reference changes and measure its visibility window in unscaled seconds.
  • Render non-finite distance values as UNKNOWN instead of leaking NaN or infinity into the HUD.
  • Ignore a cached LavaRising controller when its serialized requiredSegment belongs 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 SOULS with a stopped state when they belong to the current segment.
  • Respect PEAK's FogSphereOrigin.disableFog flag 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 VoidGhosts field using the same distance and ETA calculation.
  • Add English/Russian hazard labels: GLOOM / МГЛА and LOST 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.unitsToMeters so displayed PEAK metres are correct; add an optional feet display.
  • Add English/Russian localization with automatic system-language selection.
  • Add a session-only F8 visibility 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_DIR builds, 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 LavaRising dormant.
  • 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: OUT for 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: WAITING until the game actually begins its countdown.

1.3.2

  • Show the HUD on the first segment before the fog visual is enabled.
  • Display START: WAITING while 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.