warzone2100/lib/framework/trig.h

34 lines
704 B
C

/*
* Trig.h
*
* Interface to trig lookup tables
*
*/
#ifndef _trig_h
#define _trig_h
/* The number of units around a full circle */
#define TRIG_DEGREES 360
/* conversion macros */
#define DEG_TO_RAD(x) (x*PI/180.0)
#define RAD_TO_DEG(x) (x*180.0/PI)
/* Initialise the Trig tables */
extern BOOL trigInitialise(void);
/* Shutdown the trig tables */
extern void trigShutDown(void);
/* Lookup trig functions */
extern FRACT trigSin(SDWORD angle);
extern FRACT trigCos(SDWORD angle);
extern FRACT trigInvSin(FRACT val);
extern FRACT trigInvCos(FRACT val);
/* Supposedly fast lookup sqrt - unfortunately it's probably slower than the FPU sqrt :-( */
extern FRACT trigIntSqrt(UDWORD val);
#endif