diff options
| author | MegaMech <MegaMech@users.noreply.github.com> | 2024-10-15 20:29:26 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-15 20:29:26 -0600 |
| commit | 4fbb031dd95f2a84e73fbca269f517e98808d293 (patch) | |
| tree | 55ed05a34242658698107ac2e9461b4c4bd0999d /src/port/Game.cpp | |
| parent | af81bad1f34ee6af52a70ff8bf7ad4e1ee624a93 (diff) | |
Refactors (#114)
* Update Engine.cpp
* fix
* Add Actors
* Refactor
* Update Game.cpp
* Refactors as per review
Diffstat (limited to 'src/port/Game.cpp')
| -rw-r--r-- | src/port/Game.cpp | 106 |
1 files changed, 66 insertions, 40 deletions
diff --git a/src/port/Game.cpp b/src/port/Game.cpp index 11d78c73e..9787f4562 100644 --- a/src/port/Game.cpp +++ b/src/port/Game.cpp @@ -1,8 +1,11 @@ #include <libultraship.h> +#include "Game.h" + #include <Fast3D/gfx_pc.h> #include "Engine.h" #include "engine/World.h" +#include "engine/courses/Course.h" #include "engine/courses/MarioRaceway.h" #include "engine/courses/ChocoMountain.h" #include "engine/courses/BowsersCastle.h" @@ -71,6 +74,12 @@ BigDonut* gBigDonut; PodiumCeremony* gPodiumCeremony; TestCourse* gTestCourse; +Cup* gMushroomCup; +Cup* gFlowerCup; +Cup* gStarCup; +Cup* gSpecialCup; +Cup* gBattleCup; + void CustomEngineInit() { gMarioRaceway = new MarioRaceway(); @@ -97,44 +106,45 @@ void CustomEngineInit() { gTestCourse = new TestCourse(); /* Add all courses to the global course list */ - gWorldInstance.Courses.push_back(gMarioRaceway); - gWorldInstance.Courses.push_back(gChocoMountain); - gWorldInstance.Courses.push_back(gBowsersCastle); - gWorldInstance.Courses.push_back(gBansheeBoardwalk); - gWorldInstance.Courses.push_back(gYoshiValley); - gWorldInstance.Courses.push_back(gFrappeSnowland); - gWorldInstance.Courses.push_back(gKoopaTroopaBeach); - gWorldInstance.Courses.push_back(gRoyalRaceway); - gWorldInstance.Courses.push_back(gLuigiRaceway); - gWorldInstance.Courses.push_back(gMooMooFarm); - gWorldInstance.Courses.push_back(gToadsTurnpike); - gWorldInstance.Courses.push_back(gKalimariDesert); - gWorldInstance.Courses.push_back(gSherbetLand); - gWorldInstance.Courses.push_back(gRainbowRoad); - gWorldInstance.Courses.push_back(gWarioStadium); - gWorldInstance.Courses.push_back(gBlockFort); - gWorldInstance.Courses.push_back(gSkyscraper); - gWorldInstance.Courses.push_back(gDoubleDeck); - gWorldInstance.Courses.push_back(gDkJungle); - gWorldInstance.Courses.push_back(gBigDonut); - gWorldInstance.Courses.push_back(gTestCourse); + gWorldInstance.AddCourse(gMarioRaceway); + gWorldInstance.AddCourse(gChocoMountain); + gWorldInstance.AddCourse(gBowsersCastle); + gWorldInstance.AddCourse(gBansheeBoardwalk); + gWorldInstance.AddCourse(gYoshiValley); + gWorldInstance.AddCourse(gFrappeSnowland); + gWorldInstance.AddCourse(gKoopaTroopaBeach); + gWorldInstance.AddCourse(gRoyalRaceway); + gWorldInstance.AddCourse(gLuigiRaceway); + gWorldInstance.AddCourse(gMooMooFarm); + gWorldInstance.AddCourse(gToadsTurnpike); + gWorldInstance.AddCourse(gKalimariDesert); + gWorldInstance.AddCourse(gSherbetLand); + gWorldInstance.AddCourse(gRainbowRoad); + gWorldInstance.AddCourse(gWarioStadium); + gWorldInstance.AddCourse(gBlockFort); + gWorldInstance.AddCourse(gSkyscraper); + gWorldInstance.AddCourse(gDoubleDeck); + gWorldInstance.AddCourse(gDkJungle); + gWorldInstance.AddCourse(gBigDonut); + gWorldInstance.AddCourse(gTestCourse); + + gMushroomCup = new Cup("mk:mushroom_cup", "mushroom cup", std::vector<Course*>{ gLuigiRaceway, gMooMooFarm, gKoopaTroopaBeach, gKalimariDesert }); + gFlowerCup = new Cup("mk:flower_cup", "flower cup", std::vector<Course*>{ gToadsTurnpike, gFrappeSnowland, gChocoMountain, gMarioRaceway }); + gStarCup = new Cup("mk:star_cup", "star cup", std::vector<Course*>{ gWarioStadium, gSherbetLand, gRoyalRaceway, gBowsersCastle }); + gSpecialCup = new Cup("mk:special_cup", "special cup", std::vector<Course*>{ gDkJungle, gYoshiValley, gBansheeBoardwalk, gRainbowRoad }); + gBattleCup = new Cup("mk:battle_cup", "battle", std::vector<Course*>{ gBigDonut, gBlockFort, gDoubleDeck, gSkyscraper }); /* Instantiate Cups */ - Cup* mushroom = gWorldInstance.AddCup( - "mushroom cup", std::vector<Course*>{ gLuigiRaceway, gMooMooFarm, gKoopaTroopaBeach, gKalimariDesert }); - Cup* flower = gWorldInstance.AddCup( - "flower cup", std::vector<Course*>{ gToadsTurnpike, gFrappeSnowland, gChocoMountain, gMarioRaceway }); - Cup* star = gWorldInstance.AddCup( - "star cup", std::vector<Course*>{ gWarioStadium, gSherbetLand, gRoyalRaceway, gBowsersCastle }); - Cup* special = gWorldInstance.AddCup( - "special cup", std::vector<Course*>{ gDkJungle, gYoshiValley, gBansheeBoardwalk, gRainbowRoad }); - Cup* battle = - gWorldInstance.AddCup("battle", std::vector<Course*>{ gBigDonut, gBlockFort, gDoubleDeck, gSkyscraper }); + gWorldInstance.AddCup(gMushroomCup); + gWorldInstance.AddCup(gFlowerCup); + gWorldInstance.AddCup(gStarCup); + gWorldInstance.AddCup(gSpecialCup); + gWorldInstance.AddCup(gBattleCup); /* Set default course; mario raceway */ gWorldInstance.CurrentCourse = gMarioRaceway; - gWorldInstance.CurrentCup = flower; - gWorldInstance.CurrentCup->CursorPosition = 2; + gWorldInstance.CurrentCup = gFlowerCup; + gWorldInstance.CurrentCup->CursorPosition = 3; } extern "C" { @@ -151,12 +161,12 @@ extern "C" { return gWorldInstance.PreviousCup(); } - void SetCupIndex(int16_t courseId) { - gWorldInstance.SetCupIndex(courseId); + void CourseManager_SetCup(void* cup) { + gWorldInstance.SetCup((Cup*)cup); } - void SetCup() { - gWorldInstance.SetCup(); + void* GetCup() { + return gWorldInstance.CurrentCup; } u32 GetCupIndex(void) { @@ -165,7 +175,7 @@ extern "C" { } const char* GetCupName(void) { - return gWorldInstance.Cups[gWorldInstance.CupIndex]->Name; + return gWorldInstance.CurrentCup->Name; } void LoadCourse() { @@ -521,8 +531,24 @@ extern "C" { return gPodiumCeremony; } - void* GetTestCourse(void) { - return gTestCourse; + void* GetMushroomCup(void) { + return gMushroomCup; + } + + void* GetFlowerCup(void) { + return gFlowerCup; + } + + void* GetStarCup(void) { + return gStarCup; + } + + void* GetSpecialCup(void) { + return gSpecialCup; + } + + void* GetBattleCup(void) { + return gBattleCup; } } |
