6743eb68bb4c7

6743eb68bc6fb
1 Guest is here.
 

Topic: SS2 Modding mechanics & compatibilities Read 44558 times  

6743eb68bd59amiracle.flame

6743eb68bd606
This explanation presumes you've followed steps in the SS2 Technical FAQ: 2) Patching with SS2Tool & 3) using SS2 Modmanager.

First of all you should understand the files SS2 consists of and thus what each mod consists of.

I will list only those files involved in modding with explanation below schemas.


SSHOCK2 -> RES -> *.crf
             -> motiondb.bin
             -> *.bnd
             -> hydro2.dif
             -> shock2.gam
             -> *.mis


Those files are the whole game.

Let's begin with *.crf files. Those are in fact zip archives with the extension renamed to crf. If you (are smart to) use Total Commander file manager you should be able to open these files like any directory just by double-clicking on each (just like any other archive format TC can handle). But they can be opened with 7zip or Winzip too of course. Inside each archive you can see the respective resource files System Shock 2 uses in game but we'll get to that later.

motiondb.bin contains the database of all possible moves each enemy model has.

*.bnd are key bindings in plain text format so you can edit and set them directly with any text editor like notepad.

hydro2.dif is a patch for hydro2 mission file that came with official SS2patch. It's meant to do alterations to hydro2.mis thus if you are going to use any mod that involves hydro2.mis (like StrayLight ADaoB, SecMod, Ultimate Spawn,...I'll explain later) it will most probably cause problems with that particular mission resulting in no changes that mod intends (no laser rapier glowing e.g.) in hydro level and in worse cases in game crashes (monkey crash next to chemical storeroom for SecMod). Therefore I strongly recommend you get rid of this file by e.g. renaming it to hydro2.dif.bak or if you don't care just delete.

shock2.gam is very important file that holds all the informations about gamesys and archetype object properties, interactions between them and so on. In other words it is mostly resposible for all rules and behavior of every aspect in game.

*.mis are mission files that contain the whole architecture of each level with all the objects (pickable and non-pickable), enemies and event traps. All these inherit the porperties of their archetypes stored in shock2.gam so these files has to be compatibile with each other. Therefore it is not recommended to combine *.mis files from one mod with shock2.gam from another mod although sometimes they might be compatibile.


At this moment I've explained what the original files are about but yet I've not covered what and how happens when you activate mods.

The game is cleverly set so it seeks its resource files and IF not found THEN uses the original resources from inside .crf. This is advatage because any resource file can be "overriden" just by putting its newer version "in the way". And that's exactly how mods are working.

SS2 ModManager extracts the contents of activated mods "in the way" (main SSHOCK2 directory that is). Resource files don't need to be back-uped but the original motiondb.bin, shock2.gam and *.mis files that are "in the way" are automaticaly renamed by adding extension .ss2mmbak so they can be easily recovered when you deactivate respective mod.

Here goes the structure of files that are mostly overriden by mods with their explanations below. If you peek into the mods' zip you can tell by the files it contains what exactly does it modify and which are compatibile with each other.

       
SSHOCK2 -> BITMAP ---> TXT16 -> (pics)
              |                -> (pics)
              |
              -> BOOK ----> (pics)
              |
              -> FAM -----> (many directories with pics)
              |
              -> IFACE ----> (pics and some fonts)
              |
              -> INTRFACE -> (many directories with .bin & .pcx)
              |
              -> MESH ----> TXT16 -> (pics)
              |               -> *.bin, *.cal
              |
              -> OBJ -----> TXT16 -> (pics)
              |              -> *.bin
              |
              -> OBJICON --> (pics)
              |
              -> SND ------> (many dirs with wavs)
              |
              -> SND2 ----> (dirs with wavs)
              |
              -> STRINGS --> *.str
              |
              -> motiondb.bin
              -> shock2.gam
              -> *.mis


BITMAP contains textures of effects like explosions etc.

BOOK contains pictures used in your PDA... photos of crewmembers etc.

FAM are the textures of walls, floors, ceilings, pipes and such.

IFACE are pictures of your HUD respectively your cybernetic interface. Graphics of PIG minigames are here as well.

INTRFACE the whole menu pictures and maps for each level are stored here.

MESH is where all the enemies, bodies, ghosts, etc. are stored. The *.bin and *.cal files contain the 3D model. If you peek inside any bin file you may see the names of texture pics that this model uses among the code at the begining. All textures for these models are stored in TXT16 directory.

OBJ works the same way as MESH but here are the models of all objects in game including the weapons you hold in hands as well. Here are the bin and cal files of 3D models with their respective textures in TXT16 directory.

OBJICON are pictures of all pickable objects that are shown in your inventory.

SND are sounds...simple as that.

SND2 are speech sounds of e-mails, logs, etc. including the "speeches" of enemies that are chasing you... like "Run! Ruuun!"

STRINGS are files that contain texts shown in game...mostly logs, e-mails, research reports, etc. You can edit them directly with editor such as notepad.

motiondb.bin  \
shock2.gam    } those I've explained already
*.mis            /


If you want to combine some parts of some mod with some parts of another mod simply copy only the files you want to add into respective folder of your SSHOCK2 directory.

ONLY do this if you are certainly sure you know exactly what are you doing and understand this "guide" in depth!
Otherwise I recommend letting the ModManager handle that for of you.

Note that many mods altering the aspects of gameplay are based on shock2.gam file so they cannot be combined this easily. Right now I'm workin on some project that would let you optionaly combine these aspects as well. For more info see this thread.



UPDATE:

About savegames compatibility with mods I've wanted to mention...
Saves are created in a way that the original maps you've altered by your gameplay (shot something, taken objects, interacted and so on) are saved in your SAVE_X folder in the altered state. And when you load your savegame the whole map is taken from your SAVE_X folder and not the original from SSHOCK2 dir.

The conclusion:
Any mod not containing *.mis files will be fully compatibile with your saves and those which have them will be compatibile only in those levels you've not been to yet (so they will load the unaltered map and not your saved).
« Last Edit: 13. October 2010, 13:40:23 by Kolya »
Modding mechanics & compatibilities
6743eb68bd88a
I made some minor changes to this otherwise great explanation:

1.) People shouldn't delete their DIF files.
I know that we had that discussion with TF's SecMod to rename hydro2.dif (He should just have included an empty hydro2.dif, that would at least work for the Modmanager.) and I'm pretty sure that Straylight knew how DIF files work and took that into account. So at best, rename the DIF file.

2.) I use TC, but even so I know it's not common enough to make that the first option in explaining how people can open CRFs. The unpacker option works for everyone, and besides TC users are smart enough to know they can open archives with Total Commander. ;)

Finally, if people want to combine mods, they should copy the files with according folder structures and make a new mod out of it. Because it can confuse the Modmanager if you just exchange some files in the gamedir. Generally that's not advisable.

Your name:
This box must be left blank:

Look at you, hacker: a pathetic creature of meat and ____!  (Fill in the missing word):
1 Guest is here.
You have been warned.... Twice!
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
6743eb68be0b3