Site Tools


tutorial:basics

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tutorial:basics [2025/02/24 18:34] 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 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 32: Line 36:
  
 ===== 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.
  
Line 57: Line 60:
  
 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
Line 66: Line 69:
 ===== Game parts ===== ===== Game parts =====
 ==== AI ==== ==== AI ====
-All enemies and NPCs have an AI. The .luabnd files are in the "script" folder.+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. \\  
 + 
 +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. \\ 
  
 ==== Characters ==== ==== Characters ====
-Characters are all entities (enemies and NPCs) with an AI. The player is c0000.+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 ==== ==== Models and Textures ====
-Body, weapon and armor files are in the "parts" folder.+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"). 
 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 ==== ==== HUD / Icons / Menu ====
-The HUD elements and icons are in the "menu" folder.+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.  \\ 
 + 
 +MSB: These are map metadata files. They hold the information what entity type (e.g. navmesh, object etc.) is located where (region, coordinates, rotation).  \\ 
 +Navmesh: They are "plaines" (simple meshes) used by AI characters to navigate.  \\ 
 +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  \\ 
 +AETs: They are texture types used since ER and can be used for any map or object in the game directly. Textures are normally "bound" to one object or map as they are often packed together. They can be found in the "asset" folder.  \\ 
 + 
 + 
 +==== States ==== 
 +The player character and also npcs/enemies are always in a specific state. When doing nothing the character is in the idle state. As soon as you press any button the player state changes e.g. to moving, rolling, swinging a weapon, drinking estus, casting a spell etc. 
 + 
 +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) \\ 
 + 
 + 
 +Using "Zeditor" tool for DS1 ESD is highly recommended. \\ 
 +HKS is normally compiled Lua (a script language) but 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 ==== ==== 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 that are only running when the player is inside the specific map. +If someone uses those words they are referring to the files in the "event" folder which holds the "common eventscript 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. +The player always has the ID 10000 which is used in the scripts. \\  
-Events are typically edited with DarkScript 3 (or esdlang tool for Dark Souls 2).+Events are typically edited with DarkScript 3 (or esdlang/esdtool for Dark Souls 2).
  
 ==== SFX / VFX / FFX / FXR ==== ==== SFX / VFX / FFX / FXR ====
-Those are visual effects like magic, bonfires, sword sparks, walking on certain areas effects like mud etc. +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 sounds that are heard at the same time belong to them. +The files are packed within the "sfx" folder. \\  
-The files are packed within the "sfx" folder. + 
-SFX is the term for visual effects in FromSoftware games. +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. \\  
-VFX is normally used for visual effects but in FromSoftware games it refers to the SpEffectVfxParam category. +The respective resource BNDs hold the textures and models used by the effects. \\  
-FFX is the file extension for unpacked SFX files in DS1 and 2+ 
-FXR is the file extension for unpacked SFX files in DS3, Sekiro, ER, and AC6.+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 ==== ==== Sound ====
-Anything from sound effects (SE) to voice lines to background music (BGM).+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. 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.1740422083.txt.gz · Last modified: by admin