NOTE: Some of the information in this document hasn't been tested under version 1.3 of the game. The .module file has changed at least one thing (TextureFE line added) but it is unknown if any of these parameter lines have been removed. Use only those provided in the Basic .module file section to be sure not to crash the game.
Introduction
The Module File (My_Mod.module) is a special file which contains the information pointing to the actual files used in your modification for the game. Without this, the game will not even know it exsists, and will not appear in the Mod Manager in the main menu, and cannot be loaded by .bat or shortcut parameter.
Basic .module file
This is a basic .module file provided with the Mod Tools, for My_Mod:
[global]
UIName = My_Mod
Description = My Super Duper Mod for Dawn of War
DllName = W40kMod
ModFolder = My_Mod
ModVersion = 1.0
TextureFE = Art/UI/Textures/My_Mod.tga
DataFolder.1 = Data
RequiredMod.1 = W40k
It is the bare minimum you can add to the file, and contains no comments.
You can add comments using ;; like this:
;; This is a comment line. The line below isn't.
UIName = My_Mod
Quick overview
From the Mod Tools readme:
You will need to edit the following files to setup your MOD:
C:\Program Files\THQ\Dawn of War\My_Mod.module
Copy and rename this file to the name of your mod, .e.g. SpaceHulk_Mod. The fields of interest in this file are:
UIName – This is the name of your MOD that will be shown in-game.
ModDLL – Leave this pointing at W40kMod – otherwise your MOD will not load!
ModFolder – This must match the name of the folder that you created in step #1 of the Folder Structure section.
ModVersion – This is the current version of your MOD. Increment this each time you release a new version of your MOD!
TextureFE – This is the name of the texture that is displayed in the front end when your MOD is active.
RequiredMod.1 – Leave this pointing at W40k to modify the existing data. If you want to create a total data conversion then you should leave this blank (for advanced modders only).
File lines
This is the different sections of the .module file, and not all of them appear in the sample one.
[global]
This is a section identifier. Since there are no other sections, I think it was put here to allow for future expansion of the Mod system.
UIName =
This is the name of your mod. This shows up in the top left of the main menu screen by the client version. This can be actual text, or a reference number to the modname.ucs file (found in the Locale/(language)/ directory of your mod.).
Description =
A brief description of your Mod. I haven't yet found where this is used. Perhaps it's just for your convenience.
ModVersion =
This is the release number of your mod. It displays in the top left along with the UIName. It's possible that the network code checks against this value on the server if you connect to a game running this mod. I've never actually tried that yet, so I don't know.
Numbers before 1.0 represent alpha (not released to others to test) and beta (released to testers to test) versions of a mod, or commonly, a mod that isn't complete and released anyway.
1.0 usually represents the first release of the complete, working mod
Of course, anything after 1.0 should be patched versions.
TextureFE =
This is the name of the texture that is displayed in the front end (main menu) when your MOD is active. It should be a 256x256 32-bit TGA file with an alpha transparency layer. It could be other sizes, but gets stretched/shrunk to the 256x256 size in the main menu anyway.
ModFolder =
This is is the base path for all your mod files. It needs to point at a subdirectory underneath your Do W install directory. This is used for all of the follow paths and locations.
DataFolder.[1-?] =
This section consisting of several different folders tells the program where to look for the files. If you have any files that are not contained in the .sgm archives you will need to set this information. While you are working on you mod you will be doing everything in these directories, make sure they are set.
ArchiveFile.[1-?] =
This section consisting of several different SGA files (without the .sga extention) tell the program which archives to process and use as game files. You only need this section if you have packaged your mod. Until you actually have a release version of your mod, you probably won't need this section. These files will live in your base Mod Folder. See the Mod Packager page for SGA information.
LocaleFile.[1-?] =
The Do W program allows you to make seperate sounds and text messages for the different languages and regions that the game supports. This is extra stuff that most mod makers won't deal with. However, you might want to be aware of it if you start downloading Mods from other countries.
This section allows you to package those language specific files as .sga files. Put the names of the SGA files in these lines and place the files in the appropriate Locale directory. That will be {base Mod Folder}/Locale/{language} (For example. English files would be in My_Mod/Locale/English/archive.sga). See the Mod Packager page for SGA information.
RequiredMod.[1-?] =
This line allows you to base you mod off of other mods, supposedly so you don't have to duplicate a lot of information. It's not quite perfect yet. Set it equal to the name on the .module file of the mod you require.
Unless you are doing a total conversion (and I mean TOTAL conversion) you will need the main Dawn of War W40K mod. So, using the value 'W40k' (as can be seen on the W40k.module file in the main Do W folder) you'd get all the current game info. (the 4 original races, with all their attributes, art, and ai, plus all the missions from the SP campaign etc.)
CURRENT ISSUES (edit as necessary)
The DataFolder, ArchiveFile, and LocaleFile lists are not reinitilized when you move in to the required mods. Unless a value is specifically overwritten, it will be passed on. (example My_Mod requires W40k mod. My_Mod has a value ArchiveFile.4=MyMod.sgm If W40K mod doesn't have a value for ArchiveFile.4, it will also require MyMod.sgm, but most likely won't be found.)
The default W40K.module file has 4 'DataFolder' values. In reality, the official W40K mod doesn't use any DataFolders. This results in extra warnings in the Warnings.log file. This is more of a game bug than an ModTool bug, but it's probably of interest to Modders at this stage of the game.
Sample .module file
This is for a Campaign called Graskullz War WAAGH!. The mod folder is graskullz, and this file would be saved under graskullz.module. This mod also has a custom TextureFE file – in Art/UI/Textures/Graskullz.tga.
This is a 1.3 version of the .module file.
;; //////////////////////////////////////////////////////////////////
;; Graskullz War WAAGH! Module File
;; //////////////////////////////////////////////////////////////////
[global]
UIName = Graskullz War WAAGH!
Description = My Campaign for Orks
DllName = W40kMod
ModFolder = graskullz
ModVersion = 1.0
TextureFE = Art/UI/Textures/Graskullz.tga
;; //////////////////////////////////////////////////////////////////
;; List of folders to map for this MOD
;; order is important - the first Archives registered will be scanned for files first
DataFolder.1 = Data
DataFolder.2 = Data_Sound\%SOUND-LEVEL%
;; //////////////////////////////////////////////////////////////////
;; List of archives to load for this MOD
;; //////////////////////////////////////////////////////////////////
;; List of archives containing localized content to load for this MOD
;; //////////////////////////////////////////////////////////////////
;; List of MODs that this MOD requires to work
;; You want to uncomment the below line and put 'W40k'
;; if you want to require the core data for your mod
RequiredMod.1 = W40k
;; //////////////////////////////////////////////////////////////////
;; List of mods that have scenarios compatible with this mod
;; CompatableMod.1 =