forked from phenom/healer-man
Update Healer Man server
This commit is contained in:
1 parent
9c5fb4c614
commit
bd073fb00f
113 files changed
+4902
-273
No files matched your search
@@ -0,0 +1,39 @@
|
||||
# RuneWaker dungeon maps
|
||||
|
||||
The RuneWaker minimap shows a cropped dungeon map centered on the live player
|
||||
marker. Press **M** or click the minimap to open the full map. The player marker
|
||||
and heading, entrance, and numbered encounters use the same coordinate projection
|
||||
in both views. The full map closes with **M**. The existing map keybind and minimap
|
||||
rotation preference apply to RuneWaker dungeons too.
|
||||
|
||||
All 30 imported RuneWaker dungeon definitions have maps. Fifteen use calibrated
|
||||
minimap tiles from the extracted RuneWaker client. Fifteen use floorplans rendered
|
||||
from each dungeon's imported navigation mesh because matching client tiles are
|
||||
missing or cannot be aligned confidently. The floorplans still place live markers
|
||||
and encounters at their runtime coordinates. The UI labels a floorplan as such.
|
||||
|
||||
## Reimporting
|
||||
|
||||
Run `python scripts/runewaker-pipeline/import-maps.py` from the HealerMan root with
|
||||
Pillow and NumPy available. `RUNEWAKER_ROOT` can point to the extracted RuneWaker
|
||||
client; the default is `../Runewaker`. The importer reads DDS tiles under
|
||||
`Resource/texture/minimap`, the primary WDB placement in each dungeon's
|
||||
`import-metadata.json`, and the navigation GLB. It measures alignment between the
|
||||
tile artwork and navigation geometry, accepts client artwork at confidence 0.65
|
||||
or higher, and creates a navigation floorplan otherwise.
|
||||
|
||||
The generated PNGs live at `public/assets/game/dungeons/<id>/maps/runewaker-map.png`.
|
||||
The runtime projection and source checksums live in
|
||||
`src/game/generated/runewakerDungeonMaps.generated.json`. The map loader rejects
|
||||
catalog entries when the dungeon map ID, coordinate transform, or visual checksum
|
||||
no longer matches the runtime definition. Reimport after changing those inputs.
|
||||
|
||||
Run `npm run content:publish` after reimporting so downloadable dungeon packs
|
||||
contain their map PNGs, then `npm run build` to refresh the bundled app.
|
||||
|
||||
## Verification
|
||||
|
||||
Run `node node_modules/vitest/vitest.mjs run src/game/dungeonArtworkMap.test.ts src/ui/DungeonMapGraphic.test.ts src/ui/MapPanel.test.ts`.
|
||||
`node scripts/playtest-runewaker-maps.cjs` checks Forsaken Abbey in a browser,
|
||||
including its downloaded artwork, minimap, M-key full map, and marker projection.
|
||||
Screenshots are written to `artifacts/playtest/runewaker-maps/`.
|
||||
Reference in new issue
Block a user