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>
4#include <defines.h>
7
16void render_actor_box_truck(Camera* camera, struct Actor* arg1) {
17 UNUSED s32 pad[6];
18 Mat4 spD8;
19 UNUSED s32 pad2[32];
20 f32 temp_f0 =
21 is_within_render_distance(camera->pos, arg1->pos, camera->rot[1], 2500.0f, camera->fieldOfView, 9000000.0f);
22 if (CVarGetInteger("gNoCulling", 0) == 1) {
23 temp_f0 = MAX(temp_f0, 0.0f);
24 }
25 if (temp_f0 < 0.0f) {
26 return;
27 }
28
29 if (CVarGetInteger("gDisableLod", 1) == 1) {
30 temp_f0 = 0.0f;
31 }
32
33 gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
34 gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
35
36 mtxf_pos_rotation_xyz(spD8, arg1->pos, arg1->rot);
37 if (render_set_position(spD8, 0) != 0) {
38
39 switch (arg1->state) {
40 case 0:
41 gSPDisplayList(gDisplayListHead++, &d_course_toads_turnpike_dl_23858);
42 break;
43 case 1:
44 gSPDisplayList(gDisplayListHead++, &d_course_toads_turnpike_dl_238A0);
45 break;
46 case 2:
47 gSPDisplayList(gDisplayListHead++, &d_course_toads_turnpike_dl_238E8);
48 break;
49 }
50
52 if (temp_f0 < 160000.0f) {
53 gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_0);
54 } else if (temp_f0 < 640000.0f) {
55 gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_1);
56 } else {
57 gSPDisplayList(gDisplayListHead++, toads_turnpike_dl_2);
58 }
59 } else if (temp_f0 < 160000.0f) {
60 gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_1);
61 } else {
62 gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_2);
63 }
64 }
65}
void gSPDisplayList(Gfx *pkt, Gfx *dl)
Definition GBIMiddleware.cpp:12
void render_actor_box_truck(Camera *camera, struct Actor *arg1)
Renders the box truck actor. Actor used in Toad's Turnpike. His update are made in vehicle.
Definition render.inc.c:16
f32 Mat4[4][4]
Definition common_structs.h:20
#define SCREEN_MODE_1P
Options for gScreenModeSelection and gActiveScreenMode.
Definition defines.h:246
#define UNUSED
Definition macros.h:40
#define MAX(a, b)
Definition macros.h:144
Gfx * gDisplayListHead
Definition main.c:129
s32 gActiveScreenMode
Definition main.c:172
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
Definition actor_types.h:124
s16 state
Definition actor_types.h:128
Vec3s rot
Definition actor_types.h:131
Vec3f pos
Definition actor_types.h:133
Definition camera.h:35
Vec3s rot
Definition camera.h:42
f32 fieldOfView
Definition camera.h:43
Vec3f pos
Definition camera.h:36