From cc0a4412a4ac7f1f78ef7e644a0c06c6dd6dd129 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Tue, 26 Aug 2008 17:42:30 +0000 Subject: improved dust rendering --- src/render/draw.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/render/draw.cc') diff --git a/src/render/draw.cc b/src/render/draw.cc index 9c5a0d0..415a56c 100644 --- a/src/render/draw.cc +++ b/src/render/draw.cc @@ -855,8 +855,11 @@ void draw_pass_model_fx(float elapsed) // draw model engines for Controlable entities if ((entity->type() == core::Entity::Controlable) && entity->model()->engines().size()) { - - u = static_cast(entity)->thrust(); + core::EntityControlable *ec = static_cast(entity); + u = ec->thrust(); + if ((ec->eventstate() == core::Entity::ImpulseInitiate) || (ec->eventstate() == core::Entity::Impulse)) { + u = 1; + } if (u > 0) { t = entity->state()->state_engine_trail_offset; @@ -901,14 +904,14 @@ void draw_pass_model_fx(float elapsed) Stats::quads++; } - if (!engine->notrail()) { + if (!(engine->notrail() || (ec->eventstate() == core::Entity::Impulse))) { // draw the engine trail if (current_texture != circle_texture) { gl::end(); current_texture = Textures::bind(circle_texture); gl::begin(gl::Quads); } - color.assign(1.0f, 1.0f); + color.assign(1.0f, 1.0f); offset.assign(entity->state()->axis().forward() * engine_size); if (t > 0) -- cgit v1.2.3