Make your own free website on Tripod.com
The FUBAR141 Counterstrike Website

 

Basics Of Compiling Your Maps With Zoners Compile Tools.

I'm speaking as a mapper, not a professional or anything like that, these parameters suit me best when compiling my maps... I won't take any responsibility for anything that happens due to the usage of this guide!


To start with, you must be using the Advanced compile dialog:


There should naturally be 8 entries in the command list (the above diagram has 1 extra):
1: Change Working Directory
2: CSG
3: BSP
4: VIS (VISIBILITY)
5: RAD (LIGHT)
6: Copy File
7: Copy File
8: Run game with map.


Zoners accepts more parameters than the ordinary compile tools that ship with WC, I will give you my compile parameters and explain them to you as this guide goes on.
We will be focusing on options 2 to 5, and option 8.


CSG - Prepares the raw data to be used by BSP.
$path\$file -nowadtextures -high -dev 6
"-nowadtextures" means that you wish to embed the WAD textures into the map, allowing you to distribute a map as a single self-contained .bsp, the downside to this is that lamers can de-compile your map easily. "-high -dev 6" is explained at the end of the document.


BSP - Uses data output from CSG and creates your map at the most basic level. You may run the map, but no lights will be included, you will just have a nasty, blocky, bright and ugly map. Good enough to test though...
$path\$file -high -dev 6


BSP and CSG do their jobs almost instantly, there are other options you can use with the 2 compilers, but they aren't really worth bothering with due to most of them not being suitable for final compiles, and are for use by pro's if they are suitable for the final product....


VIS - Not exactly sure what this does, something to do with the visibility, it isn't really needed until the final compile or leak testing.
$path\$file -high -dev 6 -full
"-full" will tell vis that it is to do a FULL vis, which means it will process the map for longer, the payback is that more internal map errors will be found in comparison to using the "-fast" option available. Use "-full" for final compiles. Use "-fast" for leak detection.


RAD (LIGHT) - This is for the lighting in the map, and will probably take more time than the other 3 commands combined, depending on how many lights you have in the map of course!
$path\$file -high -dev 6 -extra -sparse
"-extra" is for final compiles, it will consume time based on your lighting scenario in the map. An alternative option is to be rid of "-extra" to use normal rendering(not recommended for final compiles) for a faster compile.
"-sparse" will compress the visibility matrix, it will take slightly longer to perform on the map. Only use this if your map is taking longer than 4 hours to compile, or isn't compiling at all...


"-dev 6" & "-high"
The "-dev 6" is shared among all 4 of the compilers, it specifies what information you want to see in the progress console. The options go from 0 to 6, where 6 is the most info you want to see, and 0 is the most basic.
The "-high" is also shared among the programs, it specifies the thread priority of the applications, -high means that the programs will use the most CPU power they can get hold of, this cuts time when compiling, the only drawback is that your computer will be VERY SLOW. 
There are 2 alternatives, you can a. Not have "-high" there, this will give normal priority, allowing you to comfortably use the computer, OR b. "-low", this takes longest, but eventually the map will compile, the applications on the computer will run at normal performance...


Option 8, running the map:
"-game cstrike -heapsize 65536 -console -toconsole +map $file -dev"

"-game cstrike" will tell HL.EXE that you want to load the CS engine.
"-heapsize 65535" will specify the amount of heap memory you want to use in the game, this is quite important when testing maps! The current setting (65535 KB) is for a computer with 128MB RAM (50% of the memory is allocated to the game). I have 320MB RAM (327680 KB) in my box, and use the value 65535, however, when I'm testing my map, sometimes it might crash the whole system, requiring a reboot! I add 32767 to that number (65536+32768 = 98304) each time it crashes, I never exceed 163840 because thats my 50% RAM marker. WARNING: Do not exceed the 50% marker, and if you do, make sure you leave a good 64MB for the system!
((RAM * 1024) / 2) = MAX HEAPSIZE!
Heap table:

RAM in your machine  Approx Max Heapsize
16 8096
24 12288
32 16384
64 32768
128 65536
256 131070
320 163840
512 262144


"-console" will tell the game to enable the console.
"-toconsole" will boot the game directly into the console"
"+map $file" will send a command to the console, to load up the map you had loaded up in worldcraft.
"-dev" will enable developer messages, giving you technical details when the map loads and when events take place while you test the map.


Further Speaking:
Read the help files for zoners entirely when you have got the hang of this. :)
If you want some accessories for when you compile your maps then goto the files section and download the utilities I made, you will be able to have the compile process play system beeps between each process, and finally shut down the computer at the end of the compile, you can also monitor elapsed time while compiling.
The help files for zoners contain an error list, this contains common errors for the compilers, reasons for errors, and solutions.
Get your butt over to the forums at http://www.counter-strike.net to speak to other mappers.
The files section contains Zoners compile tools, go get them if you haven't got them already.