Subversion Repositories Games.Carmageddon

Rev

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

Rev Author Line No. Line
1 pmbaty 1
#ifndef _TRIG_H_
2
#define _TRIG_H_
3
 
20 pmbaty 4
#include "brender/br_types.h"
1 pmbaty 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