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 |