summaryrefslogtreecommitdiff
path: root/src/port
diff options
context:
space:
mode:
Diffstat (limited to 'src/port')
-rw-r--r--src/port/Game.cpp18
-rw-r--r--src/port/Game.h4
2 files changed, 22 insertions, 0 deletions
diff --git a/src/port/Game.cpp b/src/port/Game.cpp
index b610a3002..0b5e8a32f 100644
--- a/src/port/Game.cpp
+++ b/src/port/Game.cpp
@@ -295,8 +295,10 @@ extern "C" {
void CourseManager_ClearVehicles(void) {
gWorldInstance.ClearVehicles();
+ gWorldInstance.Crossings.clear();
gWorldInstance.BombKarts.clear();
gWorldInstance.Thwomps.clear();
+ gWorldInstance.Penguins.clear();
}
void CourseManager_CrossingTrigger() {
@@ -501,6 +503,22 @@ extern "C" {
}
}
+ void CourseManager_TickPenguins(void) {
+ for (auto& penguin : gWorldInstance.Penguins) {
+ if (penguin) {
+ penguin->Tick();
+ }
+ }
+ }
+
+ void CourseManager_DrawPenguins(s32 cameraId) {
+ for (auto& penguin : gWorldInstance.Penguins) {
+ if (penguin) {
+ penguin->Draw(cameraId);
+ }
+ }
+ }
+
size_t GetCupCursorPosition() {
return gWorldInstance.CurrentCup->CursorPosition;
}
diff --git a/src/port/Game.h b/src/port/Game.h
index d2762c08f..c35e933e2 100644
--- a/src/port/Game.h
+++ b/src/port/Game.h
@@ -98,6 +98,10 @@ void CourseManager_DrawThwomps(s32 cameraId);
void CourseManager_TickThwomps();
+void CourseManager_DrawPenguins(s32 cameraId);
+
+void CourseManager_TickPenguins();
+
void CourseManager_CrossingTrigger();
void CourseManager_VehiclesCollision(s32 playerId, Player* player);