diff --git a/include/Engine/Rendering/ModelJob.h b/include/Engine/Rendering/ModelJob.h
index ba801f60..41b0b8dd 100644
--- a/include/Engine/Rendering/ModelJob.h
+++ b/include/Engine/Rendering/ModelJob.h
@@ -183,7 +183,7 @@ struct ModelJob : RenderJob
void CalculateHash() override
{
- Hash = TextureID + ModelID << 10 + ShaderID << 20;
+ Hash = ShaderID << 20 + ModelID << 10 + TextureID;
}
};
diff --git a/include/Engine/Rendering/SpriteJob.h b/include/Engine/Rendering/SpriteJob.h
index 3bb43a1c..07636a97 100644
--- a/include/Engine/Rendering/SpriteJob.h
+++ b/include/Engine/Rendering/SpriteJob.h
@@ -17,7 +17,7 @@
struct SpriteJob : RenderJob
{
- SpriteJob(ComponentWrapper cSprite, Camera* camera, glm::mat4 matrix, World* world, glm::vec4 fillColor, float fillPercentage, bool depthSorted)
+ SpriteJob(ComponentWrapper cSprite, Camera* camera, glm::mat4 matrix, World* world, glm::vec4 fillColor, float fillPercentage, bool depthSorted, bool isIndicator)
: RenderJob()
{
Model = ResourceManager::Load<::Model>("Models/Core/UnitQuad.mesh");
@@ -30,7 +30,7 @@ struct SpriteJob : RenderJob
StartIndex = matProp.material->StartIndex;
EndIndex = matProp.material->EndIndex;
- Matrix = matrix;
+ Matrix = matrix;
Color = cSprite["Color"];
Entity = cSprite.EntityID;
Position = Transform::AbsolutePosition(world, cSprite.EntityID);
@@ -40,7 +40,7 @@ struct SpriteJob : RenderJob
Depth = viewpos.z;
}
World = world;
-
+ IsIndicator = isIndicator;
FillColor = fillColor;
FillPercentage = fillPercentage;
};
@@ -61,6 +61,8 @@ struct SpriteJob : RenderJob
unsigned int EndIndex = 0;
World* World;
+ bool IsIndicator = false;
+
glm::vec4 FillColor = glm::vec4(0);
float FillPercentage = 0.0;
diff --git a/resources/Schema/Components.xsd b/resources/Schema/Components.xsd
index 61e49ae3..8a5f51f3 100644
--- a/resources/Schema/Components.xsd
+++ b/resources/Schema/Components.xsd
@@ -42,4 +42,5 @@
+
\ No newline at end of file
diff --git a/resources/Schema/Components/Indicator.xml b/resources/Schema/Components/Indicator.xml
new file mode 100644
index 00000000..cd4e3f46
--- /dev/null
+++ b/resources/Schema/Components/Indicator.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/resources/Schema/Components/Indicator.xsd b/resources/Schema/Components/Indicator.xsd
new file mode 100644
index 00000000..54a6bfe5
--- /dev/null
+++ b/resources/Schema/Components/Indicator.xsd
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+ Billbord and makes a Model or Sprite too always appare on players screen
+
+
+
\ No newline at end of file
diff --git a/resources/Schema/Entities/JohansTestMap.xml b/resources/Schema/Entities/JohansTestMap.xml
new file mode 100644
index 00000000..06e97bdc
--- /dev/null
+++ b/resources/Schema/Entities/JohansTestMap.xml
@@ -0,0 +1,5379 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Ground.mesh
+
+
+
+
+
+
+
+
+ Models/Props/Highground1.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground2.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground2.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground3.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground4.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground5.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground6.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SciFiWallTop.mesh
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SciFiWallBig.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SciFiWallMedium.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SciFiWallSmall1.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SciFiWallSmall2.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SciFiWallBig.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SciFiWallMedium.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SciFiWallSmall3.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SciFiWallSmall4.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar1Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar1Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar3Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar1Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar1Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar3Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.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
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall4.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall4.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall4.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWallRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SpecialWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/SpecialRoot.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall4.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SpecialWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SpecialWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SpecialWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SpecialWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SpecialWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SpecialWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SpecialWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/WoodenBridge.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/WoodenBridge.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/WoodenBridge.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridge1Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridge1Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridgeDefense.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridge1Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridge1Blue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridge1Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridge1Red.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/WoodenBridge.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitPlane.mesh
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitPlane.mesh
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/TreeLog.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/SpecialRoot.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/SpecialRoot.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/SpecialRoot.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.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/MediumStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone2.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/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/SmallStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.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/SciFiHolder1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/SciFiHolder1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/SciFiHolder1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/SciFiHolder1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/SciFiHolder1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/SciFiHolder1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/SciFiHolder1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/SciFiHolder1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/CapturePoint/CapturePointBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+ Models/Core/UnitCylinder.mesh
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Test/aM4ME4GR.png
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Test/SmallDiff.png
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/CapturePoint/CapturePointNeutral.mesh
+
+
+
+
+
+
+
+
+
+ 3
+
+
+ Models/Core/UnitCylinder.mesh
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/CapturePoint/CapturePointNeutral.mesh
+
+
+
+
+
+
+
+
+
+ 2
+
+
+ Models/Core/UnitCylinder.mesh
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/CapturePoint/CapturePointNeutral.mesh
+
+
+
+
+
+
+
+
+
+ 1.5498908015879351
+ 1
+
+
+ Models/Core/UnitCylinder.mesh
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/CapturePoint/CapturePointRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCylinder.mesh
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Test/aM4ME4GR.png
+ false
+
+
+
+
+
+
+
+
+
+ Textures/Test/SmallDiff.png
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/Player.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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/HealthPickUp.mesh
+
+
+ 0.10000000149011612
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/AmmoPickUp.mesh
+
+
+ 0.10000000149011612
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/HealthPickUp.mesh
+
+
+ 0.10000000149011612
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/HealthPickUp.mesh
+
+
+ 0.10000000149011612
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/AmmoPickUp.mesh
+
+
+ 0.10000000149011612
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/HealthPickUp.mesh
+
+
+ 0.10000000149011612
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/AmmoPickUp.mesh
+
+
+ 0.10000000149011612
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/AmmoPickUp.mesh
+
+
+ 0.10000000149011612
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Schema/Entities/TestPlayerIndicator b/resources/Schema/Entities/TestPlayerIndicator
new file mode 100644
index 00000000..504fa0db
--- /dev/null
+++ b/resources/Schema/Entities/TestPlayerIndicator
@@ -0,0 +1,590 @@
+
+
+
+
+
+
+
+
+
+ 600
+
+
+
+
+
+
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Widgets/Camera.mesh
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Weapons/Crosshair/SmallThickHoleDot.png
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Schema/Entities/HitMarker.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 100/100
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+ Textures/HealthHUD3.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+ 2
+
+
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+ 3
+
+
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+ 0.10332605343919568
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Idle
+ 1.0214894690177836
+ 1
+
+
+ Models/Characters/Assault/FirstPerson.mesh
+
+ true
+
+
+
+
+
+
+
+ R_Arm_Weapon_Joint
+
+
+ Models/Weapons/Blue/AssaultWeaponBlue.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Schema/Entities/RayBlue.xml
+
+
+
+
+
+
+
+
+
+
+ Schema/Entities/ReloadEffectView.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 32
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+ 360
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Widgets/Camera.mesh
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Idle
+ 0.33673680560517383
+ 1
+
+
+ AimRifle
+
+
+
+
+ Models/Characters/Assault/AssaultAnimations.mesh
+
+
+
+
+
+
+
+
+ R_Arm_Weapon_Joint
+
+
+ Models/Weapons/Blue/AssaultWeaponBlue.mesh
+
+
+
+
+
+
+
+
+
+
+ Schema/Entities/RayBlue.xml
+
+
+
+
+
+
+
+
+
+
+ Schema/Entities/ReloadEffectWorld.xml
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+ false
+
+
+
+
+
+
+
+
+
+
+ Insert name here
+ Fonts/DroidSans.ttf,100
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Test/aM4ME4GR.png
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Schema/Entities/TestPlayerIndicator.xml b/resources/Schema/Entities/TestPlayerIndicator.xml
new file mode 100644
index 00000000..56390bcb
--- /dev/null
+++ b/resources/Schema/Entities/TestPlayerIndicator.xml
@@ -0,0 +1,590 @@
+
+
+
+
+
+
+
+
+
+ 600
+
+
+
+
+
+
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Widgets/Camera.mesh
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Weapons/Crosshair/SmallThickHoleDot.png
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Schema/Entities/HitMarker.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 100/100
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+ Textures/HealthHUD3.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+ 2
+
+
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+ 3
+
+
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+ 0.10332605343919568
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Idle
+ 0.71065405191594166
+ 1
+
+
+ Models/Characters/Assault/FirstPerson.mesh
+
+ true
+
+
+
+
+
+
+
+ R_Arm_Weapon_Joint
+
+
+ Models/Weapons/Blue/AssaultWeaponBlue.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Schema/Entities/RayBlue.xml
+
+
+
+
+
+
+
+
+
+
+ Schema/Entities/ReloadEffectView.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 32
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+ 360
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Widgets/Camera.mesh
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Idle
+ 1.0759003871452997
+ 1
+
+
+ AimRifle
+
+
+
+
+ Models/Characters/Assault/AssaultAnimations.mesh
+
+
+
+
+
+
+
+
+ R_Arm_Weapon_Joint
+
+
+ Models/Weapons/Blue/AssaultWeaponBlue.mesh
+
+
+
+
+
+
+
+
+
+
+ Schema/Entities/RayBlue.xml
+
+
+
+
+
+
+
+
+
+
+ Schema/Entities/ReloadEffectWorld.xml
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+ false
+
+
+
+
+
+
+
+
+
+
+ Insert name here
+ Fonts/DroidSans.ttf,100
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Test/aM4ME4GR.png
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Engine/Rendering/RenderSystem.cpp b/src/Engine/Rendering/RenderSystem.cpp
index 665c4027..cd604b8c 100644
--- a/src/Engine/Rendering/RenderSystem.cpp
+++ b/src/Engine/Rendering/RenderSystem.cpp
@@ -67,11 +67,16 @@ void RenderSystem::fillSprites(std::list>& jobs, Worl
fillColor = (glm::vec4)fillComponent["Color"];
}
- glm::mat4 modelMatrix = Transform::ModelMatrix(entity.ID, world);
- //modelMatrix *= m_Camera->BillboardMatrix();
+ glm::mat4 modelMatrix = Transform::ModelMatrix(entity.ID, world);
+ bool isIndicator = false;
+ if (world->HasComponent(entity.ID, "Indicator") || entity.FirstParentWithComponent("Indicator").Valid())
+ {
+ isIndicator = true;
+ modelMatrix = modelMatrix * m_Camera->BillboardMatrix();
+ }
- std::shared_ptr spriteJob = std::shared_ptr(new SpriteJob(cSprite, m_Camera, modelMatrix, world, fillColor, fillPercentage, depthSorted));
+ std::shared_ptr spriteJob = std::shared_ptr(new SpriteJob(cSprite, m_Camera, modelMatrix, world, fillColor, fillPercentage, depthSorted, isIndicator));
jobs.push_back(spriteJob);
}
@@ -94,6 +99,30 @@ bool RenderSystem::isEntityVisible(EntityWrapper& entity)
return false;
}
+ // If a sprite is an Indicator, it's not local on player and object is in the same team, then dispaly it
+ if (
+ (entity.HasComponent("Indicator"))
+ && (entity != m_LocalPlayer || !entity.IsChildOf(m_LocalPlayer))
+ && (entity.HasComponent("Team") || entity.FirstParentWithComponent("Team").Valid())
+ && entity.HasComponent("Sprite")
+ && m_LocalPlayer.World != nullptr
+ ) {
+ EntityWrapper entityTeam;
+ if (!entity.HasComponent("Team")) {
+ entityTeam = entity.FirstParentWithComponent("Team");
+ }
+ else {
+ entityTeam = entity;
+ }
+ ComponentWrapper& entityTeamComponent = entityTeam["Team"];
+ ComponentWrapper& localComponent = m_LocalPlayer["Team"];
+ int entityTeamInt = entityTeamComponent["Team"];
+ int localComponentInt = localComponent["Team"];
+ int SpectatorInt = localComponent["Team"].Enum("Spectator");
+ if (entityTeamInt != localComponentInt && localComponentInt != SpectatorInt) {
+ return false;
+ }
+ }
return true;
}