Site Tools


tutorial:basics

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tutorial:basics [2025/02/24 17:19] – created admintutorial:basics [2026/05/25 23:19] (current) – added more notes about AI jenovavirus
Line 1: Line 1:
 +====== Basics ======
 +Authors: JeNoVaViRuS
 +
 +===== Preamble =====
 Before you try to start with any tutorials on modding you should read this. Before you try to start with any tutorials on modding you should read this.
  
Line 5: Line 9:
 Before you can even use tools to modify content you need to unpack every FromSoftware game (except Dark Souls Remastered because it's already unpacked). Before you can even use tools to modify content you need to unpack every FromSoftware game (except Dark Souls Remastered because it's already unpacked).
  
-  * download "UXM Selective Unpacker" from the [https://soulsmodding.com/doku.php?id=tool:main|tools page]]+  * download "UXM Selective Unpacker" from the [[https://soulsmodding.com/doku.php?id=tool:main|tools page]]
   * open it and click browse and navigate to your game and select the .exe file   * open it and click browse and navigate to your game and select the .exe file
   * click "Unpack" and wait...   * click "Unpack" and wait...
Line 13: Line 17:
  
 No matter which tools you use to modify content it will only take effect if you: No matter which tools you use to modify content it will only take effect if you:
-  - are using ModEngine or ModEngine2 (you can download it from the [[https://soulsmodding.com/doku.php?id=tool:main|tools page]]) and put all modified files into its mod folder +  - are using ModEngineModEngine2 or ModEngine3 depending on the game and its version (you can download it from the [[https://soulsmodding.com/doku.php?id=tool:main|tools page]]) and put all modified files into its mod folder 
-  - selected "patch" in UXM and then overwrite your game files directly or copy over your project directory (e.g. from "DSMapStudio") to the game directory+  - selected "patch" in UXM and then overwrite your game files directly or copy over your project directory (e.g. from "Smithbox") to the game directory
  
 It is recommended to use ModEngine but older titles like DS1 are not supported. You can only use the second option. It is recommended to use ModEngine but older titles like DS1 are not supported. You can only use the second option.
Line 29: Line 33:
  
 If you want to remove the rule and play normally again then instead enter this in the cmd: If you want to remove the rule and play normally again then instead enter this in the cmd:
-[[code type="Ruby"]] +<code>netsh advfirewall firewall delete rule name="BlockDSRemastered" dir=out</code>
-netsh advfirewall firewall delete rule name="BlockDSRemastered" dir=out +
-[[/code]]+
  
 ===== Backup your save files ===== ===== Backup your save files =====
-If you have existing save files then you need to make a backup of them. +If you have existing save files then you need to make a backup of them. Never, ever, go online with a save that was used with a mod. \\ 
-Never, ever, go online with a save that was used with a mod.+
 After you have played the game with a mod you need to delete or rename your current save files and restore your old save files. After you have played the game with a mod you need to delete or rename your current save files and restore your old save files.
  
 Here are the default save game folders: Here are the default save game folders:
-DS1: C:\Users\<username>\Documents\NBGI\DarkSouls +  * DS1: C:\Users\<username>\Documents\NBGI\DarkSouls 
-DSR: C:\Users\<username>\Documents\NBGI\DARK SOULS REMASTERED +  DSR: C:\Users\<username>\Documents\NBGI\DARK SOULS REMASTERED 
-DS2: C:\Users\<username>\AppData\Roaming\DarkSoulsII +  DS2: C:\Users\<username>\AppData\Roaming\DarkSoulsII 
-DS3: C:\Users\<username>\AppData\Roaming\DarkSoulsIII +  DS3: C:\Users\<username>\AppData\Roaming\DarkSoulsIII 
-ER: C:\Users\<username>\AppData\Roaming\EldenRing+  ER: C:\Users\<username>\AppData\Roaming\EldenRing
  
 If you can't see the folder "AppData" you need to select "View" in Windows Explorer and enable showing hidden items. If you can't see the folder "AppData" you need to select "View" in Windows Explorer and enable showing hidden items.
  
------- +===== Backup your game =====
- +
-+++++ Backup your game+
 You should keep a backup of your game so if you mess up an original file you can simply copy it over from your backup. You should keep a backup of your game so if you mess up an original file you can simply copy it over from your backup.
  
------- +==== WitchyBND usage ====
- +
-+++++ WitchyBND usage+
 Sometimes you will read that you need to "unpack" or "repack" files. This is referring to the tool "WitchyBND" which unpacks the default archive files of FromSoftware games to a new folder. You can then enter the folder and edit specific files. After editing it you need to repack the folder so it gets converted to a file. Sometimes you will read that you need to "unpack" or "repack" files. This is referring to the tool "WitchyBND" which unpacks the default archive files of FromSoftware games to a new folder. You can then enter the folder and edit specific files. After editing it you need to repack the folder so it gets converted to a file.
  
 How to do that: How to do that:
-- download "WitchyBND" from the [http://soulsmodding.wikidot.com/tool:main tools page] +  - download "WitchyBND" from the [[https://soulsmodding.com/doku.php?id=tool:main|tools page]
-- You now have the option either drag-and-drop a file onto "Witchy.exe" or run the exe directly to register it which will add "Witchy" to the right-click menu if you click onto files or folders +  - You now have the option either drag-and-drop a file onto "Witchy.exe" or run the exe directly to register it which will add "Witchy" to the right-click menu if you click onto files or folders 
-- To test this simply go into the "chr" folder of one of the games and unpack "c0000.anibnd" or "c0000.anibnd.dcx" (in Dark Souls 1 PTDE there was no ".dcx" which is the compressed format of the files)+  - To test this simply go into the "chr" folder of one of the games and unpack "c0000.anibnd" or "c0000.anibnd.dcx" (in Dark Souls 1 PTDE there was no ".dcx" which is the compressed format of the files)
  
 Adding files: Adding files:
-- If you not just edit but add files to the unpacked folders then you also need to edit the "_witchy-ffxbnd.xml" in the folder before you repack it +  - If you not just edit but add files to the unpacked folders then you also need to edit the "_witchy.xml" in the folder before you repack it 
-- You need to look for the entries of a specific file type that already existed e.g. from the unpacked "c0000.anibnd.(dcx)" you can find ".tae" in its "_witchy-ffxbnd.xml" +  - You need to look for the entries of a specific file type that already existed e.g. from the unpacked "c0000.anibnd.(dcx)" you can find ".tae" in its "_witchy.xml" 
-- Then duplicate the last entry of the same file extensions +  - Then duplicate the last entry of the same file extensions 
-- Then edit the ID to be the next consecutive number +  - Then edit the ID to be the next consecutive number 
-- Then edit the path so it points to your new file +  - Then edit the path so it points to your new file 
-- Then repack the folder+  - Then repack the folder
  
-------+===== Game parts ===== 
 +==== AI ==== 
 +All enemies and NPCs have an AI that determines when an enemy takes which action. \\  
 +DS1: The .lua bnd files are in the "script" folder. \\  
 +DS3+: The .hks files are in the "action/script" folder. The player script is already decompiled on the tools page. The general enemy AI file is "c9997.hks" and all others are directly related to the enemy IDs. \\  
 +ER: "c8000.hks" file is for torrent. \\ 
  
-+++ Game parts:+The .hks files can be manually decompiled with a tool as well. After that you can just use the decompiled version for the game as it will work just fine. \\ 
  
-+++++ AI +==== Characters ==== 
-All enemies and NPCs have an AI. The .luabnd files are in the "script" folder. +Characters are all entities (enemies and NPCs) with an AI. The player is c0000. \\ 
- +
------- +
- +
-+++++ Characters +
-Characters are all entities (enemies and NPCs) with an AI. The player is c0000.+
 The character files are in the "Chr" folder and contain the .flver model, animations and textures (need to be unpacked as well). The character files are in the "Chr" folder and contain the .flver model, animations and textures (need to be unpacked as well).
  
-The players animation file "c0000.anibnd.dcx" can be opened with "DSAnimStudio" and contains all animations from tae 00 (or 000 in later titles)."TAE" stands for time action event and is an animation + events happening at a specific point during the animation for X amount of time. This can be one frame or several seconds. +The players animation file "c0000.anibnd.dcx" can be opened with "DSAnimStudio" and contains all animations from tae 00 (or 000 in later titles)."TAE" stands for time action event and is an animation + events happening at a specific point during the animation for X amount of time. This can be one frame or several seconds. \\  
-Additional files contain taes for other ranges e.g. "c0000_a1x.anibnd.dcx" contains the taes for 10.+Additional files contain taes for other ranges e.g. "c0000_a1x.anibnd.dcx" contains the taes for 10-19 and "c0000_a9x.anibnd.dcx" contains the taes for 90 and all above\\ 
 Other files e.g. "c2040.anibnd.dcx" contain the animations for enemies. Other files e.g. "c2040.anibnd.dcx" contain the animations for enemies.
  
-------+==== Models and Textures ==== 
 +Body, weapon and armor files of the player are in the "parts" folder. The ID is used to select the model from the folder (referenced in the params of the games with the field "equipModelId").
  
-+++++ Models and Textures 
-Body, weapon and armor files are in the "parts" folder. 
 All files have a prefix and indicate the type of model: All files have a prefix and indicate the type of model:
  
-fc: bald head (DS1), naked body (DS3+) +  * fc: bald head (DS1), naked body (DS3+) 
-fg: face +  fg: face 
-hr: hair +  hr: hair 
-hd: head armor +  hd: head armor 
-bd: body armor +  bd: body armor 
-lg: leg armor +  lg: leg armor 
-am: arm armor +  am: arm armor 
-wp: weapon+  wp: weapon
  
-All body files have "f" (female) or "m" (male) in the name to indicate the body type or "a" for all.+All body files have "f" (female) or "m" (male) in the name to indicate the body type or "a" for all. \\ 
 The suffix "_l" stands for the low poly and texture version (used for far distances). The suffix "_l" stands for the low poly and texture version (used for far distances).
-The ID is used to select the model from the folder (referenced in the params of the games with the field "equipModelId"). 
  
 In DS1 the player model gets assembled with armor parts (include body parts) + configured face + bald head. This means equipping an armor piece will always replace the body part. Masks are used to avoid clipping between armor parts. In DS1 the player model gets assembled with armor parts (include body parts) + configured face + bald head. This means equipping an armor piece will always replace the body part. Masks are used to avoid clipping between armor parts.
 The suffix "_m" of armor parts indicates the hollowed version. The suffix "_m" of armor parts indicates the hollowed version.
  
-In DS3+ the player model gets assembled with armor parts + configured face + naked body parts. +In DS3+ the player model gets assembled with armor parts + configured face + naked body parts. Masks on armor parts are used to make the body part disappear if needed.
-Masks on armor parts are used to make the body part disappear if needed.+
  
-------+Texture files are in a .tpf format (packed and contain .dds files) and models are in a .flver format.
  
-+++++ HUD / Icons / Menu 
-The HUD elements and icons are in the "menu" folder. 
  
-------+==== HUD / Icons / Menu ==== 
 +The HUD elements and icons are in the "menu" folder. The file "01_common.tpf.dcx" holds the mapped out low resolution icons on sheets. \\  
 +The "knowledge" folder holds single high resolution icons in DS3. In ER they are divided into "hi" (high") and "low" resolution folders and you need to unpack the "00_solo.tpfbdt" file first to see them.\\  
 +In ER the goods param holds the IconID for the "knowledge" folder and magic params hold the IconID for the spreadsheet. \\  
 +The "mapimage" folder holds the bonfire warp images in Dark Souls 3.
  
-+++++ Language / Text +==== Language / Text ==== 
-The language files are in the "msg" folder. Text can be most easily edited with Dark Souls Map Studio's Text Editor+The language files are in the "msg" folder. Text can be most easily edited with Smithbox.
  
-------+==== Maps [WIP] ==== 
 +All files regarding maps are in the "map" folder.  \\
  
-+++++ Scripts / emevd +MSB: These are map metadata files. They hold the information what entity type (e.g. navmesh, object etc.) is located where (region, coordinates, rotation).  \\ 
-If someone uses those words they are referring to the files in the "event" folder which holds the common event script that is active the whole time and map scripts that are only running when the player is inside the specific map+Navmesh: They are "plaines" (simple meshes) used by AI characters to navigate \\ 
-The player always has the ID 10000 which is used in the scripts. +Objects/AEG: Objects are assets (e.g. a cupboard, a chair) and since ER they were replaced by AEGs which are just an optimized version  \\ 
-Events are typically edited with DarkScript 3 (or esdlang tool for Dark Souls 2).+AETs: They are texture types used since ER and can be used for any map or object in the game directlyTextures are normally "bound" to one object or map as they are often packed together. They can be found in the "asset" folder \\
  
------- 
  
-+++++ SFX / VFX / FFX / FXR +==== States ==== 
-Those are visual effects like magic, bonfires, sword sparks, walking on certain areas effects like mud etc. +The player character and also npcs/enemies are always in a specific stateWhen doing nothing the character is in the idle stateAs soon as you press any button the player state changes e.g. to movingrollingswinging a weapondrinking estus, casting a spell etc.
-The sounds that are heard at the same time belong to them. +
-The files are packed within the "sfx" folder. +
-SFX is the term for visual effects in FromSoftware games. +
-VFX is normally used for visual effects but in FromSoftware games it refers to the SpEffectVfxParam category. +
-FFX is the file extension for unpacked SFX files in DS1 and 2. +
-FXR is the file extension for unpacked SFX files in DS3SekiroERand AC6.+
  
-------+A state can only change under certain preconditions and can only switch to other specific states. 
 +The several games have different systems to handle states (and respective files): \\ 
 +DS1: ESD (chr/c0000.esd.dcx) \\ 
 +DS2: EMEVD () \\ 
 +DS3/BB/ER: HKS (action/script/c0000.hks and common_define.hks) and HKB (chr/c0000.behbnd.dcx) \\
  
-+++++ Sound 
  
-Anything from sound effects (SE) to voice lines to background music (BGM). +Using "Zeditortool for DS1 ESD is highly recommended\\ 
-These files are typically found in the "soundfolderDark Souls Sound Inserter (DSSI), FMOD Designer, and RewWise (for Elden Ring) are used to modify sound in the majority of cases.+HKS is normally compiled Lua (a script languagebut they were decompiled by modders and can be downloaded from the tools page. They can be edited and then used just like that instead of the original files and the games will load them fine. The beh (behaviour) files can be converted with hkxpack-souls\\
  
-------+==== Scripts / Emevd ==== 
 +If someone uses those words they are referring to the files in the "event" folder which holds the "common event" script that is active the whole time and map scripts which are only running when the player is inside the specific map. \\  
 +The player always has the ID 10000 which is used in the scripts. \\  
 +Events are typically edited with DarkScript 3 (or esdlang/esdtool for Dark Souls 2). 
 + 
 +==== SFX / VFX / FFX / FXR ==== 
 +Those are visual effects like magic, bonfires, sword sparks, walking on certain areas effects like mud etc. The sounds that are heard at the same time belong to them. \\  
 +The files are packed within the "sfx" folder. \\  
 + 
 +The sfx files are in the "sfx" folder. The "commoneffects" bnd holds all reused files while the effects needed only for certain bosses or on maps are in the specific map files. \\  
 +The respective resource BNDs hold the textures and models used by the effects. \\  
 + 
 +SFX is the term for visual effects in FromSoftware games. \\  
 +VFX is normally used for visual effects in modern games but in FromSoftware games it refers to the SpEffectVfxParam category. \\  
 +FFX is the file extension for unpacked SFX files in DS1. \\  
 +FXR is the file extension for unpacked SFX files in DS3, Sekiro, ER, and AC6. \\  
 + 
 +==== Sound ==== 
 +Anything from sound effects (SE) to voice lines to background music (BGM). \\  
 +These files are typically found in the "sound" folder. Dark Souls Sound Inserter (DSSI), FMOD Designer, and RewWise (for Elden Ring) are used to modify sound in the majority of cases.
  
-+++++ Talk +==== Talk ==== 
-Talk scripts are used by NPCs or some objects (using invisible NPCs). They start working when the player enters a 5m radius around them and are map based only. They are in the "script/talk" folder+Talk scripts are used by NPCs or some objects (using invisible NPCs). They start working when the player enters a 5m radius around them and are map based only. \\  
-They can either be edited with "ESDStudio" in python syntax or in "Soulstruct" for Dark Souls 1 in a class-like format (this makes them unable to edit with ESDStudio after saving).+They are in the "script/talk" folder and can be edited with "ESDStudio" in python syntax (they use the EZState/ESD system).
tutorial/basics.1740417566.txt.gz · Last modified: by admin