Some math functions...


Defines

#define PA_Cos(angle)   PA_SIN[((angle) + 128)&511]
 Returns the Cos value for an angle. The value goes from -256 to 256... Watch out though : the angle is not in 360 degrees, but in 512 !
#define PA_Sin(angle)   PA_SIN[((angle))&511]
 Returns the Sin value for an angle. The value goes from -256 to 256... Watch out though : the angle is not in 360 degrees, but in 256 !

Functions

void PA_InitRand (void)
 Auto-seeds the Rand function based on the clock !
void PA_SRand (s32 r)
 Set the random's seed. This is taken from Ham, I have no credit. I just made it a little shorter/faster (maybe)
u32 PA_Rand (void)
 Gives a random number, taken from Ham... This is taken from Ham, I have no credit.
u32 PA_RandMax (u32 max)
 Gives a random number, between 0 and the given number (included)
u32 PA_RandMinMax (u32 min, u32 max)
 Gives a random number, between the 2 given numbers (included)
u64 PA_Distance (s32 x1, s32 y1, s32 x2, s32 y2)
 Calculate the distance (squared) between 2 points
u16 PA_AdjustAngle (u16 angle, s16 anglerot, s32 startx, s32 starty, s32 targetx, s32 targety)
 Adjust an angle, for example to calculate in which direction an object shoudl turn
u16 PA_GetAngle (s32 startx, s32 starty, s32 targetx, s32 targety)
 Get the angle, from 0 to 511, formed between the horizontal and the line

Variables

u16 RandomValue

Detailed Description

Adjust angles, get random values...

Function Documentation

u16 PA_AdjustAngle u16  angle,
s16  anglerot,
s32  startx,
s32  starty,
s32  targetx,
s32  targety
 

Adjust an angle, for example to calculate in which direction an object shoudl turn

Parameters:
angle Base angle, from 0 to 511
anglerot For how much to turn...
startx Initial X position
starty Initial Y position
targetx Target X position
targety Target Y position

inline u32 PA_Distance s32  x1,
s32  y1,
s32  x2,
s32  y2
[inline]
 

Calculate the distance (squared) between 2 points

Parameters:
x1 X coordinate of the fist point
y1 Y coordinate of the first point
x2 X coordinate of the second point
y2 Y coordinate of the second point

inline u16 PA_GetAngle s32  startx,
s32  starty,
s32  targetx,
s32  targety
[inline]
 

Get the angle, from 0 to 511, formed between the horizontal and the line

Parameters:
startx Initial X position
starty Initial Y position
targetx Target X position
targety Target Y position

inline u32 PA_RandMax u32  max  )  [inline]
 

Gives a random number, between 0 and the given number (included)

Parameters:
max Maximum included value

inline u32 PA_RandMinMax u32  min,
u32  max
[inline]
 

Gives a random number, between the 2 given numbers (included)

Parameters:
min Minimum included value
max Maximum included value

void PA_SRand s32  r  )  [inline]
 

Set the random's seed. This is taken from Ham, I have no credit. I just made it a little shorter/faster (maybe)

Parameters:
r Seed value


Generated on Tue Dec 13 11:52:56 2005 for PAlib by  doxygen 1.3.9.1