3D Game Programming All In One (2004)
.pdf798Index
onDataBlocksDone() function, 216 onDrop() function, 215 onEnterTrigger event, 621 OnEscape method, 655
OnExit() function, 140 onFileChunkReceived() function, 216 onGhostAlwaysObjectReceived() function, 216 onGhostAlwaysStarted() function, 217 onLeaveTrigger event, 621
online cheating, fighting against, 209 OnMissionDownloadPhase function, 265 OnMissionEnded function, 258 OnMissionLoaded function, 179, 258 onMount method, 614
OnServerCreated function, 178, 258, 595, 620 OnServerDestroyed function, 258 onServerQueryStatus method, 650 OnStart() function, 140, 231
onStart() function, 159 onTickTrigger event, 621 OnWake method, 642
OOP (object-oriented programming), 47 Opacity controls (Paint Brush tool), 295
Open command (File menu)
Audacity tool, 546 MilkShape, 392
open files, Find in Files feature, 38 Open method, 654
Open Mission command (Mission Editor File menu), 588
OpenAL open-source audio API, 550 OpenALInitDriver() function, 706 OpenALShutdownDriver() function, 706 OpenGL, advantages/disadvantages, 10 operands, 72
Operate On Selected Joints Only command (MilkShape Animate menu), 394
operating systems, 8–11 operators
AND, 73 arithmetic, 63 decrement, 62 increment, 62 list of, 60–61
postdecrement, 62 postincrement, 62 relational, 72
option flags (MilkShape special materials),
461–462
order of evaluation, 62 orientAdvances property, 600
orientation planar mapping option, 411 orientOnVelocity property, 600 orientParticles property, 600
Other Settings option (Torque Game Engine (DTS) Exporter dialog box), 460
OuterChatFrame control, 639 overrideAdvances property, 600 Oxford Dynamics Web site, 746
P
package keyword, 736 packages, 132
packet loss, 28
Paint Brush tool (Paint Shop Pro), 294–296 Paint Material function, 537
Paint Shop Pro
Add Noise dialog box, 286 Airbrush tool, 296–297, 517 alpha channels, 288
Auto Proof button, 280
bitmap versus vector images, 288–289 Clone Brush tool, 297–298
Color dialog box, 280 Crop tool, 356 Eraser tool, 298
file types, 285–288 Fill tool, 516–517
Freehand Selection tool, 300 installing, 279
Layer palette, 291–294 Materials palette, 290–291 New Image dialog box, 279 Paint Brush tool, 294–296 Selection tool, 299
sidewalk texture example, 281–283 texture files, saving, 284–285 wooden texture example, 279–281
PanoramaScreenShot() function, 706 parameters
buddycount, 229 buddylist, 229 filterflags, 229 flags, 228 functions, 71
functions without, 70 gtype, 228
Team LRN
maxbots, 228 maxplayers, 228 mincpu, 228 minplayers, 228 mtype, 228 nothing, 229 passing, 71 ping, 228
port, 228 region, 228
parent controls, 346 ParseArgs function, 138, 230 ParticleData property, 601
ParticleEmitterData properties, 600 ParticleNodeData property, 599 particles
emitters, 604 examples of, 594 freestanding, 595
ParticleData property, 601 ParticleEmitterData properties, 600 ParticleEmitterNode properties, 599 particles property, 600
passing parameters, 71
Paste command
Edit menu, 588 File menu, 547
Paste Keyframes command (MilkShape Animate menu), 394
pathOnMissionLoadDone() function, 707 patterned textures, 362
patterns, search capabilities, 36 PDAs (Personal Digital Assistants), 8 pebbled textures, 361
percent sign (%), 54 percentage property, 532
periodVarianceMS property, 600 PermDisableMouse() function, 707 Personal Digital Assistants (PDAs), 8 perspective, skyboxes, 518
Phaser command (Audacity File menu), 549 phiReferenceVel property, 600
phiVariance property, 600 phong maps, 100 photography
color matching, 354–355 lighting, 355 postprocessing, 353–354
Index 799
PhysicalZone class, 732 pictoral skyboxes, 514 ping parameter, 228 pipe operator (|), 61 pixel shaders, 101
Planar unwrapping method, 409, 411 PlanetTribes Web site, 742
plastic textures, 362–363 platforms, 8–11
cross-platform software, disadvantages, 11 platform layer, Torque Game Engine, 23
Play button (Audacity tool), 541 play testing, 661
Play tool (Audacity toolbar), 543 playback controls (Keyframer tool), 404 PlayDemo() function, 707
Player class, 732
player event control triggers, 210–211 player skin example
clothing, 329–332 hair texture, 327–328 hands, 329
head and neck, 322–326
PlayerKeymap, 174 PlayerSpawns property, 610 PlayJournal() function, 707 PlayStation, 8
Plot Spectrum command (Audacity View menu),
547
plug-ins, MilkShape 3D, 395–396
Plug-Ins command (MilkShape Tools menu), 395 plus sign (+), 56
PNG (Portable Network Graphics), 285–288 Point Size option (Preferences dialog box), 405 PolyCount Web site, 747
polygons discussed, 94
incremental polygon construction, 415–416 port parameter, 228
Portable Network Graphics (PNG), 285–288 Portal brush (Torque Map Editor, QuArK), 510 portals, 509
PortInit function, 240 position property, 519 postdecrement operators, 62 postincrement operators, 62
postprocessing, photography, 353–354 precedence, evaluation, 56
Team LRN
800Index
Precipitation class, 732 predication strategies, 28 Prefabland Web site, 747
Preferences command (MilkShape File menu), 392 Preferences dialog box (MilkShape 3D), 404–406 presets, 159
PrevResolution() function, 707 primitive shapes, 92, 385, 415 problem decomposition, 66 problem solving techniques, 83–87 Profile class, 25
profile property, 340 ProfilerDump() function, 708 ProfilerDumpToFile() function, 708 ProfilerEnable() function, 708
ProfilerMarkerEnable() function, 708 profiles
creating and programming sound, 550–555 defined, 163
sizing properties, 164 program setup, UltraEdit-32, 32
Programmers Haven Web site, 747 programming editing tools, 751 programming editors, 31 programming languages
defined, 45
high-level languages, 47 programs. See also scripts
animation example, 115–117 arrays, 56–58
audio example, 119–121 campfire effects, 595–598
ChatBox interface, 637–639, 650–652 client modules
Canvas module, 259–260 messages module, 266–267 mission module, 261–262
missiondownload module, 263–265 ClientConnection module, 251–255
control/client/client.cs modules, 160–164 control/client/interfaces/playerinterface.gui
module, 165–168 control/client/interfaces/splashscreen.gui
module, 169 control/client/misc/presetkeys.cs module,
171–174
control/client/misc/screens.cs module, 169–171 control/client.cs module, 144–148 control/main.cs module, 159
control/player.cs module, 152–153 control/server/misc/item.cs, 197–201 control/server/players/player.cs, 180–183 control/server/server.cs, 175–178 control/server/weapons/crossbow.cs, 190–197 control/server/weapons/weapon.cs, 186–188 control/server.cs module, 149–151 debugging and problem solving techniques,
83–86
FindServer interface, 648–650 function examples, 67–69 Hello Word example, 49–51 if-else statements, 77–78 initialization, 235–240
initialization functions, 141–143 koob utility, 555–558
main.cs module, 139–140
MessageBox interface, 640–641, 653–654 missiondownload module, 247–249 missload module, 242–245
movement, 107–108 nested if statements, 79–80 rain effects, 531–532
root main modules, 134–137 rotation example, 111–113 scaling example, 113–114 servers, finding
code module, 225–229 interface module, 219–224
sound
environmental, 578–579 footstep sounds, 561–563 interface, 578–579 musical, 581–582 utterances, 563–564, 566 vehicle sounds, 573–578 weapon sounds, 566–568
storm effects, 524–528 switch statements, 81–82 water block effects, 533–534 waterfall effects, 602–604
project files, Find in Files feature, 38 Project menu (Audacity tool), 545, 548 Project Setup dialog box, 35
projects, setting up, UltraEdit-32, 32 properties
altCommand, 642 animateTexture, 601 animTexName, 601
Team LRN
Index 801
AudioDescription, 561 AudioProfile, 561 bitmap, 164
bottom, 164 buttonType, 164 center, 164 childMargin, 343 clipColumnText, 344 colors, 601
columns, 344 command, 164, 340, 634
constantAcceleration, 601 constantThumbHeight, 225, 343 datablock, 530, 599 defaultLineHeight, 343 DepthGradient, 535 description, 552 DistortGridScale, 535 DistortMag/DistortTime, 535 dragCoefficient, 601 ejectionPeriodMS, 600 ejectionVelocity, 600
Emaga4, 154
Emaga5, 184 emitter, 599 enumerate, 344
envMapIntensity, 535 envMapOverTexture, 535 envMapUnderTexture, 535 escapeCommand, 642, 655 extent, 164, 338, 652 fadeColor, 530 fitParentWidth, 344 FlowAngle/FlowRate, 535 gravityCoefficient, 601 GuiContentProfile, 163 hardImpactSound, 576 height, 164
horizSizing, 164 hScrollBar, 225, 343 inheritedValFactor, 601 isLooping, 551
left, 164
lifetimeMS, 600–601 lifetimeVarianceMS, 600–601 MaterialList, 519 maxLength, 340 maxVelocity, 532
MinAlpha/MaxAlpha, 535 minExtent, 338 minVelocity, 532 noRenderBans, 520 OffsetSpeed, 532 orientOnVelocity, 600 orientParticles, 600 overrideAdvances, 600 ParticleData, 601 ParticleEmitterData, 600 ParticleEmitterNode, 599 ParticleNodeData, 599 particles, 600
percentage, 532 periodVarianceMS, 600 phiReferenceVel, 600 phiVariance, 600 PlayerSpawns, 610 position, 519
profile, 340 relative, 164 resizeCell, 344 right, 164 rotation, 520 scale, 519 ShoreDepth, 535 ShoreTexture, 535
sinkAllKeyEvents, 345 sizes, 601
sizeX, 531 sizeY, 531 sizing, 164
softImpactSound, 576 soundButtonDown, 580 soundButtonOver, 580 spinRandomMax, 601 spinRandomMin, 601 spinSpeed, 601 surfaceOpacity, 535 SurfaceParallex, 535 surfaceTexture, 535 TessSurface/TessShore, 535 textureName, 601 thetaMax, 600
thetaMin, 600 timeMultiple, 599 times, 601
top, 164
Team LRN
802 Index
type, 551 UseDeptMask, 535 useEmitterColors, 600 useEmitterSizes, 600 useInvAlpha, 601 variable, 341, 344 velocity, 599 vertSizing, 164 visible, 339 visibleDistance, 520 volume, 551 vScrollBar, 225, 343
WheeledVehicleData, 618–619 width, 164
willFirstRespond, 225 windCoefficient, 601 windEffectPrecipitation, 521 windVelocity, 521
Property Selector option (Preferences dialog box),
405 pseudo-handler, 268
Psionic 3D Design Web site, 747 PurgeResources() function, 708 push buttons, GUI, 335
Push method, 171 puzzle games, 5–6
Q
Quake 3, 17
Quake III Arena command (MilkShape Tools menu), 395
QuArK
configuration, 500–501 installing, 500
map2dif reference, 767–768 Torque map, 501–502 Torque Map Editor
Cube brush, 505, 508 Portal brush, 510 Roadbed brush, 506 Subtraction brush, 509
Torque settings for, 503
Query method, 650 QueryLANServers parameters, 228 QueryMasterServer() function, 709 QueryStatus function, 225
Quick Mix command (Audacity Project menu), 548
Quick Record macro, UltraEdit-32, 43 Quit() function, 709
R
radio buttons, GUI, 335, 341 rain effects, 531–532
raster images, 288–289 raster layers, 291 ray-casting, 98 readability, improving, 86
Real-Time Strategy (RTS) genre, 7 Realm Wars Development Web site, 742 Record button (Audacity tool), 540–541 recording
Quick Record macro, 43
Standard macros, UltraEdit-32, 43–44 recoverDelay property, 184 recoverRunForceScale property, 184 rectangular coordinates, 95
Red Hat Linux distribution, 11 RedbookClose() function, 710 RedbookGetDeviceCount() function, 710 RedbookGetDeviceName() function, 710 RedbookGetLastError() function, 710 RedbookGetTrackCount() function, 710 RedbookGetVolume() function, 711 RedbookOpen() function, 711 RedbookPlay() function, 711 RedbookSetVolume() function, 711 RedbookStop() function, 711
Redo command (Edit menu)
Audacity tool, 547 MilkShape, 392 Mission Editor, 588
Redraw All Viewports button (MilkShape Model tab), 400
ReferenceDistance function, 564 reflective textures, 362
region parameter, 228 regression, testing, 660
Regroup button (MilkShape Groups tab), 401 regular expressions, 39
relational operators, 72 relative property, 164
Relight Scene command (Mission Editor Edit menu), 588
Remove All Keyframes command (MilkShape Animate menu), 394
Team LRN
Remove Track(s) command (Audacity Project menu), 548
RemoveField() function, 712 RemoveRecord() function, 712 RemoveTaggedString() function, 712 RemoveWork() function, 712 removing bookmarks, 42
Rename Button & Box button (MilkShape),
402–403
Rename button (MilkShape Groups tab), 401 renderFirstPerson property, 154, 184 rendering
bump mapping, 101–102 environment mapping, 102 flat shading, 99
gourand shading, 99–100 lambert shading, 99 mipmapping, 102 overview, 98
phong shading, 100 ray-casting, 98 shader programs, 101 texture mapping, 101 textured polygon, 16
repairRate property, 184 Replace dialog box, 37
requirements specification, game design, 584–585 Reset Transforms command (World menu), 590 ResetLighting() function, 712
ResetMission function, 246, 258 ResetServer function, 241 resizeCell property, 344
resource manager, Torque Game Engine, 25 RestWords() function, 713
retail games, 2 retail tools, 752–754
return character (\r), 124 return keyword, 54, 736 return statement, 71
return values, functions without, 70–71 Reverse command (Audacity File menu), 549
Reverse Vertex Order command (MilkShape Face menu), 394
rigging, character animation, 444 right-handed coordinate system, 90 right property, 164
right side view, MilkShape 3D, 382 Rigid Multifractal function, 537
Index 803
Roadbed brush (Torque Map Editor, QuArK), 506 rock textures, 276
rocks, creating, 481–482 role-playing games (RPGs), 4 roll-pitch-yaw approach, rotation, 96
root animation sequence, torque-supported, 444 root main modules, 129–130, 134–137
Rotate button (MilkShape Model tab), 399 Rotate command (UVMapper Edit menu), 408 rotation, 606
images, 304–305
program example, 111–113 roll-pitch-yaw approach, 96
rotation cylindrical mapping option, 412 rotation property, 520
rotation spherical mapping option, 413 setTransform() method, 111
rough textures, 361
RPGs (role-playing games), 4–5 Rtrim() function, 713
RTS (Real-Time Strategy) genre, 7
run animation sequence, torque-supported, 444, 452–454
runEnergyDrain property, 184 runForce property, 184 runSurfaceAngle property, 154, 184
S
sample rates (Audacity tool), 544
Save As command (MilkShape File menu), 392 Save As File command (File menu), 507
Save command (MilkShape File menu), 392
Save Mission As command (Mission Editor File menu), 588
Save Mission command (Mission Editor File menu), 588
Save Model command (File menu), 387, 407
Save Project As command (Audacity File menu),
546
Save Project command (Audacity File menu), 546
Save Texture Map command (UVMapper File menu), 407
SaveJournal() function, 713 saving
layers, 294
texture files, 284–285
Scale button (MilkShape Model tab), 399 scale property, 519
Team LRN
804Index
scale result box mapping option, 411
scale result cylindrical cap mapping option, 412 scale result cylindrical mapping option, 412 scale result planar mapping option, 411
scale result spherical mapping option, 413 Scale tool (MilkShape), 493
scales, bump mapping, 101 scaling
images, 303–304 objects, 606 overview, 96
program example, 113–114 textures and, 358–359
scene graphs, 103–104 SceneLightingComplete function, 265 SceneObject class, 732
Schedule() function, 115, 178–179, 713 schedule method, 562
scope prefixes, 48 scoring
CheckProgress method, 624 coins, 625–627
deaths, tracking, 628–629 DoScore method, 624
laps and checkpoints, 622–625
scoutroot animation sequence, torque-supported,
444
ScreenShot() function, 713 scripts. See also programs
TGE (Torque Game Engine) language overview, 123, 134
strings, 124
Torque script code fragment example, 17–19 scroll bar widgets, 336
scroll properties, 224–225 scrollbars, 342–343
SDTS (Special Data Transfer Standard), 367 seamless textures, 397
search capabilities
UltraEdit-32, 35–37 Unix-stytle syntax, 40–41
SelAssigned button (MilkShape Joints tab), 403
Select All command (Edit menu)
MilkShape, 392 Mission Editor, 588
Select button (MilkShape), 399, 401
Select By command (UVMapper Edit menu), 408 Select command (UVMapper Edit menu), 408
Select function, 537
Select Invert command (MilkShape Edit menu),
392
Select None command (Edit menu)
MilkShape, 392 Mission Editor, 588
Selection tool
Audacity toolbar, 543 Paint Shop Pro, 299
semicolon (;), 52 SendMacro() function, 206 seqmented-mesh models, 417
sequence materials, animation, 457–458 sequences, animation, 463
server control modules control/server/misc/item.cs, 197–202 control/server/players/player.cs, 180–186 control/server/server.cs, 175–180 control/server/weapons/crossbow.cs, 190–197 control/server/weapons/weapon.cs, 186–190
server modules discussed, 240–241
functions, list of, 270–272 Game module, 256–258 message module, 241–242
missiondownload module, 246–250 missionload, 242–246
server versus client design issues, 132–133 ServerMessage function, 268 serverPlay3D function, 560, 562
servers
dedicated, 230–232, 662 finding
code module, 225–229 InitializeClient function, 217–218 interface module, 218–223
hosted, 661–662 master, 217
ServerScreen class, 642 Set Empty function, 537 Set Height function, 537
Set Keyframe command (MilkShape Animate menu), 394
setActionThread method, 615 SetDefaultFov() function, 714 SetDisplayDevice() function, 714 SetEchoFileLoads() function, 714 SetField() function, 714
Team LRN
SetFov() function, 715 SetFSAA() function, 715 SetImageTrigger method, 629
SetInteriorFocusedDebug() function, 715 SetInteriorRenderMode() function, 715 setLagIcon() function, 215
SetLogMode() function, 715 SetModPaths() function, 716 SetNetPort() function, 716 SetNPatch() function, 716 SetOpenGLAnisotropy() function, 716
SetOpenGLInteriorMipReduction() function, 716 SetOpenGLMipReduction() function, 717 SetOpenGLSkyMipReduction() function, 717
SetOpenGLTextureCompressionHint() function,
717
SetRandomSeed() function, 717 SetRecord() function, 717 SetResolution() function, 718 SetScreenMode() function, 718 SetServerInfo() function, 718 SetShadowDetailLevel() function, 718
Settings command (UVMapper Edit menu), 408 setTransform() method, 111
SetVerticalSync() function, 718 SetWord() function, 719 SetZoomSpeed() function, 719 shade maps, 100
shader programs pixel shaders, 101 vertex shaders, 101
shading
flat, 99, 469 gourand, 99–100 high-contrasting, 351 lambert, 99
phong, 100 smooth, 469
Shape controls (Paint Brush tool), 295 shape primitives, character models, 415 ShapeBase class, 732
ShapeBaseData class, 734 ShapeBaseImageData function, 570 shapeFile property, 154, 184 shapes
backfaces, 95
cylinders, MilkShape 3D, 384–386 as dynamic objects, 104
Index 805
edges, 94 mesh, 94
MoveShape() function, 109, 117 polygons, 94
primitives, 92, 385
sphere model example, 94 surfaces, 94
TestShape() function, 109 topographical shape mapping, 417 Torque Game Engine, 27
shareware and freeware tools, 750–752 shift-clicking, 346, 591
ShoreDepth property, 535 ShoreTexture property, 535 shortcut keys, Audacity menus, 550
Show Keyframer command (MilkShape Window menu), 397
Show Message Window command (MilkShape Window menu), 397
Show Model command (MilkShape Tools menu),
395
Show Selection command (World menu), 590
Show Viewport Caption command (MilkShape Window menu), 397
ShowMenuScreen() function, 161
side animation sequence, torque-supported, 444 sidewalk textures, 281–283
Silence command (Audacity File menu), 547
SimCity series, 8
simple direct movement, translation, 105–106 SimpleNetObject class, 734
simulation
latency problems, 28 Torque Game Engine, 24
simulator games overview, 6
strategic simulations, 8 single-quoted strings, 124 sinkAllKeyEvents property, 345 Sinus function, 537
sites. See Web sites
sitting animation sequence, torque-supported, 445 size
of images, changing, 305 terrains, 377
Size controls (Paint Brush tool), 295 sizes property, 601
sizeX property, 531
Team LRN
806Index
sizeY property, 531 sizing properties, 164 skeletal animation
bone movement, 446 death animation, 455–457
head attachments, 447–448, 454–455 hero rigging, 451
idle animation, 451–452 look animation, 455 run animation, 452–454
sequence materials, 457–458 torso attachment, 448–450 sketches, vehicle models, 466–467
skins. See also textures character modeling, 438–443 creation process, 310–311 discussed, 20
gun creation, 494–495 player skin example
clothing, 329–332 hair texture, 327–328 hands, 329
head and neck, 322–326 soup can example, 311–315 UV unwrapping, 309–310 vehicle example, 316–321, 476
Sky class, 734
sky textures, 276–277 skyboxes
cloud layers, 521–523 discussed, 513 distorted images, 515 exploded, 514
fog, 523
images, creating, 516–518 perspective, adjusting, 518 pictoral, 514
storms
lightning, 529–531 materials, 528–529 perfect storms, 532–533 rain effects, 531–532 sound effects, 524–528
Slackware Linux distribution, 11 sliders, GUI, 335
Slowest to Fastest command (Mission Editor Camera menu), 589
smoke effects, campfire effects, 595–598
Smooth All command (MilkShape Face menu),
394
Smooth function, 537 smooth shading, 469 smooth textures, 361 Smooth Water function, 537 Smoothing function, 537
Smoothing Group Auto Smooth button (MilkShape Groups tab), 401
Smoothing Group Clear All button (MilkShape Groups tab), 401
Smoothing Group Numbers button (MilkShape Groups tab), 401
Smoothing Groups Assign button (MilkShape Groups tab), 401
Smoothing Groups Select button (MilkShape Groups tab), 401
Snap To Grid command (MilkShape Vertex menu), 393
Snap Together command (MilkShape Vertex menu), 393
Soft Focus dialog box, 314 SoftImpactSound command, 619 softImpactSound property, 576 SoftImpactSpeed command, 618 software, cross-platform, 11 solid trees, creating, 485–488 Solo tool (Audacity tool), 544 SoloPlay interface, 743–735, 743 sound. See also audio
Audacity tool
commands, shortcut keys to, 550 Edit menu, 545, 547
Effect menu, 545, 549 File menu, 545–546 installing, 540
main screen, 542–543 Play button, 541 Project menu, 545, 548 Record button, 540–541 sample rates, 544 toolbar tools, 543
Track Panel tools, 544 Track Types tool, 544 View menu, 545, 547 volume control, 541
client-only sounds, 560 datablocks and profiles, 550–555 discussed, 20
Team LRN
environmental, 578–579 footsteps, 560–563
gunshot sound-effect waveform, 21 hardImpactSound property, 576 idle engine, 576
interface, 578–579 koob utility, 555–558 musical, 580–582
OpenAL open-source audio, 550 softImpactSound property, 576 soundButtonDown property, 580 soundButtonOver property, 580 storm effects, 524–528 utterances, 563–565
vehicle sounds, 572–578 weapon sounds, 565–572 world sounds, 559
SourceForge.net Web site, 747 SpamAlert function, 242 SpamMessageTimeout method, 242 spamming, 242
spawn point system, 609 SpawnPlayer method, 151
special characters, in find function, 37 Special Data Transfer Standard (SDTS), 367 special materials (MilkShape), 460–463
Specular & Specular Slider button (MilkShape Materials tab), 402
speedDamageScale property, 184
Sphere button (MilkShape Model tab), 399 sphere model example, 94
Sphere tool (MilkShape), 481 Spherical unwrapping method, 413 spinRandomMax property, 601 spinRandomMin property, 601 spinSpeed property, 601
Split command (Audacity File menu), 547 split planar mapping option, 411
spread facets at poles cap mapping option, 412 spread facets at poles spherical mapping option,
413
spread of terrains, 366 SquealSound command, 619
Standard macro, UltraEdit-32, 43–44 standard strings, 124
StartGame function, 178 StartHeartbeat() function, 719 StartRecording() function, 719
Index 807
state handlers, 570 state machine, 565 statements
assigned, 52 compound, 52 defined, 52
if
nested if statements, 79–80 overview, 75–76
if-else, 76–79 return, 71 switch, 81–82
StaticShape class, 735
Statistics command (UVMapper Help menu), 408 Step control (Paint Brush tool), 295
stone textures, 275, 359
Stop tool (Audacity tool), 543 StopHeartbeat() function, 719 StopRecording() function, 720 StopServerQuery() function, 720 storms
lightning, 529–531 materials, 528–529
perfect storm effects, 532–533 rain effects, 531–532
sound effects, 524–528 straight lines, creating, 294 strategy games, 7–8 Strchr() function, 720 Strcmp() function, 720–721 string constant token, 737 strings
assignment operators, 59 concatenation operators, 59 defined, 59
double-quoted, 124 null, 255 single-quoted, 124 standard, 124 tagged, 60, 124
Stripchars() function, 721 StripMLControlChars() function, 721 StripTrailingSpaces() function, 721 Strlen() function, 721
Strlwr() function, 722 Strpos() function, 722 Strreplace() function, 722 Strstr() function, 722
Team LRN