19 breaking releases
Uses new Rust 2024
| new 0.25.0 | Apr 8, 2026 |
|---|---|
| 0.23.0 | Mar 15, 2026 |
| 0.18.0 | Mar 5, 2026 |
#123 in Images
2MB
34K
SLoC
Minimap Renderer
Generates minimap timelapse videos from World of Warships replay files (.wowsreplay).
Quick Start
There are two ways to provide game data to the renderer:
- Direct game install (
--game) -- point at a WoWs installation directory - Pre-extracted data (
--extracted-dir) -- point at a lightweight dump of only the files the renderer needs
Option 2 is useful when you don't have the full game installed (e.g. CI, a server, or a friend's machine).
Usage
Rendering from a game installation
minimap_renderer \
--game "C:\Games\World_of_Warships" \
-o output.mp4 \
replay.wowsreplay
Rendering from pre-extracted data
minimap_renderer \
--extracted-dir /path/to/extracted_data \
-o output.mp4 \
replay.wowsreplay
The --extracted-dir can point to either:
- The version directory itself (e.g.
extracted/15.1.0_11965230/) - A parent directory containing version subdirectories -- the renderer will auto-detect and match the replay's build number
Creating Extracted Data with wows-data-mgr
The wows-data-mgr CLI manages game data downloads and can dump the subset of files the renderer needs.
Step 1: Register your game installation
If you have WoWs installed locally, register it so wows-data-mgr knows where to find game files:
# Register as "latest" -- always uses whatever build is currently installed
wows-data-mgr register --latest --path "C:\Games\World_of_Warships"
You can also register a specific version:
wows-data-mgr register --version 15.1 --path "C:\Games\World_of_Warships"
Verify it was registered:
wows-data-mgr list
Step 2: Dump renderer data
Extract only the files the renderer needs into a portable directory:
# Dump the latest available build
wows-data-mgr dump-renderer-data --latest -o ./extracted
# Or dump a specific version
wows-data-mgr dump-renderer-data --version 15.1 -o ./extracted
# Or dump by build number
wows-data-mgr dump-renderer-data --build 11965230 -o ./extracted
This creates a directory like ./extracted/15.1.0_11965230/ containing:
15.1.0_11965230/
metadata.toml # version + build info
game_params.rkyv # serialized game parameters
translations/en/LC_MESSAGES/
global.mo # ship name translations
vfs/ # extracted game files
spaces/*/minimap.png # map images (land layer)
spaces/*/minimap_water.png
spaces/*/space.settings # map metadata
content/gameplay/*/space.settings
content/GameParams.data
gui/fla/minimap/ # ship icons
gui/battle_hud/ # plane, death, capture icons
gui/consumables/ # consumable icons
gui/powerups/drops/ # powerup icons
gui/fonts/ # rendering fonts
gui/data/constants/ # game constants
scripts/entities.xml # entity definitions
scripts/entity_defs/ # entity def files
Only the files the renderer actually reads are extracted -- no map geometry, models, textures, or other large assets.
Step 3: Render
minimap_renderer \
--extracted-dir ./extracted \
-o output.mp4 \
replay.wowsreplay
Renderer Options
| Flag | Description |
|---|---|
--no-player-names |
Hide player names |
--no-ship-names |
Hide ship names |
--no-capture-points |
Hide capture zones |
--no-buildings |
Hide building markers |
--no-turret-direction |
Hide turret direction indicators |
--no-armament |
Hide selected armament/ammo type |
--show-trails |
Show position trail heatmap |
--no-dead-trails |
Hide trails for dead ships |
--show-speed-trails |
Show speed-based trails (blue=slow, red=fast) |
--show-ship-config |
Show detection/battery range circles |
--config <path> |
Load render settings from a TOML config file |
--dump-frame <n|mid|last> |
Dump a single frame as PNG instead of video |
--cpu |
Use CPU encoder (openh264) instead of GPU |
--check-encoder |
Check encoder availability and exit |
--generate-config |
Print default TOML config to stdout |
Dependencies
~8–26MB
~389K SLoC