mirror of https://github.com/AxioDL/metaforce.git
CThardus: roll baby roll
This commit is contained in:
parent
2d2063632c
commit
545a6d691c
|
@ -908,7 +908,7 @@ void CThardus::LoopedAttack(CStateManager& mgr, EStateMsg msg, float arg) {
|
||||||
} else if (x658_ == 0) {
|
} else if (x658_ == 0) {
|
||||||
zeus::CVector3f dir = (mgr.GetPlayer().GetTranslation() - GetTranslation()).normalized();
|
zeus::CVector3f dir = (mgr.GetPlayer().GetTranslation() - GetTranslation()).normalized();
|
||||||
zeus::CVector2f vec = sub801dac30(mgr);
|
zeus::CVector2f vec = sub801dac30(mgr);
|
||||||
if (vec == zeus::skZero2f) {
|
if (vec != zeus::skZero2f) {
|
||||||
x650_ = vec;
|
x650_ = vec;
|
||||||
} else {
|
} else {
|
||||||
x650_ = dir.toVec2f().normalized();
|
x650_ = dir.toVec2f().normalized();
|
||||||
|
@ -1585,7 +1585,7 @@ zeus::CVector2f CThardus::sub801dc60c(float arg, CStateManager& mgr) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret != zeus::skZero2f) {
|
if (ret == zeus::skZero2f) {
|
||||||
return x45c_steeringBehaviors.Arrival(*this, x7d8_, 0.f).toVec2f();
|
return x45c_steeringBehaviors.Arrival(*this, x7d8_, 0.f).toVec2f();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ class CThardus : public CPatterned {
|
||||||
float x6a4_;
|
float x6a4_;
|
||||||
float x6a8_;
|
float x6a8_;
|
||||||
float x6ac_;
|
float x6ac_;
|
||||||
std::vector<bool> x6b0_; /* TODO: Determine real value */
|
std::vector<bool> x6b0_;
|
||||||
std::vector<TUniqueId> x6c0_rockLights;
|
std::vector<TUniqueId> x6c0_rockLights;
|
||||||
CAssetId x6d0_;
|
CAssetId x6d0_;
|
||||||
CAssetId x6d4_;
|
CAssetId x6d4_;
|
||||||
|
@ -157,7 +157,7 @@ class CThardus : public CPatterned {
|
||||||
void sub801dc444(CStateManager& mgr, const zeus::CVector3f& pos, CAssetId particle);
|
void sub801dc444(CStateManager& mgr, const zeus::CVector3f& pos, CAssetId particle);
|
||||||
void sub801dbc5c(CStateManager& mgr, CDestroyableRock* rock);
|
void sub801dbc5c(CStateManager& mgr, CDestroyableRock* rock);
|
||||||
void sub801dbbdc(CStateManager& mgr, CDestroyableRock* rock);
|
void sub801dbbdc(CStateManager& mgr, CDestroyableRock* rock);
|
||||||
bool sub801dc2c8() { return (x610_destroyableRocks.size() - 1) > x648_currentRock; }
|
bool sub801dc2c8() { return x648_currentRock == (x610_destroyableRocks.size() - 1); }
|
||||||
void UpdateNonDestroyableCollisionActorMaterials(EUpdateMaterialMode mode, EMaterialTypes mat, CStateManager& mgr);
|
void UpdateNonDestroyableCollisionActorMaterials(EUpdateMaterialMode mode, EMaterialTypes mat, CStateManager& mgr);
|
||||||
void UpdateExcludeList(const std::unique_ptr<CCollisionActorManager>& colMgr, EUpdateMaterialMode mode,
|
void UpdateExcludeList(const std::unique_ptr<CCollisionActorManager>& colMgr, EUpdateMaterialMode mode,
|
||||||
EMaterialTypes mat, CStateManager& mgr);
|
EMaterialTypes mat, CStateManager& mgr);
|
||||||
|
@ -243,7 +243,7 @@ public:
|
||||||
bool AggressionCheck(CStateManager& mgr, float arg) override { return x330_stateMachineState.GetTime() > 0.1f; }
|
bool AggressionCheck(CStateManager& mgr, float arg) override { return x330_stateMachineState.GetTime() > 0.1f; }
|
||||||
bool AttackOver(CStateManager& mgr, float arg) override { return true; }
|
bool AttackOver(CStateManager& mgr, float arg) override { return true; }
|
||||||
bool ShouldTaunt(CStateManager& mgr, float arg) override { return false; }
|
bool ShouldTaunt(CStateManager& mgr, float arg) override { return false; }
|
||||||
bool ShouldMove(CStateManager& mgr, float arg) override { return x68c_ < x578_waypoints.size() || x93b_; }
|
bool ShouldMove(CStateManager& mgr, float arg) override { return x68c_ < x574_ || x93b_; }
|
||||||
bool StartAttack(CStateManager& mgr, float arg) override { return true; }
|
bool StartAttack(CStateManager& mgr, float arg) override { return true; }
|
||||||
bool CodeTrigger(CStateManager& mgr, float arg) override { return x95c_doCodeTrigger; }
|
bool CodeTrigger(CStateManager& mgr, float arg) override { return x95c_doCodeTrigger; }
|
||||||
bool IsDizzy(CStateManager& mgr, float arg) override { return x330_stateMachineState.GetTime() > 4.f; }
|
bool IsDizzy(CStateManager& mgr, float arg) override { return x330_stateMachineState.GetTime() > 4.f; }
|
||||||
|
|
Loading…
Reference in New Issue