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 Course;
11struct Properties;
12class World;
13extern "C" {
14#endif
15#include "camera.h"
16#include "actor_types.h"
17
18extern s32 gTrophyIndex;
19
20#ifdef __cplusplus
21extern Editor::Editor gEditor;
22extern HarbourMastersIntro gMenuIntro;
23extern bool bCleanWorld;
24#endif
25
27Properties* CM_GetPropsCourseId(s32 courseId);
28
29void HM_InitIntro(void);
30void HM_TickIntro(void);
31void HM_DrawIntro(void);
32
33void CM_DisplayBattleBombKart(s32 playerId, s32 primAlpha);
34void CM_DrawBattleBombKarts(s32 cameraId);
35
36u32 WorldNextCup(void);
37
38u32 WorldPreviousCup(void);
39
40u32 GetCupIndex(void);
41
42const char* GetCupName(void);
43
44void LoadCourse();
45void UnLoadCourse();
46
47size_t GetCourseIndex();
48
49void SetCourse(const char* name);
50
51void NextCourse();
52void PreviousCourse();
53
54void CM_SetCup(void*);
55
56void CM_SetCupIndex(size_t index);
57
58void CM_RenderCourse(struct UnkStruct_800DC5EC* arg0);
59
61void CM_ActivateFinishLakitu(s32 playerId);
62void CM_ActivateSecondLapLakitu(s32 playerId);
63void CM_ActivateFinalLapLakitu(s32 playerId);
64void CM_ActivateReverseLakitu(s32 playerId);
65
66void CM_InitClouds();
67
68void CM_DrawActors(Camera* camera);
70
71Camera* CM_GetPlayerCamera(s32 playerIndex);
72void CM_SetViewProjection(Camera* camera);
73void CM_TickCameras();
74Camera* CM_AddCamera(Vec3f spawn, s16 rot, u32 mode);
75Camera* CM_AddFreeCamera(Vec3f spawn, s16 rot, u32 mode);
76Camera* CM_AddTourCamera(Vec3f spawn, s16 rot, u32 mode);
77bool CM_IsTourEnabled();
78Camera* CM_AddLookBehindCamera(Vec3f spawn, s16 rot, u32 mode);
79void CM_AttachCamera(Camera* camera, s32 playerIdx);
80void CM_SetFreeCamera(bool state);
81void CM_CameraSetActive(size_t idx, bool state);
82void CM_ActivateTourCamera(Camera* camera);
83void CM_TickObjects();
85void CM_DrawObjects(s32 cameraId);
86
87void CM_TickEditor();
88void CM_DrawEditor();
89void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY);
93
94void CM_TickParticles(void);
95void CM_DrawParticles(s32 cameraId);
96
97void CM_UpdateClouds(s32 arg0, Camera* camera);
98
99void CM_Waypoints(Player* player, int8_t playerId);
100
101void CM_SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6,
102 f32* arg7);
103
105
107
108void CM_RenderCourseObjects(s32 cameraId);
109
110void CM_SomeSounds();
111
113
114void CM_WhatDoesThisDo(Player* player, int8_t playerId);
115
116void CM_WhatDoesThisDoAI(Player* player, int8_t playerId);
117
118void CM_SetStaffGhost();
119
120void CM_BombKartsWaypoint(s32 cameraId);
121
123
124s32 CM_GetCrossingOnTriggered(uintptr_t* crossing);
125
126void CM_BeginPlay();
127
128void CM_DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot,
129 uint16_t playerDirection);
130
131void CM_AICrossingBehaviour(s32 playerId);
132
133void CM_ClearVehicles(void);
134
135void CM_CrossingTrigger();
136
137void CM_VehicleCollision(s32 playerId, Player* player);
138
139void CM_TickActors();
140
141void CM_DrawBombKarts(s32 cameraId);
142
143void SetMarioRaceway(void);
144
145size_t GetCupCursorPosition();
146
147void SetCupCursorPosition(size_t position);
148
149size_t GetCupSize();
150
151void SetCourseFromCup();
152
153void* GetCourse(void);
154
155void SetCourseById(s32 course);
156
157struct Actor* CM_GetActor(size_t index);
158void CM_DeleteActor(size_t index);
159struct Actor* CM_AddBaseActor();
160void CM_ActorBeginPlay(struct Actor* actor);
161void CM_ActorGenerateCollision(struct Actor* actor);
162void Editor_AddLight(s8* direction);
163size_t CM_GetActorSize();
164size_t CM_FindActorIndex(struct Actor* actor);
165void CM_ActorCollision(Player* player, struct Actor* actor);
166void CM_CleanCameras(void);
167void CM_CleanWorld(void);
168
169f32 CM_GetWaterLevel(Vec3f pos, Collision* collision);
170
171bool IsMarioRaceway();
172bool IsLuigiRaceway();
173bool IsChocoMountain();
174bool IsBowsersCastle();
175bool IsBansheeBoardwalk();
176bool IsYoshiValley();
177bool IsFrappeSnowland();
178bool IsKoopaTroopaBeach();
179bool IsRoyalRaceway();
180bool IsMooMooFarm();
181bool IsToadsTurnpike();
182bool IsKalimariDesert();
183bool IsSherbetLand();
184bool IsRainbowRoad();
185bool IsWarioStadium();
186bool IsBlockFort();
187bool IsSkyscraper();
188bool IsDoubleDeck();
189bool IsDkJungle();
190bool IsBigDonut();
191bool IsPodiumCeremony();
192
193void SelectMarioRaceway();
194void SelectLuigiRaceway();
198void SelectYoshiValley();
201void SelectRoyalRaceway();
202void SelectMooMooFarm();
205void SelectSherbetLand();
206void SelectRainbowRoad();
207void SelectWarioStadium();
208void SelectBlockFort();
209void SelectSkyscraper();
210void SelectDoubleDeck();
211void SelectDkJungle();
212void SelectBigDonut();
214
215void* GetMushroomCup(void);
216
217void* GetFlowerCup(void);
218
219void* GetStarCup(void);
220
221void* GetSpecialCup(void);
222
223void* GetBattleCup(void);
224
225void* GetCup();
226
227void CM_RunGarbageCollector(void);
228void CM_ResetAudio(void);
229
230#ifdef __cplusplus
231}
232#endif
233
234#endif // _GAME_H
bool bCleanWorld
Definition Game.cpp:78
s32 gTrophyIndex
Definition Game.cpp:92
HarbourMastersIntro gMenuIntro
Definition Game.cpp:88
Editor::Editor gEditor
Definition Game.cpp:90
void CM_InitClouds()
Definition Game.cpp:584
void CM_SomeSounds()
Definition Game.cpp:630
u32 GetCupIndex(void)
Definition Game.cpp:201
void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY)
Definition Game.cpp:568
size_t CM_GetActorSize()
Definition Game.cpp:830
bool IsBlockFort()
Definition Game.cpp:863
void CM_CleanWorld(void)
Definition Game.cpp:783
void SelectDkJungle()
Definition Game.cpp:888
void SelectSkyscraper()
Definition Game.cpp:886
void CM_DrawWater(struct UnkStruct_800DC5EC *screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection)
Definition Game.cpp:677
void SelectChocoMountain()
Definition Game.cpp:872
bool IsWarioStadium()
Definition Game.cpp:862
void CM_AICrossingBehaviour(s32 playerId)
Definition Game.cpp:297
void CM_ActorGenerateCollision(struct Actor *actor)
Definition Game.cpp:803
Camera * CM_AddTourCamera(Vec3f spawn, s16 rot, u32 mode)
Definition Game.cpp:449
void SelectToadsTurnpike()
Definition Game.cpp:880
void CM_DrawActors(Camera *camera)
Definition Game.cpp:356
void SetCourseById(s32 course)
Definition Game.cpp:238
void CM_DisplayBattleBombKart(s32 playerId, s32 primAlpha)
Definition Game.cpp:264
void NextCourse()
Definition Game.cpp:230
void SelectBlockFort()
Definition Game.cpp:885
void CM_SetStaffGhost()
Definition Game.cpp:654
bool IsLuigiRaceway()
Definition Game.cpp:849
void CM_UpdateClouds(s32 arg0, Camera *camera)
Definition Game.cpp:590
void CM_AttachCamera(Camera *camera, s32 playerIdx)
Definition Game.cpp:502
Properties * CM_GetProps()
Definition Game.cpp:660
void CM_DrawParticles(s32 cameraId)
Definition Game.cpp:578
void CM_DrawStaticMeshActors()
Definition Game.cpp:373
void CM_ActivateTourCamera(Camera *camera)
Definition Game.cpp:532
void SetCourseFromCup()
Definition Game.cpp:741
void HM_DrawIntro(void)
Definition Game.cpp:173
bool IsBansheeBoardwalk()
Definition Game.cpp:852
void SelectMooMooFarm()
Definition Game.cpp:879
void SelectWarioStadium()
Definition Game.cpp:884
struct Actor * CM_AddBaseActor()
Definition Game.cpp:795
bool IsSherbetLand()
Definition Game.cpp:860
bool IsDkJungle()
Definition Game.cpp:866
void CM_RenderCourse(struct UnkStruct_800DC5EC *arg0)
Definition Game.cpp:320
bool IsDoubleDeck()
Definition Game.cpp:865
bool IsMarioRaceway()
Definition Game.cpp:848
bool IsRainbowRoad()
Definition Game.cpp:861
void CM_ClearVehicles(void)
Definition Game.cpp:285
void CM_Waypoints(Player *player, int8_t playerId)
Definition Game.cpp:596
void CM_TickCameras()
Definition Game.cpp:427
void CM_SetViewProjection(Camera *camera)
Definition Game.cpp:419
void HM_InitIntro(void)
Definition Game.cpp:165
void CM_DrawObjects(s32 cameraId)
Definition Game.cpp:554
void CM_RunGarbageCollector(void)
Definition Game.cpp:914
void CM_UpdateCourseObjects()
Definition Game.cpp:615
size_t GetCourseIndex()
Definition Game.cpp:222
struct Actor * CM_GetActor(size_t index)
Definition Game.cpp:749
void SelectYoshiValley()
Definition Game.cpp:875
void CM_ResetAudio(void)
Definition Game.cpp:918
void Editor_CleanWorld()
Definition Game.cpp:823
void CM_TickEditor()
Definition Game.cpp:560
void UnLoadCourse()
Definition Game.cpp:218
void * GetSpecialCup(void)
Definition Game.cpp:905
void * GetBattleCup(void)
Definition Game.cpp:909
void CM_TickObjects()
Definition Game.cpp:540
Camera * CM_AddCamera(Vec3f spawn, s16 rot, u32 mode)
Definition Game.cpp:431
bool CM_IsTourEnabled()
Definition Game.cpp:481
void CM_InitCourseObjects()
Definition Game.cpp:609
void CM_DrawBombKarts(s32 cameraId)
void CM_ActivateFinalLapLakitu(s32 playerId)
Definition Game.cpp:714
void CM_TickParticles(void)
Definition Game.cpp:572
bool IsToadsTurnpike()
Definition Game.cpp:858
void CM_SetCupIndex(size_t index)
Definition Game.cpp:205
f32 CM_GetWaterLevel(Vec3f pos, Collision *collision)
Definition Game.cpp:842
void CM_BeginPlay()
Definition Game.cpp:377
void CM_WhatDoesThisDo(Player *player, int8_t playerId)
Definition Game.cpp:642
bool IsMooMooFarm()
Definition Game.cpp:857
void CM_SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7)
Definition Game.cpp:602
void SelectRainbowRoad()
Definition Game.cpp:883
bool IsBowsersCastle()
Definition Game.cpp:851
void * GetMushroomCup(void)
Definition Game.cpp:893
void Editor_ClearMatrix()
Definition Game.cpp:819
size_t CM_FindActorIndex(struct Actor *actor)
Definition Game.cpp:759
void CM_ActivateFinishLakitu(s32 playerId)
Definition Game.cpp:700
void SelectBowsersCastle()
Definition Game.cpp:873
void SelectPodiumCeremony()
Definition Game.cpp:890
void SelectRoyalRaceway()
Definition Game.cpp:878
void * GetStarCup(void)
Definition Game.cpp:901
void CM_RenderCourseObjects(s32 cameraId)
Definition Game.cpp:622
void SelectFrappeSnowland()
Definition Game.cpp:876
Camera * CM_AddLookBehindCamera(Vec3f spawn, s16 rot, u32 mode)
Definition Game.cpp:493
bool IsChocoMountain()
Definition Game.cpp:850
void CM_ActivateReverseLakitu(s32 playerId)
Definition Game.cpp:721
bool IsSkyscraper()
Definition Game.cpp:864
s32 CM_GetCrossingOnTriggered(uintptr_t *crossing)
Definition Game.cpp:305
bool IsKoopaTroopaBeach()
Definition Game.cpp:855
u32 WorldPreviousCup(void)
Definition Game.cpp:189
void * GetCup()
Definition Game.cpp:197
void CM_DrawBattleBombKarts(s32 cameraId)
Definition Game.cpp:279
void SelectMarioRaceway()
Definition Game.cpp:870
bool IsPodiumCeremony()
Definition Game.cpp:868
void CM_TickDraw()
void LoadCourse()
Definition Game.cpp:213
void SelectDoubleDeck()
Definition Game.cpp:887
void CM_CreditsSpawnActors()
Definition Game.cpp:636
bool IsYoshiValley()
Definition Game.cpp:853
void SelectKoopaTroopaBeach()
Definition Game.cpp:877
void CM_WhatDoesThisDoAI(Player *player, int8_t playerId)
Definition Game.cpp:648
void * GetFlowerCup(void)
Definition Game.cpp:897
void CM_TickObjects60fps()
Definition Game.cpp:548
void CM_VehicleCollision(s32 playerId, Player *player)
Definition Game.cpp:246
u32 WorldNextCup(void)
Definition Game.cpp:185
bool IsBigDonut()
Definition Game.cpp:867
void CM_CleanCameras(void)
Definition Game.cpp:787
void CM_SpawnStarterLakitu()
Definition Game.cpp:687
void HM_TickIntro(void)
Definition Game.cpp:169
void CM_CameraSetActive(size_t idx, bool state)
Definition Game.cpp:506
void SelectBigDonut()
Definition Game.cpp:889
void CM_ActivateSecondLapLakitu(s32 playerId)
Definition Game.cpp:707
void CM_ActorBeginPlay(struct Actor *actor)
Definition Game.cpp:799
void CM_DrawEditor()
Definition Game.cpp:564
void CM_DeleteActor(size_t index)
Definition Game.cpp:773
void PreviousCourse()
Definition Game.cpp:234
bool IsKalimariDesert()
Definition Game.cpp:859
Camera * CM_GetPlayerCamera(s32 playerIndex)
Definition Game.cpp:406
void CM_BombKartsWaypoint(s32 cameraId)
Definition Game.cpp:254
void CM_ScrollingTextures()
Definition Game.cpp:671
Properties * CM_GetPropsCourseId(s32 courseId)
Definition Game.cpp:667
void SelectLuigiRaceway()
Definition Game.cpp:871
void CM_SetFreeCamera(bool state)
Definition Game.cpp:512
void CM_ActorCollision(Player *player, struct Actor *actor)
Definition Game.cpp:834
void SelectBansheeBoardwalk()
Definition Game.cpp:874
void CM_SetCup(void *)
Definition Game.cpp:193
size_t GetCupCursorPosition()
Definition Game.cpp:728
void CM_TickActors()
Definition Game.cpp:350
void SetCupCursorPosition(size_t position)
Definition Game.cpp:732
void CM_CrossingTrigger()
Definition Game.cpp:289
void Editor_AddLight(s8 *direction)
Definition Game.cpp:813
size_t GetCupSize()
Definition Game.cpp:737
Camera * CM_AddFreeCamera(Vec3f spawn, s16 rot, u32 mode)
Definition Game.cpp:440
void SetMarioRaceway(void)
Definition Game.cpp:178
const char * GetCupName(void)
Definition Game.cpp:209
void SelectKalimariDesert()
Definition Game.cpp:881
bool IsFrappeSnowland()
Definition Game.cpp:854
void SelectSherbetLand()
Definition Game.cpp:882
void SetCourse(const char *name)
Definition Game.cpp:226
bool IsRoyalRaceway()
Definition Game.cpp:856
void * GetCourse(void)
Definition Game.cpp:745
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 Course.h:76
Definition code_800029B0.h:9