Here are some basic steps to start with the modding (tools):
* do a back-up copy of the
data folder. you'll thank me later for this
(you'll have a backup to help you undo changes and be able to create a installation kit for your mod using a comparing tool (Beyond Compare etc)).
* configure the game to run in window mode in a resolution smaller than your Windows desktop
* change the main.cfg file in MyDocuments\SH5\data\cfg:
* there are several types of editors for SH5:
** standalone (Mission Editor and GoblinEditor, the descendant of Kashmir) are executables placed in the same folder as sh5.exe. You use the editor to edit data, close it and then start the game to test the changes. Closing the editor is very important because it frees important system resources that will, otherwise, be locked and the game may crash because there's not enough memory (RAM or video).
** used while the game is running so you can see the changes in real-time (terrain editors, python scripts manager, menu style sheets)
** using the game engine but not the game itself (the Menu Editor). This is the way it has been done for SH3 and while it has its advantages, it also has its drawbacks (but there's never enough time to fix this).
* with the game running (but NOT while there's a loading screen), right click on the window's title bar to show this menu:
With the Windows versions that have the standard task bar, this menu also appears if you right-click the application's button in the task-bar. That's not true for Windows 7 since it has a new API for the task-bar buttons.
* although it doesn't say in the menu, the terrain editors also require the game to be "in patrol mode". As a basic rule, you can't edit something that has not yet been instantiated. So this is also true, you can start the script manager to edit the python scripts while you're in main menu but you can't change the script for the default HUD (since, duh, it's not yet instantiated). You have to be in patrol and the HUD to be running to be able to apply changes you do it (yes, it's something like Edit & Continue).
* the GoblinEditor is used to attach and edit behaviors (controllers) to the structure of every 3D object in the game. This is the way the GDS engine works (the one in the kernel.dll). There are literally hundreds of controller types in the game and can be edited visually using a property grid.
* [
very important]setting up the GoblinEditor means typing the folder where the sh5.exe is located in the ActorsDirectory property in the Tools\Options window (e.g. K:\Games\Silent Hunter 5). The actors are the .act files in the SilentHunter5 folder and are the ones holding the code for all the controllers.
* This is a use case for the GoblinEditor:
**
Open a GR2 file (the one with the 3D geometry, G stands for the
Granny engine). You'll see the object being rendered and its structure in the
GDS Scene Tree panel.
**
Merge the files containing the controllers (.sim, .dat, .chr, .cam, .val, .zon). The
sim file contains the controllers for the simulation (see, SH5 is a simulation after all
) and the
cam file contains the controllers for the camera parameters.
** let's try it. open
data\Objects\Guns\Deck_Gun_GE88mm.GR2 and merge the
Deck_Gun_GE88mm.sim and
Deck_Gun_GE88mm.cam files. Open the
Controller Editor (Ctrl+E) in the
Tools menu. A window is displayed (you may have to resize it the first time) and click on the StationController to see the properties for the controller handling the situation when the player uses the deck gun as a station. The actual gameplay associated with the gun is handled by the
wpn_Cannon controller.
* Now, a little about the folder structure. You can find GR2 files in many folders (Library, Objects, Submarine, Sea etc). The Library folder is special (hard-coded) and contains the objects that are always needed (e.g. torpedoes_g7a-e.gr2). All the other folders contain files loaded on-demand (e.g. there's a text configuration file indicating that the file is to be loaded).
Consider this the first episode of the series. There will be others following this one.
It strikes me that this info could be also stored in a SH5 wiki.
This is a generic thread, so post your questions here so all the modders can read the answer. I think this is much better than answering on every mod's forum thread.
Mihai