RvS Mapping Tutorials
Odds & Ends
Navigation

Creating an RvS Map Info (.INI) file
-by Beckett, last updated March 24, 2003

This tutorial will assume that you are comfortable working with Windows folders and unrecognized file types. This tutorial also assumes that you have completed my first tutorial, Building Your First Raven Shield Map, and have a basic RvS map created named "mymap.rsm".

Important Note: RvS does not deal well with extra spaces in the .ini file. If you copy/paste text from this tutorial, make sure you remove all extra spaces from the end of each line. Also, confirm that your operating system is set to display file extensions for all files (if you normally do not see file extensions when browsing files, open the "Tools" menu in windows explorer and choose "Folder Options", select the "View" tab, then scroll down and uncheck "Hide file extensions for known file types".)

If you want to get your map working in-game quickly, you can simply copy the .ini file of an official map and change a few settings. You can also download
Revraz's MapHelper utility, which provides an easy to use interface and automatically creates the necessary files. However, in this tutorial we are going to create a new map .INI file from scratch in order to learn what each line does.

Create a new text file in the "maps" directory and rename it to "mymap.ini". Open the file in notepad. To start, enter these two lines:

[Engine.R6MissionDescription]
version=2


These two lines should be included for every map.

m_MapName=mymap


This needs to match the name of your .RSM file.

m_ShortName=MY1


The ShortName is used in the filename of saved Plans (planning stage details). I recommend assigning a three character ID that you are sure is unique (not shared by any of the official maps).

LocalizationFile=mymappack


This line pulls the menu name and mission info from a separate localization file, which can be shared by your entire mod or mappack. Localization provides support for multiple languages, based on the install. For example, the French version will use mymappack.fra if present. If the install is not localized, or if no localized file is found, it will look for mymappack.int (.INT stands for International) and use this as the default text. We are going to create that file now.



Save your .INI file, and then create a new text file in the RavenShield "system" directory and rename it to mymappack.int. Open mymappack.int in notepad and enter the following lines:

[test1]


This should match the name of your .ini and .rsm file.

ID_MENUNAME=My Custom Map


This is the formal mission name (i.e. Oil Refinery, Parade, etc.) that you wish to appear when selecting maps for Multiplayer or Custom Missions.

ID_CODENAME=Roaring Elephant


This is the cool codename that sounds like the title of a Clancy novel. It will appear on the loading screen and on the mission briefing page.

ID_DATETIME=2003.3.19 - 1300
ID_LOCATION=Philadelphia PA, North America


These will appear on the mission briefing page and on the the loading screen in both singleplayer and multiplayer

ID_CONTROL=First line of text.\n\nSecond line of text.
ID_CONTROL1=The conclusion of a whole lot of text
ID_CLARK=Kill terrorists. Got it?
ID_SWEENY=We are dealing with dangerous people. Kill them.
ID_NEWSWIRE=A covert operation rescued a cat out of a tree early yesterday.
ID_MISSION_ORDER=Your mission is kill terrorists.


This is the text that appears on the mission briefing page. If you omit a line, that "person" will simply be grayed out. "\n" will produce a line break in the text. The "ID_CONTROL1" line is actually unnecessary in this example, however I wanted ot illustrate that anytime your text is over 500 characters long, you need to enter the first 500 characters normally (i.e. "ID_CLARK") and then the next 500 characters as a new line ("ID_CLARK1"). Note that while the mission orders text is entered in this mappack .INT file, the corresponding audio files will be assigned later in our map .INI file. If you are creating a multiplayer only map, you can skip these lines completely.

This .INT file can be used for all the maps in your mod or mappack. You would simply add the settings for the second map right below the first.



Now, save your .INT file and return to the mymap.INI file we created earlier in the "maps" directory. Add the following lines:

m_TMissionOverview=Texture'R6MenuBG.CampainImage.Parade'
m_RMissionOverview=(X=0,Y=0,W=230,H=130)


This specifies the image that you want to appear when someone selects the map name on the Custom Missions page. Note that this image must be stored as a map texture in the identified package in the editor (which may be explained in a future tutorial, but is outside the scope of this one). The 2nd line allows you to crop the image. I believe the reason for the cropping is that the standard size of mission snapshots in the unreal engine is 256 x 256 units, however the RvS in-game menu is designed for 230 x 130 images. If you look at the screenshot textures for the official campaign missions from within the editor, you'll see that they are 256 x 256 graphics but everything outside the 230 x 130 area is just blackspace.

