mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Build navmesh files to game directory
And additional compiler improvements
This commit is contained in:
parent
3cf36b5d61
commit
7cd73893f4
@ -1,8 +0,0 @@
|
|||||||
// Pch.cpp : source file that includes just the standard includes
|
|
||||||
// *.pch will be the pre-compiled header
|
|
||||||
// Pch.obj will contain the pre-compiled type information
|
|
||||||
|
|
||||||
#include "Pch.h"
|
|
||||||
|
|
||||||
// TODO: reference any additional headers you need in PCH.H
|
|
||||||
// and not in this file
|
|
@ -161,7 +161,7 @@ void Sample::collectSettings(BuildSettings& settings)
|
|||||||
void Sample::resetCommonSettings()
|
void Sample::resetCommonSettings()
|
||||||
{
|
{
|
||||||
m_cellSize = 15.0f;
|
m_cellSize = 15.0f;
|
||||||
m_cellHeight = 5.8f;
|
m_cellHeight = 5.85f;
|
||||||
m_agentHeight = 2.0f;
|
m_agentHeight = 2.0f;
|
||||||
m_agentRadius = 0.6f;
|
m_agentRadius = 0.6f;
|
||||||
m_agentMaxClimb = 0.9f;
|
m_agentMaxClimb = 0.9f;
|
||||||
@ -429,6 +429,125 @@ void unpatch_tiletf2(dtMeshTile* t)
|
|||||||
coord_tf_unfix(t->offMeshCons[i].unk);
|
coord_tf_unfix(t->offMeshCons[i].unk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
struct link_table_data
|
||||||
|
{
|
||||||
|
//disjoint set algo from some crappy site because i'm too lazy to think
|
||||||
|
int set_count = 0;
|
||||||
|
std::vector<int> rank;
|
||||||
|
std::vector<int> parent;
|
||||||
|
void init(int size)
|
||||||
|
{
|
||||||
|
rank.resize(size);
|
||||||
|
parent.resize(size);
|
||||||
|
|
||||||
|
for (int i = 0; i < parent.size(); i++)
|
||||||
|
parent[i] = i;
|
||||||
|
}
|
||||||
|
int insert_new()
|
||||||
|
{
|
||||||
|
rank.push_back(0);
|
||||||
|
parent.push_back(set_count);
|
||||||
|
return set_count++;
|
||||||
|
}
|
||||||
|
int find(int id)
|
||||||
|
{
|
||||||
|
if (parent[id] != id)
|
||||||
|
return find(parent[id]);
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
void set_union(int x, int y)
|
||||||
|
{
|
||||||
|
int sx = find(x);
|
||||||
|
int sy = find(y);
|
||||||
|
if (sx == sy) //same set already
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (rank[sx] < rank[sy])
|
||||||
|
parent[sx] = sy;
|
||||||
|
else if (rank[sx] > rank[sy])
|
||||||
|
parent[sy] = sx;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
parent[sy] = sx;
|
||||||
|
rank[sx] += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
void build_link_table(dtNavMesh* mesh, link_table_data& data)
|
||||||
|
{
|
||||||
|
//clear all labels
|
||||||
|
for (int i = 0; i < mesh->getMaxTiles(); ++i)
|
||||||
|
{
|
||||||
|
dtMeshTile* tile = mesh->getTile(i);
|
||||||
|
if (!tile || !tile->header || !tile->dataSize) continue;
|
||||||
|
auto pcount = tile->header->polyCount;
|
||||||
|
for (int j = 0; j < pcount; j++)
|
||||||
|
{
|
||||||
|
auto& poly = tile->polys[j];
|
||||||
|
poly.link_table_idx = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//first pass
|
||||||
|
std::set<int> nlabels;
|
||||||
|
for (int i = 0; i < mesh->getMaxTiles(); ++i)
|
||||||
|
{
|
||||||
|
dtMeshTile* tile = mesh->getTile(i);
|
||||||
|
if (!tile || !tile->header || !tile->dataSize) continue;
|
||||||
|
auto pcount = tile->header->polyCount;
|
||||||
|
for (int j = 0; j < pcount; j++)
|
||||||
|
{
|
||||||
|
auto& poly = tile->polys[j];
|
||||||
|
auto plink = poly.firstLink;
|
||||||
|
while (plink != DT_NULL_LINK)
|
||||||
|
{
|
||||||
|
auto l = tile->links[plink];
|
||||||
|
const dtMeshTile* t;
|
||||||
|
const dtPoly* p;
|
||||||
|
mesh->getTileAndPolyByRefUnsafe(l.ref, &t, &p);
|
||||||
|
|
||||||
|
if (p->link_table_idx != (unsigned short)-1)
|
||||||
|
nlabels.insert(p->link_table_idx);
|
||||||
|
plink = l.next;
|
||||||
|
}
|
||||||
|
if (nlabels.empty())
|
||||||
|
{
|
||||||
|
poly.link_table_idx = data.insert_new();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
auto l = *nlabels.begin();
|
||||||
|
poly.link_table_idx = l;
|
||||||
|
for (auto nl : nlabels)
|
||||||
|
data.set_union(l, nl);
|
||||||
|
}
|
||||||
|
nlabels.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//second pass
|
||||||
|
for (int i = 0; i < mesh->getMaxTiles(); ++i)
|
||||||
|
{
|
||||||
|
dtMeshTile* tile = mesh->getTile(i);
|
||||||
|
if (!tile || !tile->header || !tile->dataSize) continue;
|
||||||
|
auto pcount = tile->header->polyCount;
|
||||||
|
for (int j = 0; j < pcount; j++)
|
||||||
|
{
|
||||||
|
auto& poly = tile->polys[j];
|
||||||
|
auto id = data.find(poly.link_table_idx);
|
||||||
|
poly.link_table_idx = id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void set_reachable(std::vector<int>& data, int count, int id1, int id2, bool value)
|
||||||
|
{
|
||||||
|
int w = ((count + 31) / 32);
|
||||||
|
auto& cell = data[id1 * w + id2 / 32];
|
||||||
|
uint32_t value_mask = ~(1 << (id2 & 0x1f));
|
||||||
|
if (!value)
|
||||||
|
cell = (cell & value_mask);
|
||||||
|
else
|
||||||
|
cell = (cell & value_mask) | (1 << (id2 & 0x1f));
|
||||||
|
}
|
||||||
|
|
||||||
dtNavMesh* Sample::loadAll(const char* path)
|
dtNavMesh* Sample::loadAll(const char* path)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -505,133 +624,20 @@ dtNavMesh* Sample::loadAll(const char* path)
|
|||||||
|
|
||||||
return mesh;
|
return mesh;
|
||||||
}
|
}
|
||||||
struct link_table_data
|
|
||||||
{
|
|
||||||
//disjoint set algo from some crappy site because i'm too lazy to think
|
|
||||||
int set_count = 0;
|
|
||||||
std::vector<int> rank;
|
|
||||||
std::vector<int> parent;
|
|
||||||
void init(int size)
|
|
||||||
{
|
|
||||||
rank.resize(size);
|
|
||||||
parent.resize(size);
|
|
||||||
|
|
||||||
for (int i = 0; i < parent.size(); i++)
|
void Sample::saveAll(std::string path, dtNavMesh* mesh)
|
||||||
parent[i] = i;
|
|
||||||
}
|
|
||||||
int insert_new()
|
|
||||||
{
|
|
||||||
rank.push_back(0);
|
|
||||||
parent.push_back(set_count);
|
|
||||||
return set_count++;
|
|
||||||
}
|
|
||||||
int find(int id)
|
|
||||||
{
|
|
||||||
if (parent[id] != id)
|
|
||||||
return find(parent[id]);
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
void set_union(int x, int y)
|
|
||||||
{
|
|
||||||
int sx = find(x);
|
|
||||||
int sy = find(y);
|
|
||||||
if (sx == sy) //same set already
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (rank[sx] < rank[sy])
|
|
||||||
parent[sx] = sy;
|
|
||||||
else if (rank[sx] > rank[sy])
|
|
||||||
parent[sy] = sx;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
parent[sy] = sx;
|
|
||||||
rank[sx] += 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
void build_link_table(dtNavMesh* mesh, link_table_data& data)
|
|
||||||
{
|
{
|
||||||
//clear all labels
|
|
||||||
for (int i = 0; i < mesh->getMaxTiles(); ++i)
|
|
||||||
{
|
|
||||||
dtMeshTile* tile = mesh->getTile(i);
|
|
||||||
if (!tile || !tile->header || !tile->dataSize) continue;
|
|
||||||
auto pcount = tile->header->polyCount;
|
|
||||||
for (int j = 0; j < pcount; j++)
|
|
||||||
{
|
|
||||||
auto& poly = tile->polys[j];
|
|
||||||
poly.link_table_idx = -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//first pass
|
|
||||||
std::set<int> nlabels;
|
|
||||||
for (int i = 0; i < mesh->getMaxTiles(); ++i)
|
|
||||||
{
|
|
||||||
dtMeshTile* tile = mesh->getTile(i);
|
|
||||||
if (!tile || !tile->header || !tile->dataSize) continue;
|
|
||||||
auto pcount = tile->header->polyCount;
|
|
||||||
for (int j = 0; j < pcount; j++)
|
|
||||||
{
|
|
||||||
auto& poly = tile->polys[j];
|
|
||||||
auto plink = poly.firstLink;
|
|
||||||
while (plink != DT_NULL_LINK)
|
|
||||||
{
|
|
||||||
auto l=tile->links[plink];
|
|
||||||
const dtMeshTile *t;
|
|
||||||
const dtPoly *p;
|
|
||||||
mesh->getTileAndPolyByRefUnsafe(l.ref, &t, &p);
|
|
||||||
|
|
||||||
if(p->link_table_idx != (unsigned short)-1)
|
|
||||||
nlabels.insert(p->link_table_idx);
|
|
||||||
plink = l.next;
|
|
||||||
}
|
|
||||||
if (nlabels.empty())
|
|
||||||
{
|
|
||||||
poly.link_table_idx = data.insert_new();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
auto l = *nlabels.begin();
|
|
||||||
poly.link_table_idx = l;
|
|
||||||
for (auto nl : nlabels)
|
|
||||||
data.set_union(l, nl);
|
|
||||||
}
|
|
||||||
nlabels.clear();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//second pass
|
|
||||||
for (int i = 0; i < mesh->getMaxTiles(); ++i)
|
|
||||||
{
|
|
||||||
dtMeshTile* tile = mesh->getTile(i);
|
|
||||||
if (!tile || !tile->header || !tile->dataSize) continue;
|
|
||||||
auto pcount = tile->header->polyCount;
|
|
||||||
for (int j = 0; j < pcount; j++)
|
|
||||||
{
|
|
||||||
auto& poly = tile->polys[j];
|
|
||||||
auto id = data.find(poly.link_table_idx);
|
|
||||||
poly.link_table_idx = id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void set_reachable(std::vector<int>& data,int count, int id1, int id2, bool value)
|
|
||||||
{
|
|
||||||
int w = ((count + 31) / 32);
|
|
||||||
auto& cell = data[id1*w + id2 / 32];
|
|
||||||
uint32_t value_mask = ~(1<<(id2 & 0x1f));
|
|
||||||
if (!value)
|
|
||||||
cell = (cell & value_mask);
|
|
||||||
else
|
|
||||||
cell = (cell & value_mask) | (1 << (id2 & 0x1f));
|
|
||||||
}
|
|
||||||
void Sample::saveAll(const char* path,dtNavMesh* mesh)
|
|
||||||
{
|
|
||||||
|
|
||||||
printf("%s\n", path);
|
|
||||||
if (!mesh) return;
|
if (!mesh) return;
|
||||||
char buffer[256];
|
|
||||||
sprintf(buffer, "%s_%s.nm", path, m_navmesh_name);
|
|
||||||
|
|
||||||
printf("%s\n", buffer);
|
std::filesystem::path p = "..\\maps\\navmesh\\";
|
||||||
|
|
||||||
|
if (std::filesystem::is_directory(p))
|
||||||
|
{
|
||||||
|
path.insert(0, p.string());
|
||||||
|
}
|
||||||
|
|
||||||
|
char buffer[256];
|
||||||
|
sprintf(buffer, "%s_%s.nm", path.c_str(), m_navmesh_name);
|
||||||
|
|
||||||
FILE* fp = fopen(buffer, "wb");
|
FILE* fp = fopen(buffer, "wb");
|
||||||
if (!fp)
|
if (!fp)
|
||||||
@ -653,7 +659,7 @@ void Sample::saveAll(const char* path,dtNavMesh* mesh)
|
|||||||
|
|
||||||
link_table_data link_data;
|
link_table_data link_data;
|
||||||
build_link_table(mesh, link_data);
|
build_link_table(mesh, link_data);
|
||||||
int table_size = ((link_data.set_count + 31) / 32)*link_data.set_count * 32;
|
int table_size = ((link_data.set_count + 31) / 32) * link_data.set_count * 32;
|
||||||
header.params.disjoint_poly_group_count = link_data.set_count;
|
header.params.disjoint_poly_group_count = link_data.set_count;
|
||||||
header.params.reachability_table_count = m_count_reachability_tables;
|
header.params.reachability_table_count = m_count_reachability_tables;
|
||||||
header.params.reachability_table_size = table_size;
|
header.params.reachability_table_size = table_size;
|
||||||
@ -678,14 +684,14 @@ void Sample::saveAll(const char* path,dtNavMesh* mesh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//still dont know what this thing is...
|
//still dont know what this thing is...
|
||||||
int header_sth=0;
|
int header_sth = 0;
|
||||||
for(int i=0;i<link_data.set_count;i++)
|
for (int i = 0; i < link_data.set_count; i++)
|
||||||
fwrite(&header_sth, sizeof(int), 1, fp);
|
fwrite(&header_sth, sizeof(int), 1, fp);
|
||||||
|
|
||||||
std::vector<int> reachability(table_size,0);
|
std::vector<int> reachability(table_size, 0);
|
||||||
for (int i = 0; i < link_data.set_count; i++)
|
for (int i = 0; i < link_data.set_count; i++)
|
||||||
set_reachable(reachability, link_data.set_count, i, i, true);
|
set_reachable(reachability, link_data.set_count, i, i, true);
|
||||||
for(int i=0;i< header.params.reachability_table_count;i++)
|
for (int i = 0; i < header.params.reachability_table_count; i++)
|
||||||
fwrite(reachability.data(), sizeof(int), (table_size /4), fp);
|
fwrite(reachability.data(), sizeof(int), (table_size / 4), fp);
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
@ -34,7 +34,6 @@
|
|||||||
#include "NavEditor/Include/InputGeom.h"
|
#include "NavEditor/Include/InputGeom.h"
|
||||||
#include "NavEditor/Include/Sample.h"
|
#include "NavEditor/Include/Sample.h"
|
||||||
#include "NavEditor/Include/Sample_TempObstacles.h"
|
#include "NavEditor/Include/Sample_TempObstacles.h"
|
||||||
#include "thirdparty/fastlz/fastlz.h"
|
|
||||||
|
|
||||||
|
|
||||||
// This value specifies how many layers (or "floors") each navmesh tile is expected to have.
|
// This value specifies how many layers (or "floors") each navmesh tile is expected to have.
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
#ifndef DTPCH_H
|
|
||||||
#define DTPCH_H
|
|
||||||
|
|
||||||
#define _USE_MATH_DEFINES
|
|
||||||
#include <math.h>
|
|
||||||
#include <cmath>
|
|
||||||
#include <float.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
# include <io.h>
|
|
||||||
#else // Linux, BSD, OSX
|
|
||||||
# include <dirent.h>
|
|
||||||
# include <cstring>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <cstdio>
|
|
||||||
#include <iostream>
|
|
||||||
#include <fstream>
|
|
||||||
|
|
||||||
#include <set>
|
|
||||||
#include <vector>
|
|
||||||
#include <algorithm>
|
|
||||||
|
|
||||||
#include "thirdparty/sdl/include/SDL.h"
|
|
||||||
#include "thirdparty/sdl/include/SDL_syswm.h"
|
|
||||||
#include "thirdparty/sdl/include/SDL_opengl.h"
|
|
||||||
|
|
||||||
#ifdef __APPLE__
|
|
||||||
# include <OpenGL/glu.h>
|
|
||||||
#else
|
|
||||||
# include <GL/glu.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
# define snprintf _snprintf
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "NavEditor/Include/imgui.h"
|
|
||||||
#include "NavEditor/Include/imguiRenderGL.h"
|
|
||||||
|
|
||||||
#endif // DTPCH_H
|
|
@ -144,7 +144,7 @@ protected:
|
|||||||
SampleDebugDraw m_dd;
|
SampleDebugDraw m_dd;
|
||||||
|
|
||||||
dtNavMesh* loadAll(const char* path);
|
dtNavMesh* loadAll(const char* path);
|
||||||
void saveAll(const char* path,dtNavMesh* mesh);
|
void saveAll(std::string path,dtNavMesh* mesh);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
std::string m_model_name;
|
std::string m_model_name;
|
||||||
|
@ -376,6 +376,10 @@ int not_main(int argc, char** argv)
|
|||||||
auto_load = argv[1];
|
auto_load = argv[1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FreeConsole();
|
||||||
|
}
|
||||||
|
|
||||||
float t = 0.0f;
|
float t = 0.0f;
|
||||||
float timeAcc = 0.0f;
|
float timeAcc = 0.0f;
|
||||||
@ -412,8 +416,8 @@ int not_main(int argc, char** argv)
|
|||||||
string sampleName = "Choose Sample...";
|
string sampleName = "Choose Sample...";
|
||||||
|
|
||||||
vector<string> files;
|
vector<string> files;
|
||||||
const string meshesFolder = "Meshes";
|
const string meshesFolder = "Levels";
|
||||||
string meshName = "Choose Mesh...";
|
string meshName = "Choose Level...";
|
||||||
|
|
||||||
float markerPosition[3] = {0, 0, 0};
|
float markerPosition[3] = {0, 0, 0};
|
||||||
bool markerPositionSet = false;
|
bool markerPositionSet = false;
|
||||||
@ -835,8 +839,8 @@ int not_main(int argc, char** argv)
|
|||||||
imguiSeparator();
|
imguiSeparator();
|
||||||
//if (imguiCheck("Import/Export TF2", tf2_transforms, true))
|
//if (imguiCheck("Import/Export TF2", tf2_transforms, true))
|
||||||
// tf2_transforms = !tf2_transforms;
|
// tf2_transforms = !tf2_transforms;
|
||||||
imguiLabel("Input Mesh");
|
imguiLabel("Input Level");
|
||||||
if (imguiButton("Load mesh..."))
|
if (imguiButton("Load Level..."))
|
||||||
{
|
{
|
||||||
char szFile[260];
|
char szFile[260];
|
||||||
OPENFILENAMEA diag = { 0 };
|
OPENFILENAMEA diag = { 0 };
|
||||||
|
9
r5dev/thirdparty/recast/Pch.cpp
vendored
9
r5dev/thirdparty/recast/Pch.cpp
vendored
@ -1 +1,8 @@
|
|||||||
#include "NavEditor/Include/Pch.h"
|
// Pch.cpp : source file that includes just the standard includes
|
||||||
|
// *.pch will be the pre-compiled header
|
||||||
|
// Pch.obj will contain the pre-compiled type information
|
||||||
|
|
||||||
|
#include "Pch.h"
|
||||||
|
|
||||||
|
// TODO: reference any additional headers you need in PCH.H
|
||||||
|
// and not in this file
|
||||||
|
9
r5dev/thirdparty/recast/Pch.h
vendored
9
r5dev/thirdparty/recast/Pch.h
vendored
@ -1,3 +1,5 @@
|
|||||||
|
#ifndef DTPCH_H
|
||||||
|
#define DTPCH_H
|
||||||
|
|
||||||
#define _USE_MATH_DEFINES
|
#define _USE_MATH_DEFINES
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
@ -11,7 +13,7 @@
|
|||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
# include <io.h>
|
# include <io.h>
|
||||||
#else
|
#else // Linux, BSD, OSX
|
||||||
# include <dirent.h>
|
# include <dirent.h>
|
||||||
# include <cstring>
|
# include <cstring>
|
||||||
#endif
|
#endif
|
||||||
@ -24,6 +26,9 @@
|
|||||||
#include <set>
|
#include <set>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#include <filesystem>
|
||||||
|
|
||||||
|
#include "thirdparty/fastlz/fastlz.h"
|
||||||
|
|
||||||
#include "thirdparty/sdl/include/SDL.h"
|
#include "thirdparty/sdl/include/SDL.h"
|
||||||
#include "thirdparty/sdl/include/SDL_syswm.h"
|
#include "thirdparty/sdl/include/SDL_syswm.h"
|
||||||
@ -41,3 +46,5 @@
|
|||||||
|
|
||||||
#include "NavEditor/Include/imgui.h"
|
#include "NavEditor/Include/imgui.h"
|
||||||
#include "NavEditor/Include/imguiRenderGL.h"
|
#include "NavEditor/Include/imguiRenderGL.h"
|
||||||
|
|
||||||
|
#endif // DTPCH_H
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
<ClInclude Include="..\naveditor\include\NavMeshPruneTool.h" />
|
<ClInclude Include="..\naveditor\include\NavMeshPruneTool.h" />
|
||||||
<ClInclude Include="..\naveditor\include\NavMeshTesterTool.h" />
|
<ClInclude Include="..\naveditor\include\NavMeshTesterTool.h" />
|
||||||
<ClInclude Include="..\naveditor\include\OffMeshConnectionTool.h" />
|
<ClInclude Include="..\naveditor\include\OffMeshConnectionTool.h" />
|
||||||
<ClInclude Include="..\naveditor\include\Pch.h" />
|
|
||||||
<ClInclude Include="..\naveditor\include\PerfTimer.h" />
|
<ClInclude Include="..\naveditor\include\PerfTimer.h" />
|
||||||
<ClInclude Include="..\naveditor\include\Sample.h" />
|
<ClInclude Include="..\naveditor\include\Sample.h" />
|
||||||
<ClInclude Include="..\naveditor\include\SampleInterfaces.h" />
|
<ClInclude Include="..\naveditor\include\SampleInterfaces.h" />
|
||||||
@ -35,6 +34,7 @@
|
|||||||
<ClInclude Include="..\naveditor\include\TestCase.h" />
|
<ClInclude Include="..\naveditor\include\TestCase.h" />
|
||||||
<ClInclude Include="..\naveditor\include\ValueHistory.h" />
|
<ClInclude Include="..\naveditor\include\ValueHistory.h" />
|
||||||
<ClInclude Include="..\thirdparty\fastlz\fastlz.h" />
|
<ClInclude Include="..\thirdparty\fastlz\fastlz.h" />
|
||||||
|
<ClInclude Include="..\thirdparty\recast\Pch.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\naveditor\ChunkyTriMesh.cpp" />
|
<ClCompile Include="..\naveditor\ChunkyTriMesh.cpp" />
|
||||||
@ -51,10 +51,6 @@
|
|||||||
<ClCompile Include="..\naveditor\NavMeshPruneTool.cpp" />
|
<ClCompile Include="..\naveditor\NavMeshPruneTool.cpp" />
|
||||||
<ClCompile Include="..\naveditor\NavMeshTesterTool.cpp" />
|
<ClCompile Include="..\naveditor\NavMeshTesterTool.cpp" />
|
||||||
<ClCompile Include="..\naveditor\OffMeshConnectionTool.cpp" />
|
<ClCompile Include="..\naveditor\OffMeshConnectionTool.cpp" />
|
||||||
<ClCompile Include="..\naveditor\Pch.cpp">
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\naveditor\PerfTimer.cpp" />
|
<ClCompile Include="..\naveditor\PerfTimer.cpp" />
|
||||||
<ClCompile Include="..\naveditor\Sample.cpp" />
|
<ClCompile Include="..\naveditor\Sample.cpp" />
|
||||||
<ClCompile Include="..\naveditor\SampleInterfaces.cpp" />
|
<ClCompile Include="..\naveditor\SampleInterfaces.cpp" />
|
||||||
@ -68,6 +64,10 @@
|
|||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\thirdparty\recast\Pch.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<VCProjectVersion>16.0</VCProjectVersion>
|
<VCProjectVersion>16.0</VCProjectVersion>
|
||||||
|
@ -39,9 +39,6 @@
|
|||||||
</Filter>
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\naveditor\include\Pch.h">
|
|
||||||
<Filter>core\include</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\naveditor\include\Sample.h">
|
<ClInclude Include="..\naveditor\include\Sample.h">
|
||||||
<Filter>core\include</Filter>
|
<Filter>core\include</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@ -111,6 +108,9 @@
|
|||||||
<ClInclude Include="..\thirdparty\fastlz\fastlz.h">
|
<ClInclude Include="..\thirdparty\fastlz\fastlz.h">
|
||||||
<Filter>contrib\include</Filter>
|
<Filter>contrib\include</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\thirdparty\recast\Pch.h">
|
||||||
|
<Filter>core\include</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\thirdparty\fastlz\fastlz.c">
|
<ClCompile Include="..\thirdparty\fastlz\fastlz.c">
|
||||||
@ -119,9 +119,6 @@
|
|||||||
<ClCompile Include="..\naveditor\main.cpp">
|
<ClCompile Include="..\naveditor\main.cpp">
|
||||||
<Filter>core</Filter>
|
<Filter>core</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\naveditor\Pch.cpp">
|
|
||||||
<Filter>core</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\naveditor\Sample.cpp">
|
<ClCompile Include="..\naveditor\Sample.cpp">
|
||||||
<Filter>core</Filter>
|
<Filter>core</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@ -188,5 +185,8 @@
|
|||||||
<ClCompile Include="..\naveditor\TestCase.cpp">
|
<ClCompile Include="..\naveditor\TestCase.cpp">
|
||||||
<Filter>utils</Filter>
|
<Filter>utils</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\thirdparty\recast\Pch.cpp">
|
||||||
|
<Filter>core</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
Loading…
x
Reference in New Issue
Block a user