diff options
Diffstat (limited to 'src/client/targets.cc')
-rw-r--r-- | src/client/targets.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/client/targets.cc b/src/client/targets.cc index 46643bb..bd0ea48 100644 --- a/src/client/targets.cc +++ b/src/client/targets.cc @@ -40,20 +40,22 @@ unsigned int current_hover = 0; const core::Entity *current_target = 0; -bool is_valid_hud_target(const core::Entity *entity) +bool is_valid_map_target(const core::Entity *entity) { if (entity->serverside()) { return false; - } else if (!ext_render(entity)) { - return false; } else if (entity == core::localcontrol()) { return false; + } else if (entity->flag_is_set(core::Entity::ShowOnMap)) { + return true; + } else if (entity == core::localplayer()->mission_target()) { + return true; } else { - return ext_render(entity)->visible(); + return false; } } -bool is_valid_map_target(const core::Entity *entity) +bool is_valid_hud_target(const core::Entity *entity) { if (entity->serverside()) { return false; @@ -63,8 +65,10 @@ bool is_valid_map_target(const core::Entity *entity) return true; } else if (entity == core::localplayer()->mission_target()) { return true; - } else { + } else if (!ext_render(entity)) { return false; + } else { + return ext_render(entity)->visible(); } } |