diff options
Diffstat (limited to 'src/engine/courses/BansheeBoardwalk.cpp')
| -rw-r--r-- | src/engine/courses/BansheeBoardwalk.cpp | 58 |
1 files changed, 25 insertions, 33 deletions
diff --git a/src/engine/courses/BansheeBoardwalk.cpp b/src/engine/courses/BansheeBoardwalk.cpp index 5ebaf2bc1..51049fb8d 100644 --- a/src/engine/courses/BansheeBoardwalk.cpp +++ b/src/engine/courses/BansheeBoardwalk.cpp @@ -5,7 +5,7 @@ #include "BansheeBoardwalk.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "engine/objects/CheepCheep.h" #include "engine/objects/TrashBin.h" @@ -35,6 +35,7 @@ extern "C" { #include "collision.h" #include "memory.h" #include "course_offsets.h" + #include "course.h" extern const char *banshee_boardwalk_dls[]; } @@ -69,17 +70,26 @@ BansheeBoardwalk::BansheeBoardwalk() { this->gfx = d_course_banshee_boardwalk_packed_dls; this->gfxSize = 3689; Props.textures = banshee_boardwalk_textures; - Props.MinimapTexture = gTextureCourseOutlineBansheeBoardwalk; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineBansheeBoardwalk; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 262; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 55; + Props.Minimap.PlayerY = 39; + Props.Minimap.PlayerScaleFactor = 0.016f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Id = "mk:banshee_boardwalk"; + + Props.SetText(Props.Name, "banshee boardwalk", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "ghost", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "747m", sizeof(Props.CourseLength)); - Props.Id = "mk:banshee_boardwalk"; - Props.Name = "banshee boardwalk"; - Props.DebugName = "ghost"; - Props.CourseLength = "747m"; Props.AIBehaviour = D_0D009058; Props.AIMaximumSeparation = 40.0f; Props.AIMinimumSeparation = 0.4f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 2.0f; @@ -119,8 +129,6 @@ BansheeBoardwalk::BansheeBoardwalk() { Props.Clouds = NULL; // no clouds Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {0, 0, 0}; Props.Skybox.BottomRight = {0, 0, 0}; @@ -131,6 +139,8 @@ BansheeBoardwalk::BansheeBoardwalk() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {0, 0, 0}; Props.Sequence = MusicSeq::MUSIC_SEQ_BANSHEE_BOARDWALK; + + Props.WaterLevel = -80.0f; } void BansheeBoardwalk::Load() { @@ -140,10 +150,9 @@ void BansheeBoardwalk::Load() { D_801625EC = 0; D_801625F4 = 0; D_801625F0 = 0; - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_banshee_boardwalk_track_sections)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_banshee_boardwalk_track_sections)); func_80295C6C(); find_vtx_and_set_colours(segmented_gfx_to_virtual((void*)0x07000878), 128, 0, 0, 0); - D_8015F8E4 = -80.0f; } void BansheeBoardwalk::LoadTextures() { @@ -163,19 +172,19 @@ void BansheeBoardwalk::BeginPlay() { } if (gIsMirrorMode) { - gWorldInstance.AddObject(new OTrashBin(FVector(1765.0f, 45.0f, 195.0f), FRotation(0, 180.0f, 0), 1.0f, bhv)); + gWorldInstance.AddObject(new OTrashBin(FVector(1765.0f, 45.0f, 195.0f), IRotator(0, 180, 0), 1.0f, bhv)); } else { - gWorldInstance.AddObject(new OTrashBin(FVector(-1765.0f, 45.0f, 70.0f), FRotation(0, 0, 0), 1.0f, bhv)); + gWorldInstance.AddObject(new OTrashBin(FVector(-1765.0f, 45.0f, 70.0f), IRotator(0, 0, 0), 1.0f, bhv)); } if ((gGamestate != CREDITS_SEQUENCE) && (gModeSelection != TIME_TRIALS)) { - gWorldInstance.AddObject(new OBat(FVector(0,0,0), FRotation(0, 0, 90.0f))); + gWorldInstance.AddObject(new OBat(FVector(0,0,0), IRotator(0, 0, 90))); gWorldInstance.AddObject(new OBoos(5, IPathSpan(180, 190), IPathSpan(200, 210), IPathSpan(280, 290))); gWorldInstance.AddObject(new OBoos(5, IPathSpan(490, 500), IPathSpan(510, 520), IPathSpan(620, 630))); } if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][110], 110, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][190], 190, 1, 0.8333333f)); @@ -187,15 +196,6 @@ void BansheeBoardwalk::BeginPlay() { } } -// Likely sets minimap boundaries -void BansheeBoardwalk::MinimapSettings() { - D_80165880 = dma_textures((const char*)gTextureGhosts, 0x4CC2, 0xD980); - D_8018D2A0 = 0.016f; - D_8018D2C0[0] = 0x0106; - D_8018D2E0 = 55; - D_8018D2E8 = 39; -} - void BansheeBoardwalk::InitCourseObjects() { size_t objectId = 0; if (gGamestate != CREDITS_SEQUENCE) { @@ -253,12 +253,6 @@ void BansheeBoardwalk::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void BansheeBoardwalk::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void BansheeBoardwalk::Render(struct UnkStruct_800DC5EC* arg0) { Camera* camera = arg0->camera; Mat4 spCC; @@ -322,8 +316,6 @@ void BansheeBoardwalk::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_banshee_boardwalk_dl_B308)); } -void BansheeBoardwalk::Collision() {} - void BansheeBoardwalk::ScrollingTextures() { D_802B87BC++; |
