summaryrefslogtreecommitdiff
path: root/src/engine/courses/BowsersCastle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/courses/BowsersCastle.cpp')
-rw-r--r--src/engine/courses/BowsersCastle.cpp36
1 files changed, 20 insertions, 16 deletions
diff --git a/src/engine/courses/BowsersCastle.cpp b/src/engine/courses/BowsersCastle.cpp
index 33179e739..544d7f1d6 100644
--- a/src/engine/courses/BowsersCastle.cpp
+++ b/src/engine/courses/BowsersCastle.cpp
@@ -28,6 +28,7 @@ extern "C" {
#include "staff_ghosts.h"
#include "actors.h"
#include "collision.h"
+ #include "code_8003DC40.h"
#include "memory.h"
extern const char *bowsers_castle_dls[];
}
@@ -37,6 +38,9 @@ BowsersCastle::BowsersCastle() {
this->gfx = d_course_bowsers_castle_packed_dls;
this->gfxSize = 4900;
this->textures = bowsers_castle_textures;
+ Props.MinimapTexture = gTextureCourseOutlineBowsersCastle;
+ Props.D_800E5548[0] = 64;
+ Props.D_800E5548[1] = 64;
Props.Id = "mk:bowsers_castle";
Props.Name = "bowser's castle";
@@ -73,12 +77,12 @@ BowsersCastle::BowsersCastle() {
Props.D_0D009808[2] = 5.75f;
Props.D_0D009808[3] = 6.3333334f;
- Props.PathTable[0] = d_course_bowsers_castle_unknown_waypoints;
+ Props.PathTable[0] = (TrackWaypoint*)LOAD_ASSET_RAW(d_course_bowsers_castle_unknown_waypoints);
Props.PathTable[1] = NULL;
Props.PathTable[2] = NULL;
Props.PathTable[3] = NULL;
- Props.PathTable2[0] = d_course_bowsers_castle_track_waypoints;
+ Props.PathTable2[0] = (TrackWaypoint*)LOAD_ASSET_RAW(d_course_bowsers_castle_track_waypoints);
Props.PathTable2[1] = NULL;
Props.PathTable2[2] = NULL;
Props.PathTable2[3] = NULL;
@@ -103,8 +107,8 @@ void BowsersCastle::LoadTextures() {
}
void BowsersCastle::SpawnActors() {
- spawn_foliage(d_course_bowsers_castle_tree_spawn);
- spawn_all_item_boxes(d_course_bowsers_castle_item_box_spawns);
+ spawn_foliage((struct ActorSpawnData*)LOAD_ASSET_RAW(d_course_bowsers_castle_tree_spawn));
+ spawn_all_item_boxes((struct ActorSpawnData*)LOAD_ASSET_RAW(d_course_bowsers_castle_item_box_spawns));
}
void BowsersCastle::Init() { }
@@ -211,17 +215,13 @@ void BowsersCastle::WhatDoesThisDoAI(Player* player, int8_t playerId) {
}
void BowsersCastle::SpawnBombKarts() {
- World* world = GetWorld();
-
- if (world) {
- world->SpawnObject(std::make_unique<OBombKart>(140, 3, 0.8333333, 0, 0, 0, 0));
- world->SpawnObject(std::make_unique<OBombKart>(165, 1, 0.8333333, 0, 0, 0, 0));
- world->SpawnObject(std::make_unique<OBombKart>(330, 3, 0.8333333, 0, 0, 0, 0));
- world->SpawnObject(std::make_unique<OBombKart>(550, 1, 0.8333333, 0, 0, 0, 0));
- world->SpawnObject(std::make_unique<OBombKart>(595, 3, 0.8333333, 0, 0, 0, 0));
- world->SpawnObject(std::make_unique<OBombKart>(0, 0, 0.8333333, 0, 0, 0, 0));
- world->SpawnObject(std::make_unique<OBombKart>(0, 0, 0.8333333, 0, 0, 0, 0));
- }
+ gWorldInstance.SpawnObject(std::make_unique<OBombKart>(140, 3, 0.8333333, 0, 0, 0, 0));
+ gWorldInstance.SpawnObject(std::make_unique<OBombKart>(165, 1, 0.8333333, 0, 0, 0, 0));
+ gWorldInstance.SpawnObject(std::make_unique<OBombKart>(330, 3, 0.8333333, 0, 0, 0, 0));
+ gWorldInstance.SpawnObject(std::make_unique<OBombKart>(550, 1, 0.8333333, 0, 0, 0, 0));
+ gWorldInstance.SpawnObject(std::make_unique<OBombKart>(595, 3, 0.8333333, 0, 0, 0, 0));
+ gWorldInstance.SpawnObject(std::make_unique<OBombKart>(0, 0, 0.8333333, 0, 0, 0, 0));
+ gWorldInstance.SpawnObject(std::make_unique<OBombKart>(0, 0, 0.8333333, 0, 0, 0, 0));
}
// Positions the finishline on the minimap
@@ -267,8 +267,12 @@ void BowsersCastle::RenderCredits() {
void BowsersCastle::Collision() {}
+void BowsersCastle::SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) {
+ func_8003E6EC(player, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+}
+
void BowsersCastle::GenerateCollision() {
- parse_course_displaylists(d_course_bowsers_castle_addr);
+ parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_bowsers_castle_addr));
func_80295C6C();
find_vtx_and_set_colours(segmented_gfx_to_virtual(reinterpret_cast<void*>(0x07001350)), 0x32, 0, 0, 0);
D_8015F8E4 = -50.0f;