mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
NavMeshTesterTool XZY->XYZ
This commit is contained in:
parent
34076142ba
commit
4ada4cef72
@ -941,15 +941,14 @@ void NavMeshTesterTool::recalc()
|
||||
#endif
|
||||
m_navQuery->findPolysAroundCircle(m_startRef, m_spos, dist, &m_filter,
|
||||
m_polys, m_parent, 0, &m_npolys, MAX_POLYS);
|
||||
|
||||
}
|
||||
}
|
||||
else if (m_toolMode == TOOLMODE_FIND_POLYS_IN_SHAPE)
|
||||
{
|
||||
if (m_sposSet && m_startRef && m_eposSet)
|
||||
{
|
||||
const float nx = (m_epos[1] - m_spos[1])*0.25f;
|
||||
const float ny = -(m_epos[0] - m_spos[0])*0.25f;
|
||||
const float nx = -(m_epos[1] - m_spos[1])*0.25f;
|
||||
const float ny = (m_epos[0] - m_spos[0])*0.25f;
|
||||
const float agentHeight = m_sample ? m_sample->getAgentHeight() : 0;
|
||||
|
||||
m_queryPoly[0] = m_spos[0] + nx*1.2f;
|
||||
@ -967,7 +966,7 @@ void NavMeshTesterTool::recalc()
|
||||
m_queryPoly[9] = m_epos[0] + nx;
|
||||
m_queryPoly[10] = m_epos[1] + ny;
|
||||
m_queryPoly[11] = m_epos[2] + agentHeight/2;
|
||||
|
||||
|
||||
#ifdef DUMP_REQS
|
||||
printf("fpp %f %f %f %f %f %f %f %f %f %f %f %f 0x%x 0x%x\n",
|
||||
m_queryPoly[0],m_queryPoly[1],m_queryPoly[2],
|
||||
@ -1067,7 +1066,7 @@ void NavMeshTesterTool::handleRender()
|
||||
const unsigned int spathCol = duRGBA(0,0,0,220);
|
||||
dd.begin(DU_DRAW_LINES, 3.0f);
|
||||
for (int i = 0; i < m_nsmoothPath; ++i)
|
||||
dd.vertex(m_smoothPath[i*3], m_smoothPath[i*3+1], m_smoothPath[i*3+2] + 0.1f, spathCol);
|
||||
dd.vertex(m_smoothPath[i*3], m_smoothPath[i*3+1], m_smoothPath[i*3+2]+0.1f, spathCol);
|
||||
dd.end();
|
||||
dd.depthMask(true);
|
||||
}
|
||||
@ -1083,22 +1082,22 @@ void NavMeshTesterTool::handleRender()
|
||||
const unsigned int curCol = duRGBA(255,255,255,220);
|
||||
const unsigned int steerCol = duRGBA(0,192,255,220);
|
||||
|
||||
dd.vertex(m_prevIterPos[0],m_prevIterPos[1],m_prevIterPos[2] - 0.3f, prevCol);
|
||||
dd.vertex(m_prevIterPos[0],m_prevIterPos[1],m_prevIterPos[2] + 0.3f, prevCol);
|
||||
dd.vertex(m_prevIterPos[0],m_prevIterPos[1],m_prevIterPos[2]-0.3f, prevCol);
|
||||
dd.vertex(m_prevIterPos[0],m_prevIterPos[1],m_prevIterPos[2]+0.3f, prevCol);
|
||||
|
||||
dd.vertex(m_iterPos[0],m_iterPos[1],m_iterPos[2] - 0.3f, curCol);
|
||||
dd.vertex(m_iterPos[0],m_iterPos[1],m_iterPos[2] + 0.3f, curCol);
|
||||
dd.vertex(m_iterPos[0],m_iterPos[1],m_iterPos[2]-0.3f, curCol);
|
||||
dd.vertex(m_iterPos[0],m_iterPos[1],m_iterPos[2]+0.3f, curCol);
|
||||
|
||||
dd.vertex(m_prevIterPos[0],m_prevIterPos[1],m_prevIterPos[2] + 0.3f, prevCol);
|
||||
dd.vertex(m_iterPos[0],m_iterPos[1],m_iterPos[2] + 0.3f, prevCol);
|
||||
dd.vertex(m_prevIterPos[0],m_prevIterPos[1],m_prevIterPos[2]+0.3f,prevCol);
|
||||
dd.vertex(m_iterPos[0],m_iterPos[1],m_iterPos[2]+0.3f,prevCol);
|
||||
|
||||
dd.vertex(m_prevIterPos[0],m_prevIterPos[1],m_prevIterPos[2] + 0.3f, steerCol);
|
||||
dd.vertex(m_steerPos[0],m_steerPos[1],m_steerPos[2] + 0.3f, steerCol);
|
||||
dd.vertex(m_prevIterPos[0],m_prevIterPos[1],m_prevIterPos[2]+0.3f,steerCol);
|
||||
dd.vertex(m_steerPos[0],m_steerPos[1],m_steerPos[2]+0.3f,steerCol);
|
||||
|
||||
for (int i = 0; i < m_steerPointCount-1; ++i)
|
||||
{
|
||||
dd.vertex(m_steerPoints[i*3+0],m_steerPoints[i*3+1],m_steerPoints[i*3+2] + 0.2f, duDarkenCol(steerCol));
|
||||
dd.vertex(m_steerPoints[(i+1)*3+0],m_steerPoints[(i+1)*3+1],m_steerPoints[(i+1)*3+2] + 0.2f, duDarkenCol(steerCol));
|
||||
dd.vertex(m_steerPoints[(i+1)*3+0],m_steerPoints[(i+1)*3+1],m_steerPoints[(i+1)*3+2]+0.2f,duDarkenCol(steerCol));
|
||||
}
|
||||
|
||||
dd.end();
|
||||
@ -1184,10 +1183,10 @@ void NavMeshTesterTool::handleRender()
|
||||
{
|
||||
const unsigned int hitCol = duRGBA(0,0,0,128);
|
||||
dd.begin(DU_DRAW_LINES, 2.0f);
|
||||
dd.vertex(m_hitPos[0], m_hitPos[1] , m_hitPos[2] + 0.4f, hitCol);
|
||||
dd.vertex(m_hitPos[0] + m_hitNormal[0]*agentRadius,
|
||||
m_hitPos[1] + m_hitNormal[1] * agentRadius ,
|
||||
m_hitPos[2] + 0.4f + m_hitNormal[2] * agentRadius, hitCol);
|
||||
dd.vertex(m_hitPos[0],m_hitPos[1],m_hitPos[2]+0.4f,hitCol);
|
||||
dd.vertex(m_hitPos[0]+m_hitNormal[0]*agentRadius,
|
||||
m_hitPos[1]+m_hitNormal[1]*agentRadius,
|
||||
m_hitPos[2]+0.4f+m_hitNormal[2]*agentRadius,hitCol);
|
||||
dd.end();
|
||||
}
|
||||
dd.depthMask(true);
|
||||
@ -1216,7 +1215,7 @@ void NavMeshTesterTool::handleRender()
|
||||
dd.depthMask(false);
|
||||
getPolyCenter(m_navMesh, m_parent[i], p0);
|
||||
getPolyCenter(m_navMesh, m_polys[i], p1);
|
||||
duDebugDrawArc(&dd, p0[0],p0[1],p0[2], p1[0],p1[1],p1[2], 0.25f, 0.0f, 0.4f, duRGBA(0,0,0,128), 2.0f);
|
||||
duDebugDrawArc(&dd, p0[0],p0[1],p0[2], p1[0],p1[1],p1[2], 0.25f, 0.0f, 30.0f, duRGBA(0,0,0,128), 2.0f);
|
||||
dd.depthMask(true);
|
||||
}
|
||||
dd.depthMask(true);
|
||||
@ -1244,7 +1243,7 @@ void NavMeshTesterTool::handleRender()
|
||||
dd.depthMask(false);
|
||||
getPolyCenter(m_navMesh, m_parent[i], p0);
|
||||
getPolyCenter(m_navMesh, m_polys[i], p1);
|
||||
duDebugDrawArc(&dd, p0[0],p0[1],p0[2], p1[0],p1[1],p1[2], 0.25f, 0.0f, 0.4f, duRGBA(0,0,0,128), 2.0f);
|
||||
duDebugDrawArc(&dd, p0[0],p0[1],p0[2], p1[0],p1[1],p1[2], 0.25f, 0.0f, 30.0f, duRGBA(0,0,0,128), 2.0f);
|
||||
dd.depthMask(true);
|
||||
}
|
||||
dd.depthMask(true);
|
||||
@ -1278,7 +1277,7 @@ void NavMeshTesterTool::handleRender()
|
||||
dd.depthMask(false);
|
||||
getPolyCenter(m_navMesh, m_parent[i], p0);
|
||||
getPolyCenter(m_navMesh, m_polys[i], p1);
|
||||
duDebugDrawArc(&dd, p0[0],p0[1],p0[2], p1[0],p1[1],p1[2], 0.25f, 0.0f, 0.4f, duRGBA(0,0,0,128), 2.0f);
|
||||
duDebugDrawArc(&dd, p0[0],p0[1],p0[2], p1[0],p1[1],p1[2], 0.25f, 0.0f, 30.0f, duRGBA(0,0,0,128), 2.0f);
|
||||
dd.depthMask(true);
|
||||
}
|
||||
|
||||
@ -1302,8 +1301,8 @@ void NavMeshTesterTool::handleRender()
|
||||
float delta[3], norm[3], p0[3], p1[3];
|
||||
dtVsub(delta, s+3,s);
|
||||
dtVmad(p0, s, delta, 0.5f);
|
||||
norm[0] = delta[2];
|
||||
norm[1] = -delta[0]; //NB(warmist):unsure TODO
|
||||
norm[0] = delta[1];
|
||||
norm[1] = -delta[0];
|
||||
norm[2] = 0;
|
||||
dtVnormalize(norm);
|
||||
dtVmad(p1, p0, norm, agentRadius*0.5f);
|
||||
@ -1312,8 +1311,8 @@ void NavMeshTesterTool::handleRender()
|
||||
if (refs[j])
|
||||
{
|
||||
unsigned int col = duRGBA(255,255,255,32);
|
||||
dd.vertex(s[0],s[1],s[2] + agentClimb,col);
|
||||
dd.vertex(s[3],s[4],s[5] + agentClimb,col);
|
||||
dd.vertex(s[0],s[1],s[2]+agentClimb,col);
|
||||
dd.vertex(s[3],s[4],s[5]+agentClimb,col);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1321,11 +1320,11 @@ void NavMeshTesterTool::handleRender()
|
||||
if (dtTriArea2D(m_spos, s, s+3) < 0.0f)
|
||||
col = duRGBA(96,32,16,192);
|
||||
|
||||
dd.vertex(p0[0],p0[1],p0[2] + agentClimb,col);
|
||||
dd.vertex(p1[0],p1[1],p1[2] + agentClimb,col);
|
||||
dd.vertex(p0[0],p0[1],p0[2]+agentClimb,col);
|
||||
dd.vertex(p1[0],p1[1],p1[2]+agentClimb,col);
|
||||
|
||||
dd.vertex(s[0],s[1],s[2] + agentClimb,col);
|
||||
dd.vertex(s[3],s[4],s[5] + agentClimb,col);
|
||||
dd.vertex(s[0],s[1],s[2]+agentClimb,col);
|
||||
dd.vertex(s[3],s[4],s[5]+agentClimb,col);
|
||||
}
|
||||
}
|
||||
dd.end();
|
||||
|
Loading…
x
Reference in New Issue
Block a user