Team Cereustooling wiki

Ports, params and map tools

Checkedagainst the code on 2026-11-12 11:37

How to bring a character, a weapon skill, sounds or a map piece from Dark Souls 1, 2, 3 or Elden Ring into Nightreign Eclipse, and how to change params and map files from the command line. The tools live in S:/eclipse-build/tools/. Older pieces they still call live in S:/souls-script-kt.

On these pages EB means py -3.12 -I -B S:/eclipse-build/eb.py. Get a tool with EB tool build <name>. Run anything heavy with EB run --mem <GB> -- <command>. Stages use shared tools only: ../build/use-shared-tools.md.

Pages

Page What it answers
port-a-ds2-character.md Port a Dark Souls II character: the build route, the anim cache, the switches, the traps, reading DS2's real clip usage
port-a-ds3-or-er-character.md Port a Dark Souls III or Elden Ring character: what each port tool does and its command line; the id limits
port-a-weapon-skill.md Port a DS3 weapon art or ER skill into the player's TAE, clips and behaviour graph
add-ds3-sounds.md Add DS3 sounds to the player skill bank cs_c4340.bnk with a job file
map-tools.md Edit map files from the command line: MSB, map models and textures, terrain cuts, POI templates, navmesh
edit-params-and-rowlists.md Change params with a rowlist: the line format, Polish, and the tools around it
skins.md Check a skin's source parts before building; the skin TOML
reference.md Every tool in tools.toml and tools/dotnet: what it does, how to get it, its commands, its environment variables

Which tool for which job

Job Tool Page
Build a whole DS2 character port the port's build.py, which runs build-npc-port-pursuer.nr.kts port-a-ds2-character.md
See how DS2 really uses a clip the morpheme MCP same
Unpack files from the DS2 archives Ds2Unpack same
Build a whole DS3 character port ds3-arena/build.py with NpcPort port-a-ds3-or-er-character.md
Extract files or the regulation from DS3 NpcPort ds3-extract, ds3-regulation same
Port a battle AI script AiPort same
Carry an enemy's stats over StatPort same
Check a finished port for known faults PortLint (port-lint) same
Fix shiny or dull materials on a port MaterialFix gloss same
Add a dummy that aims a beam or capsule DummyAim same
Retarget a clip to another skeleton KneelRetarget same
Fix the pop between a crit and the death anim CritFix same
Pack or fix a port's effect binder FxBnd, FxModelsGen same
Convert a DS3 ragdoll, cloth or character file Havok2014 same
Bring an ER skill's TAE and clips into c0000 SkillPort port-a-weapon-skill.md
Add, remove or change single TAE events SkillPort event-add, event-del, event-edit same
Retarget DS3 player clips to the NR skeleton Ds3Retarget same
Turn DS3 TAE events into NR events arts-py/tae_ds3.py, then Ds3Retarget tae-set same
Add clip slots to the player behaviour graph BehEdit apply same
Add or trim a DS3 sound in the skill bank snd-py/snd_bank.py add-ds3-sounds.md
Change param cells, add or delete rows Polish with a rowlist edit-params-and-rowlists.md
Add a row to a param with duplicate row ids (loot tables) TableRows same
Compare two regulations or dump rows RegQ same
Replace a file inside a binder BndSet same
Add text entries to a msgbnd CastleVariants fmgadd, InvTool msgadd map-tools.md, edit-params-and-rowlists.md
Give a seed's mimic the Open prompt MimicOpen edit-params-and-rowlists.md
List what a map or map model holds MapKit msbparts, dumpall, flvermats, tpfls map-tools.md
Merge someone's POI edit as a new variation MapKit campmerge same
Make an ER asset draw in Nightreign's open-world tiles MapKit flvernr, tpflow, matadd same
Add far (LOD) copies of tile assets MapKit addfar, farcheck same
Cut a tunnel mouth or shaft through terrain TerrainCut same
Swap, clone or drop enemies in maps for a seed CastleVariants build apply same, and ../seeds/put-a-seed-in-the-mod.md
Start a new POI from a stripped vanilla one camp-py/poi_templates/build.py map-tools.md
Inspect or cut a navmesh Havok2014 navinfo, navcover, navunlink, navclearance same
Generate a navmesh in the editor Smithbox ../smithbox/generate-navmesh.md
Port a whole ER map in the editor Smithbox ../smithbox/port-er-map.md
Find where a skin's source parts are skins/preflight.py skins.md

Rules that apply to every page here

  • Pass absolute paths to every tool.
  • Never build or copy a private tool. Fix the shared source in S:/eclipse-build/tools.
  • Build twice into two folders; EB stage make checks that the shipped files match.
  • Do not launch the game to test unless Stan asks. Say on your stage what was and was not seen in game.
Source files this page documents (2)
  • eb:tools/tools.toml
  • eb:tools/README.md

Changed one of these? Update this page: ports/README.md (how).