Getting your custom MP map to show in the ingame menu
Once you're done with your custom MP map, you might wonder, how the hell will I get this level to show up in the ingame menu. It seems there are a few steps other than cooking your map and placing it in the Multiplayer directory of the game's install directory.
For this tutorial I'm using the level of a friend on the gearboxforums, he made a level called mp_hospital.gbxmap Notice how the level has a name starting with mp_ and is in lower case. I recommend you do this with your level name as well to prevent problems in the future.
1. Set the map title in WorldInfo
In the editor, open the level you want to add and click the binoculars icon in about the middle of the top row of icons. A new window will pop up, type WorldInfo in the search box. Double click on the WorldInfo actor which will appear in the list, and the editor will bring you to its location. It'll only look like the move widget in the editor, since there is no icon or static mesh linked to this actor. Click the Properties button in the search window to open the WorldInfo property window. Now, in the WorldInfo property pane, find the line Title and fill out the name of your level, in our case being Hospital.
2. Cook your map
After cooking your map, you'll see that next to the gbxmap file there will also be a upk file created by the editor. You need to copy both files to the folder:
driveletter:\Program Files\Ubisoft\Gearbox Software\Brothers in Arms - Hell's Highway\SumacGame\CookedPC\Published_Maps\Game\Multiplayer
3. Edit SumacGame.int
Now we need to change some internal files of the game. A .int file is basically a text file with a different extension. Go to the folder
driveletter:\Program Files\Ubisoft\Gearbox Software\Brothers in Arms - Hell's Highway\SumacGame\Localization\INT
and find the file SumacGame.int. Open it with wordpad or notepad, find the menu header [SumacProfile] and look for the text
ValueMappings=((Name="Lighthouse"),(Name="Industrial"),(Name="Destroyed Town"),(Name="Town Center"),(Name="Underground"),(Name="Factory"))) ;; map names
This line indicates the names of the mp levels in the game. Say we have a level called mp_hospital as described in the section above, which we want to add to the list in the game's menu. We'll need to add the name of the level in this list of map names in order to get it to appear, so the text will change to
ValueMappings=((Name="Lighthouse"),(Name="Industrial"),(Name="Destroyed Town"),(Name="Town Center"),(Name="Underground"),(Name="Factory"),(Name="Hospital))) ;; map names
Surprisingly there's a similar line lower down in the same SumacGame.int, whith which you will need to do the same thing. This line is found under the section with the [SumacMatchOnlineGameSettings] heading.
After changing these two lines, there's another addition needed to this file. Find the line
[Lighthouse UIDataProvider_MultiplayerMaps] MapDisplayName=Lighthouse MapDescription=Lighthouse Description
Now, copy and paste this line. We'll change the names of the level to match the one we want to add.
[Hospital UIDataProvider_MultiplayerMaps] MapDisplayName=Hospital MapDescription=Hospital Description
Now we are done with this file. Save and exit.
4. Edit SumacGameMP.int
Lastly we need to edit the SumacGameMP.int file. Find the section header [Maps] at the bottom of your map, where you will see this:
[Maps] Factory=Factory Lighthouse=Lighthouse Underground=Underground DestroyedTown=Destroyed Town TownCenter=Town Center Industrial=Industrial
We just need to add our level's name to the list and we're done:
[Maps] Factory=Factory Lighthouse=Lighthouse Underground=Underground DestroyedTown=Destroyed Town TownCenter=Town Center Industrial=Industrial Hospital=Hospital