Minimap workaround

How to create a custom mini map image and add it to your map:

Original Documentation – Treyarch
Revised for Radiant – Black Edition: RaGe

Throughout this tutorial, I will be referencing my map, mp_killingfields3. It was easier to reference my working files for example purposes. Simply replace mp_killingfields3 with your map name mp_yourmapname.

1 – Open radiant to your base map.
2 – Create a temporary square that encompasses the playable area from the two farthest playable areas.1

3 – Add a 512 x 512 temporary square off the two opposing corners of the first square. 2

4 – Create a script_origin and give it the targetname of minimap_corner. (make sure that the script_origins are in the top-right corner and bottom-left corner from XY TOP viewport and not the inverse or you’ll get an error).3

5 – Place this script_origin on the outermost corner of the 512 x 512 square then duplicate it and place it on the opposite corner on the other 512 x 512 square.script_origin

6 – Delete the all of the temporary squares. (the large square and the two small squares seen in step 3)4
This will leave you with two positioned script_origin boxes.

Since going into console mode to do a screenshot doesn’t seem to work, we need to create an artificial line around the map so we can screen capture it from within the editor.
6.1 – Starting from the script_origin box in the bottom left,  and in TOP XY view, create a brush going up, and another going right, only as wide as the script origin box.

Stretch the brushes to the top and to the right (we’re aiming for the other script_origin level.)

Hilight both of the brushes.

Press Ctrl+C, CTRL+V, go to a high grid size and rotate.

Trim all the brushes so they ONLY meet the script_origin boxes. Like the pictures here.

Texture the brushes in transparent caulk and position their height around waist height of the player at the highest point the map.

Save the brushes and the minimap corners as a prefab.

When you’re done, you will have surrounded the “mini-map” view, as can be seen here. This is the area that the mini-map will show.7

6.2 –  Open the  “Fx” Menu, and untick “Fx Rendering enabled”.

6.2.1 Open the Filters window (F) and copy the settings in the picture below:8

6.3 – Open “Entity List”
Open the “fx” tree.

Highlight all the fx, right click and click “Select Highlighted Entities”.
Press “H” to hide them.

6.4 – Open the “script_struct” tree.
Highlight all the script_structs.


Right click mouse and “Select Highlighted Entities”.
Press “H” to hide them.

6.4.1 – IMPORTANT!!!!
Hilight all 4 of the “bounding box” brushes you made earlier in step 6.1.
6.4.2 – Undock the “Camera” tab from Radiant and maximize the window

6.5 – Move into the Camera (3D) view, and position yourself over the map, until the bounding box is filling most of the screen. Keeping the top and bottom lines parallel to the top and bottom of your window, do a screenshot
(F12 in steam, or ctrl+Printscreen if that doesn’t work, which you can paste into paint \ photoshop)11
7 – Open the screenshot in a graphics application –
Photoshop is recommended, and I’m using Photoshop CS6 for this tutorial.

You may have to use the “skew” to get the minimap parallel on each side..if you didn’t quite get the screenshot 100% on top.


Below I show you how to make your own minimap any way you want.. However, there is an excellent guide from Cornrow Wallace  (Treyarch) on ZeRoY’s wiki.

Take a look at it.


I used it for my mp_vacant map, still using this tutorial to script it all together.


If you use the above method, you can skip through this tutorial to STEP 10.

7.1 – Duplicate the original picture three times (so you have 3 layers of the same thing, AND the original, locked layer. – 4 layers in total.

For this tutorial, I’m going to make a transparent surround – in the the non-playable area.

7.2 – Cut out the boxed area (crop to the area just inside the white lines) and save your map to a PSD file.12With this file, you’ll be able to work on a high-res image just in case of required fixes.

7.2.1 – Click the EYE icon on the original LOCKED layer. You can’t use it, so just hide it.
7.3 – Reduce the HUE to -180, Saturation to  -100 and lightness to -80
(or just make it black if you’d prefer)13

8 – Use the second (middle) layer to trim the non-playable area. (use the marquee tool)

Use the MAGIC WAND tool to select the transparent “white space”, then click “refine edge” at the top.

Adjust “feather edge” to around 5 pixels and click OK.
Press DELETE, and the edge will become feathered.

9 – Use the third layer to draw in lines and detail.There are some rules and practices that you need to follow:

We don’t draw any objects shorter than the player in the minimap. If it appears in the minimap it must be higher than the player (72 units, full cover). We bleach the map for visibility which is why there is a bleach layer. It helps flatten the image and makes pathing easier to digest. Dotted lines are used to show tunnels and areas that travel underneath other areas. (Create a new layer for this when necessary).16

The blacked out layer should be UNDER the trimmed layer, and the Detailed WALLS layer on top of both. The end result should look like this: (hopefully better than this roughie 🙂 )17

10 – Resize image to 512 x 512 pixels for a small level or 1024 x 1024 for a bigger levels.

Keep in mind that bigger image will consume more memory. 512 x 512 image takes around 300kb, 1024 x 1024 is already 900kb!

11 – After editing the image into a minimap, save the file as a .tif  (tiff)

compass_map_yourmapname.tif     (example is compass_map_mp_killingfields3.tif)

Compression: LZW
Pixel Order: Interleaved
Byte Order: IBM PC
Save Image Pyramid: False
Layer Compression: RLE):

Co-Op : texture_assets/hud/compass_maps  (untested – probably incorrect as the MP one was incorrect as well)
Multiplayer: \Call of Duty Black Ops III\texture_assets\hud_T7\minimap\minimaps
Special note!
You will notice here that the two files I have are rotated. For some reason, BO3 is currently loading the minimap 90 Degrees out. This may be due to the method I’ve used here, or maybe it’s a bug. I screenshotted the way It was going to be displayed, and it was out exactly 90 degrees. I loaded the picture in paint, and rotated it 90 degrees Counter Clockwise.



14: Open APE:Asset Property Editor (The Ape Icon)

15 – Filter by compass_map and scroll down to “images”.

16 – Create a duplicate of an existing compass map image file and change it to match the name of the .tif image you created with the prefix of i_. (Example: i_compass_map_mp_killingfields3).

Change the “Texture” so it’s pointing to the .tif of your minimap that you previously made
(\Call of Duty Black Ops III\texture_assets\hud_T7\minimap\minimaps\compass_map_mp_killingfields3.tif).

17 – Create another duplicate of an existing compass map image file and change it to match the name of the .tif image you created with the prefix of i_ , but ending in _scrambled (Example: i_compass_map_mp_killingfields3_scrambled).19Change the “Texture” so it’s pointing to the .tif of your minimap that you previously made
(\Call of Duty Black Ops III\texture_assets\hud_T7\minimap\minimaps\compass_map_mp_killingfields3_scrambled.tif).

18- Scroll up and locate “hud->localbase”.

19- Create a duplicate of an existing compass map and change it to match the name of the image you just created -without the prefix.(Example: compass_map_mp_killingfields3).
Also set up the “color map” to reference your image.
(this requires the i_ prefix as it references the image you just made.)20

Duplicate “compass_map_mp_combine_scrambled” and rename it to your map “compass_map_mp_killingfields3_scrambled”
Change the name of the CompassMap at the bottom to your map (I used a white noise texture instead of my minimap)21Leave the Mask field setting as it is.

20 – Add the assets to your map’s zone file (.zone) as “material,compass_map_mp_killingfields3” and “material,compass_map_ mp_killingfields3_scrambled”.22

21 – FOR SCRIPT: In your map’s script file (.gsc) make sure to include #using scripts\shared\compass in your using statement and add compass::setupMiniMap( “compass_map_mp_killingfields3” ); after load::main(); in your main() function.23

Setting up Mini Map Zoom
To zoom in or zoom out on the mini map, add the following command to your zone’s .gsc file:
SetDvar( “compassmaxrange”, “3000” );

Increasing the number will zoom out on the mini map, decreasing the number will zoom in on the mini map.

TIP: You can type compassmaxrange 3000 in the console with the game running and adjust the number to see what zoom amount works best for the mini map before adding the number value to the zone’s .gsc file.

Fastfiles will need to be linked once the zone .gsc file has been updated (in the mod tools launcher program)

Loading Screen and Preview

Take a screenshot in NOCLIP mode or, in the editor. Just get a good angle looking down at the map. Or put another picture in. It really doesn’t matter. It’s the picture people will see in lobby (previewimage.png), and also when the map is loading. (loadingimage.png)

Navigate to:
\Call of Duty Black Ops III\usermaps\mp_killingfields3\zone

Place your images in here with the following sizes. Nothing else needs to be done.

1920 x 1080

600 x 340