See modules Control Panel command MilkShape Window menu, 397 control/player.cs module, 151–153 control/server/misc/item.cs module, 197–202 control/server/players/player.cs module, 180–18
Trang 1client control modules
control/client/client.cs, 160–164control/client/interfaces/menuscreen.gui, 162control/client/interfaces/playerinterface.gui,165–168
control/client/interfaces/splashscreen.gui, 169control/client/misc/presetkeys.cs, 171–174control/client/misc/screens.cs, 169–171
client interfaces
ChatBox, 636–640, 650–652FindServer, 635–636, 648–650Host, 635, 647–648
MenuScreen, 632–634MessageBox, 640–642, 652–655SoloPlay, 634–635, 643
client modules
Canvas module, 259–261discussed, 258–259functions, list of, 269–270messages module, 266–268mission module, 261–262
client-only sounds, 560
client versus server design issues, 132–133
ClientCmdChatMessage function, 267 ClientCmdMissionStart function, 262 ClientConnection module, 250–256 clipColumnText property, 344 Clone Brush tool (Paint Shop Pro), 297–298 Close command (Audacity File menu), 546 Close method, 655
clothing, player skin example, 329–332 cloud layers, 521–523
code
byte code, 134common, 129control, 129, 139–140executable, 51
code module, finding servers, 225–229 CodeGuru Web site, 743
coins, scoring, 625–627 CollapseEscape() function, 677 collisions
collision mesh, vehicle models, 476Collision Mesh option (Torque Game Engine(DTS) Exporter dialog box), 459–460CollisionTol command, 618
vehicle models, 612–613
GUI control classes, 337–345GuiBitmapCtrl, 639, 729GuiButtonCtrl, 632GuiCanvas, 729GuiControl, 630, 730GuiEditCtrl, 730GuiFilterCtrl, 730GuiFrameSetCtrl, 730GuiInspector, 730GuiMessageVectorCtrl, 730GuiNoMouseCtrl, 639GuiPopUpMenuCtrl, 730GuiScrollCtrl, 224GuiSliderCtrl, 731GuiTerrPreviewCtrl, 731GuiTestListCtrl, 731GuiTextEditCtrl, 224GuiTreeViewCtrl, 732HTTPObject, 732InteriorInstance, 732Item, 732
Lightning, 732MessageVector, 732PhysicalZone, 732Player, 732Precipitation, 732Profile, 25SceneObject, 732ServerScreen, 642ShapeBase, 732ShapeBaseData, 734SimpleNetObject, 734Sky, 734
StaticShape, 735superclass, 129TCPObject, 735Terraformer, 735Trigger, 735TriggerData, 735WaterBlock, 735WorldEditor, 735
className property, 154, 184 Clear button (MilkShape Joints tab), 403 Clear Empty function, 537
ClearTextureHolds() function, 677 clicking, mouse operations, 591
Trang 2Color command (UVMapper Edit menu), 408Color dialog box (Paint Shop Pro), 280color matching, photography, 354–355colors property, 601
Colors tab (Materials palette), 291fadeColor property, 530
columns property, 344 command interface control, 340 command property, 164, 340, 634 commands
Animation menu (MilkShape), 394Audacity tool shortcut keys, 550Camera menu (Mission Editor), 589Edit menu
Audacity tool, 547Configuration, 500Duplicate, 432Duplicate Selection, 390Hide Selection, 389, 425MilkShape 3D, 392Mission Editor, 588New UV Map, 387UVMapper, 408Effect menu (Audacity tool), 549Face menu (MilkShape), 394File menu
Audacity tool, 546Import, 387Merge, 429MilkShape 3D, 392Mission Editor, 588Preferences, 404Save As File, 507Save Model, 387UVMapper, 407grep
overview, 32
in UltraEdit-32, 39–41Help menu (UVMapper), 408Project menu (Audacity tool), 548Vertex menu (MilkShape 3D), 392View menu (Audacity tool), 547WheeledVehicleData, 618–619Window menu (MilkShape), 397World menu, 590
CommandToClient() function, 207–209, 250, 677
CommandToServer() function, 206–207, 242, 250,
678
comments, defined, 50 common code, 129 compilation errors, 82–83 Compile() function, 678 Compile Quake 1 MDL command (MilkShape Tools menu), 395
compound statements, 52 compression, lossy, 285 computation, 58 concatenation, strings, 59 conditional expressions, 71–73 Configuration command (Edit menu), 500 configuring
QuArK, 500–501UltraEdit-32, 33–35
Connect() function, 212 console library, Torque Game Engine, 24 constantAcceleration property, 601 constantThumbHeight property, 225, 343 constraints, game design, 585–586 constructs, entities, 509–510 ContactTol command, 618 ContainerBoxEmpty() function, 678 ContainerFindFirst() function, 679 ContainerFindNext() function, 679 ContainerRayCast() function, 679 containers, parent controls, 346 ContainerSearchCurrDist() function, 679 ContainerSearchCurrRadiusDist() function, 680 ContainerSearchNext() function, 680
Content Editor, Torque GUI Editor, 345–346 continue keyword, 54, 735
continuous-mesh model, character models, 417 Control class, 25
control/client/client.cs module, 160–164 control/client/interfaces/menuscreen.gui module,
162
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 code, 129, 139–140
Trang 3control flow, Torque Game Engine, 23 Control Inspector, Torque GUI Editor, 346 control/main.cs module, 159
control modules See modules
Control Panel command (MilkShape Window menu), 397
control/player.cs module, 151–153 control/server/misc/item.cs module, 197–202 control/server/players/player.cs module, 180–186 control/server/server.cs module, 175–180 control/server/weapons/crossbow.cs module,
190–197
control/server/weapons/weapon.cs module,
186–190
control/server.cs module, 149–151 Control Tree, Torque GUI Editor, 346 controls, GUI
discussed, 336–337GuiButtonCtrl class, 340–341GuiCheckBoxCtrl class, 341–342GUIChunkedBitmapCtrl, 337–338GUIControl class, 339
GuiScrollCtrl class, 342–343GuiTextEditCtrl class, 344–345GuiTextListCtrl class, 343–344
Convert Old MS3D Format command (MilkShape Tools menu), 395
coordinate systems
axis, 90Cartesian coordinates, 95Computer Graphics Aerobics, 90left-handed, 90
object space, 90rectangular coordinates, 95right-handed, 90
vertices, 92world space, 91XYZ-axis system, 90–93
CreateCanvas() function, 680 createPlayer function, 610 createServer() function, 143, 240
cropping images, 355–357 cross-platform software, disadvantages, 11
CS Hand Offset option (Preferences dialog box),
405
Cube brush (Torque Map Editor, QuArK), 505 current frame number box (Keyframer tool), 404 Cut command
Audacity Edit menu, 547Mission Editor Edit menu, 588
cuts, axial extrusion, 416 cycleGame function, 656 Cyclic Redundancy Check (CRC), 246 Cylinder button (MilkShape Model tab), 399 cylinder shapes
character models, head modes, 418–419MilkShape 3D, 384–386
Cylinder tool (MilkShape), 485 Cylindrical Cap unwrapping method, 410, 412 Cylindrical unwrapping method, 409, 412
D
data blocks
defined, 108overview, 128–129sound, creating and programming, 550–555
data-manipulation tasks, 4 databases, support infrastructures, 22 datablock keyword, 735
datablock property, 530, 599 DbgSetParameters() function, 680 DeactivateDirectInput() function, 680 DeactivateKeyboard() function, 681 DeactivatePackage() function, 681
Death Match, 3
deaths
death animation, 444, 455–457tracking, scoring techniques, 628–629
Debian Linux distribution, 11 Debris class, 728
Debug() function, 681 Debug_debugbreak() function, 681 debugging
best practices, 86–87compilation errors, 82–83problem solving techniques, 83–86using trace() function, 141
Debug_testx86unixmutex() function, 681 Debug_testxunixmutex(), 681
Trang 4decimal systems, 46 declarations, forward, 48 Decompile Genesis command (MilkShape Tools menu), 395
DecreaseFSAA() function, 682 DecreaseNPatch() function, 682 decrement operators, 62 dedicated servers, 230–232, 662 default keyword, 54, 735 defaultLineHeight property, 343 DefaultMessageCallback function, 268 Delete All command (MilkShape Edit menu), 392 Delete button (MilkShape)
Groups tab, 401Materials tab, 402
Delete command (Audacity File menu), 547 Delete Keyframe command (MilkShape Animate menu), 394
Delete Selection command (MilkShape)
Edit menu, 392World menu, 590
DeleteDataBlocks() function, 682 DeleteVariables() function, 682
Delta Force, 22, 217
DEM (Digital Elevation Model), 367 Density control (Paint Brush tool), 295 density property, 154, 184
DepthGradient property, 535 description property, 552 DestroyedLevel command, 618 DestroyServer function, 179, 240 Detag() function, 682
developers, roles of, 11–12 development, gaming industry, 1–2 dialog boxes
Add Noise (Paint Shop Pro), 286Box Mapping, 409
Color (Paint Shop Pro), 280Cylindrical, 409
Cylindrical Cap Mapping, 410Find, 36–37
New Image (Paint Shop Pro), 279Planar Mapping, 409
Preferences (MilkShape 3D), 404–406Project Setup, 35
Replace, 37Soft Focus, 314Texture Coordinate Editor, 494–495
Torque Game Engine (DTS) ExporterAnimation Settings option, 460Collision Mesh option, 459–460Other Settings option, 460
Diffuse button (MilkShape Materials tab), 402 Digital Elevation Model (DEM), 367
digital images versus film, 352–353
Dimensions command (UVMapper Help menu),
408
direct messaging
CommandToClient function, 207–209CommandToServer function, 206–207discussed, 205
online cheating, fighting against, 209
direct movement, translation, 105–106 Direct3D, advantages/disadvantages, 10 directed graphs, 103
DisabledLevel command, 618 DisableMouse() function, 683 dismounting, 615–616 display options, layers, 292 distant object textures, 278 DistortGridScale property, 535 distortion, 515, 518
DistortMag/DistortTime property, 535 distributions, Linux operating systems, 11 Divide Edge command (MilkShape Vertex menu),
393
DnetSetLogging() function, 683
do keyword, 54, 735 Doctor Dobb's Journal Web site, 744 DoExitGame() function, 657 DoJump function, 175 dollar sign ($), 54 DoPitch function, 175 DoScore method, 624 double-quoted strings, 124 double-sided surface, 94 double-slash operator (//), 50 down-stream industry, 2 DoYaw function, 175 Drag command, 618 drag property, 154, 184 dragCoefficient property, 601 Drop Camera At Player command (Mission Edi- tor Camera menu), 589
Drop Player At Camera command (Mission tor Camera menu), 589
Trang 5Edi-Help feature, 45installing, 32macro commands, 43program setup, 32Project Setup dialog box, 35projects and files, setting up, 32search capabilities, 35–37UEPM (UltraEdit Project Maker), 32World Editor, 589–590
EditTSCtrl class, 728 Effect menu (Audacity tool), 545, 549 ejectionOffset property, 600 ejectionPeriodMS property, 600 ejectionVelocity property, 600 elements and arrays, 56 else keyword, 54, 735 Emaga4
navigation keys, 154properties, 154
Emaga5
key bindings, 202properties, 184
emap property, 154, 184 Emissive button (MilkShape Materials tab), 402 emitter property, 599
emitters, particles, 604 EnableMouse() function, 684 EnableWinConsole() function, 685 endGame function, 656
EndMission function, 246, 258 engine vehicle sound, 576 EngineBrake command, 618 EngineSound command, 619 EngineTorque command, 618 ENormals flag (special materials, MilkShape), 462 entities, 509–510
enumerate property, 344 Envelope tool (Audacity toolbar), 543 environment mapping, 102, 185, 461–462 environmental sound effects, 578–579 envMapIntensity property, 535 envMapOverTexture property, 535 envMapUnderTexture property, 535 Eraser tool (Paint Shop Pro), 298 Error() function, 685
errors
compilation, 82–83error function, 83
Drop Selection command (World menu), 590 DumpConsoleClasses() function, 683 DumpMemSnapshot() function, 683 DumpNetStringTable() function, 683 DumpResourceStats() function, 684 DumpTextureStats() function, 684
Dungeons & Dragons, 4
Duplicate command
Edit menu, 432File menu, 547
Duplicate Selection command (Edit menu), 390,
Edit Area check box (Mission Area Editor), 594 edit boxes, GUI, 335
Edit-Compile-Link-Run cycle, 48 Edit ID3 Tags command (Audacity Project menu),
548
Edit menu
Audacity tool, 545, 547Configuration command, 500Duplicate command, 432Duplicate Selection command, 390Hide Selection command, 389, 425MilkShape 3D, 391–392
Mission Editor, 588New UV Map command, 387UVMapper, 407–408
editors
Mission Area Editor, 593–594Mission Editor, 587–589programming features, 31Terrain Editor, 534–537, 590–592Terrain Terraform, 592
Terrain Texture Editor, 592–593text, 31
UltraEdit-32bookmark capabilities, 41configuring, 33–35discussed, 31Find in Files feature, 38grep command capabilities, 39–41
Trang 6operands, 72order of evaluation, 62regular, 39
statements, 52variables, 53
extent property, 164, 338, 652 external methods, terrains, 367 extrapolation, 28
Extrude button (MilkShape Model tab), 399
F
fabric textures, 362 Face button (MilkShape Model tab), 399 face handlers, 505
Face menu (MilkShape 3D), 393–394 Face To Front command (MilkShape Face menu),
394
Fade In command (Audacity File menu), 549 Fade Out command (Audacity File menu), 549 fadeColor property, 530
fake phone shading, 100
simulator games, 6terrains, 366
field of view (FOV), 515 File menu
Audacity tool, 545–546Import command, 387Merge command, 429MilkShape 3D, 391–392Mission Editor, 588Preferences command, 404Save As File command, 507Save Model command, 387UVMapper tool, 407
File Tree View (UltraEdit-32), 33 FileBase() function, 686 FileExt() function, 686 FileName() function, 686 FileObject class, 728 FilePath() function, 686
escapeCommand property, 642, 655 Eval method, 655
evaluation
expressions, 52for loop, 65order of, 62precedence, 56
events
list of, 24simulation of objects, 24triggers
creating, 620–621, 623kill tracking, 629–630onEnterTrigger, 621onLeaveTrigger, 621onTickTrigger, 621scoring, 622–629SetImageTrigger method, 629
Everquest, 22 examples See programs; scripts
Excavate function, 537 exclamation point (!), 73 Exec() function, 566, 685 executable code, 51 Exit command
Audacity File menu, 546MilkShape File menu, 392
ExpandEscape() function, 685 ExpandFilename() function, 552, 685 exploded skyboxes, 514
Export as WAV command (Audacity File menu),
Export Terraform Bitmap command (Mission Editor File menu), 588
Export UVs command (UVMapper File menu),
407
expressions
branching, 74–75conditional, 71–73defined, 52evaluations, 52logical, 73–74
Trang 7FPS (First-Person Shooter) games, 3, 662–663 frames, 339, 382
freedom of terrains, 366 Freehand Selection tool (Paint Shop Pro), 300 FreeMemoryDump() function, 687
freestanding particles, 595 Freeverb2 command (Audacity File menu), 549 freeware and shareware tools, 750–752 front view, MilkShape 3D, 382 full transformation, 97 function block, 51 function body, 51 function headers, 51 function keyword, 54, 735
functions See also methods
activateDirectInput(), 667activateKeyboard(), 667activatePackage(), 667Add Dirt, 537AddCardProfile(), 668addMaterialMapping(), 668addMessageCallback, 268AddOSCardProfile(), 669AddTaggedString(), 669AddToServerGuidList, 241Adjust Height, 537Adjust Selection, 537alGetString(), 669alListener3f(), 670AllowConnections, 670alxCreateSource(), 670alxGetChannelVolume(), 671alxGetListener3f(), 671alxGetListenerf(), 671alxGetListeneri(), 671alxGetSource3f(), 672alxGetSourcef(), 672alxGetSourcei(), 672alxListener(), 673alxListenerf(), 552alxlsPlaying(), 673alxPlay(), 552, 673alxSetChannelVolume(), 673alxSource3f(), 674
alxSourcef(), 674alxSourcei(), 675alxStop(), 675alxStopAll(), 675
files
listed files, Find in Files feature, 38open files, Find in Files feature, 38project files, Find in Files feature, 38setting up, UltraEdit-32, 32texture files, saving, 284–285
Fill tool (Paint Shop Pro), 516–517
film versus digital images, 352–353
Filter function, 537 Filter Textures option (Preferences dialog box),
405
filterflags parameter, 229 Find dialog box, 36–37 Find in Files feature, UltraEdit-32, 38 FindFirstFile() function, 647, 687 FindNextFile() function, 646, 648, 687 FindServer interface, 635–636, 648–650 First-Person Point-of-View (1st PPOV) games, 3,
flags parameter, 228mesh option (MilkShape special materials),462–463
option (MilkShape special materials), 461–462
flat shading, 99, 469 Flatten function, 537 flesh-tone RBG settings, 324 flipCode Web site, 744 flipping objects, 393 Float command (Audacity View menu), 547 FlowAngle/FlowRate property, 535 FlushTextureCache() function, 687 FlyingVehicle class, 729
fog effects, 523 folders, game root, 129–130 fonts, text, 306
footstep sounds, 560–563 for keyword, 54, 735 for loop, 65–66 forums, as support infrastructure, 22 forward declarations, 48
forward slash (/), 61 FOV (field of view), 515
Trang 8DeleteVariables(), 682DescreaseNPatch(), 682DestroyServer, 179, 240Detag(), 682
DisableMouse(), 683DnetSetLogging(), 683DoExitGame(), 657DoJump, 175DoPitch, 175DoYaw, 175DumpConsole(), 683DumpMemSnapshot(), 683DumpNetStringTable(), 683DumpResourceStats(), 684DumpTextureStats(), 684Echo(), 83, 684
EchoInputState(), 684EnableMouse(), 684EnableWinConsole(), 685endGame, 656
EndMission, 246, 258error, 83
Error(), 685Excavate, 537Exec(), 685ExpandEscape(), 685ExpandFilename(), 552, 685Export(), 686
fBm Fractal, 537FileBase(), 686FileExt(), 686FileName(), 686FilePath(), 686Filter, 537FindFirstFile(), 647, 687FindNextfile(), 646, 648, 687FirstWord(), 687
Flatten, 537FlushTextureCache(), 687FreeMemoryDump(), 687Fruit program example, 67–69GameConnection(), 143GetBoxCenter(), 688GetBuildString(), 688GetCompileTimeString(), 688GetControlObject Altitude(), 688GetControlObjectSpeed(), 688GetDesktopResolution(), 689
arguments, 70Backtrace(), 675BackUp, 175Bitmap, 537Blend, 537BuildTaggedString(), 676CalcExplosionCoverage(), 676Call(), 676
calling, 70, 126Cancel(), 676CancelServerQuery(), 677Canyon Fractal, 537ChatMessage, 267ChatMessageAll, 653chatPageDown, 640Clear Empty, 537ClearTextureHolds(), 677client module functions, list of, 269–270ClientCmdChatMessage, 267
ClientCmdMissionStart, 262CollapseEscape(), 677CommandToClient, 207–209, 250CommandToClient(), 677CommandToServer(), 206–207, 242, 250, 678Compile(), 678
Connect(), 212ContainerBoxEmpty(), 678ContainerFindFirst(), 679ContainerFindNext(), 679ContainerRayCast(), 679ContainerSearchCurrDist(), 679ContainerSearchCurrRadiusDist(), 680ContainerSearchNext(), 680
CreateCanvas(), 680createPlayer, 610CreateServer(), 143, 240cycleGame, 656datablocks, 108DbgSetParameters(), 680DeactivateDirectInput(), 680DeactivateKeyboard(), 681DeactivatePackage(), 681Debug(), 681
Debug_degub_debugbreak(), 681DecreaseFSAA(), 682
DefaultMessageCallback, 268defined, 26, 66
DeleteDataBlocks(), 682
Trang 9InitializeServer(), 143InputLog(), 696IsDemoRecording(), 696IsDeviceFullScreenOnly(), 697IsEventPending(), 697IsFile(), 697
IsFullScreen(), 697IsJoystickDetected(), 697IsKoreanBuild(), 698IsNameUnique, 255IsObject(), 698IsPackage(), 698IsPointInside(), 698IsWriteableFileName(), 698LaunchDedicatedServer(), 699LaunchGame(), 161
LightScene(), 265, 699LoadMission, 246, 250, 258LoadMissionStage2, 246, 250lockMouse(), 699
ltrim(), 699mAbs(), 699mAcos(), 700main(), 51makeTestTerrain(), 700mAsin(), 700
mAtan(), 700MathInit(), 701MatrixCreate(), 701MatrixCreateFromEuler(), 701MatrixMulPoint(), 701MatrixMultiply(), 702MatrixMulVector(), 702mCeil(), 702
mCos(), 702mDegToRad(), 702member, 127mFloadLength(), 703mFloor(), 703MissionStartPhase, 250mLog(), 703
MoveShape(), 109, 117mPow(), 703
mRadToDeg(), 703msg(), 704mSin(), 704mSolveCubic(), 704mSolveQuadratic(), 704
GetDisplayDeviceList(), 689GetField(), 689
GetFieldCount(), 689GetFields(), 690GetFileCount(), 690GetFileCRC(), 690getGroup, 652getHelp, 634GetJoystickAxes(), 690GetMaxFrameAllocation(), 690getMissionDisplayName, 646–647GetModPaths(), 691
GetRandom(), 691GetRandomSeed(), 691GetRealTime(), 691GetRecord(), 691GetRecordCount(), 692GetRecords(), 692GetResolution(), 692GetResolutionList(), 692GetServerCount(), 692GetSimTime(), 693GetSubStr(), 693GetTag(), 693GetTaggedString(), 693GetTerrainHeight(), 693GetVersionNumber(), 694GetVersionString(), 694GetVideoDriverInfo(), 694GetWord(), 652, 694GetWordCount(), 694GetWords(), 695GLEnableLogging(), 695GLEnableMetrics(), 695GLEnableOutline(), 695GoAhead, 175, 562–563GoLeft, 175
GoRight, 175GoToWebPage(), 695Hydraulic Erosion, 537IncreaseFSAA(), 696IncreaseNPatch(), 696InitBaseClient(), 143, 239InitBaseServer(), 143, 239InitCanvas(), 143InitContainerRadiusSearch(), 696initialControlSet(), 215
InitializeClient(), 143, 217–218, 642
Trang 10PurgeResources(), 708QueryMasterServer(), 709QueryStatus(), 225Quit(), 709RedbookClose(), 710RedbookGetDeviceCount(), 710RedbookGetDeviceName(), 710RedbookGetLastError(), 710RedbookGetTrackCount(), 710RedbookGetVolume(), 711RedbookOpen(), 711RedbookPlay(), 711RedbookSetVolume(), 711RedbookStop(), 711ReferenceDistance, 564RemoveField(), 712RemoveRecord(), 712RemoveTaggedString(), 712RemoveWord(), 712ResetLighting(), 712ResetMission, 246, 258ResetServer, 241RestWords(), 713Rigid Multifractal, 537Rtrim(), 713
SaveJournal(), 713SceneLightingComplete, 265Schedule(), 115, 178–179, 713ScreenShot(), 713
Select, 537SendMacro(), 206server modules, list of, 270–272ServerMessage, 268
serverPlay3D, 560, 562Set Empty, 537Set Height, 537SetDefaultFov(), 714SetDisplayDevice(), 714SetEchoFileLoads(), 714SetField(), 714
SetFov(), 715SetFSAA(), 715SetInteriorFocusedDebug(), 715SetInteriorRenderMode(), 715setLagIcon(), 215
SetLogMode(), 715SetModPaths(), 716SetNetPort(), 716
mSolveQuartic(), 704mSqrt(), 705mTan(), 705nameTolD(), 705nCycleExec, 656nextResolution(), 705nextToken(), 706objects, 126onChatMessage, 268onConnect(), 213onConnectionAccepted(), 213onConnectionDropped(), 214onConnectionError(), 214onConnectionRequest(), 212onConnectionTimedOut(), 214onConnectRequestRejected(), 213–214onConnectRequestTimedOut(), 213onCyclePauseEnd(), 656
onDataBlockObjectReceived(), 216, 265onDataBlocksDone(), 216
onDrop(), 215OnExit(), 140onFileChunkReceived(), 216onGhostAlwaysObjectReceived(), 216onGhostAlwaysStarted(), 217OnMissionDownloadPhase, 265OnMissionEnded, 258
OnMissionLoaded, 179, 258OnServerCreated(), 178, 258, 595, 620OnServerDestroyed, 258
OnStart(), 140, 159, 231OpenAlInitDriver, 706OpenALShutdownDriver(), 706Paint Material, 537
PanoramaScreenShot(), 706parameters, 71
ParseArgs, 138, 230pathOnMissionLoadDone(), 707PermDisableMouse(), 707PlayDemo(), 707PlayJournal(), 707PortInit, 240PrevResolution(), 707problem decomposition, 66ProfilerDump(), 708ProfilerDumpToFile(), 708ProfilerEnable(), 708ProfilerMarkerEnable(), 708
Trang 11Toggle3rdPPOVLook, 175ToggleFullScreen(), 723ToggleInputState(), 724ToggleMessageBox, 637ToggleNPatch(), 724Trace(), 141, 724Trim(), 724Turbulence, 537UpdateLightingProgress, 266Usage(), 138
utility functions, Torque Game Engine, 25ValidateMemory(), 724
VectorAdd(), 725VectorCross(), 725VectorDist(), 725VectorDot(), 725VectorLen(), 725VectorNormalize(), 726VectorOrthoBasis(), 726VectorScale(), 726VectorSub(), 726VideoSetGammaCorrection(), 260, 726Warn(), 83, 727
WeaponImage, 570without parameters, 70without return values, 70–71
game engines
block diagram, 16overview, 16–17
Game module, server-side, 256–258 game root folders, 129–130 GameBase class, 729 GameConnection class, 729 GameConnection() function, 143 GameConnection object, 211–212
initialControlSet() function, 215onConnect() function, 213onConnectionAccepted() function, 213onConnectionDropped() function, 214onConnectionError() function, 214onConnectionRequest() function, 212
SetNPatch(), 716SetOpenGLAnisotropy(), 716SetOpenGLInteriorMipReduction(), 716SetOpenGLMipReduction(), 717SetOpenGLSkyMipReduction, 717SetOpenGLTextureCompressionHint(), 717SetRandomSeed(), 717
SetRecord(), 717SetResolution(), 718SetScreenMode(), 718SetServerInfo, 718SetShadowDetailLevel(), 718SetVerticalSync(), 718SetWord(), 719SetZoomSpeed(), 719ShapeBaseImageData, 570ShowMenuScreen(), 161Sinus, 537
Smooth, 537Smooth Ridges, 537Smooth Water, 537Smoothing, 537SpamAlert, 242StartGame, 178StartHeartbeat(), 719StartRecording(), 719StopHeartbeat(), 719StopRecording(), 720StopServerQuery(), 720Strchr, 720
Strcmp(), 720–721StripChars(), 721StripMLControlChars(), 721StripTrailingSpaces(), 721Strlen(), 721
Strlwr(), 722Strpos(), 722Strreplace, 722Strstr(), 722StrToPlayerName(), 723Strupr(), 723
SwitchBitDepth(), 723TellAll(), 207
TelnetSetParameters(), 723Terrain File, 537
TestShape(), 109that return values, 71Thermal Erosion, 537
Trang 12Tribes 2, 17 Unreal II, 17 World War II Online, 22
gaps in map box mapping option, 411 gaps in map cylindrical cap mapping option, 412 gaps in map cylindrical mapping option, 412 gaps in map planar mapping option, 411 gaps in map spherical mapping option, 413 GarageGames Web site, 27, 742
genres
action games, 3adventure games, 3–4retail games, 2RTS (Real-Time Strategy), 7simulator games
overview, 6strategic simulations, 8sports games, 7
strategy games, 7–8
geometric center of objects, 90 GeoSphere button (MilkShape Model tab), 399 GetBoxCenter() function, 688
GetBuildString() function, 688 GetCompileTimeString() function, 688 GetControlObjectAltitude() function, 688 GetControlObjectSpeed() function, 688 GetDesktopResolution() function, 689 GetDisplayDeviceList() function, 689 GetField() function, 689
GetFieldCount() function, 689 GetFields() function, 690 GetFileCount() function, 690 GetFileCRC() function, 690 getGroup function, 652 getHelp function, 634 GetJoystickAxes() function, 690 GetMaxFrameAllocation() function, 690 getMissionDisplayName function, 646–647 GetModPaths() function, 691
GetRandom() function, 691 GetRandomSeed() function, 691 GetRealTime() function, 691 GetRecord() function, 691 GetRecordCount() function, 692 GetRecords() function, 692 GetResolution() function, 692 GetResolutionList() function, 692 GetServerCount() function, 692
onConnectionTimedOut() function, 214onConnectRequestRejected() function, 213–214onConnectRequestTimedOut() function, 213onDataBlockObjectReceived() function, 216onDataBlocksDone() function, 216onDrop() function, 215
onFileChunkReceived() function, 216onGhostAlwaysObjectReceived() function, 216onGhostAlwaysStarted() function, 217setLagIcon() function, 215
GameDev.net Web site, 744 Gamer's Technical Resources Web site, 745 games
1st PPOV (First-Person Point-of-View), 33rd PPOV (Third-Person Point-of-View), 3
Attach & Defend, 3 Blackhawk Down, 22 Capture the Flag, 3 Center World, 6 Chain Reaction, 6 Death Match, 3 Delta Force, 22, 217 Dungeons & Dragons, 4 Everquest, 22
Falcon 4, 6
FPS (First-Person Shooter), 3, 662–663genres
action games, 3adventure games, 3–4retail games, 2RTS (Real-Time Strategy), 7simulator games, 6sports games, 7strategy games, 7–8
Half-Life 2, 17 The Incredible Machine series, 6 King-of-the-Hill, 3
MarbleBlast, 5 Maximum Football, 7
mazes, 5–6
Myrmidon, 5
platforms, 8–11puzzles, 5–6
Quake 3, 17
RPGs (role playing games), 4–5
SimCity series, 8 ThinkTanks, 3
Trang 13gravityCoefficient property, 601 grep command
GuiScrollCtrl class, 342–343GuiTextCtrl class, 339–340GuiTextEditCtrl class, 344–345GuiTextListCtrl class, 343–344discussed, 335
overview, 19Torque GUI EditorContent Editor, 345–346Control Inspector, 347Control Tree, 346creating interfaces using, 348–349keyboard commands, 348launching, 345
Tool Bar, 347
GuiBitmapCtrl class, 639, 729 GuiButtonCtrl class, 340–341, 632 GuiCanvas class, 729
GuiCheckBoxCtrl class, 341–342 GUIChunkedBitmapCtrl class, 337–338 GuiContentProfile property, 163 GuiControl class, 639, 730 GuiDefaultProfile method, 578–579 GuiEditCtrl class, 730
GuiFilterCtrl class, 730 GuiFrameSetCtrl class, 730 GuiInspector class, 730 GuiMessageVectorCtrl class, 730 GuiNoMouseCtrl class, 639 GuiPopUpMenuCtrl class, 730 GuiScrollCtrl class, 224, 342–343 GuiSliderCtrl class, 731
GetSimTime() function, 693 GetSubStr() function, 693 GetTag() function, 693 GetTaggedString() function, 693 GetTerrainHeight() function, 693 getTransform() method, 109, 562 GetVersionNumber() function, 694 GetVersionString() function, 694 GetVideoDriverInfo() function, 694 GetWord() function, 652, 694 GetWordCount() function, 694 GetWords() function, 695 glass textures, 278 GLEnableLogging() function, 695 GLEnableMetrics() function, 695 GLEnableOutline() function, 695 global scope, 54
Gnometech Web site, 742 GNU General Public License, 754 GoAhead function, 175, 562–563 GoLeft function, 175
GoRight function, 175 GoToWebPage() function, 695 gouraud shading, 99–100 Graphical User Interface (GUI)
controlsdiscussed, 336–337GuiButtonCtrl class, 340–341GuiCheckBoxCtrl class, 341–342GUIChunkedBitmapCtrl, 337–338GUIControl class, 339
GuiScrollCtrl class, 342–343GuiTextCtrl class, 339–340GuiTextEditCtrl class, 344–345GuiTextListCtrl class, 343–344discussed, 335
overview, 19Torque GUI EditorContent Editor, 345–346Control Inspector, 347Control Tree, 346creating interfaces using, 348–349keyboard commands, 348launching, 345
Tool Bar, 347
graphs
directed, 103scene, 103–104
Trang 14hexadecimal systems, 46 hidden lines, 94 hidden surfaces, 94 Hide button (MilkShape Groups tab), 401 Hide Selection command
Edit menu, 389, 392, 425World menu, 590
high-constrasting shading, 351 high-level languages, 47 highlight maps, 100 highlighting, syntax highlighting, 31 holes, bump mapping, 101
home game consoles, 8 horizSizing property, 164 Host interface, 635, 647–648 hosted servers, 661–662 hot keys, UVMapper tool, 410 Hot keys command (UVMapper Help menu), 408 house structures, 508–511
hScrollBar property, 225, 343 HTTPObject class, 732 HUD (Heads Up Display), 19, 168 hybrids, character models, 417 Hydraulic Erosion function, 537
I
identifier token, 737 identifiers, variables, 54 iDevGames Web site, 745, 749 idle animation, skeletal animation, 451–452 idle engine sound, 576
if-else statements, 76–79
if keyword, 54, 735
if statement
nested if statements, 79–80overview, 75–76
Illum flag (special materials, MilkShape), 462 image editing tools, 751
images
bitmap versus vector, 288–289
creating masks from, 302–303cropping, 355–357
digital versus film, 352–353
rotating, 304–305scaling, 303–304sizes, changing, 305tiling, 359–360
GuiTerrPreviewCtrl class, 731 GuiTextCtrl class, 339–340 GuiTextEditCtrl class, 224, 344–345 GuiTextListCtrl class, 731
GuiTreeViewCtrl class, 732 gun creation
model building, 490–494skins, 494–495
sound effects, 565–572testing, 495–496
gunshot sound-effect wave form, 21
hands, player skin example, 329 HardImpactSound command, 619 hardImpactSound property, 576 HardImpactSpeed command, 618 Hardness control (Paint Brush tool), 295 head animation
character modeling, 418–423head and neck, player skin example, 322–326head animation sequence, torque-supported,444
head to torso model, character modeling,429–430
skeletal animation, 447–448, 454–455
header blocks, 50 Heads Up Display (HUD), 19, 168 headside animation sequence, torque-supported,
444
Health Kit model, 479–481 height-maps, terrains, 367–368 height property, 164
Hello World program example, 49–51 help
Help feature, UltraEdit-32, 45Help menu (UVMapper), 407, 409Usage() function, 138
Hense, Michael (Center World), 6
hero rigging, skeletal animation, 451
Trang 15instance of objects, 125 instantiation, 125 Integration command, 618 interface module, finding servers, 218–223 interface sound, 578–579
interfaces
ChatBox, 636–640, 650–652creating, using Torque GUI Editor, 348–349FindServer, 635–636, 648–650
Host, 635, 647–648MenuScreen, 632–634MessageBox, 640–642, 652–655SoloPlay, 634–635, 643
interior library, Torque Game Engine, 27 interior structures, 499
InteriorInstance class, 732 InteriorInstance object, 125 internal methods, terrains, 368 International Game Developers Center Web site,
745
interpolation, 28 Invert command (Audacity File menu), 549 irregular textures, 360
IsDemoRecording() function, 696 IsDeviceFullScreenOnly() function, 697 IsEventPending() function, 697 IsFile() function, 697
IsFullScreen() function, 697 IsJoystickDetected() function, 697 IsKoreanBuild() function, 698 isLooping property, 551 IsNameUnique function, 255 IsObject() function, 698 IsPackage() function, 698 IsPointInside() function, 698 IsWriteableFileName() function, 698 Item class, 732
iteration, loops, 65 iterators and loops, 56
J
JetEnergyDrain command, 619 JetForce command, 619 JetSound command, 619 joint animation, bone movement during, 445 Joint button (MilkShape Model tab), 400 Joint Photographic Experts Group (JPEG),
index of arrays, 56 infinite loops, 65 inheritedVelFactor property, 601 InitBaseClient() function, 143, 239 InitBaseServer() function, 143, 239 InitCanvas() function, 143 InitContainerRadiusSearch() function, 696 initialControlSet() function, 215
initialization
control code, 139–140for loop, 65
overview, 58program example, 141–143script for, 235–240
InitializeClient() function, 143, 217–218, 642 InitializeServer() function, 143
input model, Torque Game Engine, 24 InputLog() function, 696
insert credit Web site, 745 Insert Silence command (Audacity File menu),
547
installing
Audacity tool, 540MilkShape 3D, 381–382Paint Shop Pro, 279QuArK, 500Torque, 29UltraEdit-32, 32