Before you use this, you need to run dxsetup.exe to correctly install the needed d3dx dll.

How to build a new single player mission using the binmaker tool:
This readme assumes you understand XML files and how they work. (tags, attributes etc).
And it also assumes that you undersatnd how to make new big files and how to get the game
to read them.
And it assumes that you know how to use worldbuilder, how to create radar map images (i.e. the _art.tga files) and how
to extract the existing maps and load them with worldbuilder.
To build a new single player mission, do the following:
1.Identify which single player mission you wish to replace
2.Use worldbuilder to build the mission, naming it after the
single player mission you want to replace. To get the filename to use,
open spmaps.big with a big program and look for it. You can also extract
any/all of the single player maps from spmaps.big/patch5.big and open them
in worldbuilder to see how the scripting should work etc
3.Once you have a completed map and are ready to test it in the game, make
a copy of the map_5.xml file included with this download package.
4.Open the map.xml generated by worldbuilder. Find the <GameMap tag.
Copy everything including that tag down to the end of the file except
for the </AssetDeclaration> tag on the last line of the file and paste
it into the copy of map_5.xml just before the </ManifestFile> tag at
the end of the file
5.Now set up the mission objectives.
This is an example of what the XML should look like. It should go just before the </ManifestFile> tag
<MissionObjectiveList id="MissionObjectives">
<MissionObjective Name="SCRIPT:GDI_1_3_Objective_1" Detail="SCRIPT:GDI_1_3_Obj_1_Detail" Bonus="false">
<PresentationSettings Name="GDI_ToW_1_3_Objective_1" SoundFile="MG13_GDIEVA01" psa="0" psb="6" psc="0.174532920122147" psd="0.349065840244293" pse="0" psunk="true"/>
</MissionObjective>
</MissionObjectiveList>

Each <MissionObjective tag corresponds to one mission objective.
Each <PresentationSettings tag corresponds to one of the arrows you see in-game.
You can have multiple PresentationSettings tags for a MissionObjective tag.
For the MissionObjectiveList tag, leave id set to MissionObjectives.
For the MissionObjective tag, set Name to the name of a string from cnc3.csf (or map.str which I
think the game will read similar to previous SAGE engine games) to be used for the name of the objective.
Set Detail to the name of a string to be used for the description of the objective.
Set Bonus="true" if the objective should be a bonus objective or set Bonus="false" if the objective should not be a bonus objective.
For the PresentationSettings tag, set Name to a name for the presentation settings (which is referenced in the scripts for the mission)
Set SoundFile to the name of an AudioEvent (You can find out the names of the AudioEvents the game supports with the BinOpener program)
I am not 100% sure excatly when this sound file is played.
psa,psb,psc,psd and pse are all floating point numbers. Exactly what they mean I do not yet know so just play around with them and see what happens.
Set psunk="true" or psunk="false". I dont know exactly what it does yet so play around with it and see what happens.

6.Once you set up the mission objectives, drag the xml file on top of the binmaker.exe icon. It will then compile the xml file and spit out map_5.bin, map_5.manifest, map_5.imp and map_5.relo files
7.Create a new big file containing a folder data\maps\official\<mapname> (where <mapname> is the name of the map you are replacing)
In this big file it should contain the 4 map_5.* files created by binmaker. It should also contain the .map file you created with worldbuilder along with the _art.tga file
for the radar map.
8.Modify the config.txt files/.skudef file to load the new .big file
then 9.Load the game and play the new mission you just made.

You will need to re-copy the map.xml file content and recompile the map_5.* files anytime you edit the scripts of your map, edit the settings of your map
or add or remove any object.

I am working on several further useful items that will be released at a later date:
1.An "add-on" of sorts that lets you use the weather settings from any of the official maps that change the weather settings from the default. (basically it will involve copying an extra piece of XML in before you compile it with binmaker)
2.A list of all the maps in the game and their filenames/folder names
and 3.A list of all the AudioEvents in the game (not including descriptions though)

Anyone is free to use the included binmaker program and its source code for any purpose as long as they comply with the GNU General Public License (basically if you make changes to this program and distribute those changes,
you have to include the changed source code)
It should compile with any decent C++ compiler although I used Visual C++ 2005 (the express edition of that compiler will compile this)

If you have any questions, feel free to contact me:
AIM jonwil2002
MSN JonathanWilson623@hotmail.com
ICQ 77572965
Yahoo jonwil2002
email jfwfreo@tpgi.com.au
or you can post on:
the EA map editing forum
the Derilict Studios C&C3 forum
the Deezire C&C3 forum
the Project Perfect Mod C&C3 forum
all 4 of which I read on a regular basis

Note that this download and tool is NOT endorsed or supported in any way by Eletronic Arts.
Also, although this program has been tested by myself, I am not responsible if this screws up your game etc etc etc.
