From 1db2762979e031510cb343dbf7aca0f4bb10b77c Mon Sep 17 00:00:00 2001 From: Cuyler36 Date: Mon, 17 Jul 2023 08:47:20 -0400 Subject: [PATCH] Implement unused function for proper ordering --- rel/m_actor.c | 11 ++++++----- rel/m_skin_matrix.c | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/rel/m_actor.c b/rel/m_actor.c index 76fb69a7..f30238ad 100644 --- a/rel/m_actor.c +++ b/rel/m_actor.c @@ -26,13 +26,14 @@ void _savefpr_29(); void _restfpr_29(); //#include "orderstrings/8064d600_8064d604.inc" static char lbl_8064d600[] = ""; -//#include "orderfloats/806412e8_806412f0.inc" -asm void FORCESTRIP order_floats_806412e8() { - lfs f1, 1.0; - lfs f1, 0.5; -} #endif +/* @unused | necessary for proper float ordering*/ +extern void __declspec(section "forcestrip") projection_pos_set(GAME_PLAY* play, xyz_t* pos, xyz_t* proj_pos, f32* proj_w) { + Skin_Matrix_PrjMulVector(&play->projection_matrix, pos, proj_pos, proj_w); + *proj_w = *proj_w < 1.0f ? 1.0f : 1.0f / *proj_w; +} + extern void Actor_world_to_eye(ACTOR* actor, f32 eye_height) { /* Update position */ actor->eye.position.x = actor->world.position.x; diff --git a/rel/m_skin_matrix.c b/rel/m_skin_matrix.c index 48e08e4c..dab1cdf6 100644 --- a/rel/m_skin_matrix.c +++ b/rel/m_skin_matrix.c @@ -3,7 +3,7 @@ #include "orderfloats/80643310_80643318.inc" -void Skin_Matrix_PrjMulVector(MtxF* mf, Vec3f* src, Vec3f* xyzDest, f32* wDest) { +void Skin_Matrix_PrjMulVector(MtxF* mf, xyz_t* src, xyz_t* xyzDest, f32* wDest) { xyzDest->x = mf->xw + ((src->x * mf->xx) + (src->y * mf->xy) + (src->z * mf->xz)); xyzDest->y = mf->yw + ((src->x * mf->yx) + (src->y * mf->yy) + (src->z * mf->yz)); xyzDest->z = mf->zw + ((src->x * mf->zx) + (src->y * mf->zy) + (src->z * mf->zz));