From 22c4683ba6464a75459ae5a30fee1a95b0e2bd64 Mon Sep 17 00:00:00 2001 From: Louis Stockdale-Lees Date: Thu, 23 Apr 2026 00:23:19 +0100 Subject: [PATCH 1/2] Small matches --- src/SB/Core/x/xCutscene.h | 1 + src/SB/Game/zNPCFXCinematic.cpp | 90 +++++++++++++++++++++++++++++++-- src/SB/Game/zNPCFXCinematic.h | 5 +- 3 files changed, 91 insertions(+), 5 deletions(-) diff --git a/src/SB/Core/x/xCutscene.h b/src/SB/Core/x/xCutscene.h index 682ac35e3..b16597c58 100644 --- a/src/SB/Core/x/xCutscene.h +++ b/src/SB/Core/x/xCutscene.h @@ -110,6 +110,7 @@ struct xCutscene U32 SndHandle[2]; XCSNNosey* cb_nosey; void NoseySet(XCSNNosey* nosey); + void NoseyClear(); }; struct CutsceneShadowModel diff --git a/src/SB/Game/zNPCFXCinematic.cpp b/src/SB/Game/zNPCFXCinematic.cpp index 93c9928ef..7eebc9b53 100644 --- a/src/SB/Game/zNPCFXCinematic.cpp +++ b/src/SB/Game/zNPCFXCinematic.cpp @@ -3,13 +3,11 @@ #include "xParEmitter.h" #include "zNPCFXCinematic.h" +#include "zParPTank.h" +#include "zNPCTypeBossSB2.h" #include -void zNPCFXShutdown() -{ -} - // TODO: NEEDS REWRITEN / CORRECTED void NCIN_Par_BPLANK_JET_1_Upd(const zCutsceneMgr*, NCINEntry* fxrec, S32 param) { @@ -447,6 +445,24 @@ void NCINBeNosey::CanRenderNow() NCINEntry* fxrec; } +void zNPCFXShutdown() +{ +} + +void NCINBeNosey::Init(const zCutsceneMgr* m, NCINEntry* e, S32 i) +{ + this->use_fxtab = e; + this->x = i; + this->use_csnmgr = (zCutsceneMgr*)m; +} + +void NCINBeNosey::Done() +{ + this->use_fxtab = 0; + this->x = 0; + this->use_csnmgr = 0; +} + void NCIN_Generic_Upd(const zCutsceneMgr*, NCINEntry* fxrec, S32 killit) { if (killit != 0) @@ -698,10 +714,76 @@ void NCIN_ShieldPop(const zCutsceneMgr*, NCINEntry*, S32) { } +void NCIN_MidFish_Upd(const zCutsceneMgr* mgr, NCINEntry* e, S32 i) +{ + if (i != 0) + { + e->flg_stat |= 4; + } +} + +void NCIN_BombTrail_Upd(const zCutsceneMgr* mgr, NCINEntry* e, S32 i) +{ + if (i != 0) + { + e->flg_stat |= 4; + } +} + +void NCIN_BombTrail_AR(const zCutsceneMgr* mgr, NCINEntry* e, RpAtomic* a, RwMatrixTag* t, U32 i1, U32 i2) +{ + if (i1 == 0x4) + { + zFX_SpawnBubbleTrail((const xVec3*)&t->pos, 0x4); + } +} + +void NCIN_BoneTrail_Upd(const zCutsceneMgr* mgr, NCINEntry* e, U32 i) +{ + if (i != 0) + { + e->flg_stat |= 4; + } +} + +void NCIN_BoneTrail_AR(const zCutsceneMgr* mgr, NCINEntry* e, RpAtomic* a, RwMatrixTag* t, U32 i1, U32 i2) +{ + if (i1 == 0x7) + { + zFX_SpawnBubbleTrail((const xVec3*)&t->pos, 0x4); + } +} + +void NCIN_HookRecoil_Upd(const zCutsceneMgr* mgr, NCINEntry* e, S32 i) +{ + if (i != 0) + { + e->flg_stat |= 4; + } +} + +void NCIN_SpatGlow_Upd(const zCutsceneMgr* mgr, NCINEntry* e, S32 i) +{ + if (i != 0) + { + e->flg_stat |= 4; + } +} + void clamp_bone_index(NCINEntry*, RpAtomic*) { } +void xCutscene::NoseyClear() +{ + this->NoseySet(0); +} + +void xCutscene::NoseySet(XCSNNosey* nosey) +{ + this->cb_nosey = nosey; +} + void NPCCone::TextureSet(RwRaster* raster) { rast_cone = raster; diff --git a/src/SB/Game/zNPCFXCinematic.h b/src/SB/Game/zNPCFXCinematic.h index 218644c3b..d102f7fc5 100644 --- a/src/SB/Game/zNPCFXCinematic.h +++ b/src/SB/Game/zNPCFXCinematic.h @@ -202,9 +202,12 @@ struct NCINBeNosey : XCSNNosey { zCutsceneMgr* use_csnmgr; NCINEntry* use_fxtab; + S32 x; - void UpdatedAnimated(RpAtomic* model, RwMatrixTag* animMat, U32 animIndex, U32 dataIndex); void CanRenderNow(); + void Init(const zCutsceneMgr* csnmgr, NCINEntry* fxtab, S32 x); + void Done(); + void UpdatedAnimated(RpAtomic* model, RwMatrixTag* animMat, U32 animIndex, U32 dataIndex); }; #endif From ef9aca01dd95ea7e0632f636a87b9f2e4d3335e4 Mon Sep 17 00:00:00 2001 From: Louis Stockdale-Lees Date: Thu, 23 Apr 2026 10:53:42 +0100 Subject: [PATCH 2/2] S32 --- src/SB/Game/zNPCFXCinematic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SB/Game/zNPCFXCinematic.cpp b/src/SB/Game/zNPCFXCinematic.cpp index 7eebc9b53..957b88733 100644 --- a/src/SB/Game/zNPCFXCinematic.cpp +++ b/src/SB/Game/zNPCFXCinematic.cpp @@ -738,7 +738,7 @@ void NCIN_BombTrail_AR(const zCutsceneMgr* mgr, NCINEntry* e, RpAtomic* a, RwMat } } -void NCIN_BoneTrail_Upd(const zCutsceneMgr* mgr, NCINEntry* e, U32 i) +void NCIN_BoneTrail_Upd(const zCutsceneMgr* mgr, NCINEntry* e, S32 i) { if (i != 0) {