goto:    mapping Links     Tutorials


Mapping help Tutorials for Half-Life & Mods


How to make Overviews for HLTV/HDTV
by Tommy and Zest


Step #0 : Preparation

First of all, you must decide which kind of overviews you want to make.If you want to make overviews for people running in software mode, you must set the screen resolution to 512x384 pixels. Most likely you will want to make them for people running the game in OpenGL or Direct3D modes. Then you must set the screen resolution to 1024x768 pixels. (You can change the screen resolution in the game by going to 'Configuration' -> 'Video' -> 'Modes'  and then selecting the mode you want to use. Select 'OK' to apply any changes you have made.)


Step #1 : Starting the game

A) The easy way

First, try this simple method by MeMake.

MeMake found out that if you want to go into overview made you can actually start a map in single player mode by using a shortcut, for example:

"C:\Sierra\Counter-Strike\cstrike.exe -dev -console +map cs_peacekeeper"

You can change the map to any map you want of course.
Thanks, MeMake!

Notes:

You can also leave out the command '+map mapname' from your command line and start up the game, go to the console and type 'map mapname' there. Remember though, that you MUST have the '-dev' option in your command line. It will NOT work if you set 'developer 1' in your console. ¹

You can change maps by typing 'map mapname' in the console. You don't have to restart the game for every new map. ¹

Now proceed with step #2.

B) The hard ways

If MeMake's simple method does not work for you, then you have to follow this tutorial and do it the hard way. This is a complex and difficult tutorial. It is not for beginners to computers, I will assume you know complex skills and will not explain all details. To make an overview on one computer of a level map you made, here are the steps that SHOULD work will ALL mods at this point with overview ability. (Valve has allowed overview to be somewhat mod dependent - "Remember, the complete description file parsing, inset window, map projection and drawing code is all within the client DLL and may be changed as desired.") Steps are:

  1. You will have to start HLDS, you can find it in the half-life folder. Set it to your mod/HL, and mapchange to your map name.
    NOTE: If your dedicated server takes ages to start up, or doesn't start up completely at all, and if you have a GATEWAY or DNS server setup for your LAN adapter; then try disabling/removing the gateway first, and else also the DNS server. This prevents HLDS from trying to connect to WON servers through your gateway. (The gateway only works when your internet-connection is plugged in, of course!) If really nothing works, try the -insecure flag like this example: 'c:\sierra\half-life\hlds.exe -insecure -game cstrike +map de_chateau'. ¹

2.      You will have to start HLTV and link it to the local network thru a port.

3.      You will have to start your mod/HL (i used CS) in single player mode, in a high graphics mode 1027x768, then reconnect to local network thru the same port. 1027x768 is the usual overview map size, except perhaps for software mode which prefers 512x384.

As you can see, it is a bit involved. and there are several ways to do the first three steps: either make a batch file, click on each program and feed in the instructions, or make a series of shortcuts for HLDS, HLTV, and CStrike singleplayer mode. I will show you examples of each.

If this gets you lost and/or want this info rephrased, see the resource website at: http://www.cg-dev.com/hltv/?section=tutorials⊂=overviews.


Method #B1: The Batch File Method:

the batch file itself:

C:\SIERRA\Half-Life\hlds.exe -game cstrike +map de_dust
type hit when HLDS is set up.
pause
C:\SIERRA\Half-Life\hltv.exe +connect 127.0.0.1
type hit when HLtv is set up.
pause
C:\SIERRA\Half-Life\HL.exe -dev -console -game cstrike +connect 127.0.0.1:27020
End

Notes:

Ok, now you should be in the game, with the console covering half the screen. Close the console (with the tilde key ~) and proceed with step #2.


Method #B2: The Clicking Method:

  1. click on HLDS.EXE in the HL folder.
    Then when it has finished intializing enter the lines:
    "-game cstrike" and
    "+map yourmapname"
  2. click in HLTV.EXE in the HL folder.
    Then when it has finished intializing, enter the line: "+connect 127.0.0.1" or "+connect localhost:27020".
  3. open cstrike, go to the console, enter:
    "+connect 127.0.0.1:27020" (Note, if your port is different change it from 27020 to whatever it IS!)

Notes:

Close the console (with the tilde key ~) and proceed with step #2.


Method #B3: The Shortcuts Method:

Make a short cut for HLDS and HLTV and HL. I expect you know how to do this. Then open their properties.

