From 0c190fe1706061976479317a3d7963d2a5e7789e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 28 Dec 2022 15:56:58 +0800 Subject: [PATCH] 1 --- server/gameserver/movement.cc | 37 +++-------------------------------- 1 file changed, 3 insertions(+), 34 deletions(-) diff --git a/server/gameserver/movement.cc b/server/gameserver/movement.cc index 106fdf47..298b1cbf 100644 --- a/server/gameserver/movement.cc +++ b/server/gameserver/movement.cc @@ -212,43 +212,12 @@ void Movement::AddPaths(const glm::vec3& start, std::vector& paths) MovePathPoint p; p.src_pos.FromGlmVec3(owner_->room->map_instance->UnScaleEx(last_pos)); p.tar_pos.FromGlmVec3(owner_->room->map_instance->UnScaleEx(paths[i])); + p.dir = p.tar_pos.ToGlmVec3() - p.src_pos.ToGlmVec3(); + p.dir.y = 0.0f; + GlmHelper::Normalize(p.dir); p.curr_pos = p.src_pos; - glm::vec2 src_pos; - glm::vec2 tar_pos; - - src_pos.x = p.src_pos.x; - src_pos.y = p.src_pos.z; - - tar_pos.x = p.tar_pos.x; - tar_pos.y = p.tar_pos.z; - - { - a8::Vec2 v1; - a8::Vec2 v2; - v1.x = tar_pos.x; - v1.y = tar_pos.y; - - v2.x = src_pos.x; - v2.y = src_pos.y; - - p.distance = v1.Distance(v2); - } - glm::vec2 dir = tar_pos - src_pos; - dir = glm::normalize(dir); - - if (isnan(dir.x)) { - abort(); - } - if (isnan(dir.y)) { - abort(); - } - - p.dir.x = dir.x; - p.dir.y = 0; - p.dir.z = dir.y; - last_pos = paths[i]; #ifdef DEBUG1 a8::XPrintf("AddPaths size:%d i:%d src_pos:%f,%f tar_pos:%f:%f\n",