Kelsidavis-WoWee/tools/editor
Kelsi b6ce6b4fe9 feat(editor): add --info-m2 and --info-wmo proprietary inspectors
Round out the format-inspector lineup. The wowee open formats had
inspectors (--info-wom, --info-wob); these are the proprietary
counterparts that pair with --convert-m2 / --convert-wmo so users
can verify what the conversion preserves vs drops:

  wowee_editor --info-m2  Character/Human/Male/HumanMale.m2
  wowee_editor --info-wmo World/wmo/Stormwind/Stormwind.wmo

--info-m2 reports verts/tris, bones, sequences (animations),
batches, textures, materials, attachments, particles, ribbons,
collision tris, and bound radius. Auto-merges <base>00.skin if
present (WotLK+ M2s store geometry there) so vertex/index counts
match what gets rendered.

--info-wmo reports group count + portals + lights + doodads +
materials + textures + total verts/tris across loaded groups.
Auto-merges matching <base>_NNN.wmo group files; pre-resizes the
groups vector so loadGroup populates the right slots.

Verified against real WoW assets:
  nexusraid_skya.m2: v264, 20917 verts, 22940 tris, 44 bones,
    1 sequence, 44 batches, 28 textures, 42 materials.
  ed_zd_ziggurat.wmo: v17, 1 group (1 loaded), 8 materials, 7
    textures, 4609 verts, 3650 tris from the group file.

