Subversion Repositories Games.Carmageddon

Rev

Rev 1 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 pmbaty 1
#ifndef _SPARK_H_
2
#define _SPARK_H_
3
 
4
#include "dr_types.h"
5
 
6
extern int gNext_spark;
7
extern int gSpark_flags;
8
extern int gNext_shrapnel;
9
extern int gShrapnel_flags;
10
extern br_model* gShrapnel_model[2];
11
extern int gSmoke_flags;
12
extern int gSmoke_num;
13
extern int gOffset;
14
extern int gColumn_flags;
15
extern int gNext_column;
16
extern br_pixelmap* gBlack_smoke_shade_table;
17
extern br_pixelmap* gDark_smoke_shade_table;
18
extern br_pixelmap* gGrey_smoke_shade_table;
19
extern int gSmoke_on;
20
extern int gNum_splash_types;
21
extern int gIt_type;
22
extern br_pixelmap* gIt_shade_table;
23
extern br_pixelmap** gDust_table;
24
extern br_pixelmap* gFlame_map[20];
25
extern tBRender_smoke* gBR_smoke_pointers[30];
26
extern tSplash gSplash[32];
27
extern br_material* gSplash_material[20];
28
extern tBRender_smoke gBR_smoke_structs[30];
29
extern tSmoke_column gSmoke_column[25];
30
extern br_matrix4 gCameraToScreen;
31
extern tSpark gSparks[32];
32
extern br_pixelmap* gShade_list[16];
33
extern int gN_BR_smoke_structs;
34
extern tSmoke gSmoke[25];
35
extern tU32 gSplash_flags;
36
extern tU32 gNext_splash;
37
extern br_model* gLollipop_model;
38
extern int gNum_dust_tables;
39
extern br_model* gSplash_model;
40
extern int gDust_rotate;
41
extern br_camera* gSpark_cam;
42
extern br_material* gBlack_material;
43
extern tShrapnel gShrapnel[15];
44
 
45
void DrawDot(br_scalar z, tU8* scr_ptr, tU16* depth_ptr, tU8* shade_ptr);
46
 
47
void SetWorldToScreen(br_pixelmap* pScreen);
48
 
49
void DrawLine3DThroughBRender(br_vector3* pStart, br_vector3* pEnd);
50
 
51
int DrawLine3D(br_vector3* start, br_vector3* end, br_pixelmap* pScreen, br_pixelmap* pDepth_buffer, br_pixelmap* shade_table);
52
 
53
int DrawLine2D(br_vector3* o, br_vector3* p, br_pixelmap* pScreen, br_pixelmap* pDepth_buffer, br_scalar brightness, br_pixelmap* shade_table);
54
 
55
void SetLineModelCols(tU8 pCol);
56
 
57
void ReplaySparks(br_pixelmap* pRender_screen, br_pixelmap* pDepth_buffer, br_actor* pCamera, tU32 pTime);
58
 
59
void RenderSparks(br_pixelmap* pRender_screen, br_pixelmap* pDepth_buffer, br_actor* pCamera, br_matrix34* pCamera_to_world, tU32 pTime);
60
 
61
void CreateSingleSpark(tCar_spec* pCar, br_vector3* pPos, br_vector3* pVel);
62
 
63
void CreateSparks(br_vector3* pos, br_vector3* v, br_vector3* pForce, br_scalar sparkiness, tCar_spec* pCar);
64
 
65
void CreateSparkShower(br_vector3* pos, br_vector3* v, br_vector3* pForce, tCar_spec* pCar1, tCar_spec* pCar2);
66
 
67
void AdjustSpark(int pSpark_num, br_vector3* pos, br_vector3* length);
68
 
69
void AdjustShrapnel(int pShrapnel_num, br_vector3* pos, tU16 pAge, br_material* pMaterial);
70
 
71
void ResetSparks(void);
72
 
73
void ResetShrapnel(void);
74
 
75
void CreateShrapnelShower(br_vector3* pos, br_vector3* v, br_vector3* pNormal, br_scalar pForce, tCar_spec* c1, tCar_spec* c2);
76
 
77
void InitShrapnel(void);
78
 
79
void LoadInShrapnel(void);
80
 
81
void KillShrapnel(int i);
82
 
83
void DisposeShrapnel(void);
84
 
85
void ReplayShrapnel(tU32 pTime);
86
 
87
void MungeShrapnel(tU32 pTime);
88
 
89
void DrMatrix34Rotate(br_matrix34* mat, br_angle r, br_vector3* a);
90
 
91
void SmokeLine(int l, int x, br_scalar zbuff, int r_squared, tU8* scr_ptr, tU16* depth_ptr, tU8* shade_ptr, br_scalar r_multiplier, br_scalar z_multiplier, br_scalar shade_offset);
92
 
