Mario Kart 64
Loading...
Searching...
No Matches
Game.h
Go to the documentation of this file.
1#ifndef _GAME_H
2#define _GAME_H
3
4#include <libultraship.h>
6#include "engine/HM_Intro.h"
7
8#ifdef __cplusplus
10class Track;
11struct Properties;
12class World;
13extern "C" {
14#endif
15#include "camera.h"
16#include "actor_types.h"
17#include "code_800029B0.h"
18
19extern s32 gTrophyIndex;
20
21#ifdef __cplusplus
22extern Editor::Editor gEditor;
23extern HarbourMastersIntro gMenuIntro;
24extern bool bCleanWorld;
25#endif
26// NOLINTBEGIN(readability-identifier-naming)
27
29Properties* CM_GetPropsTrackId(s32 trackId);
30
31void HM_InitIntro(void);
32void HM_TickIntro(void);
33void HM_DrawIntro(void);
34
35void CM_DisplayBattleBombKart(s32 playerId, s32 primAlpha);
36void CM_DrawBattleBombKarts(s32 cameraId);
37
38u32 WorldNextCup(void);
39
40u32 WorldPreviousCup(void);
41
42u32 GetCupIndex(void);
43
44const char* GetCupName(void);
45
46void LoadTrack();
47void UnLoadTrack();
48
49size_t GetTrackIndex();
50
51void SetTrack(const char* name);
52
53void NextTrack();
54void PreviousTrack();
55
56void CM_SetCup(void*);
57
58void CM_SetCupIndex(size_t index);
59
60void CM_DrawTrack(ScreenContext* arg0);
61
63void CM_ActivateFinishLakitu(s32 playerId);
64void CM_ActivateSecondLapLakitu(s32 playerId);
65void CM_ActivateFinalLapLakitu(s32 playerId);
66void CM_ActivateReverseLakitu(s32 playerId);
67
68void CM_InitClouds();
69
70void CM_DrawActors(Camera* camera);
72
73Camera* CM_GetPlayerCamera(s32 playerIndex);
74void CM_SetViewProjection(Camera* camera);
75void CM_TickCameras();
76Camera* CM_AddCamera(Vec3f spawn, s16 rot, u32 mode);
77Camera* CM_AddFreeCamera(Vec3f spawn, s16 rot, u32 mode);
78Camera* CM_AddTourCamera(Vec3f spawn, s16 rot, u32 mode);
79bool CM_IsTourEnabled();
80Camera* CM_AddLookBehindCamera(Vec3f spawn, s16 rot, u32 mode);
81void CM_AttachCamera(Camera* camera, s32 playerIdx);
82void CM_SetFreeCamera(bool state);
83void CM_CameraSetActive(size_t idx, bool state);
84void CM_ActivateTourCamera(Camera* camera);
85void CM_TickObjects();
87void CM_DrawObjects(s32 cameraId);
88
89void CM_TickEditor();
90void CM_DrawEditor();
91void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY);
95
96void CM_TickParticles(void);
97void CM_DrawParticles(s32 cameraId);
98
99void CM_TickClouds(s32 arg0, Camera* camera);
100
101void CM_Waypoints(Player* player, int8_t playerId);
102
103void CM_SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6,
104 f32* arg7);
105
107
109
110void CM_DrawTrackObjects(s32 cameraId);
111
112void CM_SomeSounds();
113
115
116void CM_WhatDoesThisDo(Player* player, int8_t playerId);
117
118void CM_WhatDoesThisDoAI(Player* player, int8_t playerId);
119
120void CM_SetStaffGhost();
121
122void CM_BombKartsWaypoint(s32 cameraId);
123
125
126s32 CM_GetCrossingOnTriggered(uintptr_t* crossing);
127
128void CM_BeginPlay();
129
130void CM_DrawWater(ScreenContext* screen, uint16_t pathCounter, uint16_t cameraRot,
131 uint16_t playerDirection);
132
133void CM_AICrossingBehaviour(s32 playerId);
134
135void CM_ClearVehicles(void);
136
137void CM_CrossingTrigger();
138
139void CM_VehicleCollision(s32 playerId, Player* player);
140
141void CM_TickActors();
142
143void CM_DrawBombKarts(s32 cameraId);
144
145void SetMarioRaceway(void);
146
147size_t GetCupCursorPosition();
148
149void SetCupCursorPosition(size_t position);
150
151size_t GetCupSize();
152
153void SetTrackFromCup();
154
155void* GetTrack(void);
156
157void SetTrackById(s32 track);
158
159struct Actor* CM_GetActor(size_t index);
160void CM_DeleteActor(size_t index);
161struct Actor* CM_AddBaseActor();
162void CM_ActorBeginPlay(struct Actor* actor);
163void CM_ActorGenerateCollision(struct Actor* actor);
164void Editor_AddLight(s8* direction);
165size_t CM_GetActorSize();
166size_t CM_FindActorIndex(struct Actor* actor);
167void CM_ActorCollision(Player* player, struct Actor* actor);
168void CM_CleanCameras(void);
169void CM_CleanWorld(void);
170
171f32 CM_GetWaterLevel(Vec3f pos, Collision* collision);
172
173bool IsMarioRaceway();
174bool IsLuigiRaceway();
175bool IsChocoMountain();
176bool IsBowsersCastle();
177bool IsBansheeBoardwalk();
178bool IsYoshiValley();
179bool IsFrappeSnowland();
180bool IsKoopaTroopaBeach();
181bool IsRoyalRaceway();
182bool IsMooMooFarm();
183bool IsToadsTurnpike();
184bool IsKalimariDesert();
185bool IsSherbetLand();
186bool IsRainbowRoad();
187bool IsWarioStadium();
188bool IsBlockFort();
189bool IsSkyscraper();
190bool IsDoubleDeck();
191bool IsDkJungle();
192bool IsBigDonut();
193bool IsPodiumCeremony();
194
195void SelectMarioRaceway();
196void SelectLuigiRaceway();
200void SelectYoshiValley();
203void SelectRoyalRaceway();
204void SelectMooMooFarm();
207void SelectSherbetLand();
208void SelectRainbowRoad();
209void SelectWarioStadium();
210void SelectBlockFort();
211void SelectSkyscraper();
212void SelectDoubleDeck();
213void SelectDkJungle();
214void SelectBigDonut();
216
217void* GetMushroomCup(void);
218
219void* GetFlowerCup(void);
220
221void* GetStarCup(void);
222
223void* GetSpecialCup(void);
224
225void* GetBattleCup(void);
226
227void* GetCup();
228
229void CM_RunGarbageCollector(void);
230void CM_ResetAudio(void);
231
232// NOLINTEND(readability-identifier-naming)
233
234#ifdef __cplusplus
235}
236#endif
237
238#endif // _GAME_H
bool bCleanWorld
Definition Game.cpp:77
s32 gTrophyIndex
Definition Game.cpp:91
HarbourMastersIntro gMenuIntro
Definition Game.cpp:87
Editor::Editor gEditor
Definition Game.cpp:89
void CM_InitClouds()
Definition Game.cpp:583
void CM_SomeSounds()
Definition Game.cpp:629
u32 GetCupIndex(void)
Definition Game.cpp:200
void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY)
Definition Game.cpp:567
size_t CM_GetActorSize()
Definition Game.cpp:829
bool IsBlockFort()
Definition Game.cpp:862
void * GetTrack(void)
Definition Game.cpp:744
void PreviousTrack()
Definition Game.cpp:233
void CM_TickClouds(s32 arg0, Camera *camera)
Definition Game.cpp:589
void SetTrack(const char *name)
Definition Game.cpp:225
void CM_CleanWorld(void)
Definition Game.cpp:782
void SelectDkJungle()
Definition Game.cpp:887
void SelectSkyscraper()
Definition Game.cpp:885
void SelectChocoMountain()
Definition Game.cpp:871
void UnLoadTrack()
Definition Game.cpp:217
bool IsWarioStadium()
Definition Game.cpp:861
void CM_AICrossingBehaviour(s32 playerId)
Definition Game.cpp:296
void CM_ActorGenerateCollision(struct Actor *actor)
Definition Game.cpp:802
Camera * CM_AddTourCamera(Vec3f spawn, s16 rot, u32 mode)
Definition Game.cpp:448
void SelectToadsTurnpike()
Definition Game.cpp:879
void CM_DrawActors(Camera *camera)
Definition Game.cpp:355
void CM_DisplayBattleBombKart(s32 playerId, s32 primAlpha)
Definition Game.cpp:263
void SelectBlockFort()
Definition Game.cpp:884
void CM_SetStaffGhost()
Definition Game.cpp:653
bool IsLuigiRaceway()
Definition Game.cpp:848
void CM_AttachCamera(Camera *camera, s32 playerIdx)
Definition Game.cpp:501
Properties * CM_GetProps()
Definition Game.cpp:659
void CM_DrawParticles(s32 cameraId)
Definition Game.cpp:577
void SetTrackFromCup()
Definition Game.cpp:740
void CM_DrawStaticMeshActors()
Definition Game.cpp:372
void CM_ActivateTourCamera(Camera *camera)
Definition Game.cpp:531
void HM_DrawIntro(void)
Definition Game.cpp:172
bool IsBansheeBoardwalk()
Definition Game.cpp:851
void SelectMooMooFarm()
Definition Game.cpp:878
void SelectWarioStadium()
Definition Game.cpp:883
struct Actor * CM_AddBaseActor()
Definition Game.cpp:794
bool IsSherbetLand()
Definition Game.cpp:859
void SetTrackById(s32 track)
Definition Game.cpp:237
bool IsDkJungle()
Definition Game.cpp:865
bool IsDoubleDeck()
Definition Game.cpp:864
bool IsMarioRaceway()
Definition Game.cpp:847
bool IsRainbowRoad()
Definition Game.cpp:860
void CM_ClearVehicles(void)
Definition Game.cpp:284
void CM_Waypoints(Player *player, int8_t playerId)
Definition Game.cpp:595
void CM_TickCameras()
Definition Game.cpp:426
void CM_SetViewProjection(Camera *camera)
Definition Game.cpp:418
void HM_InitIntro(void)
Definition Game.cpp:164
void CM_DrawObjects(s32 cameraId)
Definition Game.cpp:553
void CM_RunGarbageCollector(void)
Definition Game.cpp:913
struct Actor * CM_GetActor(size_t index)
Definition Game.cpp:748
void SelectYoshiValley()
Definition Game.cpp:874
void CM_ResetAudio(void)
Definition Game.cpp:917
void Editor_CleanWorld()
Definition Game.cpp:822
void CM_TickEditor()
Definition Game.cpp:559
void CM_DrawTrack(ScreenContext *arg0)
Definition Game.cpp:319
void * GetSpecialCup(void)
Definition Game.cpp:904
void * GetBattleCup(void)
Definition Game.cpp:908
void CM_TickObjects()
Definition Game.cpp:539
Camera * CM_AddCamera(Vec3f spawn, s16 rot, u32 mode)
Definition Game.cpp:430
bool CM_IsTourEnabled()
Definition Game.cpp:480
void CM_DrawBombKarts(s32 cameraId)
void CM_ActivateFinalLapLakitu(s32 playerId)
Definition Game.cpp:713
void CM_TickParticles(void)
Definition Game.cpp:571
bool IsToadsTurnpike()
Definition Game.cpp:857
void CM_SetCupIndex(size_t index)
Definition Game.cpp:204
f32 CM_GetWaterLevel(Vec3f pos, Collision *collision)
Definition Game.cpp:841
void CM_InitTrackObjects()
Definition Game.cpp:608
void CM_BeginPlay()
Definition Game.cpp:376
void CM_WhatDoesThisDo(Player *player, int8_t playerId)
Definition Game.cpp:641
bool IsMooMooFarm()
Definition Game.cpp:856
void CM_SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7)
Definition Game.cpp:601
void SelectRainbowRoad()
Definition Game.cpp:882
bool IsBowsersCastle()
Definition Game.cpp:850
void * GetMushroomCup(void)
Definition Game.cpp:892
void Editor_ClearMatrix()
Definition Game.cpp:818
size_t CM_FindActorIndex(struct Actor *actor)
Definition Game.cpp:758
void CM_ActivateFinishLakitu(s32 playerId)
Definition Game.cpp:699
void SelectBowsersCastle()
Definition Game.cpp:872
void SelectPodiumCeremony()
Definition Game.cpp:889
void SelectRoyalRaceway()
Definition Game.cpp:877
void * GetStarCup(void)
Definition Game.cpp:900
void SelectFrappeSnowland()
Definition Game.cpp:875
Camera * CM_AddLookBehindCamera(Vec3f spawn, s16 rot, u32 mode)
Definition Game.cpp:492
bool IsChocoMountain()
Definition Game.cpp:849
void CM_ActivateReverseLakitu(s32 playerId)
Definition Game.cpp:720
bool IsSkyscraper()
Definition Game.cpp:863
s32 CM_GetCrossingOnTriggered(uintptr_t *crossing)
Definition Game.cpp:304
bool IsKoopaTroopaBeach()
Definition Game.cpp:854
void CM_TickTrackObjects()
Definition Game.cpp:614
u32 WorldPreviousCup(void)
Definition Game.cpp:188
void * GetCup()
Definition Game.cpp:196
void CM_DrawBattleBombKarts(s32 cameraId)
Definition Game.cpp:278
void SelectMarioRaceway()
Definition Game.cpp:869
bool IsPodiumCeremony()
Definition Game.cpp:867
void CM_TickDraw()
void SelectDoubleDeck()
Definition Game.cpp:886
void CM_CreditsSpawnActors()
Definition Game.cpp:635
bool IsYoshiValley()
Definition Game.cpp:852
void SelectKoopaTroopaBeach()
Definition Game.cpp:876
void CM_WhatDoesThisDoAI(Player *player, int8_t playerId)
Definition Game.cpp:647
void * GetFlowerCup(void)
Definition Game.cpp:896
void CM_TickObjects60fps()
Definition Game.cpp:547
void CM_VehicleCollision(s32 playerId, Player *player)
Definition Game.cpp:245
u32 WorldNextCup(void)
Definition Game.cpp:184
void CM_DrawTrackObjects(s32 cameraId)
Definition Game.cpp:621
bool IsBigDonut()
Definition Game.cpp:866
void CM_CleanCameras(void)
Definition Game.cpp:786
void CM_SpawnStarterLakitu()
Definition Game.cpp:686
void HM_TickIntro(void)
Definition Game.cpp:168
void CM_CameraSetActive(size_t idx, bool state)
Definition Game.cpp:505
void SelectBigDonut()
Definition Game.cpp:888
void CM_ActivateSecondLapLakitu(s32 playerId)
Definition Game.cpp:706
Properties * CM_GetPropsTrackId(s32 trackId)
Definition Game.cpp:666
void CM_ActorBeginPlay(struct Actor *actor)
Definition Game.cpp:798
void CM_DrawEditor()
Definition Game.cpp:563
void CM_DeleteActor(size_t index)
Definition Game.cpp:772
bool IsKalimariDesert()
Definition Game.cpp:858
Camera * CM_GetPlayerCamera(s32 playerIndex)
Definition Game.cpp:405
void CM_BombKartsWaypoint(s32 cameraId)
Definition Game.cpp:253
void CM_ScrollingTextures()
Definition Game.cpp:670
void CM_DrawWater(ScreenContext *screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection)
Definition Game.cpp:676
void SelectLuigiRaceway()
Definition Game.cpp:870
void CM_SetFreeCamera(bool state)
Definition Game.cpp:511
void CM_ActorCollision(Player *player, struct Actor *actor)
Definition Game.cpp:833
void SelectBansheeBoardwalk()
Definition Game.cpp:873
void CM_SetCup(void *)
Definition Game.cpp:192
size_t GetCupCursorPosition()
Definition Game.cpp:727
void CM_TickActors()
Definition Game.cpp:349
void SetCupCursorPosition(size_t position)
Definition Game.cpp:731
void CM_CrossingTrigger()
Definition Game.cpp:288
void NextTrack()
Definition Game.cpp:229
void Editor_AddLight(s8 *direction)
Definition Game.cpp:812
size_t GetCupSize()
Definition Game.cpp:736
Camera * CM_AddFreeCamera(Vec3f spawn, s16 rot, u32 mode)
Definition Game.cpp:439
void SetMarioRaceway(void)
Definition Game.cpp:177
size_t GetTrackIndex()
Definition Game.cpp:221
const char * GetCupName(void)
Definition Game.cpp:208
void SelectKalimariDesert()
Definition Game.cpp:880
bool IsFrappeSnowland()
Definition Game.cpp:853
void SelectSherbetLand()
Definition Game.cpp:881
void LoadTrack()
Definition Game.cpp:212
bool IsRoyalRaceway()
Definition Game.cpp:855
Definition World.h:39
f32 Vec3f[3]
Definition common_structs.h:10
Definition actor_types.h:124
Vec3f pos
Definition actor_types.h:133
Definition camera.h:35
Definition common_structs.h:147
Definition common_structs.h:264
Definition Track.h:88
Definition code_800029B0.h:9