How to pack your Mission: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
No edit summary
Line 1: Line 1:
{{important|headline=Note|text=This article is WIP.}}
{{important|headline=Note|text=This article is WIP.}}


This article should describe how to pack TDM missions for release, distinguishing between missions using just vanilla (unmodified official) mod resources and those adding custom content like textures, def files and/or modifying original TDM files.
This article should describe how to pack TDM missions into so-called PK4 files for release.


= What you should do in any case =
= Mission PK4s =
Regardless of whether your mission is using custom resources or not, you should always perform a full recompile of your map. Delete the .proc, .cm and .aas* files and run a dmap command from TDM console. Make sure the dates of these files are making sense and no old files are floating around in your maps/ folder.
Each TDM mission must be packaged in a PK4 file (a PK4 is just a renamed ZIP archive). The PK4 contains all the files needed to run the mission, including map, cm, aas, proc files, textures, models, scripts, defs, xdata, etc. The contents of the PK4 resemble the folder structure as found in the main <tt>darkmod/</tt> directory: textures go into textures/, .def files go to def/ and so on.


= Missions basing on vanilla TDM =
At the very minimum, a PK4 archive needs to contain the compiled map and two text files:
If your mission is just using TDM resources (no scripts, no custom textures, no additional models, no new def files), the packaging process is rather easy. This guide assumes your mission is called outpost, so you're starting with something like this in your maps folder:
  maps/outpost.map
  maps/outpost.map
  maps/outpost.proc
  maps/outpost.proc
  maps/outpost.cm
  maps/outpost.cm
  maps/outpost.aas32
  maps/outpost.aas32