93
void SmokeCircle(br_vector3* o, br_scalar r, br_scalar extra_z, br_scalar strength, br_scalar pAspect, br_pixelmap* pRender_screen, br_pixelmap* pDepth_buffer, br_pixelmap* pShade_table);
94
 
95
int CmpSmokeZ(void* p1, void* p2);
96
 
97
void RenderRecordedSmokeCircles(void);
98
 
99
void RecordSmokeCircle(br_vector3* pCent, br_scalar pR, br_scalar pStrength, br_pixelmap* pShade, br_scalar pAspect);
100
 
101
void SmokeCircle3D(br_vector3* o, br_scalar r, br_scalar strength, br_scalar pAspect, br_pixelmap* pRender_screen, br_pixelmap* pDepth_buffer, br_pixelmap* pShade_table, br_actor* pCam);
102
 
103
void ReplaySmoke(br_pixelmap* pRender_screen, br_pixelmap* pDepth_buffer, br_actor* pCamera);
104
 
105
void GenerateContinuousSmoke(tCar_spec* pCar, int wheel, tU32 pTime);
106
 
107
void DustRotate(void);
108
 
109
void RenderSmoke(br_pixelmap* pRender_screen, br_pixelmap* pDepth_buffer, br_actor* pCamera, br_matrix34* pCamera_to_world, tU32 pTime);
110
 
111
void CreatePuffOfSmoke(br_vector3* pos, br_vector3* v, br_scalar strength, br_scalar pDecay_factor, int pType, tCar_spec* pC);
112
 
113
void ResetSmoke(void);
114
 
115
void AdjustSmoke(int pIndex, tU8 pType, br_vector3* pPos, br_scalar pRadius, br_scalar pStrength);
116
 
117
void ActorError(void);
118
 
119
void AdjustSmokeColumn(int pIndex, tCar_spec* pCar, int pVertex, int pColour);
120
 
121
void CreateSmokeColumn(tCar_spec* pCar, int pColour, int pVertex_index, tU32 pLifetime);
122
 
123
void GenerateSmokeShades(void);
124
 
125
void GenerateItFoxShadeTable(void);
126
 
127
void AdjustFlame(int pIndex, int pFrame_count, br_scalar pScale_x, br_scalar pScale_y, br_scalar pOffset_x, br_scalar pOffset_z);
128
 
129
void ReplayFlame(tSmoke_column* col, br_actor* actor);
130
 
131
void FlameAnimate(int c, br_vector3* pPos, tU32 pTime);
132
 
133
void DoSmokeColumn(int i, tU32 pTime, br_vector3* pRet_car_pos);
134
 
135
void ReplaySmokeColumn(tU32 pTime);
136
 
137
void MungeSmokeColumn(tU32 pTime);
138
 
139
void DisposeFlame(void);
140
 
141
void InitFlame(void);
142
 
143
void InitSplash(FILE* pF);
144
 
145
void DisposeSplash(void);
146
 
147
void DrawTheGlow(br_pixelmap* pRender_screen, br_pixelmap* pDepth_buffer, br_actor* pCamera);
148
 
149
void PipeInstantUnSmudge(tCar_spec* pCar);
150
 
151
void SmudgeCar(tCar_spec* pCar, int fire_point);
152
 
153
void ResetSmokeColumns(void);
154
 
155
void SetSmokeOn(int pSmoke_on);
156
 
157
void ReallySetSmokeOn(int pSmoke_on);
158
 
159
void SetSmoke(int pSmoke_on);
160
 
161
int GetSmokeOn(void);
162
 
163
void StopCarSmoking(tCar_spec* pCar);
164
 
165
void StopCarSmokingInstantly(tCar_spec* pCar);
166
 
167
void ConditionalSmokeColumn(tCar_spec* pCar, int pDamage_index, int pColour);
168
 
169
void SingleSplash(tCar_spec* pCar, br_vector3* sp, br_vector3* normal, tU32 pTime);
170
 
171
void CreateSplash(tCar_spec* pCar, tU32 pTime);
172
 
173
void MungeSplash(tU32 pTime);
174
 
175
void RenderSplashes(void);
176
 
177
void GetSmokeShadeTables(FILE* f);
178
 
179
void FreeSmokeShadeTables(void);
180
 
181
void LoadInKevStuff(FILE* pF);
182
 
183
void DisposeKevStuff(void);
184
 
185
void DisposeKevStuffCar(tCar_spec* pCar);
186
 
187
void DoTrueColModelThing(br_actor* actor, br_model* pModel, br_material* material, void* render_data, br_uint_8 style, int on_screen);
188
 
189
void DoModelThing(br_actor* actor, br_model* pModel, br_material* material, void* render_data, br_uint_8 style, int on_screen);
190
 
191
void SetModelShade(br_actor* pActor, br_pixelmap* pShade);
192
 
193
void MakeCarIt(tCar_spec* pCar);
194
 
195
void StopCarBeingIt(tCar_spec* pCar);
196
 
197
#endif