- #ifndef _CRUSH_H_ 
- #define _CRUSH_H_ 
-   
- #include "brender/br_types.h" 
- #include "dr_types.h" 
-   
- extern float gWobble_spam_y[8]; 
- extern float gWobble_spam_z[8]; 
- extern br_scalar gWheel_circ_to_width; 
- extern tU8 gSmoke_damage_step[12]; 
- extern int gSteal_ranks[6]; 
-   
- int ReadCrushData(FILE* pF, tCrush_data* pCrush_data); 
-   
- float SkipCrushData(FILE* pF); 
-   
- int WriteCrushData(FILE* pF, tCrush_data* pCrush_data); 
-   
- void DisposeCrushData(tCrush_data* pCrush_data); 
-   
- 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); 
-   
- void CrushModel(tCar_spec* pCar, int pModel_index, br_actor* pActor, br_vector3* pImpact_point, br_vector3* pEnergy_vector, tCrush_data* pCrush_data); 
-   
- void JitModelUpdate(br_actor* actor, br_model* model, br_material* material, void* render_data, br_uint_8 style, int on_screen); 
-   
- void SetModelForUpdate(br_model* pModel, tCar_spec* pCar, int crush_only); 
-   
- void TotallySpamTheModel(tCar_spec* pCar, int pModel_index, br_actor* pActor, tCrush_data* pCrush_data, br_scalar pMagnitude); 
-   
- br_scalar RepairModel(tCar_spec* pCar, int pModel_index, br_actor* pActor, br_vertex* pUndamaged_vertices, br_scalar pAmount, br_scalar* pTotal_deflection); 
-   
- float RepairCar2(tCar_spec* pCar, tU32 pFrame_period, br_scalar* pTotal_deflection); 
-   
- float RepairCar(tU16 pCar_ID, tU32 pFrame_period, br_scalar* pTotal_deflection); 
-   
- void TotallyRepairACar(tCar_spec* pCar); 
-   
- void TotallyRepairCar(void); 
-   
- void CheckLastCar(void); 
-   
- void KnackerThisCar(tCar_spec* pCar); 
-   
- void SetKnackeredFlag(tCar_spec* pCar); 
-   
- void DamageUnit2(tCar_spec* pCar, int pUnit_type, int pDamage_amount); 
-   
- void RecordLastDamage(tCar_spec* pCar); 
-   
- void DoDamage(tCar_spec* pCar, tDamage_type pDamage_type, float pMagnitude, float pNastiness); 
-   
- void CheckPiledriverBonus(tCar_spec* pCar, br_vector3* pImpact_point, br_vector3* pEnergy); 
-   
- tImpact_location CalcModifiedLocation(tCar_spec* pCar); 
-   
- void DoPratcamHit(br_vector3* pHit_vector); 
-   
- void DamageSystems(tCar_spec* pCar, br_vector3* pImpact_point, br_vector3* pEnergy_vector, int pWas_hitting_a_car); 
-   
- tImpact_location GetDirection(br_vector3* pVelocity); 
-   
- void SetSmokeLastDamageLevel(tCar_spec* pCar); 
-   
- void SortOutSmoke(tCar_spec* pCar); 
-   
- void StealCar(tCar_spec* pCar); 
-   
- int DoCrashEarnings(tCar_spec* pCar1, tCar_spec* pCar2); 
-   
- void DoWheelDamage(tU32 pFrame_period); 
-   
- void CrashEarnings(tCar_spec* pCar1, tCar_spec* pCar2); 
-   
- #endif 
-