m_TWorldMap=Texture'R6MenuBG.MissionConf.RS_M15_Parade'
m_RWorldMap=(X=0,Y=0,W=196,H=98)


This specifies the "movie" that plays on the mission briefing page. The animated texture must be stored in the identified package. The total size of the graphic should be 256 x 128 units, however the viewable area will only be 196 x 98. I must admit I have had zero success in getting this line to actually load the movie, even when I know that the movie exists in the location specified. If you have had success with this, please let me know how.

m_MissionArmorTypes=Class'R6Description.R6DescLightGreyCamo'
m_MissionArmorTypes=Class'R6Description.R6DescMediumGreyCamo'
m_MissionArmorTypes=Class'R6Description.R6DescHeavyGreyCamo'
m_MissionArmorTypes=Class'R6Description.R6DescLightBlueCamo'
m_MissionArmorTypes=Class'R6Description.R6DescMediumBlueCamo'
m_MissionArmorTypes=Class'R6Description.R6DescHeavyBlueCamo'


These lines control which armor types you wish to make available for singleplayer missions. The armor types available with the retail game are:

R6DescLight

R6DescMedium

R6DescHeavy

R6DescLightGreyCamo

R6DescMediumGreyCamo

R6DescHeavyGreyCamo

R6DescLightBlue

R6DescMediumBlue

R6DescHeavyBlue

R6DescLightBlueCamo

R6DescMediumBlueCamo

R6DescHeavyBlueCamo

R6DescLightEuroCamo

R6DescMediumEuroCamo

R6DescHeavyEuroCamo

R6DescLightGreen

R6DescMediumGreen

R6DescHeavyGreen

R6DescLightGreenCamo

R6DescMediumGreenCamo

R6DescHeavyGreenCamo

R6DescLightWinter

R6DescMediumWinter

R6DescHeavyWinter

R6DescLightWinterCamo

R6DescMediumWinterCamo

R6DescHeavyWinterCamo

R6DescLightTan

R6DescMediumTan

R6DescHeavyTan


This section will not affect multiplayer uniform options at all. Moving on...

GameTypes=(package=R6Game,type=R6PracticeModeGame,maxNb=16)
GameTypes=(package=R6Game,type=R6LoneWolfGame,maxNb=1)
GameTypes=(package=R6Game,type=R6TerroristHuntGame,maxNb=16)
GameTypes=(package=R6Game,type=R6HostageRescueGame,maxNb=16)
GameTypes=(package=R6Game,type=R6MissionGame,maxNb=16)
GameTypes=(package=R6Game,type=R6StoryModeGame,maxNb=16)


Each line "turns on" an additional single player game type for this map. If you skip these lines, you will have a multiplayer only map. Personally, if you've put a lot of time into a map, I think you should try to implement every game type to maximize the value of your map. Believe it or not, there are folks who play multiplayer pilot missions 24 hours a day as well as those who play nothing but single player tango hunts. However, if you turn a game type on, make SURE you have the appropriate insertion points and actors created in the map or you will run into trouble.

The Practice, Lone Wolf, Tango Hunt, and Hostage Rescue game types match the options on the Custom Missions page. I'm really not sure about "Misson" and "StoryMode", although Mission probably identifies a map as part of the official campaign (however, there's definately a lot more involved in adding to the official campaign, which is beyond the scope of this tutorial). It appears that changing the maxNb setting for single player games does not have any effect (Lone Wolf is still 1 operative, and Tango Hunt is still 8 operatives regardless).

GameTypes=(package=R6Game,type=R6TerroristHuntCoopGame,maxNb=16)
GameTypes=(package=R6Game,type=R6HostageRescueCoopGame,maxNb=16)
GameTypes=(package=R6Game,type=R6HostageRescueAdvGame,maxNb=16)
GameTypes=(package=R6Game,type=R6DeathMatch,maxNb=16)
GameTypes=(package=R6Game,type=R6TeamDeathMatchGame,maxNb=16)
GameTypes=(package=R6Game,type=R6TeamBomb,maxNb=16)
GameTypes=(package=R6Game,type=R6EscortPilotGame,maxNb=16)
GameTypes=(package=R6Game,type=R6NoRules,maxNb=16)