For HLDS make sure it reads:
C:\SIERRA\Half-Life\HLDS.EXE -game cstrike +map yourmapname

For HLTV make sure it reads:
C:\SIERRA\Half-Life\HLTV.EXE +connect 127.0.0.1

For HL make sure it reads:
C:\SIERRA\Half-Life\HL.exe -dev -console -game cstrike +connect 127.0.0.1:27020 or +connect localhost:27020.
Again, your port may vary from 27020 - check the HLDS connection results.

And then run each shortcut in sequence. Then close the console (with the tilde key ~) and proceed with step #2.

Notes:


Step #2 : Setting up your screen and making the screenshots and condumps

You will have to do a series of console instructions to start the overview, clean it up, save the info, adjust the view and make the screen capture(s).

1.      First of all you must set the overview screen by typing in the console 'dev_overview 2'.

2.      If you haven't started the game in MeMake's easy way you must now remove the hud by typing in your console 'hud_draw 0'.

3.      Now you can adjust the screen settings to your liking. The following commands can be used:

command

action

corresponding action in a normal game

+forward

shifts the screen to the left

walk forward

+backward

shifts the screen to the right

walk backward

+moveright

shifts the screen up

strafe right

+moveleft

shifts the screen down

strafe left

+jump

increases Z Max value (removes floors from the bottom)

jump

+duck

decrease Z Max value (adds floors from the bottom)

duck

+moveup

increase Z Min value (adds floors from the top)

move upwards on a ladder or in water

+movedown

decrease Z Min value (removes floors from the top)

move downward on a ladder or in water

+attack1

increase zoom factor

primary firing button

+attack2

decrease zoom factor

alternate firing and zoom button

Notes:

4.      When you're satisfied with the way your screen looks you can make a snapshot (bmp) with the command 'snapshot' or a screenshot (tga) with the command 'screenshot'. Bind the command to a key, because if you type this in your console you will have the console show up in your picture.

5.      Now DO NOT adjust any screen settings before you have made a condump. This condump contains the settings that go with what you see on your screen. Go to the console and type 'dev_overview 1' to get the info on screen; next type 'condump' to save the information to your  mod's folder and then type 'dev_overview 2' to remove the info from your screen.

6.      Repeat steps 3 to 5 as you wish. When you are ready making screenshots and condumps you can get your hud back by typing 'hud_draw 1' in the console.

There's an easier way to make your screen settings and condumps. This is done by placing the necessary commands in your autoexec.cfg or in your config.cfg (both are in your mod's folder. An autoexec.cfg may not exist, but you can make a textfile yourself and name it autoexec.cfg)

Now proceed with step #3 or check out the instructions below to make your step #2 easier.


Using aliases ¹

You can copy the following aliases into your autoexec.cfg or config.cfg. This can help making overview screenshots easier, because it automates the taking of snapshots and writing of condumps:

// make a long wait alias:
alias wait20 "wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait"

// set the toggle alias
alias ov "overview"

// 1st alias does:
// 1) set overview mode 2) remove hud 3) give info message 4) initialize second alias
alias overview "dev_overview 2; wait20; hud_draw 0; wait20; echo now adjust adjust your screen settings; alias ov overview2"

// 2nd and 3d alias do:
// 1) set overview mode 2) make condump 3) set overview mode 4) make snapshot 5) give info message

// 6) draw hud 7) close overview 8) initialize first alias
alias overview2 "dev_overview 1; wait20; condump; wait; dev_overview 2; wait20; wait20; wait20; wait20; wait20; overview3"
alias overview3 "wait20; wait20; snapshot; wait20; echo SNAPSHOT MADE; wait; hud_draw 1; wait; dev_overview 0; alias ov overview"

// this binds the alias toggle key. Bind it to any key you want
bind "b" "ov"

Notes:


Step #3 the .txt parse file

The condump files are named cundump0000.txt (with increasing number) and can be found in your mod's folder. They should have lines similar to this one:

Overview: Zoom 1.00, Map Origin (15.00, 7.00, 1280.00), Z Min 3585.00, Z Max -1025.00, Rotated 0

You will have to assemble the data into a .txt parse file with the same name as the map. An example is given below.

// overview description file for as_cliffhanger.bsp

global
{
      ZOOM       1.00
      ORIGIN       15        7       -1024
       ROTATED       0
}

layer
{
       IMAGE       "overviews/as_cliffhanger.bmp"
       HEIGHT       -1024
}

