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