Bug caught during testing: initial snprintf used an 8-byte buffer
for '_NNN.wmo' (which is 8 chars + NUL = 9), silently truncating
to '_000.wm' and failing every group lookup. Bumped to 16 bytes
with a comment so the trap doesn't get re-stepped.
2026-05-06 12:51:40 -07:00
..
adt_writer.cpp fix(adt): scrub NaN/inf floats at write time 2026-05-06 06:49:51 -07:00
adt_writer.hpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
asset_browser.cpp feat(editor): Find Valid Tile button, improved ADT loading workflow 2026-05-05 06:35:37 -07:00
asset_browser.hpp feat(editor): Find Valid Tile button, improved ADT loading workflow 2026-05-05 06:35:37 -07:00
content_pack.cpp fix(wcp): cap readInfo file-list parse at 1M entries 2026-05-06 09:57:37 -07:00
content_pack.hpp feat(validate): report file counts and per-format invalid totals 2026-05-06 07:12:04 -07:00
dbc_exporter.cpp feat(editor): export creature/faction/item DBCs alongside zone DBCs 2026-05-06 01:41:53 -07:00
dbc_exporter.hpp feat(editor): DBC→JSON export for open format zone data tables 2026-05-05 10:21:14 -07:00
editor_app.cpp fix(editor): NaN-safe baseHeight propagation in addAdjacentTile 2026-05-06 08:37:19 -07:00
editor_app.hpp feat(editor): status bar asterisk also reflects unsaved object/NPC/quest changes 2026-05-06 03:01:09 -07:00
editor_brush.cpp fix(brush): defensive guards in EditorBrush::getInfluence 2026-05-06 07:38:50 -07:00
editor_brush.hpp fix(brush): NaN-guard EditorBrush::setPosition 2026-05-06 10:15:00 -07:00
editor_camera.cpp fix(camera): NaN guards on pivot orbit, setPosition, setYawPitch 2026-05-06 08:03:57 -07:00
editor_camera.hpp fix(camera): validate setSpeed input against wheel-clamp range 2026-05-06 10:12:45 -07:00
editor_history.cpp fix(history): bounds-check chunkIndex in captureChunk/restoreChunk 2026-05-06 10:13:56 -07:00
editor_history.hpp fix(editor): undo now covers texture painting, fix stale buffer bug 2026-05-05 12:58:11 -07:00
editor_markers.cpp fix(markers): skip objects with NaN position/scale on update 2026-05-06 07:56:26 -07:00
editor_markers.hpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
editor_project.cpp fix(project): cap zones at 1024 on project load 2026-05-06 10:01:36 -07:00
editor_project.hpp feat(editor): git integration for collaborative expansion development 2026-05-05 09:45:00 -07:00
editor_ui.cpp feat(editor): preset selection auto-fills sensible AzerothCore faction 2026-05-06 04:48:30 -07:00
editor_ui.hpp feat(editor): path preview line, transform undo, complete undo coverage 2026-05-05 13:33:28 -07:00
editor_viewport.cpp fix(viewport): clear ghost preview on NaN/non-positive inputs 2026-05-06 08:24:51 -07:00
editor_viewport.hpp feat(editor): viewport WOM/WOB lookups also probe per-zone roots 2026-05-06 04:13:03 -07:00
editor_water.cpp fix(water): skip chunks with NaN water height in mesh build 2026-05-06 08:04:44 -07:00
editor_water.hpp feat(editor): brush radius circle indicator on terrain 2026-05-05 04:10:46 -07:00
FORMAT_SPEC.md docs(formats): document the complete headless CLI surface 2026-05-06 08:53:45 -07:00
main.cpp feat(editor): add --info-m2 and --info-wmo proprietary inspectors 2026-05-06 12:51:40 -07:00
npc_presets.cpp fix(editor): filter bad M2 models, toast on tile not found, robustness 2026-05-05 07:10:29 -07:00
npc_presets.hpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
npc_spawner.cpp fix(npc): cap spawn count at 50k on load 2026-05-06 09:56:55 -07:00
npc_spawner.hpp fix(editor): NPC default scale 1.0 (was 3.0) to match AzerothCore defaults 2026-05-06 04:27:22 -07:00
object_placer.cpp fix(editor): cap quest count at 4096 and object count at 100k on load 2026-05-06 09:56:03 -07:00
object_placer.hpp feat(editor): biome vegetation auto-population system 2026-05-05 16:42:41 -07:00
quest_editor.cpp fix(editor): cap quest count at 4096 and object count at 100k on load 2026-05-06 09:56:03 -07:00
quest_editor.hpp fix(editor): harden JSON handling, quest loading, and content validation 2026-05-05 12:48:50 -07:00
server_module_gen.cpp fix(editor): slugify mapName for module dir + conf keys 2026-05-06 06:47:43 -07:00
server_module_gen.hpp feat(editor): AzerothCore server module generator 2026-05-05 16:31:13 -07:00
sql_exporter.cpp fix(sql): downgrade Wander to stationary when wanderRadius == 0 2026-05-06 09:53:07 -07:00
sql_exporter.hpp fix(editor): escape user strings in server module map/zone/tele SQL 2026-05-06 06:46:58 -07:00
stb_image_impl.cpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
terrain_biomes.hpp feat(editor): biome vegetation auto-population system 2026-05-05 16:42:41 -07:00
terrain_editor.cpp fix(terrain): reject NaN rays in raycastTerrain 2026-05-06 07:58:56 -07:00
terrain_editor.hpp feat(editor): PNG/JPG/BMP heightmap image import, undo for all imports 2026-05-05 15:42:35 -07:00
texture_exporter.cpp fix(editor): texture exporter validates BLP image before passing to stbi 2026-05-06 06:29:26 -07:00
texture_exporter.hpp feat(editor): export WMO textures with the zone 2026-05-06 01:40:05 -07:00
texture_painter.cpp fix(painter): reject NaN endpoints and zero-length lines in paintAlongPath 2026-05-06 07:41:58 -07:00
texture_painter.hpp feat(editor): texture eyedropper, WOT/WHM preference loading 2026-05-05 13:39:53 -07:00
transform_gizmo.cpp fix(gizmo): hide on NaN target instead of building NaN geometry 2026-05-06 08:01:23 -07:00
transform_gizmo.hpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
wowee_terrain.cpp fix(wot): scrub NaN/inf in doodad/WMO placements at save time 2026-05-06 07:03:02 -07:00
wowee_terrain.hpp feat(editor): zone map image export (colored top-down PNG) 2026-05-05 16:01:29 -07:00
zone_manifest.cpp fix(zone): scrub NaN/inf manifest floats at save time 2026-05-06 07:05:13 -07:00
zone_manifest.hpp feat(editor): zone metadata panel with mapId, displayName, gameplay flags 2026-05-05 15:52:59 -07:00