Some improvements, added cutscene stub

This commit is contained in:
Vladislav Khorev committed 2026-05-09 23:31:49 +03:00
1 parent 72e05cdc28
commit be05643b70
27 files changed
+3480 -40

No files matched your search

+6
View File
@@ -146,6 +146,7 @@ float Character::getSpeedMultiplier(float transitionProgress) const {
}
void Character::update(int64_t deltaMs) {
if (!enabled) return;
if (initialHp <= 0.f) initialHp = hp;
if (slowMoTimeRemaining > 0.0f) {
@@ -448,6 +449,7 @@ void Character::draw(Renderer& renderer) {
hitSparkEmitter.draw(renderer, 1.0f, Environment::width, Environment::height, false);
}
if (!enabled) return;
if (!isPlayer && hp <= 0)
{
return;
@@ -622,6 +624,7 @@ void Character::drawAttachedWeapon(Renderer& renderer)
// ==================== Shadow depth pass ====================
void Character::drawShadowDepth(Renderer& renderer) {
if (!enabled) return;
if (!isPlayer && hp <= 0)
{
return;
@@ -712,6 +715,7 @@ void Character::drawShadowDepthGpuSkinning(Renderer& renderer) {
// ==================== Main pass with shadows ====================
void Character::drawWithShadow(Renderer& renderer, const Eigen::Matrix4f& lightFromCamera, GLuint shadowMapTex, const Eigen::Vector3f& lightDirCamera) {
if (!enabled) return;
// Sparks are world-space billboards — render under the caller's camera matrices.
if (hitSparkEmitter.isConfigured() && hitSparkEmitter.getActiveParticleCount() > 0) {
hitSparkEmitter.draw(renderer, 1.0f, Environment::width, Environment::height, false);
@@ -900,6 +904,7 @@ void Character::drawName(TextRenderer& textRenderer,
const Eigen::Matrix4f& projectionMatrix)
{
if (isPlayer) return;
if (!enabled) return;
if (hp <= 0.f) return;
if (npcName.empty()) return;
@@ -926,6 +931,7 @@ void Character::drawHealthBar(Renderer& renderer,
const Eigen::Matrix4f& projectionMatrix)
{
if (!isPlayer && !canAttack) return;
if (!enabled) return;
if (hp <= 0.f) return;
if (initialHp <= 0.f) return;