mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-07 09:33:51 +00:00
Closes the open-format authoring loop: asset_extract # M2 -> WOM (open binary) --export-obj # WOM -> OBJ (universal text) ... edit in Blender / MeshLab / ZBrush / Maya ... --import-obj # OBJ -> WOM (back to engine format) The same WOM file ships in custom zones, gets validated by --validate-wom, and renders identically through the existing pipeline — no proprietary M2 ever needs to touch the authoring path. Parser handles: - v / vt / vn pools, deduped on (pos, uv, normal) triples so the resulting WOM vertex buffer stays compact - 1-based AND negative (relative) face indices - f tokens in v, v/t, v//n, and v/t/n forms - Triangles, quads, and convex n-gons (fan-triangulated) - CRLF line endings - Reverses --export-obj's V flip (1.0 - v) so UVs round-trip exactly - Auto-computes boundMin/Max/Radius from positions (renderer culls by these — wrong values make the model disappear) - Output WOM is WOM1 (static); bones/anims/material flags don't exist in OBJ and stay empty by design Verified end-to-end: WOM -> OBJ -> WOM -> validate-wom yields a 5-vert, 6-tri pyramid back identical to the input. Bounds, vertex count, index count, and name all preserved. |
||
|---|---|---|
| .. | ||
| asset_extract | ||
| auth_login_probe | ||
| auth_probe | ||
| blp_convert | ||
| dbc_to_csv | ||
| editor | ||
| asset_pipeline_gui.py | ||
| backup_assets.sh | ||
| diff_classic_turtle_opcodes.py | ||
| gen_opcode_registry.py | ||
| generate_ffx_sdk_vk_permutations.sh | ||
| m2_viewer.py | ||
| opcode_map_utils.py | ||
| validate_opcode_maps.py | ||