diff --git a/Externals/OPCODE/OPCODE.vcxproj b/Externals/OPCODE/OPCODE.vcxproj
new file mode 100644
index 00000000000..3fc21155eec
--- /dev/null
+++ b/Externals/OPCODE/OPCODE.vcxproj
@@ -0,0 +1,221 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 15.0
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}
+ OPCODE
+ 10.0.16299.0
+
+
+
+ DynamicLibrary
+ true
+ v141
+ MultiByte
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ MultiByte
+
+
+ DynamicLibrary
+ true
+ v141
+ MultiByte
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ Disabled
+ true
+ false
+ Use
+ pch.hpp
+ MultiThreadedDLL
+ OPCODE_EXPORTS;%(PreprocessorDefinitions)
+
+
+
+
+ Level3
+ Disabled
+ true
+ false
+ Use
+ pch.hpp
+ MultiThreadedDLL
+ OPCODE_EXPORTS;%(PreprocessorDefinitions)
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ false
+ Use
+ pch.hpp
+ MultiThreadedDLL
+ OPCODE_EXPORTS;%(PreprocessorDefinitions)
+
+
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ false
+ Use
+ pch.hpp
+ MultiThreadedDLL
+ OPCODE_EXPORTS;%(PreprocessorDefinitions)
+
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {a0f7d1fb-59a7-4717-a7e4-96f37e91998e}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Externals/OPCODE/OPCODE.vcxproj.filters b/Externals/OPCODE/OPCODE.vcxproj.filters
new file mode 100644
index 00000000000..e7ff446891c
--- /dev/null
+++ b/Externals/OPCODE/OPCODE.vcxproj.filters
@@ -0,0 +1,208 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+
+
+
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+
+
\ No newline at end of file
diff --git a/src/xrCDB/OPC_AABB.cpp b/Externals/OPCODE/OPC_AABB.cpp
similarity index 98%
rename from src/xrCDB/OPC_AABB.cpp
rename to Externals/OPCODE/OPC_AABB.cpp
index 31cd7c129d6..bc29df2078b 100644
--- a/src/xrCDB/OPC_AABB.cpp
+++ b/Externals/OPCODE/OPC_AABB.cpp
@@ -18,8 +18,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Meshmerizer;
diff --git a/src/xrCDB/OPC_AABB.h b/Externals/OPCODE/OPC_AABB.h
similarity index 100%
rename from src/xrCDB/OPC_AABB.h
rename to Externals/OPCODE/OPC_AABB.h
diff --git a/src/xrCDB/OPC_AABBCollider.cpp b/Externals/OPCODE/OPC_AABBCollider.cpp
similarity index 99%
rename from src/xrCDB/OPC_AABBCollider.cpp
rename to Externals/OPCODE/OPC_AABBCollider.cpp
index 081095d86b9..a82b17d2df2 100644
--- a/src/xrCDB/OPC_AABBCollider.cpp
+++ b/Externals/OPCODE/OPC_AABBCollider.cpp
@@ -28,8 +28,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Opcode;
diff --git a/src/xrCDB/OPC_AABBCollider.h b/Externals/OPCODE/OPC_AABBCollider.h
similarity index 100%
rename from src/xrCDB/OPC_AABBCollider.h
rename to Externals/OPCODE/OPC_AABBCollider.h
diff --git a/src/xrCDB/OPC_AABBTree.cpp b/Externals/OPCODE/OPC_AABBTree.cpp
similarity index 98%
rename from src/xrCDB/OPC_AABBTree.cpp
rename to Externals/OPCODE/OPC_AABBTree.cpp
index 4cf4464567a..540af667a60 100644
--- a/src/xrCDB/OPC_AABBTree.cpp
+++ b/Externals/OPCODE/OPC_AABBTree.cpp
@@ -44,8 +44,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
namespace Opcode
{
@@ -59,7 +58,7 @@ using namespace Opcode;
* Constructor.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-AABBTreeNode::AABBTreeNode() : mP(null), mN(null), mNbPrimitives(0), mNodePrimitives(null) {}
+AABBTreeNode::AABBTreeNode() : mP(nullptr), mN(nullptr), mNbPrimitives(0), mNodePrimitives(nullptr) {}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Destructor.
@@ -78,7 +77,7 @@ void AABBTreeNode::destroy(AABBTreeBuilder* _tree)
mN->destroy(_tree);
_tree->node_destroy(mN);
}
- mNodePrimitives = null; // This was just a shortcut to the global list => no release
+ mNodePrimitives = nullptr; // This was just a shortcut to the global list => no release
mNbPrimitives = 0;
}
@@ -342,7 +341,7 @@ void AABBTreeNode::_BuildHierarchy(AABBTreeBuilder* builder)
* Constructor.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-AABBTree::AABBTree() : mIndices(null), mTotalNbNodes(0) {}
+AABBTree::AABBTree() : mIndices(nullptr), mTotalNbNodes(0) {}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Destructor.
diff --git a/src/xrCDB/OPC_AABBTree.h b/Externals/OPCODE/OPC_AABBTree.h
similarity index 100%
rename from src/xrCDB/OPC_AABBTree.h
rename to Externals/OPCODE/OPC_AABBTree.h
diff --git a/src/xrCDB/OPC_BVTCache.h b/Externals/OPCODE/OPC_BVTCache.h
similarity index 98%
rename from src/xrCDB/OPC_BVTCache.h
rename to Externals/OPCODE/OPC_BVTCache.h
index 9cd09e67523..b0e5fee35d4 100644
--- a/src/xrCDB/OPC_BVTCache.h
+++ b/Externals/OPCODE/OPC_BVTCache.h
@@ -37,8 +37,8 @@ struct OPCODE_API BVTCache : Pair
void ResetCache()
{
- Model0 = null;
- Model1 = null;
+ Model0 = nullptr;
+ Model1 = nullptr;
id0 = 0;
id1 = 1;
#ifdef __MESHMERIZER_H__ // Collision hulls only supported within ICE !
diff --git a/src/xrCDB/OPC_BoundingSphere.h b/Externals/OPCODE/OPC_BoundingSphere.h
similarity index 100%
rename from src/xrCDB/OPC_BoundingSphere.h
rename to Externals/OPCODE/OPC_BoundingSphere.h
diff --git a/src/xrCDB/OPC_BoxBoxOverlap.h b/Externals/OPCODE/OPC_BoxBoxOverlap.h
similarity index 100%
rename from src/xrCDB/OPC_BoxBoxOverlap.h
rename to Externals/OPCODE/OPC_BoxBoxOverlap.h
diff --git a/src/xrCDB/OPC_Collider.cpp b/Externals/OPCODE/OPC_Collider.cpp
similarity index 98%
rename from src/xrCDB/OPC_Collider.cpp
rename to Externals/OPCODE/OPC_Collider.cpp
index 6a24045c5c8..3f18c2483a9 100644
--- a/src/xrCDB/OPC_Collider.cpp
+++ b/Externals/OPCODE/OPC_Collider.cpp
@@ -28,8 +28,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Opcode;
diff --git a/src/xrCDB/OPC_Collider.h b/Externals/OPCODE/OPC_Collider.h
similarity index 100%
rename from src/xrCDB/OPC_Collider.h
rename to Externals/OPCODE/OPC_Collider.h
diff --git a/src/xrCDB/OPC_Common.cpp b/Externals/OPCODE/OPC_Common.cpp
similarity index 99%
rename from src/xrCDB/OPC_Common.cpp
rename to Externals/OPCODE/OPC_Common.cpp
index 38544afe2cb..22ae123d0ef 100644
--- a/src/xrCDB/OPC_Common.cpp
+++ b/Externals/OPCODE/OPC_Common.cpp
@@ -79,7 +79,6 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Opcode;
diff --git a/src/xrCDB/OPC_Common.h b/Externals/OPCODE/OPC_Common.h
similarity index 100%
rename from src/xrCDB/OPC_Common.h
rename to Externals/OPCODE/OPC_Common.h
diff --git a/src/xrCDB/OPC_Container.cpp b/Externals/OPCODE/OPC_Container.cpp
similarity index 98%
rename from src/xrCDB/OPC_Container.cpp
rename to Externals/OPCODE/OPC_Container.cpp
index 7ee723dae6e..0620969274f 100644
--- a/src/xrCDB/OPC_Container.cpp
+++ b/Externals/OPCODE/OPC_Container.cpp
@@ -22,8 +22,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace IceCore;
@@ -38,7 +37,7 @@ udword Container::mUsedRam = 0;
* Constructor. No entries allocated there.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-Container::Container() : mMaxNbEntries(0), mCurNbEntries(0), mEntries(null), mGrowthFactor(2.0f)
+Container::Container() : mMaxNbEntries(0), mCurNbEntries(0), mEntries(nullptr), mGrowthFactor(2.0f)
{
#ifdef CONTAINER_STATS
mNbContainers++;
@@ -52,7 +51,7 @@ Container::Container() : mMaxNbEntries(0), mCurNbEntries(0), mEntries(null), mGr
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Container::Container(udword size, float growth_factor)
- : mMaxNbEntries(0), mCurNbEntries(0), mEntries(null), mGrowthFactor(growth_factor)
+ : mMaxNbEntries(0), mCurNbEntries(0), mEntries(nullptr), mGrowthFactor(growth_factor)
{
#ifdef CONTAINER_STATS
mNbContainers++;
diff --git a/src/xrCDB/OPC_Container.h b/Externals/OPCODE/OPC_Container.h
similarity index 99%
rename from src/xrCDB/OPC_Container.h
rename to Externals/OPCODE/OPC_Container.h
index 452c44a6243..9d61bfd80f4 100644
--- a/src/xrCDB/OPC_Container.h
+++ b/Externals/OPCODE/OPC_Container.h
@@ -155,7 +155,7 @@ class ICECORE_API Container
bool Refit();
// Checks whether the container already contains a given value.
- bool Contains(udword entry, udword* location = null) const;
+ bool Contains(udword entry, udword* location = nullptr) const;
// Deletes an entry - doesn't preserve insertion order.
bool Delete(udword entry);
// Deletes an entry - does preserve insertion order.
diff --git a/src/xrCDB/OPC_FPU.h b/Externals/OPCODE/OPC_FPU.h
similarity index 100%
rename from src/xrCDB/OPC_FPU.h
rename to Externals/OPCODE/OPC_FPU.h
diff --git a/src/xrCDB/OPC_Matrix3x3.cpp b/Externals/OPCODE/OPC_Matrix3x3.cpp
similarity index 99%
rename from src/xrCDB/OPC_Matrix3x3.cpp
rename to Externals/OPCODE/OPC_Matrix3x3.cpp
index b9e67308444..8b6b82fbe58 100644
--- a/src/xrCDB/OPC_Matrix3x3.cpp
+++ b/Externals/OPCODE/OPC_Matrix3x3.cpp
@@ -33,8 +33,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace IceMaths;
diff --git a/src/xrCDB/OPC_Matrix3x3.h b/Externals/OPCODE/OPC_Matrix3x3.h
similarity index 100%
rename from src/xrCDB/OPC_Matrix3x3.h
rename to Externals/OPCODE/OPC_Matrix3x3.h
diff --git a/src/xrCDB/OPC_Matrix4x4.cpp b/Externals/OPCODE/OPC_Matrix4x4.cpp
similarity index 99%
rename from src/xrCDB/OPC_Matrix4x4.cpp
rename to Externals/OPCODE/OPC_Matrix4x4.cpp
index 9bd59fb8654..efa37279e4c 100644
--- a/src/xrCDB/OPC_Matrix4x4.cpp
+++ b/Externals/OPCODE/OPC_Matrix4x4.cpp
@@ -36,8 +36,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace IceMaths;
diff --git a/src/xrCDB/OPC_Matrix4x4.h b/Externals/OPCODE/OPC_Matrix4x4.h
similarity index 100%
rename from src/xrCDB/OPC_Matrix4x4.h
rename to Externals/OPCODE/OPC_Matrix4x4.h
diff --git a/src/xrCDB/OPC_MemoryMacros.h b/Externals/OPCODE/OPC_MemoryMacros.h
similarity index 100%
rename from src/xrCDB/OPC_MemoryMacros.h
rename to Externals/OPCODE/OPC_MemoryMacros.h
diff --git a/src/xrCDB/OPC_Model.cpp b/Externals/OPCODE/OPC_Model.cpp
similarity index 98%
rename from src/xrCDB/OPC_Model.cpp
rename to Externals/OPCODE/OPC_Model.cpp
index 7843682727a..acd66a1b7a0 100644
--- a/src/xrCDB/OPC_Model.cpp
+++ b/Externals/OPCODE/OPC_Model.cpp
@@ -127,8 +127,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
namespace Opcode
{
@@ -141,8 +140,8 @@ OPCODECREATE::OPCODECREATE()
{
NbTris = 0;
NbVerts = 0;
- Tris = null;
- Verts = null;
+ Tris = nullptr;
+ Verts = nullptr;
Rules = SPLIT_COMPLETE | SPLIT_LARGESTAXIS;
NoLeaf = true;
Quantized = true;
@@ -157,7 +156,7 @@ OPCODECREATE::OPCODECREATE()
* Constructor.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-OPCODE_Model::OPCODE_Model() : mSource(null), mTree(null), mNoLeaf(false), mQuantized(false)
+OPCODE_Model::OPCODE_Model() : mSource(nullptr), mTree(nullptr), mNoLeaf(false), mQuantized(false)
{
#ifdef __MESHMERIZER_H__ // Collision hulls only supported within ICE !
mHull = null;
diff --git a/src/xrCDB/OPC_Model.h b/Externals/OPCODE/OPC_Model.h
similarity index 100%
rename from src/xrCDB/OPC_Model.h
rename to Externals/OPCODE/OPC_Model.h
diff --git a/src/xrCDB/OPC_OBB.cpp b/Externals/OPCODE/OPC_OBB.cpp
similarity index 99%
rename from src/xrCDB/OPC_OBB.cpp
rename to Externals/OPCODE/OPC_OBB.cpp
index df7801dc585..4722e65de4a 100644
--- a/src/xrCDB/OPC_OBB.cpp
+++ b/Externals/OPCODE/OPC_OBB.cpp
@@ -18,8 +18,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Meshmerizer;
diff --git a/src/xrCDB/OPC_OBB.h b/Externals/OPCODE/OPC_OBB.h
similarity index 100%
rename from src/xrCDB/OPC_OBB.h
rename to Externals/OPCODE/OPC_OBB.h
diff --git a/src/xrCDB/OPC_OBBCollider.cpp b/Externals/OPCODE/OPC_OBBCollider.cpp
similarity index 99%
rename from src/xrCDB/OPC_OBBCollider.cpp
rename to Externals/OPCODE/OPC_OBBCollider.cpp
index e05bef01235..0086df12f3c 100644
--- a/src/xrCDB/OPC_OBBCollider.cpp
+++ b/Externals/OPCODE/OPC_OBBCollider.cpp
@@ -28,8 +28,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Opcode;
diff --git a/src/xrCDB/OPC_OBBCollider.h b/Externals/OPCODE/OPC_OBBCollider.h
similarity index 91%
rename from src/xrCDB/OPC_OBBCollider.h
rename to Externals/OPCODE/OPC_OBBCollider.h
index 60a96edeb5d..8700515009a 100644
--- a/src/xrCDB/OPC_OBBCollider.h
+++ b/Externals/OPCODE/OPC_OBBCollider.h
@@ -49,18 +49,18 @@ class OPCODE_API OBBCollider : public VolumeCollider
* \warning SCALE NOT SUPPORTED. The matrices must contain rotation & translation parts only.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- bool Collide(OBBCache& cache, const OBB& box, OPCODE_Model* model, const Matrix4x4* worldb = null,
- const Matrix4x4* worldm = null);
+ bool Collide(OBBCache& cache, const OBB& box, OPCODE_Model* model, const Matrix4x4* worldb = nullptr,
+ const Matrix4x4* worldm = nullptr);
// Collision queries
- bool Collide(OBBCache& cache, const OBB& box, const AABBCollisionTree* tree, const Matrix4x4* worldb = null,
- const Matrix4x4* worldm = null);
- bool Collide(OBBCache& cache, const OBB& box, const AABBNoLeafTree* tree, const Matrix4x4* worldb = null,
- const Matrix4x4* worldm = null);
- bool Collide(OBBCache& cache, const OBB& box, const AABBQuantizedTree* tree, const Matrix4x4* worldb = null,
- const Matrix4x4* worldm = null);
- bool Collide(OBBCache& cache, const OBB& box, const AABBQuantizedNoLeafTree* tree, const Matrix4x4* worldb = null,
- const Matrix4x4* worldm = null);
+ bool Collide(OBBCache& cache, const OBB& box, const AABBCollisionTree* tree, const Matrix4x4* worldb = nullptr,
+ const Matrix4x4* worldm = nullptr);
+ bool Collide(OBBCache& cache, const OBB& box, const AABBNoLeafTree* tree, const Matrix4x4* worldb = nullptr,
+ const Matrix4x4* worldm = nullptr);
+ bool Collide(OBBCache& cache, const OBB& box, const AABBQuantizedTree* tree, const Matrix4x4* worldb = nullptr,
+ const Matrix4x4* worldm = nullptr);
+ bool Collide(OBBCache& cache, const OBB& box, const AABBQuantizedNoLeafTree* tree, const Matrix4x4* worldb = nullptr,
+ const Matrix4x4* worldm = nullptr);
// Settings
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -121,7 +121,7 @@ class OPCODE_API OBBCollider : public VolumeCollider
inline_ BOOL BoxBoxOverlap(const Point& extents, const Point& center);
inline_ BOOL TriBoxOverlap();
// Init methods
- BOOL InitQuery(OBBCache& cache, const OBB& box, const Matrix4x4* worldb = null, const Matrix4x4* worldm = null);
+ BOOL InitQuery(OBBCache& cache, const OBB& box, const Matrix4x4* worldb = nullptr, const Matrix4x4* worldm = nullptr);
};
#endif // __OPC_OBBCOLLIDER_H__
diff --git a/src/xrCDB/OPC_OptimizedTree.cpp b/Externals/OPCODE/OPC_OptimizedTree.cpp
similarity index 99%
rename from src/xrCDB/OPC_OptimizedTree.cpp
rename to Externals/OPCODE/OPC_OptimizedTree.cpp
index 4c1d3a8ad70..37a9e128bf9 100644
--- a/src/xrCDB/OPC_OptimizedTree.cpp
+++ b/Externals/OPCODE/OPC_OptimizedTree.cpp
@@ -61,8 +61,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Opcode;
@@ -204,7 +203,7 @@ static void _BuildNoLeafTree(AABBNoLeafNode* linear, const udword boxid, udword&
* Constructor.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-AABBCollisionTree::AABBCollisionTree() : mNodes(null) {}
+AABBCollisionTree::AABBCollisionTree() : mNodes(nullptr) {}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Destructor.
@@ -254,7 +253,7 @@ bool AABBCollisionTree::Build(AABBTree* tree)
* Constructor.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-AABBNoLeafTree::AABBNoLeafTree() : mNodes(null) {}
+AABBNoLeafTree::AABBNoLeafTree() : mNodes(nullptr) {}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Destructor.
@@ -409,7 +408,7 @@ bool AABBNoLeafTree::Build(AABBTree* tree)
* Constructor.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-AABBQuantizedTree::AABBQuantizedTree() : mNodes(null) {}
+AABBQuantizedTree::AABBQuantizedTree() : mNodes(nullptr) {}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Destructor.
@@ -480,7 +479,7 @@ bool AABBQuantizedTree::Build(AABBTree* tree)
* Constructor.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-AABBQuantizedNoLeafTree::AABBQuantizedNoLeafTree() : mNodes(null) {}
+AABBQuantizedNoLeafTree::AABBQuantizedNoLeafTree() : mNodes(nullptr) {}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Destructor.
diff --git a/src/xrCDB/OPC_OptimizedTree.h b/Externals/OPCODE/OPC_OptimizedTree.h
similarity index 100%
rename from src/xrCDB/OPC_OptimizedTree.h
rename to Externals/OPCODE/OPC_OptimizedTree.h
diff --git a/src/xrCDB/OPC_Plane.cpp b/Externals/OPCODE/OPC_Plane.cpp
similarity index 97%
rename from src/xrCDB/OPC_Plane.cpp
rename to Externals/OPCODE/OPC_Plane.cpp
index 1628f5a80f9..9cd87c70dc3 100644
--- a/src/xrCDB/OPC_Plane.cpp
+++ b/Externals/OPCODE/OPC_Plane.cpp
@@ -18,8 +18,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace IceMaths;
diff --git a/src/xrCDB/OPC_Plane.h b/Externals/OPCODE/OPC_Plane.h
similarity index 100%
rename from src/xrCDB/OPC_Plane.h
rename to Externals/OPCODE/OPC_Plane.h
diff --git a/src/xrCDB/OPC_PlanesAABBOverlap.h b/Externals/OPCODE/OPC_PlanesAABBOverlap.h
similarity index 100%
rename from src/xrCDB/OPC_PlanesAABBOverlap.h
rename to Externals/OPCODE/OPC_PlanesAABBOverlap.h
diff --git a/src/xrCDB/OPC_PlanesCollider.cpp b/Externals/OPCODE/OPC_PlanesCollider.cpp
similarity index 99%
rename from src/xrCDB/OPC_PlanesCollider.cpp
rename to Externals/OPCODE/OPC_PlanesCollider.cpp
index a95f21a78e3..94589145f2b 100644
--- a/src/xrCDB/OPC_PlanesCollider.cpp
+++ b/Externals/OPCODE/OPC_PlanesCollider.cpp
@@ -17,8 +17,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Opcode;
@@ -58,7 +57,7 @@ using namespace Opcode;
* Constructor.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-PlanesCollider::PlanesCollider() : mPlanes(null), mNbPlanes(0) {}
+PlanesCollider::PlanesCollider() : mPlanes(nullptr), mNbPlanes(0) {}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Destructor.
diff --git a/src/xrCDB/OPC_PlanesCollider.h b/Externals/OPCODE/OPC_PlanesCollider.h
similarity index 93%
rename from src/xrCDB/OPC_PlanesCollider.h
rename to Externals/OPCODE/OPC_PlanesCollider.h
index 716b600b4c7..3748ee9ca8e 100644
--- a/src/xrCDB/OPC_PlanesCollider.h
+++ b/Externals/OPCODE/OPC_PlanesCollider.h
@@ -50,21 +50,21 @@ class OPCODE_API PlanesCollider : public VolumeCollider
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool Collide(
- PlanesCache& cache, const Plane* planes, udword nb_planes, OPCODE_Model* model, const Matrix4x4* worldm = null);
+ PlanesCache& cache, const Plane* planes, udword nb_planes, OPCODE_Model* model, const Matrix4x4* worldm = nullptr);
// Collision queries
bool Collide(PlanesCache& cache, const Plane* planes, udword nb_planes, const AABBCollisionTree* tree,
- const Matrix4x4* worldm = null);
+ const Matrix4x4* worldm = nullptr);
bool Collide(PlanesCache& cache, const Plane* planes, udword nb_planes, const AABBNoLeafTree* tree,
- const Matrix4x4* worldm = null);
+ const Matrix4x4* worldm = nullptr);
bool Collide(PlanesCache& cache, const Plane* planes, udword nb_planes, const AABBQuantizedTree* tree,
- const Matrix4x4* worldm = null);
+ const Matrix4x4* worldm = nullptr);
bool Collide(PlanesCache& cache, const Plane* planes, udword nb_planes, const AABBQuantizedNoLeafTree* tree,
- const Matrix4x4* worldm = null);
+ const Matrix4x4* worldm = nullptr);
// Mutant box-with-planes collision queries
- inline_ bool Collide(PlanesCache& cache, const OBB& box, OPCODE_Model* model, const Matrix4x4* worldb = null,
- const Matrix4x4* worldm = null)
+ inline_ bool Collide(PlanesCache& cache, const OBB& box, OPCODE_Model* model, const Matrix4x4* worldb = nullptr,
+ const Matrix4x4* worldm = nullptr)
{
Plane PL[6];
@@ -112,7 +112,7 @@ class OPCODE_API PlanesCollider : public VolumeCollider
const Point& center, const Point& extents, udword& out_clip_mask, udword in_clip_mask);
inline_ BOOL PlanesTriOverlap(udword in_clip_mask);
// Init methods
- BOOL InitQuery(PlanesCache& cache, const Plane* planes, udword nb_planes, const Matrix4x4* worldm = null);
+ BOOL InitQuery(PlanesCache& cache, const Plane* planes, udword nb_planes, const Matrix4x4* worldm = nullptr);
};
#endif // __OPC_PLANESCOLLIDER_H__
diff --git a/src/xrCDB/OPC_PlanesTriOverlap.h b/Externals/OPCODE/OPC_PlanesTriOverlap.h
similarity index 100%
rename from src/xrCDB/OPC_PlanesTriOverlap.h
rename to Externals/OPCODE/OPC_PlanesTriOverlap.h
diff --git a/src/xrCDB/OPC_Point.cpp b/Externals/OPCODE/OPC_Point.cpp
similarity index 99%
rename from src/xrCDB/OPC_Point.cpp
rename to Externals/OPCODE/OPC_Point.cpp
index a0723605d84..eaeff61cd57 100644
--- a/src/xrCDB/OPC_Point.cpp
+++ b/Externals/OPCODE/OPC_Point.cpp
@@ -51,8 +51,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace IceMaths;
diff --git a/src/xrCDB/OPC_Point.h b/Externals/OPCODE/OPC_Point.h
similarity index 100%
rename from src/xrCDB/OPC_Point.h
rename to Externals/OPCODE/OPC_Point.h
diff --git a/src/xrCDB/OPC_Preprocessor.h b/Externals/OPCODE/OPC_Preprocessor.h
similarity index 100%
rename from src/xrCDB/OPC_Preprocessor.h
rename to Externals/OPCODE/OPC_Preprocessor.h
diff --git a/src/xrCDB/OPC_Ray.cpp b/Externals/OPCODE/OPC_Ray.cpp
similarity index 98%
rename from src/xrCDB/OPC_Ray.cpp
rename to Externals/OPCODE/OPC_Ray.cpp
index b3878597b10..d5f17734aed 100644
--- a/src/xrCDB/OPC_Ray.cpp
+++ b/Externals/OPCODE/OPC_Ray.cpp
@@ -32,7 +32,6 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace IceMaths;
diff --git a/src/xrCDB/OPC_Ray.h b/Externals/OPCODE/OPC_Ray.h
similarity index 100%
rename from src/xrCDB/OPC_Ray.h
rename to Externals/OPCODE/OPC_Ray.h
diff --git a/src/xrCDB/OPC_RayAABBOverlap.h b/Externals/OPCODE/OPC_RayAABBOverlap.h
similarity index 100%
rename from src/xrCDB/OPC_RayAABBOverlap.h
rename to Externals/OPCODE/OPC_RayAABBOverlap.h
diff --git a/src/xrCDB/OPC_RayCollider.cpp b/Externals/OPCODE/OPC_RayCollider.cpp
similarity index 99%
rename from src/xrCDB/OPC_RayCollider.cpp
rename to Externals/OPCODE/OPC_RayCollider.cpp
index 228f683089f..486ac49285b 100644
--- a/src/xrCDB/OPC_RayCollider.cpp
+++ b/Externals/OPCODE/OPC_RayCollider.cpp
@@ -91,8 +91,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Opcode;
@@ -207,9 +206,9 @@ RayCollider::RayCollider()
#ifdef OPC_USE_CALLBACKS
mUserData(0), mObjCallback(null),
#else
- mFaces(null), mVerts(null),
+ mFaces(nullptr), mVerts(nullptr),
#endif
- mStabbedFaces(null), mMaxDist(flt_max)
+ mStabbedFaces(nullptr), mMaxDist(flt_max)
{
}
@@ -244,7 +243,7 @@ const char* RayCollider::ValidateSettings()
return "Closest hit doesn't work with "
"First contact"
" mode!";
- return null;
+ return nullptr;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/xrCDB/OPC_RayCollider.h b/Externals/OPCODE/OPC_RayCollider.h
similarity index 97%
rename from src/xrCDB/OPC_RayCollider.h
rename to Externals/OPCODE/OPC_RayCollider.h
index 55ef7202595..4ed17f1af3f 100644
--- a/src/xrCDB/OPC_RayCollider.h
+++ b/Externals/OPCODE/OPC_RayCollider.h
@@ -42,16 +42,16 @@ class OPCODE_API RayCollider : public Collider
* \warning SCALE NOT SUPPORTED. The matrices must contain rotation & translation parts only.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- bool Collide(const Ray& world_ray, OPCODE_Model* model, const Matrix4x4* world = null, udword* cache = null);
+ bool Collide(const Ray& world_ray, OPCODE_Model* model, const Matrix4x4* world = nullptr, udword* cache = nullptr);
// Collision queries
bool Collide(
- const Ray& world_ray, const AABBCollisionTree* tree, const Matrix4x4* world = null, udword* cache = null);
- bool Collide(const Ray& world_ray, const AABBNoLeafTree* tree, const Matrix4x4* world = null, udword* cache = null);
+ const Ray& world_ray, const AABBCollisionTree* tree, const Matrix4x4* world = nullptr, udword* cache = nullptr);
+ bool Collide(const Ray& world_ray, const AABBNoLeafTree* tree, const Matrix4x4* world = nullptr, udword* cache = nullptr);
bool Collide(
- const Ray& world_ray, const AABBQuantizedTree* tree, const Matrix4x4* world = null, udword* cache = null);
+ const Ray& world_ray, const AABBQuantizedTree* tree, const Matrix4x4* world = nullptr, udword* cache = nullptr);
bool Collide(
- const Ray& world_ray, const AABBQuantizedNoLeafTree* tree, const Matrix4x4* world = null, udword* cache = null);
+ const Ray& world_ray, const AABBQuantizedNoLeafTree* tree, const Matrix4x4* world = nullptr, udword* cache = nullptr);
bool Collide(const Ray& world_ray, const AABBTree* tree, Container& box_indices);
// Settings
@@ -207,7 +207,7 @@ class OPCODE_API RayCollider : public Collider
inline_ BOOL SegmentAABBOverlap(const Point& center, const Point& extents);
inline_ BOOL RayTriOverlap(const Point& vert0, const Point& vert1, const Point& vert2);
// Init methods
- BOOL InitQuery(const Ray& world_ray, const Matrix4x4* world = null, udword* faceid = null);
+ BOOL InitQuery(const Ray& world_ray, const Matrix4x4* world = nullptr, udword* faceid = nullptr);
};
#endif // __OPC_RAYCOLLIDER_H__
diff --git a/src/xrCDB/OPC_RayTriOverlap.h b/Externals/OPCODE/OPC_RayTriOverlap.h
similarity index 100%
rename from src/xrCDB/OPC_RayTriOverlap.h
rename to Externals/OPCODE/OPC_RayTriOverlap.h
diff --git a/src/xrCDB/OPC_Settings.h b/Externals/OPCODE/OPC_Settings.h
similarity index 100%
rename from src/xrCDB/OPC_Settings.h
rename to Externals/OPCODE/OPC_Settings.h
diff --git a/src/xrCDB/OPC_SphereAABBOverlap.h b/Externals/OPCODE/OPC_SphereAABBOverlap.h
similarity index 100%
rename from src/xrCDB/OPC_SphereAABBOverlap.h
rename to Externals/OPCODE/OPC_SphereAABBOverlap.h
diff --git a/src/xrCDB/OPC_SphereCollider.cpp b/Externals/OPCODE/OPC_SphereCollider.cpp
similarity index 99%
rename from src/xrCDB/OPC_SphereCollider.cpp
rename to Externals/OPCODE/OPC_SphereCollider.cpp
index 3ffa9441552..b7dc36395b4 100644
--- a/src/xrCDB/OPC_SphereCollider.cpp
+++ b/Externals/OPCODE/OPC_SphereCollider.cpp
@@ -36,8 +36,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Opcode;
diff --git a/src/xrCDB/OPC_SphereCollider.h b/Externals/OPCODE/OPC_SphereCollider.h
similarity index 91%
rename from src/xrCDB/OPC_SphereCollider.h
rename to Externals/OPCODE/OPC_SphereCollider.h
index 77db32b988f..6b7ab8a685f 100644
--- a/src/xrCDB/OPC_SphereCollider.h
+++ b/Externals/OPCODE/OPC_SphereCollider.h
@@ -53,18 +53,18 @@ class OPCODE_API SphereCollider : public VolumeCollider
* \warning SCALE NOT SUPPORTED. The matrices must contain rotation & translation parts only.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- bool Collide(SphereCache& cache, const Sphere& sphere, OPCODE_Model* model, const Matrix4x4* worlds = null,
- const Matrix4x4* worldm = null);
+ bool Collide(SphereCache& cache, const Sphere& sphere, OPCODE_Model* model, const Matrix4x4* worlds = nullptr,
+ const Matrix4x4* worldm = nullptr);
// Collision queries
bool Collide(SphereCache& cache, const Sphere& sphere, const AABBCollisionTree* tree,
- const Matrix4x4* worlds = null, const Matrix4x4* worldm = null);
- bool Collide(SphereCache& cache, const Sphere& sphere, const AABBNoLeafTree* tree, const Matrix4x4* worlds = null,
- const Matrix4x4* worldm = null);
+ const Matrix4x4* worlds = nullptr, const Matrix4x4* worldm = nullptr);
+ bool Collide(SphereCache& cache, const Sphere& sphere, const AABBNoLeafTree* tree, const Matrix4x4* worlds = nullptr,
+ const Matrix4x4* worldm = nullptr);
bool Collide(SphereCache& cache, const Sphere& sphere, const AABBQuantizedTree* tree,
- const Matrix4x4* worlds = null, const Matrix4x4* worldm = null);
+ const Matrix4x4* worlds = nullptr, const Matrix4x4* worldm = nullptr);
bool Collide(SphereCache& cache, const Sphere& sphere, const AABBQuantizedNoLeafTree* tree,
- const Matrix4x4* worlds = null, const Matrix4x4* worldm = null);
+ const Matrix4x4* worlds = nullptr, const Matrix4x4* worldm = nullptr);
bool Collide(SphereCache& cache, const Sphere& sphere, const AABBTree* tree);
// Settings
@@ -93,7 +93,7 @@ class OPCODE_API SphereCollider : public VolumeCollider
BOOL SphereTriOverlap(const Point& vert0, const Point& vert1, const Point& vert2);
// Init methods
BOOL InitQuery(
- SphereCache& cache, const Sphere& sphere, const Matrix4x4* worlds = null, const Matrix4x4* worldm = null);
+ SphereCache& cache, const Sphere& sphere, const Matrix4x4* worlds = nullptr, const Matrix4x4* worldm = nullptr);
};
#endif // __OPC_SPHERECOLLIDER_H__
diff --git a/src/xrCDB/OPC_SphereTriOverlap.h b/Externals/OPCODE/OPC_SphereTriOverlap.h
similarity index 100%
rename from src/xrCDB/OPC_SphereTriOverlap.h
rename to Externals/OPCODE/OPC_SphereTriOverlap.h
diff --git a/src/xrCDB/OPC_TreeBuilders.cpp b/Externals/OPCODE/OPC_TreeBuilders.cpp
similarity index 99%
rename from src/xrCDB/OPC_TreeBuilders.cpp
rename to Externals/OPCODE/OPC_TreeBuilders.cpp
index 7231aec9988..fd896c7b4c5 100644
--- a/src/xrCDB/OPC_TreeBuilders.cpp
+++ b/Externals/OPCODE/OPC_TreeBuilders.cpp
@@ -39,8 +39,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
namespace Opcode
{
diff --git a/src/xrCDB/OPC_TreeBuilders.h b/Externals/OPCODE/OPC_TreeBuilders.h
similarity index 98%
rename from src/xrCDB/OPC_TreeBuilders.h
rename to Externals/OPCODE/OPC_TreeBuilders.h
index d87b05177a5..f639ea33523 100644
--- a/src/xrCDB/OPC_TreeBuilders.h
+++ b/Externals/OPCODE/OPC_TreeBuilders.h
@@ -108,7 +108,7 @@ class OPCODE_API AABBTreeOfAABBsBuilder : public AABBTreeBuilder
{
public:
//! Constructor
- AABBTreeOfAABBsBuilder() : mAABBList(null) {}
+ AABBTreeOfAABBsBuilder() : mAABBList(nullptr) {}
//! Destructor
virtual ~AABBTreeOfAABBsBuilder() {}
override(AABBTreeBuilder) bool ComputeGlobalBox(const udword* primitives, udword nb_prims, AABB& global_box) const;
@@ -123,7 +123,7 @@ class OPCODE_API AABBTreeOfTrianglesBuilder : public AABBTreeBuilder
{
public:
//! Constructor
- AABBTreeOfTrianglesBuilder() : mTriList(null), mVerts(null), mNbTriangles(0) {}
+ AABBTreeOfTrianglesBuilder() : mTriList(nullptr), mVerts(nullptr), mNbTriangles(0) {}
//! Destructor
virtual ~AABBTreeOfTrianglesBuilder() {}
override(AABBTreeBuilder) bool ComputeGlobalBox(const udword* primitives, udword nb_prims, AABB& global_box) const;
diff --git a/src/xrCDB/OPC_TreeCollider.cpp b/Externals/OPCODE/OPC_TreeCollider.cpp
similarity index 99%
rename from src/xrCDB/OPC_TreeCollider.cpp
rename to Externals/OPCODE/OPC_TreeCollider.cpp
index 2ab10e06f7c..4681649eaba 100644
--- a/src/xrCDB/OPC_TreeCollider.cpp
+++ b/Externals/OPCODE/OPC_TreeCollider.cpp
@@ -29,8 +29,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Opcode;
@@ -48,7 +47,7 @@ AABBTreeCollider::AABBTreeCollider()
#ifdef OPC_USE_CALLBACKS
mUserData0(0), mUserData1(0), mObjCallback0(null), mObjCallback1(null)
#else
- mFaces0(null), mFaces1(null), mVerts0(null), mVerts1(null)
+ mFaces0(nullptr), mFaces1(nullptr), mVerts0(nullptr), mVerts1(nullptr)
#endif
{
}
@@ -82,7 +81,7 @@ const char* AABBTreeCollider::ValidateSettings()
return "Temporal coherence only works with "
"First contact"
" mode!";
- return null;
+ return nullptr;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/xrCDB/OPC_TreeCollider.h b/Externals/OPCODE/OPC_TreeCollider.h
similarity index 96%
rename from src/xrCDB/OPC_TreeCollider.h
rename to Externals/OPCODE/OPC_TreeCollider.h
index bcbeb7c9925..e9226474371 100644
--- a/src/xrCDB/OPC_TreeCollider.h
+++ b/Externals/OPCODE/OPC_TreeCollider.h
@@ -42,17 +42,17 @@ class OPCODE_API AABBTreeCollider : public Collider
* \warning SCALE NOT SUPPORTED. The matrices must contain rotation & translation parts only.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- bool Collide(BVTCache& cache, const Matrix4x4* world0 = null, const Matrix4x4* world1 = null);
+ bool Collide(BVTCache& cache, const Matrix4x4* world0 = nullptr, const Matrix4x4* world1 = nullptr);
// Collision queries
- bool Collide(const AABBCollisionTree* tree0, const AABBCollisionTree* tree1, const Matrix4x4* world0 = null,
- const Matrix4x4* world1 = null, Pair* cache = null);
- bool Collide(const AABBNoLeafTree* tree0, const AABBNoLeafTree* tree1, const Matrix4x4* world0 = null,
- const Matrix4x4* world1 = null, Pair* cache = null);
- bool Collide(const AABBQuantizedTree* tree0, const AABBQuantizedTree* tree1, const Matrix4x4* world0 = null,
- const Matrix4x4* world1 = null, Pair* cache = null);
+ bool Collide(const AABBCollisionTree* tree0, const AABBCollisionTree* tree1, const Matrix4x4* world0 = nullptr,
+ const Matrix4x4* world1 = nullptr, Pair* cache = nullptr);
+ bool Collide(const AABBNoLeafTree* tree0, const AABBNoLeafTree* tree1, const Matrix4x4* world0 = nullptr,
+ const Matrix4x4* world1 = nullptr, Pair* cache = nullptr);
+ bool Collide(const AABBQuantizedTree* tree0, const AABBQuantizedTree* tree1, const Matrix4x4* world0 = nullptr,
+ const Matrix4x4* world1 = nullptr, Pair* cache = nullptr);
bool Collide(const AABBQuantizedNoLeafTree* tree0, const AABBQuantizedNoLeafTree* tree1,
- const Matrix4x4* world0 = null, const Matrix4x4* world1 = null, Pair* cache = null);
+ const Matrix4x4* world0 = nullptr, const Matrix4x4* world1 = nullptr, Pair* cache = nullptr);
// Settings
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -250,7 +250,7 @@ class OPCODE_API AABBTreeCollider : public Collider
inline_ BOOL TriTriOverlap(
const Point& V0, const Point& V1, const Point& V2, const Point& U0, const Point& U1, const Point& U2);
// Init methods
- void InitQuery(const Matrix4x4* world0 = null, const Matrix4x4* world1 = null);
+ void InitQuery(const Matrix4x4* world0 = nullptr, const Matrix4x4* world1 = nullptr);
bool CheckTemporalCoherence(Pair* cache);
};
diff --git a/src/xrCDB/OPC_TriBoxOverlap.h b/Externals/OPCODE/OPC_TriBoxOverlap.h
similarity index 100%
rename from src/xrCDB/OPC_TriBoxOverlap.h
rename to Externals/OPCODE/OPC_TriBoxOverlap.h
diff --git a/src/xrCDB/OPC_TriTriOverlap.h b/Externals/OPCODE/OPC_TriTriOverlap.h
similarity index 100%
rename from src/xrCDB/OPC_TriTriOverlap.h
rename to Externals/OPCODE/OPC_TriTriOverlap.h
diff --git a/src/xrCDB/OPC_Triangle.cpp b/Externals/OPCODE/OPC_Triangle.cpp
similarity index 99%
rename from src/xrCDB/OPC_Triangle.cpp
rename to Externals/OPCODE/OPC_Triangle.cpp
index 34177c65d10..518d9ca7dc9 100644
--- a/src/xrCDB/OPC_Triangle.cpp
+++ b/Externals/OPCODE/OPC_Triangle.cpp
@@ -9,7 +9,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
+#include "pch.hpp"
#pragma hdrstop
using namespace Meshmerizer;
diff --git a/src/xrCDB/OPC_Triangle.h b/Externals/OPCODE/OPC_Triangle.h
similarity index 100%
rename from src/xrCDB/OPC_Triangle.h
rename to Externals/OPCODE/OPC_Triangle.h
diff --git a/src/xrCDB/OPC_Types.h b/Externals/OPCODE/OPC_Types.h
similarity index 97%
rename from src/xrCDB/OPC_Types.h
rename to Externals/OPCODE/OPC_Types.h
index 8e142e9ea62..46d58ef5202 100644
--- a/src/xrCDB/OPC_Types.h
+++ b/Externals/OPCODE/OPC_Types.h
@@ -12,7 +12,6 @@
#pragma once
#ifndef __ICETYPES_H__
#define __ICETYPES_H__
-#include "xrCore/xrDebug_macros.h"
// Constants
#ifndef PI
@@ -36,9 +35,6 @@
#define INV9 0.11111111111111111111f //!< 1/9
#define INV255 0.00392156862745098039f //!< 1/255
-#pragma todo("tamlin: Get rid of this 'null' macro!!!")
-#define null 0 //!< our own NULL pointer
-
// New types
typedef signed char sbyte; //!< sizeof(sbyte) must be 1
typedef unsigned char ubyte; //!< sizeof(ubyte) must be 1
diff --git a/src/xrCDB/OPC_VolumeCollider.cpp b/Externals/OPCODE/OPC_VolumeCollider.cpp
similarity index 96%
rename from src/xrCDB/OPC_VolumeCollider.cpp
rename to Externals/OPCODE/OPC_VolumeCollider.cpp
index 392c1e344b3..fd1c6d53463 100644
--- a/src/xrCDB/OPC_VolumeCollider.cpp
+++ b/Externals/OPCODE/OPC_VolumeCollider.cpp
@@ -28,8 +28,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
using namespace Opcode;
@@ -39,11 +38,11 @@ using namespace Opcode;
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
VolumeCollider::VolumeCollider()
- : mTouchedPrimitives(null),
+ : mTouchedPrimitives(nullptr),
#ifdef OPC_USE_CALLBACKS
mUserData(0), mObjCallback(null),
#else
- mFaces(null), mVerts(null),
+ mFaces(nullptr), mVerts(nullptr),
#endif
mNbVolumeBVTests(0), mNbVolumePrimTests(0)
{
@@ -54,7 +53,7 @@ VolumeCollider::VolumeCollider()
* Destructor.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-VolumeCollider::~VolumeCollider() { mTouchedPrimitives = null; }
+VolumeCollider::~VolumeCollider() { mTouchedPrimitives = nullptr; }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Validates current settings. You should call this method after all the settings / callbacks have been defined for a
@@ -71,7 +70,7 @@ const char* VolumeCollider::ValidateSettings()
if (!mFaces || !mVerts)
return "Object pointers must be defined! Call: SetPointers().";
#endif
- return null;
+ return nullptr;
}
// Pretty dumb way to dump - to do better
diff --git a/src/xrCDB/OPC_VolumeCollider.h b/Externals/OPCODE/OPC_VolumeCollider.h
similarity index 99%
rename from src/xrCDB/OPC_VolumeCollider.h
rename to Externals/OPCODE/OPC_VolumeCollider.h
index 9382ff0e92d..a43755e2bbe 100644
--- a/src/xrCDB/OPC_VolumeCollider.h
+++ b/Externals/OPCODE/OPC_VolumeCollider.h
@@ -58,7 +58,7 @@ class OPCODE_API VolumeCollider : public Collider
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
inline_ udword* GetTouchedPrimitives() const
{
- return mTouchedPrimitives ? mTouchedPrimitives->GetEntries() : null;
+ return mTouchedPrimitives ? mTouchedPrimitives->GetEntries() : nullptr;
}
// Stats
diff --git a/src/xrCDB/Opcode.cpp b/Externals/OPCODE/Opcode.cpp
similarity index 98%
rename from src/xrCDB/Opcode.cpp
rename to Externals/OPCODE/Opcode.cpp
index 575ef4ac015..3fd0802b82f 100644
--- a/src/xrCDB/Opcode.cpp
+++ b/Externals/OPCODE/Opcode.cpp
@@ -33,8 +33,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Precompiled Header
-#include "stdafx.h"
-#pragma hdrstop
+#include "pch.hpp"
#ifdef ICE_MAIN
diff --git a/src/xrCDB/Opcode.h b/Externals/OPCODE/Opcode.h
similarity index 96%
rename from src/xrCDB/Opcode.h
rename to Externals/OPCODE/Opcode.h
index 0c3a6684232..946357d2c5e 100644
--- a/src/xrCDB/Opcode.h
+++ b/Externals/OPCODE/Opcode.h
@@ -22,12 +22,13 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Preprocessor
-#define OPCODE_API
+//#define OPCODE_API
+#ifdef OPCODE_EXPORTS
+#define OPCODE_API XR_EXPORT
+#else
+#define OPCODE_API XR_IMPORT
+#endif
#ifndef __ICECORE_H__
-#ifdef WIN32
-#include
-#include
-#endif // WIN32
#include
#include
diff --git a/src/xrCDB/ReadMe.txt b/Externals/OPCODE/ReadMe.txt
similarity index 100%
rename from src/xrCDB/ReadMe.txt
rename to Externals/OPCODE/ReadMe.txt
diff --git a/Externals/OPCODE/pch.cpp b/Externals/OPCODE/pch.cpp
new file mode 100644
index 00000000000..3854579ae1c
--- /dev/null
+++ b/Externals/OPCODE/pch.cpp
@@ -0,0 +1 @@
+#include "pch.hpp"
diff --git a/Externals/OPCODE/pch.hpp b/Externals/OPCODE/pch.hpp
new file mode 100644
index 00000000000..5d06dc40046
--- /dev/null
+++ b/Externals/OPCODE/pch.hpp
@@ -0,0 +1,58 @@
+#pragma once
+
+#include
+
+#include "Common/Platform.hpp"
+#include "xrCore/xrCore.h"
+#include "xrCore/doug_lea_allocator.h"
+#include "xrCore/memory_allocator_options.h"
+
+#ifdef USE_ARENA_ALLOCATOR
+extern doug_lea_allocator g_collision_allocator;
+
+#define CNEW(type) new (g_collision_allocator.alloc_impl(1)) type
+#define CDELETE(ptr) cdelete(ptr)
+#define CFREE(ptr) g_collision_allocator.free_impl(ptr)
+#define CMALLOC(size) g_collision_allocator.malloc_impl(size)
+#define CALLOC(type, count) g_collision_allocator.alloc_impl(count)
+#else // #ifdef USE_ARENA_ALLOCATOR
+#define CNEW(type) new (xr_alloc(1)) type
+#define CDELETE(ptr) xr_delete(ptr)
+#define CFREE(ptr) xr_free(ptr)
+#define CMALLOC(size) xr_malloc(size)
+#define CALLOC(type, count) xr_alloc(count)
+#endif // #ifdef USE_ARENA_ALLOCATOR
+
+template
+struct cspecial_free
+{
+ IC void operator()(T*& ptr)
+ {
+ void* _real_ptr = dynamic_cast(ptr);
+ ptr->~T();
+ CFREE(_real_ptr);
+ }
+};
+
+template
+struct cspecial_free
+{
+ IC void operator()(T*& ptr)
+ {
+ ptr->~T();
+ CFREE(ptr);
+ }
+};
+
+template
+IC void cdelete(T*& ptr)
+{
+ if (ptr)
+ {
+ cspecial_free::value, T>()(ptr);
+ ptr = NULL;
+ }
+}
+
+#define ENGINE_API
+#include "opcode.h"
diff --git a/src/engine.sln b/src/engine.sln
index 6bff7c788db..24e78f37da0 100644
--- a/src/engine.sln
+++ b/src/engine.sln
@@ -205,6 +205,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LuaJIT", "..\Externals\LuaJ
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjpeg", "..\Externals\libjpeg.vcxproj", "{3593C424-83CC-4445-BE1A-97DDE88FE386}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OPCODE", "..\Externals\OPCODE\OPCODE.vcxproj", "{DAFD6D98-3DCD-40AD-BC85-EC71797B6767}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug_Dedicated|Win32 = Debug_Dedicated|Win32
@@ -1762,6 +1764,30 @@ Global
{3593C424-83CC-4445-BE1A-97DDE88FE386}.Release|Win32.Build.0 = Release|Win32
{3593C424-83CC-4445-BE1A-97DDE88FE386}.Release|x64.ActiveCfg = Release|x64
{3593C424-83CC-4445-BE1A-97DDE88FE386}.Release|x64.Build.0 = Release|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Debug_Dedicated|Win32.ActiveCfg = Debug|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Debug_Dedicated|Win32.Build.0 = Debug|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Debug_Dedicated|x64.ActiveCfg = Debug|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Debug_Dedicated|x64.Build.0 = Debug|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Debug|Win32.Build.0 = Debug|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Debug|x64.ActiveCfg = Debug|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Debug|x64.Build.0 = Debug|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Mixed_Dedicated|Win32.ActiveCfg = Release|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Mixed_Dedicated|Win32.Build.0 = Release|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Mixed_Dedicated|x64.ActiveCfg = Release|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Mixed_Dedicated|x64.Build.0 = Release|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Mixed|Win32.ActiveCfg = Release|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Mixed|Win32.Build.0 = Release|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Mixed|x64.ActiveCfg = Release|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Mixed|x64.Build.0 = Release|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Release_Dedicated|Win32.ActiveCfg = Release|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Release_Dedicated|Win32.Build.0 = Release|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Release_Dedicated|x64.ActiveCfg = Release|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Release_Dedicated|x64.Build.0 = Release|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Release|Win32.ActiveCfg = Release|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Release|Win32.Build.0 = Release|Win32
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Release|x64.ActiveCfg = Release|x64
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1831,6 +1857,7 @@ Global
{CDC5E78D-FF1C-4164-AE72-3578F60A27BA} = {DAEF6FB5-4F98-4B34-B049-8828EFEC9250}
{632AEEB6-DC06-4E15-9551-B2B09A4B73C5} = {DAEF6FB5-4F98-4B34-B049-8828EFEC9250}
{3593C424-83CC-4445-BE1A-97DDE88FE386} = {2BFC806B-CE92-4EA4-8FE8-5F2EA54BA348}
+ {DAFD6D98-3DCD-40AD-BC85-EC71797B6767} = {2BFC806B-CE92-4EA4-8FE8-5F2EA54BA348}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C5A32302-94F5-41B8-9606-017BB6BA69A6}
diff --git a/src/xrCDB/StdAfx.h b/src/xrCDB/StdAfx.h
index f526fe463a0..f150160de06 100644
--- a/src/xrCDB/StdAfx.h
+++ b/src/xrCDB/StdAfx.h
@@ -55,7 +55,7 @@ IC void cdelete(T*& ptr)
}
#define ENGINE_API
-#include "opcode.h"
+#include "OPCODE/Opcode.h"
// TODO: reference additional headers your program requires here
diff --git a/src/xrCDB/xrCDB.cpp b/src/xrCDB/xrCDB.cpp
index a773e89fecc..c3a876cbfe8 100644
--- a/src/xrCDB/xrCDB.cpp
+++ b/src/xrCDB/xrCDB.cpp
@@ -2,7 +2,6 @@
//
#include "stdafx.h"
-#pragma hdrstop
#include "xrCDB.h"
@@ -14,7 +13,7 @@ doug_lea_allocator g_collision_allocator(s_fake_array, s_arena_size, "collision"
namespace Opcode
{
-#include "OPC_TreeBuilders.h"
+#include "OPCODE/OPC_TreeBuilders.h"
} // namespace Opcode
using namespace CDB;
diff --git a/src/xrCDB/xrCDB.vcxproj b/src/xrCDB/xrCDB.vcxproj
index 5467cfb5761..d90ec743d7c 100644
--- a/src/xrCDB/xrCDB.vcxproj
+++ b/src/xrCDB/xrCDB.vcxproj
@@ -367,98 +367,6 @@
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
-
- false
- false
-
Create
Create
@@ -492,54 +400,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{1daec516-e52c-4a3c-a4da-ae3553e6e0f8}
@@ -549,6 +415,9 @@
{a0f7d1fb-59a7-4717-a7e4-96f37e91998e}
false
+
+ {bf40459f-302d-4128-a1b6-c965db90e7f0}
+
{7885cf3c-ee04-4c67-9467-1fbf9a36b037}
diff --git a/src/xrCDB/xrCDB.vcxproj.filters b/src/xrCDB/xrCDB.vcxproj.filters
index 9c9a223b251..8940b81b726 100644
--- a/src/xrCDB/xrCDB.vcxproj.filters
+++ b/src/xrCDB/xrCDB.vcxproj.filters
@@ -4,9 +4,6 @@
{75c5c0d5-1a6a-44e3-b894-b43b2c186164}
-
- {9c066bf2-d8e8-4d5f-bebc-7fc8bd248346}
-
{22c59cd1-efdc-431f-b9c7-1e454d9dba6a}
@@ -33,75 +30,6 @@
Kernel
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
engine
@@ -140,123 +68,6 @@
Kernel
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
-
- Opcode
-
engine
@@ -273,9 +84,4 @@
Kernel
-
-
- Opcode
-
-
\ No newline at end of file