SpaghettiKart
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* camera, struct RailroadCrossing* rr_crossing) {
14 UNUSED Vec3s sp80 = { 0, 0, 0 };
15 Mat4 sp40;
16 f32 unk = is_within_render_distance(camera->pos, rr_crossing->pos, camera->rot[1], 0.0f, camera->fieldOfView,
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:12
s32 CM_GetCrossingOnTriggered(uintptr_t *crossing)
Definition Game.cpp:285
s16 Vec3s[3]
Definition common_structs.h:15
f32 Mat4[4][4]
Definition common_structs.h:20
#define UNUSED
Definition macros.h:40
#define MAX(a, b)
Definition macros.h:144
Gfx * gDisplayListHead
Definition main.c:129
s32 render_set_position(Mat4 mtx, s32 arg1)
Definition math_util.c:53
f32 is_within_render_distance(Vec3f cameraPos, Vec3f objectPos, u16 orientationY, f32 minDistance, f32 fov, f32 maxDistance)
Definition math_util.c:1099
void mtxf_pos_rotation_xyz(Mat4 out, Vec3f pos, Vec3s orientation)
Definition math_util.c:449
void render_actor_railroad_crossing(Camera *camera, struct RailroadCrossing *rr_crossing)
Renders the railroad crossing actor. Actor used in Kalimari Desert.
Definition render.inc.c:13
Definition camera.h:35
Vec3s rot
Definition camera.h:42
f32 fieldOfView
Definition camera.h:43
Vec3f pos
Definition camera.h:36
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