First step is to pack these files into your PK4 file, which can be done with any program capable of handling ZIP files (PK4s are just renamed ZIPs), like [http://www.7-zip.org 7-zip]. Create a new maps/ folder somewhere on your hard drive and copy the above files into this folder. Let's suppose this is <tt>c:\temp\outpost\maps</tt>:
  darkmod.txt
  C:\temp\outpost\maps\outpost.map
  startingmap.txt
  C:\temp\outpost\maps\outpost.proc
Easy to see, the above example list of files is based on a mission called <tt>outpost</tt>. The two text files are needed to display your mission in the "New Mission" dialog in TDM's main menu. See their descroption below.
C:\temp\outpost\maps\outpost.cm
== darkmod.txt ==
C:\temp\outpost\maps\outpost.aas32
Navigate to the <tt>c:\temp\outpost</tt> folder and right-click the maps/ folder. Depending on your compression program you should find an option in the context menu to add the maps/ folder to some archive. Name or rename that archive to outpost.zip and check the contents: the maps/ folder should be right at the "top-level" of that archive (no outpost/ folder in that ZIP!).
 
Go ahead and rename that zip file to pk4. To make the package complete, you'll need to add two more files: '''startingmap.txt''' and '''darkmod.txt'''. Use your text editor to create these two files and place them next to the outpost.pk4 file. Their content looks similar to this:
=== darkmod.txt ===
The darkmod.txt file describes your mission in the TDM's mission selection dialog:
The darkmod.txt file describes your mission in the TDM's mission selection dialog:
  Title: The Outpost
  Title: The Outpost
Line 26: Line 20:
  Author: angua & greebo
  Author: angua & greebo
The description text mustn't be too long, be sure to check the length of the texts when testing the package in the mission installation dialog.
The description text mustn't be too long, be sure to check the length of the texts when testing the package in the mission installation dialog.
=== startingmap.txt ===
== startingmap.txt ==
This file holds the name of the first mission to load when the player selects "Start Mission". This is interesting for multi-map campaigns, but for a single-map mission just put the name of your map file in here: outpost.map.
This file holds the name of the first mission to load when the player selects "Start Mission". This is interesting for multi-map campaigns, but for a single-map mission just put the name of your map file in here: outpost.map.


Together with the PK4 file, the two text files make the package complete. Put these three files into your <tt>darkmod/fms</tt> folder and test it by selecting "New Mission".
== Before creating the PK4 ==
 
You should always perform a full recompile of your map. Delete the .proc, .cm and .aas* files and run a dmap command from TDM console. Make sure the dates of these files are making sense and no old files are floating around in your maps/ folder.
= Missions with Custom Content =
'' TODO ''
 
 
 
= Old Info =
 
An easy way to release maps is to provide a PK4 archive, which can easily be dropped into the mod folder.
 
All your unique assets should be packed into an archive with the same directory structure as the main mod (ie, your map file should be in the "[archive name]/maps/" folder, materials go in "[archive name]/materials/" etc). '''The archive must be a zip.  RARs will not work.''' (You can of course use WinRAR or other RAR archive programs to create an actual ZIP file, just check the correct option - the most important thing is that the file is in ZIP format).  
 
You can name the archive whatever you want. Once it is packed you just rename the zip extension to pk4.  So your archive will look like '''my_map_v001.pk4'''. The result can be dropped either in the darkmod directory or in the base folder of your Doom 3 installation.
 
Make sure that the packed folders are not contained within a top folder, otherwise Doom3 will not be able to find anything in it. It has to look like this:
 
maps/
models/
textures/
xdata/
 
Please check this by extracting your PK4/ZIP into another location and see if the maps/ folder gets created in the correct position.


== Overriding Default Dark Mod Content ==  
== Creating your PK4 ==
Files that exist outside of PK4s take precedence over the packed files. So, placing a tdm_player_thief.def file into your PK4 won't do anything, because the file in the "real" filesystem will override the one within the PK4. This situation might change by the time The Dark Mod is released, but I thought this might be worth mentioning.
A good way to create your initial PK4 is to copy the compiled map files to a temporary maps/ folder and to zip them up. You can use any compression program capable of handling ZIP files, like 7-zip, WinRAR, WinZip, whatever (''important'': do not create files using RAR, 7z or any other format, only the ZIP format will be recognised). Be sure that the maps/ folder ends up in the root of your ZIP. Then add the '''darkmod.txt''' and the '''startingmap.txt''' to the archive.


If you need to override default Mod content (the tdm_player_thief.def might be one of the few occasions where this might be appropriate), the files must be extracted from the PK4, possibly overwriting the vanilla Mod files. So be sure to warn your users about this, as long as no dedicated Dark Mod loader is available (which again might be obsolete by the time the Mod is released).
In case you haven't added any custom models, textures or other assets (i.e. you're just using vanilla TDM assets), you're done here. Proceed with [[#Testing the PK4]]


==Other considerations==
== Adding custom Assets ==
Any custom models, textures, def, xdata files need to be added to the PK4. Be sure to put the files in the exact same folder structure as found in the darkmod/ main mod folder. Example: .mtr files need to go to the materials/ subfolder. If you were to extract the PK4 file to the darkmod/ folder, the files would end up in the correct place (note: don't do this actually, you might overwrite existing files in the darkmod folder).


* Mission name file
In the (hopefully) rare case your mission needs to overwrite existing TDM content (e.g. modify a DEF file present in the main mod to change a setting), just include the modified file in your PK4. The file in your PK4 will "overrule" the ones in the mod base when the mission is installed (this is what the <tt>fs_game_base</tt> and <tt>fs_game</tt> parameters are for: "game" content will overrule "game_base" content).
* Readme
* Briefing (may be included in Readme or maybe video?)
* Requirements - essentials to be included such as 'not for sale', copyright etc. What should be in every readme. If any.
* A guide to what is recommended in a good info readme?


== Testing the PK4 ==
Once created, create a new folder in your darkmod/fms/ directory and put the PK4 in there. Then start TDM, your map should be listed now in the list of available missions. Make sure to use a "good" foldername for your PK4, not conflicting with any existing ones and without spaces, special or foreign (=non-english) characters. Numbers are fine.


Install the mission and see whether it starts correctly.


[[Category:Editing]]
[[Category:Editing]]
[[Category:Tutorial]]

Revision as of 18:30, 18 January 2009

Note

This article is WIP.

This article should describe how to pack TDM missions into so-called PK4 files for release.

Mission PK4s

Each TDM mission must be packaged in a PK4 file (a PK4 is just a renamed ZIP archive). The PK4 contains all the files needed to run the mission, including map, cm, aas, proc files, textures, models, scripts, defs, xdata, etc. The contents of the PK4 resemble the folder structure as found in the main darkmod/ directory: textures go into textures/, .def files go to def/ and so on.

At the very minimum, a PK4 archive needs to contain the compiled map and two text files:

maps/outpost.map
maps/outpost.proc
maps/outpost.cm
maps/outpost.aas32
darkmod.txt
startingmap.txt

Easy to see, the above example list of files is based on a mission called outpost. The two text files are needed to display your mission in the "New Mission" dialog in TDM's main menu. See their descroption below.

darkmod.txt

The darkmod.txt file describes your mission in the TDM's mission selection dialog:

Title: The Outpost
Description: Break into a builder outpost to retrieve a gold ingot.
Author: angua & greebo

The description text mustn't be too long, be sure to check the length of the texts when testing the package in the mission installation dialog.

startingmap.txt

This file holds the name of the first mission to load when the player selects "Start Mission". This is interesting for multi-map campaigns, but for a single-map mission just put the name of your map file in here: outpost.map.

Before creating the PK4

You should always perform a full recompile of your map. Delete the .proc, .cm and .aas* files and run a dmap command from TDM console. Make sure the dates of these files are making sense and no old files are floating around in your maps/ folder.

Creating your PK4

A good way to create your initial PK4 is to copy the compiled map files to a temporary maps/ folder and to zip them up. You can use any compression program capable of handling ZIP files, like 7-zip, WinRAR, WinZip, whatever (important: do not create files using RAR, 7z or any other format, only the ZIP format will be recognised). Be sure that the maps/ folder ends up in the root of your ZIP. Then add the darkmod.txt and the startingmap.txt to the archive.

In case you haven't added any custom models, textures or other assets (i.e. you're just using vanilla TDM assets), you're done here. Proceed with #Testing the PK4

Adding custom Assets

Any custom models, textures, def, xdata files need to be added to the PK4. Be sure to put the files in the exact same folder structure as found in the darkmod/ main mod folder. Example: .mtr files need to go to the materials/ subfolder. If you were to extract the PK4 file to the darkmod/ folder, the files would end up in the correct place (note: don't do this actually, you might overwrite existing files in the darkmod folder).

In the (hopefully) rare case your mission needs to overwrite existing TDM content (e.g. modify a DEF file present in the main mod to change a setting), just include the modified file in your PK4. The file in your PK4 will "overrule" the ones in the mod base when the mission is installed (this is what the fs_game_base and fs_game parameters are for: "game" content will overrule "game_base" content).

Testing the PK4

Once created, create a new folder in your darkmod/fms/ directory and put the PK4 in there. Then start TDM, your map should be listed now in the list of available missions. Make sure to use a "good" foldername for your PK4, not conflicting with any existing ones and without spaces, special or foreign (=non-english) characters. Numbers are fine.

Install the mission and see whether it starts correctly.