Increases data percentage for rels to 30.93% and total data percentage to 57.72%. Still need to match fn_1_470 which has some temporary register allocation issues.
28 lines
963 B
C
28 lines
963 B
C
#ifndef _EXT_MATH_H
|
|
#define _EXT_MATH_H
|
|
|
|
#include "math.h"
|
|
#include "dolphin/mtx.h"
|
|
|
|
typedef struct vec2f {
|
|
float x;
|
|
float y;
|
|
} Vec2f;
|
|
|
|
#define ABS(x) (((x) < 0) ? -(x) : (x))
|
|
|
|
#define VECDistanceXYZ(a, b) sqrtf((((a)->x-(b)->x)*((a)->x-(b)->x))+(((a)->y-(b)->y)*((a)->y-(b)->y))+(((a)->z-(b)->z)*((a)->z-(b)->z)))
|
|
|
|
#define VECDistanceXZ(a, b) sqrtf((((a)->x-(b)->x)*((a)->x-(b)->x))+(((a)->z-(b)->z)*((a)->z-(b)->z)))
|
|
#define VECDistanceZY(a, b) sqrtf((((a)->z-(b)->z)*((a)->z-(b)->z))+(((a)->y-(b)->y)*((a)->y-(b)->y)))
|
|
#define VECSumXZ(a, b) sqrtf((((a)->x+(b)->x)*((a)->x+(b)->x))+(((a)->z+(b)->z)*((a)->z+(b)->z)))
|
|
|
|
#define VECMagXZ(a) sqrtf(((a)->x*(a)->x)+((a)->z*(a)->z))
|
|
#define VECMag2Point(a) (((a)->x*(a)->x)+((a)->y*(a)->y)+((a)->z*(a)->z))
|
|
#define VECMagPoint(x, y, z) sqrtf(((x)*(x))+((y)*(y))+((z)*(z)))
|
|
|
|
#define sind(x) sin(M_PI*(x)/180.0)
|
|
#define cosd(x) cos(M_PI*(x)/180.0)
|
|
#define atan2d(y, x) (180.0*(atan2((y), (x)) / M_PI))
|
|
|
|
#endif
|