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.cc16
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();
}
}