Recreating Map Editor Files

By Outlawz, July 13, 2010 in BF2 Community Tutorials

In this tutorial I'll show you how to (re)create the editor files for a map, in cases where there's no way to gain access to the original ones or if you had them, but lost them.

If you don't know what "editor files" are; these are the files located inside your map's Editor folder, putting it simply. From here they can be edited via BFEditor and saved in an uncompressed format, from where later on you'll compile the compressed files when you save.

In case your files get corrupted, you can resave from here where you'll always have working files.

Not all files edited with BFEditor (and indirectly, by you) are located here, like Staticobjects.con, Sky.con... those are in the main folder, can be read and do not need to be recreated in anyway, and some files are saved from bfeditor's rawdata folder, like lowdetail textures and undergrowth.

You'll need:

  • Notepad
  • BFEditor
  • Photoshop CS3 (or higher)
  • XVI32 Hex editor or a hex editor of your choice, but you'll have to figure some stuff out yourself then
  • Photoshop Action - SalvageColorDetail
  • DDS plugin for Photoshop - unless you already have it

a map without its editor files


I'm going to E_pick Gulf of Oman from Battlefield 2 for this tutorial. You can E_pick any map or mod, process is the same.

To be on the safe side I'm going to create a temporary mod for this tutorial and copy the map to there, so I can still play BF2. If you're already using a copy of your mod intended for editing, then you can skip this and do it there.

Now before we begin, install the PS action SalvageColorDetail to Adobe\Adobe Photoshop CS3\Presets\Actions.

Extract your map's client and server .zips.

Before you continue, go into the above directory, right-click on your maps' folder and untick 'Read only', in case the map's files have this enabled, in my case they do since DiCE made everything read only in their maps.

Go back to your map folder and create a new folder called Editor (Caps doesn't matter).

E pic1.jpg

Image File: E_pic1.jpg

We're all set to begin.

Salvaging the ground textures

We'll start with probably the most important aspect of editor files, the ground textures. Color, detail and lowdetail maps are already here, but they aren't in proper format and/or size to be edited.

Copy your colormaps, detailmaps and lowdetailmaps folders in your map directory to your Editor folder.

E pic2.jpg

Image File: E_pic2.jpg

Open up Photoshop CS3.

We'll begin with the colormaps. These do not need to be resized, only resaved. Select all the files inside the folder and drag&drop them into Photoshop.

E pic3.jpg

Image File: E_pic3.jpg

Give it a few moments for all the files to be loaded. On the bottom right of your PS interface there should be an Actions tab, where you might already see your SalvageColorDetail action set. If you do not see this tab, press F9.

E pic4.jpg

Image File: E_pic4.jpg

Now go to File>Automate>Batch,

E pic5a.jpg

Image File: E_pic5a.jpg

and select the SalvageColorDetail action set and under actions, saveColor, leave the source at Opened Files.

E pic5b.jpg

Image File: E_pic5b.jpg

and let it rip. If you observe the Actions tab, you'll see Photoshop working on your opened files, which will get duplicated only inside Photoshop, don't worry it doesn't double the actual files.

In case you're wondering what just happened; what this action did was resave the colormaps to 32-bit A8R8G8B8 format with one mipmap. This is the format that editor can use.

E pic6.jpg

Image File: E_pic6.jpg

Now, go to File>Close All or Alt+Ctrl+W, so you get rid of the opened files.

We continue with detail and lowdetailmaps. Both of these need to be resized and resaved to same size and format and as you guessed by now, the action set does the dirty work here.

Again, drag&drop files from both lowdetail and detailmaps folders into Photoshop, go to File>Automate>Batch.

Using the same SalvageColorDetail set, this time change the action from saveColor to ResizeSave_DetailLowdetail

E pic7.jpg

Image File: E_pic7.jpg

and let it rip, then once done, close Photoshop. You now have ground textures you can work with.

Setting up Ground Properties

Load up your mod and map in BFEditor. You now have nicely looking textures on your map, but you're missing the lowdetail texture and detail textures. Actually, you're only missing the latter, the lowdetail texture is already here, just needs to be regenerated. ;)

If you want to use the lowdetail texture elsewhere or want it backed up, you can copy the in your map's main folder to \Battlefield 2\bf2editor\RawData\Common\Terrain\Textures\LowDetail, and give it a suffix or rename it, so you know from which map it is.

Minimize the editor window, open up the hex editor and your map's main folder and drag&drop the terraindata.raw file into the hex editor.

E pic8.jpg

Image File: E_pic8.jpg

  If you fear a program crash, close the editor first, then do this. It might be too hard to read the text lines bunched up in between symbols, go to Tools>Options>Appearance tab and play with the settings

{| border="0" cellspacing="1" cellpadding="1" style="width:500px;" class="article-table"


! scope="col"|

E pic9.jpg

|} Image File: E_pic9.jpg

First four lines are the load lines for ground textures and ground lightmaps, the lower six are the detail textures. Follow the line til you get to the texture name and then switch to BFEditor, go to terrainEditor>Texture. Under the first layer's detail texture select the respective texture.

If the first texture name in terraindata is ie. grass01, then the first layer detail texture should be grass01

In my case the texture is detail_rock04_dark.

Select a material, in my case the appropriate one would be 'rock'. Look around your map to find where the texture is used, though first layers are always sloped areas.

E pic10-1.jpg

Image File: E_pic10-1.jpg

Now generate lowdetailmaps. Since the texture is already here, as said, simply select a type (1 or 2) and click on generate LowDetailMaps.

E pic11.jpg

Image File: E_pic11.jpg


For rock textures which are usually on the first layer, use the number 2 type and set PlaneMap to 1. Use type 1 for other layers.

