Subversion Repositories Games.Carmageddon

Rev

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

  1. #ifndef _TRIG_H_
  2. #define _TRIG_H_
  3.  
  4. #include "brender/br_types.h"
  5. #include "dr_types.h"
  6.  
  7. extern float gFloat_sine_table[91];
  8. extern br_fixed_ls gFixed_sine_table[91];
  9. extern br_matrix23 mat23tmp1;
  10. extern br_matrix23 mat23tmp2;
  11. extern br_matrix34 mattmp1__trig; // suffix added to avoid duplicate symbol
  12. extern br_matrix34 mattmp2__trig; // suffix added to avoid duplicate symbol
  13.  
  14. float FastFloatSin(int pAngle_in_degrees);
  15.  
  16. float FastFloatCos(int pAngle_in_degrees);
  17.  
  18. float FastFloatTan(int pAngle_in_degrees);
  19.  
  20. br_scalar FastScalarSin(int pAngle_in_degrees);
  21.  
  22. br_scalar FastScalarCos(int pAngle_in_degrees);
  23.  
  24. br_scalar FastScalarTan(int pAngle_in_degrees);
  25.  
  26. br_scalar FastScalarSinAngle(br_angle pBR_angle);
  27.  
  28. br_scalar FastScalarCosAngle(br_angle pBR_angle);
  29.  
  30. br_scalar FastScalarTanAngle(br_angle pBR_angle);
  31.  
  32. float FastFloatArcSin(float pValue);
  33.  
  34. float FastFloatArcCos(float pValue);
  35.  
  36. br_scalar FastScalarArcSin(br_scalar pValue);
  37.  
  38. br_scalar FastScalarArcCos(br_scalar pValue);
  39.  
  40. float FastFloatArcTan2(float pY, float pX);
  41.  
  42. br_scalar FastScalarArcTan2(br_scalar pY, br_scalar pX);
  43.  
  44. br_angle FastFloatArcTan2Angle(float pY, float pX);
  45.  
  46. br_angle FastScalarArcTan2Angle(br_scalar pY, br_scalar pX);
  47.  
  48. void DRMatrix34RotateX(br_matrix34* mat, br_angle rx);
  49.  
  50. void DRMatrix34RotateY(br_matrix34* mat, br_angle ry);
  51.  
  52. void DRMatrix34RotateZ(br_matrix34* mat, br_angle rz);
  53.  
  54. void DRMatrix34Rotate(br_matrix34* mat, br_angle r, br_vector3* a);
  55.  
  56. void DRMatrix34PreRotateX(br_matrix34* mat, br_angle rx);
  57.  
  58. void DRMatrix34PostRotateX(br_matrix34* mat, br_angle rx);
  59.  
  60. void DRMatrix34PreRotateY(br_matrix34* mat, br_angle ry);
  61.  
  62. void DRMatrix34PostRotateY(br_matrix34* mat, br_angle ry);
  63.  
  64. void DRMatrix34PreRotateZ(br_matrix34* mat, br_angle rz);
  65.  
  66. void DRMatrix34PostRotateZ(br_matrix34* mat, br_angle rz);
  67.  
  68. void DRMatrix34PreRotate(br_matrix34* mat, br_angle r, br_vector3* axis);
  69.  
  70. void DRMatrix34PostRotate(br_matrix34* mat, br_angle r, br_vector3* axis);
  71.  
  72. void DRMatrix23Rotate(br_matrix23* mat, br_angle rz);
  73.  
  74. void DRMatrix23PreRotate(br_matrix23* mat, br_angle rz);
  75.  
  76. void DRMatrix23PostRotate(br_matrix23* mat, br_angle rz);
  77.  
  78. #endif
  79.