C++
constructor, return values of, 203
global objects, 203–204
initialization pitfalls, 202–206
IRestorable, using, 370
troubleshooting code, 204
C-Runtime
debug heap, 446
memory managers in, 70
Cache, efficient use of, 68
Callbacks, 124–125
Camera, 284
movement of, 23–26
orientation and position, setting, 303–304
perspective of, 23
rotating, 350–351
Camera controllers
functions of, 342–351
interface classes of, 345–347
keystrokes of, 345
mouse clicks of, 345
movement controller, 330
OnKeyDown() function, 347
OnKeyUp() function, 347
Camera space vertices, translating to screen, 305–306
CameraNode, code definition of, 335
Caps Lock key, 137
Carmack, John, 22
Caveman debugging, 442–443
CChildView class, 222
CD-ROM speeds, matching with bit rates, 257
CdBackground color, 186
Change reports, creating, 467
Character code, definition of, 134
Check routines, 438–439
CheckESP() function, 438
CheckStackVars() function, 438
Chroma key, 21, 170–173. See also Color key.
Cinematic sequences, loading, 255–257
Classes, structuring, 47–48
Clean up, 201
ClearCase (Rational), 111
Client area window, 222
Client/server games, 40
Clipping panes, near and far, 305–306
Cluebook, writing, 476
Code
cards, testing against, 217
changes, commenting, 545–546
drivers, testing against, 217
hidden, 46–47
names, 546
reusing, 49
setbacks in, 542–543
sharing, 121–122
Code analyzers, 440–441
Code Complete milestone, 466–468
Code reviews, 468, 546–547
Codeword, 100–101
Cohen, J., 281
Color
indexed formats, 162
of light, 160
and lighting, 308–311
palletized formats, 162
Color channels, blending, 174–175
Color depth, 160–161
Color key, 170–173. See also Chroma key.
color of, choosing, 173
destination color keys, 170
source color keys, 170, 172
storage format, 170
COM, 4
COM objects, memory leaks of, 448
Comment() function, 78
Compatibility issues, 7
Compilation versus interpretation, 76
Compiler-related bugs, debugging, 455
Compilers: Principles, Techniques, and Tools (Aho, Sethi, Ullmand), 80
Compilers, storing text string, 60–61
Compression, 31, 260–261
lossy compression, 253–254
programming tasks associated with, 474
settings for, 256
of streaming video, 255–257
Configuration tests, 495, 503–505
Console development, 6
Constant values, tweaking, 442
Containment versus inheritance, 48
Content, 547–548
adding, 547
beta testers, employing, 548
Content Complete milestone, 468–469
Context sensitive help, 156
Context sensitivity of controls, 128
Control containers
dialog boxes, 145–148
screens, 140, 142–143.
See also Screens.
Control identifiers, 151–152
Control state, 149, 154–155
Controls, 149–151
activation of, 154
animation, 156–157
context sensitive, 128
context sensitive help for, 156
dragging, 156
focus order, 149, 152–153
hit testing, 149, 152–153
hotkeys, 155
identifiers of, 144–145, 149, 151–152
mapping to devices, 150
message sensitivity, 149–150
properties of, 155–157
sounds and, 156–157
state of, 149, 154–155
tooltips for, 156
virtual controls, 126–127
Coordinate systems, 285–287
of 2D graphics, 285–286
of 3D graphics, 286–287
draw helpers for, 440
handedness of, 287
Coordinates, 285–287
texture coordinates, 311
Copy constructor, avoiding, 46–47
CopyAlpha function, 175–182
Core dumps, 424
Cosine, 289
Count() function, 78
Counter, automatic manipulation, 54–57
CPU speed
calculating, 210–216
standards, 218
CPUs
efficiency of, 35
memory standards of, 218
Crashes
fixing, 526
tracking, 415
in Unix, 424
CreateFontIndirect method, 184
CreateVertexBuffer method, 314
Criterion Software, 357–358
Cross products, 288–289, 291–293
Crunch mode, 13–14, 458
Culling, 284
Cursor, for user feedback, 128
Cut and paste bugs, debugging, 451–452
CVS, 109–110