Mario Kart 64
Loading...
Searching...
No Matches
render.inc.c
Go to the documentation of this file.
1#include <actors.h>
2#include <libultra/gbi.h>
3#include <main.h>
5
13void render_actor_railroad_crossing(Camera* arg0, struct RailroadCrossing* rr_crossing) {
14 UNUSED Vec3s sp80 = { 0, 0, 0 };
15 Mat4 sp40;
16 f32 unk = is_within_render_distance(arg0->pos, rr_crossing->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1],
17 4000000.0f);
18
19 if (CVarGetInteger("gNoCulling", 0) == 1) {
20 unk = MAX(unk, 0.0f);
21 }
22
23 if (!(unk < 0.0f)) {
24 mtxf_pos_rotation_xyz(sp40, rr_crossing->pos, rr_crossing->rot);
25
26 if (render_set_position(sp40, 0) != 0) {
27 gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING);
28 gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
29
31
32 if (rr_crossing->someTimer < 20) {
33 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_crossing_right_active);
34 } else {
35 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_crossing_left_active);
36 }
37 } else {
38 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_crossing_both_inactive);
39 }
40 gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
41 }
42 }
43}
void gSPDisplayList(Gfx *pkt, Gfx *dl)
Definition GBIMiddleware.cpp:11
s32 CM_GetCrossingOnTriggered(uintptr_t *crossing)
Definition Game.cpp:329
Camera * camera1
Definition camera.c:29
s16 Vec3s[3]
Definition common_structs.h:15
f32 Mat4[4][4]
Definition common_structs.h:20
#define UNUSED
Definition macros.h:26
#define MAX(a, b)
Definition macros.h:130
Gfx * gDisplayListHead
Definition main.c:136
f32 gCameraZoom[4]
Definition main.c:126
s32 render_set_position(Mat4 mtx, s32 arg1)
Definition math_util.c:54
f32 is_within_render_distance(Vec3f cameraPos, Vec3f objectPos, u16 orientationY, f32 minDistance, f32 fov, f32 maxDistance)
Definition math_util.c:1100
void mtxf_pos_rotation_xyz(Mat4 out, Vec3f pos, Vec3s orientation)
Definition math_util.c:450
void render_actor_railroad_crossing(Camera *arg0, struct RailroadCrossing *rr_crossing)
Renders the railroad crossing actor. Actor used in Kalimari Desert.
Definition render.inc.c:13
Definition camera.h:27
Vec3s rot
Definition camera.h:34
Vec3f pos
Definition camera.h:28
Definition actor_types.h:164
void * crossingTrigger
Definition actor_types.h:169
Vec3s rot
Definition actor_types.h:170
Vec3f pos
Definition actor_types.h:172
s16 someTimer
Definition actor_types.h:167