Each line "turns on" an additional multiplayer game type for this map. If you skip these lines, you will have a singleplayer only map. Again, if you turn a game type on, make SURE you have the appropriate insertion points and actors created in the map. The gametypes above are self explanatory, with two exceptions: "Deathmatch" appears as "Survivor" in-game, and I sure wish I knew what the "NoRules" gametype was for.

I really like how this is all configured. I hope that people working on total conversions will utilize the framework that is established here. (i.e. "package=JohnsTotalConversion, type=PinTheTailOnTheTango")

m_AudioBankName="Voices_MenuMiss9"
m_PlayEventControl=Sound'Voices_MenuMiss9.Play_ControlM09'
m_PlayEventClark=Sound'Voices_MenuMiss9.Play_ClarkM09'
m_PlayEventSweeney=Sound'Voices_MenuMiss9.Play_SweeneyM09'


These are the audio files used on the mission briefing page. This example borrows the audio from mission 9 so you can see the proper format. There's no harm in skipping these completely, since they normally would just be used to echo the text we created in the mymappack.int file. However, if you are feeling ambitious, you would need to record and store the files in the identified package in the editor (Which is outside the scope of this tutorial). These files are not used at all in multiplayer games.

m_InGameVoiceClarkBankName="Voices_Clark_Mission09"
m_PlayMissionIntro=Sound'Voices_Clark_Mission09.Play_Mission09_Intro'
m_PlayMissionExtro=Sound'Voices_Clark_Mission09.Play_Mission09_Extro'


These are the audio files played upon insertion into a map, and upon successful extraction from a mission. These clips only play during MIssionMode game types (including Practice and Coop missions).


This section assigns uniforms to each team for mutiplayer games. Team 1 is always referred to as the "green" team, and Team 2 as the "red" team. If you omit these lines completely, or if you enter invalid uniform names, default blue and tan uniforms will be used. To modify the team uniforms from this example, change instances of "R6RainbowMediumTan" and "R6RainbowMediumBlueCamo" to any of the following:

R6RainbowLight

R6RainbowMedium

R6RainbowHeavy

R6RainbowLightGreyCamo

R6RainbowMediumGreyCamo

R6RainbowHeavyGreyCamo

R6RainbowLightBlue

R6RainbowMediumBlue

R6RainbowHeavyBlue

R6RainbowLightBlueCamo

R6RainbowMediumBlueCamo

R6RainbowHeavyBlueCamo

R6RainbowLightEuroCamo

R6RainbowMediumEuroCamo

R6RainbowHeavyEuroCamo

R6RainbowLightGreen

R6RainbowMediumGreen

R6RainbowHeavyGreen

R6RainbowLightGreenCamo

R6RainbowMediumGreenCamo

R6RainbowHeavyGreenCamo

R6RainbowLightWinter

R6RainbowMediumWinter

R6RainbowHeavyWinter

R6RainbowLightWinterCamo

R6RainbowMediumWinterCamo

R6RainbowHeavyWinterCamo

R6RainbowLightTan

R6RainbowMediumTan

R6RainbowHeavyTan



This section assigns a uniform to all operatives playing a coop game on this map. If you omit these lines completely, default blue uniforms will be used.



That's it! Save your mymap.ini file. Launch the game, open the Custom Missions page, select Practice Mission, and look for "My Custom Map". Try it out! (If the missing loading screen bothers you too much, just copy one of the existing .TGA files in the maps folder, and rename it to mymap.tga.)

In conclusion, here is the bare minimum requirement needed in your .INI file if you just want to pop in to explore and test a new map:

[Engine.R6MissionDescription]
version=2
m_MapName=mymap
m_MissionArmorTypes=Class'R6Description.R6DescLight'
GameTypes=(package=R6Game,type=R6PracticeModeGame,maxNb=16)


But that will leave a lot of ugly, empty screens. Now, here is the complete .INI file that we've created during this tutorial:


I hope you found this tutorial helpful. If there's anything I've gotten wrong, please let me know and I'll correct the information. Email me if you have any questions or mapping issues you'd like to discuss.
-Beckett

Display a printable version of this article

2005, RvSMaps.com, all rights reserved
Send questions, critiques, etc. to http://www.juncmodule.net/rvs/rvsmaps/content/contact.htm