Skip to content

Commit 8d15cf6

Browse files
authored
zBossSandy misc work (#663)
* zNPCTypeBossSandy.cpp / zNPCTypeBossSandy.h * order
1 parent 2c79476 commit 8d15cf6

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

src/SB/Game/zNPCTypeBossSandy.cpp

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,18 @@ void zNPCBSandy_BossDamageEffect_Init()
566566
}
567567
}
568568

569+
void zNPCBSandy::CalcMagnetizeInfo()
570+
{
571+
xMat4x3 boneMat;
572+
xQuatFromMat(&this->qBoulder, (xMat3x3*)this->headBoulder->model->Mat);
573+
xVec3Copy(&this->pBoulder, (xVec3*)&this->headBoulder->model->Mat->pos);
574+
xMat4x3Mul(&boneMat, (xMat4x3*)&this->model->Mat[sBone[1]], (xMat4x3*)this->model->Mat);
575+
xQuatFromMat(&this->qHead, &boneMat);
576+
xMat3x3RMulVec(&this->pHead, &boneMat, &sBoneOffset[1]);
577+
xVec3AddTo(&this->pHead, &boneMat.pos);
578+
magnetizeTime = xVec3Dist(&this->pHead, &this->pBoulder) * 0.1f;
579+
}
580+
569581
void zNPCBSandy::InitFX()
570582
{
571583
this->timeToNextBolt[0] = 0.0f;
@@ -1474,7 +1486,7 @@ S32 zNPCGoalBossSandyNoHead::Process(en_trantype* trantype, F32 dt, void* updCtx
14741486
zNPCBSandy* sandy = (zNPCBSandy*)psyche->clt_owner;
14751487
U32 numHints;
14761488
xVec3 newAt;
1477-
float lerpFactor;
1489+
F32 lerpFactor;
14781490
xMat4x3 boneMat;
14791491
xQuat q;
14801492

@@ -1619,6 +1631,32 @@ S32 zNPCGoalBossSandyElbowDrop::Process(en_trantype* trantype, F32 dt, void* upd
16191631
return xGoal::Process(trantype, dt, updCtxt, xscn);
16201632
}
16211633

1634+
S32 zNPCGoalBossSandyElbowDrop::Exit(F32 dt, void* updCtxt)
1635+
{
1636+
sElbowDropTimer = 0.0f;
1637+
sElbowDropThreshold = 0.0f;
1638+
sChaseTimer = 0.0f;
1639+
return xGoal::Exit(dt, updCtxt);
1640+
}
1641+
1642+
S32 zNPCGoalBossSandyLeap::Exit(F32 dt, void* updCtxt)
1643+
{
1644+
sChaseTimer = 0.0f;
1645+
return xGoal::Exit(dt, updCtxt);
1646+
}
1647+
1648+
S32 zNPCGoalBossSandyGetUp::Process(en_trantype* trantype, F32 dt, void* updCtxt, xScene* scene)
1649+
{
1650+
timeInGoal += dt;
1651+
return xGoal::Process(trantype, dt, updCtxt, scene);
1652+
}
1653+
1654+
S32 zNPCGoalBossSandyRunToRope::Exit(F32 dt, void* updCtxt)
1655+
{
1656+
sChaseTimer = 0.0f;
1657+
return xGoal::Exit(dt, updCtxt);
1658+
}
1659+
16221660
void xBinaryCamera::add_tweaks(char const*)
16231661
{
16241662
}

src/SB/Game/zNPCTypeBossSandy.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ struct zNPCBSandy : zNPCBoss
105105

106106
zNPCBSandy(S32 myType);
107107
void hiddenByCutscene();
108+
void CalcMagnetizeInfo();
108109
void InitFX();
109110

110111
/*

0 commit comments

Comments
 (0)