You are viewing a potentially older version of this package. View all versions.
shudnal-Compass-1.1.0 icon

Compass

Yet another Compass. Performant and configurable. See players, pings and shouts at any distance. Pins with text. Compatible with aedenthorn's png files.

Date uploaded 4 days ago
Version 1.1.0
Download link shudnal-Compass-1.1.0.zip
Downloads 425
Dependency string shudnal-Compass-1.1.0

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2333 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2333
shudnal-ConditionalConfigSync-1.0.2 icon
shudnal-ConditionalConfigSync

Shared config synchronization and server policy library for Valheim mods. Installed as a dependency and compatible with Jotunn and ServerSync.

Preferred version: 1.0.2

README

Compass

Yet another Compass mod showing map pins in the middle top part of your screen.

Features

  • you can use files from aedenthorn's Compass compatible mods
  • configurable conditions based on distance to change pin scale and alpha
  • an option to hide checked pins
  • an option to hide shared pins
  • name filter using wildcards with * and ? support
  • red cross on checked pins
  • configurable pin type flags
  • every change of config or files update compass on the fly
  • an option to hold key to see shouts, player pins and pings at any distance
  • an option to hold key to see pin text (or see it at all time with other config)
  • anchor position option to place compass relative to top or bottom side of the screen
  • detailed mode with a separate customizable image set
  • optional per-image server synchronization through Conditional Config Sync

Pin style conditions config

Pin style conditions define how pin should look like depending on distance.

While distance to pin increases at first it will be smaller and smaller and then after reaching certain threshold it will be more and more transparent.

Config value for this condition consists of 4 variables in form of Vector4.

It allows you to define how scale and alpha of pin will be set with different distances.

Default value is (1, 20, 250, 550).

  • X - Minimum distance to show pins.
  • Y - Distance where pins will start to become smaller. Size is at maximum. Alpha is at maximum.
  • Z - Distance where pins will start to become more transparent. Size is at minimum. Alpha is at maximum.
  • W - Maximum distance to show pins. Size is at minimum. Alpha is at minimum.

It means if pin is between 1(X) and 20(Y) distance it will have maximum configurable size and alpha (transparency). If pin is between 20(Y) and 250(Z) distance its size will be gradually lowered with distance and its alpha will be maximum. If pin is between 250(Z) and 550(W) distance its size will be at the configured minimum scale and its alpha will decrease with distance. If pin is at 550(W) distance, both its size and alpha will be at their configured minimum values.

So basically first and last variables is pin visility filter.

Custom files

On the launch mod will create ...\BepInEx\config\shudnal.Compass folder.

Original files will be put at config directory after first launch of the game.

On every launch, missing bundled normal or detailed image files are restored to this directory.

File names to load from config directory:

  • compass.png
  • compass_bottom.png (used when Anchor position = Bottom)
  • center.png
  • center_bottom.png (used when Anchor position = Bottom)
  • mask.png
  • compass_detailed.png
  • compass_detailed_bottom.png
  • center_detailed.png
  • center_detailed_bottom.png
  • mask_detailed.png
  • overlay.png
  • underlay.png

Both image sets are loaded at startup. Changes to any listed PNG are applied on the fly, and switching Detailed mode immediately selects the corresponding compass, center, and mask images.

Server image synchronization

The Server image sync config section contains a separate server-controlled toggle for every listed PNG. All toggles are disabled by default.

When a toggle is enabled, the server reads that PNG from its own BepInEx/config/shudnal.Compass directory and sends it to compatible clients through Conditional Config Sync. The synchronized image temporarily overrides the client's local file while connected to that server.

Changes to an enabled PNG on the server are validated and sent again automatically. If an enabled optional file such as overlay.png or underlay.png is absent on the server, it is also hidden on clients. Disabling the toggle or leaving the server restores each client's local file.

Installation (manual)

Install Conditional Config Sync, then extract Compass.dll into your BepInEx\Plugins\ folder.

Configurating

The best way to handle configs is Configuration Manager.

Or Official BepInEx Configuration Manager.

Donation

Buy Me a Coffee

Discord

Join server

CHANGELOG

1.1.0

  • new feature: detailed mode with separate compass, center, and mask images. Thanks to BETLOG for providing images.
  • fixed default pin text placement in bottom anchor mode
  • added configurable pin icon and pin text offsets
  • migrated configuration registration to Conditional Config Sync with per-setting ownership defaults and server policy support
  • fixed wide custom center images being cropped when no pin text is visible
  • added optional per-image server synchronization for all compass PNG files through Conditional Config Sync
  • added optional distance-aware pin text scaling
  • fixed ignored pin names not being initialized at startup; exact and wildcard filters are now case-insensitive and wildcard patterns are cached
  • fixed overlay images being rendered behind the compass
  • improved custom image hot reload handling for partial writes, atomic renames, and invalid PNG data

1.0.6

  • added compass anchor position config option (top/bottom) with offset relative to selected anchor
  • added compass_bottom.png and center_bottom.png files for bottom anchor mode
  • pin text now flips above pin icon when using bottom anchor mode

1.0.5

fixed incorrect default pin text style

1.0.4

  • configurable pin text style

1.0.3

  • patch 0.220.3
  • default texture wrap mode changed to clamp to avoid occasional last line pixel mirroring
  • compass scale now respects GUI scaling from game settings

1.0.2

  • fixed last death pin wasn't showing
  • default maximum distance increased to 550
  • new config option to hold key to see shouts at any distance
  • new config option to hold key to see other players at any distance
  • new config option to hold key to see pings at any distance
  • new config option to hold key to see pin text
  • shouts, players and pings always show its text if any distance key is hold

1.0.1

  • Fixed possible error after world relaunch

1.0.0

  • Initial Release