diff options
| author | MegaMech <7255464+MegaMech@users.noreply.github.com> | 2024-11-23 22:18:17 -0700 |
|---|---|---|
| committer | MegaMech <7255464+MegaMech@users.noreply.github.com> | 2024-11-23 22:18:17 -0700 |
| commit | fd59569ef59fce535427e18f42d47274ce4ac93a (patch) | |
| tree | eb24025ef4e3ad4a068c3ab8f4b76d649eb163f2 /src/port/Game.cpp | |
| parent | fc92794854eb8a1e628dff85abc749ad9d786e50 (diff) | |
Implement Thwomps
Diffstat (limited to 'src/port/Game.cpp')
| -rw-r--r-- | src/port/Game.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/port/Game.cpp b/src/port/Game.cpp index d9f9ee8d9..5b79f29c9 100644 --- a/src/port/Game.cpp +++ b/src/port/Game.cpp @@ -26,11 +26,13 @@ #include "engine/courses/DoubleDeck.h" #include "engine/courses/DKJungle.h" #include "engine/courses/BigDonut.h" +#include "engine/courses/Prison.h" #include "engine/courses/TestCourse.h" #include "engine/courses/PodiumCeremony.h" #include "engine/TrainCrossing.h" +#include "engine/vehicles/OBombKart.h" #include "Smoke.h" @@ -72,6 +74,7 @@ DoubleDeck* gDoubleDeck; DKJungle* gDkJungle; BigDonut* gBigDonut; PodiumCeremony* gPodiumCeremony; +PrisonCourse* gPrisonCourse; TestCourse* gTestCourse; Cup* gMushroomCup; @@ -103,6 +106,7 @@ void CustomEngineInit() { gDkJungle = new DKJungle(); gBigDonut = new BigDonut(); gPodiumCeremony = new PodiumCeremony(); + gPrisonCourse = new PrisonCourse(); gTestCourse = new TestCourse(); /* Add all courses to the global course list */ @@ -126,6 +130,7 @@ void CustomEngineInit() { gWorldInstance.AddCourse(gDoubleDeck); gWorldInstance.AddCourse(gDkJungle); gWorldInstance.AddCourse(gBigDonut); + gWorldInstance.AddCourse(gPrisonCourse); gWorldInstance.AddCourse(gTestCourse); gMushroomCup = new Cup("mk:mushroom_cup", "mushroom cup", std::vector<Course*>{ gLuigiRaceway, gMooMooFarm, gKoopaTroopaBeach, gKalimariDesert }); @@ -293,6 +298,8 @@ extern "C" { void CourseManager_ClearVehicles(void) { gWorldInstance.ClearVehicles(); + gWorldInstance.BombKarts.clear(); + gWorldInstance.Thwomps.clear(); } void CourseManager_CrossingTrigger() { @@ -466,6 +473,22 @@ extern "C" { } } + void CourseManager_TickThwomps() { + for (auto& thwomp : gWorldInstance.Thwomps) { + if (thwomp) { + thwomp->Tick(); + } + } + } + + void CourseManager_DrawThwomps(s32 cameraId) { + for (auto& thwomp : gWorldInstance.Thwomps) { + if (thwomp) { + thwomp->Draw(cameraId); + } + } + } + size_t GetCupCursorPosition() { return gWorldInstance.CurrentCup->CursorPosition; } |
