1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
Generic 3D Game Engine
----------------------
Game // the main loop
<Specific Game>
Video // abstract video interface
VideoDirect // any old full screen direct draw
VideoDirect3D // direct draw and direct 3d
VideoWindow // WinG or DDraw in a window
PolyRend // abstract polygon renderer
PolyRendSW // software renderer
PolyRendD3D // Direct 3D renderer
PolyRend3Dfx // Glide renderer
Screen // the whole screen, a collection of canvases
FullScreen // a single screen, full screen or in a single window
<Various Game Screens>
MultiWinScreen // multiple windows, one canvas per window
Window // rectangular region of screen, basic 2D graphics
Canvas // window with View attached
Form // a collection of controls
Control // abstract dialog widgets
Label // static text
Edit // text input
List // single or multi-select
Button // various styles and states
Slider // also a gauge
Scrollbox // a scrolling window, user must subclass?
WinEvent
Cursor // mouse pointer
View // what to draw in a canvas
CameraView // handles projection and clipping of visible polys
FormView
<Various Game Dialogs>
ImageView // displays a single bitmap
FadeView // fades the whole display in/out
MovieView // displays a movie or animation
<Various Game Views>
Camera // position and point of view
CameraClipper // view pyramid clipping for a given camera
Color // RGBA color (32-bit)
ColorIndex // index into 256 color palette (8-bit)
fix // fixed point math
Rect
Vector
Point
Plane
Poly
Matrix
// These are private to a particular camera view
// Texture, MipMap, Cache, etc.
DataLoader
Asset
Palette (and inverse palette)
Bitmap
Model (3d)
Sound
Song (RedBook / MIDI ?)
Movie
Text
Font
ColorFont
Physical // an entity in a 3d simulation that responds to physical
// forces (velocity, acceleration, drag, thrust)
Director // something that controls something else, once per frame
Universe // a collection of physical models
<Game universe>
Graphic3D // a generic image in a 3d scene
Solid3D // polygon model
Sprite3D // textured billboard, with optional animation
Blob3D // textured poly, oriented towards camera
Composite3D // a graphic composed of other graphics (?)
Light // a point light source
Scene // collection of graphics and lights
Sound // abstract sound (ambient or localized, memory or streamed)
SoundD3D // concrete sound using DirectSound(3D)
SoundCard // something that plays sounds
SoundCardD3D // concrete sound card using DirectSound(3D)
MotionController
Keyboard
Joystick
Mouse
ComboController
ControllerInfo
|