Subversion Repositories Games.Carmageddon

Rev

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

  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
  198.