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.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/client/targets.cc b/src/client/targets.cc
index 128064e..c0b8e77 100644
--- a/src/client/targets.cc
+++ b/src/client/targets.cc
@@ -74,7 +74,10 @@ unsigned int hover()
void select_target(core::Entity *entity)
{
current_target = entity;
- current_target_id = current_target->id();
+ if (entity)
+ current_target_id = current_target->id();
+ else
+ current_target_id = 0;
core::application()->notify_sound("ui/target");
}
@@ -219,7 +222,7 @@ void func_target_center(std::string const &args)
math::Vector3f v(entity->state()->location() - render::Camera::eye());
v.normalize();
- if (is_legal_target(entity) && math::dotproduct(render::Camera::axis().forward(), v) > 0.5 ) {
+ if (is_legal_target(entity) && math::dotproduct(render::Camera::axis().forward(), v) > 0.85 ) {
// calculate the distance from entity location to the line [eye - cursor]
float d = math::Vector3f::length(math::crossproduct( (center - render::Camera::eye()) , (render::Camera::eye() - entity->location()))) / math::Vector3f::length(center - render::Camera::eye());