diff options
Diffstat (limited to 'src/client/targets.cc')
-rw-r--r-- | src/client/targets.cc | 7 |
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()); |