Repeat this for the remaining layers. You can now close the hex editor. If you did everything correctly, your map should look something like this in the Detail mode now.

E pic12.jpg

Image File: E_pic12.jpg

Save your map.

You now have working ground textures with detail and lowdetail textures. From here you can freely edit the terrain and paint new areas. :)

Setting up Lightmap settings

In case you want to relightmap the map, you'll need to start off with some lightmap settings. You can tweak these later, but first lets get them set up

Terrain lightmaps are already loaded and can be read by the editor, but the object lightmaps need to be in separate files in order for the editor to read them, which they aren't, because they need to be packed in atlases in order for the game to read them and to reduce file size and load times. So far no one figured out if there's a way to get them out of an atlas

In BFeditor go to Light>Preset and E_pick a lightmap preset. Note that this also changes the sky settings on your map, which we'll fix right away, but first lets save the lightmap settings.

In the Tweak bar, right-click on LightmapsSettings(Objectmode) and click Save Object mode then click the Switch to Terrain mode and save the terrain mode.

E pic13.jpg

Image File: E_pic13.jpg

Now to fix the sky settings. Go again to Light>Preset, but scroll down below the lightmap settings and select your map's name, this will reset back to your map's sky settings.

To use your or other map's sky settings, the sky.con needs to be extracted (nothing else required, you don't need to extract everything, just the sky.con)

You now have lightmaps settings you can tweak and use to lightmap the map.

Setting up your GamePlayObjects

Still in the editor, switch to levelEditor (if you aren't already there) and under Layers in the rightside tab, start creating new layers for gamemodes and sizes.

E pic14.jpg

Image File: E_pic14.jpg

  You can create a new layer for each gamemode and size, or combine if the GPO is the same ie. the 16 player size is usually always the same in gpm_cq 16, gpm_coop 16 and SP1 16, so instead of creating three layers, create one with three gamemodes.

After you're done, untick the layers to make them invisible and lock them before saving, that will later on prevent you from seeing all of the GPOs overlapping each other when you open the map and selecting objects in different layers

{| border="0" cellspacing="1" cellpadding="1" style="width:500px;" class="article-table"


! scope="col"|

E pic15.jpg

|} Image File: E_pic15.jpg

Save and close the editor.

Go to your map's Editor folder and open the GPO.con.

E pic16.jpg

Image File: E_pic16.jpg

Its currently empty with some default lines, which you'll delete.

Keep the file open and go to the main folder>Gamemodes, then to each separate gamemode and size; let's start with gpm_cq and 64.

Open that GPO and scroll down to the bottom, where you should see what layer the combat zone and everything else is on.

E pic17.jpg

Image File: E_pic17.jpg

My intended layer for gpm_cq is layer 2, so in this case no need to change this, however you will most likely need to change the layer, so here's how to do it. Press Ctrl+H to open Find&Replace function and under Find write the layer that's currently used in the file ie. 'layer 4', note the spacing.

Under Replace with write the layer you want it to be on ie. 'layer 2' then Replace All and give it a few moments to replace all the strings. Now press Ctrl+A to select everything and paste it into your empty Editor GPO. No need to save the file you just edited.

Repeat the above for all other GPOs, once done close and save the Editor GPO. You now have all the existing GPOs in one place to edit.

Usually, everything inside the Editor GPO is sorted by groups of ObjectSpawners, SpawnPoints, ControlPoints and Combat Areas regardless of layers, however when you were putting together your GPO from others, the groups ended up like this: ObjectSpawners-SpawnPoints-ControlPoints-Combat Areas, ObjectSpawners-SpawnPoints-ControlPoints-Combat Areas , ObjectSpawners-SpawnPoints-ControlPoints-Combat Areas... for every GPO you pasted in. Don't worry, once you open it in BFEditor, the program will sort it out

Setting up StrategicAreas

This is optional, if you plan to renavmesh the map or mess with control point placement or naming or you combined the SP/Coop GPOs etc. I'd advise not to do this and set up new Strategic Areas, otherwise your editor will crash while loading your map due an illegal CP error. If you still want to do it, it's very simple.

Go to a SP gamemode directory (SP1, SP2, SP3 or gpm_coop) and game size, next to the GPO should be an AI folder. Copy that and paste it into the Editor folder, then open it and inside it open the Strategic Areas file and change the layer with Find&Replace to match your SP GPO layer. If you have several SAs, copy paste them into the Editor one, same as with the GPO basically.

Note about Roads

You can't recreate roads, since you need the spline.con data which you can't get from anywhere in the map's files, the roads are saved as compiled meshes. However, the roads are baked onto the colormap which should give you an excellent guideline to lay down new ones from scratch.

E pic18.jpg

Image File: E_pic18.jpg

This is pretty much it, post any questions you might have below.

As trivia, the Photoshop action sets are very easy to create, I actually pondered including how to do those into this tutorial, but rather kept it game related and avoid extra confusion. Here's the link to the PS tutorial on action sets. [link is gone]

For those without Photoshop, theres an easy way to convertt the games DXT1 color textures into the A8R8G8B8 format required by the editor using the free NVDXT helper program by Nvidia :

Look for NVDXT which is a small command line tool. Download and install it. Copy the Color ( and Detail ) textures into the /editor folder you've created according to the tutorial.

Make a batch file with this content:

"C:\...\NVIDIA Corporation\DDS Utilities\nvdxt.exe" -u8888 -prescale 512 512 -nomipmap -all -overwrite

Place the batch file in the /editor/Colormaps folder and launch it. It will convert all textures in a row. Place it in /editor/detailmaps and do the same. You're now ready to see and edit the textures in BF2Editor.

Community content is available under CC-BY-SA unless otherwise noted.