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);
40void func_802B5B14(Vec3f b, Vec3s rotate); // unused
42void func_802B5D30(s16, s16, s32);
43void set_course_lighting(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:1048
void vec3s_copy(Vec3s, Vec3s)
Definition math_util.c:135
void mtxf_multiplication(Mat4, Mat4, Mat4)
Definition math_util.c:839
f32 calculate_vector_angle_xy(f32)
Definition math_util.c:1040
u16 atan2_lookup(f32, f32)
Definition math_util.c:912
void vec3f_set(Vec3f, f32, f32, f32)
Definition math_util.c:103
void func_802B5CAC(s16, s16, Vec3f)
Definition math_util.c:423
s32 render_set_position(Mat4, s32)
Definition math_util.c:47
u16 random_int(u16)
Definition math_util.c:1076
void func_802B6D58(Mat4, Vec3f, Vec3f)
Definition math_util.c:807
u16 atan2s(f32, f32)
Definition math_util.c:936
s32 D_802B91C0[]
Definition math_util.c:14
f32 is_within_render_distance(Vec3f, Vec3f, u16, f32, f32, f32)
Definition math_util.c:1135
void vec3s_set(Vec3s, s16, s16, s16)
Definition math_util.c:109
void mtxf_to_mtx(Mtx *, Mat4)
Definition math_util.c:885
void mtxf_rotate_y(Mat4, s16)
Definition math_util.c:353
void mtxf_scale(Mat4, f32)
Definition math_util.c:476
void mtxf_identity(Mat4)
Definition math_util.c:168
void * vec3f_set_return(Vec3f, f32, f32, f32)
Definition math_util.c:141
void mtxf_copy(Mat4, Mat4)
Definition math_util.c:149
f32 atan2f(f32, f32)
Definition math_util.c:973
f32 func_802B51E8(Vec3f, Vec3f)
Definition math_util.c:73
f32 coss(u16)
Definition math_util.c:1102
void mtxf_rotate_x(Mat4, s16)
Definition math_util.c:334
s32 func_802B4F60(s32, Vec3f, s32, f32, f32)
s16 func_802B7F34(f32, f32, f32, f32)
Definition math_util.c:1080
double fabs(double x)
void calculate_rotation_matrix(Mat3, s16, f32, f32, f32)
Definition math_util.c:735
void mtxf_pos_rotation_xyz(Mat4, Vec3f, Vec3s)
Definition math_util.c:489
void calculate_orientation_matrix(Mat3, f32, f32, f32, s16)
Definition math_util.c:640
void get_projection_matrix(Mat4, u16 *, f32, f32, f32, f32, f32)
Definition math_util.c:232
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:1084
void func_802B5B14(Vec3f b, Vec3s rotate)
Definition math_util.c:390
s16 func_802B7CA8(f32)
Definition math_util.c:1036
u32 func_802B5258(Vec3f, Vec3s)
Definition math_util.c:94
void mtxf_s16_rotate_z(Mat4, s16)
Definition math_util.c:372
void mtxf_translate_vec3f_mat4(Vec3f, Mat4)
Definition math_util.c:610
s16 func_802B7C40(f32)
Definition math_util.c:1028
void mtxf_translate(Mat4, Vec3f)
Definition math_util.c:215
void func_802B5D30(s16, s16, s32)
Definition math_util.c:434
s32 is_visible_between_angle(u16, u16, u16)
Definition math_util.c:1106
void set_course_lighting(Lights1 *, s16, s16, s32)
Set the course lighting object Uses a directional light.
Definition math_util.c:447
void mtxf_translate_vec3f_mat3(Vec3f, Mat3)
Definition math_util.c:595
s32 get_angle_between_points(Vec3f, Vec3f)
Definition math_util.c:84
void func_802B5794(Mat4, Vec3f, Vec3f)
Definition math_util.c:267
void func_802B64C4(Vec3f, s16)
Definition math_util.c:627
f32 sins(u16)
Definition math_util.c:1098
void func_802B6BC0(Mat4, s16, f32, f32, f32)
Definition math_util.c:769
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