Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-11-23 12:34:07 +0000
committerStijn Buys <ingar@osirion.org>2008-11-23 12:34:07 +0000
commit583ec3285c41e9d253c4aaabd2af4dadac75f3a7 (patch)
tree5ec345e44af9d3699a95f493d8358ee766e23330 /src/client/targets.cc
parent44158ccfbe943b832c0e0bf9ce547212aa6c2b8b (diff)
clean module consturction/destruction
Diffstat (limited to 'src/client/targets.cc')
-rw-r--r--src/client/targets.cc14
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);
}