Compare commits

...

95 Commits

Author SHA1 Message Date
viktorljung bdbf864934 spawning 1 shield on server and one on client 2016-03-14 16:46:03 +01:00
viktorljung f269caafed spawning shield on server and client 2016-03-14 16:02:20 +01:00
Jace 18ea938b56 Added start menu shortcut to starting a server 2016-03-14 09:59:54 +01:00
Jace 6c14b2a97e Updated start menu to load same map as game to save video memory 2016-03-14 09:26:16 +01:00
Jace 54eb3727b0 Fixed respawn 2016-03-14 09:26:04 +01:00
Jace 39e5f7b2dc Actually DDS 2016-03-14 09:21:07 +01:00
Jace cce43ebc1a DDS and shit 2016-03-14 09:08:14 +01:00
Jace 2a1f6cd9cf Updated installer 2016-03-14 08:38:08 +01:00
Jace 39da2bff27 README 2016-03-14 08:38:00 +01:00
Teejoon 28de3c716c Hopefully everything is working with dds and PNG textures 2016-03-14 08:16:35 +01:00
Teejoon 003f5b14a5 Merge remote-tracking branch 'origin/master' into DDS
Conflicts:
	assets
2016-03-14 06:10:30 +01:00
Teejoon a3f215831d Fixed DDS after merge 2016-03-14 06:09:06 +01:00
Joachim Pettersson 16ef09b20b Merge pull request #222 from teamfisk/DeathAnimation
Death effect re-added
2016-03-14 05:48:07 +01:00
Jocke fe87aa8e90 Death effect re-added. Hands get weird when explosion is triggered. 2016-03-14 04:45:01 +01:00
viktorljung b9b5f4bff7 Removed healing effect of defender boost 2016-03-14 04:37:43 +01:00
viktorljung 5db1bddd08 Merge branch 'master' of github.com:teamfisk/TacticalZ 2016-03-14 04:31:45 +01:00
viktorljung b366a8c149 Red players fixes 2016-03-14 04:31:38 +01:00
Adam Byléhn 483091a1de Merge pull request #137 from teamfisk/Importer
Export and import of collision meshes
2016-03-14 04:26:50 +01:00
Tleety 0e9be1d650 Merge branch 'master' of github.com:teamfisk/TacticalZ 2016-03-14 04:25:34 +01:00
Tleety 5679a88ddb Quit working 2016-03-14 04:25:20 +01:00
Jace 289bde0395 Merge branch 'master' of github.com:teamfisk/TacticalZ 2016-03-14 04:25:19 +01:00
Jace a3fef7bcd1 Better CP_Valhalla lighting 2016-03-14 04:25:07 +01:00
viktorljung 04fbd0d517 Merge branch 'master' of github.com:teamfisk/TacticalZ 2016-03-14 04:12:02 +01:00
viktorljung 9308e60932 Red players 2016-03-14 04:11:46 +01:00
Jace fc97c4e8ea Merge branch 'master' of github.com:teamfisk/TacticalZ 2016-03-14 04:01:40 +01:00
Jace e3767996a1 Added DEBUG flags to all debug imgui stuff 2016-03-14 04:01:04 +01:00
William Moberg 809d164eba Merge pull request #221 from teamfisk/PerfectSoundForRelease
Perfect sound for release
2016-03-14 03:54:35 +01:00
Tobias Dahl 5879cb0de4 Merge pull request #219 from teamfisk/FixAssaultWeaponReload
Reload for assault is only done once now.
2016-03-14 03:48:59 +01:00
Tobias Dahl 832a901bf6 Merge pull request #220 from teamfisk/Movement
Movement
2016-03-14 03:48:47 +01:00
William Moberg 407149fbb0 Merge branch 'master' into Importer 2016-03-14 03:23:08 +01:00
William Moberg 4c52f55bf0 Any collision meshes we have should be working, and RawModels should be released after being loaded. 2016-03-14 03:20:36 +01:00
viktorljung 8449818cb7 Merge branch 'Movement' 2016-03-14 03:13:48 +01:00
maqu14 94a10c3a8f New polished map 2016-03-14 03:07:58 +01:00
Jace cbb2eee003 Merge branch 'master' of github.com:teamfisk/TacticalZ 2016-03-14 02:53:18 +01:00
Jace f6d85c86c4 Added new team pick 2016-03-14 02:53:02 +01:00
Teejoon 659dfed088 Commit reminder 2016-03-14 02:52:33 +01:00
Teejoon 8151e9a9a4 Merge branch 'master' into DDS
Conflicts:
	assets
	include/Engine/Core/ResourceManager.h
	include/Engine/Rendering/Image.h
	include/Engine/Rendering/TextureSprite.h
	resources/Schema/Entities/MovementTest.xml
	resources/Shaders/ForwardPlus.frag.glsl
	resources/Shaders/ForwardPlusShieldCheck.frag.glsl
	src/Engine/Rendering/CubeMapPass.cpp
	src/Engine/Rendering/Texture.cpp
	src/Game/Game.cpp
2016-03-14 02:51:45 +01:00
maqu14 8a24a16232 Merge branch 'master' of github.com:teamfisk/TacticalZ
# Conflicts:
#	resources/DefaultConfig.ini
#	resources/Schema/Entities/CP_Rocky2.xml
2016-03-14 02:51:09 +01:00
maqu14 d850e116fb New map, Some new assets 2016-03-14 02:50:24 +01:00
Teejoon a4c35e5908 Lower Glow intensity on players 2016-03-14 02:38:26 +01:00
Teejoon ff881e1f78 Merge branch 'master' of https://github.com/teamfisk/TacticalZ 2016-03-14 02:16:07 +01:00
Teejoon eb2e79e4cb Players now got lights on them 2016-03-14 02:15:56 +01:00
William Moberg f632b45c9b Merge branch 'MemoryOptimization' into Importer
# Conflicts:
#	include/Engine/Rendering/Model.h
#	src/Engine/Collision/Collision.cpp
#	src/Engine/Collision/CollisionSystem.cpp
#	src/Engine/Collision/TriggerSystem.cpp
#	src/Game/Systems/SpawnerSystem.cpp
2016-03-14 02:06:53 +01:00
Tleety 788d80f721 Merge branch 'master' of github.com:teamfisk/TacticalZ 2016-03-14 01:59:41 +01:00
Tleety 0b485163c9 Changes to menu 2016-03-14 01:59:33 +01:00
Jace e527badab4 Executable name updated to "Axyz" 2016-03-14 01:53:20 +01:00
stiffly 8cef422ea7 Merge remote-tracking branch 'origin/master' into PerfectSoundForRelease
# Conflicts:
#	resources/Schema/Entities/CP_Rocky2.xml
2016-03-14 01:51:51 +01:00
stiffly 54a03ddc0f Hurt sound only played for local player. 2016-03-14 01:49:37 +01:00
viktorljung a65d8c86d1 3rd person reload effect 2016-03-14 01:48:48 +01:00
Jace d492b54687 Added executable icon to CMakeLists 2016-03-14 01:42:14 +01:00
stiffly c1395355c6 Removed comment 2016-03-14 01:36:11 +01:00
Jace f62f8d53db Merge branch 'Setup' 2016-03-14 01:30:49 +01:00
Jace 51c7e92fce Fixed redist install 2016-03-14 01:29:11 +01:00
viktorljung 0764c9bab2 Merge remote-tracking branch 'origin/master' into Movement 2016-03-14 01:20:20 +01:00
William Moberg 7e6830af35 Merge branch 'master' into Importer 2016-03-14 01:09:18 +01:00
Teejoon c61d33ebd9 NewScorebord 2016-03-14 01:08:22 +01:00
William Moberg dea57b4872 Fixes after merge. 2016-03-14 01:00:58 +01:00
stiffly 3994c0f7ad Merge remote-tracking branch 'origin/master' into PerfectSoundForRelease 2016-03-14 00:59:32 +01:00
stiffly 1345889e62 The win sound plays on win screen 2016-03-14 00:58:53 +01:00
Adam Byléhn 50abeda99a Merge pull request #218 from teamfisk/DashEffect
Dash effect
2016-03-14 00:58:00 +01:00
Jace fe6f294986 Moved installer script to subdir 2016-03-14 00:52:03 +01:00
viktorljung 424dffd1e0 removed shadows on 1st person hands and weapons
added shielded component on 3rd person weapons
2016-03-14 00:47:21 +01:00
Jace 33ed59fc3a Added files for setup creation 2016-03-14 00:45:09 +01:00
William Moberg 562afac9d1 Merge branch 'master' into Importer
# Conflicts:
#	src/Engine/Collision/Collision.cpp
#	src/Engine/Collision/CollisionSystem.cpp
#	src/Engine/Rendering/DrawFinalPass.cpp
#	src/Game/Systems/SpawnerSystem.cpp
2016-03-14 00:42:07 +01:00
viktorljung d1c11f20f2 Merge remote-tracking branch 'origin/master' into Movement 2016-03-14 00:39:16 +01:00
viktorljung 1bba40449f Tracers done 2016-03-14 00:38:36 +01:00
Tleety fd482dd670 Axyz logo in menu 2016-03-14 00:37:29 +01:00
viktorljung f5343251c5 fixed for real now? 2016-03-14 00:28:30 +01:00
Tleety c493ebca8e Viewpunch for sidearm and defender 2016-03-14 00:23:51 +01:00
William Moberg ef9a449077 Merge branch 'master' into DashEffect 2016-03-14 00:07:45 +01:00
viktorljung 5207248a49 3rd person tracers fixed 2016-03-14 00:04:51 +01:00
William Moberg 12d0c68fbf Weapon should fade on dash effect afterimage. 2016-03-13 23:57:47 +01:00
viktorljung 1bf65d896a Sidearm tracer fixed 2016-03-13 23:42:21 +01:00
stiffly 7855cf03d2 The Endscreen now works over the network. 2016-03-13 23:33:10 +01:00
viktorljung 4adf7dc507 Assault tracer fixed 2016-03-13 23:29:50 +01:00
William Moberg e2686abb16 Merge branch 'master' into DashEffect 2016-03-13 23:25:38 +01:00
William Moberg be91fc5005 WIP dash effect fade weapon 2. 2016-03-13 23:23:36 +01:00
William Moberg 0084224e18 WIP, dash effect fade weapon. 2016-03-13 23:23:05 +01:00
viktorljung 73bcc6e382 Merge branch 'Movement' of github.com:teamfisk/TacticalZ into Movement 2016-03-13 23:12:59 +01:00
viktorljung f393a22011 defender tracer fixed 2016-03-13 23:12:45 +01:00
William Moberg e4145cf292 Fixed dash effect to be supported with the new animations using Fade components.
Added bool Loop field in Fade component.
2016-03-13 22:49:24 +01:00
stiffly 03dab9ca9a Merge remote-tracking branch 'origin/master' into PerfectSoundForRelease 2016-03-13 22:33:23 +01:00
stiffly 1a120ef345 Merge remote-tracking branch 'origin/master' into PerfectSoundForRelease 2016-03-13 22:22:41 +01:00
stiffly 0d823421d8 Added win sound file 2016-03-13 22:22:19 +01:00
Jace 0516794db6 Separating RawModel from Model 2016-03-13 14:47:11 +01:00
Teejoon d6f0528a87 2 more shaders with DTX5nm calculations 2016-03-10 20:03:13 +01:00
Teejoon 0382708b85 Fixed so that we could use DTX5nm as normal map 2016-03-10 19:57:01 +01:00
Teejoon d8f9f15d34 Merge branch 'master' into DDS
Conflicts:
	assets
	src/Engine/Rendering/Texture.cpp
	src/Engine/Rendering/Util/CommonFunctions.cpp
	src/Game/Game.cpp
2016-03-10 19:55:25 +01:00
Jace ffa9d7e607 WIP 2016-03-02 18:06:20 +01:00
Jace edf481b4d7 Load the error texture when a texture isn't found instead of just passing null to OpenGL! 2016-03-02 17:42:27 +01:00
Teejoon 7b32d92170 Merge with master 2016-03-02 13:45:56 +01:00
Teejoon 46eaedb186 Merge remote-tracking branch 'origin/master' into Importer
Conflicts:
	resources/Schema/Entities/Player.xml
	src/Engine/Collision/CollisionSystem.cpp
	src/Engine/Rendering/DrawFinalPass.cpp
