diff options
author | Stijn Buys <ingar@osirion.org> | 2008-11-23 12:34:07 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-11-23 12:34:07 +0000 |
commit | 583ec3285c41e9d253c4aaabd2af4dadac75f3a7 (patch) | |
tree | 5ec345e44af9d3699a95f493d8358ee766e23330 /src/client/targets.cc | |
parent | 44158ccfbe943b832c0e0bf9ce547212aa6c2b8b (diff) |
clean module consturction/destruction
Diffstat (limited to 'src/client/targets.cc')
-rw-r--r-- | src/client/targets.cc | 14 |
1 files changed, 8 insertions, 6 deletions
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); } |