Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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);
}