Compare commits

...

3 Commits

Author SHA1 Message Date
aozhiwei
7d716e26ab 1 2024-08-24 07:10:49 +08:00
aozhiwei
d5c9c4f65e add recastnavigation_v1.6.0 2024-08-22 15:33:49 +08:00
aozhiwei
8c77fc5b0c 1 2024-08-22 15:32:24 +08:00
10 changed files with 57 additions and 7 deletions

3
.gitmodules vendored
View File

@ -13,3 +13,6 @@
[submodule "third_party/f8"]
path = third_party/f8
url = git@git.kingsome.cn:server_common/f8.git
[submodule "third_party/recastnavigation_v1.6.0"]
path = third_party/recastnavigation_v1.6.0
url = git@git.kingsome.cn:server_common/recastnavigation_v1.6.0.git

View File

@ -15,3 +15,14 @@ SMUiUpdate
https://www.cnblogs.com/fellow1988/p/17263427.html
export ASAN_OPTIONS=halt_on_error=false:print_scariness=true:fast_unwind_on_malloc=true:detect_leak=1
if (owner_->IsPlayer()) {
start.x = 302.209595;
start.y = 6.18993711;
start.z = 49.6232567;
end.x = 308.426758;
end.y = 6.18993711;
end.z = 44.5886955;
}

View File

@ -31,9 +31,9 @@ include_directories(
/usr/include/glm
../../third_party
../../third_party/behaviac/inc
../../third_party/recastnavigation/Recast/Include
../../third_party/recastnavigation/Detour/Include
../../third_party/recastnavigation/DetourTileCache/Include
../../third_party/recastnavigation_v1.6.0/Recast/Include
../../third_party/recastnavigation_v1.6.0/Detour/Include
../../third_party/recastnavigation_v1.6.0/DetourTileCache/Include
behaviac_generated/types
behaviac_generated/types/internal
.
@ -53,15 +53,15 @@ aux_source_directory(../../third_party/f8/f8
SRC_LIST
)
aux_source_directory(../../third_party/recastnavigation/Recast/Source
aux_source_directory(../../third_party/recastnavigation_v1.6.0/Recast/Source
SRC_LIST
)
aux_source_directory(../../third_party/recastnavigation/Detour/Source
aux_source_directory(../../third_party/recastnavigation_v1.6.0/Detour/Source
SRC_LIST
)
aux_source_directory(../../third_party/recastnavigation/DetourTileCache/Source
aux_source_directory(../../third_party/recastnavigation_v1.6.0/DetourTileCache/Source
SRC_LIST
)

View File

@ -998,6 +998,9 @@ void CallFuncBuff::ClearSummonHero()
{
int hero_id = meta->_int_buff_param2;
float hero_num = meta->GetBuffParam3(this);
if (hero_id == 9011) {
a8::XPrintf("ClearSummonHero 9011\n", {});
}
owner->RemoveSurplusHero(hero_id, hero_num);
}

View File

@ -32,6 +32,10 @@
#include "mt/Map.h"
#include "mt/MobaRoom.h"
#define BOOST_STACKTRACE_USE_ADDR2LINE
#include <boost/stacktrace.hpp>
#include <iostream>
Hero::Hero():Creature()
{
++PerfMonitor::Instance()->entity_num[ET_Hero];
@ -44,6 +48,11 @@ Hero::Hero():Creature()
Hero::~Hero()
{
if (GetHeroMeta()->id() == 9011) {
a8::XPrintf("DestoryHero 9011\n", {});
std::cout << boost::stacktrace::stacktrace();
int i = 0;
}
SetDestorying();
DetachFromMaster();
if (agent_) {

View File

@ -481,7 +481,11 @@ bool MapInstance::Raycast(const glm::vec3& start, const glm::vec3& end,
float t = 0;
int npolys;
memset(hit_normal_, 0, sizeof(hit_normal_));
#if 1
status = navmesh_query_->newRaycast(666, startRef, spos, epos, &filter, &t, hit_normal_, polys_, &npolys, MAX_POLYS);
#else
status = navmesh_query_->raycast(startRef, spos, epos, &filter, &t, hit_normal_, polys_, &npolys, MAX_POLYS);
#endif
if (!dtStatusSucceed(status)) {
#ifdef MYDEBUG
abort();
@ -773,7 +777,11 @@ bool MapInstance::RaycastEx(const glm::vec3& start, const glm::vec3& end,
float t = 0;
int npolys;
memset(hit_normal_, 0, sizeof(hit_normal_));
#if 1
status = navmesh_query_->newRaycast(666, startRef, spos, epos, &filter, &t, hit_normal_, polys_, &npolys, MAX_POLYS);
#else
status = navmesh_query_->raycast(startRef, spos, epos, &filter, &t, hit_normal_, polys_, &npolys, MAX_POLYS);
#endif
if (!dtStatusSucceed(status)) {
#ifdef MYDEBUG
abort();

View File

@ -124,6 +124,17 @@ void Movement::CalcTargetPos(float distance)
glm::vec3 hit_point;
owner_->room->map_instance->Scale(start);
owner_->room->map_instance->Scale(end);
#if 0
if (owner_->IsPlayer()) {
start.x = 302.209595;
start.y = 6.18993711;
start.z = 49.6232567;
end.x = 308.426758;
end.y = 6.18993711;
end.z = 44.5886955;
}
#endif
bool ret = owner_->room->map_instance->RaycastEx(start, end, hit_point, hit_result,
point.same_polys_flags, point.spec_polys, exclude_flags);
if (ret) {

View File

@ -897,6 +897,10 @@ Hero* Room::CreateHero(Creature* master,
int team_id,
int obj_uniid)
{
if (meta->id() == 9011) {
a8::XPrintf("CreateHero 9011\n", {});
int i = 0;
}
if (obj_uniid > 0) {
if (GetEntityByUniId(obj_uniid)) {
abort();

View File

@ -32,7 +32,7 @@ void PlayerMgr::Init()
account_id_hash_[hum->GetAccountId()] = hum;
socket_id_hash_[hum->GetSocketId()] = hum;
++count;
if (count >= 3) {
if (count >= 300) {
f8::Timer::Instance()->DeleteCurrentTimer();
}
}

@ -0,0 +1 @@
Subproject commit 6dc1667f580357e8a2154c28b7867bea7e8ad3a7