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#include "types.h"
7
8//#define sins(x) gSineTable[(u16) (x) >> 4]
9//#define coss(x) gCosineTable[(u16) (x) >> 4]
10
11//#define min(a, b) ((a) <= (b) ? (a) : (b))
12//#define max(a, b) ((a) > (b) ? (a) : (b))
13
14#define sqr(x) ((x) * (x))
15
16// Here to appease the pragma gods
17double fabs(double x);
18
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_802B5D30(s16, s16, s32);
41void func_802B5D64(uintptr_t, s16, s16, s32);
42void mtxf_scale(Mat4, f32);
52void mtxf_to_mtx(Mtx*, Mat4);
59u16 random_u16(void);
63f32 sins(u16);
64f32 coss(u16);
67
68extern s32 D_802B91C0[];
69extern Vec3f D_802B91C8;
70
71// end of math_util.c variables
72
73extern u16 gRandomSeed16;
74
75#endif // MATH_UTIL_H
f32 Vec3f[3]
Definition common_structs.h:6
s16 Vec3s[3]
Definition common_structs.h:8
f32 Mat4[4][4]
Definition common_structs.h:13
f32 Mat3[3][3]
Definition common_structs.h:12
void add_translate_mat4_vec3f_lite(Mat4, Mat4, Vec3f)
Definition math_util.c:204
u16 random_u16(void)
Definition math_util.c:1025
void vec3s_copy(Vec3s, Vec3s)
Definition math_util.c:132
void mtxf_multiplication(Mat4, Mat4, Mat4)
Definition math_util.c:840
f32 calculate_vector_angle_xy(f32)
Definition math_util.c:1017
u16 atan2_lookup(f32, f32)
Definition math_util.c:897
void vec3f_set(Vec3f, f32, f32, f32)
Definition math_util.c:100
void func_802B5CAC(s16, s16, Vec3f)
Definition math_util.c:431
s32 render_set_position(Mat4, s32)
Definition math_util.c:48
u16 random_int(u16)
Definition math_util.c:1053
void func_802B6D58(Mat4, Vec3f, Vec3f)
Definition math_util.c:808
u16 atan2s(f32, f32)
Definition math_util.c:921
s32 D_802B91C0[]
Definition math_util.c:13
f32 is_within_render_distance(Vec3f, Vec3f, u16, f32, f32, f32)
Definition math_util.c:1112
void vec3s_set(Vec3s, s16, s16, s16)
Definition math_util.c:106
void mtxf_to_mtx(Mtx *, Mat4)
Definition math_util.c:870
void mtxf_rotate_y(Mat4, s16)
Definition math_util.c:338
void mtxf_scale(Mat4, f32)
Definition math_util.c:473
void mtxf_identity(Mat4)
Definition math_util.c:165
void * vec3f_set_return(Vec3f, f32, f32, f32)
Definition math_util.c:138
void mtxf_copy(Mat4, Mat4)
Definition math_util.c:146
f32 atan2f(f32, f32)
Definition math_util.c:958
f32 func_802B51E8(Vec3f, Vec3f)
Definition math_util.c:70
f32 coss(u16)
Definition math_util.c:1079
void mtxf_rotate_x(Mat4, s16)
Definition math_util.c:319
s32 func_802B4F60(s32, Vec3f, s32, f32, f32)
s16 func_802B7F34(f32, f32, f32, f32)
Definition math_util.c:1057
u16 gRandomSeed16
Definition buffers.c:6
double fabs(double x)
void calculate_rotation_matrix(Mat3, s16, f32, f32, f32)
Definition math_util.c:736
void calculate_orientation_matrix(Mat3, f32, f32, f32, s16)
Definition math_util.c:639
void mtxf_copy_n_element(s32 *, s32 *, s32)
Definition math_util.c:158
void add_translate_mat4_vec3f(Mat4, Mat4, Vec3f)
Definition math_util.c:177
void func_802B7F7C(Vec3f, Vec3f, Vec3s)
Definition math_util.c:1061
s16 func_802B7CA8(f32)
Definition math_util.c:1013
u32 func_802B5258(Vec3f, Vec3s)
Definition math_util.c:91
void mtxf_s16_rotate_z(Mat4, s16)
Definition math_util.c:357
void func_802B5564(Mat4, u16 *, f32, f32, f32, f32, f32)
Definition math_util.c:219
void mtxf_translate_vec3f_mat4(Vec3f, Mat4)
Definition math_util.c:607
s16 func_802B7C40(f32)
Definition math_util.c:1005
void mtxf_translate(Mat4, Vec3f)
Definition math_util.c:211
void func_802B5D64(uintptr_t, s16, s16, s32)
Definition math_util.c:446
void func_802B5D30(s16, s16, s32)
Definition math_util.c:442
s32 is_visible_between_angle(u16, u16, u16)
Definition math_util.c:1083
void mtxf_translate_vec3f_mat3(Vec3f, Mat3)
Definition math_util.c:592
s32 get_angle_between_points(Vec3f, Vec3f)
Definition math_util.c:81
void func_802B64C4(Vec3f, s16)
Definition math_util.c:626
f32 sins(u16)
Definition math_util.c:1075
void func_802B5F74(Mat4, Vec3f, Vec3s)
Definition math_util.c:486
void func_802B6BC0(Mat4, s16, f32, f32, f32)
Definition math_util.c:770
Vec3f D_802B91C8
Definition math_util.c:14
void * vec3f_copy_return(Vec3f, Vec3f)
Definition math_util.c:124
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:33
unsigned short int u16
Definition ultratypes.h:14