Mario Kart 64
Loading...
Searching...
No Matches
render_player.h
Go to the documentation of this file.
1#ifndef CODE_8001F980_H
2#define CODE_8001F980_H
3
4#include <common_structs.h>
5#include "buffers.h"
6#include "camera.h"
7
8#define SOME_TEXTURE_POINTER_MATH 0x800
9
10/* Function Prototypes */
11
12void func_8001F980(s32*, s32*);
26void func_80021B0C(void);
27void func_80021C78(void);
28void func_80021D40(void);
29void func_80021DA8(void);
32void mtxf_scale2(Mat4, f32);
35bool adjust_angle(s16*, s16, s16);
40void func_80022744(void);
41void func_8002276C(void);
42void func_80022A98(Player*, s8);
53void func_800235AC(Player*, s8);
54void func_80023BF0(Player*, s8, s8, s8);
57void render_kart(Player*, s8, s8, s8);
58void render_ghost(Player*, s8, s8, s8);
59void func_80025DE8(Player*, s8, s8, s8);
61void render_player(Player*, s8, s8);
62void func_80026A48(Player*, s8);
65void func_8002701C(void);
67
68/* This is where I'd put my static data, if I had any */
69
71extern u8* sKartUpperTexture;
72extern u8* sKartLowerTexture;
73
74extern s32 D_80164A28;
76extern s16 D_80164ABE[];
80extern u16 gPlayerRedEffect[];
81extern u16 gPlayerGreenEffect[];
82extern u16 gPlayerBlueEffect[];
83extern u16 gPlayerCyanEffect[];
86extern s32 D_80164B80[];
87
88extern s32 D_8018D930[];
89
91extern Gfx D_0D008D58[];
92
94extern void* D_800DDB5C[];
95extern Vtx* D_800DDBB4[];
96extern f32 gCharacterSize[];
97extern s32 D_800DDE74[];
98extern Vtx D_800E51D0[];
99extern Vtx D_800E5210[];
100extern f64 D_800ED680;
101extern f64 D_800ED688;
102extern f32 D_800ED6A8;
103
104// There are actually found in data_0DD0A0_2_0.s
105extern Vtx D_800E49C0[];
106extern Vtx D_800E4AC0[];
107extern Vtx D_800E4BC0[];
108extern Vtx D_800E4CC0[];
109extern Vtx D_800E4DC0[];
110extern Vtx D_800E4EC0[];
111extern Vtx D_800E4FD0[];
112extern Vtx D_800E50D0[];
113
114extern u8** gKartMarioWheels0[];
115extern u8** gKartMarioWheels1[];
116extern u8** gKartLuigiWheels0[];
117extern u8** gKartLuigiWheels1[];
118extern u8** gKartBowserWheels0[];
119extern u8** gKartBowserWheels1[];
120extern u8** gKartToadWheels0[];
121extern u8** gKartToadWheels1[];
122extern u8** gKartYoshiWheels0[];
123extern u8** gKartYoshiWheels1[];
124extern u8** gKartDKWheels0[];
125extern u8** gKartDKWheels1[];
126extern u8** gKartPeachWheels0[];
127extern u8** gKartPeachWheels1[];
128extern u8** gKartWarioWheels0[];
129extern u8** gKartWarioWheels1[];
130
131extern u16** gKartWheels0[];
132extern u16** gKartWheels1[];
133
134// These all come the kart data stuff, they should end up in their own inc.c eventually
135extern u8* gKartMario168Wheel0[];
136extern u8* gKartMario147Wheel0[];
137extern u8* gKartMario126Wheel0[];
138extern u8* gKartMario105Wheel0[];
139extern u8* gKartMario084Wheel0[];
140extern u8* gKartMario063Wheel0[];
141extern u8* gKartMario042Wheel0[];
142extern u8* gKartMario021Wheel0[];
143extern u8* gKartMario000Wheel0[];
144extern u8* gKartMario269Wheel0[];
146extern u8* gKartMario249Wheel0[];
147extern u8* gKartMario229Wheel0[];
149extern u8* gKartMario229Wheel0[];
150extern u8* gKartMario209Wheel0[];
151extern u8* gKartMario189Wheel0[];
153extern u8* gKartLuigi168Wheel0[];
154extern u8* gKartLuigi147Wheel0[];
155extern u8* gKartLuigi126Wheel0[];
156extern u8* gKartLuigi105Wheel0[];
157extern u8* gKartLuigi084Wheel0[];
158extern u8* gKartLuigi063Wheel0[];
159extern u8* gKartLuigi042Wheel0[];
160extern u8* gKartLuigi021Wheel0[];
161extern u8* gKartLuigi000Wheel0[];
162extern u8* gKartLuigi269Wheel0[];
164extern u8* gKartLuigi249Wheel0[];
165extern u8* gKartLuigi229Wheel0[];
167extern u8* gKartLuigi229Wheel0[];
168extern u8* gKartLuigi209Wheel0[];
169extern u8* gKartLuigi189Wheel0[];
171extern u8* gKartBowser168Wheel0[];
172extern u8* gKartBowser147Wheel0[];
173extern u8* gKartBowser126Wheel0[];
174extern u8* gKartBowser105Wheel0[];
175extern u8* gKartBowser084Wheel0[];
176extern u8* gKartBowser063Wheel0[];
177extern u8* gKartBowser042Wheel0[];
178extern u8* gKartBowser021Wheel0[];
179extern u8* gKartBowser000Wheel0[];
180extern u8* gKartBowser269Wheel0[];
182extern u8* gKartBowser249Wheel0[];
183extern u8* gKartBowser229Wheel0[];
185extern u8* gKartBowser229Wheel0[];
186extern u8* gKartBowser209Wheel0[];
187extern u8* gKartBowser189Wheel0[];
189extern u8* gKartToad168Wheel0[];
190extern u8* gKartToad147Wheel0[];
191extern u8* gKartToad126Wheel0[];
192extern u8* gKartToad105Wheel0[];
193extern u8* gKartToad084Wheel0[];
194extern u8* gKartToad063Wheel0[];
195extern u8* gKartToad042Wheel0[];
196extern u8* gKartToad021Wheel0[];
197extern u8* gKartToad000Wheel0[];
198extern u8* gKartToad269Wheel0[];
200extern u8* gKartToad249Wheel0[];
201extern u8* gKartToad229Wheel0[];
203extern u8* gKartToad229Wheel0[];
204extern u8* gKartToad209Wheel0[];
205extern u8* gKartToad189Wheel0[];
207extern u8* gKartYoshi168Wheel0[];
208extern u8* gKartYoshi147Wheel0[];
209extern u8* gKartYoshi126Wheel0[];
210extern u8* gKartYoshi105Wheel0[];
211extern u8* gKartYoshi084Wheel0[];
212extern u8* gKartYoshi063Wheel0[];
213extern u8* gKartYoshi042Wheel0[];
214extern u8* gKartYoshi021Wheel0[];
215extern u8* gKartYoshi000Wheel0[];
216extern u8* gKartYoshi269Wheel0[];
218extern u8* gKartYoshi249Wheel0[];
219extern u8* gKartYoshi229Wheel0[];
221extern u8* gKartYoshi229Wheel0[];
222extern u8* gKartYoshi209Wheel0[];
223extern u8* gKartYoshi189Wheel0[];
225extern u8* gKartDK168Wheel0[];
226extern u8* gKartDK147Wheel0[];
227extern u8* gKartDK126Wheel0[];
228extern u8* gKartDK105Wheel0[];
229extern u8* gKartDK084Wheel0[];
230extern u8* gKartDK063Wheel0[];
231extern u8* gKartDK042Wheel0[];
232extern u8* gKartDK021Wheel0[];
233extern u8* gKartDK000Wheel0[];
234extern u8* gKartDK269Wheel0[];
236extern u8* gKartDK249Wheel0[];
237extern u8* gKartDK229Wheel0[];
239extern u8* gKartDK229Wheel0[];
240extern u8* gKartDK209Wheel0[];
241extern u8* gKartDK189Wheel0[];
243extern u8* gKartPeach168Wheel0[];
244extern u8* gKartPeach147Wheel0[];
245extern u8* gKartPeach126Wheel0[];
246extern u8* gKartPeach105Wheel0[];
247extern u8* gKartPeach084Wheel0[];
248extern u8* gKartPeach063Wheel0[];
249extern u8* gKartPeach042Wheel0[];
250extern u8* gKartPeach021Wheel0[];
251extern u8* gKartPeach000Wheel0[];
252extern u8* gKartPeach269Wheel0[];
254extern u8* gKartPeach249Wheel0[];
255extern u8* gKartPeach229Wheel0[];
257extern u8* gKartPeach229Wheel0[];
258extern u8* gKartPeach209Wheel0[];
259extern u8* gKartPeach189Wheel0[];
261extern u8* gKartWario168Wheel0[];
262extern u8* gKartWario147Wheel0[];
263extern u8* gKartWario126Wheel0[];
264extern u8* gKartWario105Wheel0[];
265extern u8* gKartWario084Wheel0[];
266extern u8* gKartWario063Wheel0[];
267extern u8* gKartWario042Wheel0[];
268extern u8* gKartWario021Wheel0[];
269extern u8* gKartWario000Wheel0[];
270extern u8* gKartWario269Wheel0[];
272extern u8* gKartWario249Wheel0[];
273extern u8* gKartWario229Wheel0[];
275extern u8* gKartWario229Wheel0[];
276extern u8* gKartWario209Wheel0[];
277extern u8* gKartWario189Wheel0[];
279
280extern s16 D_80165020[40];
281extern Vec3f D_80165070[8];
282extern s16 gLastAnimFrameSelector[4][8];
283extern s16 gLastAnimGroupSelector[4][8];
284extern s16 D_80165150[4][8];
285extern s16 D_80165190[4][8];
286extern s16 D_801651D0[4][8];
287
288#endif
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 * D_800DDB5C[]
Definition render_player.c:30
s16 gPlayersToRenderPlayerId[]
Definition render_player.c:32
u8 * gKartDK168Wheel0[]
void func_80021B0C(void)
Definition render_player.c:642
u8 * gKartDK084Wheel0[]
u8 ** gKartBowserWheels1[]
Definition render_player.c:507
void func_80022B50(Player *, s8)
u8 * gKartDK147Wheel0[]
Vtx D_800E5210[]
Definition some_data.c:163
void func_80021C78(void)
Definition render_player.c:669
void render_player_shadow_credits(Player *, s8, s8)
Definition render_player.c:1357
u8 * gKartWario063Wheel0[]
u8 * gKartWario126Wheel0[]
u8 * gKartYoshi229Wheel0[]
Definition render_player.h:220
u16 ** gKartWheels1[]
Definition render_player.c:553
u8 ** gKartMarioWheels0[]
Definition render_player.c:487
u8 ** gKartToadWheels0[]
Definition render_player.c:511
s16 gLastAnimFrameSelector[4][8]
Definition render_player.c:51
u8 ** gKartPeachWheels0[]
Definition render_player.c:533
void func_8002701C(void)
Definition render_player.c:1841
u8 * gKartDK249Wheel0[]
u8 ** gKartPeachWheels1[]
Definition render_player.c:537
u8 * gKartToad126Wheel0[]
u8 * gKartWario249Wheel0[]
u8 * gKartMario189Wheel0[]
Definition render_player.h:152
u8 * gKartWario229Wheel0[]
Definition render_player.h:274
u8 * gKartBowser209Wheel0[]
void failed_fixed_point_matrix_conversion(Mtx *, Mat4)
Definition render_player.c:749
u8 * gKartToad063Wheel0[]
u8 * gKartPeach042Wheel0[]
u8 * gKartBowser189Wheel0[]
Definition render_player.h:188
u8 * gKartWario189Wheel0[]
Definition render_player.h:278
u16 check_player_camera_collision(Player *, Camera *, f32, f32)
Definition render_player.c:90
u8 ** gKartDKWheels0[]
Definition render_player.c:527
u16 gPlayerGreenEffect[]
Definition render_player.c:41
void func_80022DB4(Player *, s8)
s16 gPlayersToRenderScreenId[]
Definition render_player.c:33
u8 * gKartWario147Wheel0[]
void mtxf_scale2(Mat4, f32)
Definition render_player.c:729
u8 * gKartLuigi042Wheel0[]
u8 * gKartMario063Wheel0[]
u8 * gKartBowser168Wheel0[]
u8 * gKartBowser147Wheel0[]
u8 * gKartDK229Wheel0[]
Definition render_player.h:238
u8 * sKartLowerTexture
Definition render_player.c:39
u8 * gKartDK189Wheel0[]
Definition render_player.h:242
u8 * gKartLuigi063Wheel0[]
s16 D_80165190[4][8]
Definition render_player.c:54
u8 * gKartYoshi269Wheel0[]
Definition render_player.h:217
s32 gPlayersToRenderCount
Definition render_player.c:27
u8 * gKartBowser229Wheel0[]
Definition render_player.h:184
u8 * gKartMario042Wheel0[]
u8 * gKartWario042Wheel0[]
void func_8001F980(s32 *, s32 *)
Definition render_player.c:57
u8 * gKartPeach269Wheel0[]
Definition render_player.h:253
void update_wheel_palette(Player *, s8, s8, s8)
Definition render_player.c:1772
u8 * gKartToad229Wheel0[]
Definition render_player.h:202
u8 * gKartLuigi147Wheel0[]
u8 * gKartToad168Wheel0[]
void render_player(Player *, s8, s8)
Definition render_player.c:1704
u8 * gKartPeach168Wheel0[]
s32 D_80164A28
Definition camera.c:35
void render_player_shadow(Player *, s8, s8)
Definition render_player.c:1280
u8 * gKartYoshi042Wheel0[]
u8 * gKartWario105Wheel0[]
u8 * gKartDK269Wheel0[]
Definition render_player.h:235
Vtx D_800E4BC0[]
Definition some_data.c:41
u8 * gKartPeach000Wheel0[]
u8 * gKartPeach126Wheel0[]
f32 D_800ED6A8
Vtx D_800E4CC0[]
Definition some_data.c:60
u8 * gKartYoshi189Wheel0[]
Definition render_player.h:224
void render_players_on_screen_two(void)
Definition render_player.c:561
u16 func_8001FD78(Player *, f32, f32, f32)
void load_kart_texture_and_render_kart_particle_on_screen_four(void)
Definition render_player.c:382
u8 * gKartPeach084Wheel0[]
void move_s32_towards(s32 *, s32, f32)
Definition render_player.c:834
void move_f32_towards(f32 *, f32, f32)
Definition render_player.c:860
u8 * gKartLuigi000Wheel0[]
u8 * gKartDK209Wheel0[]
Vtx D_800E4AC0[]
Definition some_data.c:22
u8 * gKartLuigi209Wheel0[]
void mtxf_translate_rotate(Mat4, Vec3f, Vec3s)
Definition render_player.c:696
u8 * gKartYoshi168Wheel0[]
void func_80022E84(Player *, s8, s8, s8)
u8 * gKartMario209Wheel0[]
u8 * gKartLuigi084Wheel0[]
Vec3f D_80165070[8]
Definition render_player.c:50
u8 * gKartYoshi126Wheel0[]
u8 ** gKartWarioWheels1[]
Definition render_player.c:545
u8 * gKartBowser084Wheel0[]
u8 * gKartLuigi021Wheel0[]
struct_D_802F1F80 * gPlayerPalette
Definition render_player.c:37
void render_players_on_screen_four(void)
Definition render_player.c:621
s16 D_80164ABE[]
void render_players_on_screen_one(void)
Definition render_player.c:430
u8 * gKartDK000Wheel0[]
Player * gPlayersToRenderPlayer[]
Definition render_player.c:34
void func_8002276C(void)
Definition render_player.c:880
u8 * gKartMario084Wheel0[]
u8 * gKartYoshi000Wheel0[]
u8 * gKartToad042Wheel0[]
u8 * gKartPeach021Wheel0[]
s32 D_8018D930[]
Definition effects.c:23
void load_kart_texture_and_render_kart_particle_on_screen_one(void)
Definition render_player.c:250
u8 * gKartYoshi021Wheel0[]
u8 * gKartToad000Wheel0[]
u8 * gKartMario249Wheel0[]
u8 * gKartLuigi249Wheel0[]
void func_80022CA8(Player *, s8, s8, s8)
u8 ** gKartLuigiWheels1[]
Definition render_player.c:499
u8 * gKartLuigi189Wheel0[]
Definition render_player.h:170
void func_80022A98(Player *, s8)
Definition render_player.c:952
void render_light_environment_on_player(Player *, s8)
Definition render_player.c:1110
void func_80022BC4(Player *, s8)
s32 D_800DDE74[]
Definition render_player.c:557
u8 * gKartYoshi209Wheel0[]
Vtx * D_800DDBB4[]
Definition render_player.c:483
Gfx common_square_plain_render[]
s16 D_80165150[4][8]
Definition render_player.c:53
u8 * gKartWario168Wheel0[]
void func_80026A48(Player *, s8)
Definition render_player.c:1743
u8 * gKartPeach063Wheel0[]
u8 * gKartPeach229Wheel0[]
Definition render_player.h:256
u8 * gKartWario269Wheel0[]
Definition render_player.h:271
u8 ** gKartYoshiWheels1[]
Definition render_player.c:523
u8 * gKartWario084Wheel0[]
Vtx D_800E49C0[]
Definition some_data.c:3
void try_rendering_player(Player *, s8, s8)
Definition render_player.c:421
u8 * gKartYoshi084Wheel0[]
void init_render_player(Player *, Camera *, s8, s8)
one of his function is to put the frame to load in to a list to load it to be only applied for the ne...
Definition render_player.c:171
u8 * gKartDK105Wheel0[]
u8 * gKartToad269Wheel0[]
Definition render_player.h:199
void render_player_ice_reflection(Player *, s8, s8, s8)
Definition render_player.c:1661
Vtx D_800E4DC0[]
Definition some_data.c:79
u8 ** gKartWarioWheels0[]
Definition render_player.c:541
u8 * gKartPeach147Wheel0[]
u8 * gKartMario147Wheel0[]
bool is_player_under_light_luigi_raceway(Player *, s8)
Definition render_player.c:1089
Vtx D_800E51D0[]
Definition some_data.c:156
u8 * gKartPeach249Wheel0[]
u8 ** gKartBowserWheels0[]
Definition render_player.c:503
u8 * gKartMario105Wheel0[]
s16 gLastAnimGroupSelector[4][8]
Definition render_player.c:52
void func_80021D40(void)
Definition render_player.c:682
void load_kart_texture_and_render_kart_particle_on_screen_two(void)
Definition render_player.c:298
void move_u16_towards(u16 *, s16, f32)
Definition render_player.c:871
u8 * gKartBowser269Wheel0[]
Definition render_player.h:181
u8 * gKartBowser000Wheel0[]
u8 * gKartDK021Wheel0[]
u8 * gKartToad147Wheel0[]
u16 gPlayerRedEffect[]
Definition render_player.c:40
bool adjust_angle(s16 *, s16, s16)
Definition render_player.c:805
u16 gPlayerBlueEffect[]
Definition render_player.c:42
void change_player_color_effect_rgb(Player *, s8, s32, f32)
void func_80022D60(Player *, s8, s8, s8)
void render_kart(Player *, s8, s8, s8)
Definition render_player.c:1411
f64 D_800ED680
u8 * gKartBowser126Wheel0[]
void func_80027024(s32, s32, s32)
u8 * gKartYoshi063Wheel0[]
u8 ** gKartToadWheels1[]
Definition render_player.c:515
u8 * gKartBowser042Wheel0[]
u8 * gKartPeach105Wheel0[]
s32 D_80164B80[]
Definition render_player.c:48
u8 * gKartToad209Wheel0[]
u8 * gKartLuigi105Wheel0[]
u8 * gKartYoshi249Wheel0[]
void change_player_color_effect_cmy(Player *, s8, s32, f32)
u16 gPlayerCyanEffect[]
Definition render_player.c:43
u8 * gKartMario168Wheel0[]
s16 gMatrixEffectCount
Definition render_player.c:35
u8 * gKartMario021Wheel0[]
Vtx D_800E50D0[]
Definition some_data.c:137
u8 * gKartWario000Wheel0[]
s16 D_801651D0[4][8]
Definition render_player.c:55
f32 gCharacterSize[]
Definition render_player.c:485
Vtx D_800E4EC0[]
Definition some_data.c:98
u8 * gKartWario021Wheel0[]
u8 * gKartLuigi126Wheel0[]
u8 * gKartToad249Wheel0[]
void func_80021DA8(void)
Definition render_player.c:689
u8 * gKartLuigi168Wheel0[]
void render_players_on_screen_three(void)
Definition render_player.c:600
u8 * gKartMario126Wheel0[]
void func_80025DE8(Player *, s8, s8, s8)
Definition render_player.c:1617
u8 ** gKartMarioWheels1[]
Definition render_player.c:491
u8 * gKartBowser021Wheel0[]
u16 ** gKartWheels0[]
Definition render_player.c:549
u8 ** gKartLuigiWheels0[]
Definition render_player.c:495
u8 * gKartDK063Wheel0[]
u8 * gKartMario229Wheel0[]
Definition render_player.h:148
u8 * gKartLuigi269Wheel0[]
Definition render_player.h:163
u16 gPlayerYellowEffect[]
Definition render_player.c:45
s16 D_80165020[40]
Definition render_player.c:49
u8 * gKartBowser249Wheel0[]
u8 * gKartMario269Wheel0[]
Definition render_player.h:145
u8 * gKartToad105Wheel0[]
u8 ** gKartDKWheels1[]
Definition render_player.c:530
u8 * gKartPeach189Wheel0[]
Definition render_player.h:260
void func_80022744(void)
Definition render_player.c:875
u8 * gKartToad021Wheel0[]
u8 * gKartYoshi105Wheel0[]
u8 * gKartToad189Wheel0[]
Definition render_player.h:206
u16 gPlayerMagentaEffect[]
Definition render_player.c:44
u8 * gKartYoshi147Wheel0[]
u8 * gKartDK126Wheel0[]
u8 * gKartDK042Wheel0[]
u8 * gKartBowser105Wheel0[]
u8 * gKartWario209Wheel0[]
Gfx D_0D008D58[]
u8 * gKartMario000Wheel0[]
void render_ghost(Player *, s8, s8, s8)
Definition render_player.c:1540
Vtx D_800E4FD0[]
Definition some_data.c:118
void load_kart_texture_and_render_kart_particle_on_screen_three(void)
Definition render_player.c:343
void func_8001F9E4(Player *, Camera *, s8)
Definition render_player.c:70
u8 * gKartLuigi229Wheel0[]
Definition render_player.h:166
u8 ** gKartYoshiWheels0[]
Definition render_player.c:519
void func_80030A34(Player *)
Definition player_controller.c:3032
void move_s16_towards(s16 *, s16, f32)
Definition render_player.c:867
u8 * gKartToad084Wheel0[]
void func_80023BF0(Player *, s8, s8, s8)
Definition render_player.c:1269
u8 * gKartBowser063Wheel0[]
void func_800235AC(Player *, s8)
Definition render_player.c:1173
f64 D_800ED688
void convert_to_fixed_point_matrix(Mtx *, Mat4)
Definition render_player.c:780
u8 * sKartUpperTexture
Definition render_player.c:38
void func_80021F50(Mat4, Vec3f)
Definition render_player.c:723
u8 * gKartPeach209Wheel0[]
Definition camera.h:26
Definition common_structs.h:249
Definition buffers.h:65
signed int s32
Definition ultratypes.h:15
signed char s8
Definition ultratypes.h:11
signed short int s16
Definition ultratypes.h:13
float f32
Definition ultratypes.h:34
double f64
Definition ultratypes.h:35
unsigned short int u16
Definition ultratypes.h:14
unsigned char u8
Definition ultratypes.h:12