-
Notifications
You must be signed in to change notification settings - Fork 1
SiegeSmith

SiegeSmith is the modding studio that ships alongside the engine in this repository (src/SiegeSmith) — a Windows desktop IDE (WPF, .NET 11) built on the same parsers and writers that power SiegeFX itself. It covers the whole Dungeon Siege modding loop in one tool: browse the shipped data, understand it, edit it, build new worlds, package them, and play them — up to and including building an entirely new game on the DS1 formats.
Because SiegeSmith shares SiegeFX's code for tanks, GAS, SNO/ASP meshes, RAW textures, PRS animation, and the Skrit VM, everything it shows you is exactly what the engine will load. There is no separate, subtly-different tooling parser — the World Builder's preview literally renders the same nodes.gas it saves, through the same region-layout code the engine uses.
The original Siege Editor was famously hard to learn, and the old community documentation buried the answers in theory. This manual is built the other way around — start from what you want to do:
- How do I…? — one-line answers, intent → exact control. Start here.
-
Making a Game from Scratch — the guided walkthrough: empty viewport to a playable, distributable
.dsmapwith terrain, monsters, an NPC with dialogue, a quest journal, loot, weather, and music. - World Builder Guide — the level editor reference: every panel, every control, what it writes.
- Studio Guide — the main window: the Tank Explorer, every format viewer, GAS editing with live validation, mod projects, build-and-install.
- Modder's Guide — working with the original game: reading shipped data, rebalancing, retexturing, and the folder-mod → build-tank → install loop.
Inside the app, F1 shows the controls cheat sheet, every field has a tooltip, each Inspector page names the file it writes, and the status bar explains every action.
Explore
-
Tank Explorer — open any
.dsres/.dsmap, browse the full file tree, extract files or whole folders, jump straight to asset categories. -
Viewers for every major format:
.rawtextures (mip navigation, PNG export),.gas(tree view, raw text, editing with live validation),.skrit(live parse/bind/compile diagnostics, extern catalogue, bytecode disassembly),.asp/.sno3D models (software-rendered orbit/zoom/wireframe preview with real textures),.prsanimations (live skeletal playback on the auto-resolved rig, with play/pause and a scrub slider),.flmcursor filmstrips, audio playback in-app, plus text/hex fallback for everything else.
Edit & package
- GAS editing with a live validator, so authoring mistakes surface before the engine ever sees them.
- Build Tank from Folder — pack a mod folder into a proper tank with user priority.
-
Mod projects (
.ssproj) — New/Open/Save, Build & Install straight into the game's Resources, and Launch Dungeon Siege for the edit → build → install → test loop from one window.
World Builder
- A full level editor over DS1's Continuous World model: terrain nodes join door-to-door (DS1 stores no world coordinates — positions derive from walking the door graph), and everything else — objects, actors, effects, lights, logic, dialogue, quests — anchors to those nodes.
- One-click Test terrain ▶ and Play ▶ pack the region into a real
.dsmapand launch the SiegeFX engine on it; ⟲ Sync game repacks and restarts the running session after edits. - Feature highlights: paint-brush terrain, scatter brush, drag-drop placement, palette thumbnails and tag filters, multi-select with align/distribute, per-placement stat/loot/scale overrides, click-to-draw AI patrol routes, live fire/smoke particles, fog auditioning in the viewport, trigger/dialogue/quest graph views, analysis overlays, per-family visibility eyes, reusable prefabs, world diff, dependency reports, search-everywhere, full-coverage undo, autosave, and a validation checklist that names exactly what to fix.
Same as SiegeFX: Windows plus an original Dungeon Siege installation (GOG, Steam, or disc) for the game data. SiegeSmith detects the install automatically and never modifies your original tanks — mods build into separate user-priority tank files, and custom maps pack into their own .dsmap.