From 7a8e7ef7a8bce4968d1f16defadb3a6a35b09fe5 Mon Sep 17 00:00:00 2001 From: XProger Date: Mon, 19 Nov 2018 02:44:43 +0300 Subject: [PATCH] fix #128 --- src/trigger.h | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/src/trigger.h b/src/trigger.h index 88ed888..d081b63 100644 --- a/src/trigger.h +++ b/src/trigger.h @@ -234,29 +234,26 @@ struct MuzzleFlash : Controller { } virtual void update() { + timer += Core::deltaTime; if (timer < MUZZLE_FLASH_TIME) { - timer += Core::deltaTime; + float intensity = clamp((MUZZLE_FLASH_TIME - timer) * 20.0f, EPS, 1.0f); - if (timer < MUZZLE_FLASH_TIME) { - float intensity = clamp((MUZZLE_FLASH_TIME - timer) * 20.0f, EPS, 1.0f); - - vec4 lightPos = vec4(owner->getJoint(joint).pos, 0); - vec4 lightColor = FLASH_LIGHT_COLOR * vec4(intensity, intensity, intensity, 1.0f / sqrtf(intensity)); - if (lightIndex > -1) { - ASSERT(lightIndex + 1 < MAX_LIGHTS); - Core::lightPos[lightIndex] = lightPos; - Core::lightColor[lightIndex] = lightColor; - } else - getRoom().addDynLight(owner->entity, lightPos, lightColor, true); - } else { - if (lightIndex > -1) { - ASSERT(lightIndex < MAX_LIGHTS); - Core::lightPos[lightIndex] = vec4(0); - Core::lightColor[lightIndex] = vec4(0, 0, 0, 1); - } else - getRoom().removeDynLight(owner->entity); - game->removeEntity(this); - } + vec4 lightPos = vec4(owner->getJoint(joint).pos, 0); + vec4 lightColor = FLASH_LIGHT_COLOR * vec4(intensity, intensity, intensity, 1.0f / sqrtf(intensity)); + if (lightIndex > -1) { + ASSERT(lightIndex + 1 < MAX_LIGHTS); + Core::lightPos[lightIndex] = lightPos; + Core::lightColor[lightIndex] = lightColor; + } else + getRoom().addDynLight(owner->entity, lightPos, lightColor, true); + } else { + if (lightIndex > -1) { + ASSERT(lightIndex < MAX_LIGHTS); + Core::lightPos[lightIndex] = vec4(0); + Core::lightColor[lightIndex] = vec4(0, 0, 0, 1); + } else + getRoom().removeDynLight(owner->entity); + game->removeEntity(this); } }