345 lines
16 KiB
HTML
345 lines
16 KiB
HTML
<html>
|
||
|
||
<head>
|
||
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
||
<meta name=Generator content="Microsoft Word 10 (filtered)">
|
||
<title>Compiling</title>
|
||
|
||
<style>
|
||
<!--
|
||
/* Style Definitions */
|
||
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
||
{margin:0in;
|
||
margin-bottom:.0001pt;
|
||
font-size:12.0pt;
|
||
font-family:"Times New Roman";}
|
||
/* Page Definitions */
|
||
@page Section1
|
||
{size:8.5in 11.0in;
|
||
margin:1.0in 1.25in 1.0in 1.25in;}
|
||
div.Section1
|
||
{page:Section1;}
|
||
-->
|
||
</style>
|
||
|
||
</head>
|
||
|
||
<body lang=EN-US style='text-justify-trim:punctuation'>
|
||
|
||
<div class=Section1>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><u><span style='font-family:
|
||
Arial'>Compiling</span></u></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>An
|
||
example map and compile batch file are included with these tools and can be
|
||
found in \game\main\maps.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>The
|
||
stages of a compile are as follows:</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
|
||
Arial'>q3map mapname.map</span></i></p>
|
||
|
||
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
|
||
style='font-family:Arial'>builds the bsp</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
|
||
Arial'>q3map -vis mapname.bsp</span></i></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> options
|
||
are <i>q3map -vis </i>or <i>q3map -vis -fast</i></span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
|
||
Arial'> </span></i><span style='font-family:Arial'>vis info is used
|
||
for the server sending entity info to the client so multiplayer maps should use
|
||
–vis but single player maps can just use –vis –fast</span></p>
|
||
|
||
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
|
||
style='font-family:Arial'>will not work if the map leaked</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
|
||
Arial'>flare mapname.bsp</span></i></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> generates
|
||
the lightmaps</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> will
|
||
not work if the map leaked</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
|
||
Arial'>CoDSP.exe +set r_vc_compile 2 +devmap mapname</span></i></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> generates
|
||
the vc log (see VClog section below)</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
|
||
Arial'>CoDSP.exe +set g_connectpaths 2 +devmap mapname</span></i></p>
|
||
|
||
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
|
||
style='font-family:Arial'>generates the path data for the AI (opens the game
|
||
and then closes it automatically after compiling)</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><u><span style='font-family:
|
||
Arial'>Optional</span></u></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
|
||
Arial'>q3map -info mapname.bsp</span></i></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> displays
|
||
data size information about your bsp</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
|
||
Arial'> </span></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><u><span style='font-family:
|
||
Arial'>Flare</span></u></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
|
||
Arial'>flare args mapname.bsp</span></i></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> where
|
||
args is 0 or more of the following</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-Verbose Turns
|
||
on verbose prints</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-Fast
|
||
Use fast presets for several options</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-Extra Use
|
||
high-quality presets for several options</span></p>
|
||
|
||
<p class=MsoNormal style='margin-left:2.0in;text-indent:-2.0in;text-autospace:
|
||
none'><span style='font-family:Arial'>-MaxPolys Maximum
|
||
number of polys to use during light compile (can be used to increase the
|
||
default for larger maps)</span></p>
|
||
|
||
<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in;text-autospace:
|
||
none'><span style='font-family:Arial'>-MaxVerts Maximum
|
||
number of vertices to use during light compile (can be used to increase the
|
||
default for larger maps)</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-MaxBrushes
|
||
Maximum number of brushes to use during bsp solid check</span></p>
|
||
|
||
<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in;text-autospace:
|
||
none'><span style='font-family:Arial'>-MaxOccluders Maximum
|
||
number of occluders to use during light compile (can be used to increase the
|
||
default for larger maps)</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-Visual
|
||
Activates visual preview / debugging</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-DiffuseSun
|
||
Forces diffuse sunlighting</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-NoDiffuseSun
|
||
Doesn't do diffuse sunlighting</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-FastDiffuseSun
|
||
SampleDiffuseSun uses a single vertical sky trace</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-ExtraDiffuseSun
|
||
SampleDiffuseSun uses multiple sky traces</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-ModelShadow
|
||
Allows model surfaces to cast shadows</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-NoModelShadow
|
||
Prevents model surfaces from casting shadows</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-ModelAlphaShadow
|
||
Allows transparent model surfaces to cast shadows</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-NoModelAlphaShadow
|
||
Prevents transparent model surfaces from casting shadows</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-SunDiffuseSamples
|
||
Hemicube edge size for SampleDiffuseSun (3N^2 samples) (Lower numbers
|
||
will cause extra ghost shadows from the diffuse sun. 6-10, even values are
|
||
recommended.)</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-DumpOptions
|
||
Displays current settings of most parameters</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
|
||
can see all the options to flare by running the program with no arguments.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><u><span style='font-family:
|
||
Arial'>VClog</span></u></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
|
||
Arial'> </span></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
|
||
Arial'>What is a VClog?</span></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Entites
|
||
(models, players, AI) in a map are lit by the lights in the map. In complex
|
||
maps (as opposed to small test maps) calculating which lights affect which
|
||
entities takes a lot of work. To prevent the engine from having to do this in
|
||
realtime, this information can be written into the bsp using a mapname.vclog
|
||
file. If a map doesn’t have a VClog, you will experience harsh hitches when
|
||
entering new areas where entities are now visible. These hitches feel like
|
||
texture thrashing. VClogs are needed for both single player and multiplayer
|
||
maps. Anywhere our example says “CoDSP.exe”, just replace it with “CoDMP.exe”
|
||
for multiplayer and the same process applies.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
|
||
Arial'> </span></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
|
||
Arial'> </span></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
|
||
Arial'>Creating a VClog </span></b><span style='font-family:Arial'>(visibility
|
||
cache data)</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>This
|
||
log can be made once and forgotten about until you make a significant change to
|
||
geometry in your map which would allow models, players, or AI to exist in new
|
||
areas; it will still be valid after almost any tweak to geometry, including
|
||
those that alter shadows. The typical way to make this log is to set
|
||
"r_vc_showlog 1", and then to run around playing "pacman"
|
||
trying to get rid of the green dots in areas where you expect players to
|
||
go. You still find visibility data when "r_vc_showlog" is 0, and
|
||
it runs a little faster, but it is easy to miss spots. "pacman"
|
||
mode only works if you have a viewmodel on-screen.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
|
||
must set “r_vc_makelog 1” or “r_vc_makelog 2” to enable making a log. A value
|
||
of 1 creates a brand new log, a value of 2 appends to an existing
|
||
log. "r_vc_showlog" is not all that useful with
|
||
"r_vc_makelog 2", since any dots that were already in the old logfile
|
||
will never go away, no matter how many times you go near them.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>CoDSP.exe
|
||
+set r_graymap 1 +set r_vc_makelog 1 +set r_vc_showlog 1 +devmap mapname</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
|
||
can change the amount of dots you see in the map by changing the “r_vc_showlog”
|
||
value.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Four
|
||
is a good value to use, but any of these are valid: 2, 4, 6, 8, 10, 12, 16</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
|
||
can bind a key to increase/decrease the value.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Example:</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>bind
|
||
F3 "toggle r_vc_showlog 2 4 6 8 12 16"</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>bind
|
||
F4 "toggle r_vc_showlog 16 12 8 6 4 2"</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
|
||
must NOT set "dedicated", or you will not get the compiled visiblity
|
||
cache data. Setting r_graymap is not necessary but saves a little time by
|
||
not loading textures.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
|
||
Arial'>Compiling a VClog</span></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Once
|
||
your map is basically geometry complete, make "mapname.vclog" by
|
||
going around your map with "r_vc_makelog 1". From then on, you need
|
||
only compile the map with "+set r_vc_compile 2" as follows.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>CoDSP.exe
|
||
+set r_vc_compile 2 +devmap mapname</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>With
|
||
r_vc_compile 2 the game quits after compiling visibility cache data; 1 compiles
|
||
and finishes loading. Also, if you do r_vc_compile 1, then the compiled
|
||
visibility will not be available until you do a vid_restart or load the map
|
||
again. A map_restart or loaded savegame is not sufficient. Additionally,
|
||
CoDSP.exe is hardcoded to look for the .vclog file in the maps directory and
|
||
the CoDMP.exe is hardcoded to look in maps/mp/. Basically, the .vclog MUST be
|
||
in the same place as the .bsp.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
|
||
Arial'>Confirming a VClog </span></b></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>To
|
||
confirm whether or not the VClog has been compiled into a .bsp use the
|
||
“r_vc_stats” console command to see the performance statistics for the light
|
||
visibility cache. Load the .bsp in the game. Once the map has loaded, pull down
|
||
the console and type “r_vc_stats”. The VClog has been successfully compiled
|
||
into the .bsp if the “entries used” number is greater than “entries filled in
|
||
at runtime”.</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Example:</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>light
|
||
visibility cache performance:</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>74606
|
||
entries used (28.5%)</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>21
|
||
max associativity</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>0
|
||
entries flushed</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>1216
|
||
entries filled in at runtime instead of read from disk</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'> </span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Note:</span></p>
|
||
|
||
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>If
|
||
the “entries filled in at runtime” number is the same as the “entries used”
|
||
number, then the VClog has NOT been compiled into the .bsp.</span></p>
|
||
|
||
</div>
|
||
|
||
</body>
|
||
|
||
</html>
|