forums | blogs | polls | tutorials | downloads | rules | help

How to use mods with DS1

Having made a few mods myself, and used a lot more, there are a few things I've learned about using them.

  1. Mods work by replacing and adding files that the game uses. If two mods replace the same file, they won't work together.
  2. There is a wide range of changes that mods can make, from adding weapons, or armor, to new playable characters. Each type of mod is built with no knowledge of any other mods, so they often omit support for the others. For example, my Lara and Naja mods include support for wearing armors/helms/boots/gloves (where applicable, Naja has no legs!) but only for those in the original game. If another mod adds a new armor, then it can't be worn by those characters. The same goes for spells etc. that depend on attributes of the character - an example being the masks in LoH not working for a playable gargoyle.
  3. Additional files in mods will only cause problems if two modders choose the same name for an added file.

Let's look at each of these in turn:

  1. Replaced files: Some files must be replacements, such as the gas file that lists the playable characters for MP. If you want to use more than one mod that provides new playable characters at the same time, you'll need to extract the two dsres files and edit up a combined one - there's no other way.
    Well actually there is. Witness' Dark Elf mod uses two separate dsres files, one of which you use to create the player, and the other you use to play the game. The file that lets you create a new MP character is only used at the beginning of the game, so you could do the same thing by splitting the mods' dsres files in the same way. This requires the same modding skills as the method above!

    Usually you have to decide that you'll use them separately. This means launching the game with only one at a time added to the resources, and the simplest way to do that is to put each mod in a separate folder, and create a new shortcut that has "res_paths=foldername" added to the command line. This tells DS to add the resources in that folder to those in its own Resources folder. Incidentally if coded as "res_paths=!foldername" (note the "!") then the original game Resources files is not used at all - only applicable for a Total Conversion mod. The parameter allows a list of folders, so you can include those for all the mods that work together.

  2. Lack of support: Here your choices are a little different. There is next to nothing you can do to merge the mods unless you have access to the source material. I ran into this trying to use Lara in LoA (which is a mod for DS1, just an official one) because they had introduced new body armor etc. for which there was no corresponding character mesh. There are some helmet mods available that will always be incompatible with Lara because neither mod-maker has done the work required to merge the parts. (Yes, I'm guilty too!)

    Fortunately, I could extract the skins of the meshes for Farmgirl, and make new ones to fit Lara, because I had all the other source material for her. If I had just downloaded her, instead of building her myself, I would not have been able to use LoA and Lara together, so I'd be back to the separate folders and shortcuts again. But then I had to create a new dsres for Lara for LoA, because the updated files in my mod reference new files from LoA, and it wasn't compatible with the original game!

  3. Added file mods: These are typically restricted to new weapons, spells etc. Not all makers of these mods did it the right way, however, so you may find that the meshes and bitmaps are separate files (no opportunity for error here) but some of the templates were added to existing gas files (which therefore get replaced) instead of being in additional ones. If you can untank the dsres and split these, you can make them safe again, otherwise back to the folder/shortcut method.

Tips for mod-makers:

  • You can supply more than one dsres file for a mod. If you put the added files in one, and the replacement files in another, it will make it easier to combine at least part of the mod with others.
  • Don't add your templates to the existing files. Create new ones just for the new items. The obvious exception here is when replacing an existing item.
  • Test your mods with the others that are out there and put your findings in the readme. You'll still get complaints that your mod is incompatible with later ones, so datestamp the readme file as a hint that it applies to a point in time.
  • Make your source material available to other modders if you can. Many imcompatibility problems can be fixed if the two modders can merge content. That doesn't mean you have to go open-source, just be open to requests to trade source material, such as "if I give you a copy of my new helmet, will you make it work on your playable character?"
  • Think outside the box. The startup-only dsres for the Dark Elf mod I mentioned above is an excellent example. It neatly separates that part of the problem from any issues of playing the characters.
  • Design for compatibilty. Tests on "isMale" will work better than tests for a template name of "Farmboy" unless you really wanted that.