This text parse file will go into the /overviews folder of the mod the level was mapped for, along with the overview picture with the same name.

Notes:

·         If you make multiple screenshots, make sure you use the zmax value of the LOWEST floor players can walk on, and use this one for the textfile! This is very important: If you use this value the yellow 'poles' underneath the players in your overview will be very short on the lowest floor. (The higher the player stands, the longer this pole gets) If you take a value that's too low, then even on the lowest floor you'll see very long poles. Now imagine the pole length for the highest floor the player can walk on! That makes the 'readability' of the overview very bad. If you use a zmax value that's too high, e.g. the height of a floor in the middle between your highest and lowest floor, then in about half of your map the logos will be drawn underneath the overview and thus they are not visible! ¹


Step #4 - Final: Assembling the picture ²

You may not need all these steps, but you will need to make it look "clean" and good. If you are assembling several screen captures, you may need all the steps! Otherwise you may skip some steps.

A) If you use only one screenshot for your overview:

Note: The .tga pictures possibly might not work. If so you must use the 8bit .bmp format.

B) If you use multiple screenshots for your overview:

Note: The .tga pictures possibly might not work. If so you must use the 8bit .bmp format.

 


credits:
¹ Thanks to co-author --- Zest --- for his info, correcting & rewriting this tutorial!
² Much of this picture assembly info is from the site: http://www.cg-dev.com/hltv/?section=tutorials⊂=overviews.
³ Some info is from the Valve info reprinted below.
And MeMake figured out the simple method while the rest of us were doing it the hard way!


Valve software info

This article was originally made available as part of version 2.2 of the Half-Life SDK. As such, all limitations, restrictions, license agreements, copyrights and trademarks from the original document apply here.

How to create new map images?
by Valve Software.

Map images are normal TGA files (1024x768x24) made as screenshots from the level in HL. So, to create new map images, choose OpenGL 1024x768x32 as video mode for best results. The color green (0,255,0) is used as the transparent color.

The engine has a special cvar "dev_overview" to create new map images. If set to "1", the engine draws the level from above, looking down, but using orthographic projection instead of the normal perspective projection. This is done to avoid perspective distortions in overview mode. The engine will write the current parameters to the console (make sure to set developer 1 also) like so:

Zoom 1.63, Map Origin (1903, -1283, -200), Z Min 500, Z Max -1088, Rotated 0

You can move the map around with keys FORWARD,BACKWARD, RIGHT & LEFT. Maps will be automatically rotated to fit optimally onto the screen. If they are rotated, FORWARD and RIGHT are swapped, etc. Use the keys ATTACK and ATTACK2 to change the zoom. With zmin and zmax you can choose which parts of the map should be drawn. Only polygons between these two values are shown. This can be used to cut off ceilings or other unwanted objects. Origin is your viewpoint projected into the map. The map will be rotated around this point if you move the mouse in overview mode. Zmin can be changed with UP & DOWN and zmax with JUMP & DUCK. If you think you've found the correct values for the new map, simply make a screenshot and remember all of the values, which are needed for the overview description file (to avoid console text on the screenshot set developer 0).

The screenshot can be edited with any paint program to erase areas or make dark rooms brighter. The final map image could also be the result of several merged screenshots (each with different zmin/zmax values, but some origin and zoom) to get an optimal map representation.

Next, you have to create an overview description file that will be parsed by the client DLL to get the map image filename and the correct view parameters. This file must be in the overviews\ directory and must have the same name as the current BSP file, but with TXT as its extension. Here is an example (overviews\de_vegas.txt):

// overview description file for de_vegas.bsp

global
{
     ZOOM 1.63
     ORIGIN 1903 -1283 -1088
     ROTATED 0
}

layer
{
     IMAGE "overviews/de_vegas.tga"
     HEIGHT -1088
}

The global section describes zoom, the origin point the map is rotated around, and a boolean to indicate if the map image is rotated or not. The layer section describes the map image filename and at which height (z-axis) the map should be shown. The overview mode uses the some coordinate space as the game world and all icons are drawn at the same position as their corresponding entities (you could even combine map and world mode. For example real players and items moving over a map blueprint). In software mode, map images should be BMP files with 512x384x8 resolution.

Remember, the complete description file parsing, inset window, map projection and drawing code is all within the client DLL and may be changed as desired.


webpage copyright (c) January 2003 Tommy of Escondido and Zest