Skip to content

SiegeSmith Modders Guide

codingncaffeine edited this page Jul 10, 2026 · 1 revision

Modder's Guide — working with the original game

This guide is for modding Dungeon Siege itself: understanding the shipped data, changing it, and installing your changes over the retail game. If you want to build a new map or game instead, that path is Making a Game from Scratch — this page is about the classic folder-mod workflow, done with modern tooling.

The core promise: SiegeSmith reads every format with the same code the SiegeFX engine runs, so what the viewers show you is what the game actually loads — no guesswork between tool and engine.


1. Know the data — the Tank Explorer

Open any .dsres / .dsmap from the install (Logic.dsres = game rules and templates, Objects.dsres = meshes/animations/art, Terrain.dsres = siege nodes, Sound.dsres/Voices.dsres = audio, World.dsmap = the shipped campaign).

  • Browse the full tree, or use the asset-category jump buttons to land on templates, textures, meshes, or animations directly.
  • Search filters the whole tank.
  • Extract any file or folder to disk — the starting point of every mod.
  • Properties show sizes, CRCs, and paths (both copyable).

The viewers — learn by reading

  • .gas — the game's data language (templates, moods, regions, quests). Tree view + raw text.
  • .skrit — the scripting VM: live parse/bind/compile diagnostics, the extern catalogue (what the engine exposes to scripts), and bytecode disassembly.
  • .raw textures — every mip level, with PNG export for editing in your paint tool.
  • .asp / .sno models — orbit/zoom/wireframe, with the real textures resolved.
  • .prs animationslive playback: the paired rig auto-resolves and the clip plays with a scrub slider. Watch exactly what chore_attack looks like before you reference it.
  • .flm cursor filmstrips, audio playback in-app, text/hex for everything else.

Modding is 80% understanding what's already there; the viewers are how you read the original developers' work.

2. Change it — GAS editing with a safety net

Extracted .gas files open in the editor with live validation — syntax errors and structural problems surface as you type, not as a mysterious in-game failure. Typical edits:

  • Rebalance a template: extract world/contentdb/templates/regular/..., change [attack] damage_min/max, [defend] defense, [aspect] max_life, loot in [inventory][pcontent].
  • Retexture: export a .raw to PNG, repaint it, then re-import it through the World Builder's Custom tab → Import texture (any image becomes a valid mip-mapped .raw).
  • Tune moods: fog distances, rain, music — the same blocks the Atmosphere authoring writes (see the World Builder Guide).

Keep your changed files in a mod folder that mirrors tank layout (e.g. MyMod/world/contentdb/templates/...). Only the files you changed belong in it — DS1's priority system overlays them on the originals.

3. Edit the world — shipped regions in the World Builder

The World Builder can load a shipped region (pick it from the install list) and shows its terrain graph with the engine's own layout code. From there the full editor applies — add placements, effects, lights, logic — and everything you author writes standard region gas you can carry into a mod folder. The World Builder Guide documents every tool.

4. Install it — tanks, priority, and the loop

  • Build Tank from Folder packs your mod folder into a proper tank with user priority, so the game prefers your files over the originals without touching them.
  • Mod projects (.ssproj) keep a mod's folder, tank name, and settings together: New/Open/Save from the main window.
  • Build & Install drops the built tank straight into the game's Resources; Launch Dungeon Siege starts the retail game. The whole loop — edit → build → install → test — runs from one window.
  • Your original tanks are never modified; removing a mod = deleting its tank file.

You can also test against the SiegeFX engine instead of retail — it reads the same tanks, and its console output (--play-region) names loading problems retail would swallow silently.

5. Study aids

  • Diagnostic CLI Tools — the siegefx CLI can dump, audit, and cross-reference game data in bulk (spell catalogs, template chains, region contents); invaluable when a mod touches many files.
  • Engine Quirks and Stumbles — the accumulated list of format gotchas. Read the relevant section before you fight a format at 2am; someone here already lost that fight for you.

Quick recipes

I want to… Do this
Make swords hit harder Extract the weapon templates from Logic.dsres, raise damage_max, folder-mod → Build & Install.
Reskin a monster Export its .raw skin to PNG, repaint, Import texture, ship the .raw at the same tank path.
See what an animation does Click the .prs in the Tank Explorer — it plays on its rig.
Add loot to a shipped chest Author the placement's [inventory][pcontent] override in region gas (the World Builder's Drop override writes exactly this shape).
Change a region's weather Edit its mood's [fog]/[rain] blocks — or author them visually on the Map tab and copy the written moods.gas.
Understand a script Open the .skrit — the viewer shows binds, externs, and disassembly.

Clone this wiki locally