From 583ec3285c41e9d253c4aaabd2af4dadac75f3a7 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 23 Nov 2008 12:34:07 +0000 Subject: clean module consturction/destruction --- src/client/targets.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/client/targets.cc') diff --git a/src/client/targets.cc b/src/client/targets.cc index 3ccea8a..c544e73 100644 --- a/src/client/targets.cc +++ b/src/client/targets.cc @@ -45,6 +45,8 @@ bool is_legal_target(core::Entity *entity) { if (entity->serverside()) { return false; + } else if (!ext_render(entity)) { + return false; } else if (entity == core::localplayer()->mission_target()) { return true; } else if (entity == core::localcontrol()) { @@ -307,17 +309,17 @@ void render_entity_sound(core::Entity *entity) return; } - if (!ext_render(entity) || !ext_render(entity)->visible()) { + if (!ext_render(entity) || (ext_render(entity) && !ext_render(entity)->visible())) { if (ext_sound(entity)) delete ext_sound(entity); return; - } + } else { + if (!ext_sound(entity)) { + new SoundExt(entity); + } - if (!ext_sound(entity)) { - new SoundExt(entity); + ext_sound(entity)->frame(0.0f); } - - entity->extension((size_t) core::Extension::Sound)->frame(0.0f); } -- cgit v1.2.3