Mario Kart 64
Loading...
Searching...
No Matches
render.inc.c
Go to the documentation of this file.
1#include <ultra64.h>
2#include <macros.h>
3#include <actor_types.h>
4#include "camera.h"
5#include "main.h"
6#include "actors.h"
8#include <PR/gbi.h>
9
10// This likely attaches the paddle wheel to the boat
11void render_actor_paddle_boat(Camera *arg0, struct PaddleWheelBoat *boat, UNUSED Mat4 arg2, u16 pathCounter) {
12 UNUSED s32 pad[3];
13 Vec3f sp120;
14 Mat4 spE0;
15 Mat4 spA0;
16 Mat4 sp60;
17 f32 temp;
18
19 if ((pathCounter > 20) && (pathCounter < 25)) { return; }
20
21 temp = is_within_render_distance(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, gCameraZoom[arg0 - camera1], 9000000.0f);
22
23 if (temp < 0.0f) { return; }
24
25 gSPSetLights1(gDisplayListHead++, D_800DC610[1]);
26 gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_LIGHTING | G_SHADING_SMOOTH);
27
28 mtxf_pos_rotation_xyz(spE0, boat->pos, boat->boatRot);
29 if (render_set_position(spE0, 1) != 0) {
30
33
34 mtxf_rotate_x(spE0, boat->wheelRot);
35 vec3f_set(sp120, 0, 16.0f, -255.0f);
36 mtxf_translate(spA0, sp120);
37 mtxf_multiplication(sp60, spE0, spA0);
38 if (render_set_position(sp60, 3) != 0) {
39 gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
41 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
42 gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
43 }
44 }
45}
Camera * camera1
Definition camera.c:22
Lights1 D_800DC610[]
Definition code_800029B0.c:65
f32 Vec3f[3]
Definition common_structs.h:6
f32 Mat4[4][4]
Definition common_structs.h:13
Gfx d_course_dks_jungle_parkway_dl_E058[]
Definition course_data.inc.c:5406
Gfx d_course_dks_jungle_parkway_dl_FC28[]
Definition course_data.inc.c:5805
Gfx d_course_dks_jungle_parkway_dl_E730[]
Definition course_data.inc.c:5667
#define G_SHADE
Definition gbi.h:343
#define G_CULL_BACK
Definition gbi.h:355
#define G_SHADING_SMOOTH
Definition gbi.h:353
#define G_MTX_MODELVIEW
Definition gbi.h:309
#define G_LIGHTING
Definition gbi.h:359
#define UNUSED
Definition macros.h:24
Gfx * gDisplayListHead
Definition main.c:135
f32 gCameraZoom[4]
Definition main.c:122
void mtxf_rotate_x(Mat4 mat, s16 angle)
Definition math_util.c:319
f32 is_within_render_distance(Vec3f cameraPos, Vec3f objectPos, u16 orientationY, f32 minDistance, f32 fov, f32 maxDistance)
Definition math_util.c:1089
void mtxf_multiplication(Mat4 dest, Mat4 mat1, Mat4 mat2)
Definition math_util.c:817
void mtxf_pos_rotation_xyz(Mat4 out, Vec3f pos, Vec3s orientation)
Definition math_util.c:463
void vec3f_set(Vec3f arg0, f32 arg1, f32 arg2, f32 arg3)
Definition math_util.c:100
s32 render_set_position(Mat4 arg0, s32 arg1)
Definition math_util.c:48
void mtxf_translate(Mat4 dest, Vec3f b)
Definition math_util.c:211
void render_actor_paddle_boat(Camera *arg0, struct PaddleWheelBoat *boat, UNUSED Mat4 arg2, u16 pathCounter)
Definition render.inc.c:11
Definition camera.h:26
Vec3s rot
Definition camera.h:33
Vec3f pos
Definition camera.h:27
Definition actor_types.h:238
Vec3f pos
Definition actor_types.h:247
Vec3s boatRot
Definition actor_types.h:245
s16 wheelRot
Definition actor_types.h:242
signed int s32
Definition ultratypes.h:15
float f32
Definition ultratypes.h:33
unsigned short int u16
Definition ultratypes.h:14