mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-06 09:03:52 +00:00
feat: WOC collision mesh format — 7th novel open format
New format: WOC (Wowee Open Collision) — binary collision mesh for custom zone walkability. Magic WOC1 (0x31434F57). - WoweeCollisionBuilder::fromTerrain() generates collision triangles from terrain heightmap with slope classification (50 deg threshold) - Per-triangle flags: walkable (0x01), water (0x02), steep (0x04) - Respects terrain holes (skips triangles in hole regions) - Binary save/load with bounds, tile coords, triangle data - Auto-exported on zone save alongside WOT/WHM/WOM/WOB - Added to content pack validation (score now 0-7) - FORMAT_SPEC.md v1.1 updated with WOC binary layout - 19 new test assertions: flat terrain generation (32k tris all walkable), save/load round-trip, hole skipping - 328 total assertions across 84 test cases
This commit is contained in:
parent
961d863f82
commit
4d5eef480e
10 changed files with 342 additions and 7 deletions
|
|
@ -366,7 +366,7 @@ void EditorUI::renderMenuBar(EditorApp& app) {
|
|||
ImVec4 scoreColor = score >= 5 ? ImVec4(0.3f, 1, 0.3f, 1) :
|
||||
score >= 3 ? ImVec4(1, 1, 0.3f, 1) :
|
||||
ImVec4(1, 0.3f, 0.3f, 1);
|
||||
ImGui::TextColored(scoreColor, "Open Format Score: %d/6", score);
|
||||
ImGui::TextColored(scoreColor, "Open Format Score: %d/7", score);
|
||||
ImGui::Separator();
|
||||
auto fmt = [](bool has, bool valid, const char* name, const char* desc) {
|
||||
ImVec4 c = has ? (valid ? ImVec4(0.3f,1,0.3f,1) : ImVec4(1,0.7f,0.3f,1))
|
||||
|
|
@ -380,6 +380,7 @@ void EditorUI::renderMenuBar(EditorApp& app) {
|
|||
fmt(val.hasPng, true, "PNG", "textures");
|
||||
fmt(val.hasWom, val.womValid, "WOM", "models");
|
||||
fmt(val.hasWob, val.wobValid, "WOB", "buildings");
|
||||
fmt(val.hasWoc, val.wocValid, "WOC", "collision mesh");
|
||||
ImGui::Separator();
|
||||
fmt(val.hasCreatures, true, "creatures", "NPC spawns");
|
||||
fmt(val.hasQuests, true, "quests", "quest data");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue