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();
45
46size_t GetCourseIndex();
47
48void SetCourse(const char* name);
49
50void NextCourse();
51void PreviousCourse();
52
53void CM_SetCup(void*);
54
55void CM_SetCupIndex(size_t index);
56
57void CM_LoadTextures();
58
59void CM_RenderCourse(struct UnkStruct_800DC5EC* arg0);
60
61void CM_RenderCredits();
62
64void CM_ActivateFinishLakitu(s32 playerId);
65void CM_ActivateSecondLapLakitu(s32 playerId);
66void CM_ActivateFinalLapLakitu(s32 playerId);
67void CM_ActivateReverseLakitu(s32 playerId);
68
69void CM_InitClouds();
70
71void CM_DrawActors(Camera* camera);
73
74void CM_TickObjects();
76void CM_DrawObjects(s32 cameraId);
77
78void CM_TickEditor();
79void CM_DrawEditor();
80void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY);
84
85void CM_TickParticles(void);
86void CM_DrawParticles(s32 cameraId);
87
88void CM_UpdateClouds(s32 arg0, Camera* camera);
89
90void CM_Waypoints(Player* player, int8_t playerId);
91
92void CM_SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6,
93 f32* arg7);
94
96
98
99void CM_RenderCourseObjects(s32 cameraId);
100
101void CM_SomeSounds();
102
104
105void CM_WhatDoesThisDo(Player* player, int8_t playerId);
106
107void CM_WhatDoesThisDoAI(Player* player, int8_t playerId);
108
109void CM_SetStaffGhost();
110
111void CM_BombKartsWaypoint(s32 cameraId);
112
114
115s32 CM_GetCrossingOnTriggered(uintptr_t* crossing);
116
117void CM_BeginPlay();
118
119void CM_DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot,
120 uint16_t playerDirection);
121
122void CM_AICrossingBehaviour(s32 playerId);
123
124void CM_ClearVehicles(void);
125
126void CM_CrossingTrigger();
127
128void CM_VehicleCollision(s32 playerId, Player* player);
129
130void CM_TickActors();
131
132void CM_DrawBombKarts(s32 cameraId);
133
134void SetMarioRaceway(void);
135
136size_t GetCupCursorPosition();
137
138void SetCupCursorPosition(size_t position);
139
140size_t GetCupSize();
141
142void SetCourseFromCup();
143
144void* GetCourse(void);
145
146void SetCourseById(s32 course);
147
148struct Actor* CM_GetActor(size_t index);
149void CM_DeleteActor(size_t index);
150struct Actor* CM_AddBaseActor();
151void CM_ActorBeginPlay(struct Actor* actor);
152void CM_ActorGenerateCollision(struct Actor* actor);
153void Editor_AddLight(s8* direction);
154size_t CM_GetActorSize();
155size_t CM_FindActorIndex(struct Actor* actor);
156void CM_ActorCollision(Player* player, struct Actor* actor);
157void CM_CleanWorld(void);
158
159f32 CM_GetWaterLevel(Vec3f pos, Collision* collision);
160
161bool IsMarioRaceway();
162bool IsLuigiRaceway();
163bool IsChocoMountain();
164bool IsBowsersCastle();
165bool IsBansheeBoardwalk();
166bool IsYoshiValley();
167bool IsFrappeSnowland();
168bool IsKoopaTroopaBeach();
169bool IsRoyalRaceway();
170bool IsMooMooFarm();
171bool IsToadsTurnpike();
172bool IsKalimariDesert();
173bool IsSherbetLand();
174bool IsRainbowRoad();
175bool IsWarioStadium();
176bool IsBlockFort();
177bool IsSkyscraper();
178bool IsDoubleDeck();
179bool IsDkJungle();
180bool IsBigDonut();
181bool IsPodiumCeremony();
182
183void SelectMarioRaceway();
184void SelectLuigiRaceway();
188void SelectYoshiValley();
191void SelectRoyalRaceway();
192void SelectMooMooFarm();
195void SelectSherbetLand();
196void SelectRainbowRoad();
197void SelectWarioStadium();
198void SelectBlockFort();
199void SelectSkyscraper();
200void SelectDoubleDeck();
201void SelectDkJungle();
202void SelectBigDonut();
204
205void* GetMushroomCup(void);
206
207void* GetFlowerCup(void);
208
209void* GetStarCup(void);
210
211void* GetSpecialCup(void);
212
213void* GetBattleCup(void);
214
215void* GetCup();
216
217void CM_RunGarbageCollector(void);
218
219#ifdef __cplusplus
220}
221#endif
222
223#endif // _GAME_H
bool bCleanWorld
Definition Game.cpp:80
s32 gTrophyIndex
Definition Game.cpp:96
HarbourMastersIntro gMenuIntro
Definition Game.cpp:92
Editor::Editor gEditor
Definition Game.cpp:94
void CM_InitClouds()
Definition Game.cpp:429
void CM_SomeSounds()
Definition Game.cpp:475
u32 GetCupIndex(void)
Definition Game.cpp:220
void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY)
Definition Game.cpp:413
size_t CM_GetActorSize()
Definition Game.cpp:667
bool IsBlockFort()
Definition Game.cpp:700
void CM_CleanWorld(void)
Definition Game.cpp:628
void SelectDkJungle()
Definition Game.cpp:725
void SelectSkyscraper()
Definition Game.cpp:723
void CM_DrawWater(struct UnkStruct_800DC5EC *screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection)
Definition Game.cpp:522
void SelectChocoMountain()
Definition Game.cpp:709
bool IsWarioStadium()
Definition Game.cpp:699
void CM_AICrossingBehaviour(s32 playerId)
Definition Game.cpp:311
void CM_ActorGenerateCollision(struct Actor *actor)
Definition Game.cpp:640
void SelectToadsTurnpike()
Definition Game.cpp:717
void CM_DrawActors(Camera *camera)
Definition Game.cpp:360
void SetCourseById(s32 course)
Definition Game.cpp:252
void CM_DisplayBattleBombKart(s32 playerId, s32 primAlpha)
Definition Game.cpp:278
void NextCourse()
Definition Game.cpp:244
void SelectBlockFort()
Definition Game.cpp:722
void CM_SetStaffGhost()
Definition Game.cpp:499
bool IsLuigiRaceway()
Definition Game.cpp:686
void CM_UpdateClouds(s32 arg0, Camera *camera)
Definition Game.cpp:435
Properties * CM_GetProps()
Definition Game.cpp:505
void CM_DrawParticles(s32 cameraId)
Definition Game.cpp:423
void CM_DrawStaticMeshActors()
Definition Game.cpp:369
void SetCourseFromCup()
Definition Game.cpp:586
void HM_DrawIntro(void)
Definition Game.cpp:192
bool IsBansheeBoardwalk()
Definition Game.cpp:689
void SelectMooMooFarm()
Definition Game.cpp:716
void SelectWarioStadium()
Definition Game.cpp:721
struct Actor * CM_AddBaseActor()
Definition Game.cpp:632
bool IsSherbetLand()
Definition Game.cpp:697
bool IsDkJungle()
Definition Game.cpp:703
void CM_RenderCourse(struct UnkStruct_800DC5EC *arg0)
Definition Game.cpp:332
bool IsDoubleDeck()
Definition Game.cpp:702
void CM_RenderCredits()
Definition Game.cpp:348
bool IsMarioRaceway()
Definition Game.cpp:685
bool IsRainbowRoad()
Definition Game.cpp:698
void CM_ClearVehicles(void)
Definition Game.cpp:299
void CM_Waypoints(Player *player, int8_t playerId)
Definition Game.cpp:441
void HM_InitIntro(void)
Definition Game.cpp:184
void CM_DrawObjects(s32 cameraId)
Definition Game.cpp:399
void CM_RunGarbageCollector(void)
Definition Game.cpp:751
void CM_UpdateCourseObjects()
Definition Game.cpp:460
size_t GetCourseIndex()
Definition Game.cpp:236
struct Actor * CM_GetActor(size_t index)
Definition Game.cpp:594
void SelectYoshiValley()
Definition Game.cpp:712
void Editor_CleanWorld()
Definition Game.cpp:660
void CM_TickEditor()
Definition Game.cpp:405
void * GetSpecialCup(void)
Definition Game.cpp:742
void * GetBattleCup(void)
Definition Game.cpp:746
void CM_TickObjects()
Definition Game.cpp:385
void CM_InitCourseObjects()
Definition Game.cpp:454
void CM_DrawBombKarts(s32 cameraId)
void CM_ActivateFinalLapLakitu(s32 playerId)
Definition Game.cpp:559
void CM_TickParticles(void)
Definition Game.cpp:417
bool IsToadsTurnpike()
Definition Game.cpp:695
void CM_SetCupIndex(size_t index)
Definition Game.cpp:224
f32 CM_GetWaterLevel(Vec3f pos, Collision *collision)
Definition Game.cpp:679
void CM_BeginPlay()
Definition Game.cpp:373
void CM_WhatDoesThisDo(Player *player, int8_t playerId)
Definition Game.cpp:487
bool IsMooMooFarm()
Definition Game.cpp:694
void CM_SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7)
Definition Game.cpp:447
void SelectRainbowRoad()
Definition Game.cpp:720
bool IsBowsersCastle()
Definition Game.cpp:688
void * GetMushroomCup(void)
Definition Game.cpp:730
void Editor_ClearMatrix()
Definition Game.cpp:656
size_t CM_FindActorIndex(struct Actor *actor)
Definition Game.cpp:604
void CM_ActivateFinishLakitu(s32 playerId)
Definition Game.cpp:545
void SelectBowsersCastle()
Definition Game.cpp:710
void SelectPodiumCeremony()
Definition Game.cpp:727
void SelectRoyalRaceway()
Definition Game.cpp:715
void * GetStarCup(void)
Definition Game.cpp:738
void CM_RenderCourseObjects(s32 cameraId)
Definition Game.cpp:467
void SelectFrappeSnowland()
Definition Game.cpp:713
bool IsChocoMountain()
Definition Game.cpp:687
void CM_ActivateReverseLakitu(s32 playerId)
Definition Game.cpp:566
bool IsSkyscraper()
Definition Game.cpp:701
s32 CM_GetCrossingOnTriggered(uintptr_t *crossing)
Definition Game.cpp:319
bool IsKoopaTroopaBeach()
Definition Game.cpp:692
u32 WorldPreviousCup(void)
Definition Game.cpp:208
void * GetCup()
Definition Game.cpp:216
void CM_DrawBattleBombKarts(s32 cameraId)
Definition Game.cpp:293
void SelectMarioRaceway()
Definition Game.cpp:707
bool IsPodiumCeremony()
Definition Game.cpp:705
void CM_TickDraw()
void LoadCourse()
Definition Game.cpp:232
void SelectDoubleDeck()
Definition Game.cpp:724
void CM_CreditsSpawnActors()
Definition Game.cpp:481
bool IsYoshiValley()
Definition Game.cpp:690
void SelectKoopaTroopaBeach()
Definition Game.cpp:714
void CM_WhatDoesThisDoAI(Player *player, int8_t playerId)
Definition Game.cpp:493
void * GetFlowerCup(void)
Definition Game.cpp:734
void CM_TickObjects60fps()
Definition Game.cpp:393
void CM_VehicleCollision(s32 playerId, Player *player)
Definition Game.cpp:260
u32 WorldNextCup(void)
Definition Game.cpp:204
bool IsBigDonut()
Definition Game.cpp:704
void CM_SpawnStarterLakitu()
Definition Game.cpp:532
void HM_TickIntro(void)
Definition Game.cpp:188
void SelectBigDonut()
Definition Game.cpp:726
void CM_ActivateSecondLapLakitu(s32 playerId)
Definition Game.cpp:552
void CM_ActorBeginPlay(struct Actor *actor)
Definition Game.cpp:636
void CM_DrawEditor()
Definition Game.cpp:409
void CM_DeleteActor(size_t index)
Definition Game.cpp:618
void PreviousCourse()
Definition Game.cpp:248
bool IsKalimariDesert()
Definition Game.cpp:696
void CM_BombKartsWaypoint(s32 cameraId)
Definition Game.cpp:268
void CM_ScrollingTextures()
Definition Game.cpp:516
Properties * CM_GetPropsCourseId(s32 courseId)
Definition Game.cpp:512
void SelectLuigiRaceway()
Definition Game.cpp:708
void CM_ActorCollision(Player *player, struct Actor *actor)
Definition Game.cpp:671
void SelectBansheeBoardwalk()
Definition Game.cpp:711
void CM_SetCup(void *)
Definition Game.cpp:212
size_t GetCupCursorPosition()
Definition Game.cpp:573
void CM_TickActors()
Definition Game.cpp:354
void SetCupCursorPosition(size_t position)
Definition Game.cpp:577
void CM_CrossingTrigger()
Definition Game.cpp:303
void Editor_AddLight(s8 *direction)
Definition Game.cpp:650
size_t GetCupSize()
Definition Game.cpp:582
void CM_LoadTextures()
Definition Game.cpp:326
void SetMarioRaceway(void)
Definition Game.cpp:197
const char * GetCupName(void)
Definition Game.cpp:228
void SelectKalimariDesert()
Definition Game.cpp:718
bool IsFrappeSnowland()
Definition Game.cpp:691
void SelectSherbetLand()
Definition Game.cpp:719
void SetCourse(const char *name)
Definition Game.cpp:240
bool IsRoyalRaceway()
Definition Game.cpp:693
void * GetCourse(void)
Definition Game.cpp:590
Definition World.h:34
f32 Vec3f[3]
Definition common_structs.h:10
Definition actor_types.h:124
Vec3f pos
Definition actor_types.h:133
Definition camera.h:27
Definition common_structs.h:147
Definition common_structs.h:264
Definition Course.h:69
Definition code_800029B0.h:9