mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-07-01 04:20:13 -04:00
particle boat and train
This commit is contained in:
+10
-7
@@ -13,6 +13,7 @@ extern "C" {
|
||||
#include "update_objects.h"
|
||||
#include "math_util_2.h"
|
||||
#include "assets/common_data.h"
|
||||
#include <port/interpolation/FrameInterpolation.h>
|
||||
}
|
||||
|
||||
//! @todo: This should be an Object class one day
|
||||
@@ -69,7 +70,6 @@ void TrainSmokeTick() {
|
||||
if (count != 0) {
|
||||
boat->SmokeTimer = 100;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -80,28 +80,31 @@ void TrainSmokeDraw(s32 cameraId) {
|
||||
|
||||
for (auto& actor : gWorldInstance.Actors) {
|
||||
if (auto train = dynamic_cast<ATrain*>(actor)) {
|
||||
gSPDisplayList(gDisplayListHead++, (Gfx*)D_0D007AE0);
|
||||
load_texture_block_i8_nomirror((uint8_t*)D_0D029458, 32, 32);
|
||||
gSPDisplayList(gDisplayListHead++, (Gfx*) D_0D007AE0);
|
||||
load_texture_block_i8_nomirror((uint8_t*) D_0D029458, 32, 32);
|
||||
func_8004B72C(255, 255, 255, 255, 255, 255, 255);
|
||||
D_80183E80[0] = 0;
|
||||
D_80183E80[2] = 0x8000;
|
||||
|
||||
if ((train->SomeFlags != 0) &&
|
||||
(is_particle_on_screen(train->Locomotive.position, camera, 0x4000U) != 0)) {
|
||||
if ((train->SomeFlags != 0) && (is_particle_on_screen(train->Locomotive.position, camera, 0x4000U) != 0)) {
|
||||
for (size_t i = 0; i < 128; i++) {
|
||||
FrameInterpolation_RecordOpenChild("TrainSmokeParticle", train->SmokeParticles[i]);
|
||||
render_object_train_smoke_particle(train->SmokeParticles[i], cameraId);
|
||||
FrameInterpolation_RecordCloseChild();
|
||||
}
|
||||
}
|
||||
} else if (auto boat = dynamic_cast<ABoat*>(actor)) {
|
||||
gSPDisplayList(gDisplayListHead++, (Gfx*)D_0D007AE0);
|
||||
gSPDisplayList(gDisplayListHead++, (Gfx*) D_0D007AE0);
|
||||
|
||||
load_texture_block_i8_nomirror((uint8_t*)D_0D029458, 32, 32);
|
||||
load_texture_block_i8_nomirror((uint8_t*) D_0D029458, 32, 32);
|
||||
func_8004B72C(255, 255, 255, 255, 255, 255, 255);
|
||||
D_80183E80[0] = 0;
|
||||
D_80183E80[2] = 0x8000;
|
||||
if ((boat->SomeFlags != 0) && (is_particle_on_screen(boat->Position, camera, 0x4000U) != 0)) {
|
||||
for (size_t i = 0; i < gObjectParticle2_SIZE; i++) {
|
||||
FrameInterpolation_RecordOpenChild("BoatSmokeParticle", boat->SmokeParticles[i]);
|
||||
render_object_paddle_boat_smoke_particle(boat->SmokeParticles[i], cameraId);
|
||||
FrameInterpolation_RecordCloseChild();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2090,8 +2090,6 @@ void init_smoke_particles(s32 arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void init_object_leaf_particle(s32 objectIndex, Vec3f arg1, s32 num) {
|
||||
UNUSED s32 stackPadding1;
|
||||
UNUSED u16 stackPadding0;
|
||||
@@ -2611,7 +2609,6 @@ void func_80078C70(s32 arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void func_8007ABFC(s32 playerId, bool arg1) {
|
||||
s32 itemWindow;
|
||||
|
||||
@@ -3458,7 +3455,7 @@ void func_8007BB9C(s32 arg0) {
|
||||
}
|
||||
|
||||
void wrapper_update_boos(void) {
|
||||
//update_boos();
|
||||
// update_boos();
|
||||
}
|
||||
|
||||
// Updates the display status on an object based on its relative direction to the camera
|
||||
@@ -3486,7 +3483,6 @@ void func_8007C420(s32 objectIndex, Player* player, Camera* camera) {
|
||||
func_8007C360(objectIndex, camera);
|
||||
}
|
||||
|
||||
|
||||
void func_8007CE0C(s32 objectIndex) {
|
||||
Object* object;
|
||||
|
||||
@@ -3883,8 +3879,6 @@ void func_800842C8(void) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void func_80085BB4(s32 objectIndex) {
|
||||
gObjectList[objectIndex].sizeScaling = 8.0f;
|
||||
set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f);
|
||||
|
||||
Reference in New Issue
Block a user