multiple fix

This commit is contained in:
coco875
2025-01-05 01:32:27 +01:00
parent 4dfc8a9fef
commit 49df2fc6e5
12 changed files with 813 additions and 562 deletions
+44 -42
View File
@@ -5,21 +5,21 @@
#include "ChocoMountain.h"
extern "C" {
#include "main.h"
#include "memory.h"
#include "common_structs.h"
#include "course_offsets.h"
#include "some_data.h"
#include "code_8006E9C0.h"
#include "code_8003DC40.h"
#include "assets/common_data.h"
#include "render_objects.h"
#include "save.h"
#include "staff_ghosts.h"
#include "Engine.h"
#include "code_800029B0.h"
#include "render_courses.h"
extern StaffGhost* d_mario_raceway_staff_ghost;
#include "main.h"
#include "memory.h"
#include "common_structs.h"
#include "course_offsets.h"
#include "some_data.h"
#include "code_8006E9C0.h"
#include "code_8003DC40.h"
#include "assets/common_data.h"
#include "render_objects.h"
#include "save.h"
#include "staff_ghosts.h"
#include "Engine.h"
#include "code_800029B0.h"
#include "render_courses.h"
extern StaffGhost* d_mario_raceway_staff_ghost;
}
Course::Course() {
@@ -28,7 +28,7 @@ Course::Course() {
// Props.CourseLength = "567m";
// Props.Cup = FLOWER_CUP;
// Props.CupIndex = 3;
Props.LakituTowType = (s32)OLakitu::LakituTowType::NORMAL;
Props.LakituTowType = (s32) OLakitu::LakituTowType::NORMAL;
Props.AIBehaviour = D_0D008F28;
Props.AIMaximumSeparation = 50.0f;
Props.AIMinimumSeparation = 0.3f;
@@ -38,7 +38,7 @@ Course::Course() {
Props.NearPersp = 3.0f;
Props.FarPersp = 6800.0f;
Props.PathSizes = {600, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0};
Props.PathSizes = { 600, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 };
Props.D_0D009418[0] = 4.1666665f;
Props.D_0D009418[1] = 5.5833334f;
@@ -104,13 +104,13 @@ void Course::Load() {
size = ResourceGetTexSizeByName(asset->addr);
freeMemory = (u8*) allocate_memory(size);
texture = (u8*)(asset->addr);
texture = (u8*) (asset->addr);
if (texture) {
if (asset == &this->Props.textures[0]) {
gSegmentTable[5] = reinterpret_cast<uintptr_t>(&freeMemory[0]);
}
strcpy(reinterpret_cast<char*>(freeMemory), asset->addr);
//memcpy(freeMemory, texture, size);
// memcpy(freeMemory, texture, size);
texSegSize += size;
// printf("Texture Addr: 0x%llX, size 0x%X\n", &freeMemory[0], size);
}
@@ -125,7 +125,7 @@ void Course::Load() {
}
gSegmentTable[7] = reinterpret_cast<uintptr_t>(&gfx[0]);
displaylist_unpack(reinterpret_cast<uintptr_t *>(gfx), reinterpret_cast<uintptr_t>(packed), 0);
displaylist_unpack(reinterpret_cast<uintptr_t*>(gfx), reinterpret_cast<uintptr_t>(packed), 0);
Course::Init();
}
@@ -143,17 +143,17 @@ void Course::Init() {
D_8015F59C = 0;
D_8015F5A0 = 0;
func_80295D6C();
D_8015F58C = 0;
D_8015F58C = 0;
gCollisionMeshCount = 0;
gCollisionMesh = (CollisionTriangle*) gNextFreeMemoryAddress;
D_800DC5BC = 0;
D_800DC5C8 = 0;
}
void Course::LoadTextures() { }
void Course::LoadTextures() {
}
void Course::SpawnActors() {
}
void Course::InitClouds() {
@@ -177,48 +177,41 @@ void Course::UpdateClouds(s32 arg0, Camera* camera) {
}
// Adjusts player speed on steep hills
void Course::SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) {
void Course::SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6,
f32* arg7) {
func_8003E048(player, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
}
void Course::MinimapSettings() {
}
void Course::InitCourseObjects() {
}
void Course::UpdateCourseObjects() {
}
void Course::RenderCourseObjects(s32 cameraId) {
}
// Implemented for the first cup of each course plus Koopa Beach
void Course::SomeSounds() {
}
void Course::CreditsSpawnActors() {
}
void Course::WhatDoesThisDo(Player* player, int8_t playerId) {
}
void Course::WhatDoesThisDoAI(Player* player, int8_t playerId) {
}
// Positions the finishline on the minimap
void Course::MinimapFinishlinePosition() {
//! todo: Place hard-coded values here.
draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line);
draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY,
(u8*) common_texture_minimap_finish_line);
}
void Course::SetStaffGhost() {
@@ -233,16 +226,25 @@ void Course::Waypoints(Player* player, int8_t playerId) {
}
}
void Course::SpawnVehicles() {}
void Course::UpdateVehicles() {}
void Course::SpawnVehicles() {
}
void Course::UpdateVehicles() {
}
void Course::Render(struct UnkStruct_800DC5EC* arg0) {}
void Course::RenderCredits() {}
void Course::Collision() {}
void Course::ScrollingTextures() {}
void Course::DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection) {}
void Course::Render(struct UnkStruct_800DC5EC* arg0) {
}
void Course::RenderCredits() {
}
void Course::Collision() {
}
void Course::ScrollingTextures() {
}
void Course::DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot,
uint16_t playerDirection) {
}
void Course::Destroy() {}
void Course::Destroy() {
}
bool Course::IsMod() {
return false;