Subversion Repositories Games.Carmageddon

Rev

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

  1. #ifndef _CRUSH_H_
  2. #define _CRUSH_H_
  3.  
  4. #include "brender/br_types.h"
  5. #include "dr_types.h"
  6.  
  7. extern float gWobble_spam_y[8];
  8. extern float gWobble_spam_z[8];
  9. extern br_scalar gWheel_circ_to_width;
  10. extern tU8 gSmoke_damage_step[12];
  11. extern int gSteal_ranks[5];
  12.  
  13. int ReadCrushData(FILE* pF, tCrush_data* pCrush_data);
  14.  
  15. float SkipCrushData(FILE* pF);
  16.  
  17. int WriteCrushData(FILE* pF, tCrush_data* pCrush_data);
  18.  
  19. void DisposeCrushData(tCrush_data* pCrush_data);
  20.  
  21. void CrushModelPoint(tCar_spec* pCar, int pModel_index, br_model* pModel, int pCrush_point_index, br_vector3* pEnergy_vector, br_scalar total_energy, tCrush_data* pCrush_data);
  22.  
  23. void CrushModel(tCar_spec* pCar, int pModel_index, br_actor* pActor, br_vector3* pImpact_point, br_vector3* pEnergy_vector, tCrush_data* pCrush_data);
  24.  
  25. void JitModelUpdate(br_actor* actor, br_model* model, br_material* material, void* render_data, br_uint_8 style, int on_screen);
  26.  
  27. void SetModelForUpdate(br_model* pModel, tCar_spec* pCar, int crush_only);
  28.  
  29. void TotallySpamTheModel(tCar_spec* pCar, int pModel_index, br_actor* pActor, tCrush_data* pCrush_data, br_scalar pMagnitude);
  30.  
  31. br_scalar RepairModel(tCar_spec* pCar, int pModel_index, br_actor* pActor, br_vertex* pUndamaged_vertices, br_scalar pAmount, br_scalar* pTotal_deflection);
  32.  
  33. float RepairCar2(tCar_spec* pCar, tU32 pFrame_period, br_scalar* pTotal_deflection);
  34.  
  35. float RepairCar(tU16 pCar_ID, tU32 pFrame_period, br_scalar* pTotal_deflection);
  36.  
  37. void TotallyRepairACar(tCar_spec* pCar);
  38.  
  39. void TotallyRepairCar(void);
  40.  
  41. void CheckLastCar(void);
  42.  
  43. void KnackerThisCar(tCar_spec* pCar);
  44.  
  45. void SetKnackeredFlag(tCar_spec* pCar);
  46.  
  47. void DamageUnit2(tCar_spec* pCar, int pUnit_type, int pDamage_amount);
  48.  
  49. void RecordLastDamage(tCar_spec* pCar);
  50.  
  51. void DoDamage(tCar_spec* pCar, tDamage_type pDamage_type, float pMagnitude, float pNastiness);
  52.  
  53. void CheckPiledriverBonus(tCar_spec* pCar, br_vector3* pImpact_point, br_vector3* pEnergy);
  54.  
  55. tImpact_location CalcModifiedLocation(tCar_spec* pCar);
  56.  
  57. void DoPratcamHit(br_vector3* pHit_vector);
  58.  
  59. void DamageSystems(tCar_spec* pCar, br_vector3* pImpact_point, br_vector3* pEnergy_vector, int pWas_hitting_a_car);
  60.  
  61. tImpact_location GetDirection(br_vector3* pVelocity);
  62.  
  63. void SetSmokeLastDamageLevel(tCar_spec* pCar);
  64.  
  65. void SortOutSmoke(tCar_spec* pCar);
  66.  
  67. void StealCar(tCar_spec* pCar);
  68.  
  69. int DoCrashEarnings(tCar_spec* pCar1, tCar_spec* pCar2);
  70.  
  71. void DoWheelDamage(tU32 pFrame_period);
  72.  
  73. void CrashEarnings(tCar_spec* pCar1, tCar_spec* pCar2);
  74.  
  75. #endif
  76.