From 9229b77893eb0e36d77e7b2b5f385c413b9dd0e0 Mon Sep 17 00:00:00 2001 From: Teejoon Date: Thu, 25 Feb 2016 13:19:35 +0100 Subject: [PATCH 1/9] Export Collision mesh --- tools/MayaExporter/MayaExporter/Export.cpp | 27 ++++- tools/MayaExporter/MayaExporter/Export.h | 6 +- tools/MayaExporter/MayaExporter/Menu.cpp | 65 +++++------ tools/MayaExporter/MayaExporter/Menu.h | 1 + tools/MayaExporter/MayaExporter/Mesh.cpp | 120 +++++++++++---------- tools/MayaExporter/MayaExporter/Mesh.h | 55 ++++++---- 6 files changed, 156 insertions(+), 118 deletions(-) diff --git a/tools/MayaExporter/MayaExporter/Export.cpp b/tools/MayaExporter/MayaExporter/Export.cpp index 3497fd04..28112cd6 100644 --- a/tools/MayaExporter/MayaExporter/Export.cpp +++ b/tools/MayaExporter/MayaExporter/Export.cpp @@ -5,7 +5,7 @@ Export::Export() } -bool Export::Meshes(std::string pathName, bool selectedOnly) +bool Export::Meshes(std::string pathName, bool selectedOnly, bool isCollision) { MStatus status; if (pathName.empty()) { @@ -92,8 +92,14 @@ bool Export::Meshes(std::string pathName, bool selectedOnly) Objects.append(node); } } - GetMeshData(Objects); - WriteMeshData(pathName); + GetMeshData(Objects, isCollision); + + if (!isCollision) { + WriteMeshData(pathName); + } else { + WriteCollisionData(pathName); + } + MGlobal::displayInfo(MString() + "Enabling IKSolvers"); status = MGlobal::executeCommand("doEnableNodeItems true all;"); if (status != MS::kSuccess) { @@ -144,9 +150,9 @@ bool Export::Animations(std::string pathName, std::vector animInf return true; } -bool Export::GetMeshData(MObjectArray object) +bool Export::GetMeshData(MObjectArray object, bool collision) { - meshes = m_MeshHandler.GetMeshData(object); + meshes = m_MeshHandler.GetMeshData(object, collision); return true; } @@ -185,6 +191,17 @@ void Export::WriteMeshData(std::string pathName) m_MeshFile.CloseFiles(); } +void Export::WriteCollisionData(std::string pathName) { + m_ColliFile.ASCIIFilePath(pathName + "_colli.txt"); + m_ColliFile.binaryFilePath(pathName + ".colli"); + + m_ColliFile.OpenFiles(); + + m_ColliFile.writeToFiles((OutputData*)&meshes); + + m_ColliFile.CloseFiles(); +} + void Export::WriteAnimData(std::string pathName) { if (allBindPoses.size() > 0) { diff --git a/tools/MayaExporter/MayaExporter/Export.h b/tools/MayaExporter/MayaExporter/Export.h index 42b40445..c22cd26e 100644 --- a/tools/MayaExporter/MayaExporter/Export.h +++ b/tools/MayaExporter/MayaExporter/Export.h @@ -22,18 +22,19 @@ public: int End; }; - bool Meshes(std::string pathName, bool selectedOnly = false); + bool Meshes(std::string pathName, bool selectedOnly = false, bool isCollision = false); bool Materials(std::string pathName); bool Animations(std::string pathName, std::vector animInfo); private: - bool GetMeshData(MObjectArray object); + bool GetMeshData(MObjectArray object, bool collision); bool GetMaterialData(); bool GetAnimationData(AnimationInfo info); void WriteMeshData(std::string pathName); void WriteAnimData(std::string pathName); void WriteMaterialData(std::string pathName); + void WriteCollisionData(std::string pathName); Material m_MaterialHandler; Skeleton m_SkeletonHandler; @@ -44,6 +45,7 @@ private: WriteToFile m_MeshFile; WriteToFile m_AnimFile; WriteToFile m_MtrlFile; + WriteToFile m_ColliFile; //Mesh Data Mesh meshes; diff --git a/tools/MayaExporter/MayaExporter/Menu.cpp b/tools/MayaExporter/MayaExporter/Menu.cpp index 02810018..ed3761df 100644 --- a/tools/MayaExporter/MayaExporter/Menu.cpp +++ b/tools/MayaExporter/MayaExporter/Menu.cpp @@ -25,6 +25,7 @@ Menu::Menu(QDialog* dialog) m_ExportSelectedButton = new QCheckBox(tr("&Export Selected")); m_ExportAnimationsButton = new QCheckBox(tr("&Export Animations")); m_ExportMaterialButton = new QCheckBox(tr("&Export Material"));; + m_IsCollision = new QCheckBox(tr("&Export as collision mesh")); m_ExportAnimationsButton->setChecked(true); m_ExportMaterialButton->setChecked(true); @@ -32,6 +33,7 @@ Menu::Menu(QDialog* dialog) vbox->addWidget(m_ExportSelectedButton); vbox->addWidget(m_ExportAnimationsButton); vbox->addWidget(m_ExportMaterialButton); + vbox->addWidget(m_IsCollision); vbox->addStretch(1); optionsBox->setLayout(vbox); @@ -46,6 +48,7 @@ Menu::Menu(QDialog* dialog) connect(m_ExportSelectedButton, SIGNAL(clicked(bool)), this, SLOT(NULL)); connect(m_ExportAnimationsButton, SIGNAL(clicked(bool)), this, SLOT(NULL)); connect(m_ExportMaterialButton, SIGNAL(clicked(bool)), this, SLOT(NULL)); + connect(m_IsCollision, SIGNAL(clicked(bool)), this, SLOT(NULL)); // Creating several layouts, adding widgets & adding them to one layout in the end QHBoxLayout* topLayout = new QHBoxLayout; @@ -163,40 +166,42 @@ void Menu::RemoveClipClicked(bool) void Menu::ExportAll(bool) { - if (m_ExportPath->text().isEmpty()) { - MGlobal::displayError(MString() + "Please select a folder."); - return; - } + if (m_ExportPath->text().isEmpty()) { + MGlobal::displayError(MString() + "Please select a folder."); + return; + } - //Export meshes - if (!m_Export.Meshes(m_ExportPath->text().toLocal8Bit().constData(), m_ExportSelectedButton->isChecked())) { - MGlobal::displayError(MString() + "Could not export mesh"); - return; - } + //Export meshes + if (!m_Export.Meshes(m_ExportPath->text().toLocal8Bit().constData(), m_ExportSelectedButton->isChecked(), m_IsCollision->isChecked())) { + MGlobal::displayError(MString() + "Could not export mesh"); + return; + } - if (m_ExportMaterialButton->isChecked()) { - if (!m_Export.Materials(m_ExportPath->text().toLocal8Bit().constData())) { - MGlobal::displayError(MString() + "Could not export materials"); - return; - } - } + if (!m_IsCollision->isChecked()){ + if (m_ExportMaterialButton->isChecked()) { + if (!m_Export.Materials(m_ExportPath->text().toLocal8Bit().constData())) { + MGlobal::displayError(MString() + "Could not export materials"); + return; + } + } - std::vector animations; - for (unsigned int i = 0; i < m_AnimationClipName.size(); i++) { - Export::AnimationInfo thisClip; - thisClip.Name = std::string(m_AnimationClipName[i]->text().toLocal8Bit().constData()); - thisClip.Start = m_StartFrameLines[i]->text().toInt(); - thisClip.End = m_EndFrameLines[i]->text().toInt(); + std::vector animations; + for (unsigned int i = 0; i < m_AnimationClipName.size(); i++) { + Export::AnimationInfo thisClip; + thisClip.Name = std::string(m_AnimationClipName[i]->text().toLocal8Bit().constData()); + thisClip.Start = m_StartFrameLines[i]->text().toInt(); + thisClip.End = m_EndFrameLines[i]->text().toInt(); - animations.push_back(thisClip); - } - if (m_ExportAnimationsButton->isChecked()) { - //Export Animations - if (!m_Export.Animations(m_ExportPath->text().toLocal8Bit().constData(), animations)) { - MGlobal::displayError(MString() + "Could not export animations"); - return; - } - } + animations.push_back(thisClip); + } + if (m_ExportAnimationsButton->isChecked()) { + //Export Animations + if (!m_Export.Animations(m_ExportPath->text().toLocal8Bit().constData(), animations)) { + MGlobal::displayError(MString() + "Could not export animations"); + return; + } + } + } } void Menu::CancelClicked(bool) diff --git a/tools/MayaExporter/MayaExporter/Menu.h b/tools/MayaExporter/MayaExporter/Menu.h index fb95a953..89211a12 100644 --- a/tools/MayaExporter/MayaExporter/Menu.h +++ b/tools/MayaExporter/MayaExporter/Menu.h @@ -66,6 +66,7 @@ private: QCheckBox* m_ExportSelectedButton = nullptr; QCheckBox* m_ExportAnimationsButton = nullptr; QCheckBox* m_ExportMaterialButton = nullptr; + QCheckBox* m_IsCollision = nullptr; QLineEdit* m_ExportPath = nullptr; QFileDialog* m_FileDialog = nullptr; diff --git a/tools/MayaExporter/MayaExporter/Mesh.cpp b/tools/MayaExporter/MayaExporter/Mesh.cpp index ee5a6022..6868e792 100644 --- a/tools/MayaExporter/MayaExporter/Mesh.cpp +++ b/tools/MayaExporter/MayaExporter/Mesh.cpp @@ -94,33 +94,37 @@ MeshClass::MeshClass() // return weightMap; //} -Mesh MeshClass::GetMeshData(MObjectArray object) +Mesh MeshClass::GetMeshData(MObjectArray object, bool collision) { MS status; Mesh newMesh; + newMesh.isCollison = collision; vector& vertexList = newMesh.Vertices; map>& indexLists = newMesh.Indices; for (int ObjectID = 0; ObjectID < object.length(); ObjectID++) { if (!object[ObjectID].hasFn(MFn::kMesh)) continue; + MObject node = object[ObjectID]; MFnDependencyNode thisNode(node); MPlugArray connections; thisNode.findPlug("inMesh").connectedTo(connections, true, true); MPlug weightList, weights; MObject weightListObject; - for (unsigned int i = 0; i < connections.length(); i++) { - if (connections[i].node().apiType() == MFn::kSkinClusterFilter) { - MFnSkinCluster skinCluster(connections[i].node()); - weightList = skinCluster.findPlug("weightList", &status); - weightListObject = weightList.attribute(); - weights = skinCluster.findPlug("weights"); - newMesh.hasSkin = true; - break; - } - } + if (!collision) { + for (unsigned int i = 0; i < connections.length(); i++) { + if (connections[i].node().apiType() == MFn::kSkinClusterFilter) { + MFnSkinCluster skinCluster(connections[i].node()); + weightList = skinCluster.findPlug("weightList", &status); + weightListObject = weightList.attribute(); + weights = skinCluster.findPlug("weights"); + newMesh.hasSkin = true; + break; + } + } + } // In here, we retrieve triangulated polygons from the mesh MFnMesh mesh(object[ObjectID]); @@ -257,62 +261,62 @@ Mesh MeshClass::GetMeshData(MObjectArray object) thisVertex.Pos[0] = pos.x; thisVertex.Pos[1] = pos.y; thisVertex.Pos[2] = pos.z; + thisVertex.isCollision = collision; - status = faceVert.getNormal(normal, MSpace::kObject); - if (status != MS::kSuccess) { - MGlobal::displayError(MString() + "faceVert.getNormal() ERROR: " + status.errorString() + "for local vertex " + i + " in " + faceID + " in mesh " + thisMeshPath.fullPathName()); - break; - } + if (!collision) { + status = faceVert.getNormal(normal, MSpace::kObject); + if (status != MS::kSuccess) { + MGlobal::displayError(MString() + "faceVert.getNormal() ERROR: " + status.errorString() + "for local vertex " + i + " in " + faceID + " in mesh " + thisMeshPath.fullPathName()); + break; + } - thisVertex.Normal[0] = normal[0]; - thisVertex.Normal[1] = normal[1]; - thisVertex.Normal[2] = normal[2]; + thisVertex.Normal[0] = normal[0]; + thisVertex.Normal[1] = normal[1]; + thisVertex.Normal[2] = normal[2]; - MFloatVector Tangent = Tangents[faceVert.tangentId()]; - //MVector tmp = faceVert.getTangent(MSpace::kObject, NULL); - //tmp.get(biTangent); - thisVertex.Tangent[0] = Tangent[0]; - thisVertex.Tangent[1] = Tangent[1]; - thisVertex.Tangent[2] = Tangent[2]; + MFloatVector Tangent = Tangents[faceVert.tangentId()]; + //MVector tmp = faceVert.getTangent(MSpace::kObject, NULL); + //tmp.get(biTangent); + thisVertex.Tangent[0] = Tangent[0]; + thisVertex.Tangent[1] = Tangent[1]; + thisVertex.Tangent[2] = Tangent[2]; - MFloatVector biNormal = biNormals[faceVert.tangentId()]; - //faceVert.getBinormal().get(biNormal); - thisVertex.BiNormal[0] = biNormal[0]; - thisVertex.BiNormal[1] = biNormal[1]; - thisVertex.BiNormal[2] = biNormal[2]; + MFloatVector biNormal = biNormals[faceVert.tangentId()]; + //faceVert.getBinormal().get(biNormal); + thisVertex.BiNormal[0] = biNormal[0]; + thisVertex.BiNormal[1] = biNormal[1]; + thisVertex.BiNormal[2] = biNormal[2]; - status = faceVert.getUV(UV); - if (status != MS::kSuccess) { - MGlobal::displayError(MString() + " faceVert.getUV() ERROR: " + status.errorString() + "for local vertex " + i + " in " + faceID + " in mesh " + thisMeshPath.fullPathName()); - break; - } - thisVertex.Uv[0] = UV[0]; - thisVertex.Uv[1] = UV[1]; + status = faceVert.getUV(UV); + if (status != MS::kSuccess) { + MGlobal::displayError(MString() + " faceVert.getUV() ERROR: " + status.errorString() + "for local vertex " + i + " in " + faceID + " in mesh " + thisMeshPath.fullPathName()); + break; + } + thisVertex.Uv[0] = UV[0]; + thisVertex.Uv[1] = UV[1]; - if (newMesh.hasSkin) { - thisVertex.useWeights = true; - float totalWeight = 0.0f; - unsigned int totalBones = 0; - MIntArray jointIDs /* ??? */; - weights.selectAncestorLogicalIndex(vertexIndex, weightListObject); - weights.getExistingArrayAttributeIndices(jointIDs); - for (unsigned int i = 0; i < jointIDs.length() && i < 4; i++) { - if (weights[i].asFloat() > 0.001f) { - thisVertex.BoneIndices[totalBones] = jointIDs[i]; - thisVertex.BoneWeights[totalBones] = weights[i].asFloat(); - totalWeight = totalWeight + weights[i].asFloat(); - totalBones++; - } - } + if (newMesh.hasSkin) { + thisVertex.useWeights = true; + float totalWeight = 0.0f; + unsigned int totalBones = 0; + MIntArray jointIDs /* ??? */; + weights.selectAncestorLogicalIndex(vertexIndex, weightListObject); + weights.getExistingArrayAttributeIndices(jointIDs); + for (unsigned int i = 0; i < jointIDs.length() && i < 4; i++) { + if (weights[i].asFloat() > 0.001f) { + thisVertex.BoneIndices[totalBones] = jointIDs[i]; + thisVertex.BoneWeights[totalBones] = weights[i].asFloat(); + totalWeight = totalWeight + weights[i].asFloat(); + totalBones++; + } + } - for (unsigned int i = 0; i < 4; i++) { - //thisVertex.BoneWeights[i] = thisVertex.BoneWeights[i] / totalWeight; - } - } else { - thisVertex.useWeights = false; + for (unsigned int i = 0; i < 4; i++) { + //thisVertex.BoneWeights[i] = thisVertex.BoneWeights[i] / totalWeight; + } + } } - //float totalWeight = thisVertex.BoneWeights[0] + thisVertex.BoneWeights[1] + thisVertex.BoneWeights[2] + thisVertex.BoneWeights[3]; //if (totalWeight > 0.0001f) { // thisVertex.BoneWeights[0] /= totalWeight; diff --git a/tools/MayaExporter/MayaExporter/Mesh.h b/tools/MayaExporter/MayaExporter/Mesh.h index affc4320..f9376a8c 100644 --- a/tools/MayaExporter/MayaExporter/Mesh.h +++ b/tools/MayaExporter/MayaExporter/Mesh.h @@ -11,7 +11,8 @@ class VertexLayout : public OutputData { public: - bool useWeights = true; + bool isCollision = false; + bool useWeights = false; float Pos[3]{ 0 }; float Normal[3]{ 0 }; float Tangent[3]{ 0 }; @@ -23,28 +24,31 @@ public: virtual void WriteBinary(std::ostream& out) { out.write((char*)&Pos, sizeof(float) * 3); - out.write((char*)&Normal, sizeof(float) * 3); - out.write((char*)&Tangent, sizeof(float) * 3); - out.write((char*)&BiNormal, sizeof(float) * 3); - out.write((char*)&Uv, sizeof(float) * 2); - if (useWeights) { - out.write((char*)&BoneIndices, sizeof(float) * 4); - out.write((char*)&BoneWeights, sizeof(float) * 4); + if (!isCollision) { + out.write((char*)&Normal, sizeof(float) * 3); + out.write((char*)&Tangent, sizeof(float) * 3); + out.write((char*)&BiNormal, sizeof(float) * 3); + out.write((char*)&Uv, sizeof(float) * 2); + if (useWeights) { + out.write((char*)&BoneIndices, sizeof(float) * 4); + out.write((char*)&BoneWeights, sizeof(float) * 4); + } } } virtual void WriteASCII(std::ostream& out) const { out << Pos[0] << " " << Pos[1] << " " << Pos[2] << endl; - out << Normal[0] << " " << Normal[1] << " " << Normal[2] << endl; - out << Tangent[0] << " " << Tangent[1] << " " << Tangent[2] << endl; - out << BiNormal[0] << " " << BiNormal[1] << " " << BiNormal[2] << endl; - out << Uv[0] << " " << Uv[1] << endl; - if (useWeights) { - out << BoneIndices[0] << " " << BoneIndices[1] << " " << BoneIndices[2] << " " << BoneIndices[3] << endl; - out << BoneWeights[0] << " " << BoneWeights[1] << " " << BoneWeights[2] << " " << BoneWeights[3] << endl; + if (!isCollision) { + out << Normal[0] << " " << Normal[1] << " " << Normal[2] << endl; + out << Tangent[0] << " " << Tangent[1] << " " << Tangent[2] << endl; + out << BiNormal[0] << " " << BiNormal[1] << " " << BiNormal[2] << endl; + out << Uv[0] << " " << Uv[1] << endl; + if (useWeights) { + out << BoneIndices[0] << " " << BoneIndices[1] << " " << BoneIndices[2] << " " << BoneIndices[3] << endl; + out << BoneWeights[0] << " " << BoneWeights[1] << " " << BoneWeights[2] << " " << BoneWeights[3] << endl; + } } - } bool operator==(const VertexLayout& right) { @@ -62,6 +66,7 @@ public: class Mesh : public OutputData { public: + bool isCollison = false; bool hasSkin = false; unsigned int NumVertices; unsigned int NumIndices; @@ -70,7 +75,9 @@ public: virtual void WriteBinary(std::ostream& out) { - out.write((char*)&hasSkin, sizeof(bool)); + if (!isCollison) { + out.write((char*)&hasSkin, sizeof(bool)); + } out.write((char*)&NumVertices, sizeof(int)); out.write((char*)&NumIndices, sizeof(int)); for (auto aVertex : Vertices) { @@ -86,11 +93,13 @@ public: virtual void WriteASCII(std::ostream& out) const { out << "New Mesh _ not in binary" << endl; - out << "hasSkin: "; - if(hasSkin) - out << "true" << endl; - else - out << "false" << endl; + if (!isCollison) { + out << "hasSkin: "; + if (hasSkin) + out << "true" << endl; + else + out << "false" << endl; + } out << "Number of vertices: " << NumVertices << endl; out << "number of indices: " << NumIndices << endl; int vertexNumber = 0; @@ -115,7 +124,7 @@ class MeshClass { public: MeshClass(); - Mesh GetMeshData(MObjectArray Object); + Mesh GetMeshData(MObjectArray Object, bool collision = false); ~MeshClass(); private: struct WeightInfo { From 669a7d13cfa8322e38d89371dc65ec1ccb7a57c3 Mon Sep 17 00:00:00 2001 From: Teejoon Date: Thu, 25 Feb 2016 15:39:42 +0100 Subject: [PATCH 2/9] We can now export and import collision meshes :D --- include/Engine/Rendering/Model.h | 10 ++- include/Engine/Rendering/RawModelCustom.h | 51 +++++++++++--- resources/Schema/Entities/Player.xml | 3 +- src/Engine/Collision/Collision.cpp | 18 ++++- src/Engine/Collision/CollisionSystem.cpp | 4 +- src/Engine/Rendering/Model.cpp | 2 +- src/Engine/Rendering/RawModelCustom.cpp | 85 ++++++++++++++++++++++- src/Game/Systems/SpawnerSystem.cpp | 4 +- 8 files changed, 153 insertions(+), 24 deletions(-) diff --git a/include/Engine/Rendering/Model.h b/include/Engine/Rendering/Model.h index 4c63b922..f352ee3e 100644 --- a/include/Engine/Rendering/Model.h +++ b/include/Engine/Rendering/Model.h @@ -18,8 +18,14 @@ public: ~Model(); const std::vector& MaterialGroups() const { return m_RawModel->m_Materials; } const glm::mat4& Matrix() const { return m_RawModel->m_Matrix; } - const RawModel::Vertex* Vertices() const { return m_RawModel->Vertices(); } - unsigned int NumberOfVertices() const { return m_RawModel->NumVertices(); } + + const RawModel::RenderVertex* Vertices() const { return m_RawModel->Vertices(); } + size_t NumberOfVertices() const { return m_RawModel->NumVertices(); } + const std::vector& Indices() const { return m_RawModel->Indices(); } + + const RawModel::Vertex* CollisionVertices() const { return m_RawModel->CollisionVertices(); } + const std::vector& CollisionIndices() const { return m_RawModel->CollisionIndices(); } + const AABB& Box() const { return m_Box; } bool IsSkinned() const { return m_RawModel->IsSkinned(); } GLuint VAO; diff --git a/include/Engine/Rendering/RawModelCustom.h b/include/Engine/Rendering/RawModelCustom.h index ebf8da2b..f38e0570 100644 --- a/include/Engine/Rendering/RawModelCustom.h +++ b/include/Engine/Rendering/RawModelCustom.h @@ -32,9 +32,11 @@ protected: public: ~RawModelCustom(); - - struct Vertex - { + struct Vertex { + glm::vec3 Position; + }; + + struct RenderVertex { glm::vec3 Position; glm::vec3 Normal; glm::vec3 Tangent; @@ -42,7 +44,7 @@ public: glm::vec2 TextureCoords; }; - struct SkinedVertex : public Vertex { + struct SkinedVertex : public RenderVertex { glm::vec4 BoneIndices; glm::vec4 BoneWeights; }; @@ -89,7 +91,7 @@ public: MaterialBasic* material; }; - const Vertex* Vertices() const { + const RenderVertex* Vertices() const { if (hasSkin) { return m_SkinedVertices.data(); } else { @@ -97,16 +99,16 @@ public: } }; - unsigned int VertexSize() const { + unsigned int VertexSize() const { if (hasSkin) { return sizeof(SkinedVertex); } else { - return sizeof(Vertex); + return sizeof(RenderVertex); } }; - unsigned int NumVertices() const { + size_t NumVertices() const { if (hasSkin) { return m_SkinedVertices.size(); } else { @@ -114,17 +116,39 @@ public: } }; + const std::vector& Indices() const { + return m_Indices; + } + bool IsSkinned() const { return hasSkin; }; + const Vertex* CollisionVertices(); + + size_t NumCollisionVertices() const { + return m_CollisionVertices.size(); + }; + + const std::vector& CollisionIndices() const { + if (hasCollisionMesh) { + return m_CollisionIndices; + } else { + return m_Indices; + } + }; + std::vector m_Materials; - std::vector m_Indices; + Skeleton* m_Skeleton = nullptr; glm::mat4 m_Matrix; private: bool hasSkin; - std::vector m_Vertices; + bool hasCollisionMesh = false; + std::vector m_Indices; + std::vector m_CollisionIndices; + std::vector m_CollisionVertices; + std::vector m_Vertices; std::vector m_SkinedVertices; void ReadMeshFile(std::string filePath); @@ -147,7 +171,12 @@ private: void ReadAnimationClips(std::size_t& offset, char* fileData, const unsigned int& fileByteSize, unsigned int numberOfClips); void ReadAnimationClipSingle(std::size_t& offset, char* fileData, const unsigned int& fileByteSize, unsigned int clipIndex); void ReadAnimationKeyFrame(std::size_t& offset, char* fileData, const unsigned int& fileByteSize, std::vector& animation); - + + + void ReadCollisionFile(std::string filePath); + void ReadCollisionFileData(std::size_t& offset, char* fileData, const unsigned int& fileByteSize); + + const Vertex* ConstructCollisionList(); //void CreateSkeleton(std::vector> &boneInfo, std::map &boneNameMapping, aiNode* node, int parentID); }; diff --git a/resources/Schema/Entities/Player.xml b/resources/Schema/Entities/Player.xml index 7a5d2eb4..202cdfb6 100644 --- a/resources/Schema/Entities/Player.xml +++ b/resources/Schema/Entities/Player.xml @@ -13,8 +13,7 @@ - - + 5 diff --git a/src/Engine/Collision/Collision.cpp b/src/Engine/Collision/Collision.cpp index 68d99d92..a8271818 100644 --- a/src/Engine/Collision/Collision.cpp +++ b/src/Engine/Collision/Collision.cpp @@ -150,6 +150,10 @@ bool RayVsModel(const Ray& ray, const std::vector& modelIndices, const glm::mat4& modelMatrix) { + if (!modelVertices) { + return false; + } + for (int i = 0; i < modelIndices.size();) { glm::vec3 v0 = Transform::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix); glm::vec3 v1 = Transform::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix); @@ -201,6 +205,10 @@ bool RayVsModel(const Ray& ray, float& outUCoord, float& outVCoord) { + if (!modelVertices) { + return false; + } + outDistance = INFINITY; bool hit = false; for (int i = 0; i < modelIndices.size();) { @@ -226,6 +234,10 @@ bool RayVsModel(const Ray& ray, const glm::mat4& modelMatrix, glm::vec3& outHitPosition) { + if (!modelVertices) { + return false; + } + float u; float v; float dist; @@ -546,6 +558,10 @@ bool AABBvsTriangles(const AABB& box, glm::vec3& outResolutionVector, bool resolveCollision) { + if (!modelVertices) { + return false; + } + bool hit = false; bool everHitTheGround = false; @@ -705,7 +721,7 @@ boost::optional EntityFirstHitByRay(const Ray& ray, std::vectorVertices(), model->m_RawModel->m_Indices, Transform::ModelMatrix(entityBox.Entity), outDistance, u, v)) { + if (RayVsModel(ray, model->CollisionVertices(), model->CollisionIndices(), Transform::ModelMatrix(entityBox.Entity), outDistance, u, v)) { outIntersectPos = ray.Origin() + outDistance * ray.Direction(); return entityBox; } diff --git a/src/Engine/Collision/CollisionSystem.cpp b/src/Engine/Collision/CollisionSystem.cpp index fcc3665f..83876efa 100644 --- a/src/Engine/Collision/CollisionSystem.cpp +++ b/src/Engine/Collision/CollisionSystem.cpp @@ -44,7 +44,7 @@ void CollisionSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper& c continue; } float u, v; - hit = Collision::RayVsModel(ray, model->Vertices(), model->m_Indices, Transform::ModelMatrix(boxB.Entity), dist, u, v); + hit = Collision::RayVsModel(ray, model->CollisionVertices(), model->CollisionIndices(), Transform::ModelMatrix(boxB.Entity), dist, u, v); } else { hit = Collision::RayVsAABB(ray, boxB, dist); } @@ -88,7 +88,7 @@ void CollisionSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper& c glm::vec3 inOutVelocity = (glm::vec3)cPhysics["Velocity"]; bool isOnGround = (bool)cPhysics["IsOnGround"]; float verticalStepHeight = (float)(double)cPhysics["VerticalStepHeight"]; - if (Collision::AABBvsTriangles(boxA, model->Vertices(), model->m_Indices, modelMatrix, inOutVelocity, verticalStepHeight, isOnGround, resolutionVector)) { + if (Collision::AABBvsTriangles(boxA, model->CollisionVertices(), model->CollisionIndices(), modelMatrix, inOutVelocity, verticalStepHeight, isOnGround, resolutionVector)) { (glm::vec3&)cTransform["Position"] += resolutionVector; cPhysics["Velocity"] = inOutVelocity; if (isOnGround) { diff --git a/src/Engine/Rendering/Model.cpp b/src/Engine/Rendering/Model.cpp index 3f8e20e1..affd5568 100644 --- a/src/Engine/Rendering/Model.cpp +++ b/src/Engine/Rendering/Model.cpp @@ -50,7 +50,7 @@ Model::Model(std::string fileName) glGenBuffers(1, &ElementBuffer); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ElementBuffer); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, m_RawModel->m_Indices.size() * sizeof(unsigned int), &m_RawModel->m_Indices[0], GL_STATIC_DRAW); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, m_RawModel->Indices().size() * sizeof(unsigned int), m_RawModel->Indices().data(), GL_STATIC_DRAW); glGenVertexArrays(1, &VAO); glBindVertexArray(VAO); diff --git a/src/Engine/Rendering/RawModelCustom.cpp b/src/Engine/Rendering/RawModelCustom.cpp index dd6a96de..f3b8f9c9 100644 --- a/src/Engine/Rendering/RawModelCustom.cpp +++ b/src/Engine/Rendering/RawModelCustom.cpp @@ -11,6 +11,7 @@ RawModelCustom::RawModelCustom(std::string fileName) ReadMeshFile(fileName); ReadMaterialFile(fileName); ReadAnimationFile(fileName); + ReadCollisionFile(fileName); } void RawModelCustom::ReadMeshFile(std::string filePath) @@ -71,11 +72,11 @@ void RawModelCustom::ReadVertices(std::size_t& offset, char* fileData, const uns memcpy(&m_SkinedVertices[0], fileData + offset, m_SkinedVertices.size() * sizeof(SkinedVertex)); offset += m_SkinedVertices.size() * sizeof(SkinedVertex); } else { - if (offset + m_Vertices.size() * sizeof(Vertex) > fileByteSize) { + if (offset + m_Vertices.size() * sizeof(RenderVertex) > fileByteSize) { throw Resource::FailedLoadingException("Reading vertices failed"); } - memcpy(&m_Vertices[0], fileData + offset, m_Vertices.size() * sizeof(Vertex)); - offset += m_Vertices.size() * sizeof(Vertex); + memcpy(&m_Vertices[0], fileData + offset, m_Vertices.size() * sizeof(RenderVertex)); + offset += m_Vertices.size() * sizeof(RenderVertex); } #else #endif @@ -476,6 +477,84 @@ void RawModelCustom::ReadAnimationKeyFrame(std::size_t& offset, char* fileData, } +void RawModelCustom::ReadCollisionFile(std::string filePath) { + char* fileData; + filePath += ".colli"; + std::ifstream in(filePath.c_str(), std::ios_base::binary | std::ios_base::ate); + + if (!in.is_open()) { + return; + } + unsigned int fileByteSize = static_cast(in.tellg()); + in.seekg(0, std::ios_base::beg); + + fileData = new char[fileByteSize]; + in.read(fileData, fileByteSize); + in.close(); + + std::size_t offset = 0; + if (fileByteSize > 0) { + ReadCollisionFileData(offset, fileData, fileByteSize); + } + hasCollisionMesh = true; + delete[] fileData; +} + +const RawModelCustom::Vertex* RawModelCustom::CollisionVertices() { + if (hasCollisionMesh) { + return m_CollisionVertices.data(); + } + else if (hasSkin) { + return nullptr; + } + else { + return ConstructCollisionList(); + } +}; + +void RawModelCustom::ReadCollisionFileData(std::size_t& offset, char* fileData, const unsigned int& fileByteSize){ + m_CollisionVertices.resize(static_cast(*(unsigned int*)(fileData + offset))); + offset += sizeof(unsigned int); + m_CollisionIndices.resize(static_cast(*(unsigned int*)(fileData + offset))); + offset += sizeof(unsigned int); + + if (offset + m_CollisionVertices.size() * sizeof(Vertex) > fileByteSize) { + throw Resource::FailedLoadingException("Reading collision vertices failed"); + } + memcpy(&m_CollisionVertices[0], fileData + offset, m_CollisionVertices.size() * sizeof(Vertex)); + offset += m_CollisionVertices.size() * sizeof(Vertex); + + if (offset + m_CollisionIndices.size() * sizeof(unsigned int) > fileByteSize) { + throw Resource::FailedLoadingException("Reading collision indices failed"); + } + memcpy(&m_CollisionIndices[0], fileData + offset, m_CollisionIndices.size() * sizeof(unsigned int)); + offset += m_CollisionIndices.size() * sizeof(unsigned int); +} + +const RawModelCustom::Vertex* RawModelCustom::ConstructCollisionList() +{ + if (!hasCollisionMesh && m_CollisionVertices.size() == 0) { + if (hasSkin) + { + m_CollisionVertices.reserve(m_SkinedVertices.size()); + for (auto vertex : m_SkinedVertices) { + Vertex tmp; + tmp.Position = vertex.Position; + m_CollisionVertices.push_back(tmp); + } + } else { + m_CollisionVertices.reserve(m_Vertices.size()); + for (auto vertex : m_Vertices) { + Vertex tmp; + tmp.Position = vertex.Position; + m_CollisionVertices.push_back(tmp); + } + } + } + + return m_CollisionVertices.data(); +} + RawModelCustom::~RawModelCustom() { if (m_Skeleton != nullptr) { diff --git a/src/Game/Systems/SpawnerSystem.cpp b/src/Game/Systems/SpawnerSystem.cpp index 90f677fe..7f73d4e2 100644 --- a/src/Game/Systems/SpawnerSystem.cpp +++ b/src/Game/Systems/SpawnerSystem.cpp @@ -109,8 +109,8 @@ bool SpawnerSystem::spawnedEntityIsColliding(EntityWrapper spawnedEntity, Entity if (model != nullptr && Collision::AABBvsTriangles( spawnedBox, - model->Vertices(), - model->m_Indices, + model->CollisionVertices(), + model->CollisionIndices(), Transform::ModelMatrix(otherEntity))) { return true; } From bb6e491eed5e5a5e256c42d6f30b849b3f2b0014 Mon Sep 17 00:00:00 2001 From: Teejoon Date: Thu, 25 Feb 2016 16:00:27 +0100 Subject: [PATCH 3/9] Fix for GLERROR in DrawModelRenderQueues --- src/Engine/Rendering/DrawFinalPass.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/Engine/Rendering/DrawFinalPass.cpp b/src/Engine/Rendering/DrawFinalPass.cpp index 6cd2c1f1..9b85cf98 100644 --- a/src/Engine/Rendering/DrawFinalPass.cpp +++ b/src/Engine/Rendering/DrawFinalPass.cpp @@ -383,7 +383,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& BindExplosionTextures(explosionSkinnedHandle, explosionEffectJob); glActiveTexture(GL_TEXTURE5); glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); - glUniform3fv(glGetUniformLocation(forwardHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); + glUniform3fv(glGetUniformLocation(explosionSkinnedHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); std::vector frameBones; if (explosionEffectJob->AnimationOffset.animation != nullptr) { @@ -401,7 +401,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& BindExplosionTextures(explosionHandle, explosionEffectJob); glActiveTexture(GL_TEXTURE5); glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); - glUniform3fv(glGetUniformLocation(forwardHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); + glUniform3fv(glGetUniformLocation(explosionHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); } break; @@ -459,12 +459,16 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& GLERROR("Bind ForwardPlusSkinnedProgram"); //bind uniforms BindModelUniforms(forwardSkinnedHandle, modelJob, scene); + GLERROR("Basic/SingleTextures BindModelUniforms"); //bind textures BindModelTextures(forwardSkinnedHandle, modelJob); + GLERROR("Basic/SingleTextures BindModelTextures"); glActiveTexture(GL_TEXTURE5); - glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); - glUniform3fv(glGetUniformLocation(forwardHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); - + GLERROR("Basic/SingleTextures CameraPosition1"); + glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); + GLERROR("Basic/SingleTextures CameraPosition2"); + glUniform3fv(glGetUniformLocation(forwardSkinnedHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); + GLERROR("Basic/SingleTextures CameraPosition3"); std::vector frameBones; if (modelJob->AnimationOffset.animation != nullptr) { frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations, modelJob->AnimationOffset); @@ -472,7 +476,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations); } glUniformMatrix4fv(glGetUniformLocation(forwardSkinnedHandle, "Bones"), frameBones.size(), GL_FALSE, glm::value_ptr(frameBones[0])); - + GLERROR("Basic/SingleTextures skinned end"); } else { m_ForwardPlusProgram->Bind(); GLERROR("Bind ForwardPlusProgram"); @@ -483,6 +487,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& glActiveTexture(GL_TEXTURE5); glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); glUniform3fv(glGetUniformLocation(forwardHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); + GLERROR("Basic/SingleTextures end"); } break; } @@ -495,7 +500,6 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& BindModelUniforms(forwardSplatMapSkinnedHandle, modelJob, scene); //bind textures BindModelTextures(forwardSplatMapSkinnedHandle, modelJob); - GLERROR("asdasd"); std::vector frameBones; if (modelJob->AnimationOffset.animation != nullptr) { frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations, modelJob->AnimationOffset); @@ -503,7 +507,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations); } glUniformMatrix4fv(glGetUniformLocation(forwardSplatMapSkinnedHandle, "Bones"), frameBones.size(), GL_FALSE, glm::value_ptr(frameBones[0])); - + GLERROR("SplatMapping skinned end"); } else { m_ForwardPlusSplatMapProgram->Bind(); GLERROR("Bind SplatMap program"); @@ -511,7 +515,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& BindModelUniforms(forwardSplatHandle, modelJob, scene); //bind textures BindModelTextures(forwardSplatHandle, modelJob); - GLERROR("asdasd"); + GLERROR("SplatMapping end"); } break; } From 7b32d92170ba0a829a8cc557ca9dd95befb6d258 Mon Sep 17 00:00:00 2001 From: Teejoon Date: Wed, 2 Mar 2016 13:45:56 +0100 Subject: [PATCH 4/9] Merge with master --- src/Engine/Rendering/DrawFinalPass.cpp | 33 ++++++-------------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/src/Engine/Rendering/DrawFinalPass.cpp b/src/Engine/Rendering/DrawFinalPass.cpp index 7aa18288..aabbf9cb 100644 --- a/src/Engine/Rendering/DrawFinalPass.cpp +++ b/src/Engine/Rendering/DrawFinalPass.cpp @@ -253,14 +253,6 @@ void DrawFinalPass::Draw(RenderScene& scene) glClearStencil(0x00); glClear(GL_STENCIL_BUFFER_BIT); - //Fill depth buffer - state->Enable(GL_STENCIL_TEST); - state->StencilOp(GL_KEEP, GL_KEEP, GL_REPLACE); - state->StencilFunc(GL_ALWAYS, 1, 0xFF); - state->StencilMask(0xFF); - state->DepthMask(GL_FALSE); - //DrawToDepthStencilBuffer(scene.Jobs.ShieldObjects, scene); - state->DepthMask(GL_TRUE); //Draw Opaque shielded objects state->Disable(GL_STENCIL_TEST); @@ -275,17 +267,11 @@ void DrawFinalPass::Draw(RenderScene& scene) GLERROR("OpaqueObjects"); //state->Disable(GL_STENCIL_TEST); - //Draw Transparen Shielded objects + //Draw Transparen objects state->BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); DrawModelRenderQueuesWithShieldCheck(scene.Jobs.TransparentObjects, scene); //might need changing - GLERROR("Shielded Transparent objects"); + GLERROR("Transparent objects"); - //Draw Transparen objects - //state->BlendFunc(GL_ONE, GL_ONE); - //state->StencilFunc(GL_EQUAL, 1, 0xFF); - //DrawModelRenderQueues(scene.Jobs.TransparentObjects, scene); - GLERROR("TransparentObjects"); - //state->BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); DrawSprites(scene.Jobs.SpriteJob, scene); GLERROR("SpriteJobs"); @@ -438,16 +424,12 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& GLERROR("Bind ForwardPlusSkinnedProgram"); //bind uniforms BindModelUniforms(forwardSkinnedHandle, modelJob, scene); - GLERROR("Basic/SingleTextures BindModelUniforms"); //bind textures BindModelTextures(forwardSkinnedHandle, modelJob); - GLERROR("Basic/SingleTextures BindModelTextures"); glActiveTexture(GL_TEXTURE5); - GLERROR("Basic/SingleTextures CameraPosition1"); glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); - GLERROR("Basic/SingleTextures CameraPosition2"); - glUniform3fv(glGetUniformLocation(forwardSkinnedHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); - GLERROR("Basic/SingleTextures CameraPosition3"); + glUniform3fv(glGetUniformLocation(forwardSkinnedHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); + std::vector frameBones; if (modelJob->AnimationOffset.animation != nullptr) { frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations, modelJob->AnimationOffset); @@ -456,7 +438,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations); } glUniformMatrix4fv(glGetUniformLocation(forwardSkinnedHandle, "Bones"), frameBones.size(), GL_FALSE, glm::value_ptr(frameBones[0])); - GLERROR("Basic/SingleTextures skinned end"); + } else { m_ForwardPlusProgram->Bind(); @@ -468,7 +450,6 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& glActiveTexture(GL_TEXTURE5); glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); glUniform3fv(glGetUniformLocation(forwardHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); - GLERROR("Basic/SingleTextures end"); } break; } @@ -490,7 +471,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations); } glUniformMatrix4fv(glGetUniformLocation(forwardSplatMapSkinnedHandle, "Bones"), frameBones.size(), GL_FALSE, glm::value_ptr(frameBones[0])); - GLERROR("SplatMapping skinned end"); + } else { m_ForwardPlusSplatMapProgram->Bind(); @@ -499,7 +480,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& BindModelUniforms(forwardSplatMapHandle, modelJob, scene); //bind textures BindModelTextures(forwardSplatMapHandle, modelJob); - GLERROR("SplatMapping end"); + GLERROR("asdasd"); } break; } From 0516794db6078c8e30144caee8930a5372ad293c Mon Sep 17 00:00:00 2001 From: sippeangelo Date: Sun, 13 Mar 2016 14:38:22 +0100 Subject: [PATCH 5/9] Separating RawModel from Model --- include/Engine/Collision/Collision.h | 12 +++---- include/Engine/Rendering/Model.h | 18 ++++++---- include/Engine/Rendering/ModelJob.h | 2 +- include/Engine/Rendering/RawModelCustom.h | 7 ++-- include/Game/Systems/SpawnerSystem.h | 1 + src/Engine/Collision/Collision.cpp | 34 +++++++++---------- src/Engine/Collision/CollisionSystem.cpp | 12 +++---- src/Engine/Collision/TriggerSystem.cpp | 6 ++-- src/Engine/Rendering/AnimationSystem.cpp | 10 +++--- src/Engine/Rendering/AutoBlendQueue.cpp | 6 ++-- src/Engine/Rendering/BoneAttachmentSystem.cpp | 2 +- src/Engine/Rendering/DrawFinalPass.cpp | 2 +- src/Engine/Rendering/Model.cpp | 18 ++++++++-- src/Engine/Rendering/PickingPass.cpp | 2 +- src/Engine/Rendering/RawModelCustom.cpp | 13 +++---- src/Engine/Rendering/ShadowPass.cpp | 2 +- src/Game/Systems/SpawnerSystem.cpp | 6 ++-- 17 files changed, 85 insertions(+), 68 deletions(-) diff --git a/include/Engine/Collision/Collision.h b/include/Engine/Collision/Collision.h index 5431df4d..1fd24cc6 100644 --- a/include/Engine/Collision/Collision.h +++ b/include/Engine/Collision/Collision.h @@ -48,13 +48,13 @@ bool RayVsTriangle(const Ray& ray, bool trueOnNegativeDistance = false); //Return true if the ray hits any of the triangles in the model. Stops checking when a hit is detected. bool RayVsModel(const Ray& ray, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix); //Return true if the ray hits any of the triangles in the model. //Also returns the position of the intersection point. Will loop through all the whole model indices. bool RayVsModel(const Ray& ray, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix, glm::vec3& outHitPosition); @@ -62,7 +62,7 @@ bool RayVsModel(const Ray& ray, //Also returns the distance from the ray origin to the closest //intersection point, and the barycentric u,v-coordinates. Will loop through all the whole model indices. bool RayVsModel(const Ray& ray, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix, float& outDistance, @@ -70,7 +70,7 @@ bool RayVsModel(const Ray& ray, float& outVCoord); bool AABBvsTriangles(const AABB& box, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix, glm::vec3& boxVelocity, @@ -80,7 +80,7 @@ bool AABBvsTriangles(const AABB& box, //Detects collision, but does not resolve. bool AABBvsTriangles(const AABB& box, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix); @@ -92,7 +92,7 @@ enum Output }; //Detects intersection and containment. Output AABBvsTrianglesWContainment(const AABB& box, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix); diff --git a/include/Engine/Rendering/Model.h b/include/Engine/Rendering/Model.h index 4c63b922..01752eb3 100644 --- a/include/Engine/Rendering/Model.h +++ b/include/Engine/Rendering/Model.h @@ -16,15 +16,18 @@ private: public: ~Model(); - const std::vector& MaterialGroups() const { return m_RawModel->m_Materials; } - const glm::mat4& Matrix() const { return m_RawModel->m_Matrix; } - const RawModel::Vertex* Vertices() const { return m_RawModel->Vertices(); } - unsigned int NumberOfVertices() const { return m_RawModel->NumVertices(); } + const std::vector& MaterialGroups() const { return m_Materials; } + //const RawModel::Vertex* Vertices() const { return m_RawModel->Vertices(); } + unsigned int NumberOfVertices() const { return m_Vertices.size(); } const AABB& Box() const { return m_Box; } - bool IsSkinned() const { return m_RawModel->IsSkinned(); } + bool IsSkinned() const { return m_IsSkinned; } GLuint VAO; GLuint ElementBuffer; - RawModel* m_RawModel; + //RawModel* m_RawModel; + + Skeleton* m_Skeleton = nullptr; + std::vector m_Vertices; + std::vector m_Indices; private: AABB m_Box; @@ -34,6 +37,9 @@ private: GLuint TangentNormalsBuffer; GLuint BiTangentNormalsBuffer; GLuint TextureCoordBuffer; + + std::vector m_Materials; + bool m_IsSkinned; }; #endif diff --git a/include/Engine/Rendering/ModelJob.h b/include/Engine/Rendering/ModelJob.h index 0bb3d1c8..11e93f61 100644 --- a/include/Engine/Rendering/ModelJob.h +++ b/include/Engine/Rendering/ModelJob.h @@ -105,7 +105,7 @@ struct ModelJob : RenderJob IsShielded = isShielded; if (model->IsSkinned()) { - Skeleton = Model->m_RawModel->m_Skeleton; + Skeleton = Model->m_Skeleton; if (Skeleton != nullptr) { diff --git a/include/Engine/Rendering/RawModelCustom.h b/include/Engine/Rendering/RawModelCustom.h index f9fd18ef..ea573cba 100644 --- a/include/Engine/Rendering/RawModelCustom.h +++ b/include/Engine/Rendering/RawModelCustom.h @@ -13,6 +13,7 @@ #include +#include #include "../Common.h" #include "../GLM.h" #include "../Core/ResourceManager.h" @@ -20,14 +21,10 @@ #include "Skeleton.h" #include "ShaderProgram.h" -#include "boost\endian\buffers.hpp" - - - class RawModelCustom : public Resource { friend class ResourceManager; - + friend class Model; protected: RawModelCustom(std::string fileName); diff --git a/include/Game/Systems/SpawnerSystem.h b/include/Game/Systems/SpawnerSystem.h index c5b5b7b8..5c5ca2db 100644 --- a/include/Game/Systems/SpawnerSystem.h +++ b/include/Game/Systems/SpawnerSystem.h @@ -8,6 +8,7 @@ #include "Events/ESpawnerSpawn.h" #include "Core/TransformSystem.h" #include "Core/EntityFile.h" +#include "Rendering/Model.h" class SpawnerSystem : public System { diff --git a/src/Engine/Collision/Collision.cpp b/src/Engine/Collision/Collision.cpp index dc04e8cf..ae09aeaf 100644 --- a/src/Engine/Collision/Collision.cpp +++ b/src/Engine/Collision/Collision.cpp @@ -146,14 +146,14 @@ bool RayVsTriangle(const Ray& ray, } bool RayVsModel(const Ray& ray, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix) { for (int i = 0; i < modelIndices.size();) { - glm::vec3 v0 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix); - glm::vec3 v1 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix); - glm::vec3 v2 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix); + glm::vec3 v0 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]], modelMatrix); + glm::vec3 v1 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]], modelMatrix); + glm::vec3 v2 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]], modelMatrix); if (RayVsTriangle(ray, v0, v1, v2)) { return true; } @@ -194,7 +194,7 @@ bool RayVsTriangle(const Ray& ray, } bool RayVsModel(const Ray& ray, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix, float& outDistance, @@ -204,9 +204,9 @@ bool RayVsModel(const Ray& ray, outDistance = INFINITY; bool hit = false; for (int i = 0; i < modelIndices.size();) { - glm::vec3 v0 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix); - glm::vec3 v1 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix); - glm::vec3 v2 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix); + glm::vec3 v0 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]], modelMatrix); + glm::vec3 v1 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]], modelMatrix); + glm::vec3 v2 = TransformSystem::TransformPoint(modelVertices[modelIndices[i++]], modelMatrix); float dist = outDistance; float u; float v; @@ -221,7 +221,7 @@ bool RayVsModel(const Ray& ray, } bool RayVsModel(const Ray& ray, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix, glm::vec3& outHitPosition) @@ -548,7 +548,7 @@ BoxTriRes AABBvsTriangle(const AABB& box, } Output AABBvsTriangles(const AABB& box, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix, glm::vec3& boxVelocity, @@ -565,9 +565,9 @@ Output AABBvsTriangles(const AABB& box, glm::vec3 originalBoxVelocity(boxVelocity); for (int i = 0; i < modelIndices.size(); ) { std::array triVertices = { - TransformSystem::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix), - TransformSystem::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix), - TransformSystem::TransformPoint(modelVertices[modelIndices[i++]].Position, modelMatrix) + TransformSystem::TransformPoint(modelVertices[modelIndices[i++]], modelMatrix), + TransformSystem::TransformPoint(modelVertices[modelIndices[i++]], modelMatrix), + TransformSystem::TransformPoint(modelVertices[modelIndices[i++]], modelMatrix) }; glm::vec3 outVec; bool collideWithGround = isOnGround; @@ -595,7 +595,7 @@ Output AABBvsTriangles(const AABB& box, } bool AABBvsTriangles(const AABB& box, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix, glm::vec3& boxVelocity, @@ -615,7 +615,7 @@ bool AABBvsTriangles(const AABB& box, } bool AABBvsTriangles(const AABB& box, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix) { @@ -633,7 +633,7 @@ bool AABBvsTriangles(const AABB& box, } Output AABBvsTrianglesWContainment(const AABB& box, - const RawModel::Vertex* modelVertices, + const std::vector& modelVertices, const std::vector& modelIndices, const glm::mat4& modelMatrix) { @@ -741,7 +741,7 @@ boost::optional EntityFirstHitByRay(const Ray& ray, std::vectorVertices(), model->m_RawModel->m_Indices, TransformSystem::ModelMatrix(entityBox.Entity), outDistance, u, v)) { + if (RayVsModel(ray, model->m_Vertices, model->m_Indices, TransformSystem::ModelMatrix(entityBox.Entity), outDistance, u, v)) { outIntersectPos = ray.Origin() + outDistance * ray.Direction(); return entityBox; } diff --git a/src/Engine/Collision/CollisionSystem.cpp b/src/Engine/Collision/CollisionSystem.cpp index 433af482..e53143ac 100644 --- a/src/Engine/Collision/CollisionSystem.cpp +++ b/src/Engine/Collision/CollisionSystem.cpp @@ -41,15 +41,15 @@ void CollisionSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper& c // Don't collide against invisible models. continue; } - RawModel* model; + Model* model; std::string res = (std::string)boxB.Entity["Model"]["Resource"]; try { - model = ResourceManager::Load(res); + model = ResourceManager::Load(res); } catch (const std::exception&) { continue; } float u, v; - hit = Collision::RayVsModel(ray, model->Vertices(), model->m_Indices, TransformSystem::ModelMatrix(boxB.Entity), dist, u, v); + hit = Collision::RayVsModel(ray, model->m_Vertices, model->m_Indices, TransformSystem::ModelMatrix(boxB.Entity), dist, u, v); } else { hit = Collision::RayVsAABB(ray, boxB, dist); } @@ -86,9 +86,9 @@ void CollisionSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper& c // Don't collide against invisible models. continue; } - RawModel* model; + Model* model; try { - model = ResourceManager::Load(boxB.Entity["Model"]["Resource"]); + model = ResourceManager::Load(boxB.Entity["Model"]["Resource"]); } catch (const std::exception&) { continue; } @@ -98,7 +98,7 @@ void CollisionSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper& c glm::vec3 inOutVelocity = (glm::vec3)cPhysics["Velocity"]; bool isOnGround = (bool)cPhysics["IsOnGround"]; float verticalStepHeight = (float)(double)cPhysics["VerticalStepHeight"]; - if (Collision::AABBvsTriangles(boxA, model->Vertices(), model->m_Indices, modelMatrix, inOutVelocity, verticalStepHeight, isOnGround, resolutionVector)) { + if (Collision::AABBvsTriangles(boxA, model->m_Vertices, model->m_Indices, modelMatrix, inOutVelocity, verticalStepHeight, isOnGround, resolutionVector)) { //Move the position to previous position if it is not moving in the xz-plane, else resolve with the resolution vector. (Field)cTransform["Position"] += resolutionVector; boxA = *Collision::EntityAbsoluteAABB(entity); diff --git a/src/Engine/Collision/TriggerSystem.cpp b/src/Engine/Collision/TriggerSystem.cpp index c9bc18dc..ef790bc9 100644 --- a/src/Engine/Collision/TriggerSystem.cpp +++ b/src/Engine/Collision/TriggerSystem.cpp @@ -10,11 +10,11 @@ void TriggerSystem::UpdateComponent(EntityWrapper& triggerEntity, ComponentWrapp return; } - RawModel* triggerModel = nullptr; + Model* triggerModel = nullptr; glm::mat4 triggerModelMat; if (triggerEntity.HasComponent("Model")) { try { - triggerModel = ResourceManager::Load(triggerEntity["Model"]["Resource"]); + triggerModel = ResourceManager::Load(triggerEntity["Model"]["Resource"]); triggerModelMat = TransformSystem::ModelMatrix(triggerEntity); } catch (const std::exception&) { } @@ -38,7 +38,7 @@ void TriggerSystem::UpdateComponent(EntityWrapper& triggerEntity, ComponentWrapp ? Collision::Output::OutContained : Collision::AABBvsTrianglesWContainment( colliderBox, - triggerModel->Vertices(), + triggerModel->m_Vertices, triggerModel->m_Indices, triggerModelMat); diff --git a/src/Engine/Rendering/AnimationSystem.cpp b/src/Engine/Rendering/AnimationSystem.cpp index 729ed672..63b47625 100644 --- a/src/Engine/Rendering/AnimationSystem.cpp +++ b/src/Engine/Rendering/AnimationSystem.cpp @@ -37,7 +37,7 @@ void AnimationSystem::CreateBlendTrees() continue;; } - Skeleton* skeleton = model->m_RawModel->m_Skeleton; + Skeleton* skeleton = model->m_Skeleton; if (skeleton == nullptr) { continue; } @@ -79,7 +79,7 @@ void AnimationSystem::UpdateAnimations(double dt) return; } - Skeleton* skeleton = model->m_RawModel->m_Skeleton; + Skeleton* skeleton = model->m_Skeleton; if (skeleton == nullptr) { return; } @@ -175,7 +175,7 @@ bool AnimationSystem::OnAutoAnimationBlend(Events::AutoAnimationBlend& e) return false; } - Skeleton* skeleton = model->m_RawModel->m_Skeleton; + Skeleton* skeleton = model->m_Skeleton; if (skeleton == nullptr) { return false; } @@ -294,7 +294,7 @@ bool AnimationSystem::OnEntityDeleted(Events::EntityDeleted& e) return false; } - Skeleton* skeleton = model->m_RawModel->m_Skeleton; + Skeleton* skeleton = model->m_Skeleton; if (skeleton == nullptr) { return false; } @@ -325,7 +325,7 @@ bool AnimationSystem::OnSetBlendWeight(Events::SetBlendWeight& e) return false; } - Skeleton* skeleton = model->m_RawModel->m_Skeleton; + Skeleton* skeleton = model->m_Skeleton; if (skeleton == nullptr) { return false; } diff --git a/src/Engine/Rendering/AutoBlendQueue.cpp b/src/Engine/Rendering/AutoBlendQueue.cpp index f4a854ec..016ae420 100644 --- a/src/Engine/Rendering/AutoBlendQueue.cpp +++ b/src/Engine/Rendering/AutoBlendQueue.cpp @@ -22,7 +22,7 @@ void AutoBlendQueue::Insert(AutoBlendJob autoBlendJob) return; } - Skeleton* skeleton = model->m_RawModel->m_Skeleton; + Skeleton* skeleton = model->m_Skeleton; if (skeleton == nullptr) { return; } @@ -130,7 +130,7 @@ bool AutoBlendQueue::HasActiveBlendJob() return HasActiveBlendJob(); } - Skeleton* skeleton = model->m_RawModel->m_Skeleton; + Skeleton* skeleton = model->m_Skeleton; if (skeleton == nullptr) { m_BlendQueue.pop_front(); return HasActiveBlendJob(); @@ -173,7 +173,7 @@ std::shared_ptr AutoBlendQueue::GetBlendTree() return nullptr; } - Skeleton* skeleton = model->m_RawModel->m_Skeleton; + Skeleton* skeleton = model->m_Skeleton; if (skeleton == nullptr) { return nullptr; } diff --git a/src/Engine/Rendering/BoneAttachmentSystem.cpp b/src/Engine/Rendering/BoneAttachmentSystem.cpp index 440bb65c..82fd9507 100644 --- a/src/Engine/Rendering/BoneAttachmentSystem.cpp +++ b/src/Engine/Rendering/BoneAttachmentSystem.cpp @@ -26,7 +26,7 @@ void BoneAttachmentSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapp return; } - Skeleton* skeleton = model->m_RawModel->m_Skeleton; + Skeleton* skeleton = model->m_Skeleton; if(skeleton == nullptr) { return; diff --git a/src/Engine/Rendering/DrawFinalPass.cpp b/src/Engine/Rendering/DrawFinalPass.cpp index 6ab4bb3c..d75898ea 100644 --- a/src/Engine/Rendering/DrawFinalPass.cpp +++ b/src/Engine/Rendering/DrawFinalPass.cpp @@ -530,7 +530,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& std::vector frameBones; if (modelJob->BlendTree != nullptr) { frameBones = modelJob->BlendTree->GetFinalPose(); - } else { + } else if (modelJob->Skeleton != nullptr) { frameBones = modelJob->Skeleton->GetTPose(); } glUniformMatrix4fv(glGetUniformLocation(forwardSkinnedHandle, "Bones"), frameBones.size(), GL_FALSE, glm::value_ptr(frameBones[0])); diff --git a/src/Engine/Rendering/Model.cpp b/src/Engine/Rendering/Model.cpp index d34ce809..fce9d32f 100644 --- a/src/Engine/Rendering/Model.cpp +++ b/src/Engine/Rendering/Model.cpp @@ -2,8 +2,10 @@ Model::Model(std::string fileName) { + //fileName = "Models/Core/ScreenQuad.mesh"; //Try loading the model asyncronously, if it throws any exceptions then let it propagate back to caller. - m_RawModel = ResourceManager::Load(fileName); + auto m_RawModel = ResourceManager::Load(fileName); + //throw FailedLoadingException("Test"); for (auto& materialProperty : m_RawModel->m_Materials) { switch (materialProperty.type) { @@ -99,14 +101,24 @@ Model::Model(std::string fileName) glm::vec3 mini(INFINITY); glm::vec3 maxi(-INFINITY); - for (unsigned int i = 0; i < m_RawModel->NumVertices(); i++) { const auto& v = m_RawModel->Vertices()[i]; mini = glm::min(mini, v.Position); maxi = glm::max(maxi, v.Position); } - m_Box = AABB(mini, maxi); + + //m_Skeleton = m_RawModel->m_Skeleton; + delete m_RawModel->m_Skeleton; + m_Materials = m_RawModel->m_Materials; + //m_Indices = m_RawModel->m_Indices; + m_IsSkinned = m_RawModel->IsSkinned(); + // Copy vertex positions for collisions later + for (auto& v : m_RawModel->m_Vertices) { + //m_Vertices.push_back(v.Position); + } + + ResourceManager::Release("RawModel", fileName); } Model::~Model() diff --git a/src/Engine/Rendering/PickingPass.cpp b/src/Engine/Rendering/PickingPass.cpp index 820c184e..c3b6bdd4 100644 --- a/src/Engine/Rendering/PickingPass.cpp +++ b/src/Engine/Rendering/PickingPass.cpp @@ -110,7 +110,7 @@ void PickingPass::Draw(RenderScene& scene) std::vector frameBones; if (modelJob->BlendTree != nullptr) { frameBones = modelJob->BlendTree->GetFinalPose(); - } else { + } else if (modelJob->Skeleton != nullptr) { frameBones = modelJob->Skeleton->GetTPose(); } glUniformMatrix4fv(glGetUniformLocation(shaderSkinnedHandle, "Bones"), frameBones.size(), GL_FALSE, glm::value_ptr(frameBones[0])); diff --git a/src/Engine/Rendering/RawModelCustom.cpp b/src/Engine/Rendering/RawModelCustom.cpp index 94a824f0..8ea3e2b1 100644 --- a/src/Engine/Rendering/RawModelCustom.cpp +++ b/src/Engine/Rendering/RawModelCustom.cpp @@ -493,12 +493,13 @@ void RawModelCustom::ReadAnimationKeyFrame(std::size_t& offset, char* fileData, RawModelCustom::~RawModelCustom() { - if (m_Skeleton != nullptr) { - delete m_Skeleton; - } - for (auto material : m_Materials) { - delete material.material; - } + // Ownership of skeleton and materials get transferred to Model + // if (m_Skeleton != nullptr) { + // delete m_Skeleton; + // } + //for (auto material : m_Materials) { + // delete material.material; + //} } #endif \ No newline at end of file diff --git a/src/Engine/Rendering/ShadowPass.cpp b/src/Engine/Rendering/ShadowPass.cpp index ed9ccb7b..0258f8b6 100644 --- a/src/Engine/Rendering/ShadowPass.cpp +++ b/src/Engine/Rendering/ShadowPass.cpp @@ -270,7 +270,7 @@ void ShadowPass::Draw(RenderScene & scene) std::vector frameBones; if (modelJob->BlendTree != nullptr) { frameBones = modelJob->BlendTree->GetFinalPose(); - } else { + } else if (modelJob->Skeleton != nullptr) { frameBones = modelJob->Skeleton->GetTPose(); } glUniformMatrix4fv(glGetUniformLocation(shaderHandle, "Bones"), frameBones.size(), GL_FALSE, glm::value_ptr(frameBones[0])); diff --git a/src/Game/Systems/SpawnerSystem.cpp b/src/Game/Systems/SpawnerSystem.cpp index 825c9e99..583cc91b 100644 --- a/src/Game/Systems/SpawnerSystem.cpp +++ b/src/Game/Systems/SpawnerSystem.cpp @@ -103,15 +103,15 @@ bool SpawnerSystem::spawnedEntityIsColliding(EntityWrapper spawnedEntity, Entity if (!spawnedBox.Entity.HasComponent("Model")) { return true; } - RawModel* model = nullptr; + Model* model = nullptr; try { - model = ResourceManager::Load(otherEntity["Model"]["Resource"]); + model = ResourceManager::Load(otherEntity["Model"]["Resource"]); } catch (const std::exception&) { } if (model != nullptr && Collision::AABBvsTriangles( spawnedBox, - model->Vertices(), + model->m_Vertices, model->m_Indices, TransformSystem::ModelMatrix(otherEntity))) { return true; From dea57b4872cc4912df0d5d8c9bc047297969245c Mon Sep 17 00:00:00 2001 From: William Moberg Date: Mon, 14 Mar 2016 01:00:58 +0100 Subject: [PATCH 6/9] Fixes after merge. --- src/Engine/Collision/Collision.cpp | 2 +- src/Engine/Collision/TriggerSystem.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Engine/Collision/Collision.cpp b/src/Engine/Collision/Collision.cpp index 1ecdccec..3c699a26 100644 --- a/src/Engine/Collision/Collision.cpp +++ b/src/Engine/Collision/Collision.cpp @@ -570,7 +570,7 @@ Output AABBvsTriangles(const AABB& box, bool resolveCollision) { if (!modelVertices) { - return false; + return Output::OutSeparated; } bool intersect = false; Output out = Output::OutContained; diff --git a/src/Engine/Collision/TriggerSystem.cpp b/src/Engine/Collision/TriggerSystem.cpp index c9bc18dc..e6172e5f 100644 --- a/src/Engine/Collision/TriggerSystem.cpp +++ b/src/Engine/Collision/TriggerSystem.cpp @@ -38,8 +38,8 @@ void TriggerSystem::UpdateComponent(EntityWrapper& triggerEntity, ComponentWrapp ? Collision::Output::OutContained : Collision::AABBvsTrianglesWContainment( colliderBox, - triggerModel->Vertices(), - triggerModel->m_Indices, + triggerModel->CollisionVertices(), + triggerModel->CollisionIndices(), triggerModelMat); if (colliderFitsInTrigger && Collision::AABBVsAABB(completelyInsideBox, colliderBox) && out == Collision::Output::OutContained) { From 4c52f55bf077b1b2c7376271dd8dab6f826df6bc Mon Sep 17 00:00:00 2001 From: William Moberg Date: Mon, 14 Mar 2016 03:20:36 +0100 Subject: [PATCH 7/9] Any collision meshes we have should be working, and RawModels should be released after being loaded. --- include/Engine/Rendering/Model.h | 6 ---- include/Engine/Rendering/RawModelCustom.h | 9 ++--- src/Engine/Rendering/Model.cpp | 40 +++++++++++------------ src/Engine/Rendering/RawModelCustom.cpp | 33 +++++++++---------- 4 files changed, 38 insertions(+), 50 deletions(-) diff --git a/include/Engine/Rendering/Model.h b/include/Engine/Rendering/Model.h index 95afa931..acdf64db 100644 --- a/include/Engine/Rendering/Model.h +++ b/include/Engine/Rendering/Model.h @@ -17,13 +17,7 @@ private: public: ~Model(); const std::vector& MaterialGroups() const { return m_Materials; } - //const RawModel::Vertex* Vertices() const { return m_RawModel->Vertices(); } unsigned int NumberOfVertices() const { return m_Vertices.size(); } - //size_t NumberOfVertices() const { return m_RawModel->NumVertices(); } - //const std::vector& Indices() const { return m_RawModel->Indices(); } - - //const RawModel::Vertex* CollisionVertices() const { return m_RawModel->CollisionVertices(); } - //const std::vector& CollisionIndices() const { return m_RawModel->CollisionIndices(); } const AABB& Box() const { return m_Box; } bool IsSkinned() const { return m_IsSkinned; } diff --git a/include/Engine/Rendering/RawModelCustom.h b/include/Engine/Rendering/RawModelCustom.h index 8e476c7f..12e54d3f 100644 --- a/include/Engine/Rendering/RawModelCustom.h +++ b/include/Engine/Rendering/RawModelCustom.h @@ -30,9 +30,6 @@ protected: public: ~RawModelCustom(); - struct Vertex { - glm::vec3 Position; - }; struct RenderVertex { glm::vec3 Position; @@ -121,7 +118,7 @@ public: bool IsSkinned() const { return hasSkin; }; - const Vertex* CollisionVertices(); + const std::vector& CollisionVertices(); size_t NumCollisionVertices() const { return m_CollisionVertices.size(); @@ -146,7 +143,7 @@ private: bool hasCollisionMesh = false; std::vector m_Indices; std::vector m_CollisionIndices; - std::vector m_CollisionVertices; + std::vector m_CollisionVertices; std::vector m_Vertices; std::vector m_SkinedVertices; @@ -175,7 +172,7 @@ private: void ReadCollisionFile(std::string filePath); void ReadCollisionFileData(std::size_t& offset, char* fileData, const unsigned int& fileByteSize); - const Vertex* ConstructCollisionList(); + const std::vector& ConstructCollisionList(); //void CreateSkeleton(std::vector> &boneInfo, std::map &boneNameMapping, aiNode* node, int parentID); }; diff --git a/src/Engine/Rendering/Model.cpp b/src/Engine/Rendering/Model.cpp index fe6b7819..596e254b 100644 --- a/src/Engine/Rendering/Model.cpp +++ b/src/Engine/Rendering/Model.cpp @@ -2,12 +2,10 @@ Model::Model(std::string fileName) { - //fileName = "Models/Core/ScreenQuad.mesh"; //Try loading the model asyncronously, if it throws any exceptions then let it propagate back to caller. - auto m_RawModel = ResourceManager::Load(fileName); - //throw FailedLoadingException("Test"); + auto rawModel = ResourceManager::Load(fileName); - for (auto& materialProperty : m_RawModel->m_Materials) { + for (auto& materialProperty : rawModel->m_Materials) { switch (materialProperty.type) { case RawModel::MaterialType::SingleTextures: { @@ -48,11 +46,11 @@ Model::Model(std::string fileName) glGenBuffers(1, &buffer); glBindBuffer(GL_ARRAY_BUFFER, buffer); - glBufferData(GL_ARRAY_BUFFER, m_RawModel->NumVertices() * m_RawModel->VertexSize(), m_RawModel->Vertices(), GL_STATIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, rawModel->NumVertices() * rawModel->VertexSize(), rawModel->Vertices(), GL_STATIC_DRAW); glGenBuffers(1, &ElementBuffer); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ElementBuffer); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, m_RawModel->Indices().size() * sizeof(unsigned int), m_RawModel->Indices().data(), GL_STATIC_DRAW); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, rawModel->Indices().size() * sizeof(unsigned int), rawModel->Indices().data(), GL_STATIC_DRAW); glGenVertexArrays(1, &VAO); glBindVertexArray(VAO); @@ -60,7 +58,7 @@ Model::Model(std::string fileName) glBindBuffer(GL_ARRAY_BUFFER, buffer); std::vector structSizes; - if (m_RawModel->IsSkinned()) { + if (rawModel->IsSkinned()) { structSizes = { 3, 3, 3, 3, 2, 4, 4 }; } else { structSizes = { 3, 3, 3, 3, 2 }; @@ -79,7 +77,7 @@ Model::Model(std::string fileName) glVertexAttribPointer(element, structSizes[element], GL_FLOAT, GL_FALSE, stride, (GLvoid*)(sizeof(GLfloat) * (offset += structSizes[element - 1]))); element++; glVertexAttribPointer(element, structSizes[element], GL_FLOAT, GL_FALSE, stride, (GLvoid*)(sizeof(GLfloat) * (offset += structSizes[element - 1]))); element++; glVertexAttribPointer(element, structSizes[element], GL_FLOAT, GL_FALSE, stride, (GLvoid*)(sizeof(GLfloat) * (offset += structSizes[element - 1]))); element++; - if (m_RawModel->IsSkinned()) { + if (rawModel->IsSkinned()) { glVertexAttribPointer(element, structSizes[element], GL_FLOAT, GL_FALSE, stride, (GLvoid*)(sizeof(GLfloat) * (offset += structSizes[element - 1]))); element++; glVertexAttribPointer(element, structSizes[element], GL_FLOAT, GL_FALSE, stride, (GLvoid*)(sizeof(GLfloat) * (offset += structSizes[element - 1]))); element++; } @@ -91,7 +89,7 @@ Model::Model(std::string fileName) glEnableVertexAttribArray(2); glEnableVertexAttribArray(3); glEnableVertexAttribArray(4); - if (m_RawModel->IsSkinned()) { + if (rawModel->IsSkinned()) { glEnableVertexAttribArray(5); glEnableVertexAttribArray(6); } @@ -101,27 +99,29 @@ Model::Model(std::string fileName) glm::vec3 mini(INFINITY); glm::vec3 maxi(-INFINITY); - for (unsigned int i = 0; i < m_RawModel->NumVertices(); i++) { - const auto& v = m_RawModel->Vertices()[i]; + for (unsigned int i = 0; i < rawModel->NumVertices(); i++) { + const auto& v = rawModel->Vertices()[i]; mini = glm::min(mini, v.Position); maxi = glm::max(maxi, v.Position); } m_Box = AABB(mini, maxi); - //m_Skeleton = m_RawModel->m_Skeleton; - delete m_RawModel->m_Skeleton; - m_Materials = m_RawModel->m_Materials; - //m_Indices = m_RawModel->m_Indices; - m_IsSkinned = m_RawModel->IsSkinned(); + m_Skeleton = rawModel->m_Skeleton; + m_Materials = rawModel->m_Materials; + m_Indices = rawModel->CollisionIndices(); + m_IsSkinned = rawModel->IsSkinned(); // Copy vertex positions for collisions later - for (auto& v : m_RawModel->m_Vertices) { - //m_Vertices.push_back(v.Position); - } + m_Vertices = rawModel->CollisionVertices(); ResourceManager::Release("RawModel", fileName); } Model::~Model() { - + if (m_Skeleton != nullptr) { + delete m_Skeleton; + } + for (auto material : m_Materials) { + delete material.material; + } } diff --git a/src/Engine/Rendering/RawModelCustom.cpp b/src/Engine/Rendering/RawModelCustom.cpp index 1f1dc4c0..2106a699 100644 --- a/src/Engine/Rendering/RawModelCustom.cpp +++ b/src/Engine/Rendering/RawModelCustom.cpp @@ -515,12 +515,14 @@ void RawModelCustom::ReadCollisionFile(std::string filePath) { delete[] fileData; } -const RawModelCustom::Vertex* RawModelCustom::CollisionVertices() { +const std::vector& RawModelCustom::CollisionVertices() { if (hasCollisionMesh) { - return m_CollisionVertices.data(); + return m_CollisionVertices; } else if (hasSkin) { - return nullptr; + // We don't do collisions against skinned meshes now. + m_CollisionVertices = std::vector(); + return m_CollisionVertices; } else { return ConstructCollisionList(); @@ -533,11 +535,11 @@ void RawModelCustom::ReadCollisionFileData(std::size_t& offset, char* fileData, m_CollisionIndices.resize(static_cast(*(unsigned int*)(fileData + offset))); offset += sizeof(unsigned int); - if (offset + m_CollisionVertices.size() * sizeof(Vertex) > fileByteSize) { + if (offset + m_CollisionVertices.size() * sizeof(glm::vec3) > fileByteSize) { throw Resource::FailedLoadingException("Reading collision vertices failed"); } - memcpy(&m_CollisionVertices[0], fileData + offset, m_CollisionVertices.size() * sizeof(Vertex)); - offset += m_CollisionVertices.size() * sizeof(Vertex); + memcpy(&m_CollisionVertices[0], fileData + offset, m_CollisionVertices.size() * sizeof(glm::vec3)); + offset += m_CollisionVertices.size() * sizeof(glm::vec3); if (offset + m_CollisionIndices.size() * sizeof(unsigned int) > fileByteSize) { throw Resource::FailedLoadingException("Reading collision indices failed"); @@ -546,28 +548,23 @@ void RawModelCustom::ReadCollisionFileData(std::size_t& offset, char* fileData, offset += m_CollisionIndices.size() * sizeof(unsigned int); } -const RawModelCustom::Vertex* RawModelCustom::ConstructCollisionList() +const std::vector& RawModelCustom::ConstructCollisionList() { if (!hasCollisionMesh && m_CollisionVertices.size() == 0) { - if (hasSkin) - { + if (hasSkin) { m_CollisionVertices.reserve(m_SkinedVertices.size()); - for (auto vertex : m_SkinedVertices) { - Vertex tmp; - tmp.Position = vertex.Position; - m_CollisionVertices.push_back(tmp); + for (const auto& vertex : m_SkinedVertices) { + m_CollisionVertices.push_back(vertex.Position); } } else { m_CollisionVertices.reserve(m_Vertices.size()); - for (auto vertex : m_Vertices) { - Vertex tmp; - tmp.Position = vertex.Position; - m_CollisionVertices.push_back(tmp); + for (const auto& vertex : m_Vertices) { + m_CollisionVertices.push_back(vertex.Position); } } } - return m_CollisionVertices.data(); + return m_CollisionVertices; } RawModelCustom::~RawModelCustom() From a3fef7bcd165e1f3d37c1547248f309b28c23407 Mon Sep 17 00:00:00 2001 From: sippeangelo Date: Mon, 14 Mar 2016 04:24:40 +0100 Subject: [PATCH 8/9] Better CP_Valhalla lighting --- resources/Schema/Entities/CP_Valhalla | 17775 ------------------ resources/Schema/Entities/CP_Valhalla.xml | 19250 ++++++++++---------- 2 files changed, 9628 insertions(+), 27397 deletions(-) delete mode 100644 resources/Schema/Entities/CP_Valhalla mode change 100644 => 100755 resources/Schema/Entities/CP_Valhalla.xml diff --git a/resources/Schema/Entities/CP_Valhalla b/resources/Schema/Entities/CP_Valhalla deleted file mode 100644 index 53b51732..00000000 --- a/resources/Schema/Entities/CP_Valhalla +++ /dev/null @@ -1,17775 +0,0 @@ - - - - - - 7.9173569776609156 - 15 - - - - - - - - - - - - - - - 2 - Models/Props/GroundTest.mesh - - - - - - - - Models/Props/Walls/SciFiWallTop.mesh - - false - - - - - - - - - 2.4600000381469727 - Models/Props/Walls/SciFiWallBig.mesh - - false - - - - - - - - - - 2.4600000381469727 - Models/Props/Walls/SciFiWallMedium.mesh - - false - - - - - - - - - - 2.4600000381469727 - Models/Props/Walls/SciFiWallSmall1.mesh - - - - - - - - - - - 2.4600000381469727 - Models/Props/Walls/SciFiWallSmall2.mesh - - - - - - - - - - - 2.4600000381469727 - Models/Props/Walls/SciFiWallBig.mesh - - false - - - - - - - - - - - - 2.4500000476837158 - Models/Props/Walls/SciFiWallMedium.mesh - - false - - - - - - - - - - - - 2.4600000381469727 - Models/Props/Walls/SciFiWallSmall3.mesh - - false - - - - - - - - - - 2.4600000381469727 - Models/Props/Walls/SciFiWallSmall4.mesh - - - - - - - - - - - - - Models/Highgrounds/Highground1.mesh - - - - - - - - - - Models/Highgrounds/Highground2.mesh - - - - - - - - - - Models/Highgrounds/Highground3.mesh - - - - - - - - - - Models/Highgrounds/Highground24.mesh - - - - - - - - - - - Models/Highgrounds/Hg13.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg25.mesh - - - - - - - - - - - - Models/Highgrounds/Hg26.mesh - - - - - - - - - - - - Models/Highgrounds/Hg9.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg4.mesh - - - - - - - - - - - - - - Models/Highgrounds/Hg10.mesh - - - - - - - - - - - - - - Models/Highgrounds/Hg19.mesh - - - - - - - - - - - - - - Models/Highgrounds/Hg19.mesh - - - - - - - - - - - - - - - Models/Highgrounds/Highground12.mesh - - - - - - - - - - - - Models/Highgrounds/Hg16.mesh - - - - - - - - - - - - Models/Highgrounds/Hg15.mesh - - - - - - - - - - - - Models/Highgrounds/Hg14.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg13.mesh - - - - - - - - - - - - Models/Highgrounds/Hg11.mesh - - - - - - - - - - - - Models/Highgrounds/Hg20.mesh - - - - - - - - - - - - Models/Highgrounds/Hg18.mesh - - - - - - - - - - - - Models/Highgrounds/Hg19.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg17.mesh - - - - - - - - - - - - - - - Models/Highgrounds/Hg8.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg7.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg3.mesh - - - - - - - - - - - - - - - Models/Highgrounds/Highground3.mesh - - - - - - - - - - - - Models/Highgrounds/Highground1.mesh - - - - - - - - - - - Models/Highgrounds/Highground2.mesh - - - - - - - - - - - - - - Models/Highgrounds/Hg1.mesh - - - - - - - - - - - Models/Highgrounds/Hg2.mesh - - - - - - - - - - - - - - Models/Highgrounds/Highground5.mesh - - - - - - - - - - - - Models/Highgrounds/Hg4.mesh - - - - - - - - - - - - Models/Highgrounds/Hg7.mesh - - - - - - - - - - - - Models/Highgrounds/Hg17.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg19.mesh - - - - - - - - - - - - Models/Highgrounds/Hg18.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg20.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg6.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg8.mesh - - - - - - - - - - - - Models/Highgrounds/Hg10.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg16.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg9.mesh - - - - - - - - - - - - Models/Highgrounds/Hg3.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg19.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - Models/Highgrounds/Hg10.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - - - - Models/Highgrounds/Highground22.mesh - - - - - - - - - - - - Models/Highgrounds/Hg8.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg19.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg21.mesh - - - - - - - - - - - - Models/Highgrounds/Hg11.mesh - - - - - - - - - - - - Models/Highgrounds/Hg3.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg17.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg8.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - - - Models/Highgrounds/Hg28.mesh - - - - - - - - - - - Models/Highgrounds/Hg10.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg27.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg15.mesh - - - - - - - - - - - - - - Models/Highgrounds/Hg13.mesh - - - - - - - - - - - - - - - Models/Highgrounds/Hg27.mesh - - - - - - - - - - - - Models/Highgrounds/Hg23.mesh - - - - - - - - - - - - - - - Models/Highgrounds/Hg27.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg23.mesh - - - - - - - - - - - - - - - Models/Highgrounds/Hg28.mesh - - - - - - - - - - - - Models/Highgrounds/Hg10.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg27.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg15.mesh - - - - - - - - - - - - - - Models/Highgrounds/Hg13.mesh - - - - - - - - - - - - - - - Models/Highgrounds/Hg1.mesh - - - - - - - - - - - - Models/Highgrounds/Hg2.mesh - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/Bridge1_SciFi_Blue.mesh - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/Bridge1_SciFi_Blue.mesh - - - - - - - - - - - - 1.5 - Models/Props/Bridges/Bridge1_SciFi_Blue.mesh - - - - - - - - - - - - 1.5 - Models/Props/Bridges/SciFi_Bridge_Support_Top_Blue.mesh - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Bot_Blue.mesh - - - - - - - - - - - 12 - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/SciFi_Bridge_Support_Middle_Blue.mesh - - - - - - - - - - - - - - - - - - 1.1499999761581421 - Models/Props/Bridges/SciFi_Bridge_Support_Top_Blue.mesh - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Bot_Blue.mesh - - - - - - - - - - - 12 - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/SciFi_Bridge_Support_Middle_Blue.mesh - - - - - - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/Bridge1_SciFi_Blue.mesh - - - - - - - - - - - - - - 1.1499999761581421 - Models/Props/Bridges/SciFi_Bridge_Support_Top_Blue.mesh - - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Bot_Blue.mesh - - - - - - - - - - - 12 - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/SciFi_Bridge_Support_Middle_Blue.mesh - - - - - - - - - - - - - - - - - - - - - - - Models/Props/Walls/SpecialWall1.mesh - - - - - - - - - - - - - - Models/Props/Walls/SpecialWall1.mesh - - - - - - - - - - - - - - Models/Props/Walls/SpecialWall1.mesh - - - - - - - - - - - - - - Models/Props/Walls/SpecialWall1.mesh - - - - - - - - - - - - - - - - - - - - - Models/Props/Flora/Root.mesh - - - - - - - - - - - - - - Models/Props/Flora/Root.mesh - - - - - - - - - - - - - Models/Props/Flora/Root.mesh - - - - - - - - - - - - - - Models/Props/Flora/Root.mesh - - - - - - - - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - - 1.7999999523162842 - Models/Props/Pillars/SciFiPillar1Blue.mesh - - - - - - - - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 1.7999999523162842 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - - - - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - 2 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - - - - - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 1.6000000238418579 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Walls/Medium_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - - Models/Core/UnitPlane.mesh - - true - - - - - - - - - - - - - - - - - - - Models/Props/Bridge_Holder_Blue.mesh - - - - - - - - - - - - - Models/Props/SciFiHolder1.mesh - - - - - - - - - - - - - Models/Props/Bridge_Holder_Blue.mesh - - - - - - - - - - - - - Models/Props/Bridge_Holder_Blue.mesh - - - - - - - - - - - - - - - - - - - - 2.5 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 1.7999999523162842 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - 2 - - - - - - - - - - - - 2 - 1 - - - - - - - - - - - - 3 - - - - - - - - - - - - - - 2.2999999523162842 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 3 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 15 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 2.2000000476837158 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 2.2999999523162842 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - - - - - - 0.44999998807907104 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.44999998807907104 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.44999998807907104 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.34999999403953552 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.30000001192092896 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/AmmoPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.40000000596046448 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/AmmoPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - 1.2999999523162842 - Models/Props/Pillars/SciFiPillar1Red.mesh - - - - - - - - - - - - - - 2 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar3Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar3Red.mesh - - - - - - - - - - - - - - 2 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar1Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar1Blue.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 2.4000000953674316 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 3 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - 2.4000000953674316 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - true - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - true - false - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - true - - - - - - - - - - - - - - - 3 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - 3 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - 2.4000000953674316 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 2.2999999523162842 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - - Models/Props/Bridge_Holder_Blue.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - 1.7999999523162842 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 1.7999999523162842 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2.2000000476837158 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2.2000000476837158 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 1.7999999523162842 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2.5 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 3 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2.4000000953674316 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2.2000000476837158 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Top_Red.mesh - - - - - - - - - - - - 12 - - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Middle_Red.mesh - - - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Bot_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/Bridge1_SciFi_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/Bridge1_SciFi_Red.mesh - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Top_Red.mesh - - - - - - - - - - - 12 - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/SciFi_Bridge_Support_Middle_Red.mesh - - - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Bot_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/Bridge1_SciFi_Red.mesh - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Top_Red.mesh - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Bot_Red.mesh - - - - - - - - - - - 12 - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/SciFi_Bridge_Support_Middle_Red.mesh - - - - - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/Bridge1_SciFi_Red.mesh - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - - - - - - - - - - - - - - - - Models/Props/Walls/SpecialWall1.mesh - - - - - - - - - - - - - - Models/Props/Walls/SpecialWall1.mesh - - - - - - - - - - - - - - Models/Props/Walls/SpecialWall1.mesh - - - - - - - - - - - - - - Models/Props/Walls/SpecialWall1.mesh - - - - - - - - - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar1Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Core/UnitPlane.mesh - - true - - - - - - - - - - - - - - - - - - - Models/Props/Bridge_Holder_Red.mesh - - - - - - - - - - - - - Models/Props/Bridge_Holder_Red.mesh - - - - - - - - - - - - - Models/Props/Bridge_Holder_Red.mesh - - - - - - - - - - - - - Models/Props/Bridge_Holder_Red.mesh - - - - - - - - - - - - - Models/Props/Bridge_Holder_Red.mesh - - - - - - - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - - - - - - - - 0.30000001192092896 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.44999998807907104 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.40000000596046448 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.44999998807907104 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.40000000596046448 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/AmmoPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.30000001192092896 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.37999999523162842 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.40000000596046448 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/AmmoPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Red.mesh - - - - - - - - - - - - - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - - - - - - - Models/Props/Flora/Root.mesh - - - - - - - - - - - - - - Models/Props/Flora/Root.mesh - - - - - - - - - - - - - - Models/Props/Flora/Root.mesh - - - - - - - - - - - - - - Models/Props/Flora/Root.mesh - - - - - - - - - - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - true - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - true - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - true - false - - - - - - - - - - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - Models/Props/Flora/HangingBush1.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - false - true - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - false - true - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush1.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - - - - - - - - - - - - - - 2.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - 1.7000000476837158 - Models/Props/Pillars/SciFiPillar3Blue.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar3Blue.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar1Blue.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - 2.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - 2.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - true - - - - - - - - - - - - - - - - - - - - - 2.4000000953674316 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - - - - - - - 0.44999998807907104 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.60000002384185791 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/AmmoPickUp.mesh - - - - - 1.5 - 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - false - true - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - false - true - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush1.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush1.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - - - - - - - - - - 1 - - - - Models/Props/CapturePoint/CapturePointCylinder.mesh - - false - true - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointRed.mesh - false - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointNeutral.mesh - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - 1 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - false - true - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointBlue.mesh - false - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - - 2 - - - - Models/Props/CapturePoint/CapturePointCylinder.mesh - - false - true - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointBlue.mesh - false - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointRed.mesh - false - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointNeutral.mesh - - - - - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - 1 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - false - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - false - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - - - - - - - 15 - - - - - - - - - - - Models/Props/CapturePoint/CapturePointCylinder.mesh - - false - true - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointNeutral.mesh - false - - - - - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - false - false - - - - - - - - - - - 1 - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - false - false - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - false - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointBlue.mesh - false - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - true - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointRed.mesh - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - - - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - - - - - - - 3 - - - - Models/Props/CapturePoint/CapturePointCylinder.mesh - - false - true - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointNeutral.mesh - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - 1 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - false - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - false - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointRed.mesh - false - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointBlue.mesh - false - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - - - - - - - - - - - -15 - - - - 4 - - - - - - - - Models/Props/CapturePoint/CapturePointCylinder.mesh - - false - true - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointNeutral.mesh - false - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - 1 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - false - false - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - false - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointBlue.mesh - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointRed.mesh - false - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - - - - - - - - - Schema/Entities/PlayerAssaultRed.xml - Schema/Entities/PlayerDefenderRed.xml - - - - Schema/Entities/PlayerRed.xml - - - - - - - - - - - Models/Characters/Assault/AssaultTPose.mesh - false - - - - - - - - - - - - Models/Characters/Assault/AssaultTPose.mesh - false - - - - - - - - - - - - Models/Characters/Assault/AssaultTPose.mesh - false - - - - - - - - - - - - Models/Characters/Assault/AssaultTPose.mesh - false - - - - - - - - - - - - - - - - - - Schema/Entities/PlayerAssaultBlue.xml - Schema/Entities/PlayerDefenderBlue.xml - - - - Schema/Entities/PlayerAssaultBlue.xml - - - - - - - - - - - Models/Characters/Assault/AssaultTPose.mesh - false - - - - - - - - - - - - Models/Characters/Assault/AssaultTPose.mesh - false - - - - - - - - - - - - Models/Characters/Assault/AssaultTPose.mesh - false - - - - - - - - - - - - Models/Characters/Assault/AssaultTPose.mesh - false - - - - - - - - - - - - - Schema/Entities/ScoreBoard_Main.xml - - - - - - - - - - - - - - - - - - - Schema/Entities/ScoreBoard_Red.xml - - - - - - - - - - - - - - - Models/Core/UnitCube.mesh - - false - - - - - - - - - - - - - - - - - - - - - - - - - - - Kills - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - ID - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - Name - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - KD - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - Deaths - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - - - - - - - 0.80000019073486328 - Models/Props/ScoreBoard/Scoreboard.mesh - false - - - - - - - - - - - 0.70000028610229492 - Models/Props/ScoreBoard/Spectatorboard.mesh - false - - - - - - - - - - - - Schema/Entities/ScoreBoard_Blue.xml - - - - - - - - - - - - - - - Models/Core/UnitCube.mesh - - false - - - - - - - - - - - - - - - - - - - - - - - - - - - ID - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - Name - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - KD - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - Kills - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - Deaths - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/Core/White.png - true - - false - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/Core/White.png - true - - - - - - - - - - - - Blue team win! - Fonts/DroidSans.ttf,64 - false - - - - - - - - - - - - Red team win! - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 - - - - - - - - - - - - 0.72000002861022949 - - - - - - - - - - - 10 - - - - - - - - - - - - - - - - - 5 - 0.69999998807907104 - - - - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - 15 - 1 - - - - - - - - - - - - 5 - 1 - - - - - - - - - - - - - - - - - - - - - - - - 6 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 6 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 10 - 1 - - - - - - - - - - - - 10 - 1 - - - - - - - - - - - - 10 - 1 - - - - - - - - - - - - - - 5 - 0.69999998807907104 - - - - - - - - - - - - 5 - 1 - - - - - - - - - - - - 5 - 1 - - - - - - - - - - - - - - - - - - - 0.55000001192092896 - 1.6000000238418579 - false - - - - - - - - - - - - - 0.55000001192092896 - 1.6000000238418579 - false - - - - - - - - - - - - - 0.55000001192092896 - 1.6000000238418579 - false - - - - - - - - - - - - - - - - - 10 - - - - - - - - - - - - - - - - - 4 - 0.5 - - - - - - - - - - - 2 - 0.5 - - - - - - - - - - - 2 - - - - - - - - - - - - 4 - 0.5 - - - - - - - - - - - - 4 - 0.5 - - - - - - - - - - - 2.5 - - - - - - - - - - - - 4 - 0.5 - - - - - - - - - - - 2 - - - - - - - - - - - - 4 - 0.5 - - - - - - - - - - - 1.3999999761581421 - - - - - - - - - - - - 4 - 0.5 - - - - - - - - - - - - 4 - 0.5 - - - - - - - - - - - - 3 - 0.40000000596046448 - - - - - - - - - - - - 4 - 0.30000001192092896 - - - - - - - - - - - - 4 - 0.5 - - - - - - - - - - - - 3 - 0.5 - - - - - - - - - - - - 4 - 0.34999999403953552 - - - - - - - - - - - - - - 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 6 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 6 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 6 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - 5 - 1 - - - - - - - - - - - - 3 - 0.5 - - - - - - - - - - - - 5 - 1 - - - - - - - - - - - - 6 - 0.69999998807907104 - - - - - - - - - - - - 3 - 0.60000002384185791 - - - - - - - - - - - - 5 - 1 - - - - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 3 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 3 - 1 - 0.5 - - - - - - - - - - - - 2 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - 6 - 0.5 - - - - - - - - - - - - 15 - 1 - - - - - - - - - - - - - - - - - 10 - 1 - - - - - - - - - - - - 10 - 1 - - - - - - - - - - - - 10 - 1 - - - - - - - - - - - - - - 4 - 1 - - - - - - - - - - - - - 10 - - - - - - - - - - - - 1.1000000238418579 - 1.2999999523162842 - - - - - - - - 3 - - - - - - - - - - - - - - diff --git a/resources/Schema/Entities/CP_Valhalla.xml b/resources/Schema/Entities/CP_Valhalla.xml old mode 100644 new mode 100755 index d3836b56..25967eba --- a/resources/Schema/Entities/CP_Valhalla.xml +++ b/resources/Schema/Entities/CP_Valhalla.xml @@ -3,8 +3,8 @@ - 2.1166741735947383 - 15 + 0.39988726972296718 + 0.5 @@ -35,6 +35,32 @@ + + + + + 2.4600000381469727 + Models/Props/Walls/SciFiWallSmall1.mesh + + false + + + + + + + + + + 2.4600000381469727 + Models/Props/Walls/SciFiWallSmall2.mesh + + false + + + + + @@ -76,30 +102,6 @@ - - - - - 2.4600000381469727 - Models/Props/Walls/SciFiWallSmall1.mesh - - - - - - - - - - - 2.4600000381469727 - Models/Props/Walls/SciFiWallSmall2.mesh - - - - - - @@ -135,6 +137,7 @@ 2.4600000381469727 Models/Props/Walls/SciFiWallSmall4.mesh + false @@ -699,6 +702,31 @@ + + + + + Models/Highgrounds/Hg6.mesh + + + + + + + + + + + + + Models/Highgrounds/Hg8.mesh + + + + + + + @@ -787,31 +815,6 @@ - - - - - Models/Highgrounds/Hg6.mesh - - - - - - - - - - - - - Models/Highgrounds/Hg8.mesh - - - - - - - @@ -1640,11 +1643,11 @@ 12 - + - + @@ -1696,11 +1699,11 @@ 12 - + - + @@ -1768,11 +1771,11 @@ 12 - + - + @@ -2498,10 +2501,11 @@ Models/Core/UnitPlane.mesh + false true - + @@ -2845,6 +2849,326 @@ + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + @@ -2873,6 +3197,19 @@ + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + @@ -3037,6 +3374,19 @@ + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + @@ -3199,20 +3549,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -3226,20 +3562,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -3253,20 +3575,6 @@ - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - @@ -3281,20 +3589,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -3309,19 +3603,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - @@ -3335,19 +3616,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - @@ -3361,33 +3629,6 @@ - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -3402,45 +3643,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - @@ -3454,45 +3656,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - @@ -3507,46 +3670,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - @@ -3561,48 +3684,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -3616,44 +3697,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - @@ -3667,45 +3710,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - @@ -3713,19 +3717,6 @@ - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - @@ -3752,6 +3743,19 @@ + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + @@ -3778,6 +3782,61 @@ + + + + 0.44999998807907104 + Models/Props/PickUps/PickUpHolder.mesh + false + + + + + + + + + + + + 2 + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + + 1.5 + 1 + + + + + + + + + + + + + + @@ -3796,11 +3855,11 @@ 2 - + - + @@ -3822,172 +3881,7 @@ - - - - - - - - - - - - - - - 0.44999998807907104 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.44999998807907104 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.44999998807907104 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - + @@ -4016,11 +3910,11 @@ 2 - + - + @@ -4042,7 +3936,117 @@ - + + + + + + + + + + + + + + + 0.44999998807907104 + Models/Props/PickUps/PickUpHolder.mesh + false + + + + + + + + + + + + 2 + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + + 1.5 + 1 + + + + + + + + + + + + + + + + + + 0.44999998807907104 + Models/Props/PickUps/PickUpHolder.mesh + false + + + + + + + + + + + + 2 + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + + 1.5 + 1 + + + + @@ -4071,11 +4075,11 @@ 2 - + - + @@ -4097,7 +4101,7 @@ - + @@ -4120,34 +4124,6 @@ - - - - - 2 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar1Red.mesh - - - - - - - - @@ -4163,6 +4139,21 @@ + + + + + 1.5 + Models/Props/Pillars/SciFiPillar2Red.mesh + + + + + + + + + @@ -4185,26 +4176,13 @@ Models/Props/Pillars/SciFiPillar2Red.mesh - + + - - - - - 2 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - @@ -4219,6 +4197,20 @@ + + + + + 1.5 + Models/Props/Pillars/SciFiPillar1Red.mesh + + + + + + + + @@ -4242,9 +4234,8 @@ Models/Props/Pillars/SciFiPillar2Red.mesh - - - + + @@ -4268,13 +4259,12 @@ - 1.5 + 2 Models/Props/Pillars/SciFiPillar2Red.mesh - - - + + @@ -4287,13 +4277,27 @@ Models/Props/Pillars/SciFiPillar2Red.mesh - - + + + + + + 2 + Models/Props/Pillars/SciFiPillar2Red.mesh + + + + + + + + + @@ -4320,12 +4324,11 @@ - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh + Models/Props/Stones/AssaultHolder.mesh - - + + @@ -4352,136 +4355,8 @@ Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 2.4000000953674316 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - 3 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - 3 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - 2.2999999523162842 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - - - + + @@ -4505,11 +4380,86 @@ - Models/Props/Stones/AssaultHolder.mesh + 1.5 + Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - + + + + + + + + + + + 2.4000000953674316 + Models/Props/Stones/ShinyStoneCrystalBlue.mesh + + + + + + + + + + + + + + 2.2999999523162842 + Models/Props/Stones/ShinyStoneCrystalBlue.mesh + + + + + + + + + + + + + + 3 + Models/Props/Stones/ShinyStoneCrystalBlue.mesh + + + + + + + + + + + + + 2.4000000953674316 + Models/Props/Stones/ShinyStoneCrystalBlue.mesh + + + + + + + + + + + + + + 2 + Models/Props/Stones/ShinyStoneCrystalBlue.mesh + + + + + @@ -4522,8 +4472,36 @@ Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh - - + + + + + + + + + + + 1.5 + Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh + + + + + + + + + + + + + 3 + Models/Props/Stones/ShinyStoneCrystalBlue.mesh + + + + @@ -4546,6 +4524,19 @@ + + + + Models/Props/Flora/HangingBush4.mesh + true + + + + + + + + @@ -4575,21 +4566,22 @@ - - - - Models/Props/Flora/HangingBush4.mesh - true - - - - - - - - + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + @@ -4598,8 +4590,8 @@ Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - + + @@ -4608,13 +4600,25 @@ - 2.4000000953674316 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh + Models/Props/Stones/AssaultHolder.mesh - - - + + + + + + + + + + + 1.5 + Models/Props/Pillars/Bridge_Pillar1_SciFi_Blue.mesh + + + + @@ -4667,7 +4671,7 @@ - + @@ -4676,11 +4680,87 @@ - Models/Props/Walls/SpecialWall1.mesh + 2.4000000953674316 + Models/Props/Stones/ShinyStoneCrystalRed.mesh - - + + + + + + + + + + + + 2.2000000476837158 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 2.2000000476837158 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 1.7999999523162842 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 1.7999999523162842 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 3 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + @@ -4690,12 +4770,13 @@ - Models/Props/Walls/SpecialWall1.mesh + 2.2000000476837158 + Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - + + + @@ -4704,12 +4785,12 @@ - Models/Props/Walls/SpecialWall1.mesh + 2 + Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - + + @@ -4718,63 +4799,109 @@ - Models/Props/Walls/SpecialWall1.mesh + 2 + Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - + + + + + + + + + + + + 1.7999999523162842 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 2 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + 2 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 2 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 2.5 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + - + - + + Models/Core/UnitPlane.mesh + + false + false + true + + + + + + - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - + @@ -4795,21 +4922,6 @@ - - - - Models/Core/UnitPlane.mesh - - true - - - - - - - - - @@ -4823,8 +4935,23 @@ Models/Props/Bridges/Bridge1_SciFi_Red.mesh - - + + + + + + + + + + + + Models/Props/Bridges/SciFi_Bridge_Support_Top_Red.mesh + + + + + @@ -4832,30 +4959,55 @@ - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh + Models/Props/Bridges/SciFi_Bridge_Support_Bot_Red.mesh - - + - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - + + 12 + + + - - + - + + + + + + Models/Props/Bridges/SciFi_Bridge_Support_Middle_Red.mesh + + + + + + + + + + + + + + + 1.5 + Models/Props/Bridges/Bridge1_SciFi_Red.mesh + + + + + + + @@ -4884,6 +5036,48 @@ + + + + + 1.5 + Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh + + + + + + + + + + + + + 1.5 + Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh + + + + + + + + + + + + + 1.5 + Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh + + + + + + + + @@ -4900,11 +5094,11 @@ 12 - + - + @@ -4962,15 +5156,27 @@ + + + + + Models/Props/Bridges/SciFi_Bridge_Support_Bot_Red.mesh + + + + + + + 12 - + - + @@ -4989,36 +5195,10 @@ - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Bot_Red.mesh - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - @@ -5035,74 +5215,6 @@ - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Top_Red.mesh - - - - - - - - - - - - 12 - - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Middle_Red.mesh - - - - - - - - - - - - - - Models/Props/Bridges/SciFi_Bridge_Support_Bot_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Bridges/Bridge1_SciFi_Red.mesh - - - - - - - - - @@ -5116,62 +5228,6 @@ - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - 1.5 - Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh - - - - - - - - - - - - - @@ -5228,244 +5284,71 @@ + + + + + 1.5 + Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh + + + + + + + + + + + + 1.5 + Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh + + + + + + + + + + + 1.5 + Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh + + + + + + + + + + + 1.5 + Models/Props/Pillars/Bridge_Pillar1_SciFi_Red.mesh + + + + + + + + + + + + + - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - 1.7999999523162842 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2.2000000476837158 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 1.7999999523162842 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2.4000000953674316 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - 1.7999999523162842 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2.2000000476837158 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2.5 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 3 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 2.2000000476837158 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - @@ -5514,12 +5397,10 @@ - 1.5 - Models/Props/Pillars/SciFiPillar2Red.mesh + Models/Props/Pillars/StonePillar.mesh - - + @@ -5531,7 +5412,132 @@ Models/Props/Pillars/StonePillar.mesh - + + + + + + + + + + + + 1.5 + Models/Props/Pillars/SciFiPillar2Red.mesh + + + + + + + + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + + + + + + + + Models/Props/Walls/SpecialWall1.mesh + + + + + + + + + + + + + + Models/Props/Walls/SpecialWall1.mesh + + + + + + + + + + + + + + Models/Props/Walls/SpecialWall1.mesh + + + + + + + + + + + + + + Models/Props/Walls/SpecialWall1.mesh + + + + + @@ -5543,19 +5549,6 @@ - - - - - Models/Props/Bridge_Holder_Red.mesh - - - - - - - - @@ -5582,6 +5575,19 @@ + + + + + Models/Props/Bridge_Holder_Red.mesh + + + + + + + + @@ -5615,6 +5621,73 @@ + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + @@ -5628,31 +5701,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - @@ -5660,62 +5708,9 @@ Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - + + + @@ -5733,47 +5728,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -5781,48 +5735,8 @@ Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - + + @@ -5855,34 +5769,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -5903,9 +5789,9 @@ Models/Props/Stones/SmallStone1.mesh - - - + + + @@ -5914,25 +5800,11 @@ - Models/Props/Stones/mediumStone2.mesh + Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - + + @@ -5944,22 +5816,9 @@ Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - + + + @@ -5978,6 +5837,19 @@ + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + @@ -5985,9 +5857,8 @@ Models/Props/Stones/SmallStone2.mesh - - - + + @@ -5996,12 +5867,11 @@ - Models/Props/Stones/SmallStone1.mesh + Models/Props/Stones/SmallStone2.mesh - - - + + @@ -6010,11 +5880,11 @@ - Models/Props/Stones/SmallStone1.mesh + Models/Props/Stones/SmallStone2.mesh - - + + @@ -6023,12 +5893,11 @@ - Models/Props/Stones/SmallStone1.mesh + Models/Props/Stones/BigStone.mesh - - - + + @@ -6054,21 +5923,9 @@ Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - + + + @@ -6080,8 +5937,22 @@ Models/Props/Stones/SmallStone2.mesh - - + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + @@ -6104,11 +5975,11 @@ - Models/Props/Stones/BigStone.mesh + Models/Props/Stones/SmallStone2.mesh - - + + @@ -6117,26 +5988,11 @@ - Models/Props/Stones/SmallStone1.mesh + Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - + + @@ -6162,8 +6018,479 @@ Models/Props/Stones/MediumStone2.mesh - - + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/mediumStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/mediumStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/mediumStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + Models/Props/Stones/mediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/mediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + @@ -6183,46 +6510,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -6264,47 +6551,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - @@ -6319,46 +6565,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - @@ -6372,45 +6578,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - @@ -6424,45 +6591,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - @@ -6476,47 +6604,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -6531,48 +6618,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -6587,45 +6632,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - @@ -6651,11 +6657,11 @@ 2 - + - + @@ -6677,172 +6683,7 @@ - - - - - - - - - - - - - - - 0.40000000596046448 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.40000000596046448 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/AmmoPickUp.mesh - - - - - 1.5 - 1 - - - - - - - - - - - - - - - - - - 0.37999999523162842 - Models/Props/PickUps/PickUpHolder.mesh - false - - - - - - - - - - - - 2 - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - 1.5 - 1 - - - - + @@ -6871,11 +6712,11 @@ 2 - + - + @@ -6897,7 +6738,62 @@ - + + + + + + + + + + + + + + + 0.40000000596046448 + Models/Props/PickUps/PickUpHolder.mesh + false + + + + + + + + + + + + 2 + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + + 1.5 + 1 + + + + @@ -6926,11 +6822,11 @@ 2 - + - + @@ -6952,7 +6848,62 @@ - + + + + + + + + + + + + + + + 0.40000000596046448 + Models/Props/PickUps/PickUpHolder.mesh + false + + + + + + + + + + + + 2 + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/AmmoPickUp.mesh + + + + + 1.5 + 1 + + + + @@ -6981,11 +6932,11 @@ 2 - + - + @@ -7007,7 +6958,62 @@ - + + + + + + + + + + + + + + + 0.37999999523162842 + Models/Props/PickUps/PickUpHolder.mesh + false + + + + + + + + + + + + 2 + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + + 1.5 + 1 + + + + @@ -7036,11 +7042,11 @@ 2 - + - + @@ -7062,7 +7068,7 @@ - + @@ -7087,8 +7093,9 @@ Models/Props/Stones/AssaultHolder.mesh - - + + + @@ -7120,6 +7127,32 @@ + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + @@ -7134,33 +7167,6 @@ - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - @@ -7189,8 +7195,164 @@ Models/Props/Walls/Medium_Wall_SciFi_Red.mesh - - + + + + + + + + + + + 1.5 + Models/Props/Walls/Small_Wall_SciFi_Red.mesh + + + + + + + + + + + + + 2 + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + + + Models/Props/Walls/Small_Wall_SciFi_Red.mesh + + + + + + + + + + + + + 2 + Models/Props/Walls/Small_Wall_SciFi_Red.mesh + + + + + + + + + + + + + + 2 + Models/Props/Walls/Small_Wall_SciFi_Red.mesh + + + + + + + + + + + + + 2 + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + + + + 2 + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + 2 + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + + + + + 2 + Models/Props/Walls/Medium_Wall_SciFi_Red.mesh + + + + + + + + + + + + + 2 + Models/Props/Walls/Small_Wall_SciFi_Red.mesh + + + + + + + + + + + + + + 1.5 + Models/Props/Walls/BigWallBlue.mesh + + + + @@ -7218,9 +7380,36 @@ Models/Props/Walls/BigWallRed.mesh - - - + + + + + + + + + + + 2 + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + + + 2 + Models/Props/Walls/Medium_Wall_SciFi_Red.mesh + + + + @@ -7255,20 +7444,6 @@ - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - @@ -7283,48 +7458,6 @@ - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - @@ -7354,34 +7487,6 @@ - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - @@ -7425,35 +7530,6 @@ - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Red.mesh - - - - - - - - @@ -7482,20 +7558,6 @@ - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Red.mesh - - - - - - - - @@ -7511,19 +7573,6 @@ - - - - - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - @@ -7539,20 +7588,6 @@ - - - - - 1.5 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - @@ -7583,35 +7618,6 @@ - - - - - 1.5 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - @@ -7765,14 +7771,95 @@ - Models/Props/Flora/HangingBush2.mesh + Models/Props/Flora/HangingBush1.mesh + false true - - - + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush4.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush4.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + + false + true + + + + + @@ -7781,13 +7868,76 @@ Models/Props/Flora/HangingBush3.mesh + false true - - - + + + + + + + + + + + Models/Props/Flora/HangingBush4.mesh + false + true + + + + + + + + + + + + Models/Props/Flora/HangingBush3.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush3.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush4.mesh + + false + true + + + + + @@ -7808,6 +7958,68 @@ + + + + Models/Props/Flora/HangingBush4.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush4.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush3.mesh + false + true + + + + + + + + + + + + Models/Props/Flora/HangingBush3.mesh + + false + true + + + + + + + + + @@ -7823,6 +8035,130 @@ + + + + Models/Props/Flora/HangingBush4.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush4.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush4.mesh + + false + true + + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush3.mesh + false + true + + + + + + + + + @@ -7868,38 +8204,6 @@ - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - @@ -7932,53 +8236,6 @@ - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush1.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - @@ -7995,22 +8252,6 @@ - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - @@ -8026,53 +8267,6 @@ - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - @@ -8104,98 +8298,6 @@ - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - false - true - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - false - true - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - @@ -8226,102 +8328,6 @@ - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - @@ -8358,42 +8364,13 @@ Models/Props/Pillars/SciFiPillar2Blue.mesh - + + - - - - - 1.5 - Models/Props/Pillars/SciFiPillar3Blue.mesh - - - - - - - - - - - - - - 2.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - @@ -8413,13 +8390,27 @@ - 1.7000000476837158 + 1.5 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + 1.5 Models/Props/Pillars/SciFiPillar3Blue.mesh - - - + + + @@ -8432,13 +8423,57 @@ Models/Props/Pillars/SciFiPillar2Blue.mesh - - + + + + + + + + + + + + 1.5 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + 2.5 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + + 1.7000000476837158 + Models/Props/Pillars/SciFiPillar3Blue.mesh + + + + + + + + + @@ -8467,35 +8502,6 @@ - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - 1.5 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - @@ -8574,6 +8580,72 @@ + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + @@ -8588,6 +8660,33 @@ + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + @@ -8627,33 +8726,6 @@ - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - @@ -8681,19 +8753,6 @@ - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - @@ -8708,19 +8767,6 @@ - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - @@ -8735,20 +8781,6 @@ - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - @@ -8762,32 +8794,6 @@ - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - @@ -8886,6 +8892,33 @@ + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + @@ -8899,60 +8932,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - @@ -8966,59 +8945,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -9032,73 +8958,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - @@ -9140,47 +8999,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - @@ -9195,6 +9013,19 @@ + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + @@ -9208,6 +9039,46 @@ + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + @@ -9222,6 +9093,141 @@ + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + @@ -9257,6 +9263,93 @@ + + + + + 2 + Models/Props/Walls/Small_Wall_SciFi_Blue.mesh + + + + + + + + + + + + + + 2 + Models/Props/Walls/Small_Wall_SciFi_Red.mesh + + + + + + + + + + + + + + 2 + Models/Props/Walls/Medium_Wall_SciFi_Blue.mesh + + + + + + + + + + + + + 2 + Models/Props/Walls/Small_Wall_SciFi_Red.mesh + + + + + + + + + + + + + + 1.5 + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + + + 2 + Models/Props/Walls/BigWallBlue.mesh + + + + + + + + @@ -9301,93 +9394,6 @@ - - - - - 2 - Models/Props/Walls/Medium_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Blue.mesh - - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - - - - - - 1.5 - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - - - 2 - Models/Props/Walls/Small_Wall_SciFi_Red.mesh - - - - - - - - - @@ -9428,11 +9434,11 @@ 2 - + - + @@ -9454,7 +9460,7 @@ - + @@ -9483,11 +9489,11 @@ 2 - + - + @@ -9509,7 +9515,7 @@ - + @@ -9539,8 +9545,120 @@ true - - + + + + + + + + + + + Models/Props/Flora/HangingBush3.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush4.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush1.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush3.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + + false + true + + + + + @@ -9569,9 +9687,87 @@ true - - - + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush4.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush2.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush3.mesh + + false + true + + + + + + + + + + + + + Models/Props/Flora/HangingBush3.mesh + false + true + + + + @@ -9607,21 +9803,6 @@ - - - - Models/Props/Flora/HangingBush3.mesh - false - true - - - - - - - - - @@ -9638,22 +9819,6 @@ - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - @@ -9670,21 +9835,6 @@ - - - - Models/Props/Flora/HangingBush2.mesh - false - true - - - - - - - - - @@ -9715,38 +9865,6 @@ - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - @@ -9792,38 +9910,6 @@ - - - - Models/Props/Flora/HangingBush4.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush1.mesh - - false - true - - - - - - - - - @@ -9854,22 +9940,6 @@ - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - @@ -9886,22 +9956,6 @@ - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - @@ -9918,22 +9972,6 @@ - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - @@ -9966,38 +10004,6 @@ - - - - Models/Props/Flora/HangingBush2.mesh - - false - true - - - - - - - - - - - - - Models/Props/Flora/HangingBush3.mesh - - false - true - - - - - - - - - @@ -10062,7 +10068,7 @@ false - + @@ -10075,7 +10081,7 @@ false - + @@ -10132,12 +10138,11 @@ - + - Models/Props/CapturePoint/CapturePointBlue.mesh - false + Models/Props/CapturePoint/CapturePointNeutral.mesh @@ -10157,13 +10162,13 @@ 20 - + 3 - - + + @@ -10171,8 +10176,6 @@ Models/Props/CapturePoint/CrystalsLayer2.mesh - - false false @@ -10189,13 +10192,13 @@ 30 - + 3.5 - - + + @@ -10203,8 +10206,6 @@ Models/Props/CapturePoint/CrystalsLayer1.mesh - - false false @@ -10221,13 +10222,13 @@ 10 - + 0.5 - - + + @@ -10235,11 +10236,12 @@ Models/Props/CapturePoint/CenterCrystal.mesh - - false false + true - + + + @@ -10250,31 +10252,15 @@ - + - 4.5 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false @@ -10285,10 +10271,8 @@ - 4.5 0.5 - false @@ -10299,10 +10283,8 @@ - 4.5 0.5 - false @@ -10310,89 +10292,41 @@ + + + + 4.5 + 0.5 + + + + + + + - + - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -10400,8 +10334,7 @@ Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false + true @@ -10413,16 +10346,16 @@ - + 6 - + 0.10000000149011612 - + @@ -10430,8 +10363,65 @@ Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false + + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + true @@ -10464,46 +10454,16 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -10524,46 +10484,16 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -10584,6 +10514,66 @@ + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + @@ -10601,30 +10591,16 @@ 10 - + 0.5 - - + + - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - @@ -10632,10 +10608,38 @@ - + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + @@ -10658,12 +10662,1531 @@ 0.5 false + + + + + + + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + + false + false + + + + + + + + + + + + + 0.5 + + + + 20 + + + 3 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer2.mesh + + false + false + + + + + + + + + + + 0.30000001192092896 + + + + 30 + + + 3.5 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer1.mesh + + false + false + + + + + + + + + + + + + + + + Models/Props/CapturePoint/CapturePointBlue.mesh + false + + + + + + + + + + + + + + + 0.5 + + + + 20 + + + 3 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer2.mesh + + false + false + + + + + + + + + + + 0.10000000149011612 + + + + 10 + + + 0.5 + + + + + + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + + false + false + + + + + + + + + 1 + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + + + + 0.30000001192092896 + + + + 30 + + + 3.5 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer1.mesh + + false + false + + + + + + + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + + + + + + + 15 + + + + + + + + + + + Models/Props/CapturePoint/CapturePointCylinder.mesh + + false + true + + + + + + + + + + + + + Models/Props/CapturePoint/CapturePointNeutral.mesh + false + + + + + + + + + + + + + + + 0.5 + + + + 20 + + + 3 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer2.mesh + false + false + + + + + + + + + + + 0.30000001192092896 + + + + 30 + + + 3.5 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer1.mesh + false + false + + + + + + + + + + + 0.10000000149011612 + + + + 10 + + + 0.5 + + + + + + + + + + + 1 + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + false + false + + + + + + + + + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + + + + + + Models/Props/CapturePoint/CapturePointRed.mesh + + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + true + + + + + + + + + + + + + + + + + + + + + + + 0.5 + + + + 20 + + + 3 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer2.mesh + + false + + + + + + + + + + + 0.10000000149011612 + + + + 10 + + + 0.5 + + + + + + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + + false + + + + + + + + + + + 1 + + + + + + + + + + + + 4.5 + 0.5 + + + + + + + + + + + + 4.5 + 0.5 + + + + + + + + + + + + 4.5 + 0.5 + + + + + + + + + + + + 4.5 + 0.5 + + + + + + + + + + + + + + + 0.30000001192092896 + + + + 30 + + + 3.5 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer1.mesh + + false + + + + + + + + + + + + + + + + Models/Props/CapturePoint/CapturePointBlue.mesh + false + + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + + + + + + + + + + 0.30000001192092896 + + + + 30 + + + 3.5 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer1.mesh + + false + false + + + + + + + + + + + 0.5 + + + + 20 + + + 3 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer2.mesh + + false + false + true + + + + + + + + + + + 0.10000000149011612 + + + + 10 + + + 0.5 + + + + + + + + + + + 1 + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + + false + false + + + + + + + + + + + + + + + + + 2 + + + + Models/Props/CapturePoint/CapturePointCylinder.mesh + + false + true + + + + + + + + + + + + + Models/Props/CapturePoint/CapturePointRed.mesh + false + + + + + + + + + + + + + + + 0.30000001192092896 + + + + 30 + + + 3.5 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer1.mesh + + false + false + + + + + + + + + + + 0.5 + + + + 20 + + + 3 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer2.mesh + + false + false + + + + + + + + + + + 0.10000000149011612 + + + + 10 + + + 0.5 + + + + + + + + + + + 1 + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + @@ -10687,13 +12210,209 @@ false - + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + + false + false + + + + + + + + + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + + + + + + Models/Props/CapturePoint/CapturePointBlue.mesh + false + + + + + + + + + + + + + + + 0.30000001192092896 + + + + 30 + + + 3.5 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer1.mesh + + false + false + + + + + @@ -10704,13 +12423,13 @@ 20 - + 3 - - + + @@ -10718,7 +12437,7 @@ Models/Props/CapturePoint/CrystalsLayer2.mesh - + false false @@ -10728,33 +12447,231 @@ - + - 0.30000001192092896 - + 0.10000000149011612 + - 30 - + 10 + - 3.5 + 0.5 - - + + + + + + + + + 1 + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + + false + false + + + + + + + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + - Models/Props/CapturePoint/CrystalsLayer1.mesh - + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + false - false + true - + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + @@ -10788,13 +12705,13 @@ 20 - + 3 - - + + @@ -10818,16 +12735,28 @@ 10 - + 0.5 - - + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + false + + + + + + + @@ -10835,7 +12764,7 @@ - + @@ -10846,7 +12775,7 @@ 0.5 - + @@ -10870,7 +12799,7 @@ 0.5 - + @@ -10882,26 +12811,13 @@ 0.5 - + - - - - Models/Props/CapturePoint/CenterCrystal.mesh - false - true - - - - - - - @@ -10912,13 +12828,13 @@ 30 - + 3.5 - - + + @@ -10943,16 +12859,45 @@ - + 6 - + 0.10000000149011612 - + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + @@ -10976,12 +12921,12 @@ 6 - + 0.10000000149011612 - + @@ -11005,12 +12950,12 @@ 6 - + 0.10000000149011612 - + @@ -11030,35 +12975,6 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - @@ -11102,6 +13018,135 @@ + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + @@ -11109,28 +13154,28 @@ - + - 0.5 + 0.30000001192092896 - 20 - + 30 + - 3 + 3.5 - - + + - Models/Props/CapturePoint/CrystalsLayer2.mesh + Models/Props/CapturePoint/CrystalsLayer1.mesh false false @@ -11140,28 +13185,28 @@ - + - 0.30000001192092896 + 0.5 - 30 - + 20 + - 3.5 + 3 - - + + - Models/Props/CapturePoint/CrystalsLayer1.mesh + Models/Props/CapturePoint/CrystalsLayer2.mesh false false @@ -11179,16 +13224,29 @@ 10 - + 0.5 - - + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + false + false + + + + + + + @@ -11196,7 +13254,7 @@ - + @@ -11250,40 +13308,39 @@ - - - - Models/Props/CapturePoint/CenterCrystal.mesh - false - false - - - - - - - - + + + + + + + Models/Props/CapturePoint/CapturePointRed.mesh + false + + + + + - + 6 - + 0.10000000149011612 - + @@ -11291,7 +13348,37 @@ Models/Props/CapturePoint/DoubleSidedCylinder.mesh - + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + false true @@ -11308,12 +13395,12 @@ 6 - + 0.10000000149011612 - + @@ -11321,7 +13408,7 @@ Models/Props/CapturePoint/DoubleSidedCylinder.mesh - + false true @@ -11334,46 +13421,16 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -11381,7 +13438,7 @@ Models/Props/CapturePoint/DoubleSidedCylinder.mesh - + false true @@ -11396,6 +13453,178 @@ + + + + + + + + + + + 0.30000001192092896 + + + + 30 + + + 3.5 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer1.mesh + + false + false + + + + + + + + + + + 0.10000000149011612 + + + + 10 + + + 0.5 + + + + + + + + + + + 1 + + + + + + + + + + + + 4.5 + 0.5 + + + + + + + + + + + + 4.5 + 0.5 + + + + + + + + + + + + 4.5 + 0.5 + + + + + + + + + + + + 4.5 + 0.5 + + + + + + + + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + + false + false + + + + + + + + + + + + + 0.5 + + + + 20 + + + 3 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer2.mesh + + false + false + + + + + + + + + @@ -11414,74 +13643,16 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -11505,12 +13676,12 @@ 6 - + 0.10000000149011612 - + @@ -11530,204 +13701,16 @@ - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointRed.mesh - false - - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -11735,8 +13718,7 @@ Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false + true @@ -11748,76 +13730,16 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -11825,8 +13747,7 @@ Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false + true @@ -11847,38 +13768,6 @@ - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - @@ -11887,13 +13776,13 @@ 20 - + 3 - - + + @@ -11901,8 +13790,7 @@ Models/Props/CapturePoint/CrystalsLayer2.mesh - - false + false @@ -11919,13 +13807,13 @@ 10 - + 0.5 - - + + @@ -11933,13 +13821,10 @@ Models/Props/CapturePoint/CenterCrystal.mesh - - false + false - - - + @@ -11950,27 +13835,14 @@ - + - - 4.5 - 0.5 - - - - - - - - - - - + 4.5 0.5 @@ -11983,7 +13855,20 @@ - + + 4.5 + 0.5 + + + + + + + + + + + 4.5 0.5 @@ -11996,7 +13881,7 @@ - + 4.5 0.5 @@ -12010,6 +13895,37 @@ + + + + 0.30000001192092896 + + + + 30 + + + 3.5 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer1.mesh + + false + + + + + + + @@ -12052,46 +13968,16 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -12112,46 +13998,16 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -12172,6 +14028,66 @@ + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + @@ -12181,38 +14097,6 @@ - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - @@ -12221,13 +14105,13 @@ 30 - + 3.5 - - + + @@ -12253,16 +14137,30 @@ 10 - + 0.5 - - + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + + false + false + + + + + + + @@ -12270,7 +14168,7 @@ - + @@ -12283,7 +14181,7 @@ false - + @@ -12297,7 +14195,7 @@ false - + @@ -12332,16 +14230,349 @@ + + + + + + 0.5 + + + + 20 + + + 3 + + + + + + + - Models/Props/CapturePoint/CenterCrystal.mesh + Models/Props/CapturePoint/CrystalsLayer2.mesh false false + + + + + + + + + + + + + + + Models/Props/CapturePoint/CapturePointBlue.mesh + false + + + + + + + + + + + + + + + 0.10000000149011612 + + + + 10 + + + 0.5 + + + + + + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + + false + false + + + + + + + + + 1 + + - + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + 4.5 + 0.5 + false + + + + + + + + + + + + + + + 0.30000001192092896 + + + + 30 + + + 3.5 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer1.mesh + + false + false + + + + + + + + + + + 0.5 + + + + 20 + + + 3 + + + + + + + + + + + Models/Props/CapturePoint/CrystalsLayer2.mesh + + false + false + + + + + + + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + + + + + + + + + + + 6 + + + 0.10000000149011612 + + + + + + + + + + Models/Props/CapturePoint/DoubleSidedCylinder.mesh + + false + true + + + + @@ -12376,13 +14607,13 @@ 30 - + 3.5 - - + + @@ -12406,16 +14637,28 @@ 10 - + 0.5 - - + + + + + + Models/Props/CapturePoint/CenterCrystal.mesh + false + + + + + + + @@ -12423,10 +14666,22 @@ - + + + + + 4.5 + 0.5 + + + + + + + @@ -12451,18 +14706,6 @@ - - - - 4.5 - 0.5 - - - - - - - @@ -12477,18 +14720,6 @@ - - - - Models/Props/CapturePoint/CenterCrystal.mesh - false - - - - - - - @@ -12499,13 +14730,13 @@ 20 - + 3 - - + + @@ -12534,12 +14765,12 @@ 6 - + 0.10000000149011612 - + @@ -12559,45 +14790,16 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -12617,1062 +14819,16 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointBlue.mesh - false - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - - - - - - - - - - 6 - + 0.10000000149011612 - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - - 2 - - - - Models/Props/CapturePoint/CapturePointCylinder.mesh - - false - true - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointBlue.mesh - false - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointRed.mesh - false - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointNeutral.mesh - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - + @@ -13692,45 +14848,16 @@ - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - 6 - + 0.10000000149011612 - + @@ -13752,1127 +14879,6 @@ - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - false - - - - - - - - - - - 1 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - false - - - - - - - - - - - - - - - - - 15 - - - - - - - - - - - Models/Props/CapturePoint/CapturePointCylinder.mesh - - false - true - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointBlue.mesh - false - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - false - true - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - false - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointNeutral.mesh - false - - - - - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - false - false - - - - - - - - - - - 1 - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - 4.5 - 0.5 - false - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - false - false - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - false - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - false - true - - - - - - - - - - - - - - - - - - - Models/Props/CapturePoint/CapturePointRed.mesh - - - - - - - - - - - - - - - 0.5 - - - - 20 - - - 3 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer2.mesh - - false - - - - - - - - - - - 0.10000000149011612 - - - - 10 - - - 0.5 - - - - - - - - - - - Models/Props/CapturePoint/CenterCrystal.mesh - - false - - - - - - - - - - - 1 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - 4.5 - 0.5 - - - - - - - - - - - - - - - 0.30000001192092896 - - - - 30 - - - 3.5 - - - - - - - - - - - Models/Props/CapturePoint/CrystalsLayer1.mesh - - false - - - - - - - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - - - 6 - - - 0.10000000149011612 - - - - - - - - - - Models/Props/CapturePoint/DoubleSidedCylinder.mesh - - true - - - - - - - - - - - - @@ -14907,7 +14913,7 @@ false - + @@ -14933,7 +14939,7 @@ false - + @@ -14946,7 +14952,7 @@ false - + @@ -14972,19 +14978,6 @@ - - - - 0.80000019073486328 - Models/Props/ScoreBoard/Scoreboard.mesh - false - - - - - - - @@ -15029,17 +15022,17 @@ - + - KD + Name Fonts/DroidSans.ttf,64 - + @@ -15061,17 +15054,17 @@ - + - Name + Kills Fonts/DroidSans.ttf,64 - + @@ -15093,17 +15086,17 @@ - + - Kills + KD Fonts/DroidSans.ttf,64 - + @@ -15115,16 +15108,15 @@ - + - 0.70000028610229492 - Models/Props/ScoreBoard/Spectatorboard.mesh + 0.80000019073486328 + Models/Props/ScoreBoard/Scoreboard.mesh false - - + @@ -15159,6 +15151,54 @@ + + + + KD + Fonts/DroidSans.ttf,64 + + + + + + + + + + + + + + + Name + Fonts/DroidSans.ttf,64 + + + + + + + + + + + + + + + ID + Fonts/DroidSans.ttf,64 + + + + + + + + + + + @@ -15191,54 +15231,6 @@ - - - - ID - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - Name - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - KD - Fonts/DroidSans.ttf,64 - - - - - - - - - - - @@ -15259,6 +15251,20 @@ + + + + 0.70000028610229492 + Models/Props/ScoreBoard/Spectatorboard.mesh + false + + + + + + + + @@ -15372,1049 +15378,17 @@ - + - + + + 10 + + + + - - - - - - 5 - 1 - - - - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 6 - 2 - 0.5 - - - - - - - - - - - - - - - - 5 - 0.69999998807907104 - - - - - - - - - - - - 5 - 1 - - - - - - - - - - - - 5 - 0.69999998807907104 - - - - - - - - - - - - 15 - 1 - - - - - - - - - - - - 5 - 1 - - - - - - - - - - - - - - - - - 10 - 1 - - - - - - - - - - - - 10 - 1 - - - - - - - - - - - - 10 - 1 - - - - - - - - - - - - - - - - - - - - - 0.55000001192092896 - 1.6000000238418579 - false - - - - - - - - - - - - - 0.55000001192092896 - 1.6000000238418579 - false - - - - - - - - - - - - - 0.55000001192092896 - 1.6000000238418579 - false - - - - - - - - - - - + @@ -16428,52 +15402,6 @@ - - - - 8 - - - - - - - - - - - - 1.1000000238418579 - 1.2999999523162842 - - - - - - - - 3 - - - - - - - - - - - - - - 0.72000002861022949 - - - - - - - @@ -16483,10 +15411,9 @@ 2 - 0.5 - + @@ -16499,7 +15426,67 @@ 0.5 - + + + + + + + + + 1.3999999761581421 + + + + + + + + + + + 2 + + + + + + + + + + + + 4 + 0.5 + + + + + + + + + + + + 4 + 0.5 + + + + + + + + + + + 2 + 0.5 + + + @@ -16517,6 +15504,19 @@ + + + + + 4 + 0.5 + + + + + + + @@ -16530,6 +15530,32 @@ + + + + + 4 + 0.5 + + + + + + + + + + + + 4 + 0.5 + + + + + + + @@ -16543,30 +15569,6 @@ - - - - - 4 - 0.5 - - - - - - - - - - - 2 - - - - - - - @@ -16580,30 +15582,6 @@ - - - - - 4 - 0.5 - - - - - - - - - - - 2 - - - - - - - @@ -16615,56 +15593,6 @@ - - - - - 4 - 0.5 - - - - - - - - - - - 1.3999999761581421 - - - - - - - - - - - - 4 - 0.5 - - - - - - - - - - - - 4 - 0.5 - - - - - - - @@ -16707,11 +15635,10 @@ - 10 - + @@ -16721,113 +15648,11 @@ - - - - - 15 - 1 - - - - - - - - - - - - 6 - 0.69999998807907104 - - - - - - - - - - - - 5 - 1 - - - - - - - - - - - - 3 - 0.60000002384185791 - - - - - - - - - - - - 6 - 0.5 - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - @@ -16868,7 +15693,7 @@ - + @@ -16876,86 +15701,12 @@ - 5 + 2 1 0.5 - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - + @@ -16969,118 +15720,7 @@ 0.5 - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 2 - 0.5 - - - + @@ -17127,7 +15767,7 @@ - + @@ -17198,154 +15838,6 @@ - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 3 - 1 - 0.5 - - - - - - - - - - - - 2 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 2 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - @@ -17383,18 +15875,711 @@ + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 3 + 1 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + 10 + 1 + + + + + + + + + + + + 10 + 1 + + + + + + + + + + + + 10 + 1 + + + + + + + + + + + + + + 5 + 1 + + + + + + + + + + + + 6 + 0.69999998807907104 + + + + + + + + + + + + 15 + 1 + + + + + + + + + + + + 5 + 1 + + + + + + + + + + + + 3 + 0.60000002384185791 + + + + + + + + + + + + 6 + 0.5 + + + + + + + + + + + + 3 + 0.5 + + + + + + + + + + + + 5 + 1 + + + + + + + + + + + + 4 + 1 + + + + + + + + + + + + + + + + + + + + + + + + 6 + 1 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + + + + + + + + 6 + 1 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 6 + 1 + 0.5 + + + + + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + @@ -17423,20 +16608,6 @@ - - - - - 5 - 1 - 0.5 - - - - - - - @@ -17493,34 +16664,6 @@ - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - @@ -17537,121 +16680,696 @@ - + + + + + + + + + + + + + + 5 + 0.69999998807907104 + + + + + + + + + + + + + - + + + - + + + + 5 + 2 + 0.5 + - + - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 6 - 1 - 0.5 - - - - - - - - + - + + + + 5 + 2 + 0.5 + - + - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - - - - - - - - 5 - 1 - 0.5 - - - - - - - - - - - - 6 - 1 - 0.5 - - - - - - - - - - - - - - 6 - 1 - 0.5 - - - - - - - - + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + @@ -17660,12 +17378,12 @@ - + 5 1 - + @@ -17673,25 +17391,12 @@ - - 3 - 0.5 - - - - - - - - - - - - 5 + + 15 1 - + @@ -17704,12 +17409,12 @@ - + 10 1 - + @@ -17717,12 +17422,12 @@ - + 10 1 - + @@ -17730,27 +17435,293 @@ - + 10 1 - + + + + + + + + + + + + + 0.55000001192092896 + 1.6000000238418579 + false + + + + + + + + + + + + + 0.55000001192092896 + 1.6000000238418579 + false + + + + + + + + + + + + + 0.55000001192092896 + 1.6000000238418579 + false + + + + + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 5 + 1 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 6 + 2 + 0.5 + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + + + + + + + + + + 5 + 2 + 0.5 + + + + + + + + + + + + 6 + 2 + 0.5 + + + + + + + + + + + - - 4 + + 5 1 - + + + + + + + + + + 5 + 0.69999998807907104 + + + + + + + + + + + + 5 + 1 + + + @@ -17760,14 +17731,49 @@ - 10 + 8 - + + + + + + 0.66000008583068848 + + + + + + + + + + + + 1.2299997806549072 + 1.5699996948242188 + + + + + + + + 3 + + + + + + + + + @@ -17778,7 +17784,7 @@ - + @@ -17814,158 +17820,6 @@ - - - - - Models/Core/UnitQuad.mesh - - Textures/Core/White.png - - - - PickClass - 1 - - - - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - - - Blend - - - - - 1.6000000238418579 - Models/Characters/Assault/AssaultBluePose.mesh - false - - - - - - - - - - - - AssaultPoseF - - true - - - - - - - - - R_Arm_Weapon_Joint - - - Models/Weapons/Blue/AssaultWeaponBlue.mesh - - - - - - - - - - - - Models/Core/UnitSphere.mesh - false - - - 0.30000001192092896 - - - - - - - - - - @@ -18021,6 +17875,158 @@ + + + + Blend + + + + + 1.6000000238418579 + Models/Characters/Assault/AssaultBluePose.mesh + false + + + + + + + + + + + + Models/Core/UnitSphere.mesh + false + + + 0.30000001192092896 + + + + + + + + + + + + AssaultPoseF + + true + + + + + + + + + R_Arm_Weapon_Joint + + + Models/Weapons/Blue/AssaultWeaponBlue.mesh + + + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/Core/White.png + + + + PickClass + 1 + + + + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + @@ -18036,6 +18042,20 @@ + + + + \1 + Fonts/Hind-Edited.otf,64 + + + + + + + + + @@ -18053,20 +18073,6 @@ - - - - \1 - Fonts/Hind-Edited.otf,64 - - - - - - - - - @@ -18076,23 +18082,6 @@ - - - - \4 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - @@ -18110,6 +18099,23 @@ + + + + \4 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + @@ -18117,6 +18123,46 @@ + + + + + + + + + + + x2 Jump + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/Icons/Shoe-01.png + + + + + + + + + + @@ -18158,46 +18204,6 @@ - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/Icons/Shoe-01.png - - - - - - - - - - - - x2 Jump - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - @@ -18213,158 +18219,6 @@ - - - - - Models/Core/UnitQuad.mesh - - Textures/Core/White.png - - - - PickClass - 2 - - - - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - - - Blend - - - - - 1.6000000238418579 - Models/Characters/Defender/DefenderBluePose.mesh - false - - - - - - - - - - - - DefenderPoseF - - true - - - - - - - - - R_Arm_Weapon_Joint - - - Models/Weapons/Blue/DefenderWeaponBlue.mesh - - - - - - - - - - - - Models/Core/UnitSphere.mesh - false - - - 0.30000001192092896 - - - - - - - - - - @@ -18372,19 +18226,6 @@ - - - - \2 - Fonts/Hind-Edited.otf,64 - - - - - - - - @@ -18418,6 +18259,171 @@ + + + + \2 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/Core/White.png + + + + PickClass + 2 + + + + + + + + + + + Blend + + + + + 1.6000000238418579 + Models/Characters/Defender/DefenderBluePose.mesh + false + + + + + + + + + + + + R_Arm_Weapon_Joint + + + Models/Weapons/Blue/DefenderWeaponBlue.mesh + + + + + + + + + + + + DefenderPoseF + + true + + + + + + + + + Models/Core/UnitSphere.mesh + false + + + 0.30000001192092896 + + + + + + + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + @@ -18428,89 +18434,6 @@ - - - - - - - - - - - Team Shield Boost - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - - - \2 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - - - - - - - - - \5 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - - - \7 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - @@ -18559,6 +18482,89 @@ + + + + + + + + + + + \2 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + Team Shield Boost + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + + + + + + + + + + + + \7 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + + + \5 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + @@ -18574,95 +18580,6 @@ - - - - - Models/Core/UnitQuad.mesh - - Textures/Core/White.png - - - - PickClass - 3 - - - - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - @@ -18686,7 +18603,7 @@ SniperPoseF - + true @@ -18702,8 +18619,8 @@ Models/Weapons/Blue/SecondaryWeaponBlue.mesh - - + + @@ -18733,6 +18650,23 @@ + + + + 100 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + @@ -18762,23 +18696,6 @@ - - - - 100 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - @@ -18789,6 +18706,54 @@ + + + + + + + + + + + + + + + + Sprint + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/Icons/Abilities/Square/Dash-01.png + + + + + + + + + + + + + @@ -18872,53 +18837,94 @@ - + + + + + + + Models/Core/UnitQuad.mesh + + Textures/Core/White.png + + + + PickClass + 3 + + + + + + + + + + + + + - + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + - - - - - - - - - - - - Sprint - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/Icons/Abilities/Square/Dash-01.png - - - - - - - - - - - - + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + @@ -18968,6 +18974,23 @@ + + + + Blue + Fonts/DroidSans.ttf,64 + false + + + + + + + + + + + @@ -19042,23 +19065,6 @@ - - - - Blue - Fonts/DroidSans.ttf,64 - false - - - - - - - - - - - @@ -19121,6 +19127,22 @@ + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + true + + + + + + + + @@ -19138,7 +19160,7 @@ - + Models/Core/UnitQuad.mesh @@ -19148,7 +19170,8 @@ true - + + @@ -19171,23 +19194,6 @@ - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - true - - - - - - - - - @@ -19224,6 +19230,23 @@ + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + true + + + + + + + + + @@ -19257,23 +19280,6 @@ - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - true - - - - - - - - - @@ -19347,7 +19353,7 @@ - 13 + 1 Fonts/DroidSans.ttf,64 @@ -19376,7 +19382,7 @@ - + @@ -19386,46 +19392,7 @@ - 3 - - - false - Models/Core/UnitQuad.mesh - - Textures/Core/UnitHexagon_Rotated.png - - - - - - - - - - - - - - - false - Models/Core/UnitQuad.mesh - - Textures/Core/UnitHexagon.png - - - - - - - - - - - 1 - - - - 4 + 2 false @@ -19453,7 +19420,7 @@ - + @@ -19463,7 +19430,7 @@ - 2 + 3 false @@ -19556,177 +19523,39 @@ - - - - - - - - - - + + + false + Models/Core/UnitQuad.mesh + + Textures/Core/UnitHexagon.png + + - + - + - + + 1 + + + + 4 + false Models/Core/UnitQuad.mesh - Textures/Core/White.png - true - + Textures/Core/UnitHexagon_Rotated.png - - SwapToTeamPick - 1 - - - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - - Change Team - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - - - - - - - - - - - false - Models/Core/UnitQuad.mesh - - Textures/Core/White.png - true - - - - SwapToClassPick - 1 - - - - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - - Change Class - Fonts/DroidSans.ttf,64 - - - - - - - + + + @@ -19744,6 +19573,21 @@ + + + + + Fonts/Hind-Edited.otf,64 + + + + + + + + + + @@ -19772,20 +19616,182 @@ - + + + + + + + + + + - - - Fonts/Hind-Edited.otf,64 - - - - - + - + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + + + Change Class + Fonts/DroidSans.ttf,64 + + + + + + + + + + + + + + + + false + Models/Core/UnitQuad.mesh + + Textures/Core/White.png + true + + + + SwapToClassPick + 1 + + + + + + + + + + + + + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + + + Change Team + Fonts/DroidSans.ttf,64 + + + + + + + + + + + + + + + + false + Models/Core/UnitQuad.mesh + + Textures/Core/White.png + true + + + + SwapToTeamPick + 1 + + + + + + + + @@ -19817,158 +19823,6 @@ - - - - - Models/Core/UnitQuad.mesh - - Textures/Core/White.png - - - - PickClass - 1 - - - - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - - - Blend - - - - - 1.6000000238418579 - Models/Characters/Assault/AssaultRedPose.mesh - false - - - - - - - - - - - - AssaultPoseF - - true - - - - - - - - - R_Arm_Weapon_Joint - - - Models/Weapons/Red/AssaultWeaponRed.mesh - - - - - - - - - - - - Models/Core/UnitSphere.mesh - false - - - 0.30000001192092896 - - - - - - - - - - @@ -20024,6 +19878,158 @@ + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + + Blend + + + + + 1.6000000238418579 + Models/Characters/Assault/AssaultRedPose.mesh + false + + + + + + + + + + + + AssaultPoseF + + true + + + + + + + + + Models/Core/UnitSphere.mesh + false + + + 0.30000001192092896 + + + + + + + + + + + + R_Arm_Weapon_Joint + + + Models/Weapons/Red/AssaultWeaponRed.mesh + + + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/Core/White.png + + + + PickClass + 1 + + + + + + + @@ -20216,6 +20222,69 @@ + + + + Blend + + + + + 1.6000000238418579 + Models/Characters/Defender/DefenderRedPose.mesh + false + + + + + + + + + + + + R_Arm_Weapon_Joint + + + Models/Weapons/Red/DefenderWeaponRed.mesh + + + + + + + + + + + + Models/Core/UnitSphere.mesh + false + + + 0.30000001192092896 + + + + + + + + + + + + DefenderPoseF + + true + + + + + + + @@ -20256,21 +20325,6 @@ - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - @@ -20303,65 +20357,17 @@ - - - - - - Blend - - - - - 1.6000000238418579 - Models/Characters/Defender/DefenderRedPose.mesh - false - - - - - - - - - + - - DefenderPoseF - - true - - - - - - - - - R_Arm_Weapon_Joint - - - Models/Weapons/Red/DefenderWeaponRed.mesh - + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + - - - - - - - - - - Models/Core/UnitSphere.mesh - false - - - 0.30000001192092896 - - - - + + @@ -20375,6 +20381,23 @@ + + + + 150 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + @@ -20404,23 +20427,6 @@ - - - - 150 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - @@ -20431,89 +20437,6 @@ - - - - - - - - - - - Team Shield Boost - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - - - \2 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - - - - - - - - - \5 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - - - \7 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - @@ -20562,6 +20485,89 @@ + + + + + + + + + + + \7 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + + + \5 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + + + + + + + + + + + + Team Shield Boost + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + + + \2 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + @@ -20577,6 +20583,124 @@ + + + + Blend + + + + + 1.6000000238418579 + Models/Characters/Sniper/SniperRedPose.mesh + false + + + + + + + + + + + + R_Arm_Weapon_Joint + + + Models/Weapons/Red/SecondaryWeaponRed.mesh + + + + + + + + + + + + SniperPoseF + + true + + + + + + + + + Models/Core/UnitSphere.mesh + false + + + 0.30000001192092896 + + + + + + + + + + + + + + + + + + + + + Sniper + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + + 100 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + + + + + + + \3 + Fonts/Hind-Edited.otf,64 + + + + + + + + + + @@ -20601,6 +20725,21 @@ + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + @@ -20633,21 +20772,6 @@ - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - @@ -20666,124 +20790,6 @@ - - - - Blend - - - - - 1.6000000238418579 - Models/Characters/Sniper/SniperRedPose.mesh - false - - - - - - - - - - - - SniperPoseF - - true - - - - - - - - - R_Arm_Weapon_Joint - - - Models/Weapons/Red/SecondaryWeaponRed.mesh - - - - - - - - - - - - Models/Core/UnitSphere.mesh - false - - - 0.30000001192092896 - - - - - - - - - - - - - - - - - - - - - \3 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - Sniper - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - - 100 - Fonts/Hind-Edited.otf,64 - - - - - - - - - - - - - - From 5679a88ddbb16dc30f3c90b9b0ff7cddd47a2852 Mon Sep 17 00:00:00 2001 From: Tleety Date: Mon, 14 Mar 2016 04:25:20 +0100 Subject: [PATCH 9/9] Quit working --- include/Game/Systems/MainMenuSystem.h | 1 + resources/Schema/Entities/StartMenu.xml | 5552 ++++++++++++----------- src/Game/Systems/MainMenuSystem.cpp | 2 + 3 files changed, 2781 insertions(+), 2774 deletions(-) diff --git a/include/Game/Systems/MainMenuSystem.h b/include/Game/Systems/MainMenuSystem.h index 2e85df97..96b6ee28 100644 --- a/include/Game/Systems/MainMenuSystem.h +++ b/include/Game/Systems/MainMenuSystem.h @@ -13,6 +13,7 @@ #include "Input/EInputCommand.h" #include "Network/ESearchForServers.h" #include "Network/EConnectRequest.h" +#include class MainMenuSystem : public ImpureSystem diff --git a/resources/Schema/Entities/StartMenu.xml b/resources/Schema/Entities/StartMenu.xml index 2bcd7118..28164744 100644 --- a/resources/Schema/Entities/StartMenu.xml +++ b/resources/Schema/Entities/StartMenu.xml @@ -22,7 +22,7 @@ - 5.9332086658013736 + 3.7499942402064335 @@ -54,8 +54,7 @@ - Models/Props/Walls/SciFiWallBig.mesh - true + Models/Props/Walls/SciFiWallMedium.mesh @@ -65,7 +64,8 @@ - Models/Props/Walls/SciFiWallMedium.mesh + Models/Props/Walls/SciFiWallBig.mesh + true @@ -697,6 +697,18 @@ + + + + + Models/Highgrounds/Hg4.mesh + + + + + + + @@ -758,18 +770,6 @@ - - - - - Models/Highgrounds/Hg4.mesh - - - - - - - @@ -2183,6 +2183,68 @@ + + + + + + + + + + Models/Props/Flora/SpecialRoot.mesh + + + + + + + + + + + + + + Models/Props/Flora/SpecialRoot.mesh + + + + + + + + + + + + + + Models/Props/Flora/SpecialRoot.mesh + + + + + + + + + + + + + Models/Props/Flora/SpecialRoot.mesh + + + + + + + + + + + @@ -2523,6 +2585,47 @@ + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + @@ -3288,19 +3391,6 @@ - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - @@ -3341,20 +3431,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -3369,20 +3445,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -3396,8 +3458,8 @@ Models/Props/PickUps/PickUpHolder.mesh - - + + @@ -3405,49 +3467,7 @@ - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - - - - - - - - - - - - - - Models/Props/PickUps/PickUpHolder.mesh - - - - - - - - - - - - + @@ -3462,8 +3482,8 @@ Models/Props/PickUps/AmmoPickUp.mesh - - + + @@ -3505,7 +3525,133 @@ - + + + + + + + + + + + + + + + Models/Props/PickUps/PickUpHolder.mesh + + + + + + + + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + + + + + + + + + + + + + + + Models/Props/PickUps/PickUpHolder.mesh + + + + + + + + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + + + + + + + + + + + + + + + Models/Props/PickUps/PickUpHolder.mesh + + + + + + + + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/AmmoPickUp.mesh + + + + @@ -3547,49 +3693,7 @@ - - - - - - - - - - - - - - - Models/Props/PickUps/PickUpHolder.mesh - - - - - - - - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/AmmoPickUp.mesh - - - - + @@ -3631,49 +3735,7 @@ - - - - - - - - - - - - - - - Models/Props/PickUps/PickUpHolder.mesh - - - - - - - - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - + @@ -3691,6 +3753,31 @@ + + + + + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + Models/Props/Pillars/StonePillar.mesh + + + + + + + @@ -3720,18 +3807,6 @@ - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - @@ -3746,19 +3821,6 @@ - - - - - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - @@ -3775,73 +3837,24 @@ - - - - - - - - - - Models/Props/Flora/SpecialRoot.mesh - - - - - - - - - - - - - Models/Props/Flora/SpecialRoot.mesh - - - - - - - - - - - - - - Models/Props/Flora/SpecialRoot.mesh - - - - - - - - - - - - - - Models/Props/Flora/SpecialRoot.mesh - - - - - - - - - - - + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + @@ -3868,19 +3881,6 @@ - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - @@ -3912,6 +3912,108 @@ + + + + + 4 + Models/Props/Pillars/SciFiPillar2Red.mesh + + + + + + + + + + + + + + 4 + Models/Props/Pillars/SciFiPillar3Red.mesh + + + + + + + + + + + + + + 4 + Models/Props/Pillars/SciFiPillar1Red.mesh + + + + + + + + + + + + + + 4 + Models/Props/Pillars/SciFiPillar3Red.mesh + + + + + + + + + + + + + + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + + Models/Props/Pillars/SciFiPillar2Red.mesh + + + + + + + + + + + + + + 6 + Models/Props/Pillars/SciFiPillar2Red.mesh + + + + + + + + @@ -3941,20 +4043,6 @@ - - - - - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - @@ -3969,21 +4057,6 @@ - - - - - 4 - Models/Props/Pillars/SciFiPillar3Red.mesh - - - - - - - - - @@ -3999,20 +4072,6 @@ - - - - - 6 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - @@ -4027,21 +4086,6 @@ - - - - - 4 - Models/Props/Pillars/SciFiPillar1Red.mesh - - - - - - - - - @@ -4056,21 +4100,6 @@ - - - - - 4 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - @@ -4086,20 +4115,6 @@ - - - - - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - @@ -4115,21 +4130,6 @@ - - - - - 4 - Models/Props/Pillars/SciFiPillar3Red.mesh - - - - - - - - - @@ -4137,53 +4137,813 @@ - + + - Models/Props/PickUps/PickUpHolder.mesh + Models/Props/Flora/SpecialRoot.mesh - - - + + + + + + + + + + + Models/Props/Flora/SpecialRoot.mesh + + + + + + + + + + + + + + Models/Props/Flora/SpecialRoot.mesh + + + + + + + + + + + + + + Models/Props/Flora/SpecialRoot.mesh + + + + + + + + + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/BigWallBlue.mesh + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + + + Models/Props/Walls/MediumWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/MediumWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/BigWallRed.mesh + + + + + + Models/Props/Walls/BigWallRed.mesh + - + + - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - - - - - - - + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/MediumWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/MediumWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/MediumWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/MediumWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/MediumWall3.mesh + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/SmallWall3.mesh + + + + + + + + + + + + + + + + + + + + + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 4 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 2 + 1 + + + + + + + + + + + + 3 + + + + + + + + + + + + 2 + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 4 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + 5 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalRed.mesh + + + + + + + + + + + + + + + @@ -4215,49 +4975,7 @@ - - - - - - - - - - - - - - - Models/Props/PickUps/PickUpHolder.mesh - - - - - - - - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - + @@ -4299,133 +5017,7 @@ - - - - - - - - - - - - - - - Models/Props/PickUps/PickUpHolder.mesh - - - - - - - - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/AmmoPickUp.mesh - - - - - - - - - - - - - - - - - - Models/Props/PickUps/PickUpHolder.mesh - - - - - - - - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - - - - - - - - - - - - - - - Models/Props/PickUps/PickUpHolder.mesh - - - - - - - - - - - - - - - - - - - - 8 - - - - Models/Props/PickUps/HealthPickUp.mesh - - - - + @@ -4467,7 +5059,217 @@ - + + + + + + + + + + + + + + + Models/Props/PickUps/PickUpHolder.mesh + + + + + + + + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + + + + + + + + + + + + + + + Models/Props/PickUps/PickUpHolder.mesh + + + + + + + + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + + + + + + + + + + + + + + + Models/Props/PickUps/PickUpHolder.mesh + + + + + + + + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + + + + + + + + + + + + + + + Models/Props/PickUps/PickUpHolder.mesh + + + + + + + + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/AmmoPickUp.mesh + + + + + + + + + + + + + + + + + + Models/Props/PickUps/PickUpHolder.mesh + + + + + + + + + + + + + + + + + + + + 8 + + + + Models/Props/PickUps/HealthPickUp.mesh + + + + @@ -4509,7 +5311,7 @@ - + @@ -4527,6 +5329,19 @@ + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + @@ -4567,19 +5382,6 @@ - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - @@ -4596,30 +5398,51 @@ - - - - - - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - - - + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + @@ -4627,13 +5450,269 @@ Models/Props/Stones/SmallStone1.mesh - - + + + + + + + + + + + + Models/Props/Stones/mediumStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/mediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/mediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + Models/Props/Stones/mediumStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + @@ -4652,12 +5731,39 @@ - Models/Props/Stones/SmallStone1.mesh + Models/Props/Stones/SmallStone2.mesh - - - + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + @@ -4679,12 +5785,12 @@ - Models/Props/Stones/SmallStone1.mesh + Models/Props/Stones/MediumStone2.mesh - - - + + + @@ -4696,8 +5802,75 @@ Models/Props/Stones/SmallStone2.mesh - - + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + @@ -4716,19 +5889,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - @@ -4743,20 +5903,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -4770,18 +5916,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - @@ -4796,20 +5930,6 @@ - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - - @@ -4823,20 +5943,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - - @@ -4850,19 +5956,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - @@ -4876,20 +5969,6 @@ - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - @@ -4903,20 +5982,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -4930,19 +5995,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - @@ -4955,19 +6007,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - @@ -5022,20 +6061,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -5076,19 +6101,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - @@ -5103,20 +6115,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -5131,20 +6129,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -5159,20 +6143,6 @@ - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - - @@ -5187,19 +6157,6 @@ - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - @@ -5213,19 +6170,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - @@ -5239,20 +6183,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -5267,19 +6197,6 @@ - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - @@ -5293,19 +6210,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - @@ -5319,20 +6223,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -5347,19 +6237,6 @@ - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - @@ -5373,19 +6250,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - @@ -5400,20 +6264,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -5456,19 +6306,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - @@ -5536,20 +6373,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -5564,19 +6387,6 @@ - - - - - Models/Props/Stones/mediumStone2.mesh - - - - - - - - @@ -5590,20 +6400,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - @@ -5618,15 +6414,21 @@ + + + + + + + - Models/Props/Stones/SmallStone1.mesh + Models/Props/Pillars/StonePillar.mesh - - + @@ -5658,8 +6460,8 @@ Models/Props/Stones/AssaultHolder.mesh - - + + @@ -5671,8 +6473,8 @@ Models/Props/Stones/AssaultHolder.mesh - - + + @@ -5684,6 +6486,18 @@ + + + + + Models/Props/Pillars/StonePillar.mesh + + + + + + + @@ -5697,6 +6511,21 @@ + + + + + 6 + Models/Props/Pillars/SciFiPillar1Red.mesh + + + + + + + + + @@ -5711,18 +6540,6 @@ - - - - - Models/Props/Pillars/StonePillar.mesh - - - - - - - @@ -5737,21 +6554,6 @@ - - - - - 6 - Models/Props/Pillars/SciFiPillar1Red.mesh - - - - - - - - - @@ -5768,73 +6570,25 @@ - - - - - - - - - - Models/Props/Flora/SpecialRoot.mesh - - - - - - - - - - - - - - Models/Props/Flora/SpecialRoot.mesh - - - - - - - - - - - - - - Models/Props/Flora/SpecialRoot.mesh - - - - - - - - - - - - - - Models/Props/Flora/SpecialRoot.mesh - - - - - - - - - - + + + + + Models/Props/Walls/SpecialWall1.mesh + + + + + + + + + @@ -5863,20 +6617,6 @@ - - - - - Models/Props/Walls/SpecialWall1.mesh - - - - - - - - - @@ -5893,328 +6633,25 @@ - - - - - - - - - - 4 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 3 - - - - - - - - - - - - 2 - - - - - - - - - - - - 2 - 1 - - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 4 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - 5 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalRed.mesh - - - - - - - - - - - + + + + + Models/Props/Pillars/SciFiBridgePillar1.mesh + + + + + + + + + @@ -6227,45 +6664,6 @@ - - - - - Models/Props/Bridges/SciFiBridgeDefense.mesh - - - - - - - - - - - - - Models/Props/Pillars/SciFiBridgePillar1.mesh - - - - - - - - - - - - - Models/Props/Bridges/SciFiBridgeDefense.mesh - - - - - - - - @@ -6293,6 +6691,32 @@ + + + + + Models/Props/Bridges/SciFiBridgeDefense.mesh + + + + + + + + + + + + + Models/Props/Pillars/SciFiBridgePillar1.mesh + + + + + + + + @@ -6306,6 +6730,32 @@ + + + + + Models/Props/Bridges/SciFiBridgeDefense.mesh + + + + + + + + + + + + + Models/Props/Bridges/SciFiBridgeDefense.mesh + + + + + + + + @@ -6319,19 +6769,6 @@ - - - - - Models/Props/Bridges/SciFiBridgeDefense.mesh - - - - - - - - @@ -6351,12 +6788,12 @@ - Models/Props/Pillars/SciFiBridgePillar1.mesh + Models/Props/Bridges/SciFiBridge1Red.mesh - - - + + + @@ -6479,20 +6916,6 @@ - - - - - Models/Props/Bridges/SciFiBridge1Red.mesh - - - - - - - - - @@ -6510,429 +6933,6 @@ - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - Models/Props/Walls/MediumWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/MediumWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/MediumWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/MediumWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/MediumWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/BigWallRed.mesh - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/MediumWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/MediumWall3.mesh - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - - - - Models/Props/Walls/SmallWall3.mesh - - - - - - - - - - - @@ -6945,8 +6945,8 @@ Models/Props/SciFiHolder1.mesh - - + + @@ -6958,8 +6958,8 @@ Models/Props/SciFiHolder1.mesh - - + + @@ -7012,6 +7012,75 @@ + + + + + Models/Props/Stones/ShinyStoneCrystalBlue.mesh + + + + + + + + + + + + + + 6 + Models/Props/Stones/ShinyStoneCrystalBlue.mesh + + + + + + + + + + + + + + Models/Props/Stones/ShinyStoneCrystalBlue.mesh + + + + + + + + + + + + + + Models/Props/SciFiHolder1.mesh + + + + + + + + + + + + + Models/Props/Bridges/SciFiBridgeDefense.mesh + + + + + + + + @@ -7054,19 +7123,6 @@ - - - - - Models/Props/Bridges/SciFiBridgeDefense.mesh - - - - - - - - @@ -7107,20 +7163,6 @@ - - - - - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - @@ -7160,20 +7202,6 @@ - - - - - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - @@ -7214,19 +7242,6 @@ - - - - - Models/Props/SciFiHolder1.mesh - - - - - - - - @@ -7266,236 +7281,6 @@ - - - - - 6 - Models/Props/Stones/ShinyStoneCrystalBlue.mesh - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - 6 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - 6 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - 6 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - 6 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - 4 - Models/Props/Pillars/SciFiPillar2Red.mesh - - - - - - - - - - - - - - 6 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - 4 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - 4 - Models/Props/Pillars/SciFiPillar3Blue.mesh - - - - - - - - - - - - - - 6 - Models/Props/Pillars/SciFiPillar1Blue.mesh - - - - - - - - - - - - - 6 - Models/Props/Pillars/SciFiPillar2Blue.mesh - - - - - - - - - - - - - - 4 - Models/Props/Pillars/SciFiPillar3Blue.mesh - - - - - - - - - @@ -7503,11 +7288,365 @@ + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + + Models/Props/Stones/AssaultHolder.mesh + + + + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/SmallStone2.mesh + + + + + + + + + + + + + + Models/Props/Stones/SmallStone1.mesh + + + + + + + + + + + + + Models/Props/Stones/BigStone.mesh + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + + + + + + Models/Props/Stones/MediumStone2.mesh + + + + + + + + @@ -7535,19 +7674,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - @@ -7588,19 +7714,6 @@ - - - - - Models/Props/Stones/BigStone.mesh - - - - - - - - @@ -7642,19 +7755,6 @@ - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - @@ -7695,19 +7795,6 @@ - - - - - Models/Props/Stones/MediumStone2.mesh - - - - - - - - @@ -7734,32 +7821,6 @@ - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - @@ -7788,34 +7849,6 @@ - - - - - Models/Props/Stones/SmallStone1.mesh - - - - - - - - - - - - - - Models/Props/Stones/SmallStone2.mesh - - - - - - - - - @@ -7868,7 +7901,7 @@ - + @@ -7910,7 +7943,7 @@ - + @@ -7928,6 +7961,46 @@ + + + + + Models/Props/Walls/BigWallRed.mesh + + + + + + + + + + + + + Models/Props/Walls/smallWall3.mesh + + + + + + + + + + + + + + Models/Props/Walls/BigWallBlue.mesh + + + + + + + + @@ -7956,19 +8029,6 @@ - - - - - Models/Props/Walls/BigWallRed.mesh - - - - - - - - @@ -8010,20 +8070,6 @@ - - - - - Models/Props/Walls/smallWall3.mesh - - - - - - - - - @@ -8064,19 +8110,6 @@ - - - - - Models/Props/Walls/BigWallBlue.mesh - - - - - - - - @@ -8116,253 +8149,220 @@ - + + + + + + + + + + + + + - + + + 6 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - - - - - Models/Props/Stones/AssaultHolder.mesh - - - - - - - - - - + + + + + + + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + + 4 + Models/Props/Pillars/SciFiPillar3Blue.mesh + + + + + + + + + + + + + + 6 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + + 6 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + 6 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + 6 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + + 4 + Models/Props/Pillars/SciFiPillar2Red.mesh + + + + + + + + + + + + + + 6 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + 4 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + + 6 + Models/Props/Pillars/SciFiPillar1Blue.mesh + + + + + + + + + + + + + 6 + Models/Props/Pillars/SciFiPillar2Blue.mesh + + + + + + + + + + + + + + 4 + Models/Props/Pillars/SciFiPillar3Blue.mesh + + + + + + + + @@ -8373,6 +8373,17 @@ + + + + 10 + + + + + + + @@ -8407,17 +8418,6 @@ - - - - 10 - - - - - - - @@ -8472,6 +8472,19 @@ + + + + + Models/Characters/Assault/AssaultTPose.mesh + false + + + + + + + @@ -8511,19 +8524,6 @@ - - - - - Models/Characters/Assault/AssaultTPose.mesh - false - - - - - - - @@ -8546,6 +8546,18 @@ + + + + + Models/Core/UnitCube.mesh + + + + + + + @@ -8568,18 +8580,6 @@ - - - - - Models/Core/UnitCube.mesh - - - - - - - @@ -8804,7 +8804,7 @@ - + @@ -8816,7 +8816,7 @@ - + @@ -8872,14 +8872,14 @@ - + - + - + @@ -8890,48 +8890,21 @@ true + + Options + 1 + - - - - Quit - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - @@ -8948,8 +8921,39 @@ + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + Options + Fonts/DroidSans.ttf,64 + + + + + + + + + + + @@ -9032,6 +9036,90 @@ + + + + + + + + + + + Quit + Fonts/DroidSans.ttf,64 + + + + + + + + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/HUD/ButtonCorner_16.png + false + + + + + + + + + + + + + + + + false + Models/Core/UnitQuad.mesh + + Textures/Core/White.png + true + + + + Quit + 1 + + + + + + + + + @@ -9114,90 +9202,6 @@ - - - - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - Models/Core/UnitQuad.mesh - - Textures/HUD/ButtonCorner_16.png - false - - - - - - - - - - - - - - - false - Models/Core/UnitQuad.mesh - - Textures/Core/White.png - true - - - - Options - 1 - - - - - - - - - - - Options - Fonts/DroidSans.ttf,64 - - - - - - - - - - - - - @@ -9207,19 +9211,19 @@ - + - Schema/Entities/OptionMenu.xml + Schema/Entities/ServerList.xml - + - Schema/Entities/ServerList.xml + Schema/Entities/OptionMenu.xml diff --git a/src/Game/Systems/MainMenuSystem.cpp b/src/Game/Systems/MainMenuSystem.cpp index fa7c0479..1be751f0 100644 --- a/src/Game/Systems/MainMenuSystem.cpp +++ b/src/Game/Systems/MainMenuSystem.cpp @@ -135,6 +135,8 @@ bool MainMenuSystem::OnInputCommand(const Events::InputCommand& e) OpenSubMenu(e); } else if (e.Command == "Resolution" && e.Value == 1) { OpenDropDown(e); + } else if (e.Command == "Quit" && e.Value == 1) { + exit(EXIT_FAILURE); } return true; } \ No newline at end of file