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
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 LoadCourse();
47
48size_t GetCourseIndex();
49
50void SetCourse(const char* name);
51
52void NextCourse();
53void PreviousCourse();
54
55void CM_SetCup(void*);
56
57void CM_SetCupIndex(size_t index);
58
59void CM_LoadTextures();
60
61void CM_RenderCourse(struct UnkStruct_800DC5EC* arg0);
62
63void CM_RenderCredits();
64
66void CM_ActivateFinishLakitu(s32 playerId);
67void CM_ActivateSecondLapLakitu(s32 playerId);
68void CM_ActivateFinalLapLakitu(s32 playerId);
69void CM_ActivateReverseLakitu(s32 playerId);
70
72
73void CM_InitClouds();
74
75void CM_DrawActors(Camera* camera);
77
78void CM_TickObjects();
80void CM_DrawObjects(s32 cameraId);
81
82void CM_TickEditor();
83void CM_DrawEditor();
84void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY);
88
89void CM_TickParticles(void);
90void CM_DrawParticles(s32 cameraId);
91
92void CM_UpdateClouds(s32 arg0, Camera* camera);
93
94void CM_Waypoints(Player* player, int8_t playerId);
95
96void CM_SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6,
97 f32* arg7);
98
100
102
103void CM_RenderCourseObjects(s32 cameraId);
104
105void CM_SomeSounds();
106
108
109void CM_WhatDoesThisDo(Player* player, int8_t playerId);
110
111void CM_WhatDoesThisDoAI(Player* player, int8_t playerId);
112
113void CM_SetStaffGhost();
114
115void CM_BombKartsWaypoint(s32 cameraId);
116
118
119s32 CM_GetCrossingOnTriggered(uintptr_t* crossing);
120
121void CM_BeginPlay();
122
123void CM_DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot,
124 uint16_t playerDirection);
125
126void CM_AICrossingBehaviour(s32 playerId);
127
128void CM_ClearVehicles(void);
129
130void CM_CrossingTrigger();
131
132void CM_VehicleCollision(s32 playerId, Player* player);
133
134void CM_TickActors();
135
136void CM_DrawBombKarts(s32 cameraId);
137
138void SetMarioRaceway(void);
139
140size_t GetCupCursorPosition();
141
142void SetCupCursorPosition(size_t position);
143
144size_t GetCupSize();
145
146void SetCourseFromCup();
147
148void* GetCourse(void);
149
150void SetCourseById(s32 course);
151
152struct Actor* CM_GetActor(size_t index);
153void CM_DeleteActor(size_t index);
154struct Actor* CM_AddBaseActor();
155void CM_ActorBeginPlay(struct Actor* actor);
156void CM_ActorGenerateCollision(struct Actor* actor);
157void Editor_AddLight(s8* direction);
158size_t CM_GetActorSize();
159size_t CM_FindActorIndex(struct Actor* actor);
160void CM_ActorCollision(Player* player, struct Actor* actor);
161void CM_CleanWorld(void);
162
163f32 CM_GetWaterLevel(Vec3f pos, Collision* collision);
164
165bool IsMarioRaceway();
166bool IsLuigiRaceway();
167bool IsChocoMountain();
168bool IsBowsersCastle();
169bool IsBansheeBoardwalk();
170bool IsYoshiValley();
171bool IsFrappeSnowland();
172bool IsKoopaTroopaBeach();
173bool IsRoyalRaceway();
174bool IsMooMooFarm();
175bool IsToadsTurnpike();
176bool IsKalimariDesert();
177bool IsSherbetLand();
178bool IsRainbowRoad();
179bool IsWarioStadium();
180bool IsBlockFort();
181bool IsSkyscraper();
182bool IsDoubleDeck();
183bool IsDkJungle();
184bool IsBigDonut();
185bool IsPodiumCeremony();
186
187void SelectMarioRaceway();
188void SelectLuigiRaceway();
192void SelectYoshiValley();
195void SelectRoyalRaceway();
196void SelectMooMooFarm();
199void SelectSherbetLand();
200void SelectRainbowRoad();
201void SelectWarioStadium();
202void SelectBlockFort();
203void SelectSkyscraper();
204void SelectDoubleDeck();
205void SelectDkJungle();
206void SelectBigDonut();
208
209void* GetMushroomCup(void);
210
211void* GetFlowerCup(void);
212
213void* GetStarCup(void);
214
215void* GetSpecialCup(void);
216
217void* GetBattleCup(void);
218
219void* GetCup();
220
221void CM_RunGarbageCollector(void);
222
223#ifdef __cplusplus
224}
225#endif
226
227#endif // _GAME_H
bool bCleanWorld
Definition Game.cpp:80
s32 gTrophyIndex
Definition Game.cpp:97
HarbourMastersIntro gMenuIntro
Definition Game.cpp:92
Editor::Editor gEditor
Definition Game.cpp:95
void CM_InitClouds()
Definition Game.cpp:464
void CM_SomeSounds()
Definition Game.cpp:510
u32 GetCupIndex(void)
Definition Game.cpp:229
void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY)
Definition Game.cpp:438
size_t CM_GetActorSize()
Definition Game.cpp:731
bool IsBlockFort()
Definition Game.cpp:764
void CM_CleanWorld(void)
Definition Game.cpp:663
void SelectDkJungle()
Definition Game.cpp:789
void SelectSkyscraper()
Definition Game.cpp:787
void CM_DrawWater(struct UnkStruct_800DC5EC *screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection)
Definition Game.cpp:557
void SelectChocoMountain()
Definition Game.cpp:773
bool IsWarioStadium()
Definition Game.cpp:763
void CM_AICrossingBehaviour(s32 playerId)
Definition Game.cpp:323
void CM_ActorGenerateCollision(struct Actor *actor)
Definition Game.cpp:704
void SelectToadsTurnpike()
Definition Game.cpp:781
void CM_DrawActors(Camera *camera)
Definition Game.cpp:372
void SetCourseById(s32 course)
Definition Game.cpp:264
void CM_DisplayBattleBombKart(s32 playerId, s32 primAlpha)
Definition Game.cpp:290
void NextCourse()
Definition Game.cpp:256
void SelectBlockFort()
Definition Game.cpp:786
void CM_SetStaffGhost()
Definition Game.cpp:534
bool IsLuigiRaceway()
Definition Game.cpp:750
void CM_UpdateClouds(s32 arg0, Camera *camera)
Definition Game.cpp:470
Properties * CM_GetProps()
Definition Game.cpp:540
void CM_DrawParticles(s32 cameraId)
Definition Game.cpp:448
void CM_DrawStaticMeshActors()
Definition Game.cpp:381
void SetCourseFromCup()
Definition Game.cpp:621
void HM_DrawIntro(void)
Definition Game.cpp:193
bool IsBansheeBoardwalk()
Definition Game.cpp:753
void SelectMooMooFarm()
Definition Game.cpp:780
void SelectWarioStadium()
Definition Game.cpp:785
struct Actor * CM_AddBaseActor()
Definition Game.cpp:696
bool IsSherbetLand()
Definition Game.cpp:761
bool IsDkJungle()
Definition Game.cpp:767
void CM_RenderCourse(struct UnkStruct_800DC5EC *arg0)
Definition Game.cpp:344
bool IsDoubleDeck()
Definition Game.cpp:766
void CM_RenderCredits()
Definition Game.cpp:360
bool IsMarioRaceway()
Definition Game.cpp:749
bool IsRainbowRoad()
Definition Game.cpp:762
void CM_ClearVehicles(void)
Definition Game.cpp:311
void CM_Waypoints(Player *player, int8_t playerId)
Definition Game.cpp:476
void HM_InitIntro(void)
Definition Game.cpp:185
void CM_DrawObjects(s32 cameraId)
Definition Game.cpp:424
void CM_RunGarbageCollector(void)
Definition Game.cpp:815
void CM_UpdateCourseObjects()
Definition Game.cpp:495
size_t GetCourseIndex()
Definition Game.cpp:248
struct Actor * CM_GetActor(size_t index)
Definition Game.cpp:629
void SelectYoshiValley()
Definition Game.cpp:776
void Editor_CleanWorld()
Definition Game.cpp:724
void CM_TickEditor()
Definition Game.cpp:430
void * GetSpecialCup(void)
Definition Game.cpp:806
void * GetBattleCup(void)
Definition Game.cpp:810
void CM_TickObjects()
Definition Game.cpp:410
void CM_InitCourseObjects()
Definition Game.cpp:489
void CM_DrawBombKarts(s32 cameraId)
void CM_ActivateFinalLapLakitu(s32 playerId)
Definition Game.cpp:594
void CM_TickParticles(void)
Definition Game.cpp:442
bool IsToadsTurnpike()
Definition Game.cpp:759
void CM_SetCupIndex(size_t index)
Definition Game.cpp:233
f32 CM_GetWaterLevel(Vec3f pos, Collision *collision)
Definition Game.cpp:743
bool CM_DoesFinishlineExist()
Definition Game.cpp:455
void CM_BeginPlay()
Definition Game.cpp:385
void CM_WhatDoesThisDo(Player *player, int8_t playerId)
Definition Game.cpp:522
bool IsMooMooFarm()
Definition Game.cpp:758
void CM_SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7)
Definition Game.cpp:482
void SelectRainbowRoad()
Definition Game.cpp:784
bool IsBowsersCastle()
Definition Game.cpp:752
void * GetMushroomCup(void)
Definition Game.cpp:794
void Editor_ClearMatrix()
Definition Game.cpp:720
size_t CM_FindActorIndex(struct Actor *actor)
Definition Game.cpp:639
void CM_ActivateFinishLakitu(s32 playerId)
Definition Game.cpp:580
void SelectBowsersCastle()
Definition Game.cpp:774
void SelectPodiumCeremony()
Definition Game.cpp:791
void SelectRoyalRaceway()
Definition Game.cpp:779
void * GetStarCup(void)
Definition Game.cpp:802
void CM_RenderCourseObjects(s32 cameraId)
Definition Game.cpp:502
void SelectFrappeSnowland()
Definition Game.cpp:777
void CM_SpawnFromLevelProps()
Definition Game.cpp:197
bool IsChocoMountain()
Definition Game.cpp:751
void CM_ActivateReverseLakitu(s32 playerId)
Definition Game.cpp:601
bool IsSkyscraper()
Definition Game.cpp:765
s32 CM_GetCrossingOnTriggered(uintptr_t *crossing)
Definition Game.cpp:331
bool IsKoopaTroopaBeach()
Definition Game.cpp:756
u32 WorldPreviousCup(void)
Definition Game.cpp:217
void * GetCup()
Definition Game.cpp:225
void CM_DrawBattleBombKarts(s32 cameraId)
Definition Game.cpp:305
void SelectMarioRaceway()
Definition Game.cpp:771
bool IsPodiumCeremony()
Definition Game.cpp:769
void CM_TickDraw()
void LoadCourse()
Definition Game.cpp:241
void SelectDoubleDeck()
Definition Game.cpp:788
void CM_CreditsSpawnActors()
Definition Game.cpp:516
bool IsYoshiValley()
Definition Game.cpp:754
void SelectKoopaTroopaBeach()
Definition Game.cpp:778
void CM_WhatDoesThisDoAI(Player *player, int8_t playerId)
Definition Game.cpp:528
void * GetFlowerCup(void)
Definition Game.cpp:798
void CM_TickObjects60fps()
Definition Game.cpp:418
void CM_VehicleCollision(s32 playerId, Player *player)
Definition Game.cpp:272
u32 WorldNextCup(void)
Definition Game.cpp:213
bool IsBigDonut()
Definition Game.cpp:768
void CM_SpawnStarterLakitu()
Definition Game.cpp:567
void HM_TickIntro(void)
Definition Game.cpp:189
void SelectBigDonut()
Definition Game.cpp:790
void CM_ActivateSecondLapLakitu(s32 playerId)
Definition Game.cpp:587
void CM_ActorBeginPlay(struct Actor *actor)
Definition Game.cpp:700
void CM_DrawEditor()
Definition Game.cpp:434
void CM_DeleteActor(size_t index)
Definition Game.cpp:653
void PreviousCourse()
Definition Game.cpp:260
bool IsKalimariDesert()
Definition Game.cpp:760
void CM_BombKartsWaypoint(s32 cameraId)
Definition Game.cpp:280
void CM_ScrollingTextures()
Definition Game.cpp:551
Properties * CM_GetPropsCourseId(s32 courseId)
Definition Game.cpp:547
void SelectLuigiRaceway()
Definition Game.cpp:772
void CM_ActorCollision(Player *player, struct Actor *actor)
Definition Game.cpp:735
void SelectBansheeBoardwalk()
Definition Game.cpp:775
void CM_SetCup(void *)
Definition Game.cpp:221
size_t GetCupCursorPosition()
Definition Game.cpp:608
void CM_TickActors()
Definition Game.cpp:366
void SetCupCursorPosition(size_t position)
Definition Game.cpp:612
void CM_CrossingTrigger()
Definition Game.cpp:315
void Editor_AddLight(s8 *direction)
Definition Game.cpp:714
size_t GetCupSize()
Definition Game.cpp:617
void CM_LoadTextures()
Definition Game.cpp:338
void SetMarioRaceway(void)
Definition Game.cpp:206
const char * GetCupName(void)
Definition Game.cpp:237
void SelectKalimariDesert()
Definition Game.cpp:782
bool IsFrappeSnowland()
Definition Game.cpp:755
void SelectSherbetLand()
Definition Game.cpp:783
void SetCourse(const char *name)
Definition Game.cpp:252
bool IsRoyalRaceway()
Definition Game.cpp:757
void * GetCourse(void)
Definition Game.cpp:625
Definition World.h:33
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