This commit is contained in:
Vladislav Khorev committed 2026-05-01 19:03:13 +03:00
commit 16d250a51d
31 files changed
+2110 -109

No files matched your search

+29
View File
@@ -142,9 +142,38 @@ AnimationState Character::resolveActiveState() const {
return AnimationState::STAND;
}
float Character::getSpeedMultiplier(float transitionProgress) const {
if (isPlayer) {
return 1.0f + (1.5f - 1.0f) * transitionProgress;
}
else {
return 1.0f - (1.0f - 0.1f) * transitionProgress;
}
}
void Character::update(int64_t deltaMs) {
if (initialHp <= 0.f) initialHp = hp;
if (slowMoTimeRemaining > 0.0f) {
slowMoTimeRemaining -= static_cast<float>(deltaMs) / 1000.0f;
float transitionProgress;
if (slowMoTimeRemaining > slowMoActiveTime - slowMoTransitionTime) {
float timeInTransition = slowMoActiveTime - slowMoTimeRemaining;
transitionProgress = (std::min)(1.0f, timeInTransition / slowMoTransitionTime);
}
else if (slowMoTimeRemaining < slowMoTransitionTime) {
transitionProgress = (std::max)(0.0f, slowMoTimeRemaining / slowMoTransitionTime);
}
else {
transitionProgress = 1.0f;
}
float speedMultiplier = getSpeedMultiplier(transitionProgress);
deltaMs = static_cast<int64_t>(static_cast<float>(deltaMs) * speedMultiplier);
}
//weaponInitialRotation = Eigen::AngleAxisf(x/180.0, Eigen::Vector3f::UnitZ()).toRotationMatrix();
//weaponInitialRotation = Eigen::AngleAxisf(-M_PI*0.5, Eigen::Vector3f::UnitZ()).toRotationMatrix();