Subversion Repositories Games.Carmageddon

Rev

Rev 18 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 pmbaty 1
#ifndef _GRAPHICS_H_
2
#define _GRAPHICS_H_
3
 
20 pmbaty 4
#include "brender/br_types.h"
1 pmbaty 5
#include "dr_types.h"
6
 
7
extern int gPalette_munged;
8
extern int gColourValues[1];
9
extern int gNext_transient;
10
extern int gCursor_x_offsets[8];
11
extern int gCursor_y_offsets[8];
12
extern int gCursor_gib_x_offsets[8];
13
extern int gCursor_gib_y_offsets[8];
14
extern int gCursor_giblet_sequence0[7];
15
extern int gCursor_giblet_sequence1[5];
16
extern int gCursor_giblet_sequence2[5];
17
extern int gCursor_giblet_sequence3[5];
18
extern int* gCursor_giblet_sequences[4];
19
extern char* gFont_names[21];
20
extern br_colour gRGB_colours[9];
21
extern br_matrix34 gSheer_mat;
22
extern br_matrix34 gIdentity34;
23
extern tShadow_level gShadow_level;
24
extern br_scalar gShadow_hither_z_move;
25
extern br_scalar gShadow_hither_min_move;
26
extern int gArrows[2][4][60];
27
extern float gMap_render_x;
28
extern float gMap_render_y;
29
extern float gMap_render_width;
30
extern float gMap_render_height;
31
extern int gMouse_started;
32
extern int gFaded_palette;
33
extern int gAR_fudge_headups;
34
extern br_pixelmap* gCurrent_splash;
35
extern br_pixelmap* gCurrent_conversion_table;
36
extern int gMap_colours[4];
37
extern br_vector3 gShadow_points[8];
38
extern tConcussion gConcussion;
39
extern tClip_details gShadow_clip_planes[8];
40
extern br_actor* gLollipops[100];
41
extern tWobble_spec gWobble_array[5];
42
extern tSaved_table gSaved_shade_tables[100];
43
extern tCursor_giblet gCursor_giblets[45];
44
extern tTransient_bm gTransient_bitmaps[50];
45
extern float gCosine_array[64];
46
extern br_pixelmap* gCursors[8];
47
extern br_pixelmap* gCursor_giblet_images[18];
48
extern br_pixelmap* gEval_1;
49
extern br_pixelmap* gEval_2;
50
extern br_vector3 gShadow_light_z;
51
extern br_vector3 gShadow_light_x;
52
extern int gShadow_dim_amount;
53
extern int gNumber_of_lollipops;
54
extern br_vector3 gShadow_light_ray;
55
extern int gFancy_shadow;
56
extern br_model* gShadow_model;
57
extern br_actor* gShadow_actor;
58
extern int gShadow_clip_plane_count;
59
extern br_pixelmap* gPalette_conversion_table;
60
extern br_material* gShadow_material;
61
extern int gSaved_table_count;
62
extern int gCurrent_cursor_index;
63
extern int gPalette_index;
64
extern int gCursor_transient_index;
65
extern char* gScratch_pixels;
66
extern br_pixelmap* gScratch_palette;
67
extern int gLast_palette_change;
68
extern br_pixelmap* gOrig_render_palette;
69
extern br_pixelmap* gCurrent_palette;
70
extern br_pixelmap* gRender_palette;
71
extern float gCamera_to_horiz_angle;
72
extern int gColours[9];
73
extern br_pixelmap* gFlic_palette;
74
extern tDR_font gFonts[21];
75
extern char* gCurrent_palette_pixels;
76
extern int gWidth;
77
extern int gMap_render_height_i;
78
extern int gScreen_wobble_x;
79
extern int gScreen_wobble_y;
80
extern br_scalar gCurrent_ambience;
81
extern int gY_offset;
82
extern int gMap_render_width_i;
83
extern int gMouse_in_use;
84
extern int gHeight;
85
extern int gMouse_last_y_coord;
86
extern int gMouse_last_x_coord;
87
extern br_scalar gAmbient_adjustment;
88
extern int gMap_render_x_i;
89
extern int gX_offset;
90
extern int gMap_render_y_i;
91
extern int gMirror_on__graphics; // suffix added to avoid duplicate symbol
92
extern br_scalar gYon_squared;
93
 
94
void TurnOnPaletteConversion(void);
95
 
96
void TurnOffPaletteConversion(void);
97
 
98
void ResetLollipopQueue(void);
99
 
100
int AddToLollipopQueue(br_actor* pActor, int pIndex);
101
 
102
void RenderLollipops(void);
103
 
104
void DRDrawLine(br_pixelmap* pDestn, int pX1, int pY1, int pX2, int pY2, int pColour);
105
 
106
void DrawDigitAt(br_pixelmap* gImage, int pX, int pY, int pY_pitch, int pValue);
107
 
108
void DrawNumberAt(br_pixelmap* gImage, int pX, int pY, int pX_pitch, int pY_pitch, int pValue, int pDigit_count, int pLeading_zeroes);
109
 
110
void BuildColourTable(br_pixelmap* pPalette);
111
 
112
void ClearConcussion(void);
113
 
114
tS8* SkipLines(tS8* pSource, int pCount);
115
 
116
void CopyWords(char* pDst, char* pSrc, int pN);
117
 
118
void Copy8BitStripImageTo16Bit(br_pixelmap* pDest, br_int_16 pDest_x, br_int_16 pOffset_x, br_int_16 pDest_y, br_int_16 pOffset_y, tS8* pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_uint_16 pWidth, br_uint_16 pHeight);
119
 
120
void CopyStripImage(br_pixelmap* pDest, br_int_16 pDest_x, br_int_16 pOffset_x, br_int_16 pDest_y, br_int_16 pOffset_y, tS8* pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_uint_16 pWidth, br_uint_16 pHeight);
121
 
122
void SetBRenderScreenAndBuffers(int pX_offset, int pY_offset, int pWidth, int pHeight);
123
 
124
void SetIntegerMapRenders(void);
125
 
126
void AdjustRenderScreenSize(void);
127
 
128
void ScreenSmaller(void);
129
 
130
void ScreenLarger(void);
131
 
132
void DRSetPaletteEntries(br_pixelmap* pPalette, int pFirst_colour, int pCount);
133
 
134
void DRSetPalette3(br_pixelmap* pThe_palette, int pSet_current_palette);
135
 
136
void DRSetPalette2(br_pixelmap* pThe_palette, int pSet_current_palette);
137
 
138
void DRSetPalette(br_pixelmap* pThe_palette);
139
 
140
void InitializePalettes(void);
141
 
142
void SwitchToPalette(char* pPal_name);
143
 
144
void ClearEntireScreen(void);
145
 
146
void ClearWobbles(void);
147
 
148
void InitWobbleStuff(void);
149
 
150
void NewScreenWobble(double pAmplitude_x, double pAmplitude_y, double pPeriod);
151
 
152
void SetScreenWobble(int pWobble_x, int pWobble_y);
153
 
154
void ResetScreenWobble(void);
155
 
156
void CalculateWobblitude(tU32 pThe_time);
157
 
158
void CalculateConcussion(tU32 pThe_time);
159
 
160
void SufferFromConcussion(float pSeriousness);
161
 
162
void ProcessNonTrackActors(br_pixelmap* pRender_buffer, br_pixelmap* pDepth_buffer, br_actor* pCamera, br_matrix34* pCamera_to_world, br_matrix34* pOld_camera_matrix);
163
 
164
int OppositeColour(int pColour);
165
 
166
void DrawMapBlip(tCar_spec* pCar, tU32 pTime, br_matrix34* pTrans, br_vector3* pPos, int pColour);
167
 
168
void DrawMapSmallBlip(tU32 pTime, br_vector3* pPos, int pColour);
169
 
170
void MungeClipPlane(br_vector3* pLight, tCar_spec* pCar, br_vector3* p1, br_vector3* p2, br_scalar pY_offset);
171
 
172
void TryThisEdge(tCar_spec* pCar, br_vector3* pLight, int pIndex_1, br_scalar pSign_1, int pIndex_2, br_scalar pSign_2, int pPoint_index_1, int pPoint_index_2, br_scalar pY_offset);
173
 
174
br_scalar DistanceFromPlane(br_vector3* pPos, br_scalar pA, br_scalar pB, br_scalar pC, br_scalar pD);
175
 
176
void DisableLights(void);
177
 
178
void EnableLights(void);
179
 
180
void ProcessShadow(tCar_spec* pCar, br_actor* pWorld, tTrack_spec* pTrack_spec, br_actor* pCamera, br_matrix34* pCamera_to_world_transform, br_scalar pDistance_factor);
181
 
182
void RenderShadows(br_actor* pWorld, tTrack_spec* pTrack_spec, br_actor* pCamera, br_matrix34* pCamera_to_world_transform);
183
 
184
void FlashyMapCheckpoint(int pIndex, tU32 pTime);
185
 
186
int ConditionallyFillWithSky(br_pixelmap* pPixelmap);
187
 
188
void RenderAFrame(int pDepth_mask_on);
189
 
190
void InitPaletteAnimate(void);
191
 
192
void RevertPalette(void);
193
 
194
void MungePalette(void);
195
 
196
void ResetPalette(void);
197
 
198
void Darken(tU8* pPtr, unsigned int pDarken_amount);
199
 
200
void SetFadedPalette(int pDegree);
201
 
202
void FadePaletteDown(void);
203
 
204
void FadePaletteUp(void);
205
 
206
void KillSplashScreen(void);
207
 
208
void EnsureRenderPalette(void);
209
 
210
void SplashScreenWith(char* pPixmap_name);
211
 
212
void EnsurePaletteUp(void);
213
 
214
br_uint_32 AmbientificateMaterial(br_material* pMat, void* pArg);
215
 
216
void ChangeAmbience(br_scalar pDelta);
217
 
218
void InitAmbience(void);
219
 
220
void DRPixelmapRectangleMaskedCopy(br_pixelmap* pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap* pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight);
221
 
222
void DRMaskedStamp(br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap* pSource);
223
 
224
void DRPixelmapRectangleOnscreenCopy(br_pixelmap* pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap* pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight);
225
 
226
void DRPixelmapRectangleShearedCopy(br_pixelmap* pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap* pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight, tX1616 pShear);
227
 
228
void DRPixelmapRectangleVScaledCopy(br_pixelmap* pDest, br_int_16 pDest_x, br_int_16 pDest_y, br_pixelmap* pSource, br_int_16 pSource_x, br_int_16 pSource_y, br_int_16 pWidth, br_int_16 pHeight);
229
 
230
void InitTransientBitmaps(void);
231
 
232
int AllocateTransientBitmap(int pWidth, int pHeight, int pUser_data);
233
 
234
void DeallocateTransientBitmap(int pIndex);
235
 
236
void DeallocateAllTransientBitmaps(void);
237
 
238
void RemoveTransientBitmaps(int pGraphically_remove_them);
239
 
240
void SaveTransient(int pIndex, int pX_coord, int pY_coord);
241
 
242
void DrawCursorGiblet(tCursor_giblet* pGib);
243
 
244
void ProcessCursorGiblets(int pPeriod);
245
 
246
int NewCursorGiblet(int pX_coord, int pY_coord, float pX_speed, float pY_speed, tU32 pDrop_time);
247
 
248
int DoMouseCursor(void);
249
 
250
int AllocateCursorTransient(void);
251
 
252
void StartMouseCursor(void);
253
 
254
void EndMouseCursor(void);
255
 
256
void LoadFont(int pFont_ID);
257
 
258
void DisposeFont(int pFont_ID);
259
 
260
void InitDRFonts(void);
261
 
262
void DrawDropImage(br_pixelmap* pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip, int pOffset);
263
 
264
void DropInImageFromTop(br_pixelmap* pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip);
265
 
266
void DropOutImageThruBottom(br_pixelmap* pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip);
267
 
268
void DropInImageFromBottom(br_pixelmap* pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip);
269
 
270
void DropOutImageThruTop(br_pixelmap* pImage, int pLeft, int pTop, int pTop_clip, int pBottom_clip);
271
 
272
void DrawTellyLine(br_pixelmap* pImage, int pLeft, int pTop, int pPercentage);
273
 
274
void DrawTellyImage(br_pixelmap* pImage, int pLeft, int pTop, int pPercentage);
275
 
276
void TellyInImage(br_pixelmap* pImage, int pLeft, int pTop);
277
 
278
void TellyOutImage(br_pixelmap* pImage, int pLeft, int pTop);
279
 
280
void SetShadowLevel(tShadow_level pLevel);
281
 
282
tShadow_level GetShadowLevel(void);
283
 
284
void ToggleShadow(void);
285
 
286
void InitShadow(void);
287
 
288
br_uint_32 SaveShadeTable(br_pixelmap* pTable, void* pArg);
289
 
290
void SaveShadeTables(void);
291
 
292
void DisposeSavedShadeTables(void);
293
 
294
void ShadowMode(void);
295
 
296
int SwitchToRealResolution(void);
297
 
298
int SwitchToLoresMode(void);
299
 
300
void DRPixelmapDoubledCopy(br_pixelmap* pDestn, br_pixelmap* pSource, int pSource_width, int pSource_height, int pX_offset, int pY_offset);
301
 
302
#endif