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>2009-06-07 18:13:15 +0000
committerStijn Buys <ingar@osirion.org>2009-06-07 18:13:15 +0000
commitf33257521bf80dcef8575c4fc3ddaf4a40ff588a (patch)
tree5e3a112e814478ba3ab624e0867761654a5ea0a4 /src/client/targets.cc
parent5b94df1df2707b36401d91d80b92d0e4cdfd2277 (diff)
fixed a few widget order problems, changed map targetting behaviour
Diffstat (limited to 'src/client/targets.cc')
-rw-r--r--src/client/targets.cc17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/client/targets.cc b/src/client/targets.cc
index 0bec6c5..c634557 100644
--- a/src/client/targets.cc
+++ b/src/client/targets.cc
@@ -53,6 +53,21 @@ bool is_valid_hud_target(core::Entity *entity)
}
}
+bool is_valid_map_target(core::Entity *entity)
+{
+ if (entity->serverside()) {
+ 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 false;
+ }
+}
+
core::Entity* current()
{
return current_target;
@@ -358,7 +373,7 @@ void frame()
}
// find the current target
- if (!core::localplayer()->view() && core::localcontrol() && is_valid_hud_target(entity)) {
+ if (!core::localplayer()->view() && core::localcontrol() && (is_valid_hud_target(entity) || is_valid_map_target(entity))) {
if (entity->id() == current_target_id) {
current_target = entity;