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
60void CM_RenderCredits();
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
73void CM_TickObjects();
75void CM_DrawObjects(s32 cameraId);
76
77void CM_TickEditor();
78void CM_DrawEditor();
79void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY);
83
84void CM_TickParticles(void);
85void CM_DrawParticles(s32 cameraId);
86
87void CM_UpdateClouds(s32 arg0, Camera* camera);
88
89void CM_Waypoints(Player* player, int8_t playerId);
90
91void CM_SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6,
92 f32* arg7);
93
95
97
98void CM_RenderCourseObjects(s32 cameraId);
99
100void CM_SomeSounds();
101
103
104void CM_WhatDoesThisDo(Player* player, int8_t playerId);
105
106void CM_WhatDoesThisDoAI(Player* player, int8_t playerId);
107
108void CM_SetStaffGhost();
109
110void CM_BombKartsWaypoint(s32 cameraId);
111
113
114s32 CM_GetCrossingOnTriggered(uintptr_t* crossing);
115
116void CM_BeginPlay();
117
118void CM_DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot,
119 uint16_t playerDirection);
120
121void CM_AICrossingBehaviour(s32 playerId);
122
123void CM_ClearVehicles(void);
124
125void CM_CrossingTrigger();
126
127void CM_VehicleCollision(s32 playerId, Player* player);
128
129void CM_TickActors();
130
131void CM_DrawBombKarts(s32 cameraId);
132
133void SetMarioRaceway(void);
134
135size_t GetCupCursorPosition();
136
137void SetCupCursorPosition(size_t position);
138
139size_t GetCupSize();
140
141void SetCourseFromCup();
142
143void* GetCourse(void);
144
145void SetCourseById(s32 course);
146
147struct Actor* CM_GetActor(size_t index);
148void CM_DeleteActor(size_t index);
149struct Actor* CM_AddBaseActor();
150void CM_ActorBeginPlay(struct Actor* actor);
151void CM_ActorGenerateCollision(struct Actor* actor);
152void Editor_AddLight(s8* direction);
153size_t CM_GetActorSize();
154size_t CM_FindActorIndex(struct Actor* actor);
155void CM_ActorCollision(Player* player, struct Actor* actor);
156void CM_CleanWorld(void);
157
158f32 CM_GetWaterLevel(Vec3f pos, Collision* collision);
159
160bool IsMarioRaceway();
161bool IsLuigiRaceway();
162bool IsChocoMountain();
163bool IsBowsersCastle();
164bool IsBansheeBoardwalk();
165bool IsYoshiValley();
166bool IsFrappeSnowland();
167bool IsKoopaTroopaBeach();
168bool IsRoyalRaceway();
169bool IsMooMooFarm();
170bool IsToadsTurnpike();
171bool IsKalimariDesert();
172bool IsSherbetLand();
173bool IsRainbowRoad();
174bool IsWarioStadium();
175bool IsBlockFort();
176bool IsSkyscraper();
177bool IsDoubleDeck();
178bool IsDkJungle();
179bool IsBigDonut();
180bool IsPodiumCeremony();
181
182void SelectMarioRaceway();
183void SelectLuigiRaceway();
187void SelectYoshiValley();
190void SelectRoyalRaceway();
191void SelectMooMooFarm();
194void SelectSherbetLand();
195void SelectRainbowRoad();
196void SelectWarioStadium();
197void SelectBlockFort();
198void SelectSkyscraper();
199void SelectDoubleDeck();
200void SelectDkJungle();
201void SelectBigDonut();
203
204void* GetMushroomCup(void);
205
206void* GetFlowerCup(void);
207
208void* GetStarCup(void);
209
210void* GetSpecialCup(void);
211
212void* GetBattleCup(void);
213
214void* GetCup();
215
216void CM_RunGarbageCollector(void);
217
218#ifdef __cplusplus
219}
220#endif
221
222#endif // _GAME_H
bool bCleanWorld
Definition Game.cpp:70
s32 gTrophyIndex
Definition Game.cpp:84
HarbourMastersIntro gMenuIntro
Definition Game.cpp:80
Editor::Editor gEditor
Definition Game.cpp:82
void CM_InitClouds()
Definition Game.cpp:401
void CM_SomeSounds()
Definition Game.cpp:447
u32 GetCupIndex(void)
Definition Game.cpp:193
void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY)
Definition Game.cpp:385
size_t CM_GetActorSize()
Definition Game.cpp:639
bool IsBlockFort()
Definition Game.cpp:672
void CM_CleanWorld(void)
Definition Game.cpp:600
void SelectDkJungle()
Definition Game.cpp:697
void SelectSkyscraper()
Definition Game.cpp:695
void CM_DrawWater(struct UnkStruct_800DC5EC *screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection)
Definition Game.cpp:494
void SelectChocoMountain()
Definition Game.cpp:681
bool IsWarioStadium()
Definition Game.cpp:671
void CM_AICrossingBehaviour(s32 playerId)
Definition Game.cpp:289
void CM_ActorGenerateCollision(struct Actor *actor)
Definition Game.cpp:612
void SelectToadsTurnpike()
Definition Game.cpp:689
void CM_DrawActors(Camera *camera)
Definition Game.cpp:332
void SetCourseById(s32 course)
Definition Game.cpp:230
void CM_DisplayBattleBombKart(s32 playerId, s32 primAlpha)
Definition Game.cpp:256
void NextCourse()
Definition Game.cpp:222
void SelectBlockFort()
Definition Game.cpp:694
void CM_SetStaffGhost()
Definition Game.cpp:471
bool IsLuigiRaceway()
Definition Game.cpp:658
void CM_UpdateClouds(s32 arg0, Camera *camera)
Definition Game.cpp:407
Properties * CM_GetProps()
Definition Game.cpp:477
void CM_DrawParticles(s32 cameraId)
Definition Game.cpp:395
void CM_DrawStaticMeshActors()
Definition Game.cpp:341
void SetCourseFromCup()
Definition Game.cpp:558
void HM_DrawIntro(void)
Definition Game.cpp:165
bool IsBansheeBoardwalk()
Definition Game.cpp:661
void SelectMooMooFarm()
Definition Game.cpp:688
void SelectWarioStadium()
Definition Game.cpp:693
struct Actor * CM_AddBaseActor()
Definition Game.cpp:604
bool IsSherbetLand()
Definition Game.cpp:669
bool IsDkJungle()
Definition Game.cpp:675
void CM_RenderCourse(struct UnkStruct_800DC5EC *arg0)
Definition Game.cpp:304
bool IsDoubleDeck()
Definition Game.cpp:674
void CM_RenderCredits()
Definition Game.cpp:320
bool IsMarioRaceway()
Definition Game.cpp:657
bool IsRainbowRoad()
Definition Game.cpp:670
void CM_ClearVehicles(void)
Definition Game.cpp:277
void CM_Waypoints(Player *player, int8_t playerId)
Definition Game.cpp:413
void HM_InitIntro(void)
Definition Game.cpp:157
void CM_DrawObjects(s32 cameraId)
Definition Game.cpp:371
void CM_RunGarbageCollector(void)
Definition Game.cpp:723
void CM_UpdateCourseObjects()
Definition Game.cpp:432
size_t GetCourseIndex()
Definition Game.cpp:214
struct Actor * CM_GetActor(size_t index)
Definition Game.cpp:566
void SelectYoshiValley()
Definition Game.cpp:684
void Editor_CleanWorld()
Definition Game.cpp:632
void CM_TickEditor()
Definition Game.cpp:377
void UnLoadCourse()
Definition Game.cpp:210
void * GetSpecialCup(void)
Definition Game.cpp:714
void * GetBattleCup(void)
Definition Game.cpp:718
void CM_TickObjects()
Definition Game.cpp:357
void CM_InitCourseObjects()
Definition Game.cpp:426
void CM_DrawBombKarts(s32 cameraId)
void CM_ActivateFinalLapLakitu(s32 playerId)
Definition Game.cpp:531
void CM_TickParticles(void)
Definition Game.cpp:389
bool IsToadsTurnpike()
Definition Game.cpp:667
void CM_SetCupIndex(size_t index)
Definition Game.cpp:197
f32 CM_GetWaterLevel(Vec3f pos, Collision *collision)
Definition Game.cpp:651
void CM_BeginPlay()
Definition Game.cpp:345
void CM_WhatDoesThisDo(Player *player, int8_t playerId)
Definition Game.cpp:459
bool IsMooMooFarm()
Definition Game.cpp:666
void CM_SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7)
Definition Game.cpp:419
void SelectRainbowRoad()
Definition Game.cpp:692
bool IsBowsersCastle()
Definition Game.cpp:660
void * GetMushroomCup(void)
Definition Game.cpp:702
void Editor_ClearMatrix()
Definition Game.cpp:628
size_t CM_FindActorIndex(struct Actor *actor)
Definition Game.cpp:576
void CM_ActivateFinishLakitu(s32 playerId)
Definition Game.cpp:517
void SelectBowsersCastle()
Definition Game.cpp:682
void SelectPodiumCeremony()
Definition Game.cpp:699
void SelectRoyalRaceway()
Definition Game.cpp:687
void * GetStarCup(void)
Definition Game.cpp:710
void CM_RenderCourseObjects(s32 cameraId)
Definition Game.cpp:439
void SelectFrappeSnowland()
Definition Game.cpp:685
bool IsChocoMountain()
Definition Game.cpp:659
void CM_ActivateReverseLakitu(s32 playerId)
Definition Game.cpp:538
bool IsSkyscraper()
Definition Game.cpp:673
s32 CM_GetCrossingOnTriggered(uintptr_t *crossing)
Definition Game.cpp:297
bool IsKoopaTroopaBeach()
Definition Game.cpp:664
u32 WorldPreviousCup(void)
Definition Game.cpp:181
void * GetCup()
Definition Game.cpp:189
void CM_DrawBattleBombKarts(s32 cameraId)
Definition Game.cpp:271
void SelectMarioRaceway()
Definition Game.cpp:679
bool IsPodiumCeremony()
Definition Game.cpp:677
void CM_TickDraw()
void LoadCourse()
Definition Game.cpp:205
void SelectDoubleDeck()
Definition Game.cpp:696
void CM_CreditsSpawnActors()
Definition Game.cpp:453
bool IsYoshiValley()
Definition Game.cpp:662
void SelectKoopaTroopaBeach()
Definition Game.cpp:686
void CM_WhatDoesThisDoAI(Player *player, int8_t playerId)
Definition Game.cpp:465
void * GetFlowerCup(void)
Definition Game.cpp:706
void CM_TickObjects60fps()
Definition Game.cpp:365
void CM_VehicleCollision(s32 playerId, Player *player)
Definition Game.cpp:238
u32 WorldNextCup(void)
Definition Game.cpp:177
bool IsBigDonut()
Definition Game.cpp:676
void CM_SpawnStarterLakitu()
Definition Game.cpp:504
void HM_TickIntro(void)
Definition Game.cpp:161
void SelectBigDonut()
Definition Game.cpp:698
void CM_ActivateSecondLapLakitu(s32 playerId)
Definition Game.cpp:524
void CM_ActorBeginPlay(struct Actor *actor)
Definition Game.cpp:608
void CM_DrawEditor()
Definition Game.cpp:381
void CM_DeleteActor(size_t index)
Definition Game.cpp:590
void PreviousCourse()
Definition Game.cpp:226
bool IsKalimariDesert()
Definition Game.cpp:668
void CM_BombKartsWaypoint(s32 cameraId)
Definition Game.cpp:246
void CM_ScrollingTextures()
Definition Game.cpp:488
Properties * CM_GetPropsCourseId(s32 courseId)
Definition Game.cpp:484
void SelectLuigiRaceway()
Definition Game.cpp:680
void CM_ActorCollision(Player *player, struct Actor *actor)
Definition Game.cpp:643
void SelectBansheeBoardwalk()
Definition Game.cpp:683
void CM_SetCup(void *)
Definition Game.cpp:185
size_t GetCupCursorPosition()
Definition Game.cpp:545
void CM_TickActors()
Definition Game.cpp:326
void SetCupCursorPosition(size_t position)
Definition Game.cpp:549
void CM_CrossingTrigger()
Definition Game.cpp:281
void Editor_AddLight(s8 *direction)
Definition Game.cpp:622
size_t GetCupSize()
Definition Game.cpp:554
void SetMarioRaceway(void)
Definition Game.cpp:170
const char * GetCupName(void)
Definition Game.cpp:201
void SelectKalimariDesert()
Definition Game.cpp:690
bool IsFrappeSnowland()
Definition Game.cpp:663
void SelectSherbetLand()
Definition Game.cpp:691
void SetCourse(const char *name)
Definition Game.cpp:218
bool IsRoyalRaceway()
Definition Game.cpp:665
void * GetCourse(void)
Definition Game.cpp:562
Definition World.h:36
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:75
Definition code_800029B0.h:9