Structure
For MMM to work properly several files need to be added and some settings updated. This page lists everything you need to change in order to get MMM running.
BZN Files
Map files should go in the bzn folder as usual. For a map to support MMM, the following settings must be updated:
- Script File - This should be set to mmm_loader.dll, or whatever you have renamed it.
- Title - This should be set to something, and your Lua files or pack should have the same name.
- Map Type - This should be set to mission.
Loader
The MMM loader DLL is require in order to run MMM scripts. It should be placed in the missions directory of your mod. You also need to set this as the script file in the properties of your map in the map editor. Without setting this value, MMM will not be loaded.
Lua Scripts / Pack
All mission scripts are Lua files - they can either be in a normal directory structure or packed into a zip file. These files are stored in the missions directory alongside the loader. For more information on packs, see the tutorial. There must be a Lua file or a pack with the same name as the title of your mission - that is the title field in the map properties in the map editor.
ODFs
MMM has two of its own ODF files which are used for saving and loading data. If you use the Save or Load classes then these ODF files are required.
Other Files
Any objectives files that need to be loaded by an MMM mission should be placed in the objectives folder. Sounds should go in the sounds folder. All media resources such as these must be present when the game is launched to ensure that they are loaded.
Campaign Settings
To make missions available in the single player menu you'll need to perform several steps (these are all done for you in the default installation). There are a number of animation and bitmap files required in order to make the single player menu usable - there are some included in the MMM mod folder to get you started, but they are described below too.
Menu Graphics
The following files need to be added to bitmaps. The Bink files must be 320x220 in resolution and can be created using the Rad Video Tools.
Name | Type | Description |
---|---|---|
bitmaps\MissionSelect\MissionField.bmp | BMP Image | Image for active non-selected buttons |
bitmaps\MissionSelect\MissionFieldDisabled.bmp | BMP Image | Image for disabled buttons |
bitmaps\MissionSelect\MissionFieldH.bmp | BMP Image | Image for active selected buttons |
bitmaps\MissionSelect\MissionSelectBG.bmp | BMP Image | Background image for the mission list dialog |
bitmaps\Single\borg.bik | Bink Video | Plays in the bottom-right slot when not moused over |
bitmaps\Single\borgGlow.bik | Bink Video | Plays in the bottom-right slot when moused over |
bitmaps\Single\federation.bik | Bink Video | Plays in the top-right slot when not moused over |
bitmaps\Single\fedGlow.bik | Bink Video | Plays in the top-right slot when moused over |
bitmaps\Single\klingon.bik | Bink Video | Plays in the bottom-left slot when not moused over |
bitmaps\Single\klingonGlow.bik | Bink Video | Plays in the bottom-left slot when moused over |
bitmaps\Single\singleplay.bmp | BMP Image | Background image for the single player menu |
bitmaps\Single\tutorial.bik | Bink Video | Plays in the top-left slot when not moused over |
bitmaps\Single\tutorialGlow.bik | Bink Video | Plays in the top-left slot when moused over |
Configuration Settings
In order to make the missions appear in the single player menu, some changes need to be made to some configuration files in the directory.
In RTS_CFG.h, cfgSINGLE_PLAYER_ENABLED = 1 needs to be added. This will re-enable the single player menu.
In the file mshell.set the .bzn filenames need to be added. The dashes separate campaigns, so the following would add some missions to the first campaign slot, leaving the other slots empty:
EntityFinderTutorial.bzn
MonitorTutorial.bzn
TimerTutorial.bzn
CineractiveTutorial.bzn
TextInputTutorial.bzn
-
-
-
-
Finally in the Label.map file you need to find the mission_select section and entries for your map names - this will make sure that the buttons have text. It should look something like the following:
mission_select {
+ title {}
+ ok_button {OK}
+ cancel_button {Cancel}
+ MonitorTutorial.bzn {Monitor Tutorial}
+ TextInputTutorial.bzn {TextInput Tutorial}
+ TimerTutorial.bzn {Timer Tutorial}
+ CineractiveTutorial.bzn {Cineractive Tutorial}
+ EntityFinderTutorial.bzn {EntityFinder Tutorial}