docs: CHANGELOG, README editor section, fix dbc_to_csv build

- CHANGELOG: add World Editor section (12.5k+ lines, 6 modes, 30+ tools)
  and Novel Open Formats section (6/6 replacements, 309 test assertions)
- README: add World Editor section with build/run/CLI examples, format
  summary, and reference to FORMAT_SPEC.md
- Fix dbc_to_csv build: add extern/ to include path for nlohmann/json
  (broke when dbc_loader.cpp gained JSON DBC loading support)
This commit is contained in:
Kelsi 2026-05-05 15:12:19 -07:00
parent 22fb509416
commit 90142cb0df
3 changed files with 54 additions and 0 deletions

View file

@ -13,6 +13,37 @@
- Extract reusable CatmullRomSpline module to `src/math/` with O(log n) binary search and fused position+tangent evaluation (PR #60)
- Decompose TransportManager (1,200→500 LOC): extract TransportPathRepository, TransportClockSync, TransportAnimator; consolidate 7 duplicated spline parsers into `spline_packet.cpp` (PR #60)
### World Editor (tools/editor/)
- Standalone world editor for creating custom WoW zones (12.5k+ lines, 55 files)
- 6 editing modes: Sculpt, Paint, Objects, Water, NPCs, Quests
- 30+ terrain tools: procedural generators (hill, mesa, crater, canyon, island, ridge, dunes), thermal erosion, noise, mirror/rotate, stamp copy/paste with file persistence
- Multi-select objects (Ctrl+Shift+Click), Select All (Ctrl+A), Select by Type (M2/WMO)
- Time-of-day lighting with dawn/dusk/night transitions and color pickers
- Texture eyedropper (Alt+Click), brush size presets + bracket keys
- Object tools: snap to ground, align to slope, flatten terrain around buildings, scatter with auto-align
- River/road path tool with click-to-set points and translucent preview ribbon
- Quest chains with circular reference detection, inline editing, load/save
- 631 creature presets across 8 categories with patrol path editing
- Full undo/redo for ALL terrain operations (generators, transforms, paint)
- Auto-save with configurable interval, unsaved changes quit confirmation
- Zone rename, recent zones menu, adjacent tile export with edge stitching
- Live open format validation (0-6 score) in File menu
### Novel Open Formats (6/6 Blizzard format replacements)
- ADT → WOT/WHM: terrain metadata + binary heightmap with alpha maps and doodad/WMO placements
- WDT → zone.json: map definition with full placement arrays
- BLP → PNG: texture override system
- DBC → JSON: data tables via DBCFile::loadJSON()
- M2 → WOM (WOM1): models with render batches, textures, materials
- WMO → WOB (WOB1): buildings with material flags/shader/blendMode, doodad rotation
- WCP (WCP1): content pack archive with categorized file list
- Terrain stamps: portable terrain features saved as JSON
- All formats documented in FORMAT_SPEC.md v1.1
- Client auto-loads open formats from custom_zones/ and output/ directories
- Batch convert: M2→WOM and WMO→WOB from filesystem or asset manifest
- WCP Import & Load: one-click unpack + auto-open for editing
- 309 test assertions across 81 test cases (DBC binary+JSON, WOB, WHM, WOT)
### Features
- Spell visual effects system with bone-tracked ribbons and particles (PR #58)
- GM command support: 190-command data table with dot-prefix interception, tab-completion, `/gmhelp` with category filter (PR #62)

View file

@ -1213,6 +1213,7 @@ add_executable(dbc_to_csv
)
target_include_directories(dbc_to_csv PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/extern
)
target_link_libraries(dbc_to_csv PRIVATE Threads::Threads)
set_target_properties(dbc_to_csv PROPERTIES

View file

@ -29,6 +29,28 @@ Protocol Compatible with **Vanilla (Classic) 1.12 + TBC 2.4.3 + WotLK 3.3.5a**.
- **Container builds**: Multi-platform Docker build system for Linux, macOS (arm64/x86_64 via osxcross), and Windows (LLVM-MinGW) cross-compilation.
- **Release**: v1.8.9-preview — 530+ WoW API functions, 140+ events, 664 opcode handlers.
## World Editor
Standalone tool for creating custom WoW zones with novel open format exports.
```bash
# Build
cmake --build build --target wowee_editor
# Run
./build/bin/wowee_editor --data Data
# Batch convert assets
./build/bin/wowee_editor --convert-m2 Creature/Bear/Bear.m2 --data Data
./build/bin/wowee_editor --convert-wmo World/WMO/Stormwind/Stormwind.wmo --data Data
```
**6 editing modes** (Sculpt, Paint, Objects, Water, NPCs, Quests) with 30+ terrain tools, multi-select, time-of-day lighting, quest chains, and full undo/redo.
**6 novel open format replacements** for all Blizzard proprietary formats: WOT/WHM (terrain), WOM (models), WOB (buildings), zone.json (map def), PNG (textures), JSON (data tables). See `tools/editor/FORMAT_SPEC.md` for full specifications.
Exported zones auto-load in the wowee client from `custom_zones/` or `output/` directories.
## Features
### Rendering Engine