mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-06-01 09:48:10 -04:00
tag fake item box and whatever func_800696CC is
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
#include <code_800029B0.h>
|
||||
#include <libultra/gbi.h>
|
||||
#include <main.h>
|
||||
#include "port/interpolation/FrameInterpolation.h"
|
||||
|
||||
/**
|
||||
* @brief Renders the fake item box actor.
|
||||
@@ -24,6 +25,9 @@ void render_actor_fake_item_box(Camera* camera, struct FakeItemBox* fakeItemBox)
|
||||
f32 temp_f2_2;
|
||||
f32 someMultiplier;
|
||||
|
||||
// @port: Tag the transform.
|
||||
FrameInterpolation_RecordOpenChild(TAG_ITEM_ADDR(fakeItemBox), 0);
|
||||
|
||||
if (is_within_render_distance(camera->pos, fakeItemBox->pos, camera->rot[1], 2500.0f, gCameraZoom[camera - camera1],
|
||||
1000000.0f) < 0 &&
|
||||
CVarGetInteger("gNoCulling", 0) == 0) {
|
||||
@@ -163,4 +167,6 @@ void render_actor_fake_item_box(Camera* camera, struct FakeItemBox* fakeItemBox)
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0030F8);
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
// @port Pop the transform id.
|
||||
FrameInterpolation_RecordCloseChild();
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <macros.h>
|
||||
#include "port/interpolation/FrameInterpolation.h"
|
||||
|
||||
#define TAG_ITEM_ADDR(x) ((u32) 0x10000000 | (u32) x)
|
||||
|
||||
|
||||
/**
|
||||
* @brief Renders the item box actor.
|
||||
|
||||
+10
-2
@@ -39,6 +39,7 @@
|
||||
#include <assets/some_data.h>
|
||||
#include "port/Game.h"
|
||||
#include "engine/Matrix.h"
|
||||
#include "port/interpolation/FrameInterpolation.h"
|
||||
|
||||
//! @warning this macro is undef'd at the end of this file
|
||||
#define MAKE_RGB(r, g, b) (((r) << 0x10) | ((g) << 0x08) | (b << 0x00))
|
||||
@@ -769,7 +770,7 @@ void render_object_for_player(s32 cameraId) {
|
||||
render_object_leaf_particle(cameraId);
|
||||
|
||||
if (D_80165730 != 0) {
|
||||
//render_balloons_grand_prix(cameraId);
|
||||
// render_balloons_grand_prix(cameraId);
|
||||
}
|
||||
if (gModeSelection == BATTLE) {
|
||||
CM_DrawBattleBombKarts(cameraId);
|
||||
@@ -1632,7 +1633,7 @@ void update_object(void) {
|
||||
// update_ferries_smoke_particle();
|
||||
// break;
|
||||
// }
|
||||
//if (D_80165730 != 0) {
|
||||
// if (D_80165730 != 0) {
|
||||
// func_80074EE8(); // Grand prix balloons
|
||||
//}
|
||||
func_80076F2C();
|
||||
@@ -5737,6 +5738,10 @@ void func_800696CC(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3, f32 arg4)
|
||||
sp54[0] = 0;
|
||||
sp54[1] = player->unk_048[arg3];
|
||||
sp54[2] = 0;
|
||||
|
||||
// @port: Tag the transform.
|
||||
FrameInterpolation_RecordOpenChild("func_800696CC", TAG_OBJECT(arg2));
|
||||
|
||||
func_800652D4(sp5C, sp54, player->size * arg4);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D008D58);
|
||||
gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE);
|
||||
@@ -5748,6 +5753,9 @@ void func_800696CC(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3, f32 arg4)
|
||||
gSPVertex(gDisplayListHead++, D_800E87C0, 4, 0);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D008DA0);
|
||||
gMatrixEffectCount += 1;
|
||||
|
||||
// @port Pop the transform id.
|
||||
FrameInterpolation_RecordCloseChild();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,11 +10,16 @@
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
|
||||
|
||||
std::unordered_map<Mtx*, MtxF> FrameInterpolation_Interpolate(float step);
|
||||
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define TAG_ITEM_ADDR(x) ((u32) 0x10000000 | (u32) x)
|
||||
#define TAG_OBJECT(x) ((u32) 0x40000000 | (u32) (x))
|
||||
|
||||
void FrameInterpolation_ShouldInterpolateFrame(bool shouldInterpolate);
|
||||
|
||||
void FrameInterpolation_StartRecord(void);
|
||||
|
||||
Reference in New Issue
Block a user