We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Refresh Status with phases shipped through 2026-05-15 Brings the wiki Status page current with Phase 22 (music), 23 (options menu), 24 (main menu), 29-CD-CREATOR (character creator), SC-NAV-CROSS-SNO-STITCH (basement reachability), and SC-QUEST-OBJ-F-RESYNC (canonicalized quest catalog). What's-queued section now flags the underground cutaway, stair waypoint over-segmentation, and Farmhouse → Castle Ehb playtest as the open Phase 21 work.
Wiki: SC-TSD-ANIM landing + Quirks polish - Status.md: SC-TSD-ANIM date in header, "Water + waterfall animation" row in the What-works table. - Engine-Quirks-and-Stumbles.md: section lead-ins on all 7 sections, --- separators between every entry, five new SC-TSD-ANIM entries (TSD sidecar discovery, colorop enum bug, V-flip direction, multi-layer alpha discard, polygon-offset z-fight), and trace-pose discipline moved to Process & workflow with link to Diagnostic CLI Tools. - Diagnostic-CLI-Tools.md: siegefx tsd dump entry; trace-pose standing-rule callout linking back to Quirks.
Engine quirks: log SC-MUSIC discoveries Four new entries from the Phase 22-SC-MUSIC slice cluster: - Music tracks live in Sound.dsres, not a separate Music.dsres - mood standard_track is mixed-case vs mp3 paths lowercase - NLayer ReadSamples(byte[],offset,count) is byte count, not sample - "captured for future" parse fields rot — refresh on consumer landing
Engine quirks: log SC-BARREL discoveries Six new quirk entries from the Phase 21-SC-BARREL slice cluster, in the appropriate sections: Asset format: - .flm cursor frames: 12288-byte stride (3-mip pyramid padded to alignment slots), not 4096. Wrong stride showed mip slots as bogus interleaved frames -> "cycling numbers in a rectangle". - b_gui_c_magic3 is one sprite, not two: red sword + blue glow composed by DS1 designers. Reads as "two icons stacked"; we use magic2 (glow only) for cleaner mode signaling. - Inline colon-shorthand attribute names can carry literal whitespace. `voice:die: * = X;` stored as attr name with embedded tab, broke equality lookup. Whitespace-tolerant second-pass match in FindAttr. Engine constants: - [break_particulate] under [physics], not [aspect]. Phase 17-SC-K misread silently masked every shipped barrel as non-breakable. Actor / combat: - chore_attack ships up to 5 sub-anims; first-match-wins in the spawner truncated swing variety. Now collects 2 (0mid + high) for R/L alternation. - Swing override needs a recovery pad (1.5x AnimLength) so the final pose holds before reverting to idle. Without the pad the swing snaps back instantly and reads as "sped up". - PlayerMeleeReach gate at 0.1 accepted hero baseline 0.5 AttackRange as real reach -> 0.475u standoff -> hero standing inside everything. Threshold raised to 1.5. - [oneof*] sequential roll semantics, not uniform pick. Matches the community-observed ~35/5/60 barrel distribution. - [gold*] needs explicit parse path (top-level too — krug/heroes place it directly under [pcontent]). Audio: - Material-specific break sounds split across [aspect][voice][die] (wood) and [physics][break_sound] (stone/clay/metal). Empty break_sound suppresses (powder kegs).
Wiki freshness sweep after SC-SPELL-VISUAL slices A–E Drift had accumulated across seven pages between v0.14.0 and the current state (v0.15.0 + Phase 21a/b/c/d shipped, SC-SPELL-VFX-AUDIT, SC-SPELL-VFX-MOTION-HANDLE, and SC-SPELL-VISUAL-A through -E all landed). Concrete fixes per page: - Status.md: tag bumped 0.14.0 → 0.15.0; playable summary rewritten to cover dialogue / quests / vendors / per-element spell tints; Spells table row reflects the 14-of-16 primitive coverage; queue list trimmed to actual open Phase-21 slices. - Auditing-the-Spell-Catalog.md: priority-ordered "ingredients still to build" table replaced with the post-E unhandled-verb table — every ingredient in the old table now ships. Fireball example reads PARTIAL because of waitfor, not because trackball is missing. - Architecture.md: subsystem map gains the SFX VM and particle backend rows; Spells row names SpellCatalog and the SFX dispatch chain. - Building-and-Running.md: Controls table gains the [/]/\ debug-cycle keys; new Environment Variables section documents SIEGEFX_DEBUG_SPELLS; CLI section refers to the diagnostics page instead of advertising 5 of ~20 subcommand families. - Diagnostic-CLI-Tools.md: new siegefx sfx <list|show|parse|run> section under spells; Program.cs LOC bumped 5,500 → 6,500. - Home.md: polish-plan link description rewritten so a new reader can tell Phase 20 is past tense. - Phase-20-and-v1.0-Polish-Plan.md: Phase 20 section marked SHIPPED; Phase 21 table replaced with a Shipped vs Open ledger that names the real open slices (21d-2a-x playtest, SC-SPELL-VISUAL F/G/H, SC-INV-B/SPELL-A, SC-SCROLL D–G, 21e settings, 21f release). Engine-Quirks-and-Stumbles.md was audited and has no stale claims.
Add "Auditing the Spell Catalog" page A layman walk-through of what `siegefx spells visual-audit` does, why we built it (the apprentice-zap grind made one-spell-at-a-time playtesting across 70 spells obviously untenable), and what it found in shipped DS1 data: 9 spells fully covered by current engine primitives, 47 partial, 5 sound-only stubs the original GPG team never finished — including the literal `// only a sound now, should hook up an effect. -ET` TODO from iceblast_launch.gas. Cross-linked from Home + Diagnostic CLI Tools.
Add Diagnostic CLI Tools page Documents every subcommand of the siegefx CLI shipped with SiegeFX (file-format inspectors, region/world investigations, skrit VM, templates/stats/combat/loot, audio/UI/animation), grouped by purpose and aimed at modders, expansion authors, and people building new games on top of DS1's file formats. Linked from Home. Future packaging: keep tools in-repo for now (they share format readers with the engine via SiegeFX.Core); bundle as "Dungeon Siege Editor Tools" under tools/ when v1.0 ships.
Engine quirks: pcontent rarity is encoded in template names, not an attribute
Build out wiki: status, dev journal, Phase 20+polish plan, architecture, build/run guide
Initial Home page