Mario Kart 64
Loading...
Searching...
No Matches
render.inc.c
Go to the documentation of this file.
1#include <actors.h>
2#include <main.h>
4
12void render_actor_falling_rock(Camera *camera, struct FallingRock *rock) {
13 Vec3s sp98;
14 Vec3f sp8C;
15 Mat4 sp4C;
16 f32 temp_f0;
17 UNUSED s32 pad[4];
18
19 if (rock->respawnTimer != 0) { return; }
20
21 temp_f0 = is_within_render_distance(camera->pos, rock->pos, camera->rot[1], 400.0f, gCameraZoom[camera - camera1], 4000000.0f);
22
23 if (temp_f0 < 0.0f) { return; }
24
25 if (temp_f0 < 250000.0f) {
26
27 if (rock->unk30.unk34 == 1) {
28 sp8C[0] = rock->pos[0];
29 sp8C[2] = rock->pos[2];
30 temp_f0 = func_802ABE30(sp8C[0], rock->pos[1], sp8C[2], rock->unk30.unk3A);
31 sp98[0] = 0;
32 sp98[1] = 0;
33 sp98[2] = 0;
34 sp8C[1] = temp_f0 + 2.0f;
35 mtxf_pos_rotation_xyz(sp4C, sp8C, sp98);
36 if (render_set_position(sp4C, 0) == 0) {
37 return;
38 }
40 }
41 }
42 mtxf_pos_rotation_xyz(sp4C, rock->pos, rock->rot);
43 if (render_set_position(sp4C, 0) == 0) {
44 return;
45 }
47}
Camera * camera1
Definition camera.c:22
Gfx d_course_choco_mountain_dl_6F88[]
Definition course_data.c:3438
Gfx d_course_choco_mountain_dl_falling_rock[]
Definition course_data.c:3453
f32 func_802ABE30(f32 x, f32 y, f32 z, u16 index)
Definition collision.c:520
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
void render_actor_falling_rock(Camera *camera, struct FallingRock *rock)
Renders the falling rock actor. Actor used in Choco Mountain.
Definition render.inc.c:12
#define UNUSED
Definition macros.h:24
Gfx * gDisplayListHead
Definition main.c:135
f32 gCameraZoom[4]
Definition main.c:122
f32 is_within_render_distance(Vec3f cameraPos, Vec3f objectPos, u16 orientationY, f32 minDistance, f32 fov, f32 maxDistance)
Definition math_util.c:1089
void mtxf_pos_rotation_xyz(Mat4 out, Vec3f pos, Vec3s orientation)
Definition math_util.c:463
s32 render_set_position(Mat4 arg0, s32 arg1)
Definition math_util.c:48
Definition camera.h:26
Vec3s rot
Definition camera.h:33
Vec3f pos
Definition camera.h:27
u16 unk3A
Definition common_structs.h:124
u16 unk34
Definition common_structs.h:120
Definition actor_types.h:172
Collision unk30
Definition actor_types.h:183
s16 respawnTimer
Definition actor_types.h:175
Vec3s rot
Definition actor_types.h:179
Vec3f pos
Definition actor_types.h:181
signed int s32
Definition ultratypes.h:15
float f32
Definition ultratypes.h:33