Mario Kart 64
Loading...
Searching...
No Matches
math_util.h
Go to the documentation of this file.
1#ifndef MATH_UTIL_H
2#define MATH_UTIL_H
3
4#include <PR/ultratypes.h>
5
6// #define sins(x) gSineTable[(u16) (x) >> 4]
7// #define coss(x) gCosineTable[(u16) (x) >> 4]
8
9// #define min(a, b) ((a) <= (b) ? (a) : (b))
10// #define max(a, b) ((a) > (b) ? (a) : (b))
11
12#define sqr(x) ((x) * (x))
13
14// Here to appease the pragma gods
15double fabs(double x);
16
24void vec3f_set(Vec3f, f32, f32, f32);
25void vec3s_set(Vec3s, s16, s16, s16);
29void mtxf_copy(Mat4, Mat4);
35void func_802B5564(Mat4, u16*, f32, f32, f32, f32, f32);
40void func_802B5B14(Vec3f b, Vec3s rotate); // unused
42void func_802B5D30(s16, s16, s32);
43void func_802B5D64(Lights1*, s16, s16, s32);
44void mtxf_scale(Mat4, f32);
54void mtxf_to_mtx(Mtx*, Mat4);
61u16 random_u16(void);
65f32 sins(u16);
66f32 coss(u16);
69
70extern s32 D_802B91C0[];
71extern Vec3f D_802B91C8;
72
73#endif // MATH_UTIL_H
f32 Vec3f[3]
Definition common_structs.h:6
s16 Vec3s[3]
Definition common_structs.h:11
f32 Mat4[4][4]
Definition common_structs.h:16
f32 Mat3[3][3]
Definition common_structs.h:15
void add_translate_mat4_vec3f_lite(Mat4, Mat4, Vec3f)
Definition math_util.c:208
u16 random_u16(void)
Definition math_util.c:1027
void vec3s_copy(Vec3s, Vec3s)
Definition math_util.c:135
void mtxf_multiplication(Mat4, Mat4, Mat4)
Definition math_util.c:818
f32 calculate_vector_angle_xy(f32)
Definition math_util.c:1019
u16 atan2_lookup(f32, f32)
Definition math_util.c:891
void vec3f_set(Vec3f, f32, f32, f32)
Definition math_util.c:103
void func_802B5CAC(s16, s16, Vec3f)
Definition math_util.c:411
s32 render_set_position(Mat4, s32)
Definition math_util.c:47
u16 random_int(u16)
Definition math_util.c:1055
void func_802B6D58(Mat4, Vec3f, Vec3f)
Definition math_util.c:786
u16 atan2s(f32, f32)
Definition math_util.c:915
s32 D_802B91C0[]
Definition math_util.c:14
f32 is_within_render_distance(Vec3f, Vec3f, u16, f32, f32, f32)
Definition math_util.c:1114
void vec3s_set(Vec3s, s16, s16, s16)
Definition math_util.c:109
void mtxf_to_mtx(Mtx *, Mat4)
Definition math_util.c:864
void mtxf_rotate_y(Mat4, s16)
Definition math_util.c:341
void mtxf_scale(Mat4, f32)
Definition math_util.c:455
void mtxf_identity(Mat4)
Definition math_util.c:168
void * vec3f_set_return(Vec3f, f32, f32, f32)
Definition math_util.c:141
void func_802B5D64(Lights1 *, s16, s16, s32)
Definition math_util.c:426
void mtxf_copy(Mat4, Mat4)
Definition math_util.c:149
f32 atan2f(f32, f32)
Definition math_util.c:952
f32 func_802B51E8(Vec3f, Vec3f)
Definition math_util.c:73
f32 coss(u16)
Definition math_util.c:1081
void mtxf_rotate_x(Mat4, s16)
Definition math_util.c:322
s32 func_802B4F60(s32, Vec3f, s32, f32, f32)
s16 func_802B7F34(f32, f32, f32, f32)
Definition math_util.c:1059
double fabs(double x)
void calculate_rotation_matrix(Mat3, s16, f32, f32, f32)
Definition math_util.c:714
void mtxf_pos_rotation_xyz(Mat4, Vec3f, Vec3s)
Definition math_util.c:468
void calculate_orientation_matrix(Mat3, f32, f32, f32, s16)
Definition math_util.c:619
void mtxf_copy_n_element(s32 *, s32 *, s32)
Definition math_util.c:161
void add_translate_mat4_vec3f(Mat4, Mat4, Vec3f)
Definition math_util.c:181
void func_802B7F7C(Vec3f, Vec3f, Vec3s)
Definition math_util.c:1063
void func_802B5B14(Vec3f b, Vec3s rotate)
Definition math_util.c:378
s16 func_802B7CA8(f32)
Definition math_util.c:1015
u32 func_802B5258(Vec3f, Vec3s)
Definition math_util.c:94
void mtxf_s16_rotate_z(Mat4, s16)
Definition math_util.c:360
void func_802B5564(Mat4, u16 *, f32, f32, f32, f32, f32)
Definition math_util.c:223
void mtxf_translate_vec3f_mat4(Vec3f, Mat4)
Definition math_util.c:589
s16 func_802B7C40(f32)
Definition math_util.c:1007
void mtxf_translate(Mat4, Vec3f)
Definition math_util.c:215
void func_802B5D30(s16, s16, s32)
Definition math_util.c:422
s32 get_angle_between_two_vectors(Vec3f, Vec3f)
Definition math_util.c:84
s32 is_visible_between_angle(u16, u16, u16)
Definition math_util.c:1085
void mtxf_translate_vec3f_mat3(Vec3f, Mat3)
Definition math_util.c:574
void func_802B5794(Mat4, Vec3f, Vec3f)
Definition math_util.c:255
void func_802B64C4(Vec3f, s16)
Definition math_util.c:606
f32 sins(u16)
Definition math_util.c:1077
void func_802B6BC0(Mat4, s16, f32, f32, f32)
Definition math_util.c:748
Vec3f D_802B91C8
Definition math_util.c:15
void * vec3f_copy_return(Vec3f, Vec3f)
Definition math_util.c:127
signed int s32
Definition ultratypes.h:15
unsigned int u32
Definition ultratypes.h:16
signed short int s16
Definition ultratypes.h:13
float f32
Definition ultratypes.h:34
unsigned short int u16
Definition ultratypes.h:14