Mario Kart 64
Loading...
Searching...
No Matches
render_player.h
Go to the documentation of this file.
1#ifndef RENDER_PLAYER_H
2#define RENDER_PLAYER_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*);
13void func_8001F9E4(Player*, Camera*, s8);
15u16 func_8001FD78(Player*, f32, f32, f32);
16void init_render_player(Player*, Camera*, s8, s8);
21void try_rendering_player(Player*, s8, s8);
26void func_80021B0C(void);
27void func_80021C78(void);
28void func_80021D40(void);
29void func_80021DA8(void);
34bool adjust_angle(s16*, s16, s16);
35void move_s32_towards(s32*, s32, f32);
36void move_f32_towards(f32*, f32, f32);
37void move_s16_towards(s16*, s16, f32);
38void move_u16_towards(u16*, s16, f32);
39void func_80022744(void);
40void func_8002276C(void);
41void func_80022A98(Player*, s8);
44void func_80022CA8(Player*, s8, s8, s8);
45void func_80022D60(Player*, s8, s8, s8);
47void func_80022E84(Player*, s8, s8, s8);
52void func_800235AC(Player*, s8);
53void func_80023BF0(Player*, s8, s8, s8);
54void render_player_shadow(Player*, s8, s8);
56void render_kart(Player*, s8, s8, s8);
57void render_ghost(Player*, s8, s8, s8);
58void func_80025DE8(Player*, s8, s8, s8);
59void render_player_ice_reflection(Player*, s8, s8, s8);
60void render_player(Player*, s8, s8);
61void func_80026A48(Player*, s8);
62void update_wheel_palette(Player*, s8, s8, s8);
64void func_8002701C(void);
65void func_80027024(s32, s32, s32);
66
67/* This is where I'd put my static data, if I had any */
68
70
71extern s32 D_80164A28;
72extern s16 gPlayersToRenderPlayerId[];
73extern s16 D_80164ABE[];
74extern s16 gPlayersToRenderScreenId[];
76extern s16 gMatrixEffectCount;
77extern u16 gPlayerRedEffect[];
78extern u16 gPlayerGreenEffect[];
79extern u16 gPlayerBlueEffect[];
80extern u16 gPlayerCyanEffect[];
81extern u16 gPlayerMagentaEffect[];
82extern u16 gPlayerYellowEffect[];
83extern s32 D_80164B80[];
84
86
87extern s32 gPlayersToRenderCount;
88extern void* D_800DDB5C[];
89extern Vtx* gPlayerVtx[];
90extern f32 gCharacterSize[];
91extern s32 D_800DDE74[];
92extern Vtx D_800E51D0[];
93extern Vtx D_800E5210[];
94extern f64 D_800ED680;
95extern f64 D_800ED688;
96extern f32 D_800ED6A8;
97
98// There are actually found in data_0DD0A0_2_0.s
99extern Vtx gPlayerOneVtx[];
100extern Vtx gPlayerTwoVtx[];
101extern Vtx gPlayerThreeVtx[];
102extern Vtx gPlayerFourVtx[];
103extern Vtx gPlayerFiveVtx[];
104extern Vtx gPlayerSixVtx[];
105extern Vtx gPlayerSevenVtx[];
106extern Vtx gPlayerEightVtx[];
107
108extern u32 gKartMarioWheels0[];
109extern u32 gKartMarioWheels1[];
110extern u32 gKartLuigiWheels0[];
111extern u32 gKartLuigiWheels1[];
112extern u32 gKartBowserWheels0[];
113extern u32 gKartBowserWheels1[];
114extern u32 gKartToadWheels0[];
115extern u32 gKartToadWheels1[];
116extern u32 gKartYoshiWheels0[];
117extern u32 gKartYoshiWheels1[];
118extern u32 gKartDKWheels0[];
119extern u32 gKartDKWheels1[];
120extern u32 gKartPeachWheels0[];
121extern u32 gKartPeachWheels1[];
122extern u32 gKartWarioWheels0[];
123extern u32 gKartWarioWheels1[];
124
125// These all come the kart data stuff, they should end up in their own inc.c eventually
126#ifdef TARGET_N64
127extern u8* gKartMario168Wheel0[];
128extern u8* gKartMario147Wheel0[];
129extern u8* gKartMario126Wheel0[];
130extern u8* gKartMario105Wheel0[];
131extern u8* gKartMario084Wheel0[];
132extern u8* gKartMario063Wheel0[];
133extern u8* gKartMario042Wheel0[];
134extern u8* gKartMario021Wheel0[];
135extern u8* gKartMario000Wheel0[];
136extern u8* gKartMario269Wheel0[];
137extern u8* gKartMario269Wheel0[];
138extern u8* gKartMario249Wheel0[];
139extern u8* gKartMario229Wheel0[];
140extern u8* gKartMario229Wheel0[];
141extern u8* gKartMario229Wheel0[];
142extern u8* gKartMario209Wheel0[];
143extern u8* gKartMario189Wheel0[];
144extern u8* gKartMario189Wheel0[];
145extern u8* gKartLuigi168Wheel0[];
146extern u8* gKartLuigi147Wheel0[];
147extern u8* gKartLuigi126Wheel0[];
148extern u8* gKartLuigi105Wheel0[];
149extern u8* gKartLuigi084Wheel0[];
150extern u8* gKartLuigi063Wheel0[];
151extern u8* gKartLuigi042Wheel0[];
152extern u8* gKartLuigi021Wheel0[];
153extern u8* gKartLuigi000Wheel0[];
154extern u8* gKartLuigi269Wheel0[];
155extern u8* gKartLuigi269Wheel0[];
156extern u8* gKartLuigi249Wheel0[];
157extern u8* gKartLuigi229Wheel0[];
158extern u8* gKartLuigi229Wheel0[];
159extern u8* gKartLuigi229Wheel0[];
160extern u8* gKartLuigi209Wheel0[];
161extern u8* gKartLuigi189Wheel0[];
162extern u8* gKartLuigi189Wheel0[];
163extern u8* gKartBowser168Wheel0[];
164extern u8* gKartBowser147Wheel0[];
165extern u8* gKartBowser126Wheel0[];
166extern u8* gKartBowser105Wheel0[];
167extern u8* gKartBowser084Wheel0[];
168extern u8* gKartBowser063Wheel0[];
169extern u8* gKartBowser042Wheel0[];
170extern u8* gKartBowser021Wheel0[];
171extern u8* gKartBowser000Wheel0[];
172extern u8* gKartBowser269Wheel0[];
173extern u8* gKartBowser269Wheel0[];
174extern u8* gKartBowser249Wheel0[];
175extern u8* gKartBowser229Wheel0[];
176extern u8* gKartBowser229Wheel0[];
177extern u8* gKartBowser229Wheel0[];
178extern u8* gKartBowser209Wheel0[];
179extern u8* gKartBowser189Wheel0[];
180extern u8* gKartBowser189Wheel0[];
181extern u8* gKartToad168Wheel0[];
182extern u8* gKartToad147Wheel0[];
183extern u8* gKartToad126Wheel0[];
184extern u8* gKartToad105Wheel0[];
185extern u8* gKartToad084Wheel0[];
186extern u8* gKartToad063Wheel0[];
187extern u8* gKartToad042Wheel0[];
188extern u8* gKartToad021Wheel0[];
189extern u8* gKartToad000Wheel0[];
190extern u8* gKartToad269Wheel0[];
191extern u8* gKartToad269Wheel0[];
192extern u8* gKartToad249Wheel0[];
193extern u8* gKartToad229Wheel0[];
194extern u8* gKartToad229Wheel0[];
195extern u8* gKartToad229Wheel0[];
196extern u8* gKartToad209Wheel0[];
197extern u8* gKartToad189Wheel0[];
198extern u8* gKartToad189Wheel0[];
199extern u8* gKartYoshi168Wheel0[];
200extern u8* gKartYoshi147Wheel0[];
201extern u8* gKartYoshi126Wheel0[];
202extern u8* gKartYoshi105Wheel0[];
203extern u8* gKartYoshi084Wheel0[];
204extern u8* gKartYoshi063Wheel0[];
205extern u8* gKartYoshi042Wheel0[];
206extern u8* gKartYoshi021Wheel0[];
207extern u8* gKartYoshi000Wheel0[];
208extern u8* gKartYoshi269Wheel0[];
209extern u8* gKartYoshi269Wheel0[];
210extern u8* gKartYoshi249Wheel0[];
211extern u8* gKartYoshi229Wheel0[];
212extern u8* gKartYoshi229Wheel0[];
213extern u8* gKartYoshi229Wheel0[];
214extern u8* gKartYoshi209Wheel0[];
215extern u8* gKartYoshi189Wheel0[];
216extern u8* gKartYoshi189Wheel0[];
217extern u8* gKartDK168Wheel0[];
218extern u8* gKartDK147Wheel0[];
219extern u8* gKartDK126Wheel0[];
220extern u8* gKartDK105Wheel0[];
221extern u8* gKartDK084Wheel0[];
222extern u8* gKartDK063Wheel0[];
223extern u8* gKartDK042Wheel0[];
224extern u8* gKartDK021Wheel0[];
225extern u8* gKartDK000Wheel0[];
226extern u8* gKartDK269Wheel0[];
227extern u8* gKartDK269Wheel0[];
228extern u8* gKartDK249Wheel0[];
229extern u8* gKartDK229Wheel0[];
230extern u8* gKartDK229Wheel0[];
231extern u8* gKartDK229Wheel0[];
232extern u8* gKartDK209Wheel0[];
233extern u8* gKartDK189Wheel0[];
234extern u8* gKartDK189Wheel0[];
235extern u8* gKartPeach168Wheel0[];
236extern u8* gKartPeach147Wheel0[];
237extern u8* gKartPeach126Wheel0[];
238extern u8* gKartPeach105Wheel0[];
239extern u8* gKartPeach084Wheel0[];
240extern u8* gKartPeach063Wheel0[];
241extern u8* gKartPeach042Wheel0[];
242extern u8* gKartPeach021Wheel0[];
243extern u8* gKartPeach000Wheel0[];
244extern u8* gKartPeach269Wheel0[];
245extern u8* gKartPeach269Wheel0[];
246extern u8* gKartPeach249Wheel0[];
247extern u8* gKartPeach229Wheel0[];
248extern u8* gKartPeach229Wheel0[];
249extern u8* gKartPeach229Wheel0[];
250extern u8* gKartPeach209Wheel0[];
251extern u8* gKartPeach189Wheel0[];
252extern u8* gKartPeach189Wheel0[];
253extern u8* gKartWario168Wheel0[];
254extern u8* gKartWario147Wheel0[];
255extern u8* gKartWario126Wheel0[];
256extern u8* gKartWario105Wheel0[];
257extern u8* gKartWario084Wheel0[];
258extern u8* gKartWario063Wheel0[];
259extern u8* gKartWario042Wheel0[];
260extern u8* gKartWario021Wheel0[];
261extern u8* gKartWario000Wheel0[];
262extern u8* gKartWario269Wheel0[];
263extern u8* gKartWario269Wheel0[];
264extern u8* gKartWario249Wheel0[];
265extern u8* gKartWario229Wheel0[];
266extern u8* gKartWario229Wheel0[];
267extern u8* gKartWario229Wheel0[];
268extern u8* gKartWario209Wheel0[];
269extern u8* gKartWario189Wheel0[];
270extern u8* gKartWario189Wheel0[];
271#endif
272
273extern s16 D_80165020[40];
274// Used to calculate difference between previous and current player velocity.
275extern Vec3f gPlayerLastVelocity[8];
276extern s16 gLastAnimFrameSelector[4][8];
277extern s16 gLastAnimGroupSelector[4][8];
278extern s16 D_80165150[4][8];
279extern s16 D_80165190[4][8];
280extern s16 D_801651D0[4][8];
281
282#endif // RENDER_PLAYER_H
s32 D_80164A28
Definition camera.c:42
f32 Vec3f[3]
Definition common_structs.h:10
s16 Vec3s[3]
Definition common_structs.h:15
f32 Mat4[4][4]
Definition common_structs.h:20
s32 gPlayerStarEffectStartTime[8]
Definition effects.c:24
s16 D_80165190[4][8]
Definition render_player.c:66
Vtx * gPlayerVtx[]
Definition render_player.c:588
u32 gKartLuigiWheels0[]
Definition render_player.c:596
u32 gKartDKWheels1[]
Definition render_player.c:611
u32 gKartMarioWheels0[]
Definition render_player.c:593
s16 gLastAnimFrameSelector[4][8]
Definition render_player.c:63
UNUSED void * D_800DDB5C[3]
Definition render_player.c:43
u32 gKartToadWheels1[]
Definition render_player.c:603
u32 gKartPeachWheels0[]
Definition render_player.c:613
s32 D_80164B80[296]
Definition render_player.c:60
u16 gPlayerMagentaEffect[8]
Definition render_player.c:56
u32 gKartPeachWheels1[]
Definition render_player.c:614
u32 gKartToadWheels0[]
Definition render_player.c:602
s32 gPlayersToRenderCount
Definition render_player.c:40
u32 gKartBowserWheels1[]
Definition render_player.c:600
u32 gKartLuigiWheels1[]
Definition render_player.c:597
u16 gPlayerBlueEffect[8]
Definition render_player.c:54
u32 gKartBowserWheels0[]
Definition render_player.c:599
struct_D_802F1F80 * gPlayerPalette
Definition render_player.c:50
u16 gPlayerCyanEffect[8]
Definition render_player.c:55
s16 gPlayersToRenderPlayerId[8]
Definition render_player.c:45
u16 gPlayerYellowEffect[8]
Definition render_player.c:57
s16 gPlayersToRenderScreenId[8]
Definition render_player.c:46
s32 D_800DDE74[]
Definition render_player.c:727
s16 D_80165150[4][8]
Definition render_player.c:65
u32 gKartWarioWheels1[]
Definition render_player.c:617
s16 gLastAnimGroupSelector[4][8]
Definition render_player.c:64
u32 gKartYoshiWheels1[]
Definition render_player.c:608
u32 gKartDKWheels0[]
Definition render_player.c:610
u32 gKartYoshiWheels0[]
Definition render_player.c:607
Player * gPlayersToRenderPlayer[8]
Definition render_player.c:47
s16 gMatrixEffectCount
Definition render_player.c:48
s16 D_801651D0[4][8]
Definition render_player.c:67
f32 gCharacterSize[]
Definition render_player.c:591
u16 gPlayerRedEffect[8]
Definition render_player.c:52
s16 D_80165020[40]
Definition render_player.c:61
u32 gKartWarioWheels0[]
Definition render_player.c:616
Vec3f gPlayerLastVelocity[8]
Definition render_player.c:62
u32 gKartMarioWheels1[]
Definition render_player.c:594
u16 gPlayerGreenEffect[8]
Definition render_player.c:53
void func_80021B0C(void)
Definition render_player.c:844
void func_80022B50(Player *, s8)
void func_80021C78(void)
Definition render_player.c:871
void render_player_shadow_credits(Player *, s8, s8)
Definition render_player.c:1548
void func_8002701C(void)
Definition render_player.c:2032
void failed_fixed_point_matrix_conversion(Mtx *, Mat4)
Definition render_player.c:941
u16 check_player_camera_collision(Player *, Camera *, f32, f32)
Definition render_player.c:102
void func_80022DB4(Player *, s8)
void func_8001F980(s32 *, s32 *)
Definition render_player.c:69
void update_wheel_palette(Player *, s8, s8, s8)
Definition render_player.c:1966
void render_player(Player *, s8, s8)
Definition render_player.c:1886
void render_player_shadow(Player *, s8, s8)
Definition render_player.c:1472
f32 D_800ED6A8
void render_players_on_screen_two(void)
Definition render_player.c:729
u16 func_8001FD78(Player *, f32, f32, f32)
void load_kart_texture_and_render_kart_particle_on_screen_four(void)
Definition render_player.c:448
void move_s32_towards(s32 *, s32, f32)
Definition render_player.c:1026
void move_f32_towards(f32 *, f32, f32)
Definition render_player.c:1052
void mtxf_translate_rotate(Mat4, Vec3f, Vec3s)
Definition render_player.c:898
void func_80022E84(Player *, s8, s8, s8)
void render_players_on_screen_four(void)
Definition render_player.c:814
s16 D_80164ABE[]
void render_players_on_screen_one(void)
Definition render_player.c:517
void func_8002276C(void)
Definition render_player.c:1072
void load_kart_texture_and_render_kart_particle_on_screen_one(void)
Definition render_player.c:266
void func_80022CA8(Player *, s8, s8, s8)
void func_80022A98(Player *, s8)
Definition render_player.c:1144
void render_light_environment_on_player(Player *, s8)
Definition render_player.c:1299
void func_80022BC4(Player *, s8)
void func_80026A48(Player *, s8)
Definition render_player.c:1930
void try_rendering_player(Player *, s8, s8)
Definition render_player.c:508
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:187
void render_player_ice_reflection(Player *, s8, s8, s8)
Definition render_player.c:1840
bool is_player_under_light_luigi_raceway(Player *, s8)
Definition render_player.c:1281
void func_80021D40(void)
Definition render_player.c:884
void load_kart_texture_and_render_kart_particle_on_screen_two(void)
Definition render_player.c:328
void move_u16_towards(u16 *, s16, f32)
Definition render_player.c:1063
bool adjust_angle(s16 *, s16, s16)
Definition render_player.c:997
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:1597
f64 D_800ED680
void func_80027024(s32, s32, s32)
void change_player_color_effect_cmy(Player *, s8, s32, f32)
void func_80021DA8(void)
Definition render_player.c:891
void render_players_on_screen_three(void)
Definition render_player.c:784
void func_80025DE8(Player *, s8, s8, s8)
Definition render_player.c:1797
void func_80022744(void)
Definition render_player.c:1067
void update_player_kart_hop(Player *)
Definition player_controller.c:3095
void render_ghost(Player *, s8, s8, s8)
Definition render_player.c:1730
void load_kart_texture_and_render_kart_particle_on_screen_three(void)
Definition render_player.c:388
void func_8001F9E4(Player *, Camera *, s8)
Definition render_player.c:82
void move_s16_towards(s16 *, s16, f32)
Definition render_player.c:1059
void func_80023BF0(Player *, s8, s8, s8)
Definition render_player.c:1454
void func_800235AC(Player *, s8)
Definition render_player.c:1358
f64 D_800ED688
void convert_to_fixed_point_matrix(Mtx *, Mat4)
Definition render_player.c:972
void func_80021F50(Mat4, Vec3f)
Definition render_player.c:927
Vtx D_800E5210[]
Definition some_data.c:168
Vtx gPlayerFiveVtx[]
Definition some_data.c:84
Vtx gPlayerFourVtx[]
Definition some_data.c:65
Vtx gPlayerThreeVtx[]
Definition some_data.c:46
Vtx gPlayerSevenVtx[]
Definition some_data.c:123
Vtx D_800E51D0[]
Definition some_data.c:161
Vtx gPlayerEightVtx[]
Definition some_data.c:142
Vtx gPlayerTwoVtx[]
Definition some_data.c:27
Vtx gPlayerSixVtx[]
Definition some_data.c:103
Vtx gPlayerOneVtx[]
Definition some_data.c:8
Definition camera.h:27
Definition common_structs.h:264
Definition buffers.h:65