mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 14:41:38 -04:00
66 lines
1.4 KiB
C
66 lines
1.4 KiB
C
#ifndef M_LIB_H
|
|
#define M_LIB_H
|
|
|
|
#include "types.h"
|
|
|
|
#define ABS(x) ((x) >= 0) ? (x) : -(x)
|
|
#define SQ(x) ((x)*(x))
|
|
|
|
typedef struct xyz_t {
|
|
f32 x, y, z;
|
|
} xyz_t;
|
|
|
|
typedef struct s_xyz {
|
|
s16 x, y, z;
|
|
} s_xyz;
|
|
|
|
typedef struct rgba_t { //can be put in other place
|
|
u8 r, g, b, a;
|
|
} rgba_t;
|
|
|
|
void mem_copy(u8*, u8*, u32);
|
|
void mem_clear(u8*, u32, u8);
|
|
s32 mem_cmp(u8*, u8*, u32);
|
|
|
|
f32 sin_s(s16);
|
|
f32 cos_s(s16);
|
|
|
|
s32 chase_angle(s16*, s16, s16);
|
|
s32 chase_s(s16*, s16, s16);
|
|
s32 chase_f(f32*, f32, f32);
|
|
f32 chase_xyz_t(xyz_t*, xyz_t*, f32);
|
|
s32 chase_angle2(s16*, s16, s16);
|
|
|
|
void inter_float(f32*, f32, s32);
|
|
s16 get_random_timer(s16, s16);
|
|
|
|
void xyz_t_move(xyz_t*, xyz_t*);
|
|
void xyz_t_move_s_xyz(xyz_t*, s_xyz*);
|
|
void xyz_t_add(xyz_t*, xyz_t*, xyz_t*);
|
|
void xyz_t_sub(xyz_t*, xyz_t*, xyz_t*);
|
|
void xyz_t_mult_v(xyz_t*, f32);
|
|
|
|
f32 search_position_distance(xyz_t*, xyz_t*);
|
|
f32 search_position_distanceXZ(xyz_t*, xyz_t*);
|
|
s16 search_position_angleY(xyz_t*, xyz_t*);
|
|
s16 search_position_angleX(xyz_t*, xyz_t*);
|
|
|
|
void add_calc2(f32*, f32, f32, f32);
|
|
void add_calc0(f32*, f32, f32);
|
|
|
|
s16 add_calc_short_angle2(s16*, s16, f32, s16, s16);
|
|
s16 add_calc_short_angle3(s16*, s16, f32, s16, s16);
|
|
|
|
void rgba_t_move(rgba_t*, rgba_t*);
|
|
|
|
u32 none_proc1(void);
|
|
void none_proc2(void);
|
|
|
|
void _Game_play_isPause(u32 //IDK);
|
|
|
|
//Unsure
|
|
//?? check_percent_abs();
|
|
//?? get_percent_forAccelBrake();
|
|
//?? Game_play_Projection_Trans();
|
|
//?? get_percent();
|
|
#endif |