49 lines
2.7 KiB
Markdown
49 lines
2.7 KiB
Markdown
# WoW dungeon atlas
|
|
|
|
Press **M** in a loaded WoW dungeon to open its original game map. The atlas
|
|
shows a white player marker with camera direction, a green entrance, and gold
|
|
numbered encounter markers. Patrol routes are optional. The minimap and companion
|
|
map use the same artwork and coordinate projection.
|
|
|
|
Multi-floor dungeons have a floor selector. Auto chooses the smallest containing
|
|
map rectangle; it is a horizontal best fit, not the WoW client's WMO-group floor
|
|
detection. Select a floor manually when stacked rooms overlap. Coordinates outside
|
|
the selected floor are not clamped to a misleading marker at the map edge.
|
|
|
|
The current import includes 51 standard WoW dungeons and 107 unique map images. The
|
|
custom Tinkertech Showdown, Frozen Reach, and Forgotten Mine have no matching map
|
|
records in the supplied archives and retain their survey maps. RuneWaker maps are
|
|
unchanged. Missing images also fall back to the survey projection.
|
|
|
|
## Reimporting
|
|
|
|
Run `npm run dungeon:maps:import` from the HealerMan project root. An optional
|
|
archive argument replaces the default `../downloads/patch-enUS-M.MPQ`.
|
|
`WOW_CLIENT_ROOT` supplies the client archives for original Wrath map tiles;
|
|
`WOW_DUNGEON_WORK_ROOT` supplies runtime drafts for alignment checks. Defaults
|
|
are `../wow335a` and `../HealerMan-Storage/pipeline-work/dungeons`.
|
|
|
|
The importer reads the patch and client archives without modifying them. It
|
|
decodes BLP2 tiles into cropped 1002x668 PNGs, reads WorldMapArea/DungeonMap bounds,
|
|
and inverts the reviewed scene coordinate mapper, including shifted ADT packages
|
|
and rotated global WMOs. It verifies alignment against imported creature spawns
|
|
or the source entrance for an event-driven arena without static actors.
|
|
Wailing Caverns retains its authored coordinate convention.
|
|
|
|
Images live in `public/assets/game/dungeons/<id>/maps/`, so existing dungeon
|
|
content-pack rules include them. Runtime metadata is generated in
|
|
`src/game/generated/wowDungeonMaps.generated.json`; provenance and coverage are in
|
|
`dungeon-pipeline/WOW_DUNGEON_MAP_REPORT.json`. Changes to environment checksums or
|
|
coordinate conventions require reimporting. Mapster is a Lua WoW-client addon;
|
|
HealerMan does not execute or install it.
|
|
|
|
After reimporting, run `npm run content:publish` to update the local downloadable
|
|
content catalog and `npm run build` to refresh the bundled Wailing Caverns atlas.
|
|
Those commands prepare local artifacts; they do not deploy the online game.
|
|
|
|
## Verification
|
|
|
|
Run `npm test -- --run src/game/wowDungeonMap.test.ts src/ui/DungeonMapGraphic.test.ts src/ui/MapPanel.test.ts`
|
|
and `node --test scripts/lib/wow-map-image.test.mjs`. Visual evidence and observed
|
|
limitations are recorded in `PLAYTEST_NOTES.md`.
|