as released 2003-08-18

This commit is contained in:
archive 2003-08-18 00:00:00 +00:00
commit 7cd558dc87
107 changed files with 352545 additions and 0 deletions

View File

@ -0,0 +1,932 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
Client Game Module Classes</p>
<h2><a name="Script">Script</a> -> <a href="#Class">Class</a></h2>
<BLOCKQUOTE> </BLOCKQUOTE>
<h2> <a name="Listener">Listener</a> -> <a href="#Class">Class</a></h2>
<BLOCKQUOTE>
<P><tt><B>immediateremove</B></tt><BR>
<ul>
Removes this listener immediately.
</ul>
<P><tt><B>remove</B></tt><BR>
<ul>
Removes this listener the next time events are processed.
</ul>
</BLOCKQUOTE>
<h2> <a name="Event">Event</a> -> <a href="#Class">Class</a></h2>
<BLOCKQUOTE> </BLOCKQUOTE>
<h2> <a name="Class">Class</a></h2>
<BLOCKQUOTE> </BLOCKQUOTE>
<h2> <a name="EmitterLoader">EmitterLoader</a> -> <a href="#Listener">Listener</a>
-> <a href="#Class">Class</a></h2>
<BLOCKQUOTE>
<P><tt><B>emitter</B>( <i>String emittername </i>)</tt><BR>
<ul>
Create a new emitter
</ul>
</BLOCKQUOTE>
<h2> <a name="ClientGameCommandManager">ClientGameCommandManager</a> ->
<a href="#Listener">Listener</a> -> <a href="#Class">Class</a></h2>
<BLOCKQUOTE>
<P><tt><B>(</B></tt><BR>
<ul>
Signals the beginning of a block of commands
</ul>
<P><tt><B>)</B></tt><BR>
<ul>
Signals the end of a block of commands
</ul>
<P><tt><B>accel</B>( <i>Float xAccFloat yAccFloat zAcc[ Float delay ]
</i>)</tt><BR>
<ul>
Set the acceleration of the spawned tempmodel.<BR>
This acceleration is applied using the world axis
</ul>
<P><tt><B>addsoundeffect</B>( <i>String surfacetypeString name </i>)</tt><BR>
<ul>
The surface type and name of the effect
</ul>
<P><tt><B>addspawneffect</B>( <i>String surfacetypeString name </i>)</tt><BR>
<ul>
The surface type and name of the effect
</ul>
<P><tt><B>alias</B>( <i>String aliasString realPath[ String arg1 ][ String
arg2 ][ String arg3 ][ String arg4 ][ String arg5 ][ String arg6 ] </i>)</tt><BR>
<ul>
Create an alias to the specified path
</ul>
<P><tt><B>aliascache</B>( <i>String aliasString realPath[ String arg1
][ String arg2 ][ String arg3 ][ String arg4 ][ String arg5 ][ String
arg6 ] </i>)</tt><BR>
<ul>
Create an alias to the specified path and cache the resource
</ul>
<P><tt><B>align</B></tt><BR>
<ul>
Align the tempmodels to the direction they are traveling
</ul>
<P><tt><B>alignonce</B></tt><BR>
<ul>
Align the tempmodels to the direction they are traveling at the time
they are initialized
</ul>
<P><tt><B>alpha</B>( <i>Float alpha </i>)</tt><BR>
<ul>
Set the alpha of the spawned tempmodel
</ul>
<P><tt><B>alwayscreate</B></tt><BR>
<ul>
Always creates a new beam instead of replacing odd one.
</ul>
<P><tt><B>angles</B>( <i>[ String [randomtype] ]Float pitch[ String [randomtype]
]Float yaw[ String [randomtype] ]Float roll </i>)</tt><BR>
<ul>
The angles of the object.If random type is not specified, then the component
will be just set<BR>
without randomness.
</ul>
<P><tt><B>anim</B>( <i>String animation </i>)</tt><BR>
<ul>
Set a tempmodel the the specified animation
</ul>
<P><tt><B>animateonce</B></tt><BR>
<ul>
Set a tempmodel to animate once and then get removed
</ul>
<P><tt><B>autocache</B>( <i>String resourceName </i>)</tt><BR>
<ul>
Cache the specified resource
</ul>
<P><tt><B>avelocity</B>( <i>[ String [randomtype] ]Float yawVel[ String
[randomtype] ]Float pitchVel[ String [randomtype] ]Float rollVel </i>)</tt><BR>
<ul>
Set the angular velocity of the spawned tempmodel
</ul>
<P><tt><B>beam_offset_endpoints</B></tt><BR>
<ul>
Make the beams endpoints offset to reduce the bunching up effect
</ul>
<P><tt><B>beamdelay</B>( <i>[ String [randomtype] ][ Float delay ] </i>)</tt><BR>
<ul>
Set the delay time between creating new beams.<BR>
If the keyword randomtype is specified, the delay between beams will
be random
</ul>
<P><tt><B>beamlength</B>( <i>Float length </i>)</tt><BR>
<ul>
Set the length of the beam or trace length (for decals)
</ul>
<P><tt><B>beampersist</B></tt><BR>
<ul>
Make the beams persist instead of blinking out
</ul>
<P><tt><B>beamshader</B>( <i>String shadername </i>)</tt><BR>
<ul>
Set the shader to use for the beam
</ul>
<P><tt><B>beamsphere</B>( <i>Integer count </i>)</tt><BR>
<ul>
Create a sphere shaped beam effect from the origin. Count is the number
of beams
</ul>
<P><tt><B>beamtoggledelay</B>( <i>[ String [randomtype] ][ Float delay
] </i>)</tt><BR>
<ul>
Set a delay between toggling the beams on and off.<BR>
If the keyword randomtype is specified, the delay between toggling will
occur randomly
</ul>
<P><tt><B>beamwave</B></tt><BR>
<ul>
Makes the beam behave as a wave.
</ul>
<P><tt><B>bouncedecal</B>( <i>[ Integer maxamount ][ Integer temporary
] </i>)</tt><BR>
<ul>
Put a mark when the tempmodel bounces and hits a surface<BR>
maxamount = Max amount of decals to make when bouncing<BR>
temporary = specify 1 for a temporary mark that only appears for a short
time, 0 for a decal that stays aroung longer (default is 0)<BR>
A decal shader must be specified using decalshader<BR>
</ul>
<P><tt><B>bouncefactor</B>( <i>Float factor </i>)</tt><BR>
<ul>
Set the bounciness of a tempmodel when it hits a solid.<BR>
A factor > 1 will make the model bounce higher and higher on each hit
</ul>
<P><tt><B>bouncesound</B>( <i>String sound[ Float [delay] ] </i>)</tt><BR>
<ul>
When bouncing, what sound to play on impact and an option delay (default
is 1 second) between playing this sound
</ul>
<P><tt><B>bouncesoundonce</B>( <i>String sound </i>)</tt><BR>
<ul>
When bouncing, what sound to play on impact one time
</ul>
<P><tt><B>cache</B>( <i>String resourceName </i>)</tt><BR>
<ul>
Cache the specified resource
</ul>
<P><tt><B>canendearly</B></tt><BR>
<ul>
Makes it so the beam can end early if it hits something.
</ul>
<P><tt><B>chancetoemitatcamera</B>( <i>Float chance </i>)</tt><BR>
<ul>
sets the percent chance that particles will be emitted towards camera
</ul>
<P><tt><B>circle</B></tt><BR>
<ul>
Set the tempmodels to be spawned in a circle around the origin<BR>
This circle will be generated in the X/Y axis of the model
</ul>
<P><tt><B>client</B>( <i>[ String arg1 ][ String arg2 ][ String arg3 ][
String arg4 ][ String arg5 ][ String arg6 ] </i>)</tt><BR>
<ul>
Execute the specified command arg string
</ul>
<P><tt><B>collision</B>( <i>[ String water ] </i>)</tt><BR>
<ul>
Turn on collision for the tempmodel.<BR>
If the keyword water is specified, then the tempmodel will collide with
water
</ul>
<P><tt><B>color</B>( <i>Float color_redFloat color_greenFloat color_blue[
Float alpha ] </i>)</tt><BR>
<ul>
Set the color (modulate) of the spawned tempmodel.
</ul>
<P><tt><B>colorrange</B>( <i>Float color_red_startFloat color_green_startFloat
color_blue_startFloat color_red_endFloat color_green_endFloat color_blue_end[
Float time ] </i>)</tt><BR>
<ul>
Sets the color range of the spawned tempmodel.
</ul>
<P><tt><B>commanddelay</B>( <i>Float timeInteger commandnumber[ String
[arg1] ][ String [arg2] ][ String [arg3] ][ String [arg4] ][ String
[arg5] ][ String [arg6] ] </i>)</tt><BR>
<ul>
Set the time delay between this command getting executed. This requires
a command number to be assigned here.<BR>
This is internally used to keep track of the commands this entity executes
and will resolve naming conflicts.
</ul>
<P><tt><B>count</B>( <i>Integer count </i>)</tt><BR>
<ul>
Set the number of tempmodels that are spawned<BR>
This is only used for the originspawn and tagspawn commands,<BR>
and not for emitters, use spawnrate instead
</ul>
<P><tt><B>decalradius</B>( <i>Float radius </i>)</tt><BR>
<ul>
Set the radius of the decal
</ul>
<P><tt><B>decalshader</B>( <i>String shadername </i>)</tt><BR>
<ul>
Set the shader to use for the impact decal.<BR>
Use bouncedecal to turn on bounce decals.<BR>
</ul>
<P><tt><B>definesoundeffect</B>( <i>String effectnameString mapnameString
soundname </i>)</tt><BR>
<ul>
Defines the sound effect
</ul>
<P><tt><B>definespawneffect</B>( <i>String effectnameString mapname </i>)</tt><BR>
<ul>
Defines the spawn effect
</ul>
<P><tt><B>detail</B></tt><BR>
<ul>
Set emitter/tempmodel to be detail. Which can be turned off by detail
</ul>
<P><tt><B>dietouch</B></tt><BR>
<ul>
Set the spawned tempmodels to die when they touch a solid
</ul>
<P><tt><B>direction</B>( <i>[ String [randomtype] ]Float yawDir[ String
[randomtype] ]Float pitchDir[ String [randomtype] ]Float rollDir </i>)</tt><BR>
<ul>
Add a random component to the regular velocity.<BR>
If random type is not specified, then the component will just be added<BR>
without randomness.<BR>
</ul>
<P><tt><B>dlight</B>( <i>Float color_redFloat color_greenFloat color_blueFloat
intensity[ String type1 ][ String type2 ] </i>)</tt><BR>
<ul>
This makes the emitter itself a dynamic lightThe red,green,blue parms
are the color of the light<BR>
The intensity is the radius of the light<BR>
type is the type of light to create (lensflare,viewlensflare,additive)
</ul>
<P><tt><B>dofade</B>( <i>Float fade_delayFloat fadein_timeBoolean alpha_only
</i>)</tt><BR>
<ul>
Fades the model with the parameters outlined above
</ul>
<P><tt><B>drag</B>( <i>Float drag[ Float dragDelay ] </i>)</tt><BR>
<ul>
Set the drag coeffcient. Example, 0.5 drag is half the speed every frame.
dragDelay is the time the particle waits before the drag is applied.
</ul>
<P><tt><B>duplicatecount</B>( <i>Integer num </i>)</tt><BR>
<ul>
Set a duplication number for the tempmodels
</ul>
<P><tt><B>effectmap</B>( <i>String name </i>)</tt><BR>
<ul>
Declaration for the effect map
</ul>
<P><tt><B>emitteroff</B>( <i>String emitterName </i>)</tt><BR>
<ul>
Turn the specified emitter off
</ul>
<P><tt><B>emitteron</B>( <i>String emitterName </i>)</tt><BR>
<ul>
Turn the specified emitter on
</ul>
<P><tt><B>emitterspin</B></tt><BR>
<ul>
sets particles to spin based on emitter origin
</ul>
<P><tt><B>endalpha</B>( <i>Float alpha </i>)</tt><BR>
<ul>
Set the alpha of the beam's endpoint
</ul>
<P><tt><B>entcolor</B>( <i>Float color_redFloat color_greenFloat color_blue[
Float alpha ] </i>)</tt><BR>
<ul>
Set the color(modulate) of this entity
</ul>
<P><tt><B>exclusivelight</B>( <i>String exclusiveName </i>)</tt><BR>
<ul>
Set the exclusive entity lighting tag name for a tiki
</ul>
<P><tt><B>fade</B>( <i>[ Boolean Alpha_Only ] </i>)</tt><BR>
<ul>
Set the tempmodel to fade out over it's life -- Set to 1 to fade Alpha
only
</ul>
<P><tt><B>fadedelay</B>( <i>Float time </i>)</tt><BR>
<ul>
Set the amount of time to delay a fade
</ul>
<P><tt><B>fadein</B>( <i>[ Float time ] </i>)</tt><BR>
<ul>
Set the tempmodel to fade in over the specified time
</ul>
<P><tt><B>flicker</B></tt><BR>
<ul>
Set the tempmodel to change it's alpha every frame. Creates a flickering
effect
</ul>
<P><tt><B>footstep</B>( <i>String tagname[ String creaturetype ] </i>)</tt><BR>
<ul>
Place a footprint that is appropriate to the surface we are currently
stepping on
</ul>
<P><tt><B>footstepsound</B>( <i>[ Integer channel ][ Float volume ][ Float
min_dist ] </i>)</tt><BR>
<ul>
Places an appropriate footstep sound based on the surface we are currently
stepping on
</ul>
<P><tt><B>freq</B>( <i>Float frequency </i>)</tt><BR>
<ul>
Modifies the frequency of a wavy beam (default is 10).
</ul>
<P><tt><B>fullbeamwave</B></tt><BR>
<ul>
Makes the beam behave as one big wave.
</ul>
<P><tt><B>globalfade</B>( <i>[ String [in|out] ] </i>)</tt><BR>
<ul>
Set the tempmodels to globally fade in or out together
</ul>
<P><tt><B>hardlink</B></tt><BR>
<ul>
Set the tempmodels linked to the model they are spawned from, so they
move with it
</ul>
<P><tt><B>hide</B></tt><BR>
<ul>
hides the entity
</ul>
<P><tt><B>hitEntities</B>( <i>Boolean hit_entities_bool </i>)</tt><BR>
<ul>
Whether or not entities can be hit with this effect
</ul>
<P><tt><B>hitWorld</B>( <i>Boolean hit_world_bool </i>)</tt><BR>
<ul>
Whether or not world can be hit with this effect
</ul>
<P><tt><B>inwardsphere</B>( <i>Float radius </i>)</tt><BR>
<ul>
Create the tempmodels in a sphere around the origin, and adjust their<BR>
angle so they point toward the center of the sphere. This is best used
with a<BR>
spehere radius and some velocity so the models look like they're heading
toward the<BR>
center of the sphere.
</ul>
<P><tt><B>itemringshader</B>( <i>String shader_name </i>)</tt><BR>
<ul>
Makes this item use a different item shader.
</ul>
<P><tt><B>lensflare</B>( <i>String lensflare_nameFloat color_redFloat
color_greenFloat color_blue[ Float scale ][ String replacement_shader_name
] </i>)</tt><BR>
<ul>
This makes the emitter itself a lensflare
</ul>
<P><tt><B>life</B>( <i>Float life </i>)</tt><BR>
<ul>
Set the life (in seconds) of the spawned tempmodel
</ul>
<P><tt><B>lightstyle</B>( <i>String nameOfImage </i>)</tt><BR>
<ul>
Set a lightstyle to determine the color of this tempmodel, the image<BR>
specified is used to determine the look of the light style
</ul>
<P><tt><B>loopsound</B>( <i>String soundName[ Float volume ][ Float min_distance
] </i>)</tt><BR>
<ul>
Play the specifed sound as a looping sound
</ul>
<P><tt><B>lscalerate</B>( <i>Float rate </i>)</tt><BR>
<ul>
Sets the linear scaling rate of the spawned tempmodel<BR>
If a negative rate is used, the model will shrink
</ul>
<P><tt><B>maxoffset</B>( <i>Float maxoffset </i>)</tt><BR>
<ul>
Set the maximum offset from center in a beam
</ul>
<P><tt><B>minoffset</B>( <i>Float minoffset </i>)</tt><BR>
<ul>
Set the minimum offset from center in a beam
</ul>
<P><tt><B>model</B>( <i>String modelname1[ String modelname2 ][ String
modelname3 ][ String modelname4 ][ String modelname5 ][ String modelname6
] </i>)</tt><BR>
<ul>
Set the modelname of the tempmodel. If more than 1 model is specified,
it will<BR>
be randomly chosen when spawned
</ul>
<P><tt><B>note</B>( <i>String note </i>)</tt><BR>
<ul>
This is a comment
</ul>
<P><tt><B>numsegments</B>( <i>Integer numsegments </i>)</tt><BR>
<ul>
Set the number of segments in a beam
</ul>
<P><tt><B>offset</B>( <i>[ String [randomtype] ]Float offsetX[ String
[randomtype] ]Float offsetY[ String [randomtype] ]Float offsetZ </i>)</tt><BR>
<ul>
If random type is not specified, then the component will just be added<BR>
without randomness.<BR>
This offset is applied using the world axis.
</ul>
<P><tt><B>offsetalongaxis</B>( <i>[ String [randomtype] ]Float offsetx[
String [randomtype] ]Float offsety[ String [randomtype] ]Float offsetz
</i>)</tt><BR>
<ul>
If random type is not specified, then the component will just be added<BR>
without randomness.<BR>
This offset is applied using the model's local axis
</ul>
<P><tt><B>oneFrameOnly</B></tt><BR>
<ul>
Makes the emitter only last one frame
</ul>
<P><tt><B>orientation</B>( <i>Float degrees </i>)</tt><BR>
<ul>
Set the degrees to orient the decal. Specify 'random' to use a random
orientation
</ul>
<P><tt><B>originbeamemitter</B>( <i>String name </i>)</tt><BR>
<ul>
Spawn beams from the origin.<BR>
This command is followed by a ( to specify a block of commands that
modify the beam
</ul>
<P><tt><B>originbeamspawn</B>( <i>String emitterName </i>)</tt><BR>
<ul>
Spawn a beam from the origin.<BR>
This command is followed by a ( to specify a block of commands that
modify the beam
</ul>
<P><tt><B>origindlight</B>( <i>Float color_redFloat color_greenFloat color_blueFloat
intensityFloat life[ String type1 ][ String type2 ] </i>)</tt><BR>
<ul>
Spawn a dynamic light from the origin of the model<BR>
The red,green,blue parms are the color of the light<BR>
The intensity is the radius of the light<BR>
type is the type of light to create (lensflare,viewlensflare,additive)
</ul>
<P><tt><B>originemitter</B>( <i>String emitterName[ String tikiName ][
Boolean startoff ] </i>)</tt><BR>
<ul>
Create an emitter that spawns tempmodels from the origin.<BR>
This command is followed by a ( to specify a block of commands that
modify the tempmodels
</ul>
<P><tt><B>originspawn</B></tt><BR>
<ul>
Spawn tempmodels from the origin.<BR>
This command is followed by a ( to specify a block of commands that
modify the tempmodels
</ul>
<P><tt><B>parallel</B></tt><BR>
<ul>
Set tempmodel to be parallel to the viewer
</ul>
<P><tt><B>parentangles</B></tt><BR>
<ul>
Set the tempmodels angles to that of its parent
</ul>
<P><tt><B>parentlink</B></tt><BR>
<ul>
Set the tempmodels linked to the parent, so they move with the parent
model
</ul>
<P><tt><B>particlespin</B></tt><BR>
<ul>
sets particles to spin based on own origin
</ul>
<P><tt><B>physicsrate</B>( <i>String rate </i>)</tt><BR>
<ul>
Set the rate (in updates per second) for the tempmodel's physics to
be updated
</ul>
<P><tt><B>print</B>( <i>String string </i>)</tt><BR>
<ul>
Prints a string.
</ul>
<P><tt><B>radius</B>( <i>Float radius </i>)</tt><BR>
<ul>
Set the radius of the sphere for the inwardsphere amd sphere settings
</ul>
<P><tt><B>randomchance</B>( <i>Float percentage[ String [arg1] ][ String
[arg2] ][ String [arg3] ][ String [arg4] ][ String [arg5] ][ String
[arg6] ] </i>)</tt><BR>
<ul>
Set the percentage chance that command will occur
</ul>
<P><tt><B>randomroll</B></tt><BR>
<ul>
Set the tempmodels so they pick a random roll value every frame
</ul>
<P><tt><B>randvel</B>( <i>[ String [randomtype] ]Float xVel[ String [randomtype]
]Float yVel[ String [randomtype] ]Float zVel </i>)</tt><BR>
<ul>
Add a random component to the regular velocity.<BR>
If a random type is not specified, then the component will just be added<BR>
without randomness.<BR>
This velocity is applied using the world axis
</ul>
<P><tt><B>randvelaxis</B>( <i>[ String [randomtype] ]Float forwardVel[
String [randomtype] ]Float rightVel[ String [randomtype] ]Float upVel
</i>)</tt><BR>
<ul>
Add a random component to the regular velocity.<BR>
If random type is not specified, then the component will just be added<BR>
without randomness.<BR>
This velocity is applied using the parent axis
</ul>
<P><tt><B>scale</B>( <i>Float scale </i>)</tt><BR>
<ul>
Set the scale of a spawned tempmodel
</ul>
<P><tt><B>scaledelay</B>( <i>Float scale_delay </i>)</tt><BR>
<ul>
Sets the Delay before the model scales
</ul>
<P><tt><B>scalemax</B>( <i>Float scalemax </i>)</tt><BR>
<ul>
Set the maximum scale of a spawned tempmodel
</ul>
<P><tt><B>scalemin</B>( <i>Float scalemin </i>)</tt><BR>
<ul>
Set the minimum scale of a spawned tempmodel
</ul>
<P><tt><B>scalerate</B>( <i>Float rate </i>)</tt><BR>
<ul>
Set the scaling rate of the spawned tempmodel<BR>
If a negative rate is used, the model will shrink
</ul>
<P><tt><B>scaleupdown</B></tt><BR>
<ul>
Set the tempmodel to scale up to scale value and then down.
</ul>
<P><tt><B>setspinrate</B>( <i>Float spin_PitchFloat spin_YawFloat spin_Roll
</i>)</tt><BR>
<ul>
sets spin on particles
</ul>
<P><tt><B>setwindeffect</B>( <i>Float windeffect </i>)</tt><BR>
<ul>
sets the amount that emitted objects are affected by wind
</ul>
<P><tt><B>sound</B>( <i>String soundName[ Integer channel ][ Float volume
][ Float min_distance ][ Float max_pitch_difference ][ Float min_pitch_difference
] </i>)</tt><BR>
<ul>
Play the specified sound
</ul>
<P><tt><B>spawneffect</B>( <i>String name </i>)</tt><BR>
<ul>
Name of the effect
</ul>
<P><tt><B>spawnrate</B>( <i>Float rate </i>)</tt><BR>
<ul>
Set the spawnrate of the emitter (models per second).<BR>
This is only used for emitters and not for the originspawn and tagspawn
commands
</ul>
<P><tt><B>sphere</B></tt><BR>
<ul>
Set the tempmodels to spawn in a sphere around the origin.<BR>
If sphereradius is set, the tempmodels will spawn at the radius distance
from<BR>
the origin
</ul>
<P><tt><B>spread</B>( <i>Float spreadxFloat spready[ Float endspreadx
][ Float endspready ][ Float spreadtimedelta ] </i>)</tt><BR>
<ul>
Add a random variance in the spawned beam in the forward direction by
the amound specified in spreadx and spready, optionally with an end
spread/time
</ul>
<P><tt><B>startoff</B></tt><BR>
<ul>
Signals an emitter to start in the off state (no tempmodels are emitted)
</ul>
<P><tt><B>stopsound</B>( <i>Integer channel </i>)</tt><BR>
<ul>
Stops the sound on the specified channel.
</ul>
<P><tt><B>surfaceSound</B>( <i>String baseSurfaceSound[ Integer channel
][ Float volume ][ Float min_dist ] </i>)</tt><BR>
<ul>
Places an appropriate sound based on the surface we are currently stepping
on
</ul>
<P><tt><B>swarm</B>( <i>Integer frequencyFloat maxspeedFloat delta </i>)</tt><BR>
<ul>
Create a swarm like effect that the tempmodels follow when they are
spawned<BR>
frequency is how often they change direction<BR>
maxspeed is how fast the tempmodel will move (it's randomly generated
every<BR>
time the frequency is hit<BR>
delta is how much the tempmodel moves toward the origin every frame
</ul>
<P><tt><B>swipe</B>( <i>[ Vector origin ] </i>)</tt><BR>
<ul>
Do a swipe and add it on to the swipe rendering list.
</ul>
<P><tt><B>swipeoff</B></tt><BR>
<ul>
Signal the end of a swipe
</ul>
<P><tt><B>swipeon</B>( <i>String shaderString startTagNameFloat endTagNamelifeFloat
life </i>)</tt><BR>
<ul>
Signal the start of a swipe from the current tag
</ul>
<P><tt><B>tagbeamemitter</B>( <i>String tagstartString name[ String tagend
] </i>)</tt><BR>
<ul>
Create a beam emitter that uses 2 tags to determine it's start and end
position
</ul>
<P><tt><B>tagbeamspawn</B>( <i>String tagstart </i>)</tt><BR>
<ul>
Spawn a beam that uses the tag to determine it's starting position.
</ul>
<P><tt><B>tagdlight</B>( <i>String tagNameFloat color_redFloat color_greenFloat
color_blueFloat intensityFloat life[ String type1 ][ String type2 ]
</i>)</tt><BR>
<ul>
Spawn a dynamic light from the specified tag<BR>
The red,green,blue parms are the color of the light<BR>
The intensity is the radius of the light<BR>
type is the type of light to create (lensflare,viewlensflare,additive)
</ul>
<P><tt><B>tagemitter</B>( <i>String tagNameString emitterName[ String
tikiName ][ Boolean startoff ] </i>)</tt><BR>
<ul>
Create an emitter that spawns tempmodels from the specified tag.<BR>
This command is followed by a ( to specify a block of commands that
modify the tempmodels
</ul>
<P><tt><B>taglist</B>( <i>String arg1String arg2[ String arg3 ][ String
arg4 ][ String arg5 ][ String arg6 ][ String arg7 ][ String arg8 ] </i>)</tt><BR>
<ul>
Set the tag list to create a beam that travels between all the tags
</ul>
<P><tt><B>tagspawn</B>( <i>String tagName </i>)</tt><BR>
<ul>
Spawn tempmodels from the specified tag.<BR>
This command is followed by a ( to specify a block of commands that
modify the tempmodels
</ul>
<P><tt><B>tagtraceimpactmark</B>( <i>String tagname[ Integer temporary
] </i>)</tt><BR>
<ul>
Perform a trace from the specified tag to the maxlength and put the
shader as a decal on the surface it hits<BR>
temporary = specify 1 for a temporary mark that only appears for a short
time, 0 for a decal that stays aroung longer (default is 0)<BR>
</ul>
<P><tt><B>tagtraceimpactsound</B>( <i>String tagnameInteger maxlengthString
sound[ Boolean isalias ] </i>)</tt><BR>
<ul>
Perform a trace from the specified tag to the maxlength and play a sound
at that position
</ul>
<P><tt><B>tagtraceimpactspawn</B>( <i>String tagname </i>)</tt><BR>
<ul>
Perform a trace from the specified tag to the maxlength and spawn the
specified model there.
</ul>
<P><tt><B>tbc_direction</B>( <i>[ String [randomtype] ]Float yawDir[ String
[randomtype] ]Float pitchDir[ String [randomtype] ]Float rollDirFloat
endTimeBoolean lerp </i>)</tt><BR>
<ul>
Add a random component to the regular velocity.<BR>
If random type is not specified, then the component will just be added<BR>
without randomness.<BR>
</ul>
<P><tt><B>tbc_particlespin</B>( <i>Float spinrate_xFloat spinrate_yFloat
spinrate_zBoolean spinoutFloat start_timeFloat end_timeBoolean lerp
</i>)</tt><BR>
<ul>
TimeBased Spin Command
</ul>
<P><tt><B>tbc_spawnrate</B>( <i>Float speedFloat start_timeFloat end_timeBoolean
lerp </i>)</tt><BR>
<ul>
TimeBased SpawnRate Command
</ul>
<P><tt><B>tbc_speed</B>( <i>Float speedFloat start_timeFloat end_timeBoolean
lerp </i>)</tt><BR>
<ul>
TimeBased Speed Command
</ul>
<P><tt><B>todo</B>( <i>String todo </i>)</tt><BR>
<ul>
This is an item that needs to be done
</ul>
<P><tt><B>tracecount</B>( <i>Integer count </i>)</tt><BR>
<ul>
Set the number of traces that are done<BR>
</ul>
<P><tt><B>tracelength</B>( <i>Float length </i>)</tt><BR>
<ul>
Set the length of the trace for the decal
</ul>
<P><tt><B>trail</B>( <i>String shaderString startTagString endTagFloat
life </i>)</tt><BR>
<ul>
Set the tempmodel to have a swipe that follows it
</ul>
<P><tt><B>twinkle</B>( <i>Float mintimeoffFloat maxtimeoffFloat mintimeonFloat
maxtimeon </i>)</tt><BR>
<ul>
Set the tempmodel to twinkle with the specified settings
</ul>
<P><tt><B>useLastTrace</B></tt><BR>
<ul>
Makes this trace command use the results from the last trace command
</ul>
<P><tt><B>uselasttraceend</B></tt><BR>
<ul>
Makes this trace command use the end results of the last trace command
</ul>
<P><tt><B>velocity</B>( <i>Float forwardVelocity </i>)</tt><BR>
<ul>
Set the forward velocity of the spawned tempmodel
</ul>
<P><tt><B>wavy</B>( <i>[ String [randomtype] ]Float distance </i>)</tt><BR>
<ul>
Set the tempmodel to move in a wavy path to a maxmimun of the distance
specified<BR>
</ul>
</BLOCKQUOTE>
<H2> 6 Client Game Module Classes.<BR>
113 Events. </H2>
<p class="subheader">&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
lease do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,475 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
Camera Documentation</p>
<p> The camera can be interfaced through either the in game camera system
(activated by typing &quot;pushmenu camera&quot; in the console) as well
as from the scripting language.</p>
<p class="subheader">Spawning a Camera</p>
<p> To spawn a camera from script use the following command:</p>
<blockquote>
<p class="menu"> spawn Camera targetname MyCamera</p>
</blockquote>
<p class="subheader">Switching Between Cameras</p>
<p>Switching between cameras is accomplished with these commands: </p>
<ul type="square">
<li> <b>cuecamera cameraName [switchTime]</b><br>
Switch to the specified camera. If switch time is specified and you
are not already in camera view, the camera will smoothly transition
from the third person camera to this camera.<br>
<br>
</li>
<li> <b>cueplayer [switchTime]</b><br>
Switch back to third person mode. If switchtime is specified, than camera
will switch over that period of time.</li>
</ul>
<p class="subheader">Other Useful Scripting Commands</p>
<ul type="square">
<li> <b>freezeplayer</b><br>
Freezes the player wherever he is standing.<br>
<br>
</li>
<li> <b>releaseplayer</b><br>
Release the player after he has been frozen.<br>
<br>
</li>
<li> <b>fakeplayer</b><br>
Create a fake version of the player, hide the real one. The fake player
has a targetname of &#8220;fakeplayer&#8221;.<br>
<br>
</li>
<li> <b>removefakeplayer</b><br>
Remove the fake player and unhide the real one.</li>
</ul>
<p class="subheader">In-game Camera System Commands:</p>
<ul type="square">
<li> <b>cam new</b><br>
Start a new camera path.<br>
<br>
</li>
<li> <b>cam load [filename]</b><br>
Loads the camera path from cams/[filename].cam. If no filename is set,
filename is taken from the cam_filename CVAR.<br>
<br>
</li>
<li> <b>cam save [filename]</b><br>
Saves the current path to cams/[filename].cam. If the targetname of
the path has not been set, then it is set the same as [filename]. If
no filename is set, filename is taken from the cam_filename CVAR.<br>
<br>
</li>
<li> <b>cam savemap [filename]</b><br>
Saves the current path to cams/[filename].map. This is a special format
for integration into existing map files.<br>
<br>
</li>
<li> <b>cam setpath targetname</b><br>
Changes the current path to the path with the specified targetname.<br>
<br>
</li>
<li> <b>cam settargetname targetname</b><br>
Sets the targetname of the current path point [targetname].<br>
<br>
</li>
<li> <b>cam settarget target</b><br>
Sets the target of the current path point to [target]. Doing this will
cause the entity with the targetname of [target] to be triggered when
the camera reaches this path point.<br>
<br>
</li>
<li> <b>cam setthread threadname</b><br>
Sets the thread of the current path point to [threadname]. Doing this
will cause the thread [threadname] to be executed when the camera reaches
this point.<br>
<br>
</li>
<li> <b>cam setspeed [speed]</b><br>
Sets the speed of the camera at this path node. Speed is displayed above
the currently selected path point when the path is being drawn. Speed
is the number of path points the camera will go through per second,
so a speed of 2 makes the camera take &frac12; a second per path point.
Speed defaults to 1. SetSpeed sets the speed on the current node and
any nodes added in the future.<br>
<br>
</li>
<li> <b>cam add</b><br>
Creates a new path point at the current player location and angle using
the current speed.<br>
<br>
</li>
<li> <b>cam delete</b><br>
Deletes the currently selected path point. The current node then becomes
the path point that was immediately after the path point.<br>
<br>
</li>
<li> <b>cam replace</b><br>
Changes the position, angle, and speed of the currently selected path
point to that of the player and current speed.<br>
<br>
</li>
<li> <b>cam moveplayer</b><br>
Places the player at the position of the current path point. The player&#8217;s
view remains the same, however.<br>
<br>
</li>
<li> <b>cam next</b><br>
Selects the next point in the path.<br>
<br>
</li>
<li><b>cam prev</b><br>
Selects the previous point in the path.<br>
<br>
</li>
<li><b>cam show</b><br>
Displays the current path. The Current path point is draw in yellow
with the speed drawn above it. At each node, a coordinate system is
drawn to show the orientation. Red is forward, green is right, blue
is up. The lines draw between path points to indicate the direction
the camera will take.<br>
<br>
</li>
<li> <b>cam hide</b><br>
Stops drawing the current path.<br>
<br>
</li>
<li><b>cam play</b><br>
Makes the camera play the path once.<br>
<br>
</li>
<li><b>cam play [targetname]</b><br>
Causes the camera to play the path specified by targetname once.<br>
<br>
</li>
<li><b> cam loop</b><br>
Makes the camera play the path and continuously loop.<br>
<br>
</li>
<li> <b>cam loop [targetname]</b><br>
Makes the camera play the path specified by targetname and continuously
loop.<br>
<br>
</li>
<li> <b>cam stop</b><br>
Stops the camera and switches the view back to the player.<br>
<br>
</li>
<li> <b>cam watch [targetname]</b><br>
Mark the node to tell the camera to watch the specified target when
the camera gets to that control point. [targetname] can be one of the
reserved keywords path, node or none or it can just be a targetname
for a specific entity:<br>
<br>
<ul>
<li> <b>path</b><br>
Watch the path as we move, in other words look in the direction
that we are moving</li>
<li> <b>node</b><br>
Orient ourselves based off of the orientation in each node, in other
words use the stored orientations at each node to determine our
view.</li>
<li> <b>none</b><br>
Do not make any orientations whatsoever, This means that the camera
will not change it&#8217;s orientation at all.<br>
<br>
</li>
</ul>
</li>
<li><b>cam nowatch</b><br>
Mark the node to tell the camera to stop watching any entities when
the camera gets to that control point. Equivalent to &#8220;cam watch
none&#8221;.<br>
<br>
</li>
<li> <b>cam setfov</b><br>
Set the fov of the current path node.<br>
<br>
</li>
<li> <b>cam setfadetime</b><br>
Set the fadetime of the current path node.</li>
</ul>
<p class="subheader">Script commands:</li></p>
<p> All commands must have the targetname of the camera pre-pended.</p>
<ul type="square">
<li> <b>start</b><br>
Start the camera moving or watching.<br>
<br>
</li>
<li> <b>pause</b><br>
Pause the camera along its path.<br>
<br>
</li>
<li> <b>continue</b><br>
Resume the camera&#8217;s movement.<br>
<br>
</li>
<li> <b>stop</b><br>
Stop the camera from moving and watching.<br>
<br>
</li>
<li> <b>speed newSpeed</b><br>
Set the speed of the camera.<br>
<br>
</li>
<li> <b>fov newFov [fadeTime]</b><br>
Set the fov of the camera and optionally the time over which the fov
should transition, default is whatever the camera&#8217;s fadetime is
set to.<br>
<br>
</li>
<li> <b>follow targetEntity [targetWatchEntity]</b><br>
Start following an entity, if that entity is a splinepath then the path
will be followed. If targetWatchEntity is specified than that entity
will be watched while following targetEntity. By default targetEntity
will be watched as well.<br>
<br>
</li>
<li> <b>follow_distance followDistance</b><br>
Distance at which the camera should follow an entity, also used for
orbit radius.<br>
<br>
</li>
<li> <b>follow_yaw yawOffset</b><br>
Yaw offset of the camera following an entity.<br>
<br>
</li>
<li> <b>follow_yaw_absolute</b><br>
Make the follow yaw absolute rather than relative to the follow entity&#8217;s
angles<br>
</li>
<li> <b>follow_yaw_relative</b><br>
Make the follow yaw relative to the follow entitiy&#8217;s angles<br>
</li>
<li> <b>orbit targetEntity [targetWatchEntity]</b><br>
Start orbiting an entity, if that entity is a splinepath then the path
will be followed and looped. If targetWatchEntity is specified than
that entity will be watched while following targetEntity. By default
targetEntity will be watched as well.<br>
<br>
</li>
<li> <b>orbit_height newHeight</b><br>
Height offset for orbiting an entity.<br>
<br>
</li>
<li> <b>watch watchEntity [fadeTime]</b><br>
Start watching an entity, and optionally the time over which the transition
should occur. The default transition time is the camera&#8217;s fadetime.<br>
<br>
</li>
<li> <b>watchpath [fadeTime]</b><br>
Start looking along the direction of movement and optionally the time
over which the transition should occur. The default transition time
is the camera&#8217;s fadetime.<br>
<br>
</li>
<li> <b>watchnode [fadeTime]</b><br>
Start basing the camera&#8217;s orientation off of what is stored in
the camera path nodes and optionally the time over which the transition
should occur. The default transition time is the camera&#8217;s fadetime.<br>
<br>
</li>
<li> <b>nowatch [fadeTime]</b><br>
Stop watching an entity, looking along a path or anything else. The
camera&#8217;s orientation is now static. Optionally transition overt
the time specified. The default transition time is the camera&#8217;s
fadetime.<br>
<br>
</li>
<li><b> lookat targetEntity</b><br>
Immediately make the camera look at the given entity<br>
</li>
<li> <b>turnto newAngles</b><br>
Immediately turn the camera to the desired angles. NewAngles is a vector<br>
</li>
<li> <b>moveto targetEntity</b><br>
Immediately move the camera to the targetEntity&#8217;s origin<br>
</li>
<li> <b>movetopos newPosition</b><br>
Immediately move to the specified world space position<br>
</li>
<li><b> fadetime newFadetime</b><br>
Specifiy a new fadetime for this camera, this fadetime will be used
for any of the watch or follow commands if no explicit fadetime is specified.<br>
<br>
</li>
<li> <b>cut</b><br>
Switch cameras immediately, don&#8217;t transition over time.<br>
<br>
</li>
<li> <b>nextcamera cameraName</b><br>
Next camera to use in a security camera system arrangement.<br>
<br>
</li>
<li> <b>setthread threadName</b><br>
Sets the thread of the camera which is accessed from a trigger_camerause.</li>
</li>
</ul>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,584 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
Client Commands Reference Guide</p>
<p class="subheader"> Overview</p>
<p> Client side commands refer to any commands that are used in the client
game DLL (cgame DLL). These commands are placed and executed on frames
of animation. When a TIKI model&#8217;s animation is played back on the
client, the commands associated with those frames are executed. This document
also contains a list of client INIT commands. These are commands that
are ony executed on the client when the model is initialized. These commands
deal with setting up emitters. </p>
<p class="subheader"> Example</p>
<p> This is a list of client commands and parameters for the client. These
commands can be placed in a TIKI file for execution. Here is an example
to get started:</p>
<blockquote>
<p class="menu">Animations<br>
&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;power power.tan<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;client<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first
tagspawn tag_hand<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count
50<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model
models/flameball.tik<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;velocity
50<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;randvel
0 0 200<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;avelocity
random 360 random 360 random 360<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;life
1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;accel
0 0 -100<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scale
0.1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fade<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bouncefactor
0.8<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offset
crandom 3 crandom 3 crandom 3<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;}</p>
</blockquote>
<p>Here is an explantion of what is going to happen when the first frame
of the &#8220;power&#8221; animation is executed.</p>
<p>After the definition of the animation &#8220;power power.tan&#8221; You
can list client and server side commands that will be executed on the
specified frames. In this case there is a client command on the first
frame of the power animation. Notice that the command is called &#8220;tagspawn&#8221;
and it has one parameter on the same line called &#8220;hand&#8221;. This
command allows you to spawn things ( particles, models, sprites ) from
the tag that is built into the model ( in this case it&#8217;s the hand
tag ). </p>
<p>The &#8220;(&#8220; on the next line starts a block of modifiers and
parameters that will affect the spawning properties of the command. There
are 11 lines of parameters after the &#8220;(&#8220; and then there is
a closing &#8220;)&#8221;. The &#8220;)&#8221; signifies the end of the
parameters/modifiers and finishes off the command. Each one of the modifiers
is explained below, along with the commands like &#8220;tagspawn&#8221;.</p>
<p class="subheader">Client Animation Commands </p>
<p>These commands can be executed on any frame of any animation on the client.
These are placed in the client frame commands of the TIKI file.</p>
<ul type="square">
<li><b>alias &lt;path&gt; &lt;alias&gt;</b><br>
Creates an alias to to the specified path.<br>
<br>
</li>
<li> <b>aliascache &lt;aliasname&gt; &lt;resourcename&gt;</b><br>
Caches in the specified resource name and creates the creates the alias
specified to reference it.<br>
<br>
</li>
<li> <b>cache &lt;resourcename&gt;</b><br>
Caches in the specified resource name<br>
<br>
</li>
<li> <b>client &lt;arg1&gt; &lt;arg2&gt;&#8230; </b><br>
Execute the specified arguments on the client. This is for use in global
scripts.<br>
<br>
</li>
<li> <b>commanddelay &lt;time&gt; &lt;commandnum&gt; &lt;command&gt; [arg1]&#8230;[argN]</b><br>
Delays the &lt;command&gt; by the &lt;time&gt; specified. There wll
be a delay between the execution of the command. The &lt;commandnum&gt;
must be provided by the user, It is used to keep track of the different
commands and the times they are executed.<br>
<br>
</li>
<li> <b>dlight &lt;red&gt; &lt;green&gt; &lt;blue&gt; &lt;intensity&gt;
&lt;life&gt; &lt;type&gt;</b><br>
Spawn a dlight from the origin of the model. The &lt;type&gt; of the
light can be normal, lensflare, or viewlensflare<br>
<br>
</li>
<li> <b>emitteroff &lt;emittername&gt;</b><br>
Turns &#8220;off&#8221; the specified emitter<br>
<br>
</li>
<li> <b>emitteron &lt;emittername&gt;</b><br>
Turns &#8220;on&#8221; the specified emitter<br>
<br>
</li>
<li> <b>entcolor</b><br>
Set the color(modulate) of the model.<br>
<br>
</li>
<li><b> loopsound &lt;soundfile&gt; [volume] [mindistance]</b><br>
Plays the specified sound in a loop.<br>
<br>
</li>
<li> <b>originspawn([parameter list]&#8230;)</b><br>
Spawn &#8220;things&#8221; from the origin of the model. The parameter
list after the command specify modifiers on the command.<br>
<br>
</li>
<li><b> randomchance &lt;amount&gt; &lt;command&gt; [arg1]&#8230;[argN]</b><br>
This will randomly execute the specified command. The amount ranges
from 0 to 1 and is the percentage chance that the command will execute.<br>
<br>
</li>
<li> <b>sound &lt;soundfile&gt; [channel number] [volume] [mindistance]</b><br>
Plays the specified sound. Channel, volume, and mindistance are optional<br>
<br>
</li>
<li> <b>swipe</b><br>
Add a segment to the swipe.<br>
<br>
</li>
<li> <b>swipeoff</b><br>
Signal the end of a swipe<br>
<br>
</li>
<li> <b>swipeon &lt;tagname&gt; &lt;size&gt; &lt;life&gt;</b><br>
Signal the start of a swipe.<br>
<br>
</li>
<li> <b>tagdlight &lt;tagname&gt; &lt;red&gt; &lt;green&gt; &lt;blue&gt;
&lt;intensity&gt; &lt;life&gt; &lt;type&gt;</b><br>
Spawn a dlight from the specified tag of the model. The &lt;type&gt;
of the light can be normal, lensflare, or viewlensflare.<br>
<br>
</li>
<li><b> tagspawn &lt;tagname&gt;([parameter list]&#8230;)</b><br>
Spawn &#8220;things&#8221; from the tag specified on the model. The
parameter list after the command specify modifiers on the command.<br>
<br>
</li>
<li><b> tagbeamspawn &lt;tagname_start&gt; &lt;length&gt;</b><br>
Spawns a beam from &lt;tagname_start&gt; of the specified &lt;length&gt;.
The direction is derived from the tag.</li>
</ul>
<p class="subheader">Client Initialization Commands </p>
<p>These commands set up client side effects that are not associated with
animations These are placed in the client init section of the TIKI file.</p>
<ul type="square">
<li><b>tagemitter &lt;tagname&gt; &lt;emittername&gt;(&lt;parameter list&gt;&#8230;)</b><br>
Creates a tag emitter named &lt;emittername&gt; that spawns out models
from &lt;tagname&gt;. This is not associated with animation frames,
so it can be used for static things that emit models without animating.
<br>
<br>
</li>
<li><b> tagbeamemitter &lt;tagname_start&gt; &lt;tagname_end&gt; &lt;emittername&gt;{&lt;parameter
list&gt;}</b><br>
Creates a beam emitter named &lt;emittername&gt; that spawns beams from
tagname_start to tagname_end. This is not associated with animation
frames, so it can be used for static things that have beam effects on
them.</li>
</ul>
<p class="subheader">Parameters for Spawning stuff</p>
<p>These are used in the above commands to modify the &#8220;things&#8221;(
tempmodels ) that are spawned from the emitters/spawn points.</p>
<ul type="square">
<li><b>accel &lt;accelx&gt; &lt;accely&gt; &lt;accelz&gt;</b><br>
Sets the acceleration for the tempmodel. You can simulate gravity by
setting the accelz component to a negative value (E.g. accel 0 0 &#8211;200)<br>
<br>
</li>
<li> <b>align</b><br>
Aligns the tempmodel in the direction it is traveling<br>
<br>
</li>
<li> <b>alpha &lt;alpha_value&gt;</b><br>
Sets the alpha value of the tempmodel<br>
<br>
</li>
<li><b> angles (crandom|random) &lt;yaw&gt; (crandom|random) &lt;pitch&gt;
(crandom|random) &lt;roll&gt;</b><br>
Sets the angular velocity of the tempmodel. Use the keywords random
or crandom as stated in the randvel command.<br>
<br>
</li>
<li> <b>anim &lt;anim_name&gt;</b><br>
Set the anim of the spawned tempmodel.<br>
<br>
</li>
<li> <b>animateonce</b><br>
Animate the tempmodel once before killing it<br>
<br>
</li>
<li> <b>avelocity (crandom|random) &lt;yaw&gt; (crandom|random) &lt;pitch&gt;
(crandom|random) &lt;roll&gt;</b><br>
Sets the angular velocity of the tempmodel. Use the keywords random
or crandom as stated in the randvel command.<br>
<br>
</li>
<li> <b>bouncefactor &lt;bounce_value&gt;</b><br>
Sets the bounciness of the tempmodel. Values greater than 1 will make
the model gain speed when it bounces.<br>
<br>
</li>
<li> <b>circle</b><br>
Spawns the tempmodels in a circlular pattern on the XY plane<br>
<br>
</li>
<li> <b>collision [&#8216;water&#8217;]</b><br>
Turns on collision for the tempmodels (saves CPU if you don&#8217;t
need collision ). Add the water keyword if you want the particles to
collide with water.<br>
<br>
</li>
<li> <b>color &lt;red&gt; &lt;green&gt; &lt;blue&gt; &lt;alpha&gt;</b><br>
Sets the color of the tempmodel. This color is modulated with the tempmodel
when it is drawn.<br>
<br>
</li>
<li> <b>colorrange &lt;startRed&gt; &lt;startGreen&gt; &lt;startBlue&gt;
&lt;endRed&gt; &lt;endGreen&gt; &lt;endBlue&gt;</b><br>
Set the color range to be interpolated over the life of the tempmodel.<br>
<br>
</li>
<li> <b>count &lt;number&gt;</b><br>
The number of tempmodels to be spawned.<br>
<br>
</li>
<li> <b>dietouch</b><br>
Kills the tempmodel when it touches a solid surface.<br>
<br>
</li>
<li> <b>dlight &lt;r&gt; &lt;g&gt; &lt;b&gt; &lt;intensity&gt;</b><br>
Makes the emitter a dynamic light source of color (r,g,b) and the specified
intensity ( radius ).<br>
<br>
</li>
<li> <b>fade</b><br>
Fades the tempmodel to complete translucency over the life.<br>
<br>
</li>
<li> <b>fadein &lt;time&gt;</b><br>
Fades the tempmodel in over the amount of time specified.<br>
<br>
</li>
<li> <b>flicker</b><br>
Causes the tempmodel to flicker randomly<br>
<br>
</li>
<li><b> globalfade &lt;&#8221;in&#8221; | &#8220;out&gt;</b><br>
Makes the spawned tempmodels fade in or out at the same rate based on
the number of frames in the animation of the parent animation.<br>
<br>
</li>
<li><b> inwardsphere &lt;radius&gt;</b><br>
Spawns the tempmodel at radius distance from the origin and moves them
inward towards it.<br>
<br>
</li>
<li> <b>life &lt;seconds&gt;</b><br>
The life of the spawned tempmodel.<br>
<br>
</li>
<li> <b>model &lt;modelname1&gt; [modelname2] [modelname3] &#8230;</b>
<br>
The name of the model you want to spawn. If more than one model is specified
then the model is chosen randomly from the list<br>
<br>
</li>
<li> <b>offset (crandom|random) &lt;offsetx&gt; (crandom|random) &lt;offsety&gt;
(crandom|random) &lt;offsetz&gt;</b><br>
Sets an offset of the tempmodel. Use the keywords random or crandom
as stated in the randvel command.<br>
<br>
</li>
<li> <b>offsetalongaxis (crandom|random) &lt;offsetx&gt; (crandom|random)
&lt;offsety&gt; (crandom|random) &lt;offsetz&gt;</b><br>
Sets an offset of the tempmodel. Use the keywords random or crandom
as stated in the randvel command. The offset is applied in the coordinate
system of the parent.<br>
<br>
</li>
<li> <b>parentlink</b><br>
Links the spawned tempmodel to the parent. If the parent moves, so does
the spawned tempmodel.<br>
<br>
</li>
<li> <b>randvel (crandom|random) &lt;speedx&gt; (crandom|random) &lt;speedy&gt;
(crandom|random) &lt;speedz&gt;</b><br>
Adds a random velocity to the tempmodel in the x, y, and z axis. Use
the keyword random to make the value between 0 and speed. Use the keyword
crandom to make the value between &#8211;speed and speed. If you don&#8217;t
use the random or crandom keywords, then the added velocity will be
constant.<br>
<br>
</li>
<li><b> scale &lt;scale_value&gt;</b><br>
Sets the scale of the tempmodel to value.<br>
<br>
</li>
<li><b> scalemax &lt;scale_value&gt;</b><br>
Sets the maximum scale of the tempmodel to value.<br>
<br>
</li>
<li> <b>scalemin &lt;scale_value&gt;</b><br>
Sets the minimum scale of the temp model to value. By setting this,
the spawned model will be randomly scaled to a value between scalemin
and scalemax.<br>
<br>
</li>
<li><b> scalerate &lt;scale_value&gt;</b><br>
Animates the tempmodel by scaling it in size according to the specified
scalerate value.<br>
<br>
</li>
<li> <b>spawnrate &lt;rate_value&gt;</b><br>
Sets the rate of spawning for an emitter. This parameter is only valid
for emitters that have been defined for the model.<br>
<br>
</li>
<li> <b>sphere</b><br>
Spawns the tempmodels traveling in in an outward sphere pattern from
the origin.<br>
<br>
</li>
<li> <b>startoff</b><br>
Starts an emitter in the &#8220;off&#8221; state.<br>
<br>
</li>
<li> <b>swarm &lt;freq&gt; &lt;maxspeed&gt; &lt;delta&gt;</b><br>
Causes a swarming effect on the tempmodels. freq is the frequency at
which the tempmodel changes direction. maxspeed is the maximum speed
of the tempmodel. delta is the amount the tempmodel moves toward the
origin to get the swarming effect.<br>
<br>
</li>
<li> <b>texanimtime &lt;time&gt;</b><br>
If you are spawning animated texture sprites, this sets the animation
time for that sprite.<br>
<br>
</li>
<li><b> trailcolor &lt;red&gt; &lt;green&gt; &lt;blue&gt; &lt;alpha&gt;</b><br>
Sets the color of the trail for the tempmodel.<br>
<br>
</li>
<li> <b>trailradius &lt;radius&gt;</b><br>
Sets the width of the trail<br>
<br>
</li>
<li><b> trailtime &lt;seconds&gt;</b><br>
Sets the life of the trail in seconds<br>
<br>
</li>
<li> <b>velocity &lt;speed&gt;</b><br>
The speed of the tempmodel. It will travel in the direction based on
the orientation of the parent.<br>
<br>
</li>
<li> <b>wavy &lt;amount&gt;</b><br>
Causes the tempmodel to move in a wavy effect. amount sets the amount
of the wavieness.</li>
</ul>
<p class="subheader">Beam Specific Parameters</p>
<p>These parameters are only applicable to beamemitters and tagbeamspawn.</p>
<ul type="square">
<li> <b>numsegments &lt;num&gt;</b><br>
Set the number of segments in the beam.<br>
<br>
</li>
<li> <b>minoffset &lt;offset&gt;</b><br>
Set the minimum offset from center that the beam will move.<br>
<br>
</li>
<li> <b>maxoffset &lt;offset&gt;</b><br>
Set the maximum offset from center that the beam will move.<br>
<br>
</li>
<li> <b>beamshader &lt;shader_name&gt;</b><br>
Set the shader that the beam will use.<br>
<br>
</li>
<li> <b>beamdelay &lt;delay&gt;</b><br>
Set the delay (in seconds) between the drawing of beams.<br>
<br>
</li>
<li><b> beamtoggledelay [random] &lt;delay&gt;</b><br>
Set the delay (in seconds) that is used to toggle the beams off and
on. If random is used, then the delay will be between 0 and delay.<br>
<br>
</li>
<li> <b>beampersist</b><br>
Effect that makes the beams persist and fade out over time<br>
<br>
</li>
<li> <b>beamsphere &lt;count&gt;</b><br>
Shoot the beams out in a sphere pattern. If the radius (see above) is
set, beams will be drawn at this distance from center. </li>
</ul>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,321 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
GUI Documentation</p>
<p class="subheader">DlgEdit</p>
<p> This is the editor that allows you to create GUIs for the game. Right
click the on the window to bring up the Menu Properties dialog. Here&#8217;s
a description of the fields:</p>
<ul type="square">
<li><b>Menu Name</b><br>
The name of the menu that you will reference it by in the game.<br>
<br>
</li>
<li> <b>Motion Direction</b><br>
This is the direction that the menu will appear from when toggled in
the game. Choices are: <br>
<br>
<ul>
<li> NONE (Default)</li>
<li>FROM_TOP</li>
<li>FROM_BOTTOM</li>
<li>FROM_LEFT</li>
<li>FROM_RIGHT.<br>
<br>
</li>
</ul>
</li>
<li> <b>Time</b><br>
This is the amount of time the menu takes to appear or disappear when
toggled.<br>
<br>
</li>
<li> <b>General Commands</b><br>
You can add any of the appropriate layout commands mentioned below.</li>
</ul>
<p class="subheader">Creating A Widget</p>
<p>To create a widget, just click the LMB anywhere in the background and
drag out a region. This will define the frame of the widget. Double click
in the frame of that widget to bring up the Widget Properties Dialog.
Here&#8217;s a description of the fields:</p>
<ul type="square">
<li> <b>Name</b><br>
Internal name of the widget. This really isn&#8217;t used much in the
game and was added (just in case we need it).<br>
<br>
</li>
<li> <b>Class</b><br>
Defines the class of the widget (Button, Label, List, etc&#8230;).<br>
<br>
</li>
<li> <b>Title</b><br>
Title to be displayed for labels, buttons, etc..<br>
<br>
</li>
<li> <b>Cmd</b><br>
Stuff command to be put into the command buffer when the widget is activated
(i.e. button is pressed).<br>
<br>
</li>
<li> <b>Cvar</b><br>
Name of the cvar to link this widget with. If the value of the widget
changes, then this cvar will be updated with the appropriate value.<br>
<br>
</li>
<li> <b>Border</b><br>
Style of the border of the widget.<br>
<br>
</li>
<li> <b>BGColor</b><br>
Background color of the widget.<br>
<br>
</li>
<li> <b>BGAlpha</b><br>
Background alpha of the widget.<br>
<br>
</li>
<li> <b>FGColor</b><br>
Foreground color of the widget.<br>
<br>
</li>
<li> <b>FGAlpha</b><br>
Foreground alpha of the widget.<br>
<br>
</li>
<li> <b>Position</b><br>
Position of the widget ( x,y,width,height).<br>
<br>
</li>
<li> <b>Class specific attributes</b><br>
Extra information that applies to the widget. See the list of layout
commands below.</li>
</ul>
<p class="subheader"> Layout commands</p>
<ul type="square">
<li> <b>align &lt;left&gt; &lt;right&gt; &lt;top&gt; &lt;bottom&gt;</b><br>
Aligns the widget to the specified directions (resolution independent)<br>
<br>
</li>
<li> <b>shader &lt;shadername&gt;</b><br>
Sets the shader of the widget. This will be drawn stretched in the widget<br>
<br>
</li>
<li><b> tileshader &lt;shadername&gt;</b><br>
Sets the shader of the widget. This will be drawn tiled in the widget<br>
<br>
</li>
<li> <b>hovershader &lt;shadername&gt;</b><br>
Sets the shader that will be drawn when the mouse is hovering over the
widget<br>
<br>
</li>
<li> <b>additem &lt;item&gt;</b><br>
Adds the specified item to a list or listbox widget<br>
<br>
</li>
<li> <b>setrange &lt;min&gt; &lt;max&gt;</b><br>
Sets the range of the slider from min to max<br>
<br>
</li>
<li> <b>direction &lt;from_left | from_right | from_top | from_bottom&gt;</b><br>
Sets the direction of the shader when it appears on the screen. It will
scroll in from that direction over time<br>
<br>
</li>
<li> <b>slidertype &lt;integer | float&gt;</b><br>
Sets the type of the slider to either integral or floating value<br>
<br>
</li>
<li> <b>fadein &lt;time&gt;</b><br>
Makes the widget fade in over the specified time<br>
<br>
</li>
<li> <b>stopsound &lt;soundname&gt;</b><br>
Plays the sound specified when the widget stops moving<br>
<br>
</li>
<li> <b>clicksound &lt;soundname&gt;</b><br>
Plays the sound specified when the widget is clicked<br>
<br>
</li>
<li> <b>stretch &lt; horizontal | vertical &gt;</b><br>
Stretch the widget horizontally or vertically across the whole screen
(resolution independent )<br>
<br>
</li>
<li> <b>initdata &lt;data&gt;</b><br>
Initializes the widget to data (used for sliders)<br>
<br>
</li>
<li> <b>sliderstep &lt;stepsize&gt;</b><br>
Sets the stepsize for the slider</li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,260 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
Description of Menus and In-Game Utilities</p>
<p class="subheader">Utilities</p>
<p>The utilities specified below are invoked at the console. Simply type
the command specified and the utility will execute.</p>
<ul type="square">
<li><b>notepad</b><br>
This is a basic text editor. It can be used to edit documents while
in the game. If no filename is specified, then an empty file will be
created. You will have to specify a filename the first time you try
to save the file.<br>
<br>
</li>
<li><b>editscript</b><br>
This is a shortcut for notepad. It will load the script for the currently
loaded map.<br>
<br>
</li>
<li> <b>maplist</b><br>
This dialog box opens up a listing of the maps directory. Double clicking
on a map will load the map. Double clicking on a directory name will
traverse into that directory and show the maps there.<br>
<br>
</li>
<li> <b>soundpicker</b><br>
This dialog box is similar to the maplist command, but it is used for
playing sounds.</li>
</ul>
<p class="subheader">Menus</p>
<p>Menus are invoked a couple of different ways. The command</p>
<blockquote>
<p class="menu">pushmenu &lt;menuname&gt;</p>
</blockquote>
<p>will push the menu specified onto the stack of menus. The command </p>
<blockquote>
<p class="menu">togglemenu &lt;menuname&gt;</p>
</blockquote>
<p>will toggle the menu that is specified (i.e. if it&#8217;s open, it will
be close, and if it&#8217;s closed it will be opened). </p>
<p>Most level designers/artists bind the command to a function key. For
example:</p>
<blockquote>
<p class="menu"> bind f1 &#8220;togglemenu animate2&#8221;</p>
</blockquote>
<p>All the menus in the ui directory are loaded when the game is started.
To see a list of all the menus that are available type &#8216;listmenus&#8217;
at the console.</p>
<p>Here is a list and description of the menus that are currently used in
Heavy Metal FAKK2:</p>
<ul type="square">
<li><b>animate2</b><br>
This is used to control the animation of the current viewspawn. To use
this menu, first you must viewspawn a model (i.e. viewspawn julie.tik).
The controls will allow you to advance the animation/frame/etc&#8230;
There is also a scale control that you can use to try out different
scales on the object. If you have more than one viewspawned model, you
can use the viewthingprev and viewthingnext buttons to get to the one
you want.<br>
<br>
</li>
<li><b>Camera</b><br>
This menu is used for placing camera points for use with cinematics.
See the Camera document for more information.<br>
<br>
</li>
<li><b>GameCamera</b><br>
This menu is used to tweak the values of the in game 3rd person camera.<br>
<br>
</li>
<li><b>zound</b><br>
This menu is used for placing sound effects and triggers in the game.
Please see the Zound document for more information.<br>
<br>
</li>
<li><b>LevelDesign</b><br>
This menu has a bunch of controls that are useful for level designers.
They are pretty much just shortcuts to cvars and console commands.<br>
<br>
</li>
<li><b>phooks</b><br>
This is another level designer menu that is very similar to the LevelDesign
menu above.<br>
<br>
</li>
<li><b>emitter &amp; emitter2</b><br>
These menus are used to control the test emitter which is used for creating
particle effects systems. Please refer to the Ghost document for more
information. </li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,450 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
MAX2SKL Reference Guide </p>
<p class="subheader"> Overview</p>
<p> Max2skl is a command line utility for converting .SKL files into a form
usable by the Tiki model system. .SKL files are text-based model files
exported from 3DS Max using SkelOut. Having the functionality of Max2skl
as a separate program from the exporter allows changes in model format
without requiring the artists to re-export their models.</p>
<p>Max2skl will check the file times of the source and destination file
and only rebuild them if they differ. This reduces runtime when running
Max2skl from a batch file that converts a lot of animations when only
a few have changed.</p>
<p class="subheader"> File formats</p>
<p> Each .SKL file contains a list of material identifiers, a list of bones
in the model, triangle and vertex assignments, and any number of frames
of animation. Being text-based allows .SKL files to be viewed or edited
in a text editor, making diagnosing problems in models more convenient.</p>
<p>Max2skl exports two types of files: .SKA and .SKB. SKB files contain
the definitions of the bone heirarchy, vertex weights, surfaces, triangles,
and level of detail (LOD). SKA files contain only the bone animation info.</p>
<p class="subheader"> SKB Files</p>
<p> SKB files are created from the model&#8217;s baseframe. Each model only
needs one SKB file. The baseframe is the .SKL file that has the model
posed in such a way as to create the best LOD information possible. The
order that triangles are removed as the model is lowered in detail is
based upon the length of the edges and the orientation of neighboring
triangles. Triangles with very short edges or whose orientation differs
the least from triangles that share the same edge are chosen first. Edges
that are seams (either the triangle has a different texture from its neighbor,
or doesn&#8217;t have a neighbor) can not be removed, and so limit how
low detail the model can go.</p>
<p>In order to create the best LOD information, models should be posed such
that important joints are bent so that triangles at those joints reduce
detail last. For example, if a model&#8217;s arms are kept straight in
the baseframe, then when the model reduces in detail the upper arm and
forearm will appear to have webbing between them, like a bat. Bending
the arms in the baseframe will help Max2skl choose more appropriate triangles
when lowering detail.</p>
<p>Since the SKB file also contains the definition of the bone heirarchy,
if the order of the bones are changed, or the bones are renamed, then
the SKB file should be recreated to reflect the changes. Also, while changing
the bone names is harmless, if the bone order changes in the SKB file,
you should rebuild the SKA files to make sure the bone order is the same
in them.</p>
<p>The names and triangles contained in each surface are stored in the SKB
file. When surface names or IDs change in the SKL file, you should rerun
Max2skl to recreate the baseframe to reflect the change.</p>
<p>The Tiki model system allows separate animations to play on the torso
and legs of the model. To do mark bones in the model as &#8220;leg bones&#8221;
(that is, bones that will use the leg animations as opposed to the torso
animation). this, you must edit the baseframe&#8217;s SKL file and change
the bone definitions from &#8220;Bone&#8221; to &#8220;Legbone&#8221;.
Here&#8217;s an example of a changed SKL file: </p>
<blockquote>
<p class="menu">//////////////////////////////////////////////////////////////////////////<br>
//<br>
// Exported by FAKK2 Skeleton export, Version 1.00.<br>
//<br>
//////////////////////////////////////////////////////////////////////////<br>
<br>
SKELETON<br>
VERSION 1<br>
<br>
NUMMATERIALS 1<br>
MATERIAL 1 material1<br>
<br>
NUMBONES 85<br>
LEGBONE 0 -1 Bip01<br>
LEGBONE 1 0 Bip01 Footsteps<br>
LEGBONE 2 0 Bip01 Pelvis<br>
LEGBONE 3 2 Bip01 Spine<br>
BONE 4 3 Bip01 Spine1<br>
BONE 5 4 Bip01 Spine2<br>
BONE 6 5 Bip01 Neck<br>
.<br>
.<br>
.</p>
</blockquote>
<p>Bones that should be marked as leg bones are not always grouped together;
it depends upon the hierarchy. Usually any bone that is below the spine
is a good start. Check the model in the game and see if the animation
looks right when another animation is playing in the torso.</p>
<p class="subheader"> SKA Files</p>
<p> SKA files contain only animation information. You should have at least
one SKA for each animation in the model. SKAs contain bone animation information
and movement deltas for each frame.</p>
<p>Movement deltas are created by measuring the movement of the specified
origin bone. By default, the bone named &#8220;origin&#8221; is expected,
but you can use the &#8211;origin parameter to specify a different bone.
No matter where the origin bone is in any frame of the original animation,
it will be moved to (0, 0, 0) in the model&#8217;s coordinate space, with
all other bones still in the same relative position around it. When the
model is animated in the game, it will simply sit in place if the game
physics doesn&#8217;t apply the movement deltas to the position. Using
this method we are able to remove any sliding of the character&#8217;s
feet on the ground.</p>
<p class="subheader">Tags</p>
<p> Tags are special triangles placed in the model to indicate attachment
points on the model. These work the same way as they did in the vertex
animation format that Tiki uses (.TAN) and you should refer to the Tiki
document for an explanation of them. The difference between tags in vertex
animated models and tags in skeleton animated models is that tags are
turned into bones in skeleton models. In the case where there is already
a bone with the same name as the tag, the tag will override the bone.
Another consequence of this is that all bones are available as tags in
the game, so extra tags only need to be added if a bone doesn&#8217;t
exist in the appropriate location.</p>
<p class="subheader"> Command line options</p>
<p> max2skl animname [-uv filename] [-force] [-scale num] [-dest name]<br>
[-ignore filename] [-origin originname] [-reverse]<br>
[-verbose] [-nolod] [-noclampz] [-zeroz] [-noorigin]<br>
[-clearz] [-clearxy] [-baseframe] [-maxbones num]<br>
[-weightthreshold num] [-md4] [-bones filename]<br>
[-offset x y z] [-clearx] [-cleary] [-loop]<br>
[-zerox] [-zeroy] [-uvb filename] [-destdir dirname]<br>
[-ignoreflags]</p>
<p>The parameters are as follows:</p>
<ul type="square">
<li><b>animname</b><br>
This is the name of a SKL file created by SKELOUT.<br>
<br>
</li>
<li> <b>-uv filename</b><br>
This specifies a SKL file to copy the texture coordinates, material
names and surface IDs from. This is useful for when you have model exported
before you&#8217;ve textured it.<br>
<br>
</li>
<li><b>-force</b><br>
Causes MAX2SKL to re-process the animation regardless of what the time
and date of the destination file is.<br>
<br>
</li>
<li><b> -scale num</b><br>
Specify a scale to be used when converting the file. The default scale
is 1.<br>
<br>
</li>
<li><b> -dest filename</b><br>
Specify an alternate destination name for the SKA for SKB file. Normally
the destination file shares the same name as the animname but with a
SKA or SKB extension. Note that the directory remains the same.<br>
<br>
</li>
<li><b> -ignore filename</b><br>
Specify an external file which contains a list of surfaces to ignore
when grabbing this model. This is used extensively when grabbing a multi-part
model.<br>
<br>
</li>
<li><b> -origin originname</b><br>
Specify an alternate surface name for the origin. Normally, the origin
surface is simply called &#8220;origin&#8221;, this allows one to choose
an alternate surface name for the origin. This is used extensively when
grabbing a multi-part model.<br>
<br>
</li>
<li><b> -reverse</b><br>
Reverse the order of frames of the animation.<br>
<br>
</li>
<li><b> -verbose</b><br>
Output a lot of information while processing the model.<br>
<br>
</li>
<li><b> -nolod</b><br>
Do not create an LOD mapping for this model.<br>
<br>
</li>
<li><b> -noclampz</b><br>
By default, the Z component of the origin tag is clamped to only positive
and zero values. If you would like to allow negative Z values, use this
option.<br>
<br>
</li>
<li><b> -zeroz</b><br>
Always set the Z component of the origin tag to zero.<br>
<br>
</li>
<li><b> -noorigin</b><br>
Don&#8217;t subtract the origin&#8217;s position from the model&#8217;s
position. No movement deltas are produced.<br>
<br>
</li>
<li><b> -clearz</b><br>
Specifies that Z movement is cleared out on deltas.<br>
<br>
</li>
<li><b> -clearxy</b><br>
Specifies that X and Y movement is cleared out on deltas.<br>
<br>
</li>
<li><b> -baseframe</b><br>
Save the model as SKB. The SKB file contains the bone definitions, the
surfaces, texture coordinates, triangles, and the LOD mapping.<br>
<br>
</li>
<li><b> -maxbones num</b><br>
Limit the number of bones that can affect a vertex to num per vertex.
The num most influential bones will be used. The default (and maximum)
is 8.<br>
<br>
</li>
<li><b> -weightthreshold weight</b><br>
Limit the minimum influence a bone must have to be included in a vertex.
Any with less influence will not affect the vertex. The default value
is 0.01.<br>
<br>
</li>
<li><b> -md4</b><br>
Save the model as an MD4 file. MD4 files are Quake 3 skeleton models.
This was implemented for Quake 3, but was never used.<br>
<br>
</li>
<li><b> -bones filename</b><br>
Use the bone heirarchy from the specified file. This is used when the
hierarchy changes somehow, usually due to bones being unlinked from
the hierarchy in Max for animation reasons. Since MAX2SKL doesn&#8217;t
know anything about animations other than the one it&#8217;s currently
working on, it can&#8217;t guarantee that the names of the bones, or
the order of the bones, hasn&#8217;t changed from one animation to the
next. If you always specify this and use the baseframe as the source,
you will be assured that the animations always have the same number
of bones and the same heirarchy.<br>
<br>
</li>
<li><b> -offset x y z</b><br>
Offsets the model by the specified amount. This is useful for when animations
are animated at different heights or using different origin tags.<br>
<br>
</li>
<li><b> -clearx</b><br>
Specifies that X movement is cleared out on deltas.<br>
<br>
</li>
<li><b> -cleary</b><br>
Specifies that Y movement is cleared out on deltas.<br>
<br>
</li>
<li><b> -loop</b><br>
Drops the last frame of the animation. This allows MAX2SKL to properly
calculate deltas on looped animations. The last frame in the animation
should be the pose as the first frame.<br>
<br>
</li>
<li><b> -clearx</b><br>
Specifies that X movement is cleared out on deltas.<br>
<br>
</li>
<li><b> -cleary</b><br>
Specifies that Y movement is cleared out on deltas.<br>
<br>
</li>
<li><b> -loop</b><br>
Drops the last frame of the animation. This allows MAX2SKL to properly
calculate deltas on looped animations. The last frame in the animation
should be the pose as the first frame.<br>
<br>
</li>
<li><b> -uvb filename</b><br>
The same as using &#8211;bones and &#8211;uv. This is just an easy way
to copy both the bone heirarchy and the surface definitions from one
file.<br>
<br>
</li>
<li><b> -destdir dirname</b><br>
Specify an alternate destination directory for the SKA for SKB file.
Normally the destination directory is the current working directory.
<br>
<br>
</li>
<li><b> -ignoreflags</b><br>
Normally, when a bone&#8217;s parent is unused and no bone with the
same leg/torso designation exists higher up the hierarchy, the parent
is kept, despite the fact that it doesn&#8217;t affect any vertices.
Ignoreflags instructs Max2Skl to not perform this check. Typically,
this would be used when it isn&#8217;t feasible to use the &#8211;bones
command because the hierarchies differs. </li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,256 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
Sound System</p>
<p>The FAKK sound system uses the MILES SOUND SYSTEM version 6.0.</p>
<p>MILES can be turned on and off with the cvar s_usemiles. If it is turned
off, it will use the old quake sound system. </p>
<p>The old Quake sound system is mostly still there and should still work
except the music code. Also the Quake sound system doesn&#8217;t use the
same volume/min distance scheme so these values don&#8217;t carry over
to the Quake system.</p>
<p class="subheader">Adding a looping sound</p>
<p>Client side &#8211; animation:</p>
<blockquote>
<p class="menu"> &lt;frame #&gt; loopsound &lt;file name&gt; &lt;volume&gt;
&lt;min distance&gt;</p>
</blockquote>
<p> Client side - script:</p>
<blockquote>
<p class="menu"> $&lt;entity name&gt; loopsound &lt;file name&gt; &lt;volume&gt;
&lt;min distance&gt;</p>
</blockquote>
<p> Server side &#8211; from entity code:</p>
<blockquote>
<p class="menu"> LoopSound( str sound_name, float volume, float min_distance
);</p>
</blockquote>
<p class="subheader">Adding a sound</p>
<p>Client side - add to client part of animations in the tiki:</p>
<blockquote>
<p class="menu"> &lt;frame #&gt; sound &lt;file name&gt; &lt;channel&gt;
&lt;volume&gt; &lt;min_distance&gt;</p>
</blockquote>
<p> Client side &#8211; script</p>
<blockquote>
<p class="menu"> $&lt;entity name&gt; playsound &lt;file name&gt; &lt;channel&gt;
&lt;volume&gt; &lt;min distance&gt;</p>
</blockquote>
<p> Client side &#8211; code</p>
<blockquote>
<p class="menu"> S_StartLocalSound( sfxHandle_t sfxHandle );</p>
</blockquote>
<p> or</p>
<blockquote>
<p class="menu"> S_StartSound( vec3_t origin, int entnum, int entchannel,
sfxHandle_t sfxHandle,<br>
float volume, float min_dist );<br>
Server side &#8211; from entity code<br>
Sound( str sound_name, int channel, float volume, float min_distance,
<br>
Vector *sound_origin );</p>
</blockquote>
<p>Note that minimum distance values are specified in pixels. Basically
how the minimum distance stuff works is that every time the distance doubles
from the minimum distance the volume is halved. So from 0 up to the mindist
the volume is 1, at mindist * 2 the volume is &frac12;, at min_dist *
4 volume = &frac14;, and so on.</p>
<p>The channel, volume, and minimum distance parameters are all optional.
They will default to other values if not specified. The channel will default
to CHAN_AUTO.<br>
The volume and minimum distance will default to whatever is specified
for this particular sound in the global/sound0.txt file. If either of
these is not specified in global/sound0.txt for this sound then the global
default(s) will be used (also defined in sound0.txt).</p>
<p class="subheader">Sound0.txt</p>
<p>This file specifies what values to use for the default volume and minimum
distance values should be used overall and for specific sounds. This makes
it so you don&#8217;t have to specify these values every place you play
a sound. This file should be located in the global directory. </p>
<p>To change the global default values make sure the following commands
are in this file:</p>
<blockquote>
<p class="menu">defaultmindist &lt;global default min distance #&gt;<br>
defaultvolume &lt;global default volume&gt;</p>
</blockquote>
<p>To change the default values for a specific sound add the following:</p>
<blockquote>
<p class="menu">sound &lt;sound name including path&gt;<br>
mindist &lt;minimum distance&gt;<br>
volume &lt;volume&gt;</p>
</blockquote>
<p>For example:</p>
<blockquote>
<p class="menu"> sound sound/weapons/example1.wav<br>
mindist 200.0<br>
volume 1.0</p>
</blockquote>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,911 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
TIKI Model System</p>
<p>The TIKI model system is designed primarily with modularity in mind.
Traditional engines use a monolithic file format to represent their models
which limits the use of a particular model or set of animations. The TIKI
system solves this by creating an easy and convenient way of making many
different models with the same set or subset of animations. The TIKI system
works with either 3D Studio MAX or Lightwave. </p>
<p>Before the internals of the system are explained, it is very important
that one learns how to use Visual SourceSafe effectively. Visual SourceSafe
is an application that allows one to make multiple revisions of a file
and log those changes so that at any time, one can access any previous
version with a simple mouse click. The reason this is crucially important
because as the assets increase it will become an ever-increasing job to
maintain all the assets. Since the artists and modelers are the asset
creators, it will be your job to make sure that the assets are kept up
to date and correct. Here is a breakdown of concepts that are important
with SourceSafe: checking in files, checking out files, Setting one&#8217;s
working folder, Showing history of a particular file. Since explaining
these concepts has already been covered in the documentation for SourceSafe,
they won&#8217;t be covered here.</p>
<p>The TIKI model system employs three different kinds of assets: the TIK
file, a number of TAN files and a number of TGA files. The TIK file is
the main file of the TIKI model system, it defines all the different animations
to be used for a model as well as which textures are to be used and any
unique information for that model. The TAN file is a proprietary format
that is created by LW2TAN for Lightwave and MAX2TAN for 3D Studio MAX
2. The TGA file is the native format for the textures used to comprise
the skin of the model.</p>
<p class="subheader">The TAN file</p>
<p> The TAN file is a TIKI animation file, it is the basic building block
of all models. A TAN file can be created in one of two ways, using the
LW2TAN utility for Lightwave or using the MAX2TAN exporter for 3D Studio
MAX 2. Any animation can be converted to a TAN file provided that it meets
the following requirements:</p>
<ul type="square">
<li>It must have texture coordinates assigned. Either through a uv file
in Lightwave&#8217;s case or have them present in the model for 3D Studio
MAX.</li>
<li> All animations must match each other in terms of number of surfaces,
number of triangles, number of vertices, and number of tags.</li>
</ul>
<p>TAN files support a bunch of unique features including: tags (bones),
origin and surfaces. </p>
<p class="subheader">Tags</p>
<p>A tag simply defines an attachment point for other models. It is defined
by a single triangle whose material&#8217;s name starts with the name
&#8220;tag_&#8221;. The number of &#8220;tags&#8221; must be consistent
throughout all TAN files for a given model. So there can&#8217;t be 3
tags in one animation and then 5 in another animation. The tag triangle
should be a right triangle which &#8220;points&#8221; straight ahead.
This triangle not only defines the position of an attachment point but
also the orientation of the attached model. Therefore, the orientation
of the right triangle is crucial. The tag triangle should not be equilateral,
it should be orientated as follows: </p>
<p align="center"><img src="../images/fakk2_tiki_triangle.gif" width="174" height="110"></p>
<p>There are three sides to the triangle: the hypotenuse, the long side
and the short side.<br>
<br>
The long side should point forward along the X Axis.<br>
The short side should point to the right, along the Negative Y Axis. <br>
The normal of the triangle should point straight up, along the Z Axis.<br>
The hypotenuse should look like a \.</p>
<p class="subheader">Origin</p>
<p>The origin tag is a special tag that can redefine the origin for each
frame of the animation. It is defined the same way as a normal tag (a
right triangle whose material&#8217;s name is &#8220;origin&#8221;). The
origin tag is the tag which is used to determine movement inside an animation.
The origin tag should always be placed in the same relative position to
the model unless the displacement is intended. For example, lets say a
walking animation is to be exported. The model starts at the origin on
frame 0 and then walks to (100,0,0) within 10 frames of animation. If
the animation contains 10 frames of animation than the origin triangle
would be placed at the following locations for each frame:</p>
<blockquote>
<table border="0" cellspacing="4" cellpadding="0">
<tr>
<td><div align="center"><b>Frame /</b></div></td>
<td><div align="center"><b>Coordinate</b></div></td>
</tr>
<tr>
<td><div align="center">0</div></td>
<td><div align="center">(0,0,0)</div></td>
</tr>
<tr>
<td><div align="center">1</div></td>
<td><div align="center">(10,0,0)</div></td>
</tr>
<tr>
<td><div align="center">2</div></td>
<td><div align="center">(20,0,0)</div></td>
</tr>
<tr>
<td><div align="center">3</div></td>
<td><div align="center">(30,0,0)</div></td>
</tr>
<tr>
<td><div align="center">4</div></td>
<td><div align="center">(40,0,0)</div></td>
</tr>
<tr>
<td><div align="center">5</div></td>
<td><div align="center">(50,0,0)</div></td>
</tr>
<tr>
<td><div align="center">6</div></td>
<td><div align="center">(60,0,0)</div></td>
</tr>
<tr>
<td><div align="center">7</div></td>
<td><div align="center">(70,0,0)</div></td>
</tr>
<tr>
<td><div align="center">8</div></td>
<td><div align="center">(80,0,0)</div></td>
</tr>
<tr>
<td><div align="center">9</div></td>
<td><div align="center">(90,0,0)</div></td>
</tr>
</table>
</blockquote>
<p> The exporter or conversion utility automatically moves each frame &#8220;back
to the origin&#8221; so there is no need to auto-center the model oneself.</p>
<p class="subheader">Surfaces</p>
<p>Surfaces define how the model will be broken up. Each surface can have
only one texture or shader active on it at any given time. Therefore by
skinning the model and breaking it up into two different skins, 2 different
surfaces are automatically created. Even though textures are assigned
in a program like Uview or within MAX, one still needs to define which
texture or shader will be used for each surface, this is done in the SETUP
SECTION of the TIK file. The way that surfaces are created (which triangles
go to which surface) is very important in that it defines the different
parts of a model. Splitting the model up into multiple parts allows one
to turn on or off or apply special effects to distinct regions of the
model. Surface naming is also critical in that it defines a hierarchy
that will be used in the game to determine what part of the model is what
(the game will look for keywords like head, torso, arm, leg etc.). The
surface naming convention is explained below.<br>
General Guidelines</p>
<p class="subheader">Standard Tag Names</p>
<p>There are certain &#8220;default&#8221; tag names that should exist in
a model. </p>
<ul type="square">
<li><b>ORIGIN</b><br>
The standard name of the origin tag.<br>
<br>
</li>
<li> <b>TAG_WEAPON</b><br>
If a model is going to be carrying a gun and that gun is a separate
model (it is not integrated into the model) than the model should have
a tag named &#8220;tag_weapon&#8221;. This tag should be placed in the
hand of whichever arm the model will be wielding the weapon.<br>
<br>
</li>
<li> <b>TAG_BARREL</b><br>
If a model is a weapon or the model has a weapon integrated into it,
it should have a tag named &#8220;tag_barrel&#8221;. This is the tag
at which muzzle flashes will be attached as well as where the projectile
or bullet will be fired.<br>
<br>
</li>
<li> <b>TAG_HEAD / TAG_TORSO</b><br>
If the model is a multi-segmented model with separate head, torso and
legs, than the following tags must exist: In the legs model a &#8220;tag_torso&#8221;
must exist. This is the attachment point of the torso to the legs. In
the torso model a &#8220;tag_head&#8221; must exist. This is the attachment
point of the head to the torso.</li>
</ul>
<p>If the model will have limbs chopped off and the intent is that the model
spurt blood or something else from the location of severance, than a tag
must be created at that area. If one chopped off the left arm than the
tag would be called tag_arm_left and would be located at the left shoulder
joint.</p>
<p class="subheader">STANDARD SURFACE NAMES</p>
<p>The surface naming convention is hierarchical, in that any part that
is part of a larger part has that larger part as the beginning of its
name. For example, if one have a pair of glasses on a model&#8217;s face
than the surface describing the head might be called &#8220;head&#8221;
and the surface describing the glasses would be called &#8220;head_glasses&#8221;.
This way one can instantly tell that the glasses belong to the head. The
naming convention does get a bit confusing at times, but this way if one
blows off someone&#8217;s legs_left_high, one can delete all the surfaces
which begin with &#8220;legs_left_high&#8221; that includes &#8220;legs_left_high&#8221;,
&#8221;legs_left_high_low&#8221; and &#8220;legs_left_high_low_foot&#8221;.
Here is a list of surface names which should be used as much as possible
and wherever applicable (these surface names are for a standard biped,
and one&#8217;s creature may not be bipedal in nature). Also, not all
these surfaces have to exist by any means, in fact it is desirable to
have as few surfaces as possible. </p>
<ul type="square">
<li>head</li>
<li>head_hair</li>
<li>torso_front</li>
<li>torso_back</li>
<li>legs_left_high</li>
<li>legs_left_high_low</li>
<li>legs_left_high_low_foot</li>
<li>legs_right_high</li>
<li>legs_right_high_low</li>
<li>legs_right_high_low_foot</li>
<li>arm_left_high</li>
<li>arm_left_high_low</li>
<li>arm_left_high_low_hand</li>
<li>arm_right_high</li>
<li>arm_right_high_low</li>
<li>arm_right_high_low_hand</li>
</ul>
<p>For severed limbs, one would implement &#8220;cap surfaces&#8221;, these
would be surfaces which would be turned on to cap off severed portions
of the model. They would utilize the naming convention as follows. If
one blows away the arm_left_high, than the cap surface one would use would
be cap_arm_left. If one blows away the arm_righ_high_low_hand surface
than the cap that one would use would be cap_arm_right_low. </p>
<p class="subheader">The TIK File</p>
<p> The beginning of a TIK file must always start with the &#8220;TIKI&#8221;
identifier. The rest of the TIK file is made up of sections. A TIK file
is broken up into 3 distinct sections, the setup section, the init section
and the Animations section. The setup section is the section in which
all surface definitions are made as well as things like global scale and
global origin offset. The Init section contains all setup events for a
given model for both the client and the server. The Animations section
is where all animations are defined. This section also contains the individual
frame definitions for each animation in the model.</p>
<p class="subheader">General .TIK Info</p>
<p>A TIK file can be created with any text editor. For those that do not
have a preference, Notepad is a simple text editor included with Windows
95/NT.</p>
<p>The TIK file supports some unique parsing tools that can make one&#8217;s
life easier. First of all, a TIK file can contain any number of Setup,
Init and Animation sections, there doesn&#8217;t have to be just one of
each. This has no real application for a single TIK file but makes more
sense when one considers the next feature of TIK files. TIK files support
two unique keywords which are $define and $include.</p>
<p><b>$define &lt;macro_name&gt; &lt;macro_expansion&gt;</b> <br>
This allows one to define a macro that will be automatically substituted
in the TIK file. This feature is especially useful when one has a filename
or some piece of text that is used over and over again and may change
at any time. Macros can only be used in the file once they are defined,
so a macro won&#8217;t be substituted correctly until it has been defined.
Macro definitions can be placed anywhere in the TIK file regardless of
which section is currently being processed. Here is an example:</p>
<blockquote>
<p class="menu">$define texpath textures/gorilla/head/<br>
<br>
surface head shader $texpath$nostril.tga</p>
</blockquote>
<p>When the shader definition for the head is parsed instead of getting
&#8220;$texpath$nostril.tga&#8221; as a texture name. The macro would
be properly substituted and one would get &#8220;textures/gorilla/head/nostril.tga&#8221;.
Macros must be surrounded by the &#8220;$&#8221; to be properly substituted.</p>
<p> <b>$include &lt;filename&gt;</b><br>
This allows one to include another file into the current one. What this
means is that the included file will be parsed from then on in the TIK
file until the included file&#8217;s end has been reached. This allows
one to include a &#8220;common&#8221; TIK file that has the basic animations
and setup information for a particular group of models and then make only
a few minor changes in this TIK file. </p>
<p>Comments may be created in TIK files at any time simply by starting the
comment out with &#8220;//&#8221;. Once the double slash is encountered,
the rest of the line will automatically be skipped.</p>
<p class="subheader">.TIK Setup Section</p>
<p> The format of the setup section is as follows:</p>
<p class="menu">Setup<br>
&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&lt;setup_keyword&gt; &#8230;<br>
&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>The following are valid setup keywords: scale, path, origin and surface.</p>
<ul type="square">
<li><b>scale &lt;global scale value&gt;</b><br>
Allows one to globally scale the model, where 1.0 is the default scale.<br>
<br>
</li>
<li><b>path &lt;subpath&gt;</b><br>
This will be prepended to all TGA and TAN files. One can use the &#8220;path&#8221;
command to specify a subdirectory where all the files are located.<br>
<br>
</li>
<li><b>origin &lt;x y z&gt;</b><br>
Apply a global origin offset to all animations. This allows one to re-position
a model without having to re-export it.<br>
<br>
</li>
<li> <b>lightoffset &lt;x y z&gt;</b><br>
When lighting the model, apply this offset to the lighting sample location.
This can be used to fix models whose centroids occasionally drop below
the origin.<br>
<br>
</li>
<li> <b>surface &lt;surface_name&gt; flags &lt;flag_keywords &#8230;&gt;<br>
surface &lt;surface_name&gt; damage &lt;damage_multiplier&gt;<br>
surface &lt;surface_name&gt; shader &lt;shader_name&gt;</b> <br>
<br>
<ul>
<li><b>surface_name</b><br>
This is the name of the surface to modify. This can also be &#8220;all&#8221;
to apply to all surfaces or utilitze the &#8220;*&#8221; to modify
multiple surfaces at once. For example, given that we have a model
with all the default surfaces defined. If the surface_name is &#8220;legs*&#8221;,
then all surfaces beginning with &#8220;legs&#8221; will be modified.<br>
<br>
</li>
<li><b>flags</b><br>
This allows one to modify default surface attributes utilizing the
following keywords: skin1, skin2, skin3, nodraw, twosided, nodamage,
nomipmaps.<br>
<br>
</li>
<li><b>damage</b><br>
This allows one to specify how much the damage should be &#8220;amplified&#8221;
or scaled when damage is inflicted upon this surface.<br>
<br>
</li>
<li><b>shader</b><br>
This allows you to specify which texture will be used on which surface.
If the &#8220;shader_name&#8221; ends in a &#8220;.tga&#8221; then
that texture will be used. If it does not end with an extension,
then the &#8220;shader_name&#8221; will be assumed to be a valid
shader registered in some other &#8220;.shader&#8221; file.</li>
</ul>
</li>
</ul>
<p class="subheader">.TIK Init Section</p>
<p> The format of the init section is as follows:</p>
<blockquote>
<p class="menu">Init<br>
&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;Client<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;. <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;Server<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;. <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;}</p>
</blockquote>
<p>Client initialization events are executed when a model is registered
on the client. Server initialization commands are executed when ever the
model is spawned on the server</p>
<p class="subheader">.TIK Animations Section</p>
<p> The format of the Animations section is as follows:</p>
<blockquote>
<p class="menu">Animations<br>
&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;anim_alias &lt;filename.TAN&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;client<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;frame_num&gt;
&lt;events &#8230;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;frame_num&gt;
&lt;events &#8230;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;anim_alias &lt;filename.TAN&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;}</p>
</blockquote>
<p>Each animation is defined by an anim_alias followed by a TAN file. The
alias allows one to rename the animation so that it can adhere to a naming
convention, without having to rename all the TAN files to the same name.
It also allows the same animation to be used multiple times with different
effects. The braced section following an animation define the events to
be processed on the client or server at specific frames of the animations.</p>
<ul type="square">
<li><b>frame_num</b><br>
This is either a specific frame number from 0 to the number of frames
in the animation minus one. This can also be one of the keywords: start,
end, first, last, every, entry, and exit. The exit keyword means that
that command will be executed whenever leaving that animation. The entry
keyword means that the command will be executed the first time you enter
an animation, all subsequent loops of the animation will not call this
event. Both entry and exit can only be used on the client.</li>
</ul>
<p class="subheader"> TGA Files</p>
<p> TGA files should be 24-bit unless it is absolutely imperative that the
texture needs to utilize an alpha channel. This would only be the case
if the texture and model utilized masking or alpha effects</p>
<p class="subheader"> 3D Studio MAX Tools</p>
<p><b>UVOUT</b><br>
This is a plugin for 3D Studio Max 2.0. It outputs the texture coordinates,
triangle definitions and surface definitions to a file with a UV extension.
This file is later read by MAX2TAN. You can simply rename your surfaces
by editing this file manually. Surfaces are defined in 3D Studio Max by
assigning material id&#8217;s to various faces. When the UV file is generated,
you will see the material id&#8217;s appear at the top of the file. By
default the materials are named material# where # is the material used
inside MAX. Simply rename material# to tag_origin or torso or whatever
name makes the most sense.</p>
<p><b>ANIMOUT</b><br>
This is a plugin for 3D Studio Max 2.0. It outputs animation information
for a given model. It will create a file with a ANM extension. This file
is later read by MAX2TAN. The ANM is a binary file and cannot be edited.</p>
<p><b>MAX2TAN</b><br>
This program converts 3D Studio MAX ANM and UV files to the TAN format.
All animations must have an appropriate UV file for texture coordinate
assignment. When converting an animation, it will check for the presence
of the destination and only re-grab the source if the time/date of the
source is newer than the destination or the &#8211;force option is used.
MAX2TAN has the following options:</p>
<blockquote>
<p class="menu">MAX2TAN animname [-uv filename.uv] [-force] [-scale num]
[-ignore filename]<br>
[-origin originname] [-dest name] [-nolod] [-verbose] [-noclampz] [-zeroz]<br>
[-reverse] [-noorigin] [-clearxy] [-clearz] [-rotate yaw]</p>
</blockquote>
<ul type="square">
<li><b>animname</b><br>
The name of an ANM file created by ANIMOUT. <br>
<br>
</li>
<li><b>uv</b><br>
If a uv file is not specified, a uv file will be looked for called &#8220;animname.uv&#8221;.
This allows one to create one uv file for a model and use it for each
animation. <br>
<br>
</li>
<li><b>force</b><br>
Causes MAX2TAN to re-process the animation regardless of what the time
and date of the destination TAN file is.<br>
<br>
</li>
<li><b>scale</b><br>
Specifies a scale to be used when converting the file. The default scale
is 1.<br>
<br>
</li>
<li><b>ignore</b><br>
Specifies an external file which contains a list of surfaces to ignore
when grabbing this model. This is used extensively when grabbing a multi-part
model.<br>
<br>
</li>
<li><b>origin</b><br>
Specifies an alternate surface name for the origin. Normally, the origin
surface is simply called &#8220;origin&#8221;, this allows one to choose
an alternate surface name for the origin. This is used extensively when
grabbing a multi-part model.<br>
<br>
</li>
<li><b>dest</b><br>
Specifies an alternate destination name for the TAN file, normally the
TAN file shares the same name as the animname but with a TAN extension.<br>
<br>
</li>
<li><b>nolod</b><br>
Do not create an LOD mapping for this model.<br>
<br>
</li>
<li><b>verbose</b><br>
Outputs a lot of information while processing the model.<br>
<br>
</li>
<li><b>noclampz</b><br>
By default, the Z component of the origin tag is clamped to only positive
and zero values. If you would like to allow negative Z values, use this
option.<br>
</li>
<li><b>zeroz</b><br>
Always set the Z component of the origin tag to zero.<br>
<br>
</li>
<li><b>rotate [yaw]</b><br>
Rotates the model before processing.<br>
<br>
</li>
<li><b>reverse</b><br>
reverse the order of frames of the animation.<br>
<br>
</li>
<li><b>noorigin</b><br>
Tells max2tan to not subtract the origin&#8217;s position from the model&#8217;s
position. No movement deltas are produced.<br>
<br>
</li>
<li><b>clearz</b><br>
Specifies that Z movement is cleared out on deltas.<br>
</li>
<li><b>clearxy</b><br>
Specifies that X and Y movement is cleared out on deltas.</li>
</ul>
<p class="subheader"> Testing TIKI models</p>
<p>The following commands allow one to test a TIK model inside the game</p>
<ul type="square">
<li><b>viewspawn &lt;modelname&gt;</b><br>
Spawns a viewthing with &lt;modelname&gt; as the model.<br>
<br>
</li>
<li> <b>viewmodel &lt;modelname&gt;</b><br>
Sets the model of the current viewthing<br>
<br>
</li>
<li> <b>viewthingnext</b><br>
Makes the next viewthing in your world the current one.<br>
<br>
</li>
<li> <b>viewthingprev</b><br>
Makes the previous viewthing in your world the current one.<br>
<br>
</li>
<li> <b>viewnext</b><br>
Increments the current frame of the current viewthing.<br>
<br>
</li>
<li> <b>viewprev</b><br>
Decrements the current frame of the current viewthing.<br>
<br>
</li>
<li> <b>viewnextanim</b><br>
Increments the current anim of the current viewthing.<br>
<br>
</li>
<li> <b>viewprevanim</b><br>
Decrements the current anim of the current viewthing.<br>
<br>
</li>
<li> <b>viewanimate</b><br>
Toggles the animation of the current viewthing. 4 states, off, on, on
with movement, on with movement and looping.<br>
<br>
</li>
<li> <b>viewscaleup</b><br>
Increments the current scale of the current viewthing.<br>
<br>
</li>
<li> <b>viewscaledown</b><br>
Decrements the current scale of the current viewthing.<br>
<br>
</li>
<li> <b>viewscale &lt;scale&gt;</b><br>
Sets the scale of the current viewthing.<br>
<br>
</li>
<li> <b>viewyaw &lt;angle&gt;</b><br>
Sets the yaw of the current viewthing.<br>
<br>
</li>
<li> <b>viewdelete</b><br>
Deletes the current viewthing.<br>
<br>
</li>
<li><b>viewattach &lt;tag name&gt; &lt;fully realized path name of model
to attach&gt;</b><br>
Tag name is the name of the tag to attach to, fully realized path name
would be like &lt;models/grunt.tik&gt;, normally on viewspawn and viewmodel
commands you don't need to prepend models/, but in this case you do.<br>
<br>
</li>
<li><b>viewdetachall</b><br>
Detach and delete all my children.<br>
<br>
</li>
<li><b>vieworigin &lt;x y z&gt;</b><br>
Specifies an absolute position for the viewthing.<br>
<br>
</li>
<li> <b>viewangles &lt;pitch yaw roll&gt;</b><br>
Specifies new angles for the viewthing.<br>
<br>
</li>
<li><b>R_lodscale</b><br>
Adjust the global LOD scale for all models, default is 5. Lower values
increase LOD, higher values decrease LOD. You can easily bind two keys
to change the CVAR like so:
<ul>
<li> Bind key1 &#8220;add r_loadscale 0.25&#8221;</li>
<li> Bind key2 &#8220;add r_loadscale &#8211;0.025&#8221;</li>
</ul>
</li>
</ul>
<p class="subheader"> Older testing commands which are being phased out:</p>
<ul>
<li><b>Testmodel &lt;model.tik&gt;</b><br>
Spawns a test model in front of the player.</li>
<li> <b>testscale &lt;scale value&gt;</b><br>
Changs the scale of the test model.</li>
<li> <b>testscaleup</b><br>
Ups the scale of the test model.</li>
<li> <b>testscaledown</b><br>
Downs the scale of the test model.</li>
<li> <b>testanimate</b> <br>
Toggles the animation state of the test model. One toggle animates the
model in place (without movement information). The second toggle animates
the model with movement but resets the movement after each animation
loop. The third toggle animates the model with movement and continues
looping. The fourth toggle resets the model to not animate and brings
it back to its origin.</li>
<li> <b>testorigin &lt;x y z&gt;</b><br>
Specifies a new origin for the given model.</li>
<li> <b>testangles &lt;pitch yaw roll&gt;</b><br>
Specifies new angles for the test model.</li>
<li> <b>Nextframe</b><br>
Goes to the next frame in the current animation of the test model.</li>
<li> <b>Prevframe</b><br>
Goes to the previous frame in the current animation of the test model.</li>
<li> <b>Nextanim</b><br>
Goes to the next animation in the test model.</li>
<li> <b>Prevanim</b><br>
Goes to the previous animation in the test model.</li>
</ul>
<p class="subheader"> A Sample TIK File</p>
<table width="100%" border="0" cellspacing="4" cellpadding="0">
<tr>
<td width="50%" valign="top" class="menu">TIKI</td>
<td valign="top">// All TIKI files must have this at the<br>
// beginning of the file</td>
</tr>
<tr>
<td valign="top" class="menu">setup</td>
<td valign="top">// The setup section</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;{</td>
<td valign="top"></td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;scale 1.1</td>
<td valign="top">// specify a scale of 1.1</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;path models/sample</td>
<td valign="top">// set the path for all files to<br>
// models/julia</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;surface all shader eden_julia_dam5.tga</td>
<td valign="top">// set all surfaces to use<br>
// eden_julia_dam5.tga as their<br>
// default texture</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;}<br> <br></td>
<td valign="top"></td>
</tr>
<tr>
<td valign="top" class="menu">$define playerdir player/julia/taunts<br> <br> </td>
<td valign="top">// define a macro called playerdir</td>
</tr>
<tr>
<td valign="top" class="menu">init</td>
<td valign="top">// The init section</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;{</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;server</td>
<td valign="top">// the server init events</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setsize &quot;-16 -16 0&quot; &quot;16 16 40&quot;</td>
<td valign="top">// override the default bounding box</td>
</tr>
<tr>
<td colspan="2" valign="top" class="menu"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// create some default taunt sound aliases<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aliascache snd_taunt1 $playerdir$/getbent.wav&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aliascache snd_taunt2 $playerdir$/gtthrt.wav&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aliascache snd_taunt3 $playerdir$/mkmybtc1.wav&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aliascache snd_taunt4 $playerdir$/rcknrll2.wav&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aliascache snd_taunt5 $playerdir$/rstnpcs.wav&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aliascache snd_taunt6 $playerdir$/schldy.wav&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aliascache snd_taunt7 $playerdir$/trynw1.wav&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aliascache snd_taunt8 $playerdir$/whsyrdd1.wav&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aliascache snd_taunt9 $playerdir$/harry.wav&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;client</td>
<td valign="top">// the client init events</td>
</tr>
<tr>
<td colspan="2" valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// There are no initialization events for the client<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;} </td>
</tr>
<tr>
<td valign="top" class="menu">animations<br>
&nbsp;&nbsp;&nbsp;&nbsp;{ </td>
<td valign="top">// The animations section</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;idle f_edenjulia2.tan</td>
<td valign="top">// create an animation called idle</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;taunt f_edenjulia2.tan</td>
<td valign="top">// create an animation called taunt</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></td>
<td valign="top"></td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;client</td>
<td valign="top">// client events for the taunt anim</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</td>
<td valign="top"></td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first playsound snd_taunt</td>
<td valign="top">// on the first frame of idle play<br>
// a taunt sound</td>
</tr>
<tr>
<td valign="top" class="menu">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;}</td>
<td valign="top"></td>
</tr>
</table>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,487 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
Lighting System Specifications </p>
<p class="subheader">Introduction</p>
<p> The static lightmap generation system has been redesigned and reengineered
from the ground up to accommodate the growing need for better lighting
in Ritual&#8217;s games. These changes have required code changes to the
map compiling utility (q3map.exe), the map editor (q3radiant.exe), and
the core game engine itself. This document is meant to serve three purposes:
first, to extend the TDD (Technical Design Doc) as it relates to the specific
features of the lighting system; second, as a tutorial for level designers
and lighting specialists; third, as a canonical reference resource for
future lighters, engineers, and programmers alike.</p>
<p class="subheader">General Principles</p>
<p> In designing each aspect of the new lighting system, input was gathered
from a number of contributors both inside Ritual and out. The resulting
design was a consolidation of all of these inputs and, for the most part,
accommodates the desires of each (at least in spirit if not in specific
implementation details). Efforts have been made to create the system in
such a way that it is flexible enough to encompass different methods and
techniques into a generalized system that can service the needs of everyone
involved.</p>
<p>The most obvious philosophical change in lighting paradigms is that map
lighters now have a much greater amount of control over various aspects
of the light. A light&#8217;s brightness is now independent of its falloff
geometry, which in turn is broken up into several individually controllable
aspects. Each of these aspects will be covered in detail throughout the
course of this document.</p>
<p>Another important philosophical design decision of the new lighting system
can be summarized by the phrase: &#8220;realism is good; total control
is better&#8221;. Lighting engineers now have the ability to (reasonably)
reproduce realistic behavior in their lights; however, they also have
the ability to explicitly change any aspect of a light such that it will
behave in a less realistic but more desirable fashion.</p>
<p class="subheader">The Lighting Process</p>
<p> The following is a step-by-step process of how lighting works in the
TikiEngine.</p>
<p><b>Step 1: Placement of light entities in Radiant</b><br>
The lighting engineer uses the map editor to create, copy, and modify
light sources in a map. Lights are previewed visually in the editor, both
in the orthogonal (2d) and perspective (3d) views. OpenGL is used to render
spotlights as cones, point-lights as spheres, and so on. The lighting
engineer tweaks each of the lighting keys (discussed later) until (s)he
gets the desired light shape and properties. The map is then saved.</p>
<p><b>Step 2: Compilation of static lightmap data using q3map</b><br>
The lighting engineer then generates the static lightmap data for the
map by running the map compiler on the level, using the command:</p>
<blockquote>
<p class="menu"> q3map &#8211;all &lt;mapname&gt;</p>
</blockquote>
<p>Or by running each stage of q3map as a separate task:</p>
<blockquote>
<p class="menu"> q3map &lt;mapname&gt;<br>
q3map &#8211;vis &lt;mapname&gt;<br>
q3map &#8211;light &lt;mapname&gt;</p>
</blockquote>
<p>At this stage, the q3map tool calculates the lightmap data for the entire
level by applying the following steps:</p>
<ol>
<li> For each surface in the world, a sample point is generated for every
16 world units, forming a coarse grid overlaying the entire surface
area of the world.<br>
<br>
</li>
<li> For each sample point, every light source in the map is checked to
see if it contributes any light to that sample point. If the sample
point is outside a point-light&#8217;s (or spotlight&#8217;s) maximum
radius (called &#8220;falloff_end_dist&#8221;), that light is not considered
for that sample point.<br>
<br>
</li>
<li> For point-lights, the amount of light added to the lightmap at each
sample point is calculated using the following steps: <br>
<br>
<ul>
<li>a. If the sample point is inside the inner radius of the light
(called &#8220;falloff_start_dist&#8221;), the light is applied
to the sample point at the light&#8217;s maximum brightness.<br>
<br>
</li>
<li>b. If the sample point is outside the inner radius of the light,
the amount of light is somewhere between 0 and maximum brightness;
the exact value depends on the distance the sample point is away
from the inner radius as well as the nature of the falloff curvature
(&#8220;falloff_curvature&#8221;), which can be anywhere from a
straight-linear drop-off to a steep, inverse-squared drop-off.<br>
<br>
</li>
</ul>
</li>
<li> For spotlights, the amount of light added to the lightmap at each
sample point is calculated using the following steps:<br>
<br>
<ul>
<li> a. If the sample point is inside the area of the inner cone (&#8220;angle_hotspot&#8221;),
it is lit normally as if the light were a normal point light.<br>
<br>
</li>
<li>b. If the sample point is outside the inner cone but still within
the outer cone (&#8220;angle_penumbra&#8221;), it is partially lit
in proportion to its closeness to the inner cone.<br>
<br>
</li>
<li>c. If the sample point lies outside the outer cone, it is not
lit by the spotlight at all (unless the &#8220;spherical_ambient&#8221;
key is nonzero for that light).<br>
<br>
</li>
</ul>
</li>
<li> For sunlight, the amount of light added to the lightmap at each sample
point is calculated using the following steps: <br>
<br>
<ul>
<li>a. A ray is traced from the sample point backward along the direction
of the sunlight vector. If the ray collides with a sky brush or
sky portal before any other solid object, that sample point is fully
lit by the sunlight source.</li>
</ul>
</li>
</ol>
<p><b>Step 3: The map is rendered by the engine using textures and lightmap
data.</b><br>
When drawing a surface of the world, the engine generally makes (at least)
two rendering passes. The first pass is the opaque application of the
surface&#8217;s texture. The second pass is the application of the lightmap
data that was precalculated during the q3map &#8211;light stage. The lighting
pass is done using the lightmap&#8217;s RGB value as a color filter against
pixels in the texture at each pixel on the surface; each of the lightmap&#8217;s
RGB components is multiplied by the pixel&#8217;s matching component to
produce the net resulting color component. Thus, a lightmap of (1.0, 0.5,
0.0) on a medium-grey texel (0.6, 0.6, 0.6) will produce a resulting pixel
value of (0.6, 0.3, 0.0).</p>
<p class="subheader">Light Source Types</p>
<p> There are several different types of light sources available to lighting
engineers. All types are represented by a single &#8220;light&#8221; entity;
however, some types require additional objects in order to be properly
defined:</p>
<p><b>Type 1: Point Lights</b><br>
A point light is the most common type of light. It is the simplest to
define, the easiest to visualize in the editor, and the fastest to calculate
during the q3map &#8211;light phase of map precompilation. </p>
<p>Point lights emit light outward spherically from their origin, affecting
all surfaces within their outermost radius (or &#8220;falloff_end_dist&#8221;,
discussed below). They cast static shadows onto the lightmap when a line
of sight ray between the point light source and the surface sample point
is obstructed by another object.</p>
<p><b>Type 2: Spotlights</b><br>
A spotlight is the next most common type of light. It bears all the properties
of a point light; however, a spotlight confines its area of affect into
a cone along the direction of the spotlight. This direction is determined
by associating the light with a target &#8211; usually an info_null &#8211;
that has a &#8220;targetname&#8221; key matching the light&#8217;s own
&#8220;target&#8221; key. In order to turn a point light into a spotlight,
simply associate it to a target entity in this manner.</p>
<p><b>Type 3: Sunlights</b><br>
Sunlights are essentially point lights that are infinitely far away. They
are constructed in a manner similar to a spotlight (i.e. using an info_null
as a target entity). To make a spotlight into a sunlight, simply check
the box in the Light Properties dialog labeled &#8220;Directional (parallel)
light source&#8221;. </p>
<p>Once a light becomes a sunlight, its actual position becomes completely
meaningless. The light now simply serves as a prototype for defining a
light source infinitely far away (such as the sun or moon). All sky brushes
and sky portals in the level will now act as parallel emitters for this
sunlight; in other words, light of the type specified will be cast in
parallel lines along the vector specified by the light&#8217;s target
entity from every point on the surface of every sky brush or sky portal.</p>
<p class="subheader">Lighting Keys</p>
<p> In the map editor, a light source is represented as an entity. Each
entity has a number of key-value pairs (or epairs) which store the various
properties of that light. The following is a description of each of the
newly-added epair keys:</p>
<p><b>&#8220;brightness&#8221;</b><br>
Called Overall Brightness in the Light Properties dialog, this determines
the maximum brightness multiplier for the light at its brightest point
(i.e. its origin). If &#8220;brightness&#8221; is 1.0, the light makes
any surface inside its inner radius appear fullbright (assuming the light
is pure white). If &#8220;brightness&#8221; is 0.5, the light&#8217;s
brightest spot is only 50% as bright as a normal light at any given point.
Note, however, that its geometry &#8211; including inner and outer radius,
falloff curvature, etc. &#8211; will be completely unchanged.</p>
<p>Note also that if &#8220;brightness&#8221; is negative, the light is
subtractive rather than additive; i.e. it actually removes light from
surrounding surfaces rather than adding light to them.</p>
<p>The &#8220;brightness&#8221; key may hold any value between &#8211;1.0
and 1.0.</p>
<p><b>&#8220;dot_product_weight&#8221;</b><br>
Called Dot Product Effect in the Light Properties dialog, this determines
the degree to which the dot product (angle of incidence) will affect a
light&#8217;s effect on a surface. When &#8220;dot_product_weight&#8221;
is 0.0, the angle of the surface being lit is not taken into account at
all (other than the fact that surfaces facing completely away from the
light are never lit). When &#8220;dot_product_weight&#8221; is 1.0, the
amount of light received on a given surface is proportional to how perpendicular
/ straight-on that surface is to the source of the light. A value of 0.0
produces unrealistic (but easy-to-control) quake-like lighting; a value
of 1.0 produces realistic lighting with more complex subtleties. In general,
a value somewhere in-between these two extremes is desirable. The default
value is 0.5.</p>
<p><b>&#8220;_color&#8221;</b><br>
The color of the light emitted by a light source. This key has a 3-float
vector for its value, such as &#8220;1.0 0.5 0.0&#8221; (an orange color).
The &#8220;_color&#8221; key is set by choosing a color in the entity
color-picker (default &#8220;K&#8221; in Radiant), although it may also
be edited by hand. Clicking on the color sample in the Light Properties
dialog also opens the color picker for all currently selected objects.</p>
<p>Note that lights may never have a color that is not component-saturated;
in other words, all light colors must have at least one component (either
Red, Green, or Blue) that is set to 1.0. Non-saturated colors are automatically
saturated by Radiant (if set through the color picker) and by q3map at
load-time.</p>
<p><b>&#8220;falloff_curvature&#8221;</b><br>
Called Falloff Curvature in the Light Properties dialog, this determines
the steepness of the falloff in intensity as it decreases from maximum
at the inner radius (&#8220;falloff_start_dist&#8221;) to the zero at
the outer radius (&#8220;falloff_end_dist&#8221;). A &#8220;falloff_curvature&#8221;
of 0.0 represents a gentle linear falloff; a value of 1.0 represents a
steep, rapidly-decreasing (inverse-squared) falloff. As with &#8220;dot_product_weight&#8221;,
&#8220;falloff_curvature&#8221; is easiest to control (and least realistic)
at 0.0 and is most realistic (but more subtly complex to control) at 1.0.
The default value is 0.5.</p>
<p><b>&#8220;falloff_start_dist&#8221;</b><br>
Called Falloff Start Distance in the Light Properties dialog. This is
the inner radius; that is, the distance &#8211; in world units &#8211;
away from the light source within which any surface is fully lit by the
light. Note that although this means &#8220;fullbright&#8221; in some
cases, other factors are considered as well: the color of the light, the
dot product of the light&#8217;s angle hitting the surface (if enabled),
and so on. The &#8220;falloff_start_dist&#8221; value of a currently selected
light is represented graphically in both 2d and 3d views in Radiant as
translucent spheres of the (normalized) color of the light. (Note: make
sure &#8220;Show actual colors in XY&#8221; is checked ON in Edit-&gt;Preferences.)</p>
<p>For spotlights, this represents the height of the inner cone, as is consistent
with spherical lights (considering the cone as a segment of a sphere).</p>
<p>The hotkeys to quickly adjust &#8220;falloff_start_dist&#8221; for all
selected lights is (by default) : ALT + CTRL + [ to decrease, ALT + CTRL
+ ] to increase.</p>
<p><b>&#8220;falloff_end_dist&#8221;</b><br>
Called Falloff End Distance in the Light Properties dialog. This is the
outer radius; that is, the distance &#8211; in world units &#8211; away
from the light source outside of which any surface is totally unaffected
by the light. The &#8220;falloff_end_dist&#8221; value of a currently
selected light is represented graphically in both 2d and 3d views in Radiant
as translucent spheres of the (normalized) color of the light. (Note:
make sure &#8220;Show actual colors in XY&#8221; is checked ON in Edit-&gt;Preferences.)</p>
<p>For spotlights, this represents the height of the outer cone, as is consistent
with spherical lights (considering the cone as a segment of a sphere).</p>
<p>The hotkeys to quickly adjust &#8220;falloff_end_dist&#8221; for all
selected lights is (by default) : ALT + SHIFT + [ to decrease, ALT + SHIFT
+ ] to increase.</p>
<p><b>&#8220;angle_hotspot&#8221;</b> (spotlights only)<br>
Called Hotspot Angle in the Light Properties dialog, this field is used
only by spotlights. The &#8220;angle_hotspot&#8221; value of the light
determines the total angle, in degrees, of the inner cone of the spotlight.
Any point within this inner cone is lit as though the light source were
a normal spherical point light. Likewise, any point within this inner
cone AND within the inner radius (as determined by &#8220;falloff_start_dist&#8221;)
is fully lit by the light.</p>
<p>The hotkeys to quickly adjust &#8220;angle_hotspot&#8221; for all selected
lights is (by default) : ALT + CTRL + &lt; to decrease, ALT + CTRL + &gt;
to increase.</p>
<p><b>&#8220;angle_penumbra&#8221;</b> (spotlights only)<br>
Called Penumbra Angle in the Light Properties dialog, this field is used
only by spotlights. The &#8220;angle_penumbra&#8221; value of the light
determines the total angle, in degrees, of the outer cone of the spotlight.
Any point outside this outer cone is completely unlit / unaffected by
the spotlight (unless &#8220;spherical_ambient&#8221; is nonzero &#8211;
see below). Points that fall outside the inner cone (&#8220;angle_hotspot&#8221;)
but inside the outer cone (&#8220;angle_penumbra&#8221;) are partially
lit by the spotlight, with a lateral linear falloff from normal brightness
(at the edge of the inner cone) to total darkness (at the edge of the
outer cone).</p>
<p>The hotkeys to quickly adjust &#8220;angle_penumbra&#8221; for all selected
lights is (by default) : ALT + SHIFT + &lt; to decrease, ALT + SHIFT +
&gt; to increase.</p>
<p><b>&#8220;spherical_ambient&#8221;</b> (spotlights only)<br>
Called Spherical Ambient in the Light Properties dialog, this field is
used only by spotlights. The &#8220;spherical_ambient&#8221; value of
the light determines the fractional amount of the spotlight&#8217;s intensity
that is conveyed outside the outer (&#8220;angle_penumbra&#8221;) cone.
A value of 0.0 (default) indicates that the spotlight emits no light outside
its outer cone. A value of 0.5 indicates that surfaces outside the spotlight&#8217;s
cone are lit as if by a normal, spherical point light of half the intensity
of the spotlight (but with the same basic geometry, in terms of &#8220;falloff_start_dist&#8221;,
&#8220;falloff_end_dist&#8221;, and &#8220;falloff_curvature&#8221;).
A value of 1.0 (maximum) makes the spotlight behave exactly like a normal
spherical point light, since points outside the cone are lit with an equal
amount of intensity as the points inside the cone.</p>
<p class="subheader">Miscellaneous Notes Regarding Lighting Keys</p>
<ul type="square">
<li>Sunlights ignore the following keys: falloff_curvature, falloff_start_dist,
falloff_end_dist, hotspot_angle, hotspot_penumbra, spherical_ambient<br>
<br>
</li>
<li>Point lights ignore the following keys: hotspot_angle, hotspot_penumbra,
spherical_ambient<br>
<br>
</li>
<li>falloff_start_dist can never be greater than falloff_end_dist; similarly,
falloff_end_dist can never be less than falloff_start_dist. (Note that
the distinction between these two statements refers to two different
types of clamps, depending on which value is being changed to exceed
the other.) The Light Properties dialog will automatically stretch the
other field to accommodate the one being moved in excess of these limits.<br>
<br>
</li>
<li>Likewise, angle_hotspot can never be greater than angle_penumbra,
and vice-versa. Also enforced by the Light Properties dialog.<br>
<br>
</li>
<li> The keys light, style, falloff, minlight, radius, angles, spot_angle,
spot_dir, and other legacy quake-style lighting epair keys are now obsolete
and are completely ignored by the compiler.<br>
<br>
</li>
<li> Sunlights automatically enforce a dot_product_weight of 1.0. </li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,432 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
Terrain Texture Blending System Overview</p>
<p> Here is the system for creating, categorizing, and naming the terrain
blend preset images. It's designed to give a useful and uniform core set
of presets, allow for expandability without creating disorganized chaos.
</p>
<p class="subheader">Terrain Shaders</p>
<p> The terrain system is expanded to include alpha blending between two
textures. The includes the ability to control the alpha blend in real
time in Radiant. First you need to build special two stage alpha blend
shaders like the one displayed below.</p>
<blockquote>
<p class="menu"> //<br>
// Sample shader to demonstrate alpha blending between<br>
// two textures on a terrain brush.<br>
//<br>
textures/set_weathertop/rock_grass <br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;// Make sure no light map is created for the
terrain brush.<br>
&nbsp;&nbsp;&nbsp;&nbsp;surfaceparm nolightmap<br>
&nbsp;&nbsp;&nbsp;&nbsp;// Both texture names must appear in the qer_editorimage
statement<br>
&nbsp;&nbsp;&nbsp;&nbsp;qer_editorimage textures/set_weathertop/terrrain-rocky-scrub.tga
textures/set_weathertop/gra_fl_pgrro.tga<br>
&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// First stage renders
the first texture with vertex lighting<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map textures/set_weathertop/terrrain-rocky-scrub.tga<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rgbGen vertex<br>
&nbsp;&nbsp;&nbsp;&nbsp;} <br>
&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Second stage renders
the second texture with vertex lighting<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// and the alpha blend
created in Radiant.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map textures/set_weathertop/gra_fl_pgrro.tga<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rgbGen vertex<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alphaGen vertex<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;blendFunc GL_SRC_ALPHA
GL_ONE_MINUS_SRC_ALPHA<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}</p>
</blockquote>
<p> The surfaceparam nolightmap statement tells q3map not to calculate a
light map for the terrain brush. The qer_editorimage statement with two
texture names tells Radiant to display the both textures as a single shader
in the texture window. This second texture name is an optional parameter.
</p>
<p>The first texture in the qer_editorimage statement appears on the left
in the Radiant texture window and the second texture appears on the right
in the Radiant texture window. In addition, the first texture in the qer_editorimage
statment must be the first stage texture and the second texture in the
qer_editorimage statment must be the second stage texture. </p>
<p>The first stage of the shader renders the first texture with verterx
lighting and the second stage renders the second texture on top of the
first using the alpha blend data created in Radiant. The second stage
also applies vertex lighting to the second texture.</p>
<p class="subheader">Radiant Usage</p>
<p> Once a two stage alpha blend shader has been created, the alpha blend
on a terrain brush is editable in real time.</p>
<ol>
<li> Select a terrain brush in either the XY-window or the 3D-window with
Shift-LeftMouseButton.</li>
<li> Select a two pass blend shader in the texture window. Only the texture
displayed on the left in the texture window will be visible on the terrain
brush.</li>
<li> Press the F key and Radiant will switch to terrain alpha blend mode.
</li>
<li> Select a vertex with the left mouse button and drag the vertex upwards.
The vertex will not move but the texture will start to blend to the
one displayed on the right in the texture window. </li>
<li> Drag downwards to blend back to the texture displayed on the left
in the texture window.</li>
</ol>
<p> Preset blends may also be applied to terrain brushes. </p>
<ol>
<li> Load the textures in the blends directory.</li>
<li> Select a terrain brush in either the XY-window or the 3D-window.
(The terrain brush must have a two stage alpha blend shader on it.)</li>
<li> Select a blend texture in the texture window. The blend will now
be applied accross the terrain brush.</li>
<li> The blend can be selectively modified using the first alpha blend
mode described above.</li>
</ol>
<p class="subheader">Blend Preset Image Specifications</p>
<ul type="square">
<li> Blends
<ul type="square">
<li> Type_Method-Modifier
<ul type="square">
<li> Lin = Linear Ramp between A and B </li>
<li> Nos = Noisy transition between A and B </li>
<li> Wgt = Weighted transition between A and B
<ul type="square">
<li> Weighted means the blend falloff is weighted towards
the white or black end of the luminosity ramp.
<ul type="square">
<li> i.e.: <font color="#0000CC">Circ</font>_<font color="#009900">Wgt</font>-<font color="#990000">25</font>
.tga= <font color="#0000CC">Circular Blend</font>, <font color="#009900">Weighted</font>
at <font color="990000">25%</font> more White than Black
versus a linear ramp. </li>
</ul>
</li>
</ul>
</li>
<li> Wvy = Wavy transition between A and B </li>
</ul>
</li>
</ul>
</li>
</ul>
<p> The shader name for blend presets must be blends/presetimagefilename
(the shader name following &quot;blends/&quot; must be identical to the
Targa image's filename so Radiant can find the image from the shader's
name.</p>
<ul type="square">
<li> The shader name for the above example image should be blends/Circ_Wgt-25
</li>
</ul>
<p> Here are the basic blend types and methods:</p>
<ul type="square">
<li><b> Horizontal Gradient </b>
<ul>
<li> Horiz_Lin </li>
<li> Horiz_Nos </li>
<li> Horiz_Wgt </li>
<li> Horiz_Wvy </li>
</ul>
</li>
<li> <b>Vertical</b>
<ul>
<li> Vert_Lin </li>
<li> Vert_Nos </li>
<li> Vert_Wgt </li>
<li> Vert_Wvy </li>
</ul>
</li>
<li><b> Diagonal Upper Left to Lower Right </b>
<ul>
<li> DiagLR_Lin </li>
<li> DiagLR_Nos </li>
<li> DiagLR_Wgt </li>
</ul>
</li>
<li> <b>Diagonal Upper Right to Lower Left </b>
<ul>
<li> DiagRL_Lin </li>
<li> DiagRL_Nos </li>
<li> DiagRL_Wgt </li>
</ul>
</li>
<li> <b>Circular</b>
<ul>
<li> Circ_Lin </li>
<li> Circ_Nos </li>
<li> Circ_Wgt </li>
</ul>
</li>
<li> <b>Corners</b>
<ul>
<li> Crns_Lin </li>
<li> Crns_Nos </li>
<li> Crns_Wgt </li>
</ul>
</li>
<li> <b>Diamond</b>
<ul>
<li> Dmd_Lin </li>
<li> Dmd_Nos </li>
<li> Dmd_Wgt </li>
</ul>
</li>
<li><b> Bulge Upwards </b>
<ul>
<li> BlgUp_Lin </li>
<li> BlgUp_Nos </li>
<li> BlgUp_Wgt </li>
</ul>
</li>
<li><b> Bulge Downwards </b>
<ul>
<li> BlgDn_Lin </li>
<li> BlgDn_Nos </li>
<li> BlgDn_Wgt </li>
</ul>
</li>
<li> <b>Bulge Left </b>
<ul>
<li> BlgLt_Lin </li>
<li> BlgLt_Nos </li>
<li> BlgLt_Wgt </li>
</ul>
</li>
<li> <b>Bulge Right </b>
<ul>
<li> BlgRt_Lin </li>
<li> BlgRt_Nos </li>
<li> BlgRt_Wgt </li>
</ul>
</li>
<li><b> Irregular </b>
<ul>
<li> Irreg_Nos </li>
<li> Irreg_Spots </li>
<li> Irreg_?other? </li>
</ul>
</li>
</ul>
<p> Blend Preset shaders are completely separate from the Terrain shaders.
Every blend preset is a shader that blends between with 2 base images
referenced in a separate terrain shader entry. The first is the &quot;A&quot;
texture and the second is the &quot;B&quot; texture. The blend is from
&quot;A&quot; to &quot;B&quot; when in normal mode, and from &quot;B&quot;
to &quot;A&quot; when Inverse Blend is activated. </p>
<p>The actual blend texture must be a 9x9 24-bit targa file. Even though
depicted as a hue neutral (grayscale) image, the blend must be in the
red, green, and blue channels. Each blend preset shader must also have
a QEReditorimage that represents the blend. While terrain blend preset
images are 9x9 pixels, corresponding with the verts of a terrain tile,
this is too small to see in the editor and so QEReditorimages for blend
preset shaders need to be 64x64 so it is viewable in Radiant without changing
any settings.</p>
<p> The procedure to make a QEReditorimage for blend presets in PhotoShop
is:</p>
<ol>
<li> Create a new image of 64x64.<br>
<br>
</li>
<li> Make a pure red layer and a pure blue layer. Red represents image
&quot;A&quot; and blue represents &quot;B&quot;, so the red layer should
be above the blue layer in order.<br>
<br>
</li>
<li> Resize your grayscale blend image image to 64x64 using the nearest
neighbor interpolation method. <br>
<br>
</li>
<li> Copy the blend image to the clipboard. <br>
<br>
</li>
<li> Add a Layer Mask to the red layer (Reveal All mode if using PS6).
<br>
<br>
</li>
<li> Select the Layer Mask thumbnail on the Layers palette, and then select
the Channels tab. <br>
<br>
</li>
<li> Activate the visibility icon for the Mask channel and select the
Mask Channel.<br>
<br>
</li>
<li> Paste the blend image into the Mask Channel.<br>
<br>
</li>
<li> Save the file as a Targa in the QER folder using the naming convention
qer_blendimagename.tga.<br>
<br>
</li>
<li> Set up the blend preset shader, pointing to this QEREditorImage.</li>
</ol>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,147 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Elite Force II UberTools GDK</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberRadiant<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level in EF2</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tricorder.html">Tricorder Puzzles</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
</div>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated<br>Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tricorder.html">global_tricorder*.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
</div>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header">&nbsp;</p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All
right reserved.<br>
Please do not email Ritual Entertainment with questions about the
tools or the source, as we do not have the resources to support them.
They are provided as is, and are meant for the hardcore hackers out
there.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,195 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
credits</p>
<p class="subheader"> <strong>&Uuml;berTools Tutorials and Documenation</strong></p>
<p> Squirrel Eiserloh<br>
Reid &quot;BrushBaron&quot; Kimball<br>
Jared &quot;BirdDawg&quot; Hefty<br>
Josh Martel<br>
Benson &quot;elmagoo&quot; Russel</p>
<p class="subheader">Heavy Metal FAKK2 Documentation</p>
<p>Scott &quot;Aldie&quot; Alden<br>
Mark &quot;markd&quot; Dochtermann<br>
Pat &quot;phook&quot; Hook</p>
<p class="subheader"><strong>Layout, Design &amp; Implementation</strong></p>
<p> Steve &quot;badman&quot; Hessel</p>
<p class="subheader"> <strong>&Uuml;berTools GDK Management</strong></p>
<p>Jared &quot;BirdDawg&quot; Hefty<br>
Steve &quot;badman&quot; Hessel<br>
Tom &quot;ParadoX&quot; Mustaine</p>
<p class="subheader">Thanks To</p>
<p>Kevin &quot;ildon&quot; Boisseau<br>
Doug &quot;PingEnvy&quot; Pearson<br>
Activision<br>
id Software</p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,200 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
Web Links</p>
<p class="subheader">Useful Tools</p>
<p><a href="http://developer.nvidia.com/object/ps_texture_compression_plugin.html" target="_blank">NVIDIA's
.dds Plug-ins Page</a></p>
<p class="subheader">Tutorials</p>
<p><a href="http://www.claudec.com/lair_of_shaders/tutorials.shtml" target="_blank">Claudec's
Quake 3 Arena Level Design Tutorial Index</a></p>
<p class="subheader">Official Sites</p>
<p><a href="http://www.st-ef2.com" target="_blank">www.st-ef2.com</a><br>
<a href="http://gaming.startrek.com" target="_blank">gaming.startrek.com</a><br>
<a href="http://www.ritual.com" target="_blank">Ritual Entertainment</a><br>
<a href="http://www.activision.com" target="_blank">Activision</a></p>
<p class="subheader">Fan Sites</p>
<p><a href="http://www.ritualistic.com" target="_blank">Ritualistic</a>
- Ritual Entertainment's Official Fansite<br>
<a href="http://www.eliteforce.com" target="_blank">EliteForce.com</a><br>
<a href="http://www.3dap.com/eliteforce" target="_blank">Elite Force Universe</a><br>
<a href="http://www.totallyef.net/" target="_blank">Totally Elite Force</a>
<br>
<a href="http://www.effiles.com" target="_blank">Elite Force Files</a><br>
<a href="http://www.efclans.com/" target="_blank">Elite Force Clans</a><br>
<a href="http://www.ef2modders.com/" target="_blank">EF2Modders</a> <br>
<a href="http://www.gamehawks.com/ef/" target="_blank">Elite Force Network</a>
<br>
<a href="http://www.hazardteam.de" target="_blank">HazardTeam HQ<br>
</a><a href="http://www.elite-force.com" target="_blank">Elite-Force2.com</a><br>
<a href="http://www.hazardteam.de" target="_blank"> </a><a href="http://www.efextreme.com/" target="_blank">eliteforce
eXtreme</a></p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,350 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
building your first room</p>
<p class="subheader"><a name="1"></a>1. Editor Interface Basics</p>
<p align="center"><img src="../images/tut02_editor_layout01.jpg" width="512" height="384" /></p>
<p>NOTE: Depending on how you setup your editor the above screenshot and
directions below may be somewhat different for you but still useful.</p>
<p>The &Uuml;berRadiant interface may look very complex but thankfully
you do not need to know very much before you can successfully build your
levels. Noticing the orange text, you will see that I have labeled four
different view ports and one bar of text field boxes with clickable arrows
and buttons.</p>
<p><strong><br>
2D Views</strong></p>
<p>Starting at the top, the <strong>Top View</strong> is the main view port
window you are likely to be working from. It is also the default view
the editor starts up with. You can see which view port you are currently
using by looking in the exact same spot the drop down menu is covering
in this screen shot, the upper left corner. In addition to the Top View
window, you can press<strong> CTRL-TAB</strong> to switch between <strong>Front
View</strong>, <strong>Side View</strong> and <strong>Top View</strong>.
</p>
<p>To the left of the main view port window is a slim view port that is
the <strong>Height View</strong>. This view is helpful if you want to
raise the side of a brush vertically or move any object in a vertical
only direction. </p>
<p><strong>To move within all 2D Views (Top, Front, Side or Height)</strong>:
Right click and drag will move in all directions. In the Height View if
you right-click and drag you will only move up or down.</p>
<p><strong>To zoom within all 2D Views</strong>: You can use the mouse wheel
or INSERT to zoom in and DELETE to zoom out. The Height View does not
have any zooming capability.</p>
<p><strong><br>
3D View</strong></p>
<p>On the right side of the editor you will find the <strong>3D View</strong>
port. This view represents a camera that you can use to fly through your
level. You control the camera with your mouse or arrow keys. </p>
<p><strong>Move forward or backward</strong>: Right click anywhere in the
view and drag your mouse forward or backward. Alternatively you can use
your forward and back arrow keys.</p>
<p><strong>Turn (pan) view left or right</strong>: Right click anywhere
in the view and move your mouse left or right. Alternatively you can use
your left and right arrow keys.</p>
<p><strong>To move vertically</strong>: Hold CTRL-Right click and drag UP
to move upward and drag DOWN to move downward. Alternatively you can press
'd' to move up and 'c' to move down.</p>
<p><strong>To look up or down</strong>: Hold SHIFT-Right click and drag
UP to look upward and drag DOWN to look downward. Alternatively you can
press 'a' to look up and 'z' to look down.</p>
<p><br>
<strong>Texture View</strong></p>
<p>The Texture view is where you can view all the textures being used for
your level or all the textures that are available to you. To view only
the textures currently being used press <strong>'u'</strong>. To turn
that of press 'u' again. When you are browsing through the Texture View
window you can <strong>use the mouse wheel</strong> to scroll up or down
as well as <strong>right-click dragging</strong> to scroll up or down.
Holding down SHIFT will speed up the scroll.</p>
<p><br>
<strong>Texture Manipulation Bar</strong></p>
<p>Finally, down at the bottom of UberRadiant you will find a bar of text
fields and buttons that are used to manipulate the textures you have applied
to a brush. Once you have a brush selected or faces of a brush selected
you can change the textures position and size.</p>
<p><strong>To alter the textures position</strong>: The Shift H: and V:
boxes that have arrows poining up/down can only be used when the text
box to the right has a number entered. This number relates to how many
units the texture should move when you press the arrow buttons. 8 units
is usually a good number to enter and then when you use the box to the
left of it by pushing the arrow buttons you will see the numbers increment
by 8 each time (0...8...16, etc). Alternatively, within the 3D view you
can hold ALT right-click and drag to move the texture.</p>
<p><strong>To alter the textures size</strong>: This works exactly as it
does for altering a textures position. A number of units must be entered
into the blank text box before the box with the arrow buttons can be used.</p>
<p><strong>To alter the textures rotation</strong>: This works exactly as
it does for altering a textures position and scale. A number of units
must be entered into the blank text box before the box with the arrow
buttons can be used. Alternatively, within the 3D view you can hold CTRL+ALT
right-click and drag up/down to rotate the texture.</p>
<p><strong>Fit, X Flip and Y Flip</strong>: These buttons allow you to fit
a texture to a face or flip the texture on the X or Y axis. Alternatively,
you can fit a texture to a brush or face by pressing CTRL+f.</p>
<p>The rest of the buttons relate to patches which are entirely different
beasts from brushes and are not covered in this tutorial. They are typically
used for more advanced geometry.</p>
<p class="subheader"><a name="2"></a>2. Choosing Your Textures</p>
<p>To begin making your first room, you will need to choose a texture set
to work with. For the purpose of this tutorial any one will do, select
one by navigating to the Textures menu at the top menu bar.</p>
<p>After choosing your texture set you may have to wait upwards to 15 seconds
for all the textures to load. Regardless of how long it takes you should
see that it's working by looking at the console msgs or the text in the
3d view window.</p>
<p class="subheader"><a name="3"></a>3. Building the Room</p>
<p>Now that you have your texture set loaded you can begin building your
level. First, press the number '4'. This will set your editor to use a
grid size of 8 units. In the 2D Top View left click and drag from anywhere
to anywhere. Your brush should be at least 256x256 units. You should see
a box outlined in RED. This box is known as a brush and can be manipulated
in many ways. To <strong>resize the brush</strong> left click outside
of any side you want to change and drag in the desired direction. To <strong>move
the brush</strong> left click anywhere inside of it and drag to your desired
location.</p>
<p>Once you have your first brush drawn out you can deselect it by hitting
the escape (Esc) key. To toggle selection of a single brush you can SHIFT+Left-click
on it in any of the views (2D or 3D).</p>
<p>With the brush selected, left-click on any texture you find in the texture
window that looks suitable for a floor texture.</p>
<p align="center"><img src="../images/tut02_room01.jpg" width="512" height="384" /></p>
<p> Next we are going to copy this floor brush and make it into the ceiling
for our room. With the floor brush selected, tap quickly the space bar.
If you hold down on the space bar you will end up with MANY copies of
your floor brush. After the copy, you should see another brush selected
in red above your old brush (which is now deselected). Move the new brush
exactly on top of the old one and then in the Height View, left click
inside of it to move it UP at least 128 units from the original brush.
</p>
<p align="center"><img src="../images/tut02_room02.jpg" width="512" height="384" /> </p>
<p> Feel free to find another texture to apply to the ceiling so it looks
different from the floor. Then, deselect the brush.</p>
<p>Next, switch to the Front View by pressing CTRL-TAB once. Now drag out
a new brush as you did for the floor. This time it will be used for one
of the four walls. Make sure the brush touches the floor and ceiling in
the Front View. </p>
<p align="center"><img src="../images/tut02_room03.jpg" width="512" height="384" /></p>
<p> Feel free to choose a new wall texture for it. Then, press spacebar
to copy it and move it to the other side of the room in the Front View.
</p>
<p align="center"><img src="../images/tut02_room04.jpg" width="512" height="384" /></p>
<p> Before we forget, lets save this room. Choose File &gt; Save As... and
give it a name, I chose room01. Hopefully, you set up your editor correctly
and the default directory is 'maps' under the 'base' directory. You could
create a sub-directory under maps if you choose to keep your maps seperate
from other user made levels.</p>
<p>Continuing with the task at hand, deselect the last brush you made for
the wall and CTRL-TAB twice to the Top View. Now, drag out a brush for
the north wall, shown below.</p>
<p align="center"><img src="../images/tut02_room05.jpg" width="512" height="384" /></p>
<p> To complete the room, press space bar to copy the north wall and move
to into position for the south wall as shown below. </p>
<p align="center"><img src="../images/tut02_room06.jpg" width="512" height="384" /></p>
<p> Again, now would be a good idea to save your level. </p>
<p class="subheader"><a name="4"></a>4. Adding a Light</p>
<p>Now we should add a light to the room to make it interesting for the
player (they can see what you built!). Lights have many different properties
to play with to get the desired effect, however I will only discuss how
to add a basic light to your level. </p>
<p>Deselect all brushes and while in the Top View, <strong>right click</strong>
in the center of your room to bring up the <strong>Entity list</strong>.
Choose <strong>'light'</strong> from the list. Next, CTRL-TAB to another
view and click inside the light entity to move it up towards the ceiling.</p>
<p class="subheader"><a name="5"></a>5. Adding a Player Start Location</p>
<p>The last thing we need for our level to work correctly is the player
start location. Deselect the light entity. CTRL-TAB to the Top View and
right-click anywhere inside the room. With your entity menu open, select
<strong>Info &gt; Player &gt; Start</strong>. Using the 2D views (Top,
Side, Front) position the player start where you want it. Make sure the
player start entity or ANY entity at all is completely inside your level
and not stuck inside a wall. Doing so may cause errors. The finished room
should look similar to the one below, except for the textures which were
totally up to you.</p>
<p align="center"><img src="../images/tut02_room07.jpg" width="512" height="384" /></p>
<p>Finally, save your map again.</p>
<p class="subheader"><a name="6"></a>6. Compiling Your Level</p>
<p>At the top menu bar, locate the <strong>Build Map menu</strong> and choose,
<strong>'Full Compile'</strong>. You will see new dos prompt window appear
with the status of your level compiling. Soon it should finish and you
will now have a levelname.bsp file in the directory where you saved your
levelname.map file. The .map file is what the editor builds and the compiler
creates the .bsp file so that the game can display your level.</p>
<p class="subheader"><a name="7"></a>7. Viewing the Level in the Game</p>
<p>Run your game as you normally would. At the main menu screen, press the
<strong>tilda key '~'</strong> to bring down the <strong>console</strong>.
Within the console, type <strong>'devmap mapname'</strong>. Using 'devmap'
allows you to enable cheats such as <strong>'noclip' or 'god'</strong>
mode. Noclip allows you to fly through walls and god makes you unable
to die.</p>
<p>This wraps up the tutorial on building your first room.</p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,315 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
setting up radiant</p>
<p class="subheader"><a name="1"></a>1. That Scary Error Msg... !@#$</p>
<p>The first time you load &Uuml;berRadiant you might get a dialog box saying:</p>
<span class="menu">&quot;C:\program files\activision\ef2\base is not a
valid basepath. Please choose a new path.&quot;</span>
<p>Click OK</p>
<p>You will be brought to the &Uuml;berRadiant preferences screen where
you can setup your editor.</p>
<p class="subheader"><a name="2"></a>2. General Tab</p>
<p align="center"><img src="../images/tut01_uber_radiant01.jpg" width="450" height="467" />
</p>
<p><strong><br>
Layout</strong><br />
Choose the layout you want, the 3rd from the left may look like the best
since it gives you all the different view ports but it doesn&#8217;t take
advantage of the fact that you can easily switch views in one view port,
thus maximizing that one view ports size.</p>
<p><strong>Mouse</strong><br />
Choose either 2 or 3 button mouse movement, if you have a mouse wheel
you can use that to zoom in the view ports.</p>
<p><strong>Camera</strong><br />
Make sure flying camera movement in the camera section is checked. This
allows you to move much better in the 3d view. More will be explained
later.</p>
<p><strong>Troubleshooting</strong><br />
Leave it checked on Use OpenGL display lists</p>
<p><strong>Behavior</strong><br />
It&#8217;s safer to leave &#8220;load last map on open&#8221; unchecked
because if the map file some how gets corrupt you can crash the editor
on load which will be a pain to fix.</p>
<p>Choose if you want the editor to save or not and how often</p>
<p>Saving the map snapshots might be good if you want to keep back ups of
your map without explicitly saving different copies (room01.map, room02.map,
etc)</p>
<p class="subheader"><a name="3"></a>3. Display Tab</p>
<p align="center"><img src="../images/tut01_uber_radiant02.jpg" width="450" height="467" />
</p>
<p><strong><br>
2D View</strong><br />
A lot of these items will be up to your own personal tastes. </p>
<p> [ ] Use solid selection lines &#8211; will make it easier to see what
is selected in the 3d view</p>
<p>[ ] Models Wireframe in XY &#8211; will increase the speed of rendering
the models in the 2d view ports. </p>
<p>[ ] Use anti-aliased lines in XY &#8211; will decrease speed of rendering
but make the lines look smoother with less jagged edges</p>
<p>[ ] Snap Camera in XY &#8211; unsure of what this does</p>
<p>[ ] Mouse chaser &#8211; view will scroll with mouse if it moves off
screen while dragging a selection</p>
<p>[ ] paint sizing info &#8211; VERY useful, as you drag out a brush it
will tell you the size of it in real time</p>
<p>[ ] paint selection centroid &#8211; draw a blue dot that represents
the center of the selected brushes</p>
<p>[ ] show actual light colors in XY &#8211; will show you the specific
color of the light entity in the 2d views</p>
<p><strong>All Views</strong><br />
[ ] light radiuses &#8211; will show you the actual size of the light
as a sphere</p>
<p>[ ] light drawing &#8211; draws the light radiuses in the XY view</p>
<p>[ ] update lights on slider drag &#8211; there is a hot key to easily
increase the brightness of a light by dragging your mouse. Checking this
will show you the change in light intensity as you drag.</p>
<p><strong>Texture Window</strong><br />
[ ] texture scrollbar &#8211; will allow you to use a scrollbar to scroll
through the texture view port instead of using the mouse wheel or right
click and drag.</p>
<p>[ ] texture name filtering &#8211; will allow you to type into a text
box that will help filter textures. If there are 100 textures and 20 of
them have the prefix of wtr_, when you type wtr_ the texture view port
will only show you the 20 textures that have the prefix of wtr_.</p>
<p>[ ] show shaders &#8211; will show you the shaders in the texture window,
you should leave this on</p>
<p>Gamma &#8211; the lower the number the brighter the textures will appear
in the texture view port</p>
<p><strong>Distances/Scales</strong><br />
Texture Scale &#8211; will change the default size of the texture, if
the texture is 64x64 a scale of 0.5 will make it 32x32.</p>
<p>Model Cull Dist &#8211; will remove rendering of models if they are beyond
the distance entered.</p>
<p>Brush Scale Increment &#8211; when scaling a brush it will increase it
by 0.25 each iteration</p>
<p>Patch Shift Increment &#8211; amount to shift patch textures by</p>
<p>Path Scale Increment &#8211; when scaling the size of the patch do so
at the entered value</p>
<p>Rotation increment &#8211; rotate all objects by the degrees entered</p>
<p class="subheader"><a name="4"></a>4. User Interface Tab</p>
<p align="center"><img src="../images/tut01_uber_radiant03.jpg" width="450" height="467" /></p>
<p><br />
<strong>Miscellaneous</strong><br />
Clipper Tool Shader &#8211; when clipping brushes, the face that was clipped
can have a caulk texture applied to it. The caulk texture tells the engine
not to render that face and improves compiling time and rendering.</p>
<p>Status Font Size &#8211; size of the font in the status bar </p>
<p>3D console lines visible &#8211; number of console lines displayed in
the Camera view. Set it to 0 to disable the console. This shows what is
being displayed in the console window (accessed by pressing 'o')</p>
<p><strong>Interface</strong><br />
ALT to multi-drag &#8211; forces you to hold alt in order to drag multiple
objects. This helps keep mistakes to a minimum.</p>
<p>Snap Texture Shifts to Grid &#8211; will make the texture alignment tools
position the textures based on the grid size. If you are using a grid
of 2, you can make much more precise adjustments.</p>
<p>Use Tablet settings &#8211; adjusts the selection keys to be easier to
use if you're using a pen/tablet instead of a mouse.</p>
<p>Don&#8217;t clamp plane points &#8211; don't clamp brush planes to integer
values.</p>
<p>Right click to drop entities in XY &#8211; brings up the entity menu
system when right clicking, very useful</p>
<p class="subheader"><a name="5"></a>5. Keyboard Shortcuts Tab</p>
<p align="center"><img src="../images/tut01_uber_radiant04.jpg" width="450" height="467" />
</p>
<p><br>
Have a look through all the key bindings, this is a great way to learn
how to best use the editor.</p>
<p> If you want to change an action, select it and in the Assign Key area,
type in a new key and then press Assign to Key. Or you can assign a special
key to it instead.</p>
<p class="subheader"><a name="6"></a>6. Colors Tab</p>
<p align="center"><img src="../images/tut01_uber_radiant05.jpg" width="450" height="467" />
</p>
<p><br>
Allows you to set up your own color theme or use a previously designed
one.</p>
<p class="subheader"><a name="7"></a>7. Game/Paths Tab</p>
<p align="center"><img src="../images/tut01_uber_radiant06.jpg" width="450" height="467" />
</p>
<p><br>
User settings &#8211; tell Radiant to load keyboard bindings from a file
other than keyboard.ini</p>
<p>Prefabs &#8211; directory where you want prefabs to be loaded / saved
in.</p>
<p>Base Path &#8211; where the &#8220;base&#8221; dir is on your computer</p>
<p>The rest of the fields you can leave as they are. &Uuml;berRadiant does
everything else for you. It will find all the textures, entities and models
without you having to unpack all the files. That&#8217;s right, you can
save precious hard drive space by NOT unpacking the files as most Q3 based
editors force you to do.</p>
<p>You are now finished with setting up the editor for use and can click
the OK button. It will ask you to restart the editor, simply relaunch
from the executable. Once you do this it will take a few seconds to load
everything since it is scanning for all the resources like textues and
models.</p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,249 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
constructing terrain</p>
<p class="subheader"><a name="1"></a>1. Setting Up Your Terrain Tools</p>
<p> In this tutorial you are going to learn the tools necessary to design
your own terrain. You will not be instructed to design a specific terrain,
rather it will be up to you to decide how you want your terrain to look
at the end of this tutorial. </p>
<p>First, select your texture set by choosing <strong>Textures &gt; drull_ruins3_exterior</strong>.
The first texture that loads is a special terrain texture. You will notice
it is a special terrain texture when there are two different images exactly
side by side with no gap between them (shown below). The name should also
have the word <strong>'terrain'</strong> in it. The other *_exterior texture
sets have other terrain textures in them if you wish to use those instead.
For the purpose of this tutorial you can choose any kind you like.</p>
<p align="center"><img src="../images/tut03_terrain01.jpg" width="512" height="410" /></p>
<p>Next you should define how large you would like your terrain to be by
navigating to <strong>Terrain &gt; Dimension</strong> and choosing your
desired size. In this tutorial I chose 512 at first (shown above).</p>
<p align="center"><img src="../images/tut03_terrain07.jpg" width="512" height="410" /></p>
<p>After choosing your dimension you may want to alter the <strong>soft
selection</strong> settings (shown above). Choose, <strong>Terrain &gt;
Selection &gt; Soft Select Dialog...</strong> The soft selection dialog
allows you to control whether other surrounding vertices are moved as
you drag a centrally located vertex. If the radius is low, when you click
on one vertex, only that one vertex will move. If the radius is high,
when you move one vertex, many surround vertices will move with your selected
vertex. This can help you create pointed terrain or smooth rolling hills.
A radius of around 100 is a nice start, but feel free to experiment, you
are free to create whatever terrain you want to in this tutorial.</p>
<p class="subheader"><a name="2"></a>2. Creating and Modifying the Terrain
Shape</p>
<p>Referring back to the first picture you will see a small brush created
in the Top View. To create the terrain you need to make a brush of any
size. Don't waste time on making it a specific size since the terrain
tool will alter it after use. Once the brush has been created, navigate
to the <strong>Terrain</strong> menu and choose <strong>Create Terrain
from Brush</strong>.</p>
<p align="center"><img src="../images/tut03_terrain02.jpg" width="512" height="410" /></p>
<p>After creation, you will see a terrain patch. Note that this terrain
patch is not solid geometry when the level is compiled, so you need to
enclose it side a box of sorts or else your level will &quot;leak&quot;.
The next step is to make your terrain look more like terrain by altering
the height of the vertices. Press <strong>'v'</strong> to enter <strong>Vertex
Edit</strong> mode. You will see many purple colored vertices that you
can click on <strong>(selected color is green)</strong> and move up or
down. Experiment with this and also the soft selection settings shown
earlier. Soon your terrain will take shape. You can easily create paths
that wind in between mountain walls. </p>
<p class="subheader"><a name="3"></a>3. Modifying the Terrain Textures</p>
<p align="center"><img src="../images/tut03_terrain03.jpg" width="512" height="410" /></p>
<p>After your terrain has taken the shape you want you can texture it the
way terrain should look. Apply the special terrain texture if not already
done so. Then, enter the texture blending mode by pressing <strong>'f'</strong>.
You should see the same vertices you moved early now appear in the color
blue. When you click and drag a vertex up it won't move, however the floor
texture of the terrain will blend into view. The more you drag up, the
better you should see the floor texture. Doing this will create more realistic
terrain, such as paths that look like others have walked on them before.
</p>
<p class="subheader"><a name="4" id="4"></a>4. Adding More Terrain </p>
<p align="center"><img src="../images/tut03_terrain04.jpg" width="512" height="410"></p>
<p>One of the more powerful features of the terrain system is that you can
copy, paste and connect pieces of terrain together to increase the size
of it. Simply have your terrain selected and press the spacebar key. Then
move the terrain so that it's edges match up exactly with the edge of
the original terrain. A dialog box should automatically appear asking
if you want to <strong>Connect Adjacent Terrain</strong>. If you choose
'Snap new brush to group', the terrain on the new brush will have its
vertices moved to match up with the vertices on the connecting edge of
the other terrain piece. If you choose 'Snap group to new brush', the
vertices on the unselected terrain will have its vertices moved to match
up with the vertices on the connecting edge of the new terrain brush.</p>
<p align="center"><img src="../images/tut03_terrain05.jpg" width="512" height="410" /></p>
<p align="center"><img src="../images/tut03_terrain06.jpg" width="512" height="410" /></p>
<p>In the two above pictures you can see the end result of merging the two
terrain brushes. This concludes the terrain tutorial. Don't forget to
enclose the level so that it doesn't leak and cause errors.</p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,299 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
creating flying creatures</p>
<p>Also see the documentation for &quot;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a>&quot;.</p>
<p class="subheader"> To Set Up Crash Version</p>
<p> To set this version up in the editor, you'll need:</p>
<ul type="square">
<li> spline path for the creature to follow</li>
<li> script model using the creature you want to fly in</li>
<li> an impact mark that's either a decal, or made of brushes</li>
<li> a trigger brush</li>
</ul>
<p>These four things HAVE to be there, it won't work right unless all four
elements exist.</p>
<p>You use an info_splinepath to make the path the creature will follow.
You CTRL+K them together so they're all linked in a chain. The only values
you'll want to play with per node are the speed values. The speed value
is a percentage. 1 is the default, and that's 100% (normal speed). If
you want it to go faster, you increase the number (so 2 would make the
object go 200% of normal speed, or twice as fast). If you want it to go
slower you decrease the number towards 0, but not below (so .5 would tell
the object to go 50% of normal speed, or half as fast). This is from a
node-to-node basis mind you, so you can have the objects go fast between
two nodes, and then slow down between two different nodes, etc.</p>
<p>Place a script model in the level, and set the model keyvalue towards
the creature .tik you want to use (there's a nifty little model button
you can use on the entity dialog).</p>
<p>Make an impact crater that sits on top of the ground. If you look in
the example map, you'll see it's just a simple set of brushes that can
go ontop of the ground. A decal FX would work really nice as well.</p>
<p>Make a trigger brush. THIS IS THE IMPORTANT PART. You have to place the
trigger brush on top of the crater, where the creature will intersect
it. Also, and again check out the example map, you don't want to make
the trigger brush too tall or to big as right when the creature touches
it, will it consider its self to have impacted. The IMPORTANT PART, is
that you have to make sure you check the SCRIPTSLAVE flag on the trigger
brush for this to work, if you don't, nothing will happen when the script
model passes through it. Give the triggerbrush a unique targetname</p>
<p>Once you have all of that setup, here's the next IMPORTANT step. First,
highlight the trigger. Now control+K the trigger to the impact crater.
Then control+K the impact crater to the script model. Then control+K the
script model to the first point in the spline path. IT IS VERY IMPORTANT
THAT YOU LINK THESE OBJECTS TOGETHER IN THIS ORDER! The script derives
the objects targetnames based on the order you link them together, so
if you do not link them, or link them in the improper order, it won't
work.</p>
<p class="subheader"> To Set Up Land Version</p>
<p> To set this version up in the editor, you'll need:</p>
<ul type="square">
<li> spline path for the creature to follow</li>
<li> script model using the creature you want to fly in</li>
<li> a trigger brush</li>
</ul>
<p>These 3 things HAVE to be there, it won't work right unless all 3 elements
exist.</p>
<p>The spline path is setup in the same manner as in the crash verison.</p>
<p>The script model is setup in the same manner as in the crash version.</p>
<p>The trigger brush is setup a little differently. You still need the trigger
brush to intersect the path the creature will follow, but you'll want
it to intersect it in the air. The goal of this version of the script
is to have an alien fly in and then 'hop' off of his path and attack just
above the ground. Look at the example to see what I'm talking about. Give
the triggerbrush a unique targetname.</p>
<p>As in the crash example you'll have to control+K link all these objects
together. Only this time here's the order:</p>
<ul type="square">
<li>trigger brush to script model</li>
<li> script model to first node in spline path</li>
</ul>
<p> This concludes the radiant setup portion. </p>
<p class="subheader">Script Setup and Threads to Launch</p>
<p> Here's what you need to do in your level's script file to get this to
work. You'll want to include this line just after where you declare all
your threads at the top of your script file (you can also check the global
script synopsis document):</p>
<p>Dependancies:</p>
<blockquote>
<p class="menu"> #include &quot;maps/global_scripts/global_common.scr<br>
#include &quot;maps/global_scripts/global_debugUtils.scr</p>
</blockquote>
<p>Actual script file:</p>
<blockquote>
<p class="menu"> #include &quot;maps/global_scripts/global_flyin.scr&quot;</p>
</blockquote>
<p><br>
There's a setup thread you have to run for each flyin creature you've
setup. So at the start of the level you'll want to run this thread:</p>
<blockquote>
<p class="menu">globalFlyin_setup( &quot;string value of the targetname
of the trigger&quot;, &quot;type of variation&quot; );</p>
</blockquote>
<p>The string value of the targetname of the trigger, is the trigger's targetname
WITHOUT the '$'. The type of variation should be either the word 'crash'
or 'land' without the quotes of course, and all lower case. So for example,
I've setup a crash version, and the trigger brush has a targetname of
crash_example, here's what the thread I would run would look like:</p>
<blockquote>
<p class="menu">globalFlyin_setup( &quot;crash_example&quot;, &quot;crash&quot;
);</p>
</blockquote>
<p> When in your script you're ready to activate the creature, you use this
thread, again with the string value of the targetname of the trigger.
Using the previous example with a trigger brush targetname of crash_example:</p>
<blockquote>
<p class="menu">globalFlyin_Launch( &quot;crash_example&quot; );</p>
</blockquote>
<p> this will cause the creature to flyin on the path and activate. They
can get shot out of the air as well and will explode when you do this
(pretty cool to watch actually :).</p>
<p class="subheader"> Optional Parameters</p>
<p> There is a default effect to play for when the creature crashes into
the ground, and gets shot out of the air. But you can override either
of these by entering the following keyvalues on the trigger brush in radiant(please
note, that entering a crash FX for the land version of the creature will
have no effect :)</p>
<ul type="square">
<li>uservar1 - will replace the crash effect</li>
<li> uservar2 - will replace the shot out of the air effect</li>
</ul>
<p>The Land example in the example map uses the uservar2 to set a different
shot out of the air effect if you'd like to see an example. You just enter
these as a standard keyvalue, and then the fx/fx-name-here.tik as the
actual data.</p>
<p>There is also grouping options:</p>
<ul type="square">
<li>uservar3 - Group on-death thread to launch</li>
<li>uservar4 - Group number to assign to this creature</li>
</ul>
<p>This way you can assign these guys to a group and use the onDeath thread
funcitonality</p>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,218 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global script synopsis</p>
<p>Here you can find the documentation for most of the global scripts contained
in Ritual's &Uuml;berTools for Quake III v4.0:</p>
<ul type="square">
<li><a href="scripting_globalscripts_accelmove.html">global_acceleratedMovement.scr</a></li>
<li><a href="scripting_globalscripts_archetype.html">global_archetype.scr</a></li>
<li><a href="scripting_globalscripts_array.html">global_array.scr</a></li>
<li><a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a></li>
<li><a href="scripting_globalscripts_common.html">global_common.scr</a></li>
<li><a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a></li>
<li><a href="scripting_globalscripts_flyin.html">global_flyin.scr</a></li>
<li><a href="scripting_globalscripts_math.html">global_math.scr</a></li>
<li><a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a></li>
<li><a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a></li>
<li><a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a></li>
<li><a href="scripting_globalscripts_transport.html">global_Transport.scr</a></li>
<li><a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a></li>
</ul>
<p>Each document is divided into several subsections. You can find the subsections
along with their descriptions below:</p>
<p class="subheader"><strong>Dependencies</strong></p>
<p>These are other global scripts that you must #include within your levels
script in order for this global script to work. You have to make sure
these include lines appear before any function you use within this global
script. </p>
<p class="subheader"> <strong>Purpose</strong></p>
<p> A brief description of what the functions of this global script perform.</p>
<p class="subheader"><strong>How To Use</strong></p>
<p> A brief description of how to use this global script.</p>
<p class="subheader"> <strong>External Functions</strong></p>
<p> These are the functions that you can call from this global script.</p>
<ul type="square">
<li><strong>Purpose</strong><br>
The purpose of this function.</li>
<li><strong>Returns<br>
</strong>If the function returns a value back, lists the return variable
type and description of what it returns.</li>
<li><strong>Parms</strong><br>
T he parameters that you have to pass into the function. You have to
pass all functions in order for the script to compile. The description
of the parm is:
<ul>
<li><strong>Parameter Name</strong><br>
T he variable type, description of what that parameter is for.</li>
</ul>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,453 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_acceleratedMovement.scr</p>
<p class="subheader">Dependencies</p>
<p> #include &quot;maps/global_scripts/global_common.scr&quot;<br>
#include &quot;maps/global_scripts/global_math.scr&quot;</p>
<p class="subheader">Purpose</p>
<p> Commands that move objects in accelerated ways</p>
<p class="subheader"> How To Use</p>
<p> Call these functions on a script object or script model in your level
passing the desired parameters.</p>
<p class="subheader">External Functions</p>
<p><strong>globalAccelMove_AxisAligned( entityName, totalTime, totalDistance,
moveDirection )</strong> </p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Moves a script object with acceleration along an axial path (up, down,
north, south, east, west) ADDENDUM - This is the older method, you should
use the new acceleration commands listed below</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entityName</strong> (string)<br>
The targetname of the script object to accelerate with no '$' in the
name.<br>
<br>
</li>
<li> <strong>totalTime</strong> (float)<br>
The total time it should take to move its distance.<br>
<br>
</li>
<li> <strong>totalDistance</strong> (float)<br>
Tthe distance it should move on it's choosen axis.<br>
<br>
</li>
<li> <strong>moveDirection</strong> (string)<br>
The axial direction to move .
<ul>
<li>up - moves the object up
<li>down - moves the object down
<li>north - moves the object north
<li>south - moves the object south
<li>east - moves the object east
<li>west - moves the object west
</ul>
</li>
</ul>
<p> <strong>globalAccelMove( entObject, vecMove, fltTime, strCurve, strSound
)<br>
globalAccelMoveX( entObject, fltDistance, fltTime, strCurve, strSound
)<br>
globalAccelMoveY( entObject, fltDistance, fltTime, strCurve, strSound
)<br>
globalAccelMoveZ( entObject, fltDistance, fltTime, strCurve, strSound
)<br>
</strong> </p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Move an object using one of 3 acceleration curve types in absolute directions.
This means using North, South, East, West movement commands rather than
relative movement commands.</p>
<p><strong>How to setup:</strong><br>
Make a script model or object that you wish to use. Call one of these
functions on it. If you want to wait until the move is finished before
proceeding in your script, call this function in-line. If you would
like your script to progress and not wait, then call this function with
the 'thread' command.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li><strong>entObject</strong> (entity)<br>
The script object to move with acceleration.<br>
<br>
</li>
<li><strong>vecMove</strong> (vector)<br>
The distance to move for X, Y, and Z axis. You enter the distance you
want the object to move on all 3 axis from it's current position. So
X handles the East/West motion, Y handles the North/South motion, and
Z handles the Up/Down motion.<br>
<br>
Positive X is East, negative X is West, positive Y is North, negative
Y is South, positive Z is Up, negative Z is Down. Syntax for vectors
are 'x y z' with the apostraphe's. So as an example, a value of '512
-256 64' will make the object move East 512 units, South 256 units,
and Up 64 units.<br>
<br>
OR<br>
<br>
<strong>fltDistance</strong> (float)<br>
ONLY when using one of the single axis commands, just pass the distance
for that axis only.<br>
<br>
</li>
<li><strong>fltTime</strong> (float)<br>
The time to take for the move, just like the .time parameter on an object.<br>
<br>
</li>
<li> <strong>strCurve</strong> (string)<br>
The acceleration curve to use, there are 3 options: <br>
<ul>
<br>
<li>rampup - this will make the object start from still and ramp up
to it's maximum velocity
<li>rampdown - this will make the object start at maximum velocity
and slow down to still
<li>rampupdown - this will make the object start from still, ramp
up to it's maximum velocity, the slow down to still again
<li>&quot;none&quot; - this will make the object move linearly (with
no acceleration) <br>
<br>
</ul>
<li>strSound - string, a path to the sound to play on this object as it
moves. The sound will start playing the moment it moves. Entering &quot;&quot;
will play no sound.</li>
</ul>
<p> <strong>globalAccelMove_Relative(entObject, vecMove, fltTime, strCurve,
strSound)<br>
globalAccelMove_RelativeX(entObject, fltDistance, fltTime, strCurve, strSound)<br>
globalAccelMove_RelativeY(entObject, fltDistance, fltTime, strCurve, strSound)<br>
globalAccelMove_RelativeZ(entObject, fltDistance, fltTime, strCurve, strSound)
</strong></p>
<blockquote>
<p> <strong>Purpose:<br>
</strong>Move an object using one of 3 acceleration curve types in a
relative movement. This means using Right, Left, Forward, Backward movement
commands. The forward direction is determined by the 'angle' keyvalue
set on the object. ADDENDUM: Relative movement commands only work on
an objects horizontal axis, or straight up / down. This means that you
can not face an object South and Down and expect it to move Forward
in that direction. It would only move forward on it's horizontal axis,
but not Down.</p>
<p><strong>How to setup:</strong><br>
Make a script model or object that you wish to use. Call on of these
functions on it. If you want to wait until the move is finished before
proceeding in your script, call this function in-line. If you would
like your script to progress and no wait, then call this function with
the 'thread' command.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entObject</strong> (entity)<br>
The script object to move with acceleration.<br>
<br>
</li>
<li><strong>vecMove</strong> (vector)<br>
The distance to move for X, Y, and Z axis. You enter the distance you
want the object to move on all 3 axis from it's current position. So
X handles the Right/Left motion, Y handles the Forward/Backward motion,
and Z handles the Up/Down motion.<br>
<br>
Positive X is Right, negative X is Left, positive Y is Forward, negative
Y is Backward, positive Z is Up, negative Z is Down. Syntax for vectors
are 'x y z' with the apostraphe's. So as an example, a value of '512
-256 64' will make the object move Right 512 units, Backward 256 units,
and Up 64 units.<br>
<br>
OR<br>
<br>
<strong>fltDistance</strong> (float)<br>
ONLY when using one of the single axis commands, just pass the distance
for that axis only.<br>
<br>
</li>
<li><strong>fltTime</strong> (float)<br>
The time to take for the move, just like the .time parameter on an object.<br>
<br>
</li>
<li> <strong>strCurve</strong> (string)<br>
The acceleration curve to use, there are 3 options:<br>
<br>
<ul>
<li>&quot;rampup&quot; - this will make the object start from still
and ramp up to it's maximum velocity.
<li>&quot;rampdown&quot; - this will make the object start at maximum
velocity and slow down to still.
<li>&quot;rampupdown&quot; - this will make the object start from
still, ramp up to it's maximum velocity, the slow down to still
again.
<li>&quot;none&quot; - this will make the object move linearly (with
no acceleration)<br>
<br>
</ul>
</li>
<li> <strong>strSound</strong> (string)<br>
A path to the sound to play on this object as it moves. The sound will
start playing the moment it moves. Entering &quot;&quot; will play no
sound.
</ul>
<p> <strong>globalAccelMove_Rotate( entObject, vecMove, fltTime, strCurve,
strSound )<br>
globalAccelMove_RotateX( entObject, fltDistance, fltTime, strCurve, strSound
)<br>
globalAccelMove_RotateY( entObject, fltDistance, fltTime, strCurve, strSound
)<br>
globalAccelMove_RotateZ( entObject, fltDistance, fltTime, strCurve, strSound
)</strong>
<blockquote>
<p> <strong>Purpose:</strong><br>
Rotate an object using one of 3 acceleration curve types.</li> </ul>
</p>
<p><strong>How to setup:</strong><br>
Make a script model or object that you wish to use. Call this function
on it. If you want to wait until the move is finished before proceeding
in your script, call this function in-line. If you would like your script
to progress and no wait, then call this function with the 'thread' command.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entObject</strong> (entity)<br>
The script object to rotate with acceleration.<br>
<br>
</li>
<li><strong>vecMove</strong> (vector)<br>
The rotational distance in degrees on X, Y, and Z axis. Positive or
negative controls the direction (positive is counterclockwise, negative
is clockwise). Syntax for vectors is 'x y z' (with the apostrophes).<br>
<br>
OR<br>
<br>
<strong>fltDistance</strong> (float)<br>
ONLY when using one of the single axis commands, just pass the distance
for that axis only.<br>
<br>
</li>
<li><strong>fltTime</strong> (float)<br>
The time to take for the move, just like the .time parameter on an object.<br>
<br>
</li>
<li> <strong>strCurve</strong> (string), <br>
The acceleration curve to use, there are 3 options:<br>
<br>
<ul>
<li>&quot;rampup&quot; - this will make the object start from still
and ramp up to it's maximum velocity
<li>&quot;rampdown&quot; - this will make the object start at maximum
velocity and slow down to still
<li>&quot;rampupdown&quot; - this will make the object start from
still, ramp up to it's maximum velocity, the slow down to still
again
<li>&quot;none&quot; - this will make the object move linearly (with
no acceleration).<br>
<br>
</ul>
</li>
<li> strSound - string, a path to the sound to play on this object as
it moves. The sound will be start playing the moment it moves. Entering
&quot;&quot; will play no sound.</li>
</ul>
<p> <strong>globalAccelMove_Pendulum( entObject, vecMove, fltTime, fltFriction,
strSound )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Swings an object back and forth on the desired axis in a pendulum motion.</p>
<p><strong>How to setup:</strong><br>
Position and orient your script object in what would be the dead center
position (the bottom of the swing). Don't forget to have an origin brush
on the object if it's a script object. For a script model, bind it to
a script origin, then pass the script origin into this function)</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entObject</strong> (entity)<br>
The script object to perform the pendulum motion on vecMove - vector,
this is the amplitude of the pendulum swing per axis (half the total
arc) in degrees. So if you enter a value of 15 degrees on one axis,
the full swing will be 30 degrees on that axis. Syntax for vectors is
'x y z' (with the apostrophes).</li>
<li> <strong>fltTime</strong> (float)<br>
The total time it takes to perform one full swing (from one extreme,
to the other extreme, and then back to the first extreme again).<br>
<br>
</li>
<li> <strong>fltFriction</strong> (float)<br>
This is a percentage value between 0 and 1. This is the percentage of
the amplitude that will be subtracted from the swing each time the object
passes through it's starting position. Enter a value of 0 for infinite
(frictionless).<br>
<br>
</li>
<li> <strong>strSound</strong> (string)<br>
A path to the sound to play on this object as it swings. The sound will
be played each time the object is at it's maximum outer extents and
swings on down to center.</li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,192 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_archetype.scr</p>
<p class="subheader">Dependencies</p>
<p> #include &quot;maps/global_scripts/global_common.scr&quot;</p>
<p class="subheader">Purpose</p>
<p> Archetyping objects in the world so the proper highlight box goes around
the object, along with the proper tricorder descriptions. ONLY USED FOR
B-MODELS. </p>
<p class="subheader"> How To Use</p>
<p> Call this function on a script_object in the world that needs archetype
information</p>
<p class="subheader">External Functions</p>
<p> <strong>globalArchetype_Setup( scriptObject, theArchetype ) </strong></p>
<blockquote>
<ul type="square"><strong>Parms:</strong>
<li> <strong>scriptObject</strong> (entity)<br>
The entity to archetype.</li>
<li> <strong>theArchetype</strong> (string)<br>
The archetype reference from the gameplay database to put on this object.</li>
</ul>
</blockquote>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,251 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_array.scr</p>
<p class="subheader">Dependencies</p>
<p> #include &quot;maps/global_scripts/global_common.scr&quot;</p>
<p class="subheader">Purpose</p>
<p> Can create and access an array of floating point values<br>
<br>
*** WARNING ***<br>
This is a HACKED method for doing this! Unless you trully understand what
arrays are and how to use them, DO NOT USE THIS SCRIPT!</p>
<p class="subheader"> How To Use</p>
<p> You first run the setup function, passing a unique identifier for the
array, and the number of elements you want in the array. This initializes
the array and gets it ready for use. Then use the get and set functions
to access the array, using the unique identifier. You can have as many
array's as you'd like, as long as they all have unique identifiers to
differenciate them.</p>
<p class="subheader">External Functions:</p>
<p> <strong>globalArray_FloatSetup( strArrayName, intNumberOfElements )</strong>
</p>
<p> <strong>Purpose:</strong><br>
Initializes and sets up the array with the desired number or elements</p>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>strArrayName</strong> - (string)<br>
A unique identifier for the array.</li>
<li> <strong>intNumberOfElements</strong> - (float)<br>
The number of elements to initialize the array to. Once this has been
set, you can not change this. The element numbering starts from 1 and
goes up. DO NOT PUT ANYTHING AT ELEMENT 0!</li>
</ul>
<p> <strong>globalArray_FloatSet( strArrayName, intElementToSet, intValueToSet
)</strong>
<blockquote>
<p> <strong>Purpose:</strong><br>
Sets a value into the desired array at the desired element. DO NOT PUT
ANYTHING AT ELEMENT 0! </p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>strArrayName</strong> (string)<br>
The unique identifier of the array to set a value on.</li>
<li> <strong>intElementToSet</strong> (float)<br>
The element number at which to set the value.</li>
<li> <strong>intValueToSet</strong> (float)<br>
The value to set.</li>
</ul>
<p> <strong>float globalArray_FloatGet( strArrayName, intElementToGet )
</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Gets a value from the desired array at the desired element.</p>
<p><strong>Returns:</strong><br>
F loat, the value stored at the desired element.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>strArrayName</strong> (string)<br>
The unique identifier of the array to get a value from.</li>
<li> <strong>intElementToSet</strong> (float)<br>
The element number at which to get a value from.</li>
</ul>
<p> <strong>float globalArray_FloatHasMatchingValue( strArrayName, float
intValueToCheck )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Checks the desired array to see if any element contains a particular
value</p>
<p><strong>Returns:</strong><br>
float, the element at which the value was found. If it was not found
in the array<br>
it will return 0</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>strArrayName</strong> (string)<br>
The unique identifier of the array to check.</li>
<li> <strong>intValueToCheck</strong> (float)<br>
The value to check for in the array.</li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,303 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_cinematicFX.scr</p>
<p class="subheader">Dependencies</p>
<p> #include &quot;maps/global_scripts/global_common.scr&quot;<br>
#include &quot;maps/global_scripts/global_math.scr&quot;</p>
<p class="subheader">Purpose</p>
<p> Commands used mainly for cinematic stuff</p>
<p class="subheader"> How To Use</p>
<p> These are a set of functions that effect camera FOVs, and camera path
and object positioning.</p>
<p class="subheader">External Functions</p>
<p> <strong>globalCineFX_CameraFOVLerp( entCamera, fltFOVStart, fltFOVEnd,
fltTime, strCurve )</strong></p>
<blockquote>
<p><strong>Purpose:</strong><br>
Smoothly changes a camera's FOV with acceleration for a Zoom effect.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entCamera</strong> (entity)<br>
The camera to zoom.<br>
<br>
</li>
<li> <strong>fltFOVStart</strong> (float)<br>
Starting FOV for the zoom.</li>
<li> <strong>fltFOVEnd</strong> (float)<br>
The ending FOV for the zoom.</li>
<li> <strong>fltTime</strong> (float)<br>
The time to take for the zoom.</li>
<li> <strong>strCurve</strong> (string)<br>
The acceleration curve to use, there are 3 options:<br>
<br>
<ul>
<li><strong>rampup</strong><br>
This will make the object start from still and ramp up to it's maximum
velocity.
<li><strong>rampdown</strong><br>
This will make the object start at maximum velocity and slow down
to still.
<li><strong>rampupdown</strong><br>
This will make the object start from still, ramp up to it's maximum
velocity, the slow down to still again.
</ul>
</ul>
<p><strong>globalCineFX_CameraPathRemove( entCamPath ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Removes an entire camera path. This was created so camera paths created
with the in-game path creator could be removed.</li> </ul> </p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entCamPath</strong> (entity)<br>
The lead node in the path. If the camera path was created with the in-game
path creator, this is the name of the path </li>
</ul>
<p> <strong>globalCineFX_CameraPathRotate( entCamPath, fltDegrees, vecPivotCoordinate,
vecDestinationCoordinate )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes a path and rotates the entire path around a desired pivot point.
This will also rotate the facing on all of the nodes in the path accordingly.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entCamPath</strong> (entity)<br>
The lead node in the path. If the camera path was created with the in-game
path creator, this is the name of the path.<br>
<br>
</li>
<li> <strong>fltDegrees</strong> (float)<br>
How far to rotate the path around in degrees. Positive is counterclockwise
and negative is clockwise.<br>
<br>
</li>
<li> <strong>vecPivotCoordinate</strong> (vector)<br>
The origin of the point to pivot the path around.<br>
<br>
</li>
<li> <strong>vecDestinationCoordinate</strong> (vector)<br>
The origin of the final position for the entire path based off of the
pivot point. What this means is that it will rotate the entire path
around the pivot point, and then re-position the entire path by moving
the pivot point with the new rotational orientation locked to the pivot
point as it moves.<br>
So if you want to just rotate the path without re- positioning it, just
enter the pivot point coordinate as the destination coordinate</li>
</ul>
<p> <strong>globalCineFX_TimeLerp( fltTimeScaleStart, fltTimeScaleEnd, fltTime,
strCurve )</strong> </p>
<blockquote>
<p> <strong>Purpose:</strong><br>
The goal of this function was to create cool slow motion transitions
as it would ramp time up or down. But the timescale command didn't work
very well with this technique, so hence this function doesn't really
work all too well. Try at yer own risk suchah's :).</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>fltTimeScaleStart</strong> (float)<br>
The starting timescale value based on a normalized scale. Meaning 1
is in normal time, .5 would be half-time, and 2 would be double time<br>
<br>
</li>
<li> <strong>fltTimeScaleEnd</strong> (float)<br>
The ending timescale value based on a normalized scale. Since I know
you just read the previous description, I'm not going to repeat the
whole, 'what does normalized' mean schpeal. :)<br>
<br>
</li>
<li> <strong>fltTime</strong> (float)<br>
The time for the whole lerp to take. This starts getting tricky because
this wouldn't be the actual time. As you start to timescale the game,
the actual time of the game will be effected, thus effecting the timers
in the engine that count time. There were no time commands written 'outside'
of normal time to account for this and the timescale command. Wow, there's
a lot of time in this description, I think it's time to move on. </li>
</ul>
<p> <strong>globalCineFX_PositionObject( entObject, entDestination )</strong></p>
<p><strong>Purpose:</strong><br>
Takes an object and moves it to be at the same position and orientation
of another object.</p>
<p><strong>Parms:</strong></p>
<ul type="square">
<li> <strong>entObject</strong> (entity), <br>
The object to re-position and re-orient<br>
<br>
</li>
<li> <strong>entDestination</strong> (entity)<br>
The destination entity. This function will take the entObject and set
it's origin and angles to this entities origin and angles</li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,505 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_common.scr</p>
<p class="subheader">Dependancies</p>
<p> none</p>
<p class="subheader">Purpose</p>
<p> This script contains basic functions for use on all levels, along with
definitions for<br>
constansts that are used on all level</p>
<p class="subheader">How to use</p>
<p> See the description for each function</p>
<p>Constant variables that have been assigned:</p>
<p> FALSE = 0<br>
TRUE = 1<br>
NULL = -1</p>
<p>So as long as you include this global script, you can use these variables
in place of their assigned counterparts. One warning, and this is a problem
with the scripting language, when you initially declare your variable,
you can not set it equale to another variable. So for example this will
not work:</p>
<p>float newVariable = TRUE;</p>
<p>You have to assign it to an actual number value for the initialization,
and then anytime after that you can use the constants.</p>
<p class="subheader">External Functions</p>
<p> <strong>globalCommon_AssertEntity( entPassedEntity, strMessage )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Checks the passed in entity to see if it is valid. If it's not, the
game will stop and display the passed in message.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entPassedEntity</strong> (entity)<br>
This is the entity to perform the check on.<br>
<br>
</li>
<li> <strong>strMessage</strong> (string)<br>
This is the message to print on the screen before stopping the game.</li>
</ul>
<p> <strong>globalCommon_Autosave()</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Used to help simplify autosaving so people don't have to write as much
script. It performs an autosave when called.</p>
<p><strong>Parms:</strong><br>
None</p>
</blockquote>
<p> <strong>globalCommon_OnUse( entOnUseTargetname , strOnUseThread ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
To simplify setting up of an onuse function by automating the pause
and thread assignment</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li><strong> entOnUseTargetname</strong> (entity)<br>
T his is the entity to wait for the 'onuse' action to occur.<br>
<br>
</li>
<li> <strong>strOnUseThread</strong> (string)<br>
T his is thread to execute when the object is used.</li>
</ul>
<p> <strong>globalCommon_OnDamage( entOnDamageTargetname, strOnDamageThread
) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
To simplify setting up of an ondamage function by automating the pause
and thread assignment</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entOnDamageTargetname</strong> (entity)<br>
This is the entity to wait for the 'ondamage' action to occur.<br>
<br>
</li>
<li> <strong>strOnDamageThread</strong> (string)<br>
T his is thread to execute when the object is damaged.</li>
</ul>
<p> <strong>globalCommon_OnTouch( entOnTouchTargetname, strOnTouchThread
)</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
To simplify setting up of an ontouch function by automating the pause
and thread assignment</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entOnTouchTargetname</strong> (entity)<br>
This is the entity to wait for the 'ontouch' action to occur.<br>
<br>
</li>
<li> <strong>strOnTouchThread</strong> (string)<br>
This is thread to execute when the object is touched.</li>
</ul>
<p> <strong>globalCommon_OnTrigger( entOnTriggerTargetname, strOnTriggerThread
) </strong> </p>
<blockquote>
<p> <strong>Purpose:</strong><br>
To simplify setting up of an ontrigger function by automating the pause
and thread assignment</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entOnTriggerTargetname</strong> (entity)<br>
This is the entity to wait for the 'ontrigger' action to occur.<br>
<br>
</li>
<li> <strong>strOnTriggerThread</strong> (string)<br>
This is thread to execute when the object is triggered.</li>
</ul>
<p> <strong>globalCommon_OnBlock( entOnBlockTargetname, strOnBlockThread
) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
To simplify setting up of an onblock function by automating the pause
and thread assignment</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entOnBlockTargetname</strong> (entity)<br>
This is the entity to wait for the 'onblock' action to occur.<br>
<br>
</li>
<li> <strong>strOnBlockThread</strong> (string)<br>
This is thread to execute when the object is blocked.</li>
</ul>
<p> <strong>globalCommon_AiDummyHide( entAiDummyToHide ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the passed in AI character, turns their AI off, hides them, and
makes them notsolid.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entAiDummyToHide</strong> (entity)<br>
This is the AI character to turn off, hide, and make notsolid.</li>
</ul>
<p> <strong>globalCommon_AiDummyShow( entAiDummyToShow )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the passed in AI character, shows them, makes them solid, and
puts them in the 'idle' animation.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entAiDummyToShow</strong> (entity)<br>
This is the AI character to show, make solid, and set the 'idle' pose
on.</li>
</ul>
<p> <strong>globalCommon_AiActor( entAiActor )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the passed in AI character, turns on their AI, makes them pushable,
shows them, and makes them solid.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entAiActor</strong> (entity)<br>
This is the AI character to effect.</li>
</ul>
<p> <strong>globalCommon_AiDummy ( entAiDummy , strAiDummyAnim )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the passed in AI character, turns off their AI, makes them not
pushable, shows them, and sets the passed in animation.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>entAiDummy</strong> (entity)<br>
This is the AI character to effect.<br>
<br>
</li>
<li> <strong>strAiDummyAnim</strong> (string)<br>
This is the animation to set the character to. If &quot;&quot; is passed,
then it won't attempt to set any animation.</li>
</ul>
<p> <strong>globalCommon_AiActorUseWeapon( currentActor, weaponToUse )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the passed in AI character and makes them use the passed in weapon.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>currentActor</strong> (entity)<br>
This is the AI character to affect.<br>
<br>
</li>
<li> <strong>weaponToUse</strong> (string)<br>
This is the weapon to make the actor use. If set to 'current', it will
use the weapon the player is using.</li>
</ul>
<p> <strong>globalCommon_SpawnScriptModel( spawnedTikiName, spawnedTargetName,
spawedOrigin, spawnedAngle )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Spawns a script model at the passed in origin, facing the passed in
angle.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>spawnedTikiName</strong> (string)<br>
This is the tiki to use.<br>
<br>
</li>
<li> <strong>spawnedTargetName</strong> (string)<br>
This is the targetname to give the script model.<br>
<br>
</li>
<li> <strong>spawedOrigin</strong> (vector)<br>
This is the origin to spawn it at.<br>
<br>
</li>
<li> <strong>spawnedAngle</strong> (float)<br>
This is the angle to face it after it's spawned.</li>
</ul>
<p> <strong>globalCommon_SpawnActor( spawnedTikiName, spawnedTargetName,
spawedOrigin, spawnedAngle )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Spawns an AI charcter at the passed in origin, facing the passed in
angle.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>spawnedTikiName</strong> (string)<br>
Tthis is the tiki to use.<br>
<br>
</li>
<li> <strong>spawnedTargetName</strong> (string)<br>
This is the targetname to give the AI character.<br>
<br>
</li>
<li> <strong>spawedOrigin</strong> (vector)<br>
This is the origin to spawn it at.<br>
<br>
</li>
<li> <strong>spawnedAngle</strong> (float)<br>
This is the angle to face it after it's spawned.</li>
</ul>
<p> <strong>globalCommon_ActorRandomNodePatrolWork( currentActor, nodePatrolWork,
animationToPlayPerNode, totalNumberOfNodes )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Used for characters who's AI will be off. Lets them constantly pick
amongst several pre- defined work nodes, walks them over to one, and
plays a passed in animation. Then loops to perform the same tasks.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>currentActor</strong> (entity)<br>
This is the AI character entity to perform this function on.<br>
<br>
</li>
<li> <strong>nodePatrolWork</strong> (string)<br>
This is the identifier for all nodes this charcater can pick from.<br>
<br>
</li>
<li> <strong>animationToPlayPerNode</strong> (string)<br>
This is the animation to play once the character reaches a node.<br>
<br>
</li>
<li> <strong>totalNumberOfNodes</strong> (float)<br>
This is the total number of nodes in the group.</li>
</ul>
<p> <strong>globalCommon_ActorRandomNodeWork( currentActor, nodePatrolWork,
animationToPlayPerNode, totalNumberOfNodes )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Used for characters who's AI will be off. Lets them pick amongst several
pre- defined work nodes, walks them over to one, and plays a passed
in animation. This function does not loop.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>currentActor</strong> (entity)<br>
This is the AI character entity to perform this function on.<br>
<br>
</li>
<li> <strong>nodePatrolWork</strong> (string)<br>
This is the identifier for all nodes this charcater can pick from.<br>
<br>
</li>
<li> <strong>animationToPlayPerNode</strong> (string)<br>
This is the animation to play once the character reaches a node.<br>
<br>
</li>
<li> <strong>totalNumberOfNodes</strong> (float)<br>
This is the total number of nodes in the group.</li>
</ul>
<p> <strong>globalCommon_ActorNodeWork( currentActor, nodePatrolWork, animationToPlayPerNode,
nodeToWorkAt )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Used for characters who's AI will be off. Takes the passed in specific
node of a defined group of work nodes, walks them over to it, and plays
a passed in animation. This function does not loop.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>currentActor</strong> (entity)<br>
This is the AI character entity to perform this function on.<br>
<br>
</li>
<li> <strong>nodePatrolWork</strong> (string)<br>
This is the identifier for all nodes this charcater can pick from.<br>
<br>
</li>
<li> <strong>animationToPlayPerNode</strong> (string)<br>
This is the animation to play once the character reaches a node.<br>
<br>
</li>
<li> <strong>nodeToWorkAt</strong> (float)<br>
This is the number of the node in the group of nodes to work at.</li>
</ul>
<p> <strong>globalCommon_SetupContextDialog( currentActor, theActorName
)</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Loads all the +use and context sensitive dialog on the passed in teammate,
provided there is dialog recorded for that teammate.</p>
</blockquote>
<ul type="square"><strong>Parms:</strong>
<li> <strong>currentActor</strong> (entity)<br>
This is the AI character entity to perform this function on.<br>
<br>
<li> <strong>theActorName</strong> (string)<br>
This is the string used to concactinate the .mp3 file names for all
the context dialog. The only possible choices are:
<ul>
<li>&quot;telsia&quot;
<li>&quot;jurot&quot;
<li>&quot;chell&quot;
<li>&quot;chang&quot;
<li>&quot;korban&quot;
</ul>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,201 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_debugUtils.scr</p>
<p class="subheader">Dependencies</p>
<p> None.</p>
<p class="subheader">Purpose</p>
<p> Debugging functions used by global scripters.</p>
<p class="subheader">How To Use</p>
<p> Refer to the function descriptions below.</p>
<p class="subheader">External Functions</p>
<p> <strong>globalDebug_CenterPrint( msg ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Prints Debug Messages to the screen (along with reasonable waits)</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>msg</strong> (string)<br>
The message to print.</li>
</ul>
<p> <strong>globalDebug_Disconnect( msg ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Prints Debug Messages to the screen ( along with reasonable waits )<br>
and then disconnects the map</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>msg</strong> (string)<br>
The message to print .
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,281 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_flyin.scr</p>
<p class="subheader">Dependencies</p>
<p> #include &quot;maps/global_scripts/global_common.scr&quot;<br>
#include &quot;maps/global_scripts/global_debugUtils.scr&quot; </p>
<p class="subheader"> Purpose</p>
<p> Implements a few different ways to have monsters fly in along a spline
path and land in a specific place. Will work with any tiki that has the
&quot;inflight&quot;, &quot;land&quot;, and in some cases &quot;crash&quot;
animations.</p>
<p>The different types are:</p>
<ol>
<li> Spawn a model, fly it in, make it land (each individual spawner/path
can be reused as much as you want)</li>
<li> Take a model from the map, fly it in, make it land (can only be used
once per monster)</li>
<li> Take a model from the map, fly it in, make it crash into the world
and show damage to the world (only one use) </li>
</ol>
<p class="subheader"> How To Use</p>
<p> For types 2 and 3, there is too much to list here. See &quot;<a href="scripting_flying.html">Creating
Flying Creatures</a>&quot;.</p>
<p> For type 1:<br>
Create a func_spawn with a good targetname, then make the spline path
you want the flying creature to follow. Connect (via Control+K) the func_spawn
to the first node of the splinepath, link the splinepath together, and
wherever it ends is where the entity will &quot;go live&quot; and start
doing its AI routines. Here are the parameters for reference:</p>
<ul type="square">
<li> <strong>spawner</strong><br>
The func_spawn that will create entities; is targeted to the first node
of the splinepath.<br>
<br>
</li>
<li> <strong>spawnModelName</strong><br>
The tiki of what to spawn.<br>
<br>
</li>
<li> <strong>spawnGroup</strong><br>
AI group to put the spawned entity in.<br>
<br>
</li>
<li> <strong>spawnMasterState</strong><br>
Masterstate to initialize the new entity with.<br>
<br>
</li>
<li> <strong>touchThread<br>
</strong>Thread to ontouch for the flying entity.<br>
<br>
</li>
<li> <strong>setTouchTriggers</strong><br>
Should the flying script_model touch triggers?</li>
</ul>
<p> Flying monsters will explode when shot by default, but you can set a
custom &quot;ontouch&quot; thread if you want. </p>
<p class="subheader">External Functions</p>
<p> <strong>globalFlyin_Setup( strMasterName, strFlyinType ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Sets up a type 2 or 3 flyin unit (refer to &quot;<a href="scripting_flying.html">Creating
Flying Creatures</a>&quot;).</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>strMasterName</strong> (string)<br>
The targetname of the creature without the $.<br>
<br>
</li>
<li> <strong>strFlyinType</strong> (string)<br>
The flyin type to setup.</li>
</ul>
<p> <strong>globalFlyin_Launch( strMasterName ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Launches a type 2 or 3 flyin creature that's been setup (refer to &quot;<a href="scripting_flying.html">Creating
Flying Creatures</a>&quot;).</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>strMasterName</strong> (string)<br>
The targetname of the creature without the $.</li>
</ul>
<p> <strong>entity globalFlyin_SpawnLaunch( spawner, spawnModelName, spawnGroup,
spawnMasterState, touchThread, setTouchTriggers );</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Launches a multi-spawn capable type 1 version of the flyin creature.</p>
<p><strong>Returns:</strong><br>
Entity. The entity that was spawned as the creature &quot;goes live&quot;</p>
</blockquote>
<ul type="square"><strong>Parms:</strong>
<li> <strong>spawner</strong> (entity)<br>
The func_spawn that will create entities; is targeted to the first node
of the splinepath.<br>
<br>
<li> <strong>spawnModelName</strong> (string)<br>
The tiki of what to spawn.<br>
<br>
<li> <strong>spawnGroup</strong> (float)<br>
AI group to put the spawned entity in.<br>
<br>
<li> <strong>spawnMasterState</strong> (string)<br>
Masterstate to initialize the new entity with.<br>
<br>
<li> <strong>touchThread</strong> (string)<br>
Thread to ontouch for the flying entity.<br>
<br>
<li> <strong>setTouchTriggers</strong> (float)<br>
Should the flying script_model touch triggers?
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,465 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_math.scr</p>
<p class="subheader">Dependencies</p>
<p> #include &quot;maps/global_scripts/global_common.scr&quot;</p>
<p class="subheader">Purpose</p>
<p> These are a general set of math functions that can be used</p>
<p class="subheader"> How To Use</p>
<p> Refer to each functions description</p>
<p class="subheader">External Functions</p>
<p> <strong>float globalMath_NormalizeAngleTo360Degrees( degrees )</strong>
</p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes any degree-angle and forces it into the range [0,360]. The new
angle value is returned.</p>
<p><strong>Returns:</strong><br>
Float. The new normalized angle results.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>degrees</strong> - (float)<br>
T he angle to normalize to the range [0,360]</li>
</ul>
<p> <strong>float globalMath_GetCircularDistanceInDegrees( degreeAngle1,
degreeAngle2 )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Returns the distance from one point on a circle to another point on
that same circle, given in degrees.</p>
<p><strong>Returns:</strong><br>
Float. The radial distance in degrees one point is from another. If
the return value is positive, the closest path is counter-clockwise,
else if it's negative, it is clockwise.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>degreeAngle1</strong> (float)<br>
The angle, in degrees, of the starting point.<br>
<br>
</li>
<li> <strong>degreeAngle2</strong> (float)<br>
The angle, in degrees, of the ending point.</li>
</ul>
<p> <strong>float globalMath_GetXYAngleForPointAboutCenter( point, center
) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the center origin of a circle, and an orbiting point on the circle,
and calculates the angle in degrees where the oribiting point is located.
0 degrees being due East.</p>
<p><strong>Returns:</strong><br>
float, the angle in degrees where the oribiting point is on the circle
relative to the passed center coordinate vector. For reference, the
4 main points are:</p>
<ul type="square">
<li> 0 - East</li>
<li> 90 - North</li>
<li> 180 - West</li>
<li> 270 - South </li>
</ul>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>point</strong> (vector)<br>
The xyz location of the oribiting point.<br>
<br>
</li>
<li> <strong>center</strong> (vector)<br>
The xyz location of the origin.</li>
</ul>
<p> <strong>vector globalMath_RotateAnglesInXYPlane( inputAngles, degrees
)</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the passed in angles facing and rotates the Y axis the desired
number<br>
of degrees.</p>
<p><strong>Returns:</strong><br>
Vector. The new angles after the Y axis rotation has been applied. </p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>inputAngles</strong> (vector)<br>
The starting angles to rotate.<br>
<br>
</li>
<li> <strong>degrees</strong> (float)<br>
The number of degrees to rotate the Y axis.</li>
</ul>
<p> <strong>vector globalMath_RotatePointInXYPlane( inputPoint, pivotPoint,
degrees )</strong></p>
<p>&nbsp; </p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the passed in point and pivots it around a passed in pivot point
in the XY plane.</p>
<p><strong>Returns:</strong><br>
vector, the new origin of the pivoted point.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>inputPoint</strong> (vector)<br>
The point to pivot,<br>
<br>
</li>
<li> <strong>pivotPoint</strong> (vector)<br>
The point to pivot around<br>
<br>
</li>
<li> <strong>degrees</strong> (float)<br>
The number of degrees to pivot the point.</li>
</ul>
<p> <strong>vector globalMath_MirrorAnglesInXYPlane( vector inputAngles,
float degrees ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the passed in angles facing and mirrors them in the XY plane.
The mirroring line is determined by the passed in degrees. The main
points are:</p>
<ul type="square">
<li>0 - East / West</li>
<li> 90 - North South</li>
<li> 180 - East / West</li>
<li> 270 - North / South </li>
</ul>
<p>Anything above 179 degrees is redundant as in the actual direction
of the line is irrelevant for this calculation.</p>
<p><strong>Returns:</strong><br>
Vector; the new mirrored angles facing.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>inputAngles</strong> (vector)<br>
The starting angles to mirror.<br>
<br>
</li>
<li> <strong>degrees</strong> (float)<br>
Determines how to place the mirroring line.</li>
</ul>
<p> <strong>vector globalMath_MirrorPointInXYPlane( inputPoint, pivotPoint,
degrees )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the passed in point and mirrors it in the XY plane. The mirroring
line is determined by the passed in degrees. The main points are:</p>
<ul type="square">
<li>0 - East / West</li>
<li> 90 - North South</li>
<li> 180 - East / West</li>
<li> 270 - North / South </li>
</ul>
<p>Anything above 179 degrees is redundant as in the actual direction
of the line is irrelevant for this calculation.</p>
<p>The pivot point is used to determine where to place the mirror in the
world. So the mirroring line will be drawn through the pivot point,
and it's relative location to the point to be mirrored will be taken
into account.</p>
<p><strong>Returns:</strong><br>
vector, the new origin of the mirrored point.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>inputPoint</strong> (vector)<br>
The point to mirror<br>
. <br>
</li>
<li> <strong>pivotPoint</strong> (vector)<br>
The point to mirror around.<br>
<br>
</li>
<li> <strong>degrees</strong> (float)<br>
Determines how to place the mirroring line.</li>
</ul>
<p> <strong>float globalMath_GetDistance( vecFrom, vecTo ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Calculates the distance in units between two given coordinates in 3
dimensions.</p>
<p><strong>Returns:</strong><br>
Float. The distance in units between the two passed in coordinate points.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>vecFrom</strong> (vector)<br>
The xyz location of the starting point.<br>
<br>
</li>
<li> <strong>vecTo</strong> (vector)<br>
The xyz location of the ending point.</li>
</ul>
<p> <strong>float globalMath_GetXYDistance( vecFrom, vecTo )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Calculates the distance in units between two given points only taking
the X and Y coordinates into account. So it's returning a straight-line
distance from a top-down (XY) only perspective (2 dimensions).</p>
<p><strong>Returns:</strong><br>
Float, the distance in units between the two passed in coordinate points.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>vecFrom</strong> (vector)<br>
The xyz location of the starting point.<br>
<br>
</li>
<li> <strong>vecTo</strong> (vector), <br>
The xyz location of the ending point.</li>
</ul>
<p> <strong>float globalMath_RampUp_GetMovementPercentage( float fltPercentageDone_Move
)</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Based on a set Sin curve, takes the passed in percentage and converts
it to a percentage based on a ramping up acceleration curve.</p>
<p><strong>Returns:</strong><br>
Float. The equivalent percentage value taking acceleration into account.
</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>fltPercentageDone_Move</strong> (float)<br>
The percentage to convert, from 0 - 1.</li>
</ul>
<p> <strong>float globalMath_RampDown_GetMovementPercentage( float fltPercentageDone_Move
)</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Based on a set Sin curve, takes the passed in percentage and converts
it to a<br>
percentage based on a ramping down acceleration curve.</p>
<p><strong>Returns:</strong><br>
Float. The equivalent percentage value taking acceleration into account.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>fltPercentageDone_Move</strong> (float)<br>
The percentage to convert, from 0 - 1.</li>
</ul>
<p> <strong>float globalMath_RampUpDown_GetMovementPercentage( float fltPercentageDone_Move
)</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Based on a set Sin curve, takes the passed in percentage and converts
it to a percentage based on a ramping up, then back down acceleration
curve.</p>
<p><strong>Returns:</strong><br>
Float. The equivalent percentage value taking acceleration into account</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>fltPercentageDone_Move</strong> (float)<br>
The percentage to convert, passed value from 0 - 1.</li>
</ul>
<p> <strong>vector globalMath_LerpGetPosition( vector vecMove, float fltPercentageDone_Distance
)</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes the passed in vector, and using that vector as the ending point
in a line going from '0 0 0', returns a percentage of that distance.</p>
<p><strong>Returns:</strong><br>
Vector. The converted value based on the passed percentage.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>vecMove</strong> (vector)<br>
The value to consider as the ending point in a line from '0 0 0' for
the conversion.</li>
<li> <strong>fltPercentageDone_Distance</strong> (float)<br>
The percentage of vecMove to return. Passed value from 0 - 1.</li>
</ul>
<p> <strong>float globalMath_LinearFalloff ( maxDistance, maxValue, _origin
, location )</strong></p>
<blockquote>
<p><strong>Purpose:</strong><br>
Provides a linear falloff from 0 to maxValue, based on the distance
of location from origin, up to a maxDistance. Once maxDistance is exceeded,
the value is clamped to maxValue.</p>
<p><strong>Returns:</strong><br>
Float. A value from 0 to maxValue, based on the distance of location
from _origin, clamped to maxValue at maxDistance and greater.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>maxDistance</strong> (float)<br>
maxDistance - Maximum distance to use for interpolation. Any distance
past maxDistance returns maxValue.</li>
<li> <strong>maxValue</strong> (float)<br>
Maximum allowed value, corresponds to being at exactly maxDistance from
the origin.</li>
<li> <strong>_origin</strong> (vector)<br>
Center of the distance test. </li>
<li> <strong>location</strong> (vector)<br>
Location of the value being tested in space. Used to calculate a distance
from _origin.</li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,194 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_playerLoadout.scr</p>
<p class="subheader">Dependencies</p>
<p> #include &quot;maps/global_scripts/global_common.scr&quot;</p>
<p class="subheader">Function</p>
<p> Loads out the player in terms of weapons, ammo, and viewmodes depending
upon if the player typed the map command, or if they're playing through
the single player game .</p>
<p class="subheader">How To Use</p>
<p> After the waitForPlayer, in the level script, call the AssignWeapons
function, passing the level's map name as a string. The key to this is
the '-' dash in the middle of the map name must be changed to an '_' underscore.
For example, 'm1l1a-borg_sphere' needs to be changed to 'm1l1a_borg_sphere'.</p>
<p class="subheader">External Functions:</p>
<p> <strong>globalLoadout_AssignWeapons( strLevelName )</strong> </p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Runs the set loadout routine for the passed in level</p>
</blockquote>
<ul type="square"><strong>Parms:</strong>
<li> <strong>strLevelName</strong> - string, pass a string into this function
that is the converted map name as mentioned above</li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,252 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_soundPan.scr</p>
<p class="subheader">Dependencies</p>
<p> None.</p>
<p class="subheader">Function</p>
<p> Randomly pick a sound from a passed in list, and then pan that sound
around as it plays.</p>
<p class="subheader"> How To Use</p>
<p> Call the Init function to initialize the system. Use the AddSound function
to input a list of sounds to choose from. YOU MUST ADD ALL THE SOUNDS
BEFORE RUNNING THE SYSTEM! If a sound is added after the system is running,
it could cause some timing issues and bork the whole thing. Then call
the start function to begin running the system, call the stop function
to hault the system.</p>
<p>There should only be ONE of these systems initialized / running per level!
Initializing / running multiple systems will cause weird and unexpected
behavior!</p>
<p class="subheader">External Functions</p>
<p> <strong>globalSoundPan_Init()</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Initializes the system so it can function</p>
<p><strong>Parms:</strong><br>
None.</p>
</blockquote>
<p> <strong>globalSoundPan_AddSound( _sound, _channel, _volume, _mindist,
_chance, _length, _offset, _pause )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Add sounds into the system. Must be done BEFORE the system is running.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>_sound</strong> (string)<br>
Path of the sound.<br>
<br>
</li>
<li> <strong>_channel</strong> (float)<br>
The channel to play the sound on, should be 5 for most cases.<br>
<br>
</li>
<li> <strong>_volume</strong> (float)<br>
0 - 1 scale of how loud it should play, 1 being the loudest.<br>
<br>
</li>
<li> <strong>_mindist</strong> (float)<br>
Distance before it starts to fall off.<br>
<br>
</li>
<li> <strong>_chance</strong> (float)<br>
0 - 1 chance of the sound playing when chosen, 1 means 'always'.<br>
<br>
</li>
<li> <strong>_length</strong> (float)<br>
Amount of time the panner should be moving (in general should match
the approx length of the sound file).<br>
<br>
</li>
<li> <strong>_offset</strong> (float)<br>
Distance for the panner to move.<br>
<br>
</li>
<li> <strong>_pause</strong> (float)<br>
Number of seconds to wait before choosing another sound.<br>
<br>
</li>
</ul>
<p> <strong>globalSoundPan_Start()</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Begins running the system</p>
<p><strong>Parms:</strong><br>
None.</p>
</blockquote>
<p> <strong>globalSoundPan_Stop() </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Stops running the system</p>
<p><strong>Parms:</strong><br>
None.</p>
</blockquote>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,247 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_spawnWave.scr</p>
<p class="subheader">Dependencies</p>
<p> #include &quot;maps/global_scripts/global_common.scr&quot;<br>
#include &quot;maps/global_scripts/global_array.scr&quot;</p>
<p class="subheader">Purpose</p>
<p> Spawns in waves of AI from a set of spawners.</p>
<p class="subheader"> How To Use</p>
<p> The full explaination of how to setup a spawning wave group is written
up under &quot;<a href="scripting_waves.html">Spawning Waves</a>&quot;.</p>
<p class="subheader">External Functions</p>
<p> <strong>globalSpawnWave_Setup( strSpawnWaveName, intNumberOfSpawners,
intNumberOfWaves, intMinPerWave, intMaxPerWave, intWaveId )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Sets up a spawn wave group to be ready for activation</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>strSpawnWaveName</strong> (string)<br>
The unique identifier for this group. All the spawners for this group
have to start with this name, followed by a number starting from 1,
and incrementing up to the last spawner in the group. <br>
<br>
</li>
<li> <strong>intNumberOfSpawners</strong> (float)<br>
The number of spawners placed in this group.<br>
<br>
</li>
<li> <strong>intNumberOfWaves</strong> (float)<br>
The number of waves to spawn for this group when it's activated.<br>
<br>
</li>
<li> <strong>intMinPerWave</strong> (float)<br>
The minimum number of AI to spawn for a wave. This is also the minimum
number that can be alive before spawning the next wave.<br>
<br>
</li>
<li> <strong>intMaxPerWave</strong> (float)<br>
The maximum number of AI that will be spawned per wave.<br>
<br>
</li>
<li> <strong>intWaveId</strong> (float)<br>
Sets this number as the group ID for all AI spawned in this group. Primarily
used for the groupdeaththread option. Make sure that each spawn wave
group has it's own unique ID. </li>
</ul>
<p> <strong>globalSpawnWave_SetupDeathThread( strSpawnWaveName, strDeathThread
) </strong> </p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Will set a group death thread for a spawn wave group. When all the waves
in this group are dead, it will fire this thread.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>strSpawnWaveName</strong> (string)<br>
The unique identifier for this group. All the spawners for this group
have to start with this name, followed by a number starting from 1,
and incrementing up to the last spawner in the group.<br>
<br>
</li>
<li> <strong>strDeathThread</strong> (string)<br>
The thread to call when all waves are dead.</li>
</ul>
<p> <strong>globalSpawnWave_Start( strSpawnWaveName ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Activate the desired wave spawn group</p>
</blockquote>
<ul type="square"><strong>Parms:</strong>
<li><strong> strSpawnWaveName</strong> (string), <br>
The unique identifier for the group to activate. All the spawners for
this group have to start with this name, followed by a number starting
from 1, and incrementing up to the last spawner in the group</li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,390 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_Transport.scr</p>
<p class="subheader">Dependencies</p>
<p> None.</p>
<p class="subheader">Purpose</p>
<p> This is a wrapper for transporting AI in various ways.</p>
<p class="subheader"> How To Use</p>
<p> Refer to each functions description.</p>
<p class="subheader">External Functions</p>
<p> <strong>entity globalTransport_In( theActor, spawnAtEntity, newTargetname,
groupid, newGroupDeathThread, effectType ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes an existing AI, relocates and orients him to the spawnAtEntity's
origin and angles, then performs the transporting beam in effects on
him.</p>
<p><strong>Returns:</strong><br>
Entity. The AI that is transported. </p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>theActor</strong> (entity)<br>
The entity to relocate and transport in.<br>
<br>
</li>
<li> <strong>spawnAtEntity</strong> (entity)<br>
Takes this entites origin and angles, and applies them to the passed
in actor.<br>
<br>
</li>
<li> <strong>newTargetname</strong> (string)<br>
This will become the actors new targetname after being transported.
Use &quot;&quot; to not have it change the targetname.<br>
<br>
</li>
<li> <strong>groupid</strong> (float)<br>
This will set the actors groupid after being transported. Use -1 to
not have it change the groupid.<br>
<br>
</li>
<li> <strong>newGroupDeathThread</strong> (string)<br>
This will set the actors groupd death thread after being transported.
Use &quot;&quot; to not have it change the group death thread.<br>
<br>
</li>
<li> <strong>effectType</strong> (string)<br>
This is the beam in effect to use. Legal values are:<br>
<br>
<ul>
<li>&quot;Federation&quot;
<li>&quot;Borg&quot;
<li>&quot;Idryll&quot;
<li>&quot;Romulan&quot;
<li>&quot;Simple&quot;</li>
</ul>
</ul>
<p> <strong>entity globalTransport_InAIOff( theActor, spawnAtEntity, newTargetname,
groupid, newGroupDeathThread, effectType )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes an existing AI, relocates and orients him to the spawnAtEntity's
origin and angles, then performs the transporting beam in effects on
him. The AI of the actor will remain off.</p>
<p><strong>Returns:</strong><br>
Entity. The AI that is transported.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>theActor</strong> (entity)<br>
The entity to relocate and transport in.<br>
<br>
</li>
<li> <strong>spawnAtEntity</strong> (entity)<br>
Takes this entites origin and angles, and applies them to the passed
in actor.<br>
<br>
</li>
<li> <strong>newTargetname</strong> (string)<br>
This will become the actors new targetname after being transported.
Use &quot;&quot; to not have it change the targetname.<br>
<br>
</li>
<li> <strong>groupid</strong> (float)<br>
This will set the actors groupid after being transported. Use -1 to
not have it change the groupid.<br>
<br>
</li>
<li> <strong>newGroupDeathThread</strong> (string)<br>
This will set the actors groupd death thread after being transported.
Use &quot;&quot; to not have it change the group death thread.<br>
<br>
</li>
<li> <strong>effectType</strong> (string)this is the beam in effect to
use. Legal values are: <br>
<br>
<ul>
<li>&quot;Federation&quot;
<li>&quot;Borg&quot;
<li>&quot;Idryll&quot;
<li>&quot;Romulan&quot;
<li>&quot;Simple&quot;
</ul>
</ul>
<p><strong>globalTransport_Out( theActor, effectType )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Takes an existing AI and transports them out. Removes the actor in the
process.</li> </ul> </p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>theActor</strong> (entity)<br>
The actor to transport out.<br>
<br>
</li>
<li> <strong>effectType</strong> (string)<br>
This is the beam out effect to use. Legal values are:<br>
<br>
<ul>
<li>&quot;Federation&quot;
<li>&quot;Borg&quot;
<li>&quot;Idryll&quot;
<li>&quot;Romulan&quot;
<li>&quot;Simple&quot;</li>
</ul>
</ul>
<p> <strong>entity globalTransport_InAndSpawn( theActorType, spawnAtEntity,
newTargetname, groupid, newGroupDeathThread, effectType )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Spawns the passed in tiki, relocates and orients him to the spawnAtEntity's
origin and angles, then performs the transporting beam in effects on
him.</p>
<p><strong>Returns:</strong><br>
Entity. The AI that is transported.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>theActorType</strong> (string)<br>
The TIKI file to spawn in and transport.<br>
<br>
</li>
<li> <strong>spawnAtEntity</strong> (entity)<br>
Takes this entity's origin and angles, and applies them to the passed
in actor.<br>
<br>
</li>
<li> <strong>newTargetname</strong> (string)<br>
This will become the actors new targetname after being transported.
Use &quot;&quot; to not have it change the targetname.<br>
<br>
</li>
<li> <strong>groupid</strong> (float)<br>
This will set the actors groupid after being transported. Use -1 to
not have it change the groupid.<br>
<br>
</li>
<li> <strong>newGroupDeathThread</strong> (string)<br>
This will set the actors groupd death thread after being transported.
Use &quot;&quot; to not have it change the group death thread.<br>
<br>
</li>
<li> <strong>effectType</strong> (string)<br>
This is the beam in effect to use. Legal values are:<br>
<br>
<ul>
<li>&quot;Federation&quot;
<li>&quot;Borg&quot;
<li>&quot;Idryll&quot;
<li>&quot;Romulan&quot;
<li>&quot;Simple&quot;</li>
</ul>
</ul>
<p> <strong>entity globalTransport_InAiOffAndSpawn( theActorType, spawnAtEntity,
newTargetname, groupid, newGroupDeathThread, effectType )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
Spawns the passed in tiki, relocates and orients him to the spawnAtEntity's
origin and angles, then performs the transporting beam in effects on
him. The AI of the actor will remain off.</p>
<p><strong>Returns:</strong><br>
Entity. The AI that is transported </p>
</blockquote>
<ul type="square"><strong>Parms:</strong>
<li><strong>theActorType</strong> (string)<br>
The TIKI file to spawn in and transport.<br>
<br>
</li>
<li> <strong>spawnAtEntity</strong> (entity)<br>
Takes this entity's origin and angles, and applies them to the passed
in actor.<br>
<br>
</li>
<li> <strong>newTargetname</strong> (string)<br>
This will become the actors new targetname after being transported.
Use &quot;&quot; to not have it change the targetname.<br>
<br>
</li>
<li> <strong>groupid</strong> (float)<br>
This will set the actors groupid after being transporterd. Use -1 to
not have it change the groupid.<br>
<br>
</li>
<li> <strong>newGroupDeathThread</strong> (string)<br>
This will set the actors groupd death thread after being transported.
Use &quot;&quot; to not have it change the group death thread.<br>
<br>
</li>
<li> <strong>effectType</strong> (string)<br>
This is the beam in effect to use. Legal values are:<br>
<br>
<ul>
<li>&quot;Federation&quot;
<li>&quot;Borg&quot;
<li>&quot;Idryll&quot;
<li>&quot;Romulan&quot;
<li>&quot;Simple&quot;</li>
</ul>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,218 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
global_tripwire.scr</p>
<p class="subheader">Dependencies</p>
<p> #include &quot;maps/global_scripts/global_common.scr&quot;</p>
<p class="subheader">Purpose</p>
<p> Creates a tripwire that moves back and forth along a path.</p>
<p class="subheader"> How To Use</p>
<p> The full explaination of how to setup a tripwire is written up in &quot;<a href="scripting_tripwires.html">Setting
Up Tripwires</a>&quot;.</p>
<p class="subheader">External Functions</p>
<p> <strong>globalTripwire_Setup( basename, thespeed ) </strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
To setup and bind together all the objects that make up a tripwire object</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>basename</strong> (string)<br>
The unique targetname indentifier used on the source object.<br>
<br>
</li>
<li> <strong>thespeed</strong> (float)<br>
The speed with which the tripwire will follow it's path.</li>
</ul>
<p> <strong>globalTripwire_Run( basename )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
If you desire the tripwire to follow a path comprised of info_notnull's,
use this function to start it going along the path.</p>
</blockquote>
<ul type="square">
<strong>Parms:</strong>
<li> <strong>basename</strong> (string)<br>
The unique targetname indentifier used on the source object.</li>
</ul>
<p> <strong>globalTripwire_Halt( basename )</strong></p>
<blockquote>
<p> <strong>Purpose:</strong><br>
If you have a tripwire that is following a path comprised of info_notnull's,
use this function to stop it moving along the path. NOTE: you still
have to handle the trigger_hurt and the beam once you stop it (either
remove them, or make them both hidden and not-solid).</p>
</blockquote>
<ul type="square"><strong>Parms:</strong>
<li> <strong>basename</strong> (string)<br>
The unique targetname indentifier used on the source object.</li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,505 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
scripting syntax</p>
<p class="subheader">General rules</p>
<ol>
<li> Execution starts in the main function (main is just a normal function).<br>
<br>
</li>
<li> A function must be declared before it is used:<br>
This means either the entire function has to be located before any calls
to it or you have to add a function declaration for it (preferably at
the top of the file). A function declaration is just the header part
with a semicolon at the end.<br>
<br>
For example: <span class="menu">set_fade_color( int color );</span><br>
<br>
</li>
<li> You need a <span class="menu">;</span> at the end of each command<br>
<br>
</li>
<li> Including other files:<br>
Format : <span class="menu">#include &#8220;filename&#8221;</span><br>
For example: <span class="menu">#include &#8220;scripts/utils.scr&#8221;</span><br>
<br>
</li>
<li> Comments:<br>
// comments out everything to the right of the // on this line only<br>
/* */ comments out everything between the /* and the */</li>
</ol>
<p class="subheader">Functions</p>
<p> All functions adhere to this general format: </p>
<blockquote>
<p class="menu"> return_type function_name( paramtype parameter1, paramtype
parameter2 )<br>
{<br>
commands;<br>
}</p>
</blockquote>
<p> For example:</p>
<blockquote>
<p class="menu"> void set_sky_color( float sky_color )<br>
{<br>
global_sky_color = sky_color;<br>
}</p>
</blockquote>
<p> The function declaration for the above example would be as follows:</p>
<blockquote>
<p class="menu"> void set_sky_color( float sky_color );</p>
</blockquote>
<p> There are two ways to call a function:</p>
<ul type="square">
<li> <b>function();</b><br>
This calls the function and stops execution of the calling function
until the called function returns.<br>
<br>
</li>
<li><b> thread function();</b><br>
This calls the function with a new thread so that the calling function/thread
can keep going.</li>
</ul>
<p> Calling format: </p>
<blockquote>
<p class="menu"> function_name( parameter1, parameter2 );</p>
</blockquote>
<p> The number of parameters is determined by the function declaration.
Functions can return values.</p>
<p> For example:</p>
<p class="menu"> color = get_sky_color(); </p>
<p class="subheader"> Entities</p>
<p> Map entities are referenced like this:</p>
<blockquote>
<p class="menu"> $entity_name.command_name( parameters );</p>
</blockquote>
<p> For example:</p>
<blockquote>
<p class="menu"> $monster1.attackplayer();</p>
</blockquote>
<p> Only use the dollar sign ($) if the referenced entity is a map entity.
If you are using a normal entity variable don&#8217;t use the dollar sign.</p>
<p> It is possible to get a variable for an entity if you know the name
of it as follows:</p>
<blockquote>
<p class="menu"> entity temp_entity;<br>
temp_entity = getentity( entity_name );</p>
</blockquote>
<p class="subheader">Basic language commands</p>
<p> <b>while</b> <br>
Loops until the while condition equals 0 or false. This is checked at
beginning of each loop.</p>
<p>Format:</p>
<blockquote>
<p class="menu"> while( condition )<br>
{<br>
commands<br>
}</p>
</blockquote>
<p> For example:</p>
<blockquote>
<p class="menu"> while( waveindex &lt;= 15 )<br>
{<br>
thread WAVE();<br>
wait( 1 );<br>
waveindex = waveindex + 1;<br>
}</p>
</blockquote>
<p> <b>do/while</b><br>
Loops until the while condition equals 0 or false. This is checked at
end of each loop.</p>
<p> Format:</p>
<blockquote>
<p class="menu"> do<br>
{<br>
commands<br>
} while ( condition );</p>
</blockquote>
<p> For example:</p>
<blockquote>
<p class="menu"> do<br>
{<br>
thread FLIP_ARCH_STEPS( &quot;archstep&quot;, stepindex, stepheight
);<br>
wait( 0.5 );<br>
stepindex = stepindex + 1;<br>
stepheight = stepheight - 25.6;<br>
} while( stepindex &lt;= 15 );</p>
</blockquote>
<p> <b>for</b> <br>
This looping construct executes until condition is false.</p>
<p> Format:</p>
<blockquote>
<p class="menu"> for( init commands ; condition ; per loop commands )<br>
{<br>
}</p>
</blockquote>
<p> The init commands are evaluated just once, usually to initialize variables.
Then the condition is evaluated - if it is false, the statement terminates,
and if it is true, the statement executes. After that, the per loop commands
are executed and the loop starts over.</p>
<p> For example:</p>
<blockquote>
<p class="menu"> for( t = 0; t &lt; endtime; t++ )<br>
{<br>
i += t;<br>
}</p>
</blockquote>
<p> <b>if/else</b> <br>
This loop executes a block of commands if the condition is true. If false
it executes the block of commands after the else (else part is optional).</p>
<p> Format:</p>
<blockquote>
<p class="menu"> if ( condition )<br>
{<br>
commands<br>
}<br>
else<br>
{<br>
}</p>
</blockquote>
<p> For Example:</p>
<blockquote>
<p class="menu"> if ( sky_color == 1 )<br>
{<br>
new_color = 2;<br>
}<br>
else<br>
{<br>
new_color = 1;<br>
}</p>
</blockquote>
<p> <b>return</b><br>
Returns from the current function/thread and optionally returns a value.</p>
<p> Format:</p>
<blockquote>
<p> <span class="menu">return;</span> or<br>
<span class="menu">return value;</span></p>
</blockquote>
<p class="subheader">scripting commands</p>
<p>Please see the <a href="/content/allclasses_g.html">Game Module Classes
reference</a> for a list of scripting commands.</p>
<p class="subheader"> Variable types available</p>
<ul type="square">
<li> <b>float</b> - a floating-point number.</li>
<li> <b>vector</b> - composed of 3 floating point numbers, written as
'x y z'.</li>
<li> <b>entity</b> - an entity that exists in the game.</li>
<li> <b>string </b>- a string, written as &quot;characters&quot;.</li>
<li> <b>void </b>- no return type.</li>
</ul>
<p class="subheader">Math operators</p>
<ul type="square">
<li> <b>+=<br>
</b> Equivalent to x = x + y; (works for strings as well)<br>
<br>
</li>
<li> <b>-=<br>
</b> Equivalent to x = x - y;<br>
<br>
</li>
<li> <b>*=</b><br>
Equivalent to x = x * y;<br>
<br>
</li>
<li> <b>/=</b><br>
Equivalent to x = x / y;<br>
<br>
</li>
<li> <b>++<br>
</b> Increments variable by one.<br>
<br>
</li>
<li> <b>--<br>
</b> Decrements variable by one.<br>
<br>
</li>
<li> <b>*<br>
</b> Multiplication.<br>
<br>
</li>
<li> <b>/</b><br>
Division.<br>
<br>
</li>
<li> <b>-</b><br>
Subtraction.<br>
<br>
</li>
<li> <b>+<br>
</b> Addition (works for strings as well).<br>
<br>
</li>
<li> <b>=<br>
</b> Sets variable equal to.<br>
<br>
</li>
</ul>
<p class="subheader">Comparison operators</p>
<ul type="square">
<li> <b>&lt;</b><br>
Tests if less than.<br>
<br>
</li>
<li> <b>&gt;</b><br>
Tests if greater than.<br>
<br>
</li>
<li> <b>&lt;=</b><br>
Tests if less than or equal.<br>
<br>
</li>
<li> <b>&gt;=</b><br>
Tests if greater than or equal.<br>
<br>
</li>
<li> <b>==</b><br>
Tests if equal.<br>
<br>
</li>
<li> <b>!=</b><br>
Test if not equal.<br>
<br>
</li>
</ul>
<p class="subheader">Logic operators</p>
<ul type="square">
<li> <b>&amp;&amp;<br>
</b> AND<br>
<br>
</li>
<li> <b>||</b><br>
OR<br>
<br>
</li>
<li> <b>!<br>
</b> Logical negation (true if argument to its right is false, false
otherwise).</li>
</ul>
<p class="subheader">Bit operators</p>
<ul type="square">
<li> <b>&amp;</b><br>
Bitwise AND a variable.<br>
<br>
</li>
<li> <b>|</b><br>
bitwise OR a variable.<br>
<br>
</li>
<li> <b>&amp;=</b><br>
equivalent to x = (x &amp; y);<br>
<br>
</li>
<li> <b>|= </b><br>
equivalent to x = (x | y);<br>
<br>
</li>
</ul>
<p class="subheader">Format operators</p>
<ul type="square">
<li> <b>;</b><br>
All statements must end in this.<br>
<br>
</li>
<li> <b>,</b><br>
Used to separate function arguments.<br>
<br>
</li>
<li> <b>(</b><br>
Opening for a function call, grouping for mathematical functions.<br>
<br>
</li>
<li> <b>)</b><br>
Closing for a function call, grouping for mathematical functions<b>.</b></li>
<li> <b>#</b><br>
Prefix for #include and #define.<br>
<br>
</li>
<li> <b>...</b><br>
<br>
</li>
<li> <b>.</b><br>
<br>
</li>
<li> <b>[</b><br>
Opening for array index<b>.<br>
<br>
</b></li>
<li> <b>]</b><br>
Closing for array index<b>.<br>
<br>
</b></li>
<li> <b>{</b><br>
Opening for a block of statements<b>.<br>
<br>
</b></li>
<li> <b>}</b><br>
Closing for a block of statements. </li>
</ul>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,299 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
setting up tripwires</p>
<p>Dependencies:</p>
<blockquote>
<p class="menu"> #include &quot;maps/global_scripts/global_common.scr&quot;</p>
</blockquote>
<p>Actual script file:</p>
<blockquote>
<p class="menu"> #include &quot;maps/global_scripts/global_tripwire.scr&quot;</p>
</blockquote>
<p>This script was created to help automate the usage of laser tripwires.
The tripwire is basically a beam emitted from a source that moves around.
If the player touches the beam, then he'll take some damage, and possibly
trigger other events based upon what the level designer needs to happen.</p>
<p class="subheader">Implementing Tripwires</p>
<p> To implement a tripwire, they need to specifically consist of the following:</p>
<ol>
<li> <strong>Source object:</strong><br>
A script_object or script_model that represents where the tripwire is
emitting from. <br>
<br>
</li>
<li> <strong>Beam object:<br>
</strong> A script_object, script_model, or FX that represents the beam
emitting from the source.<br>
<br>
</li>
<li> <strong>Hurt object:</strong><br>
A trigger_hurt around the area where the beam object will be. This is
the part that the player can walk through. Set all the damage values
accordingly for how much damage you want it to do. If you would like
the tripwire to trigger some event when the player touches the trigger_hurt,
you can use the 'thread' keyvalue to have it execute a function in your
script. Keep in mind that it will execute that function every time the
player triggers the trigger_hurt, so you'll have to account for this
in the function you execute from the trigger_hurt.<br>
<br>
</li>
<li><strong> Origin object:<br>
</strong> A script_origin that all entities in the group are bound to.
The origin must target the first node in the path (see next item). The
origin must also be in the exact same place as the first node in the
path.<br>
<br>
</li>
<li><strong> Tripwire path possibility #1:</strong><br>
A path of info_notnull entities linked CTRL+K style (target to targetname).
If you do not loop the path (meaning have the last node in the path
target the first node in the path), then the tripwires will automagically
teleport back to the first node after they hit the last.<br>
<br>
</li>
<li><strong> Tripwire path possibility #2:<br>
</strong> A splinepath that is linked CTRL-K style (target to targetname).
If you do not loop the path (meaning have the last node in the path
target the first node in the path), then the tripwire will stop when
it reaches the end of the path</li>
</ol>
<p><br>
In order for all of the objects to be properly bound together, they all
have to be targetnamed properly. First, you need to think of a unique
targetname to give the source object. So for example, let's give it a
targetname of 'wire1'. The beam object then needs to have a targetname
that begins with the unique targetname from the source object, with an
'_beam' appended onto it. So in this example, the beam object would have
a targetname of 'wire1_beam'.</p>
<p>The origin object targetname needs to follow the same convention, but
with an '_origin' appended onto the end of it. So in this example, the
origin object would have a targetname of 'wire1_origin'. The hurt object
targetname needs to follow the save convention, but with a '_hurt' appended
onto the end of it. So in this example, the hurt object would have a targetname
of 'wire1_hurt'.</p>
<p>After giving all the objects the proper targetname, then you need to
lay out a path in the editor. If you want a simplisitc path where the
objects follow a straight line from one point to the next, setup a series
of info_notnull's and link them together using the CTRL+K method in radiant.
If you want a more complex path where the object curves and accelerates
around, then setup a series of info_splinepath's and link them together
using the CTRL+K method in radiant. After creating the path, use the CTRL+K
method to link the origin object to the first node of the path.</p>
<p>In script, somewhere before you actually have the tripwire start running,
you need to call the setup function on it.</p>
<blockquote>
<p class="menu">globalTripwire_Setup( basename, thespeed );</p>
</blockquote>
<p>The 'basename' parameter is the string value of the unique targetname
you gave the source object (without the dollar sign). So with our example
from earlier, this would be &quot;wire1&quot;. The 'thespeed' parameter
is how fast you want the object to travel along the path.</p>
<p class="subheader">Starting Tripwires</p>
<p> When you're ready to get it running along it's path, there are two ways
to do this depending upon whether you wish the tripwire to follow a path
of info_notnull's, or info_splinepaths.</p>
<p><strong>For info_notnull's:</strong></p>
<p> Run this function in your script:</p>
<blockquote>
<p class="menu">globalTripwire_Run( basename );</p>
</blockquote>
<p>The 'basename' parameter is the string value of the unique targetname
you gave the source object (without the dollar sign). So with our example
from earlier, this would be &quot;wire1&quot;. You will probably want
to run this function parallel to other functions (i.e. with the 'thread'
command), because this function does not return once it's executed.</p>
<p><strong>For info_splinepath's:</strong></p>
<p> Call the follow command directly on the origin object like this:</p>
<blockquote>
<p class="menu">$wire1_origin.followPath( $targetnameOfFirstSplineNode
);</p>
</blockquote>
<p class="subheader">Stopping Tripwires</p>
<p>When you want the tripwires to stop, there are 2 ways to do this depending
upon whether you had it following a paht of info_notnull's, or info_splinepath's.</p>
<p> <strong>For info_notnull's:</strong></p>
<p> Run this function in your script:</p>
<blockquote>
<p class="menu">globalTripwire_Halt( basename );</p>
</blockquote>
<p>The 'basename' parameter is the string value of the unique targetname
you gave the source object (without the dollar sign). So with our example
from earlier, this would be &quot;wire1&quot;.</p>
<p> <strong>For info_splinepath's:</strong></p>
<p> Call the follow command directly on the origin object like this:</p>
<blockquote>
<p class="menu">$wire1_origin.endPath();</p>
</blockquote>
<p>In both of these instances, you have to handle the beam and trigger_hurt
yourself. So you'll either have to remove them, or hide and make them
notsolid.</p>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,336 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
spawning waves</p>
<p>Dependencies<br>
(order dependant, as in it has to be included before the global_spawnWave.scr):</p>
<blockquote>
<p class="menu"> #include &quot;maps/global_scripts/global_common.scr&quot;<br>
#include &quot;maps/global_scripts/global_array.scr&quot;</p>
</blockquote>
<p>Actual script file:</p>
<blockquote>
<p class="menu"> #include &quot;maps/global_scripts/global_spawnWave.scr&quot;</p>
</blockquote>
<p>The way it works is that you place a bunch of spawners where you want
a group of guys to spawn in waves (you can have as many groups of spawners
as you like per level). You then run the setup function that defines the
behavior of how the waves of guys need to spawn for a single group. The
parameters you can setup are number or waves to spawn, the minimum number
of guys in a wave, the maximum number of guys in a wave, and the group
id that all the spawned guys will have when they spawn. When you're ready
to start the spawn group, call the function referencing that group and
voila. </p>
<p>Here's the breakdown on the specifics:</p>
<p class="subheader">Placing Spawners</p>
<p> First thing you need to do is place a bunch of spawners for a group.
Think about the maximum number of guys you want to be able to spawn in
a single wave of the group, and make sure that you have at LEAST that
many spawners available. The reason for this is when a wave spawns, it
will never use the same spawner twice for that particular wave to prevent
AI from spawning on top of themselves. So if you want a maximum of 5 AI
to spawn in a wave, and you only have 4 spawners, it won't work and the
script will report an error.</p>
<p class="subheader">Naming spawners</p>
<p> You can have as many spawning groups in your level as you like, but
each group has to have a unique name identifier. So for example, let's
say I'm creating a fight in engineering on the enterprise and I want a
group to spawn there. I'll name this group 'spawnEngineeringGroup' (without
the quotes of course :). This is what I'm going to reference the group
as from here on out. So, when I name my spawners, ALL of the spawners
have to start with this reference, followed by a number.<br>
<br>
The spawners should be numbered in sequence starting with 1. So, in my
example, let's say I want a maximum of 5 guys to spawn in a wave, so I
place 10 spawners around the room to give some variety in location. The
spawners would be named:</p>
<blockquote>
<p class="menu">$spawnEngineeringGroup1<br>
$spawnEngineeringGroup2<br>
$spawnEngineeringGroup3<br>
$spawnEngineeringGroup4<br>
$spawnEngineeringGroup5<br>
$spawnEngineeringGroup6<br>
$spawnEngineeringGroup7<br>
$spawnEngineeringGroup8<br>
$spawnEngineeringGroup9<br>
$spawnEngineeringGroup10</p>
</blockquote>
<p class="subheader">Setting up the Spawners</p>
<p>This global script will NOT setup the spawners for you. You still have
to set what model you want to spawn, if you want it to play beam in effects
or whatever. So you need to setup your spawners.</p>
<p class="subheader"> Running the Setup Function</p>
<p> After you've setup your spawners, at the start of your level, you need
to run this setup function:</p>
<blockquote>
<p class="menu">globalSpawnWave_Setup( strGroupName, intNumberOfSpawners,
intNumberOfWaves, intMinPerWave, intMaxPerWave, intWaveId )</p>
</blockquote>
<p>Now here are the parameters and what they mean:</p>
<ul type="square">
<li><strong>strGroupName</strong> (string)<br>
This is the unique name identifier you gave the group. In my example
case, this would be 'spawnEngineeringGroup' (of course minus the quotes
:). You HAVE TO HAVE a group name or the script will not work at all
because it has to know which group you are referencing!<br>
<br>
</li>
<li><strong>intNumberOfSpawners</strong> (float)<br>
This is the number of spawners you placed for this group. In my example
case, this would be set to 10. This parameter has to be set to at LEAST
1.<br>
<br>
</li>
<li><strong>intNumberOfWaves</strong> (float)<br>
T his is the number of waves you want spawned for this group. Meaning,
when the number of spawned AI that are alive falls below the minimum
allowed per wave that you set (which will be discussed next), then it
will spawn in another wave of AI in the group. This parameter has to
be set to at LEAST 1.<br>
<br>
</li>
<li><strong>intMinPerWave</strong> (float)<br>
This is the minimum number of guys that will spawn in a wave. When a
wave spawns, it randomly picks a value between the set minimum number
of guys and the set maximum number of guys. That value is how many AI
will spawn that wave. So if I have a minimum number of guys set to 3,
and a maximum number of guys set to 5, then for every wave that spawns
in that group, between 3 and 5 guys will spawn.<br>
<br>
The minimum number of guys value also serves as the defining point on
when to spawn in the next wave (if there are waves left to spawn). So
in this case, if the number of spawned AI that are alive falls from
3 guys, to 2 guys, it has now fallen below the set minimum number of
guys allowed and will attempt to spawn another wave in this group. This
parameter has to be set to at LEAST 1.<br>
<br>
</li>
<li><strong>intMaxPerWave</strong> (float)<br>
This is the maximum number of guys that will spawn in a wave. You also
have to make sure that the number of spawners placed is equal to, or
greater than this value. For example, if I set a maximum number of AI
to 5, and I only have 4 spawners placed, this would cause a major problem,
and therefore the script will catch this and print an error message
to the console. This value also works in tandum with the intMinPerWave
value in determining how many AI to spawn in a wave.<br>
<br>
</li>
<li><strong>intWaveId</strong> (float)<br>
This is the group ID number that all the spawned AI will have. This
is primarily for use with the optional group death thread, but it MUST
be set regardless. Make sure that each spawn wave group has it's own
unique ID.</li>
</ul>
<p class="subheader"> Setting up an Optional Group Death Thread</p>
<p> If you have a situation where when all of your spawned AI from a group
are dead, and you need a thread to be called due to this, you can set
this optional goup death thread. This will ONLY run when all the AI are
dead, meaning it has gone through ALL of the waves of AI for that group.
Here is the function you run in your level script:</p>
<blockquote>
<p class="menu">globalSpawnWave_SetupDeathThread( strGroupName, strDeathThread
)</p>
</blockquote>
<p>You MUST run this after the setup function has been fully run else it
won't set the death thread properly. Here are the parameters for this
function:</p>
<ul type="square">
<li><strong>strGroupName</strong> (string)<br>
This is the unique name identifier you gave the group. In my example
case, this would be 'spawnEngineeringGroup' (of course minus the quotes
:). You HAVE TO HAVE a group name or the script will not work at all
because it has to know which group you are referencing!<br>
<br>
</li>
<li><strong>strDeathThread</strong> (string)<br>
This is the thread to call when all the spawned AI in the group are
dead</li>
</ul>
<p class="subheader"> Calling the Start function</p>
<p> When it's time to activate this group and get them spawning, call this
function:</p>
<blockquote>
<p class="menu">globalSpawnWave_Start( strGroupName )</p>
</blockquote>
<p>Here are the parameters for this function:</p>
<ul type="square">
<li><strong>strGroupName</strong> (string)<br>
This is the unique name identifier you gave the group. In my example
case, this would be 'spawnEngineeringGroup' (of course minus the quotes
:). You HAVE TO HAVE a group name or the script will not work at all
because it has to know which group you are referencing!!</li>
</ul>
<p><br>
That's it, the rest works on it's own. You do not have to worry about
AI being on top of spawners and spawning ontop of each other, that is
taken care of by the script and the func spawn.</p>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

View File

@ -0,0 +1,70 @@
body {
background: #F6F6F4;
margin-top: 0;
margin-left: 0;
margin-right: 0;
scrollbar-face-color: #f2f2f0;
scrollbar-highlight-color: #808080;
scrollbar-shadow-color: #e2e2e0;
scrollbar-3dlight-color: #c2c2c0;
scrollbar-darkshadow-color: #a2a2a0;
scrollbar-track-color: #d2d2d0;
scrollbar-arrow-color: #808080;
}
td {
font-size: 12px;
font-family: Verdana,Arial,Helvetica,sans-serif;
color: #666666;
line-height: 20px;
}
.menu, pre {
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: 10px;
font-weight: bold;
}
.header {
font-family: verdana, arial, helvetica, sans-serif;
text-transform: lowercase;
letter-spacing: 1pt;
font-size: 16px;
font-weight: bold;
}
.subheader, h2 {
font-family: verdana, arial, helvetica, sans-serif;
text-transform: uppercase;
letter-spacing: 1pt;
font-size: 12px;
font-weight: bold;
line-height: 30px;
}
.legal {
font-size: 10px;
color: #808080;
line-height: 14px;
}
a {
text-decoration:underline;
color: #828282;
}
a:vlink{
color: #808080;
}
a:hover{
color: #808080;
}
.menutitle{
cursor:pointer;
color: #828282;
}
.submenu{
margin-bottom: 0.5em;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

319
Documentation/start.html Normal file
View File

@ -0,0 +1,319 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="content/style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="content/other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="images/vert_line.jpg"><img src="images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
&Uuml;bertools gdk documentation</p>
<p class="subheader">introduction</p>
<p>Thanks for downloading the &Uuml;berTools Game Development Kit!</p>
<p>Ritual's &Uuml;berTools for Quake III v4.0 offer a lot of potential for
creating user made content. Whether you&#8217;re looking to create a total
conversion, a player model, or a level, the &Uuml;berTools provide you
with lots of power and flexibility. There are so many features to cover
that we just could not document them all, but we&#8217;ve tried to cover
the major areas, and then provide you with ways on where to look to find
some additional help. So sit back, relax, and welcome to the wonderfully
magical world of the UberTools.. *insert wonderfully magical world music
cue here*</p>
<p>As with most GDKs, the &Uuml;berTools are released as-is and are not
an officially supported product by Ritual Entertainment or Activision.</p>
<p>This documentation consists of four major sections:</p>
<table width="100%" border="0" cellspacing="4" cellpadding="0">
<tr>
<td width="28%" valign="top"><b>Level Design</b></td>
<td valign="top">-</td>
<td>Contains setup instructions and tutorials for &Uuml;berRadiant,
the latest generation of Ritual's in-house map editor.</td>
</tr>
<tr>
<td valign="top"><b>Scripting</b></td>
<td valign="top">-</td>
<td>Contains tutorials and reference material for Ritual's scripting
language. </td>
</tr>
<tr>
<td valign="top"><b>Older Documentation</b></td>
<td valign="top">-</td>
<td>This section features documents that were originally written for
Heavy Metal FAKK2, but which may still apply to newer generations
of the &Uuml;berTools.</td>
</tr>
<tr>
<td valign="top"><b>Other</b></td>
<td valign="top">-</td>
<td>Contains web links and GDK credits.</td>
</tr>
</table>
<p>In addition to the documentation and the utilities listed below, we've
included two single player levels, a multiplayer map and one of the character
models from the game. Examining those files should answer most of your
questions not discussed in the documentation. </p>
<p class="subheader"><a name="2"></a>Utilities</p>
<p>The following is a list of tools and utilities included with the &Uuml;berTools
GDK. Some of these utilities are DOS-based and need to be executed from
a command prompt. </p>
<table width="100%" border="0" cellspacing="4" cellpadding="0">
<tr>
<td valign="top" class="menu">\bspc.exe</td>
<td valign="top">-</td>
<td>Used to generate an .aas file for a multiplayer map. This enables
bot support.</td>
</tr>
<tr>
<td valign="top" class="menu">\ubermap.exe</td>
<td valign="top">-</td>
<td>Compiles a .map source file into a .bsp file that can be loaded
by the game engine (<a href="content/radiant_firstroom.html#6">more</a>).</td>
</tr>
<tr>
<td valign="top" class="menu">\radiant.exe</td>
<td valign="top">-</td>
<td>Map editor, used to create a .map level file.</td>
</tr>
<tr>
<td valign="top" class="menu">\UBER Tools EULA.doc</td>
<td valign="top">-</td>
<td>The GDK license agreement. Read this carefully to find out what
you can and cannot legally do.</td>
</tr>
<tr>
<td valign="top" class="menu">\Documentation\start.html</td>
<td valign="top">-</td>
<td>What you're reading right now.</td>
</tr>
<tr>
<td valign="top" class="menu">\Utilities\dlgedit2.exe</td>
<td valign="top">-</td>
<td>Used to created graphical user interfaces that can be used by the
game engine (<a href="content/fakk2_gui.html">more</a>).</td>
</tr>
<tr>
<td valign="top" class="menu">\Utilities\fontgen.exe</td>
<td valign="top">-</td>
<td>Used to generate .ritualfont fonts that can be used by the game
engine. </td>
</tr>
<tr>
<td valign="top" class="menu">\Utilities\LODTweak.exe</td>
<td valign="top">-</td>
<td>Used to edit level-of-detail distances in .tik files.</td>
</tr>
<tr>
<td valign="top" class="menu">\Utilities\Lipsync\lipsync.exe</td>
<td valign="top">-</td>
<td>Used to generate lipsyncing files for characters.</td>
</tr>
<tr>
<td valign="top" class="menu">\Utilities\Lipsync\mss32.dll</td>
<td valign="top">-</td>
<td>Sound driver required for lipsync.exe</td>
</tr>
<tr>
<td valign="top" class="menu">\Utilities\MAXUtilities\max2skl.exe</td>
<td valign="top">-</td>
<td>Converts a 3DS MAX file to a skeleton-based model that can be loaded
by the game engine (<a href="content/fakk2_max2skl.html">more</a>).</td>
</tr>
<tr>
<td valign="top" class="menu">\Utilities\MAXUtilities\max2tan.exe</td>
<td valign="top">-</td>
<td>Converts a 3DS MAX file to a triangle-based model that can be loaded
by the game engine (<a href="content/fakk2_max2skl.html">more</a>).</td>
</tr>
<tr>
<td valign="top" class="menu">\Utilities\MAX4Plugins\</td>
<td valign="top">-</td>
<td>Contains plugins for MAX4/MAX5 that allow the loading and export
of .tik models. Put all of these files into your 3DS MAX plugins directory.</td>
</tr>
</table>
<p class="subheader"><a name="3"></a>Source Files</p>
<table width="100%" border="0" cellspacing="4" cellpadding="0">
<tr>
<td class="menu">\base\maps\dm_ctf_station.map<br>
\base\maps\m4l1a-attrexian_station.map<br>
\base\maps\m10l1-romulan_installation.map</td>
<td valign="top">-</td>
<td valign="top">Map source files.</td>
</tr>
<tr>
<td class="menu">\base\models\merc-female\body.tga<br>
\base\models\merc-female\face-green-dark.tga<br>
\base\models\merc-female\head.tga </td>
<td valign="top">-</td>
<td valign="top">Skin source files</td>
</tr>
<tr>
<td class="menu">\base\models\merc-female\merc-female.max</td>
<td valign="top">-</td>
<td valign="top">3DS MAX model source file</td>
</tr>
</table>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>

BIN
Radiant.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
RadiantDoc.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
RadiantUtilities.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
UBER Tools EULA.doc Normal file

Binary file not shown.

BIN
Utilities/LODTweak.exe Executable file

Binary file not shown.

BIN
Utilities/Lipsync/Mss32.dll Normal file

Binary file not shown.

BIN
Utilities/Lipsync/lipsync.exe Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Utilities/dlgedit2.exe Executable file

Binary file not shown.

BIN
Utilities/fontgen.exe Executable file

Binary file not shown.

121490
base/maps/dm_ctf_station.map Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

BIN
bspc.exe Executable file

Binary file not shown.

104
games.ini Normal file
View File

@ -0,0 +1,104 @@
[Global]
CurrentGame=0
TotalGames=3
[Game0]
Name=Elite Force 2
GameType=EF2
Extensions=tga;dds;tik;shader;tan;ska;skb;skm;cpp;
autosave=maps/autosave.map
basepath=C:\Program Files\Activision\EF2\base
entitypath=code
mapspath=maps
modelpath=models
shaderpath=shaders
texturepath=textures
NumBuildCommands=6
BuildCommand0_Description=Normal compile (BSP,VIS,LIGHT)
BuildCommand0_NumSubcommands=4
BuildCommand0_Subcommand0=$q + $ubermap +$q $q + $mapname + $q
BuildCommand0_Subcommand1=$q + $ubermap + $q -vis $q + $mapname + $q
BuildCommand0_Subcommand2=$q + $ubermap + $q -light $q + $mapname + $q
BuildCommand0_Subcommand3=pause
BuildCommand1_Description=Full Compile (BSP,VIS,LIGHT -extra)
BuildCommand1_NumSubcommands=4
BuildCommand1_Subcommand0=$q + $ubermap +$q $q + $mapname + $q
BuildCommand1_Subcommand1=$q + $ubermap +$q -vis $q + $mapname + $q
BuildCommand1_Subcommand2=$q + $ubermap +$q -light -extra $q + $mapname + $q
BuildCommand1_Subcommand3=pause
BuildCommand2_Description=Quick Compile (BSP-only)
BuildCommand2_NumSubcommands=2
BuildCommand2_Subcommand0=$q + $ubermap +$q $q + $mapname + $q
BuildCommand2_Subcommand1=pause
BuildCommand3_Description=Quick Compile (BSP and VIS)
BuildCommand3_NumSubcommands=3
BuildCommand3_Subcommand0=$q + $ubermap +$q $q + $mapname + $q
BuildCommand3_Subcommand1=$q + $ubermap +$q -vis $q + $mapname + $q
BuildCommand3_Subcommand2=pause
BuildCommand4_Description=Compile Bots (BSPC only, -optimize)
BuildCommand4_NumSubcommands=2
BuildCommand4_Subcommand0=$q + $bspc + $q -optimize -bsp2aas $q + $bspname + $q
BuildCommand4_Subcommand1=pause
BuildCommand5_Description=Full Compile with bots (BSP,VIS,LIGHT -extra,BSPC -optimize)
BuildCommand5_NumSubcommands=5
BuildCommand5_Subcommand0=$q + $ubermap +$q $q + $mapname + $q
BuildCommand5_Subcommand1=$q + $ubermap +$q -vis $q + $mapname + $q
BuildCommand5_Subcommand2=$q + $ubermap +$q -light -extra $q + $mapname + $q
BuildCommand5_Subcommand3=$q + $bspc + $q -optimize -bsp2aas $q + $bspname + $q
BuildCommand5_Subcommand4=pause
NumDefines=6
Define0=$bspc = $radiantpath +\bspc.exe
Define1=$enginepath = c:\program files\activision\ef2
Define2=$exampledefine1 = use this to define commonly-used variables
Define3=$exampledefine2 = $mapname and $bspname are defined for you on the fly
Define4=$q = "
Define5=$ubermap = $radiantpath +\ubermap.exe
[Game1]
Name=Quake 3: Arena
GameType=Quake3
Extensions=tga;jpg;shader;md3;
autosave=maps/autosave.map
basepath=c:\program files\quake III arena\baseq3
entitypath=scripts
mapspath=maps
modelpath=models
shaderpath=scripts
texturepath=textures
NumBuildCommands=1
BuildCommand0_Description=Example - Final Q3Map2 compile (BSP -meta,VIS,LIGHT -fast -super 2 -filter -bounce 8)
BuildCommand0_NumSubcommands=4
BuildCommand0_Subcommand0=$q + $q3map +$q -v -fs_basepath $q + $enginepath + $q $q + $mapname + $q
BuildCommand0_Subcommand1=$q + $q3map + $q -v -vis -saveprt -fs_basepath $q + $enginepath + $q $q + $mapname + $q
BuildCommand0_Subcommand2=$q + $q3map + $q -v -light -fs_basepath $q + $enginepath + $q -fast -super 2 -filter -bounce 8 $q + $mapname + $q
BuildCommand0_Subcommand3=pause
NumDefines=6
Define0=$bspc = $radiantpath +\bspc.exe
Define1=$enginepath = $q + c:\program files\quake III arena\ + $q
Define2=$exampledefine1 = use this to define commonly-used variables
Define3=$exampledefine2 = $mapname and $bspname are defined for you on the fly
Define4=$q = "
Define5=$q3map = $radiantpath +\q3map2.exe
[Game2]
Name=Star Trek: Elite Force
GameType=Quake3
Extensions=tga;jpg;shader;md3;
autosave=maps/autosave.map
basepath=C:\Program Files\Raven\Star Trek Voyager Elite Force
entitypath=..\tools
mapspath=maps
modelpath=models
shaderpath=scripts
texturepath=textures
NumBuildCommands=1
BuildCommand0_Description=Example - Final Q3Map2 compile (BSP -meta,VIS,LIGHT -fast -super 2 -filter -bounce 8)
BuildCommand0_NumSubcommands=4
BuildCommand0_Subcommand0=$q + $q3map +$q -v -game ef -fs_basepath $q + $enginepath + $q $q + $mapname + $q
BuildCommand0_Subcommand1=$q + $q3map + $q -v -game ef -vis -saveprt -fs_basepath $q + $enginepath + $q $q + $mapname + $q
BuildCommand0_Subcommand2=$q + $q3map + $q -v -game ef -light -fs_basepath $q + $enginepath + $q -fast -super 2 -filter -bounce 8 $q + $mapname + $q
BuildCommand0_Subcommand3=pause
NumDefines=6
Define0=$bspc = $radiantpath +\bspc.exe
Define1=$enginepath = $q + C:\Program Files\Raven\Star Trek Voyager Elite Force + $q
Define2=$exampledefine1 = use this to define commonly-used variables
Define3=$exampledefine2 = $mapname and $bspname are defined for you on the fly
Define4=$q = "
Define5=$q3map = $radiantpath +\q3map2.exe

BIN
radiant.exe Executable file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More