2016-03-02 13:19:40 +01:00
Teejoon bb6e491eed Fix for GLERROR in DrawModelRenderQueues 2016-02-25 16:00:27 +01:00
Teejoon 669a7d13cf We can now export and import collision meshes :D 2016-02-25 15:39:42 +01:00
Teejoon 9229b77893 Export Collision mesh 2016-02-25 13:19:35 +01:00
117 changed files with 70090 additions and 15275 deletions
+1 -1
Submodule assets updated: 2c75d24ddf...902cbf2ba6
+1 -1
Submodule deps updated: ed45883a44...49ef585366
+6 -6
View File
@@ -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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& modelIndices,
const glm::mat4& modelMatrix);
@@ -213,7 +213,6 @@ bool FirstPersonInputController<EventContext>::OnCommand(const Events::InputComm
}
}
EntityWrapper firstPersonModel = m_PlayerEntity.FirstChildByName("Hands");
if (firstPersonModel.Valid()) {
if (val > 0) { // Walk/Run
+2
View File
@@ -36,6 +36,7 @@
#include "Network/ESearchForServers.h"
#include "Network/EInterpolate.h"
#include "Network/SnapshotFilter.h"
#include "Core/EWin.h"
class Client : public Network
{
@@ -107,6 +108,7 @@ private:
void parseAmmoPickup(Packet& packet);
void parseRemoveWorld(Packet& packet);
void parseKDEvent(Packet& packet);
void parseWin(Packet& packet);
void InterpolateFields(Packet& packet, const ComponentInfo & componentInfo, const EntityID & entityID, const std::string & componentType);
void parseSnapshot(Packet& packet);
void identifyPacketLoss();
+1
View File
@@ -25,6 +25,7 @@ enum class MessageType
AmmoPickup,
RemoveWorld,
KD,
Win,
Invalid
};
+71
View File
@@ -0,0 +1,71 @@
#ifndef DDS_h__
#define DDS_h__
#include <cstdint>
#include "../Common.h"
#include "../Core/ResourceManager.h"
#include "Image.h"
// DXT5
class DDS : public Image, public Resource
{
public:
DDS(std::string path);
~DDS();
void FlipY(unsigned char* data, std::size_t rowBytes, std::size_t totalSize, std::size_t numBlocksWide);
private:
static const uint32_t MagicNumber = 0x20534444; // "DDS "
struct Header_t
{
uint32_t Size;
uint32_t Flags;
uint32_t Height;
uint32_t Width;
uint32_t PitchOrLinearSize;
uint32_t Depth;
uint32_t MipMapCount;
uint32_t RESERVED1[11];
struct PixelFormat_t
{
uint32_t Size;
uint32_t Flags;
uint32_t FourCC;
uint32_t RGBBitCount;
uint32_t RBitMask;
uint32_t GBitMask;
uint32_t BBitMask;
uint32_t ABitMask;
} PixelFormat;
uint32_t Caps;
uint32_t Caps2;
uint32_t Caps3;
uint32_t Caps4;
uint32_t RESERVED2;
} m_Header;
struct Block_t
{
struct Alpha_t
{
uint8_t Colors[2];
uint8_t Data[6];
} Alpha;
struct Data_t
{
uint16_t Colors[2];
uint8_t Data[4];
} Data;
};
std::size_t m_NumBlocksWide;
std::size_t m_NumBlocksHigh;
std::size_t m_RowBytes;
void flipBlock(Block_t* block);
};
#endif
+3
View File
@@ -15,7 +15,10 @@ struct Image
unsigned int Width = 0;
unsigned int Height = 0;
ImageFormat Format = ImageFormat::Unknown;
unsigned int MipMapLevels = 0;
bool Compressed = false;
unsigned char* Data = nullptr;
std::size_t ByteSize = 0;
};
#endif
+12 -6
View File
@@ -16,15 +16,18 @@ private:
public:
~Model();
const std::vector<RawModel::MaterialProperties>& 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<RawModel::MaterialProperties>& MaterialGroups() const { return m_Materials; }
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<glm::vec3> m_Vertices;
std::vector<unsigned int> m_Indices;
private:
AABB m_Box;
@@ -34,6 +37,9 @@ private:
GLuint TangentNormalsBuffer;
GLuint BiTangentNormalsBuffer;
GLuint TextureCoordBuffer;
std::vector<RawModel::MaterialProperties> m_Materials;
bool m_IsSkinned;
};
#endif
+1 -1
View File
@@ -110,7 +110,7 @@ struct ModelJob : RenderJob
}
if (model->IsSkinned()) {
Skeleton = Model->m_RawModel->m_Skeleton;
Skeleton = Model->m_Skeleton;
if (Skeleton != nullptr) {
EntityWrapper entityWrapper = EntityWrapper(world, modelComponent.EntityID);
+39 -16
View File
@@ -13,6 +13,7 @@
#include <boost/filesystem/path.hpp>
#include <boost/endian/buffers.hpp>
#include "../Common.h"
#include "../GLM.h"
#include "../Core/ResourceManager.h"
@@ -20,22 +21,17 @@
#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);
public:
~RawModelCustom();
struct Vertex
{
struct RenderVertex {
glm::vec3 Position;
glm::vec3 Normal;
glm::vec3 Tangent;
@@ -43,7 +39,7 @@ public:
glm::vec2 TextureCoords;
};
struct SkinedVertex : public Vertex {
struct SkinedVertex : public RenderVertex {
glm::vec4 BoneIndices;
glm::vec4 BoneWeights;
};
@@ -91,7 +87,7 @@ public:
unsigned int ShaderID = 0;
};
const Vertex* Vertices() const {
const RenderVertex* Vertices() const {
if (hasSkin) {
return m_SkinedVertices.data();
} else {
@@ -99,16 +95,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 {
@@ -116,17 +112,39 @@ public:
}
};
const std::vector<unsigned int>& Indices() const {
return m_Indices;
}
bool IsSkinned() const { return hasSkin; };
const std::vector<glm::vec3>& CollisionVertices();
size_t NumCollisionVertices() const {
return m_CollisionVertices.size();
};
const std::vector<unsigned int>& CollisionIndices() const {
if (hasCollisionMesh) {
return m_CollisionIndices;
} else {
return m_Indices;
}
};
std::vector<MaterialProperties> m_Materials;
std::vector<unsigned int> m_Indices;
Skeleton* m_Skeleton = nullptr;
glm::mat4 m_Matrix;
private:
bool hasSkin;
std::vector<Vertex> m_Vertices;
bool hasCollisionMesh = false;
std::vector<unsigned int> m_Indices;
std::vector<unsigned int> m_CollisionIndices;
std::vector<glm::vec3> m_CollisionVertices;
std::vector<RenderVertex> m_Vertices;
std::vector<SkinedVertex> m_SkinedVertices;
void ReadMeshFile(std::string filePath);
@@ -149,7 +167,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<Skeleton::Animation::Keyframe>& animation);
void ReadCollisionFile(std::string filePath);
void ReadCollisionFileData(std::size_t& offset, char* fileData, const unsigned int& fileByteSize);
const std::vector<glm::vec3>& ConstructCollisionList();
//void CreateSkeleton(std::vector<std::tuple<std::string, glm::mat4>> &boneInfo, std::map<std::string, int> &boneNameMapping, aiNode* node, int parentID);
};
+5 -2
View File
@@ -1,9 +1,11 @@
#ifndef Texture_h__
#define Texture_h__
#include <boost/filesystem.hpp>
#include "../OpenGL.h"
#include "BaseTexture.h"
#include "PNG.h"
#include "DDS.h"
class Texture : public BaseTexture
{
@@ -18,8 +20,9 @@ public:
void Bind(GLenum textureUnit = GL_TEXTURE0);
GLuint m_Texture = 0;
unsigned char* Data = nullptr;
enum TextureType : GLint { cInvalid = 0, cDDS = 1, cPNG = 2};
TextureType m_Type;
};
#endif
-5
View File
@@ -14,11 +14,6 @@ protected:
TextureSprite(std::string path);
public:
void Bind(GLenum textureUnit = GL_TEXTURE0);
GLuint m_Texture = 0;
unsigned char* Data = nullptr;
};
#endif
+1
View File
@@ -81,6 +81,7 @@ private:
void setSoundProperties(Source* source, ComponentWrapper* soundComponent);
float getDurationSeconds(Source* source);
float getTimeOffsetSeconds(Source* source);
void setTimeOffsetSeconds(Source* source, float timeOffset);
// Specific logic
void playSound(Source* source);
+1
View File
@@ -13,6 +13,7 @@
#include "Input/EInputCommand.h"
#include "Network/ESearchForServers.h"
#include "Network/EConnectRequest.h"
#include <stdlib.h>
class MainMenuSystem : public ImpureSystem
@@ -32,6 +32,8 @@ private:
glm::vec3 m_LastPosition = glm::vec3();
// Used to track afterimages for sprint effect.
float m_SprintEffectTimer;
// Used to track afterimages for dash effect.
float m_DashEffectTimer;
// The logic for making the sound play when player is moving
void playerStep(double dt, EntityWrapper player);
// Spawn a hexagon at origin of an Entity
+1
View File
@@ -8,6 +8,7 @@
#include "Events/ESpawnerSpawn.h"
#include "Core/TransformSystem.h"
#include "Core/EntityFile.h"
#include "Rendering/Model.h"
class SpawnerSystem : public System
{
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

+6 -6
View File
@@ -3,11 +3,11 @@ AutoReload=true
[Debug]
LogLevel=1
LoadMap=
LoadMap=Schema/Entities/StartMenu.xml
; if true -> Pool allocation is not used when calling Allocate/Free, just use regular dynamic allocation.
; if false -> Use pool allocation.
DisableMemoryPool=false
RespawnTime = -1.0
RespawnTime=-1.0
EditorEnabled=false
OutOfBodyExperience=false
@@ -22,7 +22,7 @@ Height=720
FOV=45
[Networking]
StartNetwork=false
StartNetwork=true
IsServer=false
Name=Bob
Address=127.0.0.1
@@ -30,7 +30,7 @@ Port=27666
MaxConnections=8
SnapshotInterval=0.05
SendInputIntervalMs=33
PingIntervalMs= 1000
PingIntervalMs=1000
TimeoutMs=15000
[Multithreading]
@@ -43,7 +43,7 @@ AnnouncerVolume=1.0
Announcer=female
[SSAO]
Quality=0
Quality=1
[SSAO1]
Radius=1.0
@@ -88,4 +88,4 @@ NumIterations=4
NumIterations=6
[MSAA]
Level = 0;
Level=2
+2 -4
View File
@@ -1,5 +1,5 @@
[Mouse]
Sensitivity=0.5
Sensitivity=0.05
InvertPitch=false
[Keyboard]
@@ -29,6 +29,4 @@ K=TakeDamage,1500
F2=PerformanceTimingResetAllTimers
F3=PerformanceTimingCreateExcelData
Comma=SwapToClassPick
Period=SwapToTeamPick
Enter=PickClass,1
F5=DisconnectFromServer
Period=SwapToTeamPick
+17
View File
@@ -0,0 +1,17 @@
To start a server
1. Run "Axyz Server" from the start menu or "Server.bat" in the installation directory (C:\Program Files\Axyz)
2. Press F1 to open the editor mode
3. Expand the Entities window if it is minimized, by double-clicking it
4. Mark StartMenu_Origin and hit Delete twice
5. Hit Import and choose CP_Valhalla.xml
6. Press F1 again to leave editor mode for an acceptable framerate
To join a game
1. Run "Axyz" from the start menu or "Axyz.exe" in the installation directory (C:\Program Files\Axyz)
2. Press Play
3. Hit the refresh icon if no server is visible
4. Click the server you want to join
5. Follow on-screen directions
6. Enjoy the game :)
+1 -1
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<BoostAssault xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="BoostAssault.xsd">
<StrengthOfEffect>2</StrengthOfEffect>
<StrengthOfEffect>1.35</StrengthOfEffect>
</BoostAssault>
@@ -10,8 +10,8 @@
<MaxTravelAngle>0.174533</MaxTravelAngle> <!-- 0.174533 = 10 degrees -->
<NumPellets>9</NumPellets>
<RPM>120</RPM>
<ViewPunch>0.03</ViewPunch>
<ViewReturnSpeed>0.2</ViewReturnSpeed>
<ViewPunch>0.15</ViewPunch>
<ViewReturnSpeed>0.3</ViewReturnSpeed>
<ReloadTime>0.5</ReloadTime>
<TriggerHeld>false</TriggerHeld>
<FireCooldown>0</FireCooldown>
+1
View File
@@ -3,5 +3,6 @@
<FadeTime>1</FadeTime>
<Time>0</Time>
<Out>true</Out>
<Loop>true</Loop>
<Reverse>false</Reverse>
</Fade>
+3
View File
@@ -11,6 +11,9 @@
<xs:element name="Out" type="t:bool" minOccurs="0">
<xs:annotation><xs:documentation>If the entity should fade out or in.</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Loop" type="t:bool" minOccurs="0">
<xs:annotation><xs:documentation>If the effect should loop when it is done.</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Reverse" type="t:bool" minOccurs="0">
<xs:annotation><xs:documentation>If the entity should reverse the fade after finishing, this will double the speed.</xs:documentation></xs:annotation>
</xs:element>
@@ -6,7 +6,9 @@
<BaseDamage>20</BaseDamage>
<RPM>500</RPM>
<Automatic>false</Automatic>
<ViewPunch>0.01</ViewPunch>
<ViewPunch>0.05</ViewPunch>
<MaxTravelAngle>0.174533</MaxTravelAngle> <!-- 0.174533 = 10 degrees -->
<ViewReturnSpeed>0.2</ViewReturnSpeed>
<ReloadTime>1.0</ReloadTime>
<EquipTime>0.5</EquipTime>
<TriggerHeld>false</TriggerHeld>
@@ -14,4 +16,5 @@
<ReloadQueued>false</ReloadQueued>
<IsReloading>false</IsReloading>
<ReloadTimer>0</ReloadTimer>
<CurrentTravel>0</CurrentTravel>
</SidearmWeapon>
@@ -36,6 +36,12 @@
<xs:element name="ViewPunch" type="t:float" minOccurs="0">
<xs:annotation><xs:documentation>View punch in radians for each shell fired</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="MaxTravelAngle" type="t:float" minOccurs="0">
<xs:annotation><xs:documentation>Maximum vertical aim travel angle in radians</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="ViewReturnSpeed" type="t:float" minOccurs="0">
<xs:annotation><xs:documentation>The speed in radians per second the view returns to its original position after being punched</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="ReloadTime" type="t:double" minOccurs="0">
<xs:annotation><xs:documentation>Time it takes to load ONE SHELL into the weapon in seconds</xs:documentation></xs:annotation>
</xs:element>
@@ -47,6 +53,7 @@
<xs:element name="ReloadQueued" type="t:bool" minOccurs="0"/>
<xs:element name="IsReloading" type="t:bool" minOccurs="0"/>
<xs:element name="ReloadTimer" type="t:double" minOccurs="0"/>
<xs:element name="CurrentTravel" type="t:float" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:SceneLight>
<AmbientColor A="1" B="1" G="1" R="1"/>
</c:SceneLight>
<c:Sprite>
<DiffuseTexture>Textures/Core/UnitRaptor.png</DiffuseTexture>
<GlowMap></GlowMap>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-1.60000002"/>
</c:Transform>
</Components>
<Children/>
</Entity>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="DashEffect" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Lifetime>
<Lifetime>0.5</Lifetime>
</c:Lifetime>
<c:Transform/>
</Components>
<Children/>
</Entity>
+2 -20
View File
@@ -31,17 +31,8 @@
<Components>
<c:Animation>
<AnimationName>ActivateShieldU</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Idle">
<Components>
<c:Animation>
<AnimationName>ShieldFrontU</AnimationName>
<Play>true</Play>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
@@ -74,16 +65,7 @@
<Components>
<c:Animation>
<AnimationName>ActivateShieldU</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Idle">
<Components>
<c:Animation>
<AnimationName>ShieldFrontU</AnimationName>
<Play>true</Play>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
@@ -0,0 +1,151 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="FriendlyBoostHUD" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Lifetime>
<Lifetime>0.5</Lifetime>
</c:Lifetime>
<c:Transform>
<Scale X="1.20000005" Y="1.20000005" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="BoostHUDBackground">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.588235319" B="0" G="0" R="0"/>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.00300000003"/>
<Scale X="0.0599999987" Y="0.0599999987" Z="0.0599999987"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BoostIcons">
<Components>
<c:Transform>
<Position X="-1.47358617e-06" Y="-0.0191892758" Z="4.05375999e-07"/>
</c:Transform>
</Components>
<Children>
<Entity name="AssaultBoost">
<Components>
<c:Transform>
<Position X="0.0120000001" Y="0.00899999961" Z="-8.43336147e-06"/>
<Scale X="0.0199999996" Y="0.0199999996" Z="0.0199999996"/>
</c:Transform>
</Components>
<Children>
<Entity name="Active">
<Components>
<c:Text>
<Content>\1</Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Color A="1" B="0.392156869" G="0.392156869" R="1.37254906"/>
<Visible>false</Visible>
</c:Text>
<c:Transform>
<Position X="0" Y="0" Z="0.0149999997"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Inactive">
<Components>
<c:Text>
<Content>\1</Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Color A="1" B="0.784313738" G="0.784313738" R="0.784313738"/>
</c:Text>
<c:Transform>
<Position X="0" Y="0" Z="-8.43336147e-06"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="DefenderBoost">
<Components>
<c:Transform>
<Position X="-0.0120000001" Y="0.00900000054" Z="-8.43336147e-06"/>
<Scale X="0.0199999996" Y="0.0199999996" Z="0.0199999996"/>
</c:Transform>
</Components>
<Children>
<Entity name="Active">
<Components>
<c:Text>
<Content>\2</Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Color A="1" B="0.392156869" G="0.392156869" R="1.17647064"/>
<Visible>false</Visible>
</c:Text>
<c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Inactive">
<Components>
<c:Text>
<Content>\2</Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Color A="1" B="0.784313738" G="0.784313738" R="0.784313738"/>
</c:Text>
<c:Transform>
<Position X="0" Y="0" Z="-8.43336147e-06"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="SniperBoost">
<Components>
<c:Transform>
<Position X="0" Y="0.0310000014" Z="-1.21438188e-05"/>
<Scale X="0.0199999996" Y="0.0199999996" Z="0.0199999996"/>
</c:Transform>
</Components>
<Children>
<Entity name="Active">
<Components>
<c:Text>
<Content>\3</Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Color A="1" B="0.392156869" G="0.392156869" R="1.17647064"/>
<Visible>false</Visible>
</c:Text>
<c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Inactive">
<Components>
<c:Text>
<Content>\3</Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Color A="1" B="0.784313738" G="0.784313738" R="0.784313738"/>
</c:Text>
<c:Transform>
<Position X="0" Y="0" Z="-8.43336147e-06"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
+263 -157
View File
@@ -3,7 +3,7 @@
<Components>
<c:CapturePointGameMode>
<RespawnTime>0.35657206405745967</RespawnTime>
<RespawnTime>0.10012471663946698</RespawnTime>
<MaxRespawnTime>0.5</MaxRespawnTime>
</c:CapturePointGameMode>
<c:Transform>
@@ -19,7 +19,11 @@
<Red/>
</Team>
</c:Team>
<c:PlayerSpawn/>
<c:PlayerSpawn>
<AssaultFile>Schema/Entities/PlayerAssaultRed.xml</AssaultFile>
<DefenderFile>Schema/Entities/PlayerDefenderRed.xml</DefenderFile>
<SniperFile></SniperFile>
</c:PlayerSpawn>
<c:Spawner>
<EntityFile>Schema/Entities/PlayerDefenderBlue.xml</EntityFile>
</c:Spawner>
@@ -90,7 +94,11 @@
<Blue/>
</Team>
</c:Team>
<c:PlayerSpawn/>
<c:PlayerSpawn>
<AssaultFile>Schema/Entities/PlayerAssaultBlue.xml</AssaultFile>
<DefenderFile>Schema/Entities/PlayerDefenderBlue.xml</DefenderFile>
<SniperFile></SniperFile>
</c:PlayerSpawn>
<c:Spawner>
<EntityFile>Schema/Entities/PlayerAssaultBlue.xml</EntityFile>
</c:Spawner>
@@ -269,7 +277,7 @@
</c:RaptorCopter>
<c:Transform>
<Position X="0" Y="-30.6910019" Z="0"/>
<Orientation X="0" Y="39.1253624" Z="0"/>
<Orientation X="0" Y="43.4443054" Z="0"/>
</c:Transform>
</Components>
<Children>
@@ -417,7 +425,7 @@
<Components>
<c:Animation>
<AnimationName>AssaultPoseF</AnimationName>
<Time>2.2728534617500387</Time>
<Time>0.65905298965262915</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -433,7 +441,7 @@
<Resource>Models/Weapons/Blue/AssaultWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.160869107" Y="1.21713078" Z="-0.151224568"/>
<Position X="0.160869107" Y="1.21468747" Z="-0.151224568"/>
<Orientation X="1.90465617" Y="-0.166544378" Z="0.0701896623"/>
</c:Transform>
</Components>
@@ -816,7 +824,7 @@
<Components>
<c:Animation>
<AnimationName>DefenderPoseF</AnimationName>
<Time>1.4396916405947664</Time>
<Time>2.3258911684973569</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -832,8 +840,8 @@
<Resource>Models/Weapons/Blue/DefenderWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.196064115" Y="0.705373585" Z="0.0272535309"/>
<Orientation X="-1.3924278" Y="-0.0973875821" Z="0.332219422"/>
<Position X="0.195810497" Y="0.711551607" Z="0.0388058722"/>
<Orientation X="-1.3924278" Y="-0.0973876044" Z="0.332219511"/>
</c:Transform>
</Components>
<Children/>
@@ -1089,22 +1097,6 @@
<c:Transform/>
</Components>
<Children>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="-0.21800001" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
@@ -1136,6 +1128,22 @@
</Components>
<Children/>
</Entity>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="-0.21800001" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopLeft">
<Components>
<c:Sprite>
@@ -1177,7 +1185,7 @@
<Components>
<c:Animation>
<AnimationName>SniperPoseF</AnimationName>
<Time>1.6727845840185651</Time>
<Time>0.058984111921155602</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -1193,8 +1201,8 @@
<Resource>Models/Weapons/Blue/SecondaryWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="-0.0454485044" Y="1.06437671" Z="-0.125484675"/>
<Orientation X="-1.50533736" Y="1.34000039" Z="-1.34724414"/>
<Position X="-0.0454485416" Y="1.07162762" Z="-0.12548463"/>
<Orientation X="-1.50533807" Y="1.34000039" Z="-1.34724486"/>
</c:Transform>
</Components>
<Children/>
@@ -1428,14 +1436,14 @@
<Entity name="PickTeamHUD">
<Components>
<c:Transform>
<Position X="0" Y="0" Z="-0.63500005"/>
<Position X="0" Y="0.0200000014" Z="-0.63500005"/>
</c:Transform>
</Components>
<Children>
<Entity name="TeamBluePick">
<Components>
<c:Transform>
<Position X="-0.114000008" Y="0.0190000013" Z="0"/>
<Position X="-0.131000012" Y="0.0190000013" Z="0"/>
</c:Transform>
</Components>
<Children>
@@ -1447,14 +1455,14 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="0.349019617" G="0" R="0"/>
<Color A="0.392156869" B="0.768627465" G="0" R="0"/>
</c:Sprite>
<c:InputCmdButton>
<Command>PickTeam</Command>
<PressValue>3</PressValue>
</c:InputCmdButton>
<c:Transform>
<Scale X="0.207000017" Y="0.249000013" Z="1"/>
<Scale X="0.24000001" Y="0.307000011" Z="1"/>
</c:Transform>
</Components>
<Children/>
@@ -1471,9 +1479,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.100000001" Y="-0.121000007" Z="0.00499999989"/>
<Position X="0.118000008" Y="-0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1487,9 +1496,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.100000001" Y="0.120000005" Z="0.00499999989"/>
<Position X="0.118000008" Y="0.150000006" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
@@ -1502,9 +1512,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.100000001" Y="-0.121000007" Z="0.00499999989"/>
<Position X="-0.117000006" Y="-0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="3.14900017"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1518,9 +1529,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.100000001" Y="0.121000007" Z="0.00499999989"/>
<Position X="-0.117000006" Y="0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="1.5710001"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1534,6 +1546,7 @@
<c:Text>
<Content>Blue</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Visible>false</Visible>
<Alignment>
<Left/>
</Alignment>
@@ -1545,127 +1558,27 @@
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="TeamRedPick">
<Components>
<c:Transform>
<Position X="0.114" Y="0.0189999994" Z="0"/>
</c:Transform>
</Components>
<Children>
<Entity name="Button_1">
<Entity>
<Components>
<c:Button/>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="0" G="0" R="0.556862772"/>
<DiffuseTexture>Textures/HUD/BlueTeam.png</DiffuseTexture>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:InputCmdButton>
<Command>PickTeam</Command>
<PressValue>2</PressValue>
</c:InputCmdButton>
<c:Transform>
<Scale X="0.207000017" Y="0.249000013" Z="1"/>
<Position X="0" Y="-0.00900000054" Z="0.00600000005"/>
<Scale X="0.340000004" Y="0.340000004" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Text">
<Components>
<c:Text>
<Content>Red</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="-0.0890000015" Y="-0.105000004" Z="0.00499999989"/>
<Scale X="0.0500000007" Y="0.0500000007" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="ButtonCorner_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.100000001" Y="-0.121000007" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.100000001" Y="0.120000005" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="-0.100000001" Y="-0.121000007" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="3.14900017"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="-0.100000001" Y="0.121000007" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="1.5710001"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="TeamSpectatorPick">
<Components>
<c:Transform>
<Position X="0" Y="-0.153000012" Z="0"/>
<Position X="0" Y="-0.184000015" Z="0"/>
</c:Transform>
</Components>
<Children>
@@ -1680,11 +1593,11 @@
<Color A="0.392156869" B="0" G="0" R="0"/>
</c:Sprite>
<c:InputCmdButton>
<Command>PickTeam</Command>
<Command>PickTeam_</Command>
<PressValue>1</PressValue>
</c:InputCmdButton>
<c:Transform>
<Scale X="0.435000032" Y="0.0520000011" Z="1"/>
<Scale X="0.502000034" Y="0.0530000031" Z="1"/>
</c:Transform>
</Components>
<Children/>
@@ -1693,7 +1606,7 @@
<Components>
<c:Text>
<Content>Spectator</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
</c:Text>
<c:Transform>
<Position X="0" Y="-0.00800000038" Z="0.00499999989"/>
@@ -1714,9 +1627,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.214000016" Y="-0.0230000019" Z="0.00499999989"/>
<Position X="0.248000011" Y="-0.0230000019" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1730,9 +1644,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.214000002" Y="0.0240000002" Z="0.00499999989"/>
<Position X="0.247000009" Y="0.0240000002" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
@@ -1745,9 +1660,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.214000002" Y="-0.023" Z="0.00499999989"/>
<Position X="-0.247000009" Y="-0.023" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="3.14900017"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1761,9 +1677,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.214000002" Y="0.0240000002" Z="0.00499999989"/>
<Position X="-0.247000009" Y="0.0240000002" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="1.5710001"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1774,6 +1691,141 @@
</Entity>
</Children>
</Entity>
<Entity name="TeamRedPick">
<Components>
<c:Transform>
<Position X="0.130999997" Y="0.0190000013" Z="0"/>
</c:Transform>
</Components>
<Children>
<Entity name="Button_1">
<Components>
<c:Button/>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="0" G="0" R="0.90196079"/>
</c:Sprite>
<c:InputCmdButton>
<Command>PickTeam</Command>
<PressValue>2</PressValue>
</c:InputCmdButton>
<c:Transform>
<Scale X="0.24000001" Y="0.307000011" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="ButtonCorner_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.118000008" Y="-0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.118000008" Y="0.150000006" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.117000006" Y="-0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="3.14900017"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.117000006" Y="0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="1.5710001"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Text">
<Components>
<c:Text>
<Content>Blue</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Visible>false</Visible>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="-0.00900000054" Y="-0.105000004" Z="0.00499999989"/>
<Scale X="0.0500000007" Y="0.0500000007" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity>
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/RedTeam.png</DiffuseTexture>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0" Y="-0.00900000054" Z="0.00600000005"/>
<Scale X="0.340000004" Y="0.340000004" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
@@ -2182,6 +2234,60 @@
</Entity>
</Children>
</Entity>
<Entity name="KillFeed">
<Components>
<c:KillFeed/>
<c:Transform>
<Position X="0.494000018" Y="0.252000004" Z="0"/>
<Scale X="0.0149999997" Y="0.0149999997" Z="0.0149999997"/>
</c:Transform>
</Components>
<Children>
<Entity name="KillFeed1">
<Components>
<c:Text>
<Content></Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Alignment>
<Right/>
</Alignment>
</c:Text>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="KillFeed2">
<Components>
<c:Text>
<Content></Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Alignment>
<Right/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="0" Y="-1" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="KillFeed3">
<Components>
<c:Text>
<Content></Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Alignment>
<Right/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="0" Y="-2" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
@@ -2322,7 +2428,7 @@
<Components>
<c:Animation>
<AnimationName>AssaultPoseF</AnimationName>
<Time>0.9949657277747761</Time>
<Time>1.8811652556773666</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2338,7 +2444,7 @@
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.160869107" Y="1.21340287" Z="-0.151224568"/>
<Position X="0.160869107" Y="1.21425688" Z="-0.151224568"/>
<Orientation X="1.90465617" Y="-0.166544378" Z="0.0701896623"/>
</c:Transform>
</Components>
@@ -2721,7 +2827,7 @@
<Components>
<c:Animation>
<AnimationName>DefenderPoseF</AnimationName>
<Time>1.0951743489513674</Time>
<Time>1.9813738768539579</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2737,8 +2843,8 @@
<Resource>Models/Weapons/Red/DefenderWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.195622981" Y="0.70677036" Z="0.0300085638"/>
<Orientation X="-1.39242733" Y="-0.0973875821" Z="0.332219303"/>
<Position X="0.195940435" Y="0.708098531" Z="0.0331460983"/>
<Orientation X="-1.39242768" Y="-0.0973874852" Z="0.332219243"/>
</c:Transform>
</Components>
<Children/>
@@ -3082,7 +3188,7 @@
<Components>
<c:Animation>
<AnimationName>SniperPoseF</AnimationName>
<Time>1.0119983488063795</Time>
<Time>1.89819787670897</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -3098,8 +3204,8 @@
<Resource>Models/Weapons/Red/SecondaryWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="-0.045448523" Y="1.06568146" Z="-0.125484601"/>
<Orientation X="-1.50533819" Y="1.34000111" Z="-1.3472451"/>
<Position X="-0.0454485491" Y="1.06597364" Z="-0.125484616"/>
<Orientation X="-1.50533819" Y="1.34000039" Z="-1.34724486"/>
</c:Transform>
</Components>
<Children/>
@@ -130,6 +130,66 @@
</Entity>
</Children>
</Entity>
<Entity name="Lights">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="Light_front">
<Components>
<c:Model>
<Resource>Models/Core/UnitSphere.mesh</Resource>
<Visible>false</Visible>
<Shadow>false</Shadow>
</c:Model>
<c:PointLight>
<Color A="1" B="0.588235319" G="0.588235319" R="1"/>
</c:PointLight>
<c:Transform>
<Position X="-0.000288648967" Y="0.000489665952" Z="0.0824639797"/>
<Scale X="0.0299999993" Y="0.0299999993" Z="0.0299999993"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Light_Side">
<Components>
<c:Model>
<Resource>Models/Core/UnitSphere.mesh</Resource>
<Color A="1" B="1" G="1" R="0"/>
<Visible>false</Visible>
<Shadow>false</Shadow>
</c:Model>
<c:PointLight>
<Color A="1" B="0.588235319" G="0.588235319" R="1"/>
<Radius>0.40000000596046448</Radius>
</c:PointLight>
<c:Transform>
<Position X="-0.0870000049" Y="0.0210000016" Z="0.186000004"/>
<Scale X="0.0299999993" Y="0.0299999993" Z="0.0299999993"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Light_front2">
<Components>
<c:Model>
<Resource>Models/Core/UnitSphere.mesh</Resource>
<Visible>false</Visible>
<Shadow>false</Shadow>
</c:Model>
<c:PointLight>
<Color A="1" B="0.588235319" G="0.588235319" R="1"/>
</c:PointLight>
<c:Transform>
<Position X="0.000448234321" Y="-0.000760387513" Z="-0.323961914"/>
<Scale X="0.0299999993" Y="0.0299999993" Z="0.0299999993"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -0,0 +1,219 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="MuzzleFlashBlueSidearm" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Lifetime>
<Lifetime>0.080000000000000002</Lifetime>
</c:Lifetime>
<c:Transform/>
</Components>
<Children>
<Entity name="Level1">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="Cone1Outside">
<Components>
<c:Fade>
<FadeTime>0.080000000000000002</FadeTime>
</c:Fade>
<c:Model>
<GlowIntensity>2</GlowIntensity>
<Resource>Models/Effects/MuzzleFlash/Red/Cone1Outside.mesh</Resource>
<Shadow>false</Shadow>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Cone1Inside">
<Components>
<c:Fade>
<FadeTime>0.080000000000000002</FadeTime>
</c:Fade>
<c:Model>
<GlowIntensity>2</GlowIntensity>
<Resource>Models/Effects/MuzzleFlash/Red/Cone1Inside.mesh</Resource>
<Shadow>false</Shadow>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Level2">
<Components>
<c:Transform>
<Position X="0.000134464673" Y="8.11116188e-05" Z="-0.0197895896"/>
</c:Transform>
</Components>
<Children>
<Entity name="Cone2Inside">
<Components>
<c:Fade>
<FadeTime>0.080000000000000002</FadeTime>
</c:Fade>
<c:Model>
<GlowIntensity>2</GlowIntensity>
<Resource>Models/Effects/MuzzleFlash/Red/Cone2Inside.mesh</Resource>
<Shadow>false</Shadow>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Cone2Outside">
<Components>
<c:Fade>
<FadeTime>0.080000000000000002</FadeTime>
</c:Fade>
<c:Model>
<GlowIntensity>2</GlowIntensity>
<Resource>Models/Effects/MuzzleFlash/Red/Cone2Outside.mesh</Resource>
<Shadow>false</Shadow>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Level3">
<Components>
<c:Transform>
<Position X="0.000216802931" Y="0.000130779619" Z="-0.0319075659"/>
</c:Transform>
</Components>
<Children>
<Entity name="PlaneLeft">
<Components>
<c:Fade>
<FadeTime>0.080000000000000002</FadeTime>
</c:Fade>
<c:Model>
<GlowIntensity>2</GlowIntensity>
<Resource>Models/Effects/MuzzleFlash/Red/PlaneLeft.mesh</Resource>
<Shadow>false</Shadow>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="PlaneRight">
<Components>
<c:Fade>
<FadeTime>0.080000000000000002</FadeTime>
</c:Fade>
<c:Model>
<GlowIntensity>2</GlowIntensity>
<Resource>Models/Effects/MuzzleFlash/Red/PlaneRight.mesh</Resource>
<Shadow>false</Shadow>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="PlaneUp">
<Components>
<c:Fade>
<FadeTime>0.080000000000000002</FadeTime>
</c:Fade>
<c:Model>
<GlowIntensity>2</GlowIntensity>
<Resource>Models/Effects/MuzzleFlash/Red/PlaneUp.mesh</Resource>
<Shadow>false</Shadow>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="PlaneDown">
<Components>
<c:Fade>
<FadeTime>0.080000000000000002</FadeTime>
</c:Fade>
<c:Model>
<GlowIntensity>2</GlowIntensity>
<Resource>Models/Effects/MuzzleFlash/Red/PlaneDown.mesh</Resource>
<Shadow>false</Shadow>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Lights">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="Light_front">
<Components>
<c:Model>
<Resource>Models/Core/UnitSphere.mesh</Resource>
<Visible>false</Visible>
<Shadow>false</Shadow>
</c:Model>
<c:PointLight>
<Color A="1" B="0.588235319" G="0.588235319" R="1"/>
</c:PointLight>
<c:Transform>
<Position X="-0.000288648967" Y="0.000489665952" Z="0.0824639797"/>
<Scale X="0.0299999993" Y="0.0299999993" Z="0.0299999993"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Light_Side">
<Components>
<c:Model>
<Resource>Models/Core/UnitSphere.mesh</Resource>
<Color A="1" B="1" G="1" R="0"/>
<Visible>false</Visible>
<Shadow>false</Shadow>
</c:Model>
<c:PointLight>
<Color A="1" B="0.588235319" G="0.588235319" R="1"/>
<Radius>0.40000000596046448</Radius>
</c:PointLight>
<c:Transform>
<Position X="-0.0870000049" Y="0.0210000016" Z="0.186000004"/>
<Scale X="0.0299999993" Y="0.0299999993" Z="0.0299999993"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Light_front2">
<Components>
<c:Model>
<Resource>Models/Core/UnitSphere.mesh</Resource>
<Visible>false</Visible>
<Shadow>false</Shadow>
</c:Model>
<c:PointLight>
<Color A="1" B="0.588235319" G="0.588235319" R="1"/>
</c:PointLight>
<c:Transform>
<Position X="0.000448234321" Y="-0.000760387513" Z="-0.323961914"/>
<Scale X="0.0299999993" Y="0.0299999993" Z="0.0299999993"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
+214 -170
View File
@@ -8,7 +8,7 @@
</c:RaptorCopter>
<c:Transform>
<Position X="0" Y="-30.6910019" Z="0"/>
<Orientation X="0" Y="43.1977272" Z="0"/>
<Orientation X="0" Y="43.2517357" Z="0"/>
</c:Transform>
</Components>
@@ -69,6 +69,21 @@
<c:Transform/>
</Components>
<Children>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="0.217999995" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomRight">
<Components>
<c:Sprite>
@@ -85,21 +100,6 @@
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="0.217999995" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
@@ -157,7 +157,7 @@
<Components>
<c:Animation>
<AnimationName>AssaultPoseF</AnimationName>
<Time>1.725669683907423</Time>
<Time>0.32571926651889171</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -173,7 +173,7 @@
<Resource>Models/Weapons/Blue/AssaultWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.160869107" Y="1.21322453" Z="-0.151224568"/>
<Position X="0.160869107" Y="1.21624839" Z="-0.151224568"/>
<Orientation X="1.90465617" Y="-0.166544378" Z="0.0701896623"/>
</c:Transform>
</Components>
@@ -556,7 +556,7 @@
<Components>
<c:Animation>
<AnimationName>DefenderPoseF</AnimationName>
<Time>0.89250786275215077</Time>
<Time>1.9925574453636195</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -572,8 +572,8 @@
<Resource>Models/Weapons/Blue/DefenderWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.195243329" Y="0.708130419" Z="0.0326478258"/>
<Orientation X="-1.39242756" Y="-0.0973875225" Z="0.332219273"/>
<Position X="0.195935503" Y="0.708206475" Z="0.0333581194"/>
<Orientation X="-1.39242768" Y="-0.0973875299" Z="0.332219183"/>
</c:Transform>
</Components>
<Children/>
@@ -829,6 +829,22 @@
<c:Transform/>
</Components>
<Children>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="-0.142000005" Y="-0.217999995" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="3.14900017"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomRight">
<Components>
<c:Sprite>
@@ -860,22 +876,6 @@
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="-0.142000005" Y="-0.217999995" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="3.14900017"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopLeft">
<Components>
<c:Sprite>
@@ -917,7 +917,7 @@
<Components>
<c:Animation>
<AnimationName>SniperPoseF</AnimationName>
<Time>1.1256008061759495</Time>
<Time>2.2256503887874182</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -933,8 +933,8 @@
<Resource>Models/Weapons/Blue/SecondaryWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="-0.0454485789" Y="1.06511343" Z="-0.125484645"/>
<Orientation X="-1.50533736" Y="1.34000039" Z="-1.34724438"/>
<Position X="-0.0454485565" Y="1.06937242" Z="-0.125484601"/>
<Orientation X="-1.50533795" Y="1.34000087" Z="-1.34724462"/>
</c:Transform>
</Components>
<Children/>
@@ -1168,14 +1168,14 @@
<Entity name="PickTeamHUD">
<Components>
<c:Transform>
<Position X="0" Y="0" Z="-0.63500005"/>
<Position X="0" Y="0.0200000014" Z="-0.63500005"/>
</c:Transform>
</Components>
<Children>
<Entity name="TeamBluePick">
<Components>
<c:Transform>
<Position X="-0.114000008" Y="0.0190000013" Z="0"/>
<Position X="-0.131000012" Y="0.0190000013" Z="0"/>
</c:Transform>
</Components>
<Children>
@@ -1187,14 +1187,14 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="0.349019617" G="0" R="0"/>
<Color A="0.392156869" B="0.768627465" G="0" R="0"/>
</c:Sprite>
<c:InputCmdButton>
<Command>PickTeam</Command>
<PressValue>3</PressValue>
</c:InputCmdButton>
<c:Transform>
<Scale X="0.207000017" Y="0.249000013" Z="1"/>
<Scale X="0.24000001" Y="0.307000011" Z="1"/>
</c:Transform>
</Components>
<Children/>
@@ -1211,9 +1211,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.100000001" Y="-0.121000007" Z="0.00499999989"/>
<Position X="0.118000008" Y="-0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1227,9 +1228,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.100000001" Y="0.120000005" Z="0.00499999989"/>
<Position X="0.118000008" Y="0.150000006" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
@@ -1242,9 +1244,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.100000001" Y="-0.121000007" Z="0.00499999989"/>
<Position X="-0.117000006" Y="-0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="3.14900017"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1258,9 +1261,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.100000001" Y="0.121000007" Z="0.00499999989"/>
<Position X="-0.117000006" Y="0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="1.5710001"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1274,6 +1278,7 @@
<c:Text>
<Content>Blue</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Visible>false</Visible>
<Alignment>
<Left/>
</Alignment>
@@ -1285,127 +1290,27 @@
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="TeamRedPick">
<Components>
<c:Transform>
<Position X="0.114" Y="0.0189999994" Z="0"/>
</c:Transform>
</Components>
<Children>
<Entity name="Button_1">
<Entity>
<Components>
<c:Button/>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="0" G="0" R="0.556862772"/>
<DiffuseTexture>Textures/HUD/BlueTeam.png</DiffuseTexture>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:InputCmdButton>
<Command>PickTeam</Command>
<PressValue>2</PressValue>
</c:InputCmdButton>
<c:Transform>
<Scale X="0.207000017" Y="0.249000013" Z="1"/>
<Position X="0" Y="-0.00900000054" Z="0.00600000005"/>
<Scale X="0.340000004" Y="0.340000004" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Text">
<Components>
<c:Text>
<Content>Red</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="-0.0890000015" Y="-0.105000004" Z="0.00499999989"/>
<Scale X="0.0500000007" Y="0.0500000007" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="ButtonCorner_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.100000001" Y="-0.121000007" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.100000001" Y="0.120000005" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="-0.100000001" Y="-0.121000007" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="3.14900017"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="-0.100000001" Y="0.121000007" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="1.5710001"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="TeamSpectatorPick">
<Components>
<c:Transform>
<Position X="0" Y="-0.153000012" Z="0"/>
<Position X="0" Y="-0.184000015" Z="0"/>
</c:Transform>
</Components>
<Children>
@@ -1420,11 +1325,11 @@
<Color A="0.392156869" B="0" G="0" R="0"/>
</c:Sprite>
<c:InputCmdButton>
<Command>PickTeam</Command>
<Command>PickTeam_</Command>
<PressValue>1</PressValue>
</c:InputCmdButton>
<c:Transform>
<Scale X="0.435000032" Y="0.0520000011" Z="1"/>
<Scale X="0.502000034" Y="0.0530000031" Z="1"/>
</c:Transform>
</Components>
<Children/>
@@ -1433,7 +1338,7 @@
<Components>
<c:Text>
<Content>Spectator</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
</c:Text>
<c:Transform>
<Position X="0" Y="-0.00800000038" Z="0.00499999989"/>
@@ -1454,9 +1359,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.214000016" Y="-0.0230000019" Z="0.00499999989"/>
<Position X="0.248000011" Y="-0.0230000019" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1470,9 +1376,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.214000002" Y="0.0240000002" Z="0.00499999989"/>
<Position X="0.247000009" Y="0.0240000002" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
@@ -1485,9 +1392,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.214000002" Y="-0.023" Z="0.00499999989"/>
<Position X="-0.247000009" Y="-0.023" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="3.14900017"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1501,9 +1409,10 @@
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.214000002" Y="0.0240000002" Z="0.00499999989"/>
<Position X="-0.247000009" Y="0.0240000002" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="1.5710001"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
@@ -1514,6 +1423,141 @@
</Entity>
</Children>
</Entity>
<Entity name="TeamRedPick">
<Components>
<c:Transform>
<Position X="0.130999997" Y="0.0190000013" Z="0"/>
</c:Transform>
</Components>
<Children>
<Entity name="Button_1">
<Components>
<c:Button/>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="0" G="0" R="0.90196079"/>
</c:Sprite>
<c:InputCmdButton>
<Command>PickTeam</Command>
<PressValue>2</PressValue>
</c:InputCmdButton>
<c:Transform>
<Scale X="0.24000001" Y="0.307000011" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="ButtonCorner_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.118000008" Y="-0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.118000008" Y="0.150000006" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.117000006" Y="-0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="3.14900017"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="-0.117000006" Y="0.150000006" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="1.5710001"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Text">
<Components>
<c:Text>
<Content>Blue</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Visible>false</Visible>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="-0.00900000054" Y="-0.105000004" Z="0.00499999989"/>
<Scale X="0.0500000007" Y="0.0500000007" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity>
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/RedTeam.png</DiffuseTexture>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0" Y="-0.00900000054" Z="0.00600000005"/>
<Scale X="0.340000004" Y="0.340000004" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
@@ -1534,7 +1578,7 @@
<Entity name="RespawnTimer">
<Components>
<c:Text>
<Content>2</Content>
<Content>1</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="0" G="1" R="0.784313738"/>
</c:Text>
@@ -2116,7 +2160,7 @@
<Components>
<c:Animation>
<AnimationName>AssaultPoseF</AnimationName>
<Time>0.44778194993216047</Time>
<Time>1.5478315325436292</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2132,7 +2176,7 @@
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.160869107" Y="1.21565855" Z="-0.151224568"/>
<Position X="0.160869107" Y="1.21257317" Z="-0.151224568"/>
<Orientation X="1.90465617" Y="-0.166544378" Z="0.0701896623"/>
</c:Transform>
</Components>
@@ -2515,7 +2559,7 @@
<Components>
<c:Animation>
<AnimationName>DefenderPoseF</AnimationName>
<Time>0.54799057110875182</Time>
<Time>1.6480401537202205</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2531,8 +2575,8 @@
<Resource>Models/Weapons/Red/DefenderWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.194819659" Y="0.710372686" Z="0.0368246883"/>
<Orientation X="-1.39242768" Y="-0.0973874852" Z="0.332219452"/>
<Position X="0.196060285" Y="0.705655158" Z="0.0279245265"/>
<Orientation X="-1.3924278" Y="-0.0973875448" Z="0.332219273"/>
</c:Transform>
</Components>
<Children/>
@@ -2876,7 +2920,7 @@
<Components>
<c:Animation>
<AnimationName>SniperPoseF</AnimationName>
<Time>0.46481457096376388</Time>
<Time>1.5648641535752326</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2892,8 +2936,8 @@
<Resource>Models/Weapons/Red/SecondaryWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="-0.0454485677" Y="1.06916106" Z="-0.125484571"/>
<Orientation X="-1.50533819" Y="1.34000111" Z="-1.3472451"/>
<Position X="-0.0454485565" Y="1.06404948" Z="-0.12548466"/>
<Orientation X="-1.5053376" Y="1.34000039" Z="-1.34724426"/>
</c:Transform>
</Components>
<Children/>
+242 -15
View File
@@ -572,6 +572,7 @@
<c:Shielded/>
<c:HiddenForLocalPlayer/>
<c:Model>
<GlowIntensity>2.2000000476837158</GlowIntensity>
<Resource>Models/Characters/Assault/AssaultBlue.mesh</Resource>
</c:Model>
<c:Transform/>
@@ -586,8 +587,8 @@
<EntityFile>Schema/Entities/WeaponAssaultBlueWorld.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.128669813" Y="1.08486295" Z="-0.361068189"/>
<Orientation X="-0.0353792347" Y="-0.0854677409" Z="0.133094937"/>
<Position X="0.165036291" Y="1.03316653" Z="-0.230842277"/>
<Orientation X="-0.0310075935" Y="-0.0666775182" Z="0.132169068"/>
</c:Transform>
<c:WeaponAttachment>
<Weapon>AssaultWeapon</Weapon>
@@ -607,8 +608,8 @@
<EntityFile>Schema/Entities/SidearmWeaponBlueWorld.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.128669813" Y="1.08486295" Z="-0.361068189"/>
<Orientation X="-0.0353792347" Y="-0.0854677409" Z="0.133094937"/>
<Position X="0.165036291" Y="1.03316653" Z="-0.230842277"/>
<Orientation X="-0.0310075935" Y="-0.0666775182" Z="0.132169068"/>
</c:Transform>
<c:WeaponAttachment>
<Weapon>SidearmWeapon</Weapon>
@@ -675,7 +676,7 @@
<Components>
<c:Animation>
<AnimationName>CrouchStrafeLeftF</AnimationName>
<Time>0.14513013667773755</Time>
<Time>0.47961568648540975</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -686,7 +687,7 @@
<Components>
<c:Animation>
<AnimationName>CrouchStrafeRightF</AnimationName>
<Time>0.072451598628520131</Time>
<Time>0.40693714843619233</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -699,7 +700,7 @@
<Components>
<c:Animation>
<AnimationName>CrouchWalkF</AnimationName>
<Time>0.8508255838059231</Time>
<Time>0.1853111336135953</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -712,7 +713,7 @@
<Components>
<c:Animation>
<AnimationName>CrouchF</AnimationName>
<Time>1.5240530807526143</Time>
<Time>1.8585386305602865</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -755,7 +756,7 @@
<Components>
<c:Animation>
<AnimationName>WalkF</AnimationName>
<Time>0.35598021321569639</Time>
<Time>0.87165493950985962</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -766,7 +767,7 @@
<Components>
<c:Animation>
<AnimationName>RunF</AnimationName>
<Time>0.3084600556940007</Time>
<Time>0.33980950828232714</Time>
<Speed>2</Speed>
<Play>true</Play>
</c:Animation>
@@ -790,7 +791,7 @@
<Components>
<c:Animation>
<AnimationName>StrafeLeftF</AnimationName>
<Time>0.91116869109547771</Time>
<Time>0.94251814368380415</Time>
<Speed>2</Speed>
<Play>true</Play>
</c:Animation>
@@ -802,7 +803,7 @@
<Components>
<c:Animation>
<AnimationName>StrafeRightF</AnimationName>
<Time>0.98857969993144401</Time>
<Time>0.019929152519770454</Time>
<Speed>2</Speed>
<Play>true</Play>
</c:Animation>
@@ -818,7 +819,7 @@
<Components>
<c:Animation>
<AnimationName>IdleF</AnimationName>
<Time>0.85485929533452953</Time>
<Time>0.55386718012173475</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -944,7 +945,7 @@
<c:Blend>
<Pose1>AssaultWeapon</Pose1>
<Pose2>SidearmWeapon</Pose2>
<Weight>1</Weight>
<Weight>0</Weight>
<SubTreeRoot>true</SubTreeRoot>
</c:Blend>
<c:Transform/>
@@ -1005,7 +1006,7 @@
<Components>
<c:Animation>
<AnimationName>IdleAssaultRifleU</AnimationName>
<Time>1.9871198993639698</Time>
<Time>1.502794625658133</Time>
<Play>true</Play>
<Additive>true</Additive>
</c:Animation>
@@ -1108,6 +1109,232 @@
</Entity>
</Children>
</Entity>
<Entity name="Lights">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="Elbow_Left">
<Components>
<c:BoneAttachment>
<BoneName>L_Elbow</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="-0.0546795987" Y="0.970895708" Z="-0.395071507"/>
<Orientation X="-2.67347836" Y="-1.14967656" Z="-2.35179591"/>
</c:Transform>
</Components>
<Children>
<Entity name="Upper">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.119805202" Y="0.0187246669" Z="-0.0205985513"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Lower">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.0430894755" Y="-0.0822322816" Z="0.0446314402"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Elbow_Right">
<Components>
<c:BoneAttachment>
<BoneName>R_Elbow</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.311819345" Y="1.00506735" Z="-0.00708915293"/>
<Orientation X="1.66802835" Y="1.3856616" Z="0.553554595"/>
</c:Transform>
</Components>
<Children>
<Entity name="Upper">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.119999997" Y="0.0187246669" Z="-0.0205985513"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Lower">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.0430000015" Y="-0.0822322816" Z="0.0446314402"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Head">
<Components>
<c:BoneAttachment>
<BoneName>Head</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.0847049356" Y="1.25094736" Z="-0.146904141"/>
<Orientation X="-0.270355761" Y="-0.134028792" Z="-0.181556195"/>
</c:Transform>
</Components>
<Children>
<Entity name="Left">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.117407471" Y="0.0664995536" Z="-0.00829757564"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Right">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.116999999" Y="0.0664995536" Z="-0.00829757564"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Leg_top_left">
<Components>
<c:BoneAttachment>
<BoneName>L_Leg_Top</BoneName>
<PositionOffset X="-0.116000004" Y="0.0500000007" Z="0.0360000022"/>
</c:BoneAttachment>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.187708378" Y="0.720764816" Z="0.0189282075"/>
<Orientation X="0.690089703" Y="-0.0030452935" Z="-0.0742322952"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Leg_top_Right">
<Components>
<c:BoneAttachment>
<BoneName>R_Leg_Top</BoneName>
<PositionOffset X="0.0800000057" Y="0.0730000064" Z="0.064000003"/>
</c:BoneAttachment>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.149033397" Y="0.743774891" Z="0.0911710933"/>
<Orientation X="0.00418904377" Y="-0.590482414" Z="0.240698725"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Leg_bottom_Left">
<Components>
<c:BoneAttachment>
<BoneName>L_Leg_Bottomdw</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="-0.121549807" Y="0.396206558" Z="-0.258821368"/>
<Orientation X="0.0123701356" Y="0.0872921124" Z="-0.0923962742"/>
</c:Transform>
</Components>
<Children>
<Entity name="Outside">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.0752567574" Y="-0.0357234403" Z="0.0396512263"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Inside">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.075000003" Y="-0.0357234403" Z="0.0396512263"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Leg_bottom_Right">
<Components>
<c:BoneAttachment>
<BoneName>R_Leg_Bottom</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.184887171" Y="0.323244393" Z="0.0367886424"/>
<Orientation X="-0.714135528" Y="-0.644820809" Z="0.337111086"/>
</c:Transform>
</Components>
<Children>
<Entity name="Inside">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.0752567574" Y="-0.0357234403" Z="0.0396512263"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Outside">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.075000003" Y="-0.0357234403" Z="0.0396512263"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="AABBStanding">
File diff suppressed because it is too large Load Diff
+297 -15
View File
@@ -579,6 +579,7 @@
<c:Shielded/>
<c:HiddenForLocalPlayer/>
<c:Model>
<GlowIntensity>2.2000000476837158</GlowIntensity>
<Resource>Models/Characters/Defender/DefenderBlue.mesh</Resource>
</c:Model>
<c:Transform/>
@@ -593,8 +594,8 @@
<EntityFile>Schema/Entities/WeaponDefenderBlueWorld.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.160437703" Y="1.04422736" Z="-0.295565188"/>
<Orientation X="-0.105441377" Y="-0.0721141845" Z="0.143959135"/>
<Position X="0.150445178" Y="1.04946244" Z="-0.300744236"/>
<Orientation X="-0.100557618" Y="-0.0389867723" Z="0.143711939"/>
</c:Transform>
<c:WeaponAttachment>
<Weapon>DefenderWeapon</Weapon>
@@ -614,8 +615,8 @@
<EntityFile>Schema/Entities/SidearmWeaponBlueWorld.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.160437703" Y="1.04422736" Z="-0.295565188"/>
<Orientation X="-0.105441377" Y="-0.0721141845" Z="0.143959135"/>
<Position X="0.150445178" Y="1.04946244" Z="-0.300744236"/>
<Orientation X="-0.100557618" Y="-0.0389867723" Z="0.143711939"/>
</c:Transform>
<c:WeaponAttachment>
<Weapon>SidearmWeapon</Weapon>
@@ -682,7 +683,7 @@
<Components>
<c:Animation>
<AnimationName>CrouchStrafeLeftF</AnimationName>
<Time>0.89884525886057709</Time>
<Time>0.75511438140459752</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -693,7 +694,7 @@
<Components>
<c:Animation>
<AnimationName>CrouchStrafeRightF</AnimationName>
<Time>0.82616672081135967</Time>
<Time>0.6824358433553801</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -706,7 +707,7 @@
<Components>
<c:Animation>
<AnimationName>CrouchWalkF</AnimationName>
<Time>0.60454070598876264</Time>
<Time>0.46080982853278307</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -719,7 +720,7 @@
<Components>
<c:Animation>
<AnimationName>CrouchF</AnimationName>
<Time>0.27776820293545335</Time>
<Time>1.1340373254794738</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -762,7 +763,7 @@
<Components>
<c:Animation>
<AnimationName>WalkF</AnimationName>
<Time>0.10969533539853593</Time>
<Time>0.080924354358268502</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -773,7 +774,7 @@
<Components>
<c:Animation>
<AnimationName>RunF</AnimationName>
<Time>0.81589030005967977</Time>
<Time>0.75834833797914492</Time>
<Speed>2</Speed>
<Play>true</Play>
</c:Animation>
@@ -797,7 +798,7 @@
<Components>
<c:Animation>
<AnimationName>StrafeLeftF</AnimationName>
<Time>0.41859893546115678</Time>
<Time>0.36105697338062193</Time>
<Speed>2</Speed>
<Play>true</Play>
</c:Animation>
@@ -809,7 +810,7 @@
<Components>
<c:Animation>
<AnimationName>StrafeRightF</AnimationName>
<Time>0.49600994429712308</Time>
<Time>0.43846798221658823</Time>
<Speed>2</Speed>
<Play>true</Play>
</c:Animation>
@@ -825,7 +826,7 @@
<Components>
<c:Animation>
<AnimationName>IdleF</AnimationName>
<Time>1.1919024261691025</Time>
<Time>0.29646465130559285</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -914,7 +915,7 @@
<Components>
<c:Animation>
<AnimationName>ShieldFrontU</AnimationName>
<Time>0.41969766243472861</Time>
<Time>0.39092668139446118</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -963,7 +964,7 @@
<Components>
<c:Animation>
<AnimationName>IdleAssaultRifleU</AnimationName>
<Time>0.74083502154680936</Time>
<Time>1.7120640405065419</Time>
<Play>true</Play>
<Additive>true</Additive>
</c:Animation>
@@ -1064,6 +1065,287 @@
</Entity>
</Children>
</Entity>
<Entity name="Lights">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="Head">
<Components>
<c:BoneAttachment>
<BoneName>Head</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.0811523944" Y="1.25871587" Z="-0.135778293"/>
<Orientation X="-0.242026433" Y="-0.103642859" Z="-0.186734527"/>
</c:Transform>
</Components>
<Children>
<Entity name="Left">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Radius>0.5</Radius>
<Intensity>0.20000000298023224</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.0938162878" Y="0.0610048659" Z="-0.00614821212"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Right">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Radius>0.5</Radius>
<Intensity>0.20000000298023224</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.0939999968" Y="0.0610048659" Z="-0.00614821212"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Back">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.20000000298023224</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.00160108448" Y="0.112655103" Z="0.116904415"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Armor_Left">
<Components>
<c:BoneAttachment>
<BoneName>L_Shoulder_Armor_Joint</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="-0.0336125046" Y="1.14461756" Z="-0.198084712"/>
<Orientation X="-0.123359792" Y="-1.02261281" Z="-0.192506254"/>
</c:Transform>
</Components>
<Children>
<Entity name="light">
<Components>
<c:PointLight>
<Color A="1" B="0.701960802" G="0" R="0.188235298"/>
<Intensity>0.20000000298023224</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.259081453" Y="0.0924699008" Z="0.0193806943"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Armor_Right">
<Components>
<c:BoneAttachment>
<BoneName>R_Shoulder_Armor_Joint</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.124662042" Y="1.18803668" Z="0.0253864676"/>
<Orientation X="-0.350490361" Y="-0.987647295" Z="0.0760278776"/>
</c:Transform>
</Components>
<Children>
<Entity name="light">
<Components>
<c:PointLight>
<Color A="1" B="0.701960802" G="0" R="0.188235298"/>
<Intensity>0.20000000298023224</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.259000003" Y="0.0924699008" Z="0.0193806943"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Elbow_Left">
<Components>
<c:BoneAttachment>
<BoneName>L_Elbow</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="-0.0963651165" Y="0.979782283" Z="-0.387918979"/>
<Orientation X="-2.3728857" Y="-0.868270874" Z="-2.74759817"/>
</c:Transform>
</Components>
<Children>
<Entity name="Upper">
<Components>
<c:PointLight>
<Color A="1" B="0.701960802" G="0" R="0.188235298"/>
<Intensity>0.20000000298023224</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.0530259758" Y="0.0710293874" Z="-0.0176120717"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Lower">
<Components>
<c:PointLight>
<Color A="1" B="0.701960802" G="0" R="0.188235298"/>
<Intensity>0.20000000298023224</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.0404068455" Y="-0.0798887387" Z="-0.000667487504"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Elbow_Right">
<Components>
<c:BoneAttachment>
<BoneName>R_Elbow</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.308187783" Y="1.08455598" Z="-0.083610706"/>
<Orientation X="1.80888307" Y="1.43675375" Z="1.20322716"/>
</c:Transform>
</Components>
<Children>
<Entity name="Upper">
<Components>
<c:PointLight>
<Color A="1" B="0.701960802" G="0" R="0.188235298"/>
<Intensity>0.20000000298023224</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.0529999994" Y="0.0710293874" Z="-0.0176120717"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Lower">
<Components>
<c:PointLight>
<Color A="1" B="0.701960802" G="0" R="0.188235298"/>
<Intensity>0.20000000298023224</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.0399999991" Y="-0.0798887387" Z="-0.000667487504"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Chest">
<Components>
<c:BoneAttachment>
<BoneName>Spine_3</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.0399524719" Y="1.09024417" Z="-0.0680764914"/>
<Orientation X="-0.50802201" Y="-0.93734026" Z="0.267742336"/>
</c:Transform>
</Components>
<Children>
<Entity name="Back">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.20000000298023224</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0" Y="0.0223282184" Z="0.16728729"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Leg_Bottom_Left">
<Components>
<c:BoneAttachment>
<BoneName>L_Leg_Bottom</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="-0.121582747" Y="0.396609098" Z="-0.250624388"/>
<Orientation X="0.0343631394" Y="0.0808496028" Z="-0.090051204"/>
</c:Transform>
</Components>
<Children>
<Entity name="Outside">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.09705697" Y="-0.0529966503" Z="0.026842406"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Inside">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.0758597851" Y="-0.0458693244" Z="0.0236873701"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Leg_Bottom_Right">
<Components>
<c:BoneAttachment>
<BoneName>R_Leg_Bottom</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.183104694" Y="0.325414658" Z="0.0393271334"/>
<Orientation X="-0.702914894" Y="-0.64635247" Z="0.335363626"/>
</c:Transform>
</Components>
<Children>
<Entity name="Inside">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="-0.09705697" Y="-0.0529966503" Z="0.026842406"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Outside">
<Components>
<c:PointLight>
<Color A="1" B="1" G="0.784313738" R="0"/>
<Intensity>0.10000000149011612</Intensity>
</c:PointLight>
<c:Transform>
<Position X="0.0758597851" Y="-0.0458693244" Z="0.0236873701"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="AABBStanding">
File diff suppressed because it is too large Load Diff
+1 -4
View File
@@ -5,6 +5,7 @@
<c:Lifetime>
<Lifetime>0.079999998211860657</Lifetime>
</c:Lifetime>
<c:NetworkComponent/>
<c:Transform/>
</Components>
@@ -17,10 +18,8 @@
<DiffuseTexture>Textures/Effects/NewRay5.png</DiffuseTexture>
<Color A="1" B="2.35294127" G="1.17647064" R="0"/>
<KeepRatio>true</KeepRatio>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.5"/>
<Orientation X="0" Y="-1.57099998" Z="0"/>
<Scale X="1" Y="0.0700000003" Z="0"/>
</c:Transform>
@@ -35,10 +34,8 @@
<DiffuseTexture>Textures/Effects/NewRay5.png</DiffuseTexture>
<Color A="1" B="2.35294127" G="1.17647064" R="0"/>
<KeepRatio>true</KeepRatio>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.5"/>
<Orientation X="0" Y="4.71218538" Z="3.14199996"/>
<Scale X="1" Y="0.0700000003" Z="0"/>
</c:Transform>
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="RayBlue" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Lifetime>
<Lifetime>0.079999998211860657</Lifetime>
</c:Lifetime>
<c:NetworkComponent/>
<c:Transform/>
</Components>
<Children>
<Entity>
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Effects/NewRay5.png</DiffuseTexture>
<Color A="1" B="0.588235319" G="0.588235319" R="2.35294127"/>
<KeepRatio>true</KeepRatio>
</c:Sprite>
<c:Transform>
<Orientation X="0" Y="-1.57099998" Z="0"/>
<Scale X="1" Y="0.0700000003" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity>
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Effects/NewRay5.png</DiffuseTexture>
<Color A="1" B="0.588235319" G="0.588235319" R="2.35294127"/>
<KeepRatio>true</KeepRatio>
</c:Sprite>
<c:Transform>
<Orientation X="0" Y="4.71218538" Z="3.14199996"/>
<Scale X="1" Y="0.0700000003" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
@@ -5,6 +5,7 @@
<c:Lifetime>
<Lifetime>0.079999998211860657</Lifetime>
</c:Lifetime>
<c:NetworkComponent/>
<c:Transform/>
</Components>
@@ -17,12 +18,10 @@
<DiffuseTexture>Textures/Effects/NewRay7.png</DiffuseTexture>
<Color A="1" B="2.35294127" G="1.17647064" R="0"/>
<KeepRatio>true</KeepRatio>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.5"/>
<Orientation X="0" Y="-1.57099998" Z="0"/>
<Scale X="1" Y="0.0700000003" Z="0"/>
<Scale X="1" Y="0.0700000003" Z="1"/>
</c:Transform>
</Components>
<Children/>
@@ -35,12 +34,10 @@
<DiffuseTexture>Textures/Effects/NewRay7.png</DiffuseTexture>
<Color A="1" B="2.35294127" G="1.17647064" R="0"/>
<KeepRatio>true</KeepRatio>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.5"/>
<Orientation X="0" Y="4.71218538" Z="3.14199996"/>
<Scale X="1" Y="0.0700000003" Z="0"/>
<Scale X="1" Y="0.0700000003" Z="1"/>
</c:Transform>
</Components>
<Children/>
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="RayBlue" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Lifetime>
<Lifetime>0.079999998211860657</Lifetime>
</c:Lifetime>
<c:NetworkComponent/>
<c:Transform/>
</Components>
<Children>
<Entity>
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Effects/NewRay7.png</DiffuseTexture>
<Color A="1" B="0.588235319" G="0.588235319" R="2.35294127"/>
<KeepRatio>true</KeepRatio>
</c:Sprite>
<c:Transform>
<Orientation X="0" Y="-1.57099998" Z="0"/>
<Scale X="1" Y="0.0700000003" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity>
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Effects/NewRay7.png</DiffuseTexture>
<Color A="1" B="0.588235319" G="0.588235319" R="2.35294127"/>
<KeepRatio>true</KeepRatio>
</c:Sprite>
<c:Transform>
<Orientation X="0" Y="4.71218538" Z="3.14199996"/>
<Scale X="1" Y="0.0700000003" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
+3 -6
View File
@@ -3,11 +3,12 @@
<Components>
<c:Lifetime>
<Lifetime>0.08</Lifetime>
<Lifetime>0.080000000000000002</Lifetime>
</c:Lifetime>
<c:Fade>
<FadeTime>0.08</FadeTime>
<FadeTime>0.080000000000000002</FadeTime>
</c:Fade>
<c:NetworkComponent/>
<c:Transform/>
</Components>
@@ -20,10 +21,8 @@
<DiffuseTexture>Textures/Effects/NewRay5.png</DiffuseTexture>
<Color A="1" B="2.35294127" G="1.17647064" R="0"/>
<KeepRatio>true</KeepRatio>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.5"/>
<Orientation X="0" Y="-1.57099998" Z="0"/>
<Scale X="1" Y="0.0250000004" Z="0"/>
</c:Transform>
@@ -38,10 +37,8 @@
<DiffuseTexture>Textures/Effects/NewRay5.png</DiffuseTexture>
<Color A="1" B="2.35294127" G="1.17647064" R="0"/>
<KeepRatio>true</KeepRatio>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.5"/>
<Orientation X="0" Y="4.71218538" Z="3.14199996"/>
<Scale X="1" Y="0.0250000004" Z="0"/>
</c:Transform>
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="RayBlue" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Lifetime>
<Lifetime>0.080000000000000002</Lifetime>
</c:Lifetime>
<c:Fade>
<FadeTime>0.080000000000000002</FadeTime>
</c:Fade>
<c:NetworkComponent/>
<c:Transform/>
</Components>
<Children>
<Entity>
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Effects/NewRay5.png</DiffuseTexture>
<Color A="1" B="0.588235319" G="0.588235319" R="2.35294127"/>
<KeepRatio>true</KeepRatio>
</c:Sprite>
<c:Transform>
<Orientation X="0" Y="-1.57099998" Z="0"/>
<Scale X="1" Y="0.0250000004" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity>
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Effects/NewRay5.png</DiffuseTexture>
<Color A="1" B="0.588235319" G="0.588235319" R="2.35294127"/>
<KeepRatio>true</KeepRatio>
</c:Sprite>
<c:Transform>
<Orientation X="0" Y="4.71218538" Z="3.14199996"/>
<Scale X="1" Y="0.0250000004" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="WeaponModel" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Entity name="ReloadEffect" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Lifetime>
<Lifetime>2</Lifetime>
<Lifetime>1</Lifetime>
</c:Lifetime>
<c:ExplosionEffect>
<ColorByDistance>true</ColorByDistance>
<Velocity X="3.33300018" Y="0.0320000015" Z="0"/>
<ExplosionOrigin X="0" Y="0.0790000036" Z="-0.329000026"/>
<ExponentialAccelaration>true</ExponentialAccelaration>
<EndColor A="0" B="1" G="1" R="19.6078434"/>
<Velocity X="0" Y="1" Z="0"/>
<ExplosionOrigin X="-0.0450000018" Y="0.148000002" Z="-0.646000028"/>
<ExplosionDuration>1</ExplosionDuration>
<EndColor A="0" B="3.92156863" G="0.545098066" R="1"/>
<Randomness>true</Randomness>
</c:ExplosionEffect>
<c:Model>
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
@@ -6,12 +6,14 @@
<Lifetime>2</Lifetime>
</c:Lifetime>
<c:ExplosionEffect>
<ColorByDistance>true</ColorByDistance>
<Velocity X="1.63300014" Y="0.0320000015" Z="0"/>
<ExplosionOrigin X="0" Y="0.0790000036" Z="-0.329000026"/>
<ExponentialAccelaration>true</ExponentialAccelaration>
<EndColor A="0" B="19.6078434" G="19.6078434" R="0"/>
<Velocity X="1.78000009" Y="0.0320000015" Z="0"/>
<ExplosionOrigin X="0" Y="0.142000005" Z="-0.659000039"/>
<EndColor A="0" B="19.6078434" G="0.00392156886" R="1.96078432"/>
<RandomnessScalar>1.3399996757507324</RandomnessScalar>
<Randomness>true</Randomness>
<ColorByDistance>true</ColorByDistance>
<ExponentialAccelaration>true</ExponentialAccelaration>
<ColorDistanceScalar>5.0899982452392578</ColorDistanceScalar>
</c:ExplosionEffect>
<c:Model>
<Resource>Models/Weapons/Blue/AssaultWeaponBlue.mesh</Resource>
@@ -6,12 +6,14 @@
<Lifetime>2</Lifetime>
</c:Lifetime>
<c:ExplosionEffect>
<ColorByDistance>true</ColorByDistance>
<Velocity X="1.63300014" Y="0.0320000015" Z="0"/>
<ExplosionOrigin X="0" Y="0.0790000036" Z="-0.329000026"/>
<ExponentialAccelaration>true</ExponentialAccelaration>
<EndColor A="0" B="1" G="1" R="19.6078434"/>
<Velocity X="1.78000009" Y="0.0320000015" Z="0"/>
<ExplosionOrigin X="0" Y="0.142000005" Z="-0.659000039"/>
<EndColor A="0" B="19.6078434" G="0.00392156886" R="1.96078432"/>
<RandomnessScalar>1.3399996757507324</RandomnessScalar>
<Randomness>true</Randomness>
<ColorByDistance>true</ColorByDistance>
<ExponentialAccelaration>true</ExponentialAccelaration>
<ColorDistanceScalar>5.0899982452392578</ColorDistanceScalar>
</c:ExplosionEffect>
<c:Model>
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
@@ -18,8 +18,8 @@
<Color A="1" B="0.117647059" G="0.117647059" R="0.117647059"/>
</c:Sprite>
<c:Transform>
<Position X="-0.00700000022" Y="-0.0310000014" Z="-0.0270000007"/>
<Scale X="0.292000026" Y="0.064000003" Z="1"/>
<Position X="-0.00200000009" Y="-0.0730000064" Z="-0.0270000007"/>
<Scale X="0.268000007" Y="0.102000006" Z="1"/>
</c:Transform>
</Components>
<Children/>
@@ -40,8 +40,8 @@
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="-0.088000007" Y="-0.0350000001" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
<Position X="0.00300000003" Y="-0.0460000038" Z="0"/>
<Scale X="0.243000016" Y="0.0260000005" Z="1"/>
</c:Transform>
</Components>
<Children>
@@ -56,8 +56,8 @@
</Alignment>
</c:Text>
<c:Transform>
<Position X="-0.361000031" Y="-0.562000036" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
<Position X="-0.430000007" Y="-0.434000015" Z="0.0199999996"/>
<Scale X="0.0659999996" Y="0.424000025" Z="1"/>
</c:Transform>
</Components>
<Children/>
@@ -80,8 +80,8 @@
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0" Y="-0.0350000001" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
<Position X="0.00300000003" Y="-0.076000005" Z="0"/>
<Scale X="0.243000016" Y="0.0260000005" Z="1"/>
</c:Transform>
</Components>
<Children>
@@ -96,8 +96,8 @@
</Alignment>
</c:Text>
<c:Transform>
<Position X="-0.380000025" Y="-0.561999977" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
<Position X="-0.430000007" Y="-0.434000015" Z="0.0199999996"/>
<Scale X="0.0659999996" Y="0.424000025" Z="1"/>
</c:Transform>
</Components>
<Children/>
@@ -120,8 +120,8 @@
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0.088000007" Y="-0.0350000001" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
<Position X="0.00300000003" Y="-0.107000008" Z="0"/>
<Scale X="0.243000016" Y="0.0260000005" Z="1"/>
</c:Transform>
</Components>
<Children>
@@ -136,8 +136,8 @@
</Alignment>
</c:Text>
<c:Transform>
<Position X="-0.387000024" Y="-0.561999977" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
<Position X="-0.430000007" Y="-0.434000015" Z="0.0199999996"/>
<Scale X="0.0659999996" Y="0.424000025" Z="1"/>
</c:Transform>
</Components>
<Children/>
+332 -2
View File
@@ -18,7 +18,126 @@
<Position X="-16.5" Y="0" Z="0"/>
</c:Transform>
</Components>
<Children/>
<Children>
<Entity name="ScoreBoard_Red_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="RedSide">
<Components>
<c:Model>
<Resource>Models/Core/UnitCube.mesh</Resource>
<Color A="1" B="0" G="0.0862745121" R="1"/>
<Visible>false</Visible>
</c:Model>
<c:Transform>
<Position X="0" Y="0" Z="0.5"/>
<Scale X="32" Y="23" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="ScoreBoard_Red">
<Components>
<c:Team>
<Team>
<Red/>
</Team>
</c:Team>
<c:ScoreScreen>
<Offset X="0" Y="-3" Z="0"/>
</c:ScoreScreen>
<c:Transform>
<Position X="0" Y="7" Z="1.5"/>
</c:Transform>
</Components>
<Children>
<Entity name="IDText">
<Components>
<c:Text>
<Content>ID</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="-13" Y="2.5" Z="0"/>
<Scale X="2" Y="2" Z="2"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="NameText">
<Components>
<c:Text>
<Content>Name</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="-10" Y="2.5" Z="0"/>
<Scale X="2" Y="2" Z="2"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="KDText">
<Components>
<c:Text>
<Content>KD</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="1.28838646" Y="2.5" Z="0"/>
<Scale X="2" Y="2" Z="2"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="KillsText">
<Components>
<c:Text>
<Content>Kills</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="4.6874299" Y="2.5" Z="0"/>
<Scale X="2" Y="2" Z="2"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="DeathsText">
<Components>
<c:Text>
<Content>Deaths</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="8.9577198" Y="2.5" Z="0"/>
<Scale X="2" Y="2" Z="2"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="Background_Main">
<Components>
@@ -56,7 +175,126 @@
<Position X="16.5" Y="0" Z="0"/>
</c:Transform>
</Components>
<Children/>
<Children>
<Entity name="ScoreBoard_Blue_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="BlueSide">
<Components>
<c:Model>
<Resource>Models/Core/UnitCube.mesh</Resource>
<Color A="1" B="1" G="0.505882382" R="0"/>
<Visible>false</Visible>
</c:Model>
<c:Transform>
<Position X="0" Y="0" Z="0.5"/>
<Scale X="32" Y="23" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="ScoreBoard_Blue">
<Components>
<c:Team>
<Team>
<Blue/>
</Team>
</c:Team>
<c:ScoreScreen>
<Offset X="0" Y="-3" Z="0"/>
</c:ScoreScreen>
<c:Transform>
<Position X="0" Y="7" Z="1.5"/>
</c:Transform>
</Components>
<Children>
<Entity name="IDText">
<Components>
<c:Text>
<Content>ID</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="-13" Y="2.5" Z="0"/>
<Scale X="2" Y="2" Z="2"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="NameText">
<Components>
<c:Text>
<Content>Name</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="-10" Y="2.5" Z="0"/>
<Scale X="2" Y="2" Z="2"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="KDText">
<Components>
<c:Text>
<Content>KD</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="1.28838646" Y="2.5" Z="0"/>
<Scale X="2" Y="2" Z="2"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="KillsText">
<Components>
<c:Text>
<Content>Kills</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="4.6874299" Y="2.5" Z="0"/>
<Scale X="2" Y="2" Z="2"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="DeathsText">
<Components>
<c:Text>
<Content>Deaths</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="8.9577198" Y="2.5" Z="0"/>
<Scale X="2" Y="2" Z="2"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="ScoreBoard_Spectators">
<Components>
@@ -70,6 +308,98 @@
</Components>
<Children/>
</Entity>
<Entity name="EndScreen">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="EndScreen_Origin">
<Components>
<c:Transform>
<Position X="0" Y="3.10000014" Z="42.9360008"/>
</c:Transform>
</Components>
<Children>
<Entity name="Camera">
<Components>
<c:Camera/>
<c:EndScreen/>
<c:Transform/>
</Components>
<Children>
<Entity name="Sprite_Origin">
<Components>
<c:Transform>
<Position X="0" Y="0.65200001" Z="-1.72800004"/>
</c:Transform>
</Components>
<Children>
<Entity name="SpriteRed">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.588235319" B="0" G="0" R="0.588235319"/>
<Visible>false</Visible>
</c:Sprite>
<c:Transform>
<Scale X="1.30000007" Y="0.300000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="SpriteBlue">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.588235319" B="0.588235319" G="0" R="0"/>
</c:Sprite>
<c:Transform>
<Scale X="1.30000007" Y="0.300000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TextBlue">
<Components>
<c:Text>
<Content>Blue team win!</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Visible>false</Visible>
</c:Text>
<c:Transform>
<Position X="0" Y="-0.0670000017" Z="0.0299999993"/>
<Scale X="0.150000006" Y="0.150000006" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TextRed">
<Components>
<c:Text>
<Content>Red team win!</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
</c:Text>
<c:Transform>
<Position X="0" Y="-0.0670000017" Z="0.0299999993"/>
<Scale X="0.150000006" Y="0.150000006" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -2,6 +2,7 @@
<Entity name="SidearmWeapon" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Shielded/>
<c:Model>
<Resource>Models/Weapons/Blue/SecondaryWeaponBlue.mesh</Resource>
</c:Model>
@@ -9,16 +10,37 @@
</Components>
<Children>
<Entity name="WeaponMuzzle">
<Entity name="Muzzle">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RayBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.0123999491" Y="0.102453232" Z="-0.273824364"/>
<Position X="-0.0169804785" Y="-0.0188358482" Z="-0.222064406"/>
</c:Transform>
</Components>
<Children/>
<Children>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RaySideArmBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0" Y="0.125075191" Z="-0.206788138"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashSideArmBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.0240342002" Y="0.116005458" Z="-0.0419839472"/>
<Scale X="0.5" Y="0.5" Z="0.5"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="SidearmWeapon" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Shielded/>
<c:Model>
<Resource>Models/Weapons/Red/SecondaryWeaponRed.mesh</Resource>
</c:Model>
<c:Transform/>
</Components>
<Children>
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="-0.0169804785" Y="-0.0188358482" Z="-0.222064406"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RaySideArmRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0" Y="0.125075191" Z="-0.206788138"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashSideArmRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.0240342002" Y="0.116005458" Z="-0.0419839472"/>
<Scale X="0.5" Y="0.5" Z="0.5"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
+38 -17
View File
@@ -11,17 +11,6 @@
</Components>
<Children>
<Entity name="WeaponMuzzle">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/Ray2Red.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0" Y="0.105000004" Z="-0.256000012"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="AmmunitionHUD">
<Components>
<c:TextFieldReader>
@@ -38,8 +27,9 @@
<Entity name="AmmunitionHUDBackground">
<Components>
<c:Sprite>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.588235319" B="0" G="0" R="0"/>
</c:Sprite>
<c:Transform>
@@ -56,16 +46,16 @@
<Children>
<Entity name="MagazineAmmo">
<Components>
<c:TextFieldReader>
<ParentEntityName>Player</ParentEntityName>
<ComponentType>SidearmWeapon</ComponentType>
<Field>MagazineAmmo</Field>
</c:TextFieldReader>
<c:Text>
<Content>16</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="3.92156863" G="1.17647064" R="0"/>
</c:Text>
<c:TextFieldReader>
<ParentEntityName>Player</ParentEntityName>
<ComponentType>SidearmWeapon</ComponentType>
<Field>MagazineAmmo</Field>
</c:TextFieldReader>
<c:Transform>
<Position X="0" Y="-0.00600000005" Z="0"/>
<Scale X="0.0599999987" Y="0.0599999987" Z="0.0599999987"/>
@@ -92,6 +82,37 @@
</Entity>
</Children>
</Entity>
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="0.197295129" Y="-0.116625182" Z="-0.709192753"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RaySideArmBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0" Y="0" Z="-0.155046776"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashSideArmBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Scale X="0.5" Y="0.5" Z="0.5"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
File diff suppressed because it is too large Load Diff
+75 -39
View File
@@ -34,7 +34,7 @@
<Axis X="0" Y="1" Z="0"/>
</c:RaptorCopter>
<c:Transform>
<Orientation X="0" Y="98.9142075" Z="0"/>
<Orientation X="0" Y="214.830872" Z="0"/>
</c:Transform>
</Components>
<Children>
@@ -46,7 +46,7 @@
</c:RaptorCopter>
<c:Transform>
<Position X="0" Y="26" Z="40"/>
<Orientation X="0" Y="-114.726761" Z="0"/>
<Orientation X="0" Y="-346.565979" Z="0"/>
</c:Transform>
</Components>
<Children>
@@ -92,42 +92,6 @@
<c:Transform/>
</Components>
<Children>
<Entity name="ButtonCorner_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="0.0220000017" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="-0.0219999999" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Button_1">
<Components>
<c:Button/>
@@ -149,6 +113,44 @@
</Components>
<Children/>
</Entity>
<Entity name="ButtonCorner_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="-0.0219999999" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="0.0220000017" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Text">
<Components>
<c:Text>
@@ -218,6 +220,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="-0.0219999999" Z="0.00499999989"/>
@@ -233,6 +236,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="0.0220000017" Z="0.00499999989"/>
@@ -263,6 +267,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="0.0220000017" Z="0.00499999989"/>
@@ -277,6 +282,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="-0.0219999999" Z="0.00499999989"/>
@@ -299,6 +305,10 @@
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="0" G="0" R="0"/>
</c:Sprite>
<c:InputCmdButton>
<Command>Options</Command>
<PressValue>1</PressValue>
</c:InputCmdButton>
<c:Transform>
<Scale X="0.200000003" Y="0.0500000007" Z="1"/>
</c:Transform>
@@ -308,7 +318,7 @@
<Entity name="Text">
<Components>
<c:Text>
<Content>Option</Content>
<Content>Options</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Right/>
@@ -374,6 +384,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="-0.0219999999" Z="0.00499999989"/>
@@ -389,6 +400,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="0.0220000017" Z="0.00499999989"/>
@@ -419,12 +431,36 @@
</Components>
<Children/>
</Entity>
<Entity name="OptionsSpawner">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/OptionMenu.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="TitleSprite">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Test/SmallDiff.png</DiffuseTexture>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.0320000015" Y="0.0220000017" Z="-0.0550000034"/>
<Scale X="0.0500000007" Y="0.0150000006" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
@@ -8,6 +8,7 @@
</c:BlendAdditive>
<c:Model>
<Resource>Models/Characters/Assault/FirstPersonAssaultBlue.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform/>
</Components>
@@ -90,9 +91,10 @@
<c:Model>
<GlowIntensity>1.5</GlowIntensity>
<Resource>Models/Weapons/Blue/AssaultWeaponBlue.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform>
<Position X="0.120748267" Y="-0.22843127" Z="-0.181454584"/>
<Position X="0.120748267" Y="-0.22843127" Z="-0.181454599"/>
<Orientation X="0.0102799674" Y="-0.00312504289" Z="0.0428140014"/>
</c:Transform>
</Components>
@@ -131,7 +133,7 @@
<EntityFile>Schema/Entities/RayAssaultBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.00123506912" Y="-0.00209517847" Z="-0.681198895"/>
<Position X="0.00179657922" Y="-0.00304772682" Z="-0.334699303"/>
</c:Transform>
</Components>
<Children/>
@@ -2,6 +2,7 @@
<Entity name="AssaultWeapon" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Shielded/>
<c:Model>
<Resource>Models/Weapons/Blue/AssaultWeaponBlue.mesh</Resource>
</c:Model>
@@ -9,17 +10,6 @@
</Components>
<Children>
<Entity name="WeaponMuzzle">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RayBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.00644115033" Y="0.096679531" Z="-0.436609417"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="ReloadSpawner">
<Components>
<c:Spawner>
@@ -29,6 +19,38 @@
</Components>
<Children/>
</Entity>
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="0.00728808995" Y="0.0896582007" Z="-0.643795013"/>
<Orientation X="6.27600002" Y="0.00499999989" Z="0.00600000005"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="-8.41593719e-05" Y="-0.000816107844" Z="0.0612007342"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RayAssaultBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.00179657922" Y="-0.00304772682" Z="-0.334699303"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -0,0 +1,233 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="Hands" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:BlendAdditive>
<Adder>MovementBlend</Adder>
<Receiver>ActionBlend</Receiver>
</c:BlendAdditive>
<c:Model>
<Resource>Models/Characters/Assault/FirstPersonAssaultRed.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform/>
</Components>
<Children>
<Entity name="ActionBlend">
<Components>
<c:Blend>
<Pose1>Fire</Pose1>
<Pose2>Reload</Pose2>
<Weight>0</Weight>
<SubTreeRoot>true</SubTreeRoot>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="Reload">
<Components>
<c:Animation>
<AnimationName>ReloadSwitchF</AnimationName>
<Speed>0.5</Speed>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Fire">
<Components>
<c:Animation>
<AnimationName>ShootRifleF</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="MovementBlend">
<Components>
<c:Blend>
<Pose1>Idle</Pose1>
<Pose2>Run</Pose2>
<Weight>0</Weight>
<SubTreeRoot>true</SubTreeRoot>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="Run">
<Components>
<c:Animation>
<AnimationName>RunF</AnimationName>
<Play>true</Play>
<Additive>true</Additive>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Idle">
<Components>
<c:Animation>
<AnimationName>IdleF</AnimationName>
<Play>true</Play>
<Additive>true</Additive>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="ViewModel">
<Components>
<c:BoneAttachment>
<BoneName>R_Arm_Weapon_Joint</BoneName>
</c:BoneAttachment>
<c:Model>
<GlowIntensity>1.5</GlowIntensity>
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform>
<Position X="0.120748267" Y="-0.22843127" Z="-0.181454599"/>
<Orientation X="0.0102799674" Y="-0.00312504289" Z="0.0428140014"/>
</c:Transform>
</Components>
<Children>
<Entity name="ReloadSpawner">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/WeaponAssaultReloadEffectViewRed.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="0.00728808995" Y="0.0896582007" Z="-0.643795013"/>
<Orientation X="6.27600002" Y="0.00499999989" Z="0.00600000005"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.000221854658" Y="-0.000376355601" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RayAssaultRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.00179657922" Y="-0.00304772682" Z="-0.334699303"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="AmmoHUD">
<Components>
<c:BoneAttachment>
<BoneName>R_Ammo_Joint</BoneName>
<ScaleOffset X="0.5" Y="0.5" Z="1"/>
<InheritScale>true</InheritScale>
</c:BoneAttachment>
<c:Transform>
<Position X="0.0540265888" Y="-0.0954296291" Z="-0.255526036"/>
<Orientation X="0.000777846028" Y="0.0774231106" Z="0.00124278688"/>
<Scale X="0.25000006" Y="0.250000149" Z="0.500000238"/>
</c:Transform>
</Components>
<Children>
<Entity name="Background">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.588235319" B="0" G="0" R="0"/>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.00200000009"/>
<Scale X="0.119999997" Y="0.119999997" Z="0.119999997"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Text">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="MagazineAmmo">
<Components>
<c:Text>
<Content>32</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="3.92156863" G="1.17647064" R="0"/>
</c:Text>
<c:TextFieldReader>
<ParentEntityName></ParentEntityName>
<ComponentType>AssaultWeapon</ComponentType>
<Field>MagazineAmmo</Field>
</c:TextFieldReader>
<c:Transform>
<Scale X="0.0599999987" Y="0.0599999987" Z="0.0599999987"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Ammo">
<Components>
<c:Text>
<Content>320</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="3.92156863" G="1.17647064" R="0"/>
</c:Text>
<c:TextFieldReader>
<ParentEntityName></ParentEntityName>
<ComponentType>AssaultWeapon</ComponentType>
<Field>Ammo</Field>
</c:TextFieldReader>
<c:Transform>
<Position X="5.2833886e-05" Y="-0.0407950208" Z="0"/>
<Scale X="0.0399999991" Y="0.0399999991" Z="0.0399999991"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="FriendlyBoostAttachment">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/FriendlyBoostRedHUD.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="-0.000110394583" Y="-0.0891034827" Z="6.07890324e-05"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="AssaultWeapon" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Shielded/>
<c:Model>
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
</c:Model>
<c:Transform/>
</Components>
<Children>
<Entity name="ReloadSpawner">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/ReloadEffectWorldRed.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="0.00728808995" Y="0.0896582007" Z="-0.643795013"/>
<Orientation X="6.27600002" Y="0.00499999989" Z="0.00600000005"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="-8.41593719e-05" Y="-0.000816107844" Z="0.0612007342"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RayAssaultRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.00179657922" Y="-0.00304772682" Z="-0.334699303"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="ReloadEffect" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Lifetime>
<Lifetime>2</Lifetime>
</c:Lifetime>
<c:Transform/>
</Components>
<Children>
<Entity name="Out">
<Components>
<c:ExplosionEffect>
<Velocity X="0" Y="1" Z="0"/>
<ExplosionOrigin X="-0.0450000018" Y="0.148000002" Z="-0.646000028"/>
<TimeSinceDeath>1</TimeSinceDeath>
<Delay>1</Delay>
<Speed>-1</Speed>
<ExplosionDuration>1</ExplosionDuration>
<EndColor A="0" B="3.92156863" G="0.545098066" R="1"/>
<Randomness>true</Randomness>
</c:ExplosionEffect>
<c:Model>
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="In">
<Components>
<c:Lifetime>
<Lifetime>1</Lifetime>
</c:Lifetime>
<c:ExplosionEffect>
<Velocity X="0" Y="1" Z="0"/>
<ExplosionOrigin X="-0.0450000018" Y="0.148000002" Z="-0.646000028"/>
<ExplosionDuration>1</ExplosionDuration>
<EndColor A="0" B="3.92156863" G="0.545098066" R="1"/>
<Randomness>true</Randomness>
</c:ExplosionEffect>
<c:Model>
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
@@ -8,6 +8,7 @@
</c:BlendAdditive>
<c:Model>
<Resource>Models/Characters/Defender/FirstPersonDefenderBlue.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform/>
</Components>
@@ -154,7 +155,7 @@
<InheritScale>true</InheritScale>
</c:BoneAttachment>
<c:Transform>
<Position X="0.0540262833" Y="-0.0954347998" Z="-0.225546911"/>
<Position X="0.0540262833" Y="-0.0954347998" Z="-0.225546926"/>
<Orientation X="0.00124507793" Y="0.077417776" Z="0.00737103401"/>
<Scale X="0.300000012" Y="0.300000042" Z="0.299999952"/>
</c:Transform>
@@ -244,9 +245,10 @@
</c:BoneAttachment>
<c:Model>
<Resource>Models/Weapons/Blue/DefenderWeaponBlue.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform>
<Position X="0.120748043" Y="-0.228436321" Z="-0.151475549"/>
<Position X="0.120748043" Y="-0.228436321" Z="-0.151475564"/>
<Orientation X="0.0102800643" Y="-0.00312487315" Z="0.0428144038"/>
</c:Transform>
</Components>
@@ -265,7 +267,7 @@
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="0.137428522" Y="-0.145251781" Z="-0.590083241"/>
<Position X="0.119734153" Y="-0.145251781" Z="-0.564532101"/>
</c:Transform>
</Components>
<Children>
@@ -275,7 +277,7 @@
<EntityFile>Schema/Entities/RayDefenderBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.0180841181" Y="0.0252480619" Z="-0.663679719"/>
<Position X="0" Y="0" Z="-0.109966502"/>
</c:Transform>
</Components>
<Children/>
@@ -286,7 +288,7 @@
<EntityFile>Schema/Entities/MuzzleFlashBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.0201820824" Y="0.0212024488" Z="-0.0305794869"/>
<Position X="0.0201820824" Y="0" Z="0"/>
<Scale X="1.5" Y="1.5" Z="1"/>
</c:Transform>
</Components>
@@ -2,6 +2,7 @@
<Entity name="ThirdPersonWeaponModel" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Shielded/>
<c:Model>
<Resource>Models/Weapons/Blue/DefenderWeaponBlue.mesh</Resource>
</c:Model>
@@ -9,17 +10,6 @@
</Components>
<Children>
<Entity name="WeaponMuzzle">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/DefenderRayBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.000284185546" Y="0.0318552479" Z="-0.193328083"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="ThirdPersonReloadSpawner">
<Components>
<c:Spawner>
@@ -29,6 +19,38 @@
</Components>
<Children/>
</Entity>
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="-0.0100463303" Y="0.0624945536" Z="-0.372351319"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RayDefenderBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.0180841181" Y="0.0252480619" Z="-0.135249734"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.0201820824" Y="0.0212024488" Z="-0.0305794869"/>
<Scale X="1.5" Y="1.5" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -0,0 +1,303 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="Hands" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:BlendAdditive>
<Adder>MovementBlend</Adder>
<Receiver>FinalBlend</Receiver>
</c:BlendAdditive>
<c:Model>
<Resource>Models/Characters/Defender/FirstPersonDefenderRed.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform/>
</Components>
<Children>
<Entity name="FinalBlend">
<Components>
<c:Blend>
<Pose1>ActionBlend</Pose1>
<Pose2>Shield</Pose2>
<Weight>0</Weight>
<SubTreeRoot>true</SubTreeRoot>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="Shield">
<Components>
<c:Animation>
<AnimationName>ActivateShieldF</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="ActionBlend">
<Components>
<c:Blend>
<Pose1>Fire</Pose1>
<Pose2>ReloadBlend</Pose2>
<Weight>0</Weight>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="Fire">
<Components>
<c:Animation>
<AnimationName>ShootShotgunF</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="ReloadBlend">
<Components>
<c:Blend>
<Pose1>ReloadLoop</Pose1>
<Pose2>ReloadTransitionBlend</Pose2>
<Weight>1</Weight>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="ReloadLoop">
<Components>
<c:Animation>
<AnimationName>ShotgunReloadTwoF</AnimationName>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="ReloadTransitionBlend">
<Components>
<c:Blend>
<Pose1>ReloadStart</Pose1>
<Pose2>ReloadEnd</Pose2>
<Weight>0</Weight>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="ReloadStart">
<Components>
<c:Animation>
<AnimationName>ShotgunReloadOneF</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="ReloadEnd">
<Components>
<c:Animation>
<AnimationName>ShotgunReloadThreeF</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="MovementBlend">
<Components>
<c:Blend>
<Pose1>Idle</Pose1>
<Pose2>Run</Pose2>
<Weight>0</Weight>
<SubTreeRoot>true</SubTreeRoot>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="Idle">
<Components>
<c:Animation>
<AnimationName>IdleF</AnimationName>
<Play>true</Play>
<Additive>true</Additive>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Run">
<Components>
<c:Animation>
<AnimationName>RunF</AnimationName>
<Play>true</Play>
<Additive>true</Additive>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="AmmoHUD">
<Components>
<c:BoneAttachment>
<BoneName>R_Ammo_Joint</BoneName>
<ScaleOffset X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<InheritScale>true</InheritScale>
</c:BoneAttachment>
<c:Transform>
<Position X="0.0540262833" Y="-0.0954347998" Z="-0.225546926"/>
<Orientation X="0.00124507793" Y="0.077417776" Z="0.00737103401"/>
<Scale X="0.300000012" Y="0.300000042" Z="0.299999952"/>
</c:Transform>
</Components>
<Children>
<Entity name="Background">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.588235319" B="0" G="0" R="0"/>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.00200000009"/>
<Scale X="0.119999997" Y="0.119999997" Z="0.119999997"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Text">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="Ammo">
<Components>
<c:Text>
<Content>38</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="3.92156863" G="1.17647064" R="0"/>
</c:Text>
<c:TextFieldReader>
<ParentEntityName></ParentEntityName>
<ComponentType>DefenderWeapon</ComponentType>
<Field>Ammo</Field>
</c:TextFieldReader>
<c:Transform>
<Position X="5.2833886e-05" Y="-0.0407950208" Z="0"/>
<Scale X="0.0399999991" Y="0.0399999991" Z="0.0399999991"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="MagazineAmmo">
<Components>
<c:Text>
<Content>5</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="3.92156863" G="1.17647064" R="0"/>
</c:Text>
<c:TextFieldReader>
<ParentEntityName></ParentEntityName>
<ComponentType>DefenderWeapon</ComponentType>
<Field>MagazineAmmo</Field>
</c:TextFieldReader>
<c:Transform>
<Scale X="0.0599999987" Y="0.0599999987" Z="0.0599999987"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="FriendlyBoostAttachment">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/FriendlyBoostRedHUD.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="-0.0762779638" Y="-0.04478902" Z="6.07890324e-05"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="WeaponOrigin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="ViewModel">
<Components>
<c:BoneAttachment>
<BoneName>R_Arm_Weapon_Joint</BoneName>
</c:BoneAttachment>
<c:Model>
<Resource>Models/Weapons/Red/DefenderWeaponRed.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform>
<Position X="0.120748043" Y="-0.228436321" Z="-0.151475564"/>
<Orientation X="0.0102800643" Y="-0.00312487315" Z="0.0428144038"/>
</c:Transform>
</Components>
<Children>
<Entity name="ReloadSpawner">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/ReloadEffectView.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="0.119734153" Y="-0.145251781" Z="-0.564532101"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RayDefenderRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0" Y="0" Z="-0.109966502"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.0201820824" Y="0" Z="0"/>
<Scale X="1.5" Y="1.5" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="ThirdPersonWeaponModel" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Shielded/>
<c:Model>
<Resource>Models/Weapons/Red/DefenderWeaponRed.mesh</Resource>
</c:Model>
<c:Transform/>
</Components>
<Children>
<Entity name="ThirdPersonReloadSpawner">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/ReloadEffectWorld.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="-0.0100463303" Y="0.0624945536" Z="-0.372351319"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RayDefenderRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.0180841181" Y="0.0252480619" Z="-0.135249734"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0.0201820824" Y="0.0212024488" Z="-0.0305794869"/>
<Scale X="1.5" Y="1.5" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -8,6 +8,7 @@
</c:BlendAdditive>
<c:Model>
<Resource>Models/Characters/Assault/FirstPersonAssaultBlue.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform/>
</Components>
@@ -183,6 +184,7 @@
<c:Model>
<GlowIntensity>1.2999999523162842</GlowIntensity>
<Resource>Models/Weapons/Blue/SecondaryWeaponBlue.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform>
<Position X="0.185786247" Y="-0.21622014" Z="-0.412707269"/>
@@ -204,7 +206,7 @@
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="0.197295129" Y="-0.116625182" Z="-0.709192753"/>
<Position X="0.189540595" Y="-0.114737265" Z="-0.681462705"/>
</c:Transform>
</Components>
<Children>
@@ -213,9 +215,7 @@
<c:Spawner>
<EntityFile>Schema/Entities/RaySideArmBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0" Y="0" Z="-0.155046776"/>
</c:Transform>
<c:Transform/>
</Components>
<Children/>
</Entity>
@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="Hands" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:BlendAdditive>
<Adder>MovementBlend</Adder>
<Receiver>ActionBlend</Receiver>
</c:BlendAdditive>
<c:Model>
<Resource>Models/Characters/Assault/FirstPersonAssaultRed.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform/>
</Components>
<Children>
<Entity name="MovementBlend">
<Components>
<c:Blend>
<Pose1>Idle</Pose1>
<Pose2>Run</Pose2>
<Weight>1</Weight>
<SubTreeRoot>true</SubTreeRoot>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="Idle">
<Components>
<c:Animation>
<AnimationName>IdleSecF</AnimationName>
<Play>true</Play>
<Additive>true</Additive>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Run">
<Components>
<c:Animation>
<AnimationName>RunSecF</AnimationName>
<Play>true</Play>
<Additive>true</Additive>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="ActionBlend">
<Components>
<c:Blend>
<Pose1>Fire</Pose1>
<Pose2>Reload</Pose2>
<Weight>0</Weight>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="Fire">
<Components>
<c:Animation>
<AnimationName>ShootSecF</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Reload">
<Components>
<c:Animation>
<AnimationName>ReloadSwitchSecF</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="AmmunitionHUD">
<Components>
<c:BoneAttachment>
<BoneName>R_Ammo_Joint</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.109812237" Y="-0.0832184851" Z="-0.403451651"/>
<Orientation X="0.000778344634" Y="0.077423349" Z="0.0012426693"/>
<Scale X="0.400000006" Y="0.400000006" Z="0.400000006"/>
</c:Transform>
</Components>
<Children>
<Entity name="AmmunitionHUDBackground">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.588235319" B="0" G="0" R="0"/>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.00300000003"/>
<Scale X="0.119999997" Y="0.119999997" Z="0.119999997"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="AmmunitionText">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="MagazineAmmo">
<Components>
<c:Text>
<Content>16</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="3.92156863" G="1.17647064" R="0"/>
</c:Text>
<c:TextFieldReader>
<ParentEntityName></ParentEntityName>
<ComponentType>SidearmWeapon</ComponentType>
<Field>MagazineAmmo</Field>
</c:TextFieldReader>
<c:Transform>
<Position X="0" Y="-0.00600000005" Z="0"/>
<Scale X="0.0599999987" Y="0.0599999987" Z="0.0599999987"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Infinity!">
<Components>
<c:Text>
<Content>8</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="3.92156863" G="1.17647064" R="0"/>
</c:Text>
<c:Transform>
<Position X="0.0150000006" Y="-0.029000001" Z="0"/>
<Orientation X="0" Y="0" Z="1.5710001"/>
<Scale X="0.0399999991" Y="0.0399999991" Z="0.0399999991"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="FriendlyAmmoAttachment">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/FriendlyAmmoHUD.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="-0.000110394583" Y="-0.0891034827" Z="6.07890324e-05"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="AmmoShareEffectSpawner">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/AmmoShareEffectView.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="WeaponOrigin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="ViewModel">
<Components>
<c:BoneAttachment>
<BoneName>R_Arm_Weapon_Joint</BoneName>
</c:BoneAttachment>
<c:Model>
<GlowIntensity>1.2999999523162842</GlowIntensity>
<Resource>Models/Weapons/Red/SecondaryWeaponRed.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform>
<Position X="0.185786247" Y="-0.21622014" Z="-0.412707269"/>
<Orientation X="0.0102805095" Y="-0.00312478957" Z="0.0428138711"/>
</c:Transform>
</Components>
<Children>
<Entity name="ReloadSpawner">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/WeaponSidearmReloadEffectViewRed.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="0.189540595" Y="-0.114737265" Z="-0.681462705"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RaySideArmRed.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashSideArmRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Scale X="0.5" Y="0.5" Z="0.5"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -8,6 +8,7 @@
</c:BlendAdditive>
<c:Model>
<Resource>Models/Characters/Defender/FirstPersonDefenderBlue.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform/>
</Components>
@@ -86,7 +87,7 @@
<BoneName>R_Ammo_Joint</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.109812573" Y="-0.0832190216" Z="-0.373473197"/>
<Position X="0.109812573" Y="-0.0832190216" Z="-0.373473227"/>
<Orientation X="0.00118373742" Y="0.077411525" Z="0.00458352407"/>
<Scale X="0.400000006" Y="0.400000006" Z="0.400000006"/>
</c:Transform>
@@ -183,9 +184,10 @@
<c:Model>
<GlowIntensity>1.5</GlowIntensity>
<Resource>Models/Weapons/Blue/SecondaryWeaponBlue.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform>
<Position X="0.18578662" Y="-0.216220587" Z="-0.382728696"/>
<Position X="0.18578662" Y="-0.216220587" Z="-0.382728726"/>
<Orientation X="0.010279973" Y="-0.00312555139" Z="0.0428142436"/>
</c:Transform>
</Components>
@@ -204,10 +206,19 @@
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="0.196999997" Y="-0.116999999" Z="-0.668634355"/>
<Position X="0.192775041" Y="-0.117133088" Z="-0.647809923"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RaySideArmBlue.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
@@ -219,17 +230,6 @@
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RaySideArmBlue.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="0" Y="0" Z="-0.155000001"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="Hands" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:BlendAdditive>
<Adder>MovementBlend</Adder>
<Receiver>ActionBlend</Receiver>
</c:BlendAdditive>
<c:Model>
<Resource>Models/Characters/Defender/FirstPersonDefenderRed.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform/>
</Components>
<Children>
<Entity name="MovementBlend">
<Components>
<c:Blend>
<Pose1>Idle</Pose1>
<Pose2>Run</Pose2>
<Weight>1</Weight>
<SubTreeRoot>true</SubTreeRoot>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="Idle">
<Components>
<c:Animation>
<AnimationName>IdleSecF</AnimationName>
<Play>true</Play>
<Additive>true</Additive>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Run">
<Components>
<c:Animation>
<AnimationName>RunSecF</AnimationName>
<Play>true</Play>
<Additive>true</Additive>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="ActionBlend">
<Components>
<c:Blend>
<Pose1>Fire</Pose1>
<Pose2>Reload</Pose2>
<Weight>0</Weight>
</c:Blend>
<c:Transform/>
</Components>
<Children>
<Entity name="Fire">
<Components>
<c:Animation>
<AnimationName>ShootSecF</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Reload">
<Components>
<c:Animation>
<AnimationName>ReloadSwitchSecF</AnimationName>
<Loop>false</Loop>
</c:Animation>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="AmmunitionHUD">
<Components>
<c:BoneAttachment>
<BoneName>R_Ammo_Joint</BoneName>
</c:BoneAttachment>
<c:Transform>
<Position X="0.109812573" Y="-0.0832190216" Z="-0.373473227"/>
<Orientation X="0.00118373742" Y="0.077411525" Z="0.00458352407"/>
<Scale X="0.400000006" Y="0.400000006" Z="0.400000006"/>
</c:Transform>
</Components>
<Children>
<Entity name="AmmunitionHUDBackground">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.588235319" B="0" G="0" R="0"/>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="-0.00300000003"/>
<Scale X="0.119999997" Y="0.119999997" Z="0.119999997"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="AmmunitionText">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="MagazineAmmo">
<Components>
<c:Text>
<Content>16</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="3.92156863" G="1.17647064" R="0"/>
</c:Text>
<c:TextFieldReader>
<ParentEntityName></ParentEntityName>
<ComponentType>SidearmWeapon</ComponentType>
<Field>MagazineAmmo</Field>
</c:TextFieldReader>
<c:Transform>
<Position X="0" Y="-0.00600000005" Z="0"/>
<Scale X="0.0599999987" Y="0.0599999987" Z="0.0599999987"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Infinity!">
<Components>
<c:Text>
<Content>8</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="3.92156863" G="1.17647064" R="0"/>
</c:Text>
<c:Transform>
<Position X="0.0150000006" Y="-0.029000001" Z="0"/>
<Orientation X="0" Y="0" Z="1.5710001"/>
<Scale X="0.0399999991" Y="0.0399999991" Z="0.0399999991"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="FriendlyAmmoAttachment">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/FriendlyAmmoHUD.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Position X="-0.000110394583" Y="-0.0891034827" Z="6.07890324e-05"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="AmmoShareEffectSpawner">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/AmmoShareEffectView.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="WeaponOrigin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="ViewModel">
<Components>
<c:BoneAttachment>
<BoneName>R_Arm_Weapon_Joint</BoneName>
</c:BoneAttachment>
<c:Model>
<GlowIntensity>1.5</GlowIntensity>
<Resource>Models/Weapons/Red/SecondaryWeaponRed.mesh</Resource>
<Shadow>false</Shadow>
</c:Model>
<c:Transform>
<Position X="0.18578662" Y="-0.216220587" Z="-0.382728726"/>
<Orientation X="0.010279973" Y="-0.00312555139" Z="0.0428142436"/>
</c:Transform>
</Components>
<Children>
<Entity name="ReloadSpawner">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/WeaponSidearmReloadEffectViewRed.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Muzzle">
<Components>
<c:Transform>
<Position X="0.192775041" Y="-0.117133088" Z="-0.647809923"/>
</c:Transform>
</Components>
<Children>
<Entity name="WeaponMuzzleRay">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/RaySideArmRed.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="WeaponMuzzleFlash">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/MuzzleFlashSideArmRed.xml</EntityFile>
</c:Spawner>
<c:Transform>
<Scale X="0.5" Y="0.5" Z="0.5"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="ReloadEffect" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="In">
<Components>
<c:ExplosionEffect>
<ExplosionOrigin X="0" Y="0.112999998" Z="-0.430000007"/>
<TimeSinceDeath>0.5</TimeSinceDeath>
<Delay>0.5</Delay>
<Speed>-1</Speed>
<ExplosionDuration>0.5</ExplosionDuration>
<EndColor A="0" B="3.92156863" G="0.545098066" R="1"/>
<Randomness>true</Randomness>
</c:ExplosionEffect>
<c:Model>
<GlowIntensity>1.5</GlowIntensity>
<Resource>Models/Weapons/Red/SecondaryWeaponRed.mesh</Resource>
<Shadow>false</Shadow>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="Out">
<Components>
<c:Lifetime>
<Lifetime>0.5</Lifetime>
</c:Lifetime>
<c:ExplosionEffect>
<ExplosionOrigin X="0" Y="0.113000005" Z="-0.430000007"/>
<ExplosionDuration>0.5</ExplosionDuration>
<EndColor A="0" B="3.92156863" G="0.545098066" R="1"/>
<Randomness>true</Randomness>
</c:ExplosionEffect>
<c:Model>
<GlowIntensity>1.5</GlowIntensity>
<Resource>Models/Weapons/Red/SecondaryWeaponRed.mesh</Resource>
<Shadow>false</Shadow>
<Transparent>true</Transparent>
</c:Model>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
+81
View File
@@ -0,0 +1,81 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Axyz"
#define MyAppVersion "1.0"
#define MyAppURL "https://github.com/teamfisk/TacticalZ"
#define MyAppExeName "Axyz.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{38D77EB2-6B56-4B4F-BAAE-43F9E6E1A191}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
OutputBaseFilename=Axyz Setup
SetupIconFile=..\Axyz.ico
Compression=lzma2
SolidCompression=yes
; "ArchitecturesAllowed=x64" specifies that Setup cannot run on
; anything but x64.
ArchitecturesAllowed=x64
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
; done in "64-bit mode" on x64, meaning it should use the native
; 64-bit Program Files directory and the 64-bit view of the registry.
ArchitecturesInstallIn64BitMode=x64
OutputDir=.
DisableWelcomePage=false
;WizardSmallImageFile=
WizardImageFile=Setup Banner.bmp
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "..\..\bin\Audio\*"; DestDir: "{app}\Audio\"; Flags: ignoreversion createallsubdirs recursesubdirs
Source: "..\..\bin\Fonts\*"; DestDir: "{app}\Fonts\"; Flags: ignoreversion createallsubdirs recursesubdirs
Source: "..\..\bin\Licenses\*"; DestDir: "{app}\Licenses\"; Flags: ignoreversion createallsubdirs recursesubdirs
Source: "..\..\bin\Models\*"; DestDir: "{app}\Models\"; Flags: ignoreversion createallsubdirs recursesubdirs
Source: "..\..\bin\Schema\*"; DestDir: "{app}\Schema\"; Flags: ignoreversion createallsubdirs recursesubdirs
Source: "..\..\bin\Shaders\*"; DestDir: "{app}\Shaders\"; Flags: ignoreversion createallsubdirs recursesubdirs
Source: "..\..\bin\Textures\*"; DestDir: "{app}\Textures\"; Flags: ignoreversion createallsubdirs recursesubdirs
Source: "..\..\bin\assimp.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\resources\DefaultConfig.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\resources\DefaultInput.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\glew32.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\glfw3.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\OpenAL32.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\imgui.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\Input.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\libpng16.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\Axyz.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\Server.bat"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\xerces-c_3_1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\zlib.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\resources\README.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\deps\redist\VC_redist.x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{commonprograms}\{#MyAppName} Server"; Filename: "{app}\{#MyAppExeName}"; Parameters: "--server"
Name: "{commondesktop}\{#MyAppName} Server"; Filename: "{app}\{#MyAppExeName}"; Parameters: "--server"; Tasks: desktopicon
[INI]
Filename: "{app}\Config.ini"; Section: "Networking"; Key: "Name"; String: "{%USERNAME}"; Flags: createkeyifdoesntexist
[Run]
Filename: "{tmp}\VC_redist.x64.exe"; Parameters: "/norestart /passive"; StatusMsg: "Installing Microsoft Visual C++ 2015 x64 Redistributable....";
[ThirdParty]
UseRelativePaths=True
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

+5 -8
View File
@@ -1,7 +1,10 @@
#version 430
#include "Shaders/Util/CommonNormalFunc.glsl"
#define MIN_AMBIENT_LIGHT 0.3
#define MAX_SPLITS 4
uniform mat4 M;
uniform mat4 V;
uniform mat4 P;
@@ -16,6 +19,7 @@ uniform vec3 CameraPosition;
uniform int SSAOQuality;
uniform float FarDistance[MAX_SPLITS];
uniform int NormalTextureType;
uniform vec2 DiffuseUVRepeat;
uniform vec2 NormalUVRepeat;
uniform vec2 SpecularUVRepeat;
@@ -139,13 +143,6 @@ LightResult CalcDirectionalLightSource(vec4 direction, vec4 color, float intensi
return result;
}
vec4 CalcNormalMappedValue(vec3 normal, vec3 tangent, vec3 bitangent, vec2 textureCoordinate, sampler2D normalMap)
{
mat3 TBN = mat3(tangent, bitangent, normal);
vec3 NormalMap = texture(normalMap, textureCoordinate).xyz * 2.0 - vec3(1.0);
return vec4(TBN * normalize(NormalMap), 0.0);
}
// Returns a "random" value.
float Random(vec3 seed, int i)
{
@@ -301,7 +298,7 @@ void main()
vec4 diffuseTexel = texture2D(DiffuseTexture, Input.TextureCoordinate * DiffuseUVRepeat);
vec4 glowTexel = texture2D(GlowMapTexture, Input.TextureCoordinate * GlowUVRepeat);
vec4 specularTexel = texture2D(SpecularMapTexture, Input.TextureCoordinate * SpecularUVRepeat);
vec4 normal = V * CalcNormalMappedValue(Input.Normal, Input.Tangent, Input.BiTangent, Input.TextureCoordinate * NormalUVRepeat, NormalMapTexture);
vec4 normal = V * CalcNormalMappedValue(Input.Normal, Input.Tangent, Input.BiTangent, Input.TextureCoordinate * NormalUVRepeat, NormalMapTexture, NormalTextureType);
normal = normalize(normal);
//vec4 normal = normalize(V * vec4(Input.Normal, 0.0));
vec4 viewVec = normalize(-Input.ViewSpacePosition);
@@ -1,5 +1,7 @@
#version 430
#include "Shaders/Util/CommonNormalFunc.glsl"
#define MIN_AMBIENT_LIGHT 0.3
#define MAX_SPLITS 4
@@ -17,6 +19,7 @@ uniform float GlowIntensity;
uniform vec3 CameraPosition;
uniform int SSAOQuality;
uniform int NormalTextureType;
uniform vec2 DiffuseUVRepeat;
uniform vec2 NormalUVRepeat;
uniform vec2 SpecularUVRepeat;
@@ -122,13 +125,6 @@ LightResult CalcDirectionalLightSource(vec4 direction, vec4 color, float intensi
return result;
}
vec4 CalcNormalMappedValue(vec3 normal, vec3 tangent, vec3 bitangent, vec2 textureCoordinate, sampler2D normalMap)
{
mat3 TBN = mat3(tangent, bitangent, normal);
vec3 NormalMap = texture(normalMap, textureCoordinate).xyz * 2.0 - vec3(1.0);
return vec4(TBN * normalize(NormalMap), 0.0);
}
void main()
{
float shieldDepthValue = texelFetch(ShieldBuffer, ivec2(gl_FragCoord.xy), 0).r;
@@ -142,7 +138,7 @@ void main()
vec4 diffuseTexel = texture2D(DiffuseTexture, Input.TextureCoordinate * DiffuseUVRepeat);
vec4 glowTexel = texture2D(GlowMapTexture, Input.TextureCoordinate * GlowUVRepeat);
vec4 specularTexel = texture2D(SpecularMapTexture, Input.TextureCoordinate * SpecularUVRepeat);
vec4 normal = V * CalcNormalMappedValue(Input.Normal, Input.Tangent, Input.BiTangent, Input.TextureCoordinate * NormalUVRepeat, NormalMapTexture);
vec4 normal = V * CalcNormalMappedValue(Input.Normal, Input.Tangent, Input.BiTangent, Input.TextureCoordinate * NormalUVRepeat, NormalMapTexture, NormalTextureType);
normal = normalize(normal);
//vec4 normal = normalize(V * vec4(Input.Normal, 0.0));
vec4 viewVec = normalize(-Input.ViewSpacePosition);
@@ -1,5 +1,7 @@
#version 430
#include "Shaders/Util/CommonNormalFunc.glsl"
#define MIN_AMBIENT_LIGHT 0.3
#define MAX_SPLITS 4
uniform mat4 M;
@@ -18,6 +20,10 @@ layout (binding = 0) uniform sampler2D AOTexture;
layout (binding = 30) uniform sampler2DArrayShadow DepthMap;
//Get bineded at the same time as the textures
uniform int NormalTextureType1;
uniform int NormalTextureType2;
uniform int NormalTextureType3;
uniform vec2 DiffuseUVRepeat1;
uniform vec2 DiffuseUVRepeat2;
uniform vec2 DiffuseUVRepeat3;
@@ -181,11 +187,12 @@ vec4 CalcBlendedTexel(vec4 blendValue, sampler2D R, sampler2D G, sampler2D B,
}
vec4 CalcBlendedNormal(vec4 blendValue, sampler2D R, sampler2D G, sampler2D B,
vec2 R_TileValues, vec2 G_TileValues, vec2 B_TileValues){
vec2 R_TileValues, vec2 G_TileValues, vec2 B_TileValues,
int R_TextureType, int G_TextureType, int B_TextureType) {
mat3 TBN = mat3(Input.Tangent, Input.BiTangent, Input.Normal);
vec3 R_Channel = texture(R, Input.TextureCoordinate * R_TileValues).xyz * 2.0 - vec3(1.0);
vec3 G_Channel = texture(G, Input.TextureCoordinate * G_TileValues).xyz * 2.0 - vec3(1.0);
vec3 B_Channel = texture(B, Input.TextureCoordinate * B_TileValues).xyz * 2.0 - vec3(1.0);
vec3 R_Channel = NormalMapValue(Input.TextureCoordinate * R_TileValues, R, R_TextureType);
vec3 G_Channel = NormalMapValue(Input.TextureCoordinate * G_TileValues, G, G_TextureType);
vec3 B_Channel = NormalMapValue(Input.TextureCoordinate * B_TileValues, B, B_TextureType);
float total = blendValue.r + blendValue.g + blendValue.b + blendValue.a;
float totalDiv = 1 / total;
@@ -363,7 +370,8 @@ void main()
SpecularUVRepeat1, SpecularUVRepeat2, SpecularUVRepeat3);
//vec4 normal = V * CalcNormalMappedValue(Input.Normal, Input.Tangent, Input.BiTangent, Input.TextureCoordinate, SplatMapTexture);
vec4 normal = V * CalcBlendedNormal(splatTexel, NormalMapTexture1, NormalMapTexture2, NormalMapTexture3,
NormalUVRepeat1, NormalUVRepeat2, NormalUVRepeat3);
NormalUVRepeat1, NormalUVRepeat2, NormalUVRepeat3,
NormalTextureType1, NormalTextureType2, NormalTextureType3);
normal = normalize(normal);
//vec4 normal = normalize(V * vec4(Input.Normal, 0.0));
vec4 viewVec = normalize(-Input.ViewSpacePosition);
@@ -1,5 +1,7 @@
#version 430
#include "Shaders/Util/CommonNormalFunc.glsl"
#define MIN_AMBIENT_LIGHT 0.3
#define MAX_SPLITS 4
uniform mat4 M;
@@ -14,6 +16,10 @@ uniform vec4 AmbientColor;
uniform int SSAOQuality;
//Get bineded at the same time as the textures
uniform int NormalTextureType1;
uniform int NormalTextureType2;
uniform int NormalTextureType3;
uniform vec2 DiffuseUVRepeat1;
uniform vec2 DiffuseUVRepeat2;
uniform vec2 DiffuseUVRepeat3;
@@ -160,11 +166,12 @@ vec4 CalcBlendedTexel(vec4 blendValue, sampler2D R, sampler2D G, sampler2D B,
}
vec4 CalcBlendedNormal(vec4 blendValue, sampler2D R, sampler2D G, sampler2D B,
vec2 R_TileValues, vec2 G_TileValues, vec2 B_TileValues){
vec2 R_TileValues, vec2 G_TileValues, vec2 B_TileValues,
int R_TextureType, int G_TextureType, int B_TextureType) {
mat3 TBN = mat3(Input.Tangent, Input.BiTangent, Input.Normal);
vec3 R_Channel = texture(R, Input.TextureCoordinate * R_TileValues).xyz * 2.0 - vec3(1.0);
vec3 G_Channel = texture(G, Input.TextureCoordinate * G_TileValues).xyz * 2.0 - vec3(1.0);
vec3 B_Channel = texture(B, Input.TextureCoordinate * B_TileValues).xyz * 2.0 - vec3(1.0);
vec3 R_Channel = NormalMapValue(Input.TextureCoordinate * R_TileValues, R, R_TextureType);
vec3 G_Channel = NormalMapValue(Input.TextureCoordinate * G_TileValues, G, G_TextureType);
vec3 B_Channel = NormalMapValue(Input.TextureCoordinate * B_TileValues, B, B_TextureType);
float total = blendValue.r + blendValue.g + blendValue.b + blendValue.a;
float totalDiv = 1 / total;
@@ -194,7 +201,8 @@ void main()
SpecularUVRepeat1, SpecularUVRepeat2, SpecularUVRepeat3);
//vec4 normal = V * CalcNormalMappedValue(Input.Normal, Input.Tangent, Input.BiTangent, Input.TextureCoordinate, SplatMapTexture);
vec4 normal = V * CalcBlendedNormal(splatTexel, NormalMapTexture1, NormalMapTexture2, NormalMapTexture3,
NormalUVRepeat1, NormalUVRepeat2, NormalUVRepeat3);
NormalUVRepeat1, NormalUVRepeat2, NormalUVRepeat3,
NormalTextureType1, NormalTextureType2, NormalTextureType3);
normal = normalize(normal);
//vec4 normal = normalize(V * vec4(Input.Normal, 0.0));
vec4 viewVec = normalize(-Input.ViewSpacePosition);
Binary file not shown.
BIN
View File
Binary file not shown.
+17 -17
View File
@@ -146,14 +146,14 @@ bool RayVsTriangle(const Ray& ray,
}
bool RayVsModel(const Ray& ray,
const RawModel::Vertex* modelVertices,
const std::vector<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3, 3> 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& 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<glm::vec3>& modelVertices,
const std::vector<unsigned int>& modelIndices,
const glm::mat4& modelMatrix)
{
@@ -741,7 +741,7 @@ boost::optional<EntityAABB> EntityFirstHitByRay(const Ray& ray, std::vector<Enti
continue;
}
float u, v;
if (RayVsModel(ray, model->Vertices(), 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;
}
+6 -6
View File
@@ -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<RawModel, true>(res);
model = ResourceManager::Load<Model, true>(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<RawModel, true>(boxB.Entity["Model"]["Resource"]);
model = ResourceManager::Load<Model, true>(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<glm::vec3>)cTransform["Position"] += resolutionVector;
boxA = *Collision::EntityAbsoluteAABB(entity);
+3 -3
View File
@@ -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<RawModel, true>(triggerEntity["Model"]["Resource"]);
triggerModel = ResourceManager::Load<Model, true>(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);
+10
View File
@@ -176,6 +176,9 @@ void Client::parseMessageType(Packet& packet)
case MessageType::KD:
parseKDEvent(packet);
break;
case MessageType::Win:
parseWin(packet);
break;
default:
break;
}
@@ -376,6 +379,13 @@ void Client::parseKDEvent(Packet & packet)
m_EventBroker->Publish(e);
}
void Client::parseWin(Packet& packet)
{
Events::Win e;
e.TeamThatWon = packet.ReadPrimitive<int>();
m_EventBroker->Publish(e);
}
void Client::updateFields(Packet& packet, const ComponentInfo& componentInfo, const EntityID& entityID)
{
for (auto field : componentInfo.FieldsInOrder) {
+4 -1
View File
@@ -609,6 +609,9 @@ bool Server::OnWin(const Events::Win & e)
{
// Postpone the gameover reset
m_GameIsOver = true;
Packet winPacket = Packet(MessageType::Win);
winPacket.WritePrimitive(e.TeamThatWon);
reliableBroadcast(winPacket);
return true;
}
@@ -744,7 +747,7 @@ void Server::resetMap()
reliableBroadcast(removeMap);
removeWorld();
// Hardcoded for now.
auto entityFile = ResourceManager::Load<EntityFile>("Schema/Entities/CP_Rocky2.xml");
auto entityFile = ResourceManager::Load<EntityFile>("Schema/Entities/CP_Valhalla.xml");
entityFile->MergeInto(m_World);
Packet newWorld(MessageType::Snapshot);
createWorldSnapshot(newWorld);
+5 -5
View File
@@ -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)
continue;
}
Skeleton* skeleton = model->m_RawModel->m_Skeleton;
Skeleton* skeleton = model->m_Skeleton;
if (skeleton == nullptr) {
continue;
}
@@ -177,7 +177,7 @@ bool AnimationSystem::OnAutoAnimationBlend(Events::AutoAnimationBlend& e)
return false;
}
Skeleton* skeleton = model->m_RawModel->m_Skeleton;
Skeleton* skeleton = model->m_Skeleton;
if (skeleton == nullptr) {
LOG_ERROR("%s, RootNode skeleton invalid %s", e.NodeName, e.RootNode.Name().c_str());
return false;
@@ -300,7 +300,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;
}
@@ -331,7 +331,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;
}
+3 -3
View File
@@ -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<BlendTree> AutoBlendQueue::GetBlendTree()
return nullptr;
}
Skeleton* skeleton = model->m_RawModel->m_Skeleton;
Skeleton* skeleton = model->m_Skeleton;
if (skeleton == nullptr) {
return nullptr;
}
@@ -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;
+12 -5
View File
@@ -11,7 +11,7 @@ void CubeMapPass::LoadTextures(std::string cubemapName)
if (m_PreviusCubeMapTexture != cubemapName) {
m_CubeMapTextures.clear();
for (int i = 0; i < 6; i++) {
std::string path = "Textures/Test/CubeMap/" + cubemapName + "/CubeMapTest0" + std::to_string(i) + ".png";
std::string path = "Textures/Test/CubeMap/" + cubemapName + "/CubeMapTest0" + std::to_string(i) + ".dds";
m_CubeMapTextures.push_back(path);
}
GenerateCubeMapTexture();
@@ -21,15 +21,22 @@ void CubeMapPass::LoadTextures(std::string cubemapName)
void CubeMapPass::GenerateCubeMapTexture()
{
if (m_CubeMapTexture == -1) {
if (m_CubeMapTexture == 0) {
glGenTextures(1, &m_CubeMapTexture);
}
glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapTexture);
for (int i = 0; i < 6; i++) {
PNG* img = ResourceManager::Load<PNG>(m_CubeMapTextures[i]);
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGBA32F, img->Width, img->Height, 0, GL_RGBA, GL_UNSIGNED_BYTE, img->Data);
ResourceManager::Release("PNG", m_CubeMapTextures[i]);
DDS* img = ResourceManager::Load<DDS>(m_CubeMapTextures[i]);
std::size_t bpe = 16;
std::size_t numBlocksWide = std::max<std::size_t>(1, (img->Width + 3) / 4);
std::size_t numBlocksHigh = std::max<std::size_t>(1, (img->Height + 3) / 4);
std::size_t rowBytes = numBlocksWide * bpe;
std::size_t numRows = numBlocksHigh;
std::size_t numBytes = rowBytes * numBlocksHigh;
glCompressedTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, img->Width, img->Height, 0, numBytes, img->Data);
//glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGBA32F, img->Width, img->Height, 0, GL_COMPRESSED_RGBA, GL_UNSIGNED_BYTE, img->Data);
ResourceManager::Release("DDS", m_CubeMapTextures[i]);
}
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+121
View File
@@ -0,0 +1,121 @@
#include "Rendering/DDS.h"
DDS::DDS(std::string path)
{
std::ifstream in(path.c_str(), std::ios_base::binary | std::ios_base::ate);
if (!in.is_open()) {
throw Resource::FailedLoadingException("Failed to open file.");
}
unsigned int fileSize = static_cast<unsigned int>(in.tellg());
in.seekg(0, std::ios_base::beg);
if (fileSize < sizeof(MagicNumber) + sizeof(DDS::Header_t)) {
throw Resource::FailedLoadingException("Invalid DDS file; not even big enough to contain the DDS header!");
}
// Read magic number
uint32_t magicNumber;
in.read(reinterpret_cast<char*>(&magicNumber), sizeof(MagicNumber));
if (magicNumber != DDS::MagicNumber) {
throw Resource::FailedLoadingException("Invalid DDS file; magic number doesn't match.");
}
// Read header
in.read(reinterpret_cast<char*>(&m_Header), sizeof(DDS::Header_t));
// Validate header
if (m_Header.Size != sizeof(DDS::Header_t) || m_Header.PixelFormat.Size != sizeof(DDS::Header_t::PixelFormat_t)) {
throw Resource::FailedLoadingException("Corrupt DDS file; header size doesn't match!");
}
// Make sure it's DC3 (DXT5)
char format[5];
memcpy(&format, &m_Header.PixelFormat.FourCC, 4);
format[4] = '\0';
if (strcmp(format, "DXT5")) {
std::stringstream ss;
ss << "Invalid DDS file; Unsupported compression format \"" << format << "\"";
throw Resource::FailedLoadingException(ss.str().c_str());
}
this->Width = m_Header.Width;
this->Height = m_Header.Height;
this->Format = Image::ImageFormat::RGBA;
this->Compressed = true;
if (m_Header.MipMapCount != 0) {
this->MipMapLevels = m_Header.MipMapCount - 1;
}
// Read data
std::size_t dataSize = fileSize - sizeof(MagicNumber) - sizeof(DDS::Header_t);
this->Data = new unsigned char[dataSize];
this->ByteSize = dataSize;
in.read(reinterpret_cast<char*>(this->Data), dataSize);
// Flip!
unsigned int w = this->Width;
unsigned int h = this->Height;
unsigned char* mipMapData = this->Data;
for (unsigned int i = 0; i < this->MipMapLevels; ++i) {
std::size_t bpe = 16;
std::size_t numBlocksWide = std::max<std::size_t>(1, (w + 3) / 4);
std::size_t numBlocksHigh = std::max<std::size_t>(1, (h + 3) / 4);
std::size_t rowBytes = numBlocksWide * bpe;
std::size_t numRows = numBlocksHigh;
std::size_t numBytes = rowBytes * numBlocksHigh;
FlipY(mipMapData, rowBytes, numBytes, numBlocksWide);
w = w >> 1;
h = h >> 1;
mipMapData += numBytes;
}
}
DDS::~DDS()
{
if (this->Data != nullptr) {
delete[] this->Data;
this->Data = nullptr;
}
}
void DDS::FlipY(unsigned char* data, std::size_t rowBytes, std::size_t totalSize, std::size_t numBlocksWide)
{
std::size_t height = totalSize / rowBytes;
unsigned char* topLine = data;
unsigned char* bottomLine = data + (height - 1) * rowBytes;
for (std::size_t line = 0; line < height / 2; ++line) {
Block_t* topBlocks = reinterpret_cast<Block_t*>(topLine);
Block_t* bottomBlocks = reinterpret_cast<Block_t*>(bottomLine);
for (std::size_t block = 0; block < numBlocksWide; ++block) {
flipBlock(&topBlocks[block]);
flipBlock(&bottomBlocks[block]);
std::swap(topBlocks[block], bottomBlocks[block]);
}
topLine += rowBytes;
bottomLine -= rowBytes;
}
}
void DDS::flipBlock(Block_t* block)
{
// Extract both rows of pixel Data into a 32 bit sized values.
uint32_t pixelRow0 = block->Alpha.Data[0] + ((block->Alpha.Data[1] + (block->Alpha.Data[2] << 8)) << 8);
uint32_t pixelRow1 = block->Alpha.Data[3] + ((block->Alpha.Data[4] + (block->Alpha.Data[5] << 8)) << 8);
// Swap the extracted row Data. These values will be read from and shifted into the final block locations.
uint32_t pixelRow0Swapped = ((pixelRow0 & 0x000fff) << 12) | ((pixelRow0 & 0xfff000) >> 12);
uint32_t pixelRow1Swapped = ((pixelRow1 & 0x000fff) << 12) | ((pixelRow1 & 0xfff000) >> 12);
// Swapped Data from row 1 is written
block->Alpha.Data[0] = static_cast<uint8_t>(pixelRow1Swapped & 0x0000ff);
block->Alpha.Data[1] = static_cast<uint8_t>((pixelRow1Swapped & 0x00ff00) >> 8);
block->Alpha.Data[2] = static_cast<uint8_t>((pixelRow1Swapped & 0xff0000) >> 16);
// Swapped Data from row 0 is written
block->Alpha.Data[3] = static_cast<uint8_t>(pixelRow0Swapped & 0x0000ff);
block->Alpha.Data[4] = static_cast<uint8_t>((pixelRow0Swapped & 0x00ff00) >> 8);
block->Alpha.Data[5] = static_cast<uint8_t>((pixelRow0Swapped & 0xff0000) >> 16);
std::swap(block->Data.Data[0], block->Data.Data[3]);
std::swap(block->Data.Data[1], block->Data.Data[2]);
}
+25 -30
View File
@@ -332,14 +332,6 @@ void DrawFinalPass::Draw(RenderScene& scene, BlurHUD* blurHUDPass)
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);
@@ -354,10 +346,10 @@ void DrawFinalPass::Draw(RenderScene& scene, BlurHUD* blurHUDPass)
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");
//Generate blur texture.
delete state;
@@ -379,12 +371,6 @@ void DrawFinalPass::Draw(RenderScene& scene, BlurHUD* blurHUDPass)
} else {
stateSprite = new DrawFinalPassState(m_FinalPassFrameBuffer->GetHandle());
}
//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);
stateSprite->Enable(GL_DEPTH_TEST);
//stateSprite->AlphaFunc(GL_GEQUAL, 0.05f);
//stateSprite->Enable(GL_ALPHA_TEST);
@@ -638,7 +624,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list<std::shared_ptr<RenderJob>>&
std::vector<glm::mat4> 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]));
@@ -1537,10 +1523,12 @@ void DrawFinalPass::BindExplosionTextures(GLuint shaderHandle, std::shared_ptr<E
if (job->NormalTexture.size() > 0 && job->NormalTexture[0]->Texture != nullptr) {
glBindTexture(GL_TEXTURE_2D, job->NormalTexture[0]->Texture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, "NormalUVRepeat"), 1, glm::value_ptr(job->NormalTexture[0]->UVRepeat));
glUniform1i(glGetUniformLocation(shaderHandle, "NormalTextureType"), job->NormalTexture[0]->Texture->m_Type);
}
else {
glBindTexture(GL_TEXTURE_2D, m_NeutralNormalTexture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, "NormalUVRepeat"), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
glUniform1i(glGetUniformLocation(shaderHandle, "NormalTextureType"), m_NeutralNormalTexture->m_Type);
}
glActiveTexture(GL_TEXTURE3);
@@ -1593,10 +1581,12 @@ void DrawFinalPass::BindExplosionTextures(GLuint shaderHandle, std::shared_ptr<E
if (job->NormalTexture.size() > i && job->NormalTexture[i]->Texture != nullptr) {
glBindTexture(GL_TEXTURE_2D, job->NormalTexture[i]->Texture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UniformName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(job->NormalTexture[i]->UVRepeat));
glUniform1i(glGetUniformLocation(shaderHandle, "NormalTextureType"), job->NormalTexture[0]->Texture->m_Type);
}
else {
glBindTexture(GL_TEXTURE_2D, m_NeutralNormalTexture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UniformName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
glUniform1i(glGetUniformLocation(shaderHandle, "NormalTextureType"), m_NeutralNormalTexture->m_Type);
}
texturePosition++;
}
@@ -1655,10 +1645,12 @@ void DrawFinalPass::BindModelTextures(GLuint shaderHandle, std::shared_ptr<Model
if (job->NormalTexture.size() > 0 && job->NormalTexture[0]->Texture != nullptr) {
glBindTexture(GL_TEXTURE_2D, job->NormalTexture[0]->Texture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, "NormalUVRepeat"), 1, glm::value_ptr(job->NormalTexture[0]->UVRepeat));
glUniform1i(glGetUniformLocation(shaderHandle, "NormalTextureType"), job->NormalTexture[0]->Texture->m_Type);
}
else {
glBindTexture(GL_TEXTURE_2D, m_NeutralNormalTexture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, "NormalUVRepeat"), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
//glUniform2fv(glGetUniformLocation(shaderHandle, "NormalUVRepeat"), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
glUniform1i(glGetUniformLocation(shaderHandle, "NormalTextureType"), m_NeutralNormalTexture->m_Type);
}
glActiveTexture(GL_TEXTURE3);
@@ -1690,57 +1682,60 @@ void DrawFinalPass::BindModelTextures(GLuint shaderHandle, std::shared_ptr<Model
int texturePosition = GL_TEXTURE2;
//Bind 5 diffuse textures
std::string UniformName = "DiffuseUVRepeat";
std::string UVRepeatName = "DiffuseUVRepeat";
for (unsigned int i = 0; i < 3; i++) {
glActiveTexture(texturePosition);
if (job->DiffuseTexture.size() > i && job->DiffuseTexture[i]->Texture != nullptr) {
glBindTexture(GL_TEXTURE_2D, job->DiffuseTexture[i]->Texture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UniformName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(job->DiffuseTexture[i]->UVRepeat));
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UVRepeatName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(job->DiffuseTexture[i]->UVRepeat));
} else {
glBindTexture(GL_TEXTURE_2D, m_WhiteTexture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UniformName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UVRepeatName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
}
texturePosition++;
}
//Bind 5 Normal textures
UniformName = "NormalUVRepeat";
std::string textureType = "NormalTextureType";
UVRepeatName = "NormalUVRepeat";
for (unsigned int i = 0; i < 3; i++) {
glActiveTexture(texturePosition);
if (job->NormalTexture.size() > i && job->NormalTexture[i]->Texture != nullptr) {
glBindTexture(GL_TEXTURE_2D, job->NormalTexture[i]->Texture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UniformName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(job->NormalTexture[i]->UVRepeat));
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UVRepeatName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(job->NormalTexture[i]->UVRepeat));
glUniform1i(glGetUniformLocation(shaderHandle, std::string(textureType + ((char)(i + '1'))).c_str()), job->NormalTexture[i]->Texture->m_Type);
} else {
glBindTexture(GL_TEXTURE_2D, m_NeutralNormalTexture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UniformName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UVRepeatName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
glUniform1i(glGetUniformLocation(shaderHandle, std::string(textureType + ((char)(i + '1'))).c_str()), m_NeutralNormalTexture->m_Type);
}
texturePosition++;
}
//Bind 5 Specular textures
UniformName = "SpecularUVRepeat";
UVRepeatName = "SpecularUVRepeat";
for (unsigned int i = 0; i < 3; i++) {
glActiveTexture(texturePosition);
if (job->SpecularTexture.size() > i && job->SpecularTexture[i]->Texture != nullptr) {
glBindTexture(GL_TEXTURE_2D, job->SpecularTexture[i]->Texture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UniformName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(job->SpecularTexture[i]->UVRepeat));
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UVRepeatName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(job->SpecularTexture[i]->UVRepeat));
} else {
glBindTexture(GL_TEXTURE_2D, m_GreyTexture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UniformName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UVRepeatName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
}
texturePosition++;
}
//Bind 5 Incandescence textures
UniformName = "GlowUVRepeat";
UVRepeatName = "GlowUVRepeat";
for (unsigned int i = 0; i < 3; i++) {
glActiveTexture(texturePosition);
if (job->IncandescenceTexture.size() > i && job->IncandescenceTexture[i]->Texture != nullptr) {
glBindTexture(GL_TEXTURE_2D, job->IncandescenceTexture[i]->Texture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UniformName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(job->IncandescenceTexture[i]->UVRepeat));
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UVRepeatName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(job->IncandescenceTexture[i]->UVRepeat));
} else {
glBindTexture(GL_TEXTURE_2D, m_BlackTexture->m_Texture);
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UniformName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
glUniform2fv(glGetUniformLocation(shaderHandle, std::string(UVRepeatName + ((char)(i + '1'))).c_str()), 1, glm::value_ptr(glm::vec2(1.0f, 1.0f)));
}
texturePosition++;
}
+24 -12
View File
@@ -3,9 +3,9 @@
Model::Model(std::string fileName)
{
//Try loading the model asyncronously, if it throws any exceptions then let it propagate back to caller.
m_RawModel = ResourceManager::Load<RawModel, true>(fileName);
auto rawModel = ResourceManager::Load<RawModel, true>(fileName);
for (auto& materialProperty : m_RawModel->m_Materials) {
for (auto& materialProperty : rawModel->m_Materials) {
switch (materialProperty.type) {
case RawModel::MaterialType::SingleTextures:
{
@@ -46,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->m_Indices.size() * sizeof(unsigned int), &m_RawModel->m_Indices[0], 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);
@@ -58,7 +58,7 @@ Model::Model(std::string fileName)
glBindBuffer(GL_ARRAY_BUFFER, buffer);
std::vector<int> structSizes;
if (m_RawModel->IsSkinned()) {
if (rawModel->IsSkinned()) {
structSizes = { 3, 3, 3, 3, 2, 4, 4 };
} else {
structSizes = { 3, 3, 3, 3, 2 };
@@ -77,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++;
}
@@ -89,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);
}
@@ -99,17 +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 = rawModel->m_Skeleton;
m_Materials = rawModel->m_Materials;
m_Indices = rawModel->CollisionIndices();
m_IsSkinned = rawModel->IsSkinned();
// Copy vertex positions for collisions later
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;
}
}
+2 -2
View File
@@ -96,10 +96,10 @@ PNG::~PNG()
void PNG::pngErrorFunction(png_structp png_ptr, png_const_charp error_msg)
{
LOG_WARNING("%s", error_msg);
LOG_WARNING("libpng error: %s", error_msg);
}
void PNG::pngWarningFunction(png_structp png_ptr, png_const_charp warning_msg)
{
LOG_WARNING("%s", warning_msg);
LOG_WARNING("libpng warning: %s", warning_msg);
}
+1 -1
View File
@@ -115,7 +115,7 @@ void PickingPass::Draw(RenderScene& scene)
std::vector<glm::mat4> 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]));
+87 -10
View File
@@ -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
@@ -286,7 +287,7 @@ void RawModelCustom::ReadMaterialTextureProperties(RawModelCustom::TextureProper
}
texture.TexturePath = "Textures/";
texture.TexturePath += (fileData + offset);
texture.TexturePath += ".png";
texture.TexturePath += ".dds";
offset += nameLength;
if (offset + sizeof(glm::vec2) > fileByteSize) {
throw Resource::FailedLoadingException("Reading Material texture UVTiling failed");
@@ -491,14 +492,90 @@ 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<unsigned int>(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 std::vector<glm::vec3>& RawModelCustom::CollisionVertices() {
if (hasCollisionMesh) {
return m_CollisionVertices;
}
else if (hasSkin) {
// We don't do collisions against skinned meshes now.
m_CollisionVertices = std::vector<glm::vec3>();
return m_CollisionVertices;
}
else {
return ConstructCollisionList();
}
};
void RawModelCustom::ReadCollisionFileData(std::size_t& offset, char* fileData, const unsigned int& fileByteSize){
m_CollisionVertices.resize(static_cast<std::size_t>(*(unsigned int*)(fileData + offset)));
offset += sizeof(unsigned int);
m_CollisionIndices.resize(static_cast<std::size_t>(*(unsigned int*)(fileData + offset)));
offset += sizeof(unsigned int);
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(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");
}
memcpy(&m_CollisionIndices[0], fileData + offset, m_CollisionIndices.size() * sizeof(unsigned int));
offset += m_CollisionIndices.size() * sizeof(unsigned int);
}
const std::vector<glm::vec3>& RawModelCustom::ConstructCollisionList()
{
if (!hasCollisionMesh && m_CollisionVertices.size() == 0) {
if (hasSkin) {
m_CollisionVertices.reserve(m_SkinedVertices.size());
for (const auto& vertex : m_SkinedVertices) {
m_CollisionVertices.push_back(vertex.Position);
}
} else {
m_CollisionVertices.reserve(m_Vertices.size());
for (const auto& vertex : m_Vertices) {
m_CollisionVertices.push_back(vertex.Position);
}
}
}
return m_CollisionVertices;
}
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
+5 -1
View File
@@ -75,7 +75,7 @@ void Renderer::InitializeWindow()
//glfwWindowHint(GLFW_BLUE_BITS, mode->blueBits);
//glfwWindowHint(GLFW_REFRESH_RATE, mode->refreshRate);
glfwWindowHint(GLFW_DECORATED, false);
glfwWindowHint(GLFW_AUTO_ICONIFY, false);
//glfwWindowHint(GLFW_AUTO_ICONIFY, false);
}
//glfwWindowHint(GLFW_SAMPLES, 8);
@@ -167,17 +167,21 @@ void Renderer::Draw(RenderFrame& frame)
{
GLERROR("PRE");
glBindFramebuffer(GL_FRAMEBUFFER, 0);
#ifdef DEBUG
ImGui::Combo("Draw textures", &m_DebugTextureToDraw, "Final\0Scene\0Bloom\0Gaussian\0Picking\0Ambient Occlusion\0Combined Scene Texture\0Full Blurred Texture");
ImGui::Combo("CubeMap", &m_CubeMapTexture, "Nevada(512)\0Sky(1024)");
#endif
if(m_CubeMapTexture == 0) {
m_CubeMapPass->LoadTextures("Nevada");
} else if (m_CubeMapTexture == 1) {
m_CubeMapPass->LoadTextures("Sky");
}
#ifdef DEBUG
ImGui::SliderInt("SSAO Quality", &m_SSAO_Quality, 0, 3);
ImGui::SliderInt("Glow Quality", &m_GLOW_Quality, 0, 3);
ImGui::SliderInt("MSAA Level", (int*)&m_MSAA_Level, 0, 16);
#endif
m_SSAOPass->ChangeQuality(m_SSAO_Quality);
m_DrawBloomPass->ChangeQuality(m_GLOW_Quality);
m_DrawFinalPass->setMSAA(m_MSAA_Level);
+3 -1
View File
@@ -25,11 +25,13 @@ ShadowPass::~ShadowPass()
void ShadowPass::DebugGUI()
{
#ifdef DEBUG
ImGui::Checkbox("EnableShadows", &m_EnableShadows);
ImGui::DragFloat2("ShadowMapNearFar", m_NearFarPlane, 1.f, -1000.f, 1000.f);
ImGui::DragFloat("ShadowClippingWeight", &m_SplitWeight, 0.001f, 0.f, 1.f);
ImGui::Checkbox("ShadowTransparentObjects", &m_TransparentObjects);
ImGui::Checkbox("ShadowOnTextureAlphas", &m_TexturedShadows);
#endif
}
void ShadowPass::InitializeCameras(RenderScene & scene)
@@ -259,7 +261,7 @@ void ShadowPass::Draw(RenderScene & scene)
std::vector<glm::mat4> 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]));
+58 -9
View File
@@ -2,11 +2,21 @@
Texture::Texture(std::string path)
{
PNG* img = ResourceManager::Load<PNG, true>(path); //TODO: Make this threaded. Catch exeptions in all other load places.
std::string ext = boost::filesystem::path(path).extension().string();
Image* img;
if (ext == ".png") {
img = ResourceManager::Load<PNG, true>(path);
m_Type = TextureType::cPNG;
} else if (ext == ".dds") {
img = ResourceManager::Load<DDS, true>(path);
m_Type = TextureType::cDDS;
} else {
m_Type = TextureType::cInvalid;
throw Resource::FailedLoadingException("Texture extension is not .png nor .dds");
}
this->Width = img->Width;
this->Height = img->Height;
this->Data = img->Data;
GLint format;
switch (img->Format) {
@@ -17,20 +27,59 @@ Texture::Texture(std::string path)
format = GL_RGBA;
break;
}
//Master hade PNG release here...
// Construct the OpenGL texture
glGenTextures(1, &m_Texture);
glBindTexture(GL_TEXTURE_2D, m_Texture);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, format, img->Width, img->Height, 0, format, GL_UNSIGNED_BYTE, img->Data);
glGenerateMipmap(GL_TEXTURE_2D);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
GLERROR("Texture load");
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
if (!img->Compressed) {
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
}
unsigned int w = img->Width;
unsigned int h = img->Width;
unsigned char* data = img->Data;
for (int mipLevel = 0; mipLevel < 1 + img->MipMapLevels; mipLevel++) {
if (img->Compressed) {
//LOG_DEBUG("mipLevel: %i", mipLevel);
//LOG_DEBUG("w: %i", w);
//LOG_DEBUG("h: %i", h);
ResourceManager::Release("PNG", path);
std::size_t bpe = 16;
std::size_t numBlocksWide = std::max<std::size_t>(1, (w + 3) / 4);
std::size_t numBlocksHigh = std::max<std::size_t>(1, (h + 3) / 4);
std::size_t rowBytes = numBlocksWide * bpe;
std::size_t numRows = numBlocksHigh;
std::size_t numBytes = rowBytes * numBlocksHigh;
//LOG_DEBUG("numBytes: %i", numBytes);
glCompressedTexImage2D(GL_TEXTURE_2D, mipLevel, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, w, h, 0, numBytes, data);
data += numBytes;
} else {
glTexImage2D(GL_TEXTURE_2D, mipLevel, format, img->Width, img->Height, 0, format, GL_UNSIGNED_BYTE, img->Data);
}
w = w >> 1;
h = h >> 1;
}
//LOG_DEBUG("REMAINDER: %i", img->ByteSize - (data - img->Data));
// Generate mipmaps if the image file doesn't contain them
if (img->MipMapLevels == 0) {
glGenerateMipmap(GL_TEXTURE_2D);
}
if (ext == ".png") {
ResourceManager::Release("PNG", path);
} else if (ext == ".dds") {
ResourceManager::Release("DDS", path);
}
if (GLERROR("Texture load")) {
throw Resource::FailedLoadingException("GL texture generation failed");
}
}
Texture::~Texture()
+13
View File
@@ -417,6 +417,14 @@ bool SoundManager::OnSetCamera(const Events::SetCamera& e)
alSourcei(m_CurrentBGMCombo->ALsource, AL_LOOPING, 1);
setGain(m_CurrentBGMCombo, 0);
playSound(m_CurrentBGMCombo);
} else if (m_World->HasComponent(e.CameraEntity.ID, "EndScreen")) {
float timeOffset = getTimeOffsetSeconds(m_CurrentBGM);
stopSound(m_CurrentBGM);
m_CurrentBGM = createSource("Audio/BGM/Layer3.wav");
m_CurrentBGM->Type = SoundType::BGM;
alSourcei(m_CurrentBGM->ALsource, AL_LOOPING, 1);
playSound(m_CurrentBGM);
setTimeOffsetSeconds(m_CurrentBGM, timeOffset);
}
}
@@ -477,6 +485,11 @@ float SoundManager::getTimeOffsetSeconds(Source* source)
return time;
}
void SoundManager::setTimeOffsetSeconds(Source * source, float timeOffset)
{
alSourcef(source->ALsource, AL_SEC_OFFSET, timeOffset);
}
void SoundManager::initOpenAL()
{
// Initialize OpenAL
+3 -2
View File
@@ -53,10 +53,11 @@ target_link_libraries(Game
${LIBRARIES}
)
add_executable(TacticalZ
add_executable(Axyz
main.cpp
${CMAKE_SOURCE_DIR}/resources/TacticalZ.rc
)
target_link_libraries(TacticalZ
target_link_libraries(Axyz
Game
${LIBRARIES}
)

Some files were not shown because too many files have changed in this diff Show More