@@ -29,18 +29,7 @@
|
|||||||
#include "Core/EAmmoPickup.h"
|
#include "Core/EAmmoPickup.h"
|
||||||
#include "Network/ESearchForServers.h"
|
#include "Network/ESearchForServers.h"
|
||||||
#include "../Game/Events/EDashAbility.h"
|
#include "../Game/Events/EDashAbility.h"
|
||||||
|
#include "Network/EDisplayServerlist.h"
|
||||||
struct ServerInfo
|
|
||||||
{
|
|
||||||
ServerInfo(std::string a, int b, std::string c, int d)
|
|
||||||
{
|
|
||||||
Address = a; Port = b; Name = c; PlayersConnected = d;
|
|
||||||
}
|
|
||||||
std::string Address = "";
|
|
||||||
int Port = 0;
|
|
||||||
std::string Name = "";
|
|
||||||
int PlayersConnected = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
class Client : public Network
|
class Client : public Network
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef Events_ConnectRequest_h__
|
||||||
|
#define Events_ConnectRequest_h__
|
||||||
|
|
||||||
|
#include "Core/EventBroker.h"
|
||||||
|
|
||||||
|
namespace Events
|
||||||
|
{
|
||||||
|
|
||||||
|
struct ConnectRequest : public Event
|
||||||
|
{
|
||||||
|
std::string IP = "";
|
||||||
|
int Port = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
#ifndef Events_DisplayServerlist_h__
|
||||||
|
#define Events_DisplayServerlist_h__
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include "Core/Event.h"
|
||||||
|
|
||||||
|
struct ServerInfo
|
||||||
|
{
|
||||||
|
ServerInfo(std::string address, int port, std::string name, int players)
|
||||||
|
{
|
||||||
|
Address = address; Port = port; Name = name; PlayersConnected = players;
|
||||||
|
}
|
||||||
|
std::string Address = "";
|
||||||
|
int Port = 0;
|
||||||
|
std::string Name = "";
|
||||||
|
int PlayersConnected = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace Events
|
||||||
|
{
|
||||||
|
|
||||||
|
struct DisplayServerlist : public Event
|
||||||
|
{
|
||||||
|
std::vector<ServerInfo> Serverlist;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
#ifndef BlurHUD_h__
|
||||||
|
#define BlurHUD_h__
|
||||||
|
|
||||||
|
#include "IRenderer.h"
|
||||||
|
#include "DrawBloomPassState.h"
|
||||||
|
//#include "LightCullingPass.h" Finalpass om den skall skickas in
|
||||||
|
#include "FrameBuffer.h"
|
||||||
|
#include "ShaderProgram.h"
|
||||||
|
//#include "Util/UnorderedMapVec2.h"
|
||||||
|
#include "Texture.h"
|
||||||
|
|
||||||
|
class BlurHUD
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BlurHUD(IRenderer* renderer);
|
||||||
|
~BlurHUD() { }
|
||||||
|
void InitializeTextures();
|
||||||
|
void InitializeFrameBuffers();
|
||||||
|
void InitializeShaderPrograms();
|
||||||
|
void InitializeBuffers();
|
||||||
|
void ClearBuffer();
|
||||||
|
|
||||||
|
void FillGaussianBuffer(FrameBuffer* fb);
|
||||||
|
|
||||||
|
GLuint Draw(GLuint texture, RenderScene& scene);
|
||||||
|
|
||||||
|
void OnWindowResize();
|
||||||
|
void FillStencil(RenderScene& scene);
|
||||||
|
GLuint CombineTextures(GLuint texture1, GLuint texture2);
|
||||||
|
|
||||||
|
//Getters
|
||||||
|
//Return the blurred result of the texture that was sent into draw
|
||||||
|
GLuint GaussianTexture() const {
|
||||||
|
if (m_Quality == 0) {
|
||||||
|
return m_BlackTexture->m_Texture;
|
||||||
|
} else {
|
||||||
|
return m_GaussianTexture_vert;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
Texture* m_BlackTexture;
|
||||||
|
Model* m_ScreenQuad;
|
||||||
|
|
||||||
|
const IRenderer* m_Renderer;
|
||||||
|
ConfigFile* m_Config;
|
||||||
|
//const LightCullingPass* m_LightCullingPass
|
||||||
|
int m_Iterations = 3;
|
||||||
|
int m_Quality = 0;
|
||||||
|
float m_BlurQuality = 2.f;
|
||||||
|
|
||||||
|
GLuint m_GaussianTexture_horiz = 0;
|
||||||
|
GLuint m_GaussianTexture_vert = 0;
|
||||||
|
GLuint m_DepthStencil_horiz = 0;
|
||||||
|
GLuint m_DepthStencil_vert = 0;
|
||||||
|
GLuint m_CombinedTexture = 0;
|
||||||
|
|
||||||
|
FrameBuffer m_GaussianFrameBuffer_horiz;
|
||||||
|
FrameBuffer m_GaussianFrameBuffer_vert;
|
||||||
|
FrameBuffer m_CombinedTextureBuffer;
|
||||||
|
|
||||||
|
ShaderProgram* m_GaussianProgram_horiz;
|
||||||
|
ShaderProgram* m_GaussianProgram_vert;
|
||||||
|
ShaderProgram* m_FillDepthStencilProgram;
|
||||||
|
ShaderProgram* m_CombineTexturesProgram;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
#include "Util/UnorderedMapVec2.h"
|
#include "Util/UnorderedMapVec2.h"
|
||||||
#include "Util/CommonFunctions.h"
|
#include "Util/CommonFunctions.h"
|
||||||
#include "Texture.h"
|
#include "Texture.h"
|
||||||
|
#include "BlurHUD.h"
|
||||||
|
|
||||||
class DrawFinalPass
|
class DrawFinalPass
|
||||||
{
|
{
|
||||||
@@ -20,7 +21,7 @@ public:
|
|||||||
void InitializeTextures();
|
void InitializeTextures();
|
||||||
void InitializeFrameBuffers();
|
void InitializeFrameBuffers();
|
||||||
void InitializeShaderPrograms();
|
void InitializeShaderPrograms();
|
||||||
void Draw(RenderScene& scene);
|
void Draw(RenderScene& scene, BlurHUD* blurHUDPass);
|
||||||
void ClearBuffer();
|
void ClearBuffer();
|
||||||
void OnWindowResize();
|
void OnWindowResize();
|
||||||
|
|
||||||
@@ -28,6 +29,10 @@ public:
|
|||||||
GLuint BloomTexture() const { return m_BloomTexture; }
|
GLuint BloomTexture() const { return m_BloomTexture; }
|
||||||
//Return the texture with diffuse and lighting of the scene.
|
//Return the texture with diffuse and lighting of the scene.
|
||||||
GLuint SceneTexture() const { return m_SceneTexture; }
|
GLuint SceneTexture() const { return m_SceneTexture; }
|
||||||
|
//Return the SceneTexture with the blurred HUD bits.
|
||||||
|
GLuint CombinedSceneTexture() const { return m_CombinedTexture; }
|
||||||
|
//Return the blurred scene texture.
|
||||||
|
GLuint FullBlurredTexture() const { return m_FullBlurredTexture; }
|
||||||
//Return the framebuffer used in the scene rendering stage.
|
//Return the framebuffer used in the scene rendering stage.
|
||||||
FrameBuffer* FinalPassFrameBuffer() { return &m_FinalPassFrameBuffer; }
|
FrameBuffer* FinalPassFrameBuffer() { return &m_FinalPassFrameBuffer; }
|
||||||
|
|
||||||
@@ -57,6 +62,8 @@ private:
|
|||||||
GLuint m_DepthBuffer;
|
GLuint m_DepthBuffer;
|
||||||
GLuint m_ShieldBuffer;
|
GLuint m_ShieldBuffer;
|
||||||
GLuint m_CubeMapTexture;
|
GLuint m_CubeMapTexture;
|
||||||
|
GLuint m_FullBlurredTexture;
|
||||||
|
GLuint m_CombinedTexture; //This can be removed for less memory usage, just set m_sceneTexture to the return from m_BlurHUDPass.CombineTextures
|
||||||
|
|
||||||
//maqke this component based i guess?
|
//maqke this component based i guess?
|
||||||
GLuint m_ShieldPixelRate = 16;
|
GLuint m_ShieldPixelRate = 16;
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ struct RenderScene
|
|||||||
|
|
||||||
Rectangle Viewport;
|
Rectangle Viewport;
|
||||||
bool ClearDepth = false;
|
bool ClearDepth = false;
|
||||||
|
bool ShouldBlur = false;
|
||||||
glm::vec4 AmbientColor;
|
glm::vec4 AmbientColor;
|
||||||
|
|
||||||
void Clear()
|
void Clear()
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
#include "DrawColorCorrectionPass.h"
|
#include "DrawColorCorrectionPass.h"
|
||||||
#include "SSAOPass.h"
|
#include "SSAOPass.h"
|
||||||
#include "CubeMapPass.h"
|
#include "CubeMapPass.h"
|
||||||
|
#include "BlurHUD.h"
|
||||||
#include "../Core/EventBroker.h"
|
#include "../Core/EventBroker.h"
|
||||||
#include "ImGuiRenderPass.h"
|
#include "ImGuiRenderPass.h"
|
||||||
#include "Camera.h"
|
#include "Camera.h"
|
||||||
@@ -75,6 +76,7 @@ private:
|
|||||||
DrawColorCorrectionPass* m_DrawColorCorrectionPass;
|
DrawColorCorrectionPass* m_DrawColorCorrectionPass;
|
||||||
SSAOPass* m_SSAOPass;
|
SSAOPass* m_SSAOPass;
|
||||||
CubeMapPass* m_CubeMapPass;
|
CubeMapPass* m_CubeMapPass;
|
||||||
|
BlurHUD* m_BlurHUDPass;
|
||||||
|
|
||||||
//----------------------Functions----------------------//
|
//----------------------Functions----------------------//
|
||||||
void InitializeWindow();
|
void InitializeWindow();
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ struct SpriteJob : RenderJob
|
|||||||
EndIndex = matProp.material->EndIndex;
|
EndIndex = matProp.material->EndIndex;
|
||||||
Matrix = matrix;
|
Matrix = matrix;
|
||||||
Color = cSprite["Color"];
|
Color = cSprite["Color"];
|
||||||
|
BlurBackground = (bool)cSprite["BlurBackground"];
|
||||||
|
|
||||||
Entity = cSprite.EntityID;
|
Entity = cSprite.EntityID;
|
||||||
Position = Transform::AbsolutePosition(world, cSprite.EntityID);
|
Position = Transform::AbsolutePosition(world, cSprite.EntityID);
|
||||||
Depth = 0;
|
Depth = 0;
|
||||||
@@ -65,6 +67,7 @@ struct SpriteJob : RenderJob
|
|||||||
|
|
||||||
bool Pickable;
|
bool Pickable;
|
||||||
bool IsIndicator = false;
|
bool IsIndicator = false;
|
||||||
|
bool BlurBackground = false;
|
||||||
|
|
||||||
glm::vec4 FillColor = glm::vec4(0);
|
glm::vec4 FillColor = glm::vec4(0);
|
||||||
float FillPercentage = 0.0;
|
float FillPercentage = 0.0;
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
#ifndef MainMenuSystem_h__
|
#ifndef MainMenuSystem_h__
|
||||||
#define MainMenuSystem_h__
|
#define MainMenuSystem_h__
|
||||||
|
|
||||||
#include "../Core/System.h"
|
#include "Core/System.h"
|
||||||
#include "../Rendering/IRenderer.h"
|
#include "Rendering/IRenderer.h"
|
||||||
#include "../Core/ResourceManager.h"
|
#include "Core/ResourceManager.h"
|
||||||
#include "../Core/Event.h"
|
#include "Core/Event.h"
|
||||||
|
#include "Systems/SpawnerSystem.h"
|
||||||
|
|
||||||
|
|
||||||
#include "EButtonClicked.h"
|
#include "GUI/EButtonClicked.h"
|
||||||
#include "EButtonPressed.h"
|
#include "GUI/EButtonPressed.h"
|
||||||
#include "EButtonReleased.h"
|
#include "GUI/EButtonReleased.h"
|
||||||
|
#include "Input/EInputCommand.h"
|
||||||
|
#include "Network/ESearchForServers.h"
|
||||||
|
#include "Network/EConnectRequest.h"
|
||||||
|
|
||||||
|
|
||||||
class MainMenuSystem : public ImpureSystem
|
class MainMenuSystem : public ImpureSystem
|
||||||
@@ -27,6 +31,11 @@ private:
|
|||||||
bool OnButtonRelease(const Events::ButtonReleased& e);
|
bool OnButtonRelease(const Events::ButtonReleased& e);
|
||||||
EventRelay<MainMenuSystem, Events::ButtonPressed> m_EPressed;
|
EventRelay<MainMenuSystem, Events::ButtonPressed> m_EPressed;
|
||||||
bool OnButtonPress(const Events::ButtonPressed& e);
|
bool OnButtonPress(const Events::ButtonPressed& e);
|
||||||
|
EventRelay<MainMenuSystem, Events::InputCommand> m_EInputCommand;
|
||||||
|
bool OnInputCommand(const Events::InputCommand& e);
|
||||||
|
|
||||||
|
std::string m_CurrentCommand = "";
|
||||||
|
EntityWrapper m_OpenSubMenu = EntityWrapper::Invalid;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
#ifndef ServerListSystem_h__
|
||||||
|
#define ServerListSystem_h__
|
||||||
|
|
||||||
|
#include "Core/System.h"
|
||||||
|
#include "Rendering/IRenderer.h"
|
||||||
|
#include "Core/ResourceManager.h"
|
||||||
|
#include "Core/Event.h"
|
||||||
|
#include "Systems/SpawnerSystem.h"
|
||||||
|
#include "Core/EventBroker.h"
|
||||||
|
|
||||||
|
#include "Network/ESearchForServers.h"
|
||||||
|
#include "Network/EDisplayServerlist.h"
|
||||||
|
|
||||||
|
class ServerListSystem : public PureSystem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ServerListSystem(SystemParams params, IRenderer* renderer);
|
||||||
|
virtual void UpdateComponent(EntityWrapper& entity, ComponentWrapper& cServerList, double dt) override;
|
||||||
|
|
||||||
|
void RefreshList();
|
||||||
|
|
||||||
|
private:
|
||||||
|
IRenderer* m_Renderer;
|
||||||
|
|
||||||
|
EventRelay<ServerListSystem, Events::DisplayServerlist> m_EServerListRecieved;
|
||||||
|
bool OnServerListRecieved(const Events::DisplayServerlist& e);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -66,4 +66,6 @@
|
|||||||
<xs:include schemaLocation="Components/ScoreScreen.xsd"/>
|
<xs:include schemaLocation="Components/ScoreScreen.xsd"/>
|
||||||
<xs:include schemaLocation="Components/ScoreIdentity.xsd"/>
|
<xs:include schemaLocation="Components/ScoreIdentity.xsd"/>
|
||||||
<xs:include schemaLocation="Components/NetworkComponent.xsd"/>
|
<xs:include schemaLocation="Components/NetworkComponent.xsd"/>
|
||||||
|
<xs:include schemaLocation="Components/ServerIdentity.xsd"/>
|
||||||
|
<xs:include schemaLocation="Components/ServerList.xsd"/>
|
||||||
</xs:schema>
|
</xs:schema>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<ServerIdentity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ServerIdentity.xsd">
|
||||||
|
<IP>123.123.123.123</IP>
|
||||||
|
<Port>65999</Port>
|
||||||
|
<ServerName>UnkownServer</ServerName>
|
||||||
|
<PlayersConnected>0</PlayersConnected>
|
||||||
|
</ServerIdentity>
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
<xs:element name="ServerIdentity">
|
||||||
|
<xs:annotation><xs:documentation>A component for tracking the data of servers in the serverlist.</xs:documentation></xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:all>
|
||||||
|
<xs:element name="IP" type="t:string" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>The IP adress of the server.</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="Port" type="t:int" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Port used to connect to the server.</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="ServerName" type="t:string" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Name of the server.</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="PlayersConnected" type="t:int" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Amount of players connected to the server.</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:all>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<ServerList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ServerList.xsd">
|
||||||
|
<TotalIdentities>0</TotalIdentities>
|
||||||
|
<NextPosition>0</NextPosition>
|
||||||
|
<Offset X="0.0" Y="0.0" Z="0.0"/>
|
||||||
|
</ServerList>
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
|
||||||
|
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
|
||||||
|
<xs:element name="ServerList">
|
||||||
|
<xs:annotation><xs:documentation>The menulist where servers will be listed.</xs:documentation></xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:all>
|
||||||
|
<xs:element name="TotalIdentities" type="t:int" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>The amount of server identities in this list.</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="NextPosition" type="t:int" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Where the next serverIdentity should be placed.</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="Offset" type="t:Vector" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>How much offset should be applied per position</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:all>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@@ -5,4 +5,5 @@
|
|||||||
<Color R="1" G="1" B="1" A="1"/>
|
<Color R="1" G="1" B="1" A="1"/>
|
||||||
<Visible>true</Visible>
|
<Visible>true</Visible>
|
||||||
<DepthSort>true</DepthSort>
|
<DepthSort>true</DepthSort>
|
||||||
|
<BlurBackground>false</BlurBackground>
|
||||||
</Sprite>
|
</Sprite>
|
||||||
|
|||||||
@@ -24,6 +24,9 @@
|
|||||||
<xs:element name="DepthSort" type="t:bool" minOccurs="0">
|
<xs:element name="DepthSort" type="t:bool" minOccurs="0">
|
||||||
<xs:annotation><xs:documentation>Whether the sprite should be sorted with depth or not. Only use false for textures that are on HUD</xs:documentation></xs:annotation>
|
<xs:annotation><xs:documentation>Whether the sprite should be sorted with depth or not. Only use false for textures that are on HUD</xs:documentation></xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element name="BlurBackground" type="t:bool" minOccurs="0">
|
||||||
|
<xs:annotation><xs:documentation>Wether the background should be blurred begind this sprite.</xs:documentation></xs:annotation>
|
||||||
|
</xs:element>
|
||||||
</xs:all>
|
</xs:all>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
|||||||
@@ -0,0 +1,208 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity name="MainMenuOrigin" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:Menu/>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0" Z="-0.5"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children>
|
||||||
|
<Entity name="Side_Origin">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.377000004" Y="0.0400000028" Z="0"/>
|
||||||
|
<Orientation X="0" Y="0.797000051" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="ButtonPos_3">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="-0.140000001" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Button_3">
|
||||||
|
<Components>
|
||||||
|
<c:Button/>
|
||||||
|
<c:Sprite>
|
||||||
|
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
||||||
|
<BlurBackground>true</BlurBackground>
|
||||||
|
<GlowMap></GlowMap>
|
||||||
|
<Color A="0.588235319" B="1" G="1" R="1"/>
|
||||||
|
</c:Sprite>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.200000003" Y="0.0500000007" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Text">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>Credits</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
|
<Color A="1" B="0" G="0" R="0"/>
|
||||||
|
<Alignment>
|
||||||
|
<Left/>
|
||||||
|
</Alignment>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.075000003" Y="-0.0150000006" Z="0.00100000005"/>
|
||||||
|
<Scale X="0.0199999996" Y="0.0199999996" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="ButtonPos_1">
|
||||||
|
<Components>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Button_1">
|
||||||
|
<Components>
|
||||||
|
<c:Button/>
|
||||||
|
<c:Sprite>
|
||||||
|
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
||||||
|
<BlurBackground>true</BlurBackground>
|
||||||
|
<GlowMap></GlowMap>
|
||||||
|
<Color A="0.588235319" B="1" G="1" R="1"/>
|
||||||
|
</c:Sprite>
|
||||||
|
<c:InputCmdButton>
|
||||||
|
<Command>Play</Command>
|
||||||
|
<PressValue>1</PressValue>
|
||||||
|
</c:InputCmdButton>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.200000003" Y="0.0500000007" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Text">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>Play</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
|
<Color A="1" B="0" G="0" R="0"/>
|
||||||
|
<Alignment>
|
||||||
|
<Left/>
|
||||||
|
</Alignment>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.075000003" Y="-0.0150000006" Z="0.00100000005"/>
|
||||||
|
<Scale X="0.0199999996" Y="0.0199999996" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="ButtonPos_2">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="-0.0700000003" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Button_2">
|
||||||
|
<Components>
|
||||||
|
<c:Button/>
|
||||||
|
<c:Sprite>
|
||||||
|
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
||||||
|
<BlurBackground>true</BlurBackground>
|
||||||
|
<GlowMap></GlowMap>
|
||||||
|
<Color A="0.588235319" B="1" G="1" R="1"/>
|
||||||
|
</c:Sprite>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.200000003" Y="0.0500000007" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Text">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>Option</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
|
<Color A="1" B="0" G="0" R="0"/>
|
||||||
|
<Alignment>
|
||||||
|
<Left/>
|
||||||
|
</Alignment>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.075000003" Y="-0.0150000006" Z="0.00100000005"/>
|
||||||
|
<Scale X="0.0199999996" Y="0.0199999996" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="ButtonPos_4">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="-0.209999993" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Button_4">
|
||||||
|
<Components>
|
||||||
|
<c:Button/>
|
||||||
|
<c:Sprite>
|
||||||
|
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
||||||
|
<BlurBackground>true</BlurBackground>
|
||||||
|
<GlowMap></GlowMap>
|
||||||
|
<Color A="0.588235319" B="1" G="1" R="1"/>
|
||||||
|
</c:Sprite>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.200000003" Y="0.0500000007" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Text">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>Quit</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
|
<Color A="1" B="0" G="0" R="0"/>
|
||||||
|
<Alignment>
|
||||||
|
<Left/>
|
||||||
|
</Alignment>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.075000003" Y="-0.0150000006" Z="0.00100000005"/>
|
||||||
|
<Scale X="0.0199999996" Y="0.0199999996" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Popup_Origin">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.103822395" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="PlaySpawner">
|
||||||
|
<Components>
|
||||||
|
<c:Spawner>
|
||||||
|
<EntityFile>Schema/Entities/ServerList.xml</EntityFile>
|
||||||
|
</c:Spawner>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
<Components>
|
<Components>
|
||||||
<c:CapturePointGameMode>
|
<c:CapturePointGameMode>
|
||||||
<RespawnTime>4.7473226580121377</RespawnTime>
|
<RespawnTime>3.6154132075906489</RespawnTime>
|
||||||
</c:CapturePointGameMode>
|
</c:CapturePointGameMode>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="-1" Z="0"/>
|
<Position X="0" Y="-1" Z="0"/>
|
||||||
@@ -11,6 +11,104 @@
|
|||||||
</Components>
|
</Components>
|
||||||
|
|
||||||
<Children>
|
<Children>
|
||||||
|
<Entity name="AnimationTestOrigin">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-9.21499538" Y="0" Z="8.55711079"/>
|
||||||
|
<Orientation X="0" Y="4.829" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="RunAnim">
|
||||||
|
<Components>
|
||||||
|
<c:Animation>
|
||||||
|
<AnimationName></AnimationName>
|
||||||
|
</c:Animation>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultAnimated.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.786919653" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Walkanim">
|
||||||
|
<Components>
|
||||||
|
<c:Animation>
|
||||||
|
<AnimationName></AnimationName>
|
||||||
|
</c:Animation>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultAnimated.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="AnimationText">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>Animation test</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
|
</c:Text>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="2.4000001" Z="0"/>
|
||||||
|
<Orientation X="0" Y="3.08300018" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="AssetBase">
|
||||||
|
<Components>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Core/UnitCylinder.mesh</Resource>
|
||||||
|
<Color A="1" B="1.56862748" G="1.56862748" R="1.56862748"/>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-1.10000002" Y="-0.231354833" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Light">
|
||||||
|
<Components>
|
||||||
|
<c:PointLight/>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0.663784981" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="RotationOrigin">
|
||||||
|
<Components>
|
||||||
|
<c:RaptorCopter>
|
||||||
|
<Speed>0.5</Speed>
|
||||||
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
|
</c:RaptorCopter>
|
||||||
|
<c:Transform>
|
||||||
|
<Orientation X="0" Y="2907.64526" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="Asset">
|
||||||
|
<Components>
|
||||||
|
<c:Animation>
|
||||||
|
<AnimationName></AnimationName>
|
||||||
|
</c:Animation>
|
||||||
|
<c:Model>
|
||||||
|
<Resource>Models/Characters/Assault/AssaultAnimated.mesh</Resource>
|
||||||
|
</c:Model>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0.5" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
<Entity name="Ground">
|
<Entity name="Ground">
|
||||||
<Components>
|
<Components>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
@@ -43,7 +141,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="9038.11328" Z="0"/>
|
<Orientation X="0" Y="9141.29785" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -96,115 +194,11 @@
|
|||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="2.1529963" Y="6.59221172" Z="0.169116676"/>
|
<Position X="2.1529963" Y="6.59221172" Z="0.169116676"/>
|
||||||
<Orientation X="4.16300011" Y="18876.6172" Z="0"/>
|
<Orientation X="4.16300011" Y="18980.4727" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
</Entity>
|
</Entity>
|
||||||
<Entity name="AnimationTestOrigin">
|
|
||||||
<Components>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="-9.21499538" Y="0" Z="8.55711079"/>
|
|
||||||
<Orientation X="0" Y="4.829" Z="0"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children>
|
|
||||||
<Entity name="RunAnim">
|
|
||||||
<Components>
|
|
||||||
<c:Animation>
|
|
||||||
<AnimationName1></AnimationName1>
|
|
||||||
<AnimationName2></AnimationName2>
|
|
||||||
<AnimationName3></AnimationName3>
|
|
||||||
</c:Animation>
|
|
||||||
<c:Model>
|
|
||||||
<Resource>Models/Characters/Assault/AssaultAnimated.mesh</Resource>
|
|
||||||
</c:Model>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="0.786919653" Y="0" Z="0"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children/>
|
|
||||||
</Entity>
|
|
||||||
<Entity name="Walkanim">
|
|
||||||
<Components>
|
|
||||||
<c:Animation>
|
|
||||||
<AnimationName1></AnimationName1>
|
|
||||||
<AnimationName2></AnimationName2>
|
|
||||||
<AnimationName3></AnimationName3>
|
|
||||||
</c:Animation>
|
|
||||||
<c:Model>
|
|
||||||
<Resource>Models/Characters/Assault/AssaultAnimated.mesh</Resource>
|
|
||||||
</c:Model>
|
|
||||||
<c:Transform/>
|
|
||||||
</Components>
|
|
||||||
<Children/>
|
|
||||||
</Entity>
|
|
||||||
<Entity name="AnimationText">
|
|
||||||
<Components>
|
|
||||||
<c:Text>
|
|
||||||
<Content>Animation test</Content>
|
|
||||||
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
|
||||||
</c:Text>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="0" Y="2.4000001" Z="0"/>
|
|
||||||
<Orientation X="0" Y="3.08300018" Z="0"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children/>
|
|
||||||
</Entity>
|
|
||||||
<Entity name="AssetBase">
|
|
||||||
<Components>
|
|
||||||
<c:Model>
|
|
||||||
<Resource>Models/Core/UnitCylinder.mesh</Resource>
|
|
||||||
<Color A="1" B="1.56862748" G="1.56862748" R="1.56862748"/>
|
|
||||||
</c:Model>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="-1.10000002" Y="-0.231354833" Z="0"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children>
|
|
||||||
<Entity name="Light">
|
|
||||||
<Components>
|
|
||||||
<c:PointLight/>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="0" Y="0.663784981" Z="0"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children/>
|
|
||||||
</Entity>
|
|
||||||
<Entity name="RotationOrigin">
|
|
||||||
<Components>
|
|
||||||
<c:RaptorCopter>
|
|
||||||
<Speed>0.5</Speed>
|
|
||||||
<Axis X="0" Y="1" Z="0"/>
|
|
||||||
</c:RaptorCopter>
|
|
||||||
<c:Transform>
|
|
||||||
<Orientation X="0" Y="2856.05518" Z="0"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children>
|
|
||||||
<Entity name="Asset">
|
|
||||||
<Components>
|
|
||||||
<c:Animation>
|
|
||||||
<AnimationName1></AnimationName1>
|
|
||||||
<AnimationName2></AnimationName2>
|
|
||||||
<AnimationName3></AnimationName3>
|
|
||||||
</c:Animation>
|
|
||||||
<c:Model>
|
|
||||||
<Resource>Models/Characters/Assault/AssaultAnimated.mesh</Resource>
|
|
||||||
</c:Model>
|
|
||||||
<c:Transform>
|
|
||||||
<Position X="0" Y="0.5" Z="0"/>
|
|
||||||
</c:Transform>
|
|
||||||
</Components>
|
|
||||||
<Children/>
|
|
||||||
</Entity>
|
|
||||||
</Children>
|
|
||||||
</Entity>
|
|
||||||
</Children>
|
|
||||||
</Entity>
|
|
||||||
</Children>
|
|
||||||
</Entity>
|
|
||||||
<Entity name="SpheresOrigin">
|
<Entity name="SpheresOrigin">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
@@ -228,7 +222,7 @@
|
|||||||
<Axis X="1" Y="1" Z="1"/>
|
<Axis X="1" Y="1" Z="1"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="17467.0977" Y="17467.0977" Z="17467.0977"/>
|
<Orientation X="17570.9531" Y="17570.9531" Z="17570.9531"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -292,7 +286,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="17263.0938" Z="0"/>
|
<Orientation X="0" Y="17366.9492" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -324,7 +318,7 @@
|
|||||||
<Axis X="0.699999988" Y="1" Z="0.300000012"/>
|
<Axis X="0.699999988" Y="1" Z="0.300000012"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="12630.0664" Y="17990.5039" Z="5383.80176"/>
|
<Orientation X="12702.4932" Y="18094.3594" Z="5414.53027"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -395,15 +389,15 @@
|
|||||||
<Children>
|
<Children>
|
||||||
<Entity name="SpawnerRedTeam">
|
<Entity name="SpawnerRedTeam">
|
||||||
<Components>
|
<Components>
|
||||||
<c:PlayerSpawn/>
|
|
||||||
<c:Spawner>
|
|
||||||
<EntityFile>Schema/Entities/Player.xml</EntityFile>
|
|
||||||
</c:Spawner>
|
|
||||||
<c:Team>
|
<c:Team>
|
||||||
<Team>
|
<Team>
|
||||||
<Red/>
|
<Red/>
|
||||||
</Team>
|
</Team>
|
||||||
</c:Team>
|
</c:Team>
|
||||||
|
<c:PlayerSpawn/>
|
||||||
|
<c:Spawner>
|
||||||
|
<EntityFile>Schema/Entities/Player.xml</EntityFile>
|
||||||
|
</c:Spawner>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="-3"/>
|
<Position X="0" Y="0" Z="-3"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
@@ -465,15 +459,15 @@
|
|||||||
</Entity>
|
</Entity>
|
||||||
<Entity name="SpawnerBlueTeam">
|
<Entity name="SpawnerBlueTeam">
|
||||||
<Components>
|
<Components>
|
||||||
<c:PlayerSpawn/>
|
|
||||||
<c:Spawner>
|
|
||||||
<EntityFile>Schema/Entities/Player.xml</EntityFile>
|
|
||||||
</c:Spawner>
|
|
||||||
<c:Team>
|
<c:Team>
|
||||||
<Team>
|
<Team>
|
||||||
<Blue/>
|
<Blue/>
|
||||||
</Team>
|
</Team>
|
||||||
</c:Team>
|
</c:Team>
|
||||||
|
<c:PlayerSpawn/>
|
||||||
|
<c:Spawner>
|
||||||
|
<EntityFile>Schema/Entities/Player.xml</EntityFile>
|
||||||
|
</c:Spawner>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="3"/>
|
<Position X="0" Y="0" Z="3"/>
|
||||||
<Orientation X="0" Y="3.20000005" Z="0"/>
|
<Orientation X="0" Y="3.20000005" Z="0"/>
|
||||||
@@ -619,8 +613,8 @@
|
|||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="1.16991854" Y="0.5" Z="-1.42708254"/>
|
<Position X="1.16991854" Y="0.5" Z="-1.42708254"/>
|
||||||
<Scale X="3.70000029" Y="1" Z="1"/>
|
|
||||||
<Orientation X="1.80400014" Y="3.6650002" Z="4.94500017"/>
|
<Orientation X="1.80400014" Y="3.6650002" Z="4.94500017"/>
|
||||||
|
<Scale X="3.70000029" Y="1" Z="1"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -674,7 +668,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1153.80225" Z="0"/>
|
<Orientation X="0" Y="1205.41614" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -721,7 +715,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1153.80225" Z="0"/>
|
<Orientation X="0" Y="1205.41614" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -781,7 +775,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1153.80225" Z="0"/>
|
<Orientation X="0" Y="1205.41614" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -828,7 +822,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1153.80225" Z="0"/>
|
<Orientation X="0" Y="1205.41614" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -874,7 +868,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1153.80225" Z="0"/>
|
<Orientation X="0" Y="1205.41614" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -921,7 +915,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1153.80225" Z="0"/>
|
<Orientation X="0" Y="1205.41614" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -968,7 +962,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1153.80225" Z="0"/>
|
<Orientation X="0" Y="1205.41614" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -1023,22 +1017,22 @@
|
|||||||
<Components>
|
<Components>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:CapturePoint>
|
<c:CapturePoint>
|
||||||
|
<CaptureTimer>15</CaptureTimer>
|
||||||
<HomePointForTeam>
|
<HomePointForTeam>
|
||||||
<Red/>
|
<Red/>
|
||||||
</HomePointForTeam>
|
</HomePointForTeam>
|
||||||
<CaptureTimer>15</CaptureTimer>
|
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Red/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
<c:Trigger/>
|
<c:Trigger/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="0.300000012" B="0" G="0" R="1"/>
|
<Color A="0.300000012" B="0" G="0" R="1"/>
|
||||||
<Transparent>true</Transparent>
|
<Transparent>true</Transparent>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
|
||||||
<Team>
|
|
||||||
<Red/>
|
|
||||||
</Team>
|
|
||||||
</c:Team>
|
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="2" Z="0"/>
|
<Position X="0" Y="2" Z="0"/>
|
||||||
<Scale X="8" Y="4" Z="8"/>
|
<Scale X="8" Y="4" Z="8"/>
|
||||||
@@ -1054,8 +1048,8 @@
|
|||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="4" Z="0"/>
|
<Position X="0" Y="4" Z="0"/>
|
||||||
<Scale X="0.400000006" Y="0.400000006" Z="0.400000006"/>
|
|
||||||
<Orientation X="0" Y="4.71200037" Z="0"/>
|
<Orientation X="0" Y="4.71200037" Z="0"/>
|
||||||
|
<Scale X="0.400000006" Y="0.400000006" Z="0.400000006"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1078,13 +1072,13 @@
|
|||||||
<c:CapturePoint>
|
<c:CapturePoint>
|
||||||
<CapturePointNumber>1</CapturePointNumber>
|
<CapturePointNumber>1</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
|
<c:Team/>
|
||||||
<c:Trigger/>
|
<c:Trigger/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="0.300000012" B="1" G="1" R="1"/>
|
<Color A="0.300000012" B="1" G="1" R="1"/>
|
||||||
<Transparent>true</Transparent>
|
<Transparent>true</Transparent>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="2" Z="0"/>
|
<Position X="0" Y="2" Z="0"/>
|
||||||
<Scale X="8" Y="4" Z="8"/>
|
<Scale X="8" Y="4" Z="8"/>
|
||||||
@@ -1100,8 +1094,8 @@
|
|||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="4" Z="0"/>
|
<Position X="0" Y="4" Z="0"/>
|
||||||
<Scale X="0.400000006" Y="0.400000006" Z="1"/>
|
|
||||||
<Orientation X="0" Y="4.71200037" Z="0"/>
|
<Orientation X="0" Y="4.71200037" Z="0"/>
|
||||||
|
<Scale X="0.400000006" Y="0.400000006" Z="1"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1122,13 +1116,13 @@
|
|||||||
<c:CapturePoint>
|
<c:CapturePoint>
|
||||||
<CapturePointNumber>2</CapturePointNumber>
|
<CapturePointNumber>2</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
|
<c:Team/>
|
||||||
<c:Trigger/>
|
<c:Trigger/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="0.300000012" B="1" G="1" R="1"/>
|
<Color A="0.300000012" B="1" G="1" R="1"/>
|
||||||
<Transparent>true</Transparent>
|
<Transparent>true</Transparent>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="2" Z="0"/>
|
<Position X="0" Y="2" Z="0"/>
|
||||||
<Scale X="8" Y="4" Z="8"/>
|
<Scale X="8" Y="4" Z="8"/>
|
||||||
@@ -1144,8 +1138,8 @@
|
|||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="4" Z="0"/>
|
<Position X="0" Y="4" Z="0"/>
|
||||||
<Scale X="0.400000006" Y="0.400000006" Z="0.400000006"/>
|
|
||||||
<Orientation X="0" Y="4.71200037" Z="0"/>
|
<Orientation X="0" Y="4.71200037" Z="0"/>
|
||||||
|
<Scale X="0.400000006" Y="0.400000006" Z="0.400000006"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1168,13 +1162,13 @@
|
|||||||
<c:CapturePoint>
|
<c:CapturePoint>
|
||||||
<CapturePointNumber>3</CapturePointNumber>
|
<CapturePointNumber>3</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
|
<c:Team/>
|
||||||
<c:Trigger/>
|
<c:Trigger/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="0.300000012" B="1" G="1" R="1"/>
|
<Color A="0.300000012" B="1" G="1" R="1"/>
|
||||||
<Transparent>true</Transparent>
|
<Transparent>true</Transparent>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team/>
|
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="2" Z="0"/>
|
<Position X="0" Y="2" Z="0"/>
|
||||||
<Scale X="8" Y="4" Z="8"/>
|
<Scale X="8" Y="4" Z="8"/>
|
||||||
@@ -1190,8 +1184,8 @@
|
|||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="4" Z="0"/>
|
<Position X="0" Y="4" Z="0"/>
|
||||||
<Scale X="0.400000006" Y="0.400000006" Z="1"/>
|
|
||||||
<Orientation X="0" Y="4.71200037" Z="0"/>
|
<Orientation X="0" Y="4.71200037" Z="0"/>
|
||||||
|
<Scale X="0.400000006" Y="0.400000006" Z="1"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1212,23 +1206,23 @@
|
|||||||
<Components>
|
<Components>
|
||||||
<c:AABB/>
|
<c:AABB/>
|
||||||
<c:CapturePoint>
|
<c:CapturePoint>
|
||||||
|
<CaptureTimer>-15</CaptureTimer>
|
||||||
<HomePointForTeam>
|
<HomePointForTeam>
|
||||||
<Blue/>
|
<Blue/>
|
||||||
</HomePointForTeam>
|
</HomePointForTeam>
|
||||||
<CaptureTimer>-15</CaptureTimer>
|
|
||||||
<CapturePointNumber>4</CapturePointNumber>
|
<CapturePointNumber>4</CapturePointNumber>
|
||||||
</c:CapturePoint>
|
</c:CapturePoint>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Blue/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
<c:Trigger/>
|
<c:Trigger/>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Core/UnitCube.mesh</Resource>
|
<Resource>Models/Core/UnitCube.mesh</Resource>
|
||||||
<Color A="0.300000012" B="1" G="0" R="0"/>
|
<Color A="0.300000012" B="1" G="0" R="0"/>
|
||||||
<Transparent>true</Transparent>
|
<Transparent>true</Transparent>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
|
||||||
<Team>
|
|
||||||
<Blue/>
|
|
||||||
</Team>
|
|
||||||
</c:Team>
|
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="2" Z="0"/>
|
<Position X="0" Y="2" Z="0"/>
|
||||||
<Scale X="8" Y="4" Z="8"/>
|
<Scale X="8" Y="4" Z="8"/>
|
||||||
@@ -1244,8 +1238,8 @@
|
|||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="4" Z="0"/>
|
<Position X="0" Y="4" Z="0"/>
|
||||||
<Scale X="0.400000006" Y="0.400000006" Z="0.400000006"/>
|
|
||||||
<Orientation X="0" Y="4.71200037" Z="0"/>
|
<Orientation X="0" Y="4.71200037" Z="0"/>
|
||||||
|
<Scale X="0.400000006" Y="0.400000006" Z="0.400000006"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1285,8 +1279,8 @@
|
|||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="13.1000004" Z="0"/>
|
<Position X="0" Y="13.1000004" Z="0"/>
|
||||||
<Scale X="2" Y="2" Z="2"/>
|
|
||||||
<Orientation X="0" Y="3.08300018" Z="0"/>
|
<Orientation X="0" Y="3.08300018" Z="0"/>
|
||||||
|
<Scale X="2" Y="2" Z="2"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1382,7 +1376,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1687.52917" Z="0"/>
|
<Orientation X="0" Y="1739.14307" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -1391,7 +1385,7 @@
|
|||||||
<c:ExplosionEffect>
|
<c:ExplosionEffect>
|
||||||
<ColorByDistance>true</ColorByDistance>
|
<ColorByDistance>true</ColorByDistance>
|
||||||
<Velocity X="0.800000012" Y="0.0379999988" Z="0"/>
|
<Velocity X="0.800000012" Y="0.0379999988" Z="0"/>
|
||||||
<TimeSinceDeath>2.5396116058983438</TimeSinceDeath>
|
<TimeSinceDeath>1.5712751414989441</TimeSinceDeath>
|
||||||
<ExplosionDuration>3.7999999523162842</ExplosionDuration>
|
<ExplosionDuration>3.7999999523162842</ExplosionDuration>
|
||||||
<EndColor A="0" B="23.5294113" G="11.7647057" R="0"/>
|
<EndColor A="0" B="23.5294113" G="11.7647057" R="0"/>
|
||||||
<Randomness>true</Randomness>
|
<Randomness>true</Randomness>
|
||||||
@@ -1438,7 +1432,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1687.52917" Z="0"/>
|
<Orientation X="0" Y="1739.14307" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -1447,7 +1441,7 @@
|
|||||||
<c:ExplosionEffect>
|
<c:ExplosionEffect>
|
||||||
<Velocity X="0.5" Y="1" Z="0"/>
|
<Velocity X="0.5" Y="1" Z="0"/>
|
||||||
<ExplosionOrigin X="0" Y="0.900000036" Z="0"/>
|
<ExplosionOrigin X="0" Y="0.900000036" Z="0"/>
|
||||||
<TimeSinceDeath>1.5396208215609732</TimeSinceDeath>
|
<TimeSinceDeath>0.85439856235552725</TimeSinceDeath>
|
||||||
</c:ExplosionEffect>
|
</c:ExplosionEffect>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
<Resource>Models/Characters/Assault/AssaultTPose.mesh</Resource>
|
||||||
@@ -1490,22 +1484,20 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1687.52917" Z="0"/>
|
<Orientation X="0" Y="1739.14307" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
<Entity name="Asset">
|
<Entity name="Asset">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Animation>
|
<c:Animation>
|
||||||
<AnimationName1></AnimationName1>
|
<AnimationName></AnimationName>
|
||||||
<AnimationName2></AnimationName2>
|
|
||||||
<AnimationName3></AnimationName3>
|
|
||||||
</c:Animation>
|
</c:Animation>
|
||||||
<c:ExplosionEffect>
|
<c:ExplosionEffect>
|
||||||
<ColorByDistance>true</ColorByDistance>
|
<ColorByDistance>true</ColorByDistance>
|
||||||
<Velocity X="0.300000012" Y="2" Z="0"/>
|
<Velocity X="0.300000012" Y="2" Z="0"/>
|
||||||
<ExplosionOrigin X="0" Y="1.30000007" Z="-0.200000003"/>
|
<ExplosionOrigin X="0" Y="1.30000007" Z="-0.200000003"/>
|
||||||
<TimeSinceDeath>1.5396208215609732</TimeSinceDeath>
|
<TimeSinceDeath>0.85439856235552725</TimeSinceDeath>
|
||||||
<EndColor A="0" B="0.333333343" G="0.933333337" R="3.92156863"/>
|
<EndColor A="0" B="0.333333343" G="0.933333337" R="3.92156863"/>
|
||||||
<Randomness>true</Randomness>
|
<Randomness>true</Randomness>
|
||||||
</c:ExplosionEffect>
|
</c:ExplosionEffect>
|
||||||
@@ -1550,7 +1542,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1695.30933" Z="0"/>
|
<Orientation X="0" Y="1746.92322" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -1560,7 +1552,7 @@
|
|||||||
<ColorByDistance>true</ColorByDistance>
|
<ColorByDistance>true</ColorByDistance>
|
||||||
<Velocity X="0" Y="0.699999988" Z="0"/>
|
<Velocity X="0" Y="0.699999988" Z="0"/>
|
||||||
<ExplosionOrigin X="0" Y="-1.10000002" Z="0"/>
|
<ExplosionOrigin X="0" Y="-1.10000002" Z="0"/>
|
||||||
<TimeSinceDeath>4.4522528839264339</TimeSinceDeath>
|
<TimeSinceDeath>7.5223549108000043</TimeSinceDeath>
|
||||||
<ExplosionDuration>10</ExplosionDuration>
|
<ExplosionDuration>10</ExplosionDuration>
|
||||||
<EndColor A="1" B="0" G="0" R="1"/>
|
<EndColor A="1" B="0" G="0" R="1"/>
|
||||||
<RandomnessScalar>3</RandomnessScalar>
|
<RandomnessScalar>3</RandomnessScalar>
|
||||||
@@ -1608,7 +1600,7 @@
|
|||||||
<Axis X="0" Y="1" Z="0"/>
|
<Axis X="0" Y="1" Z="0"/>
|
||||||
</c:RaptorCopter>
|
</c:RaptorCopter>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Orientation X="0" Y="1293.42383" Z="0"/>
|
<Orientation X="0" Y="1345.03772" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -1618,7 +1610,7 @@
|
|||||||
<ColorByDistance>true</ColorByDistance>
|
<ColorByDistance>true</ColorByDistance>
|
||||||
<Velocity X="6" Y="0.100000001" Z="0"/>
|
<Velocity X="6" Y="0.100000001" Z="0"/>
|
||||||
<ExplosionOrigin X="0" Y="-10" Z="0"/>
|
<ExplosionOrigin X="0" Y="-10" Z="0"/>
|
||||||
<TimeSinceDeath>3.2362842141074992</TimeSinceDeath>
|
<TimeSinceDeath>0.39702717854592606</TimeSinceDeath>
|
||||||
<ExponentialAccelaration>true</ExponentialAccelaration>
|
<ExponentialAccelaration>true</ExponentialAccelaration>
|
||||||
<ExplosionDuration>5</ExplosionDuration>
|
<ExplosionDuration>5</ExplosionDuration>
|
||||||
<Randomness>true</Randomness>
|
<Randomness>true</Randomness>
|
||||||
@@ -1655,8 +1647,8 @@
|
|||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="7.57566977" Y="8.63030624" Z="-0.00154382922"/>
|
<Position X="7.57566977" Y="8.63030624" Z="-0.00154382922"/>
|
||||||
<Scale X="2" Y="2" Z="1"/>
|
|
||||||
<Orientation X="0" Y="1.5710001" Z="0"/>
|
<Orientation X="0" Y="1.5710001" Z="0"/>
|
||||||
|
<Scale X="2" Y="2" Z="1"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1701,6 +1693,11 @@
|
|||||||
<Origin X="0" Y="0.772000015" Z="0"/>
|
<Origin X="0" Y="0.772000015" Z="0"/>
|
||||||
<Size X="1" Y="1.60000002" Z="1"/>
|
<Size X="1" Y="1.60000002" Z="1"/>
|
||||||
</c:AABB>
|
</c:AABB>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Red/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
<c:Collidable/>
|
<c:Collidable/>
|
||||||
<c:Health/>
|
<c:Health/>
|
||||||
<c:Physics>
|
<c:Physics>
|
||||||
@@ -1711,11 +1708,6 @@
|
|||||||
<MovementSpeed>5</MovementSpeed>
|
<MovementSpeed>5</MovementSpeed>
|
||||||
<CurrentWeapon></CurrentWeapon>
|
<CurrentWeapon></CurrentWeapon>
|
||||||
</c:Player>
|
</c:Player>
|
||||||
<c:Team>
|
|
||||||
<Team>
|
|
||||||
<Red/>
|
|
||||||
</Team>
|
|
||||||
</c:Team>
|
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-1.56735241" Y="0.527999997" Z="0.929739475"/>
|
<Position X="-1.56735241" Y="0.527999997" Z="0.929739475"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
@@ -1738,8 +1730,8 @@
|
|||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0.100000001" Y="0.248000011" Z="-0.248000011"/>
|
<Position X="0.100000001" Y="0.248000011" Z="-0.248000011"/>
|
||||||
<Scale X="0.100000001" Y="0.113000005" Z="0.5"/>
|
|
||||||
<Orientation X="0" Y="3.14199996" Z="0"/>
|
<Orientation X="0" Y="3.14199996" Z="0"/>
|
||||||
|
<Scale X="0.100000001" Y="0.113000005" Z="0.5"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1777,8 +1769,8 @@
|
|||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-0.383000016" Y="-0.185000002" Z="0"/>
|
<Position X="-0.383000016" Y="-0.185000002" Z="0"/>
|
||||||
<Scale X="0.150000006" Y="0.150000006" Z="0.150000006"/>
|
|
||||||
<Orientation X="0" Y="0.594000041" Z="0"/>
|
<Orientation X="0" Y="0.594000041" Z="0"/>
|
||||||
|
<Scale X="0.150000006" Y="0.150000006" Z="0.150000006"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1790,8 +1782,8 @@
|
|||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="0.200000003"/>
|
<Position X="0" Y="0" Z="0.200000003"/>
|
||||||
<Scale X="0.00600000005" Y="1" Z="0.00600000005"/>
|
|
||||||
<Orientation X="1.57000005" Y="0" Z="0"/>
|
<Orientation X="1.57000005" Y="0" Z="0"/>
|
||||||
|
<Scale X="0.00600000005" Y="1" Z="0.00600000005"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1801,7 +1793,7 @@
|
|||||||
<c:ExplosionEffect>
|
<c:ExplosionEffect>
|
||||||
<ColorByDistance>true</ColorByDistance>
|
<ColorByDistance>true</ColorByDistance>
|
||||||
<Velocity X="0.800000012" Y="0.0379999988" Z="0"/>
|
<Velocity X="0.800000012" Y="0.0379999988" Z="0"/>
|
||||||
<TimeSinceDeath>2.5396116058983438</TimeSinceDeath>
|
<TimeSinceDeath>1.5712751414989441</TimeSinceDeath>
|
||||||
<ExplosionDuration>3.7999999523162842</ExplosionDuration>
|
<ExplosionDuration>3.7999999523162842</ExplosionDuration>
|
||||||
<EndColor A="0" B="23.5294113" G="11.7647057" R="0"/>
|
<EndColor A="0" B="23.5294113" G="11.7647057" R="0"/>
|
||||||
<Randomness>true</Randomness>
|
<Randomness>true</Randomness>
|
||||||
@@ -1845,9 +1837,7 @@
|
|||||||
<Entity name="PlayerModel">
|
<Entity name="PlayerModel">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Animation>
|
<c:Animation>
|
||||||
<AnimationName1></AnimationName1>
|
<AnimationName></AnimationName>
|
||||||
<AnimationName2></AnimationName2>
|
|
||||||
<AnimationName3></AnimationName3>
|
|
||||||
</c:Animation>
|
</c:Animation>
|
||||||
<c:Shielded/>
|
<c:Shielded/>
|
||||||
<c:HiddenForLocalPlayer/>
|
<c:HiddenForLocalPlayer/>
|
||||||
@@ -1915,8 +1905,8 @@
|
|||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-4.95900011" Y="0" Z="1.29897511"/>
|
<Position X="-4.95900011" Y="0" Z="1.29897511"/>
|
||||||
<Scale X="5" Y="5" Z="5"/>
|
|
||||||
<Orientation X="0.407000005" Y="1.68700004" Z="0"/>
|
<Orientation X="0.407000005" Y="1.68700004" Z="0"/>
|
||||||
|
<Scale X="5" Y="5" Z="5"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -1991,20 +1981,20 @@
|
|||||||
<Children>
|
<Children>
|
||||||
<Entity name="ProgressionHexagon">
|
<Entity name="ProgressionHexagon">
|
||||||
<Components>
|
<Components>
|
||||||
<c:CapturePointHUD>
|
|
||||||
<CapturePointNumber>2</CapturePointNumber>
|
|
||||||
</c:CapturePointHUD>
|
|
||||||
<c:Fill>
|
<c:Fill>
|
||||||
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
|
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
|
||||||
</c:Fill>
|
</c:Fill>
|
||||||
|
<c:CapturePointHUD>
|
||||||
|
<CapturePointNumber>2</CapturePointNumber>
|
||||||
|
</c:CapturePointHUD>
|
||||||
<c:Sprite>
|
<c:Sprite>
|
||||||
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
|
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
|
||||||
<GlowMap></GlowMap>
|
<GlowMap></GlowMap>
|
||||||
</c:Sprite>
|
</c:Sprite>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="0.00999999978"/>
|
<Position X="0" Y="0" Z="0.00999999978"/>
|
||||||
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
|
|
||||||
<Orientation X="0" Y="0" Z="1.57079637"/>
|
<Orientation X="0" Y="0" Z="1.57079637"/>
|
||||||
|
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -2025,20 +2015,20 @@
|
|||||||
<Children>
|
<Children>
|
||||||
<Entity name="ProgressionHexagon">
|
<Entity name="ProgressionHexagon">
|
||||||
<Components>
|
<Components>
|
||||||
<c:CapturePointHUD>
|
|
||||||
<CapturePointNumber>3</CapturePointNumber>
|
|
||||||
</c:CapturePointHUD>
|
|
||||||
<c:Fill>
|
<c:Fill>
|
||||||
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
|
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
|
||||||
</c:Fill>
|
</c:Fill>
|
||||||
|
<c:CapturePointHUD>
|
||||||
|
<CapturePointNumber>3</CapturePointNumber>
|
||||||
|
</c:CapturePointHUD>
|
||||||
<c:Sprite>
|
<c:Sprite>
|
||||||
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
|
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
|
||||||
<GlowMap></GlowMap>
|
<GlowMap></GlowMap>
|
||||||
</c:Sprite>
|
</c:Sprite>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="0.00999999978"/>
|
<Position X="0" Y="0" Z="0.00999999978"/>
|
||||||
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
|
|
||||||
<Orientation X="0" Y="0" Z="1.57079637"/>
|
<Orientation X="0" Y="0" Z="1.57079637"/>
|
||||||
|
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -2059,21 +2049,21 @@
|
|||||||
<Children>
|
<Children>
|
||||||
<Entity name="ProgressionHexagon">
|
<Entity name="ProgressionHexagon">
|
||||||
<Components>
|
<Components>
|
||||||
<c:CapturePointHUD>
|
|
||||||
<CapturePointNumber>4</CapturePointNumber>
|
|
||||||
</c:CapturePointHUD>
|
|
||||||
<c:Fill>
|
<c:Fill>
|
||||||
<Percentage>1</Percentage>
|
<Percentage>1</Percentage>
|
||||||
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
|
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
|
||||||
</c:Fill>
|
</c:Fill>
|
||||||
|
<c:CapturePointHUD>
|
||||||
|
<CapturePointNumber>4</CapturePointNumber>
|
||||||
|
</c:CapturePointHUD>
|
||||||
<c:Sprite>
|
<c:Sprite>
|
||||||
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
|
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
|
||||||
<GlowMap></GlowMap>
|
<GlowMap></GlowMap>
|
||||||
</c:Sprite>
|
</c:Sprite>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="0.00999999978"/>
|
<Position X="0" Y="0" Z="0.00999999978"/>
|
||||||
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
|
|
||||||
<Orientation X="0" Y="0" Z="1.57079637"/>
|
<Orientation X="0" Y="0" Z="1.57079637"/>
|
||||||
|
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -2094,20 +2084,20 @@
|
|||||||
<Children>
|
<Children>
|
||||||
<Entity name="ProgressionHexagon">
|
<Entity name="ProgressionHexagon">
|
||||||
<Components>
|
<Components>
|
||||||
<c:CapturePointHUD>
|
|
||||||
<CapturePointNumber>1</CapturePointNumber>
|
|
||||||
</c:CapturePointHUD>
|
|
||||||
<c:Fill>
|
<c:Fill>
|
||||||
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
|
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
|
||||||
</c:Fill>
|
</c:Fill>
|
||||||
|
<c:CapturePointHUD>
|
||||||
|
<CapturePointNumber>1</CapturePointNumber>
|
||||||
|
</c:CapturePointHUD>
|
||||||
<c:Sprite>
|
<c:Sprite>
|
||||||
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
|
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
|
||||||
<GlowMap></GlowMap>
|
<GlowMap></GlowMap>
|
||||||
</c:Sprite>
|
</c:Sprite>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="0.00999999978"/>
|
<Position X="0" Y="0" Z="0.00999999978"/>
|
||||||
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
|
|
||||||
<Orientation X="0" Y="0" Z="1.57079637"/>
|
<Orientation X="0" Y="0" Z="1.57079637"/>
|
||||||
|
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -2128,19 +2118,19 @@
|
|||||||
<Children>
|
<Children>
|
||||||
<Entity name="ProgressionHexagon">
|
<Entity name="ProgressionHexagon">
|
||||||
<Components>
|
<Components>
|
||||||
<c:CapturePointHUD/>
|
|
||||||
<c:Fill>
|
<c:Fill>
|
||||||
<Percentage>1</Percentage>
|
<Percentage>1</Percentage>
|
||||||
<Color A="0.699999988" B="0" G="0" R="1"/>
|
<Color A="0.699999988" B="0" G="0" R="1"/>
|
||||||
</c:Fill>
|
</c:Fill>
|
||||||
|
<c:CapturePointHUD/>
|
||||||
<c:Sprite>
|
<c:Sprite>
|
||||||
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
|
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
|
||||||
<GlowMap></GlowMap>
|
<GlowMap></GlowMap>
|
||||||
</c:Sprite>
|
</c:Sprite>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="0.00999999978"/>
|
<Position X="0" Y="0" Z="0.00999999978"/>
|
||||||
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
|
|
||||||
<Orientation X="0" Y="0" Z="4.71238899"/>
|
<Orientation X="0" Y="0" Z="4.71238899"/>
|
||||||
|
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
@@ -2166,14 +2156,24 @@
|
|||||||
<Position X="0" Y="1.32321239" Z="0"/>
|
<Position X="0" Y="1.32321239" Z="0"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children>
|
||||||
|
<Entity name="Spawner">
|
||||||
|
<Components>
|
||||||
|
<c:Spawner>
|
||||||
|
<EntityFile></EntityFile>
|
||||||
|
</c:Spawner>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
</Entity>
|
</Entity>
|
||||||
</Children>
|
</Children>
|
||||||
</Entity>
|
</Entity>
|
||||||
<Entity name="MenuOirign">
|
<Entity name="MenuOirign">
|
||||||
<Components>
|
<Components>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-23.0533829" Y="0.938369572" Z="14.068408"/>
|
<Position X="0" Y="0.600000024" Z="-1.86100006"/>
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children>
|
<Children>
|
||||||
@@ -2374,7 +2374,9 @@
|
|||||||
<Components>
|
<Components>
|
||||||
<c:Sprite>
|
<c:Sprite>
|
||||||
<DiffuseTexture>Textures/Core/ErrorTexture.png</DiffuseTexture>
|
<DiffuseTexture>Textures/Core/ErrorTexture.png</DiffuseTexture>
|
||||||
|
<BlurBackground>true</BlurBackground>
|
||||||
<GlowMap></GlowMap>
|
<GlowMap></GlowMap>
|
||||||
|
<Color A="0" B="1" G="1" R="1"/>
|
||||||
</c:Sprite>
|
</c:Sprite>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0" Z="-1"/>
|
<Position X="0" Y="0" Z="-1"/>
|
||||||
@@ -2387,6 +2389,7 @@
|
|||||||
<c:Sprite>
|
<c:Sprite>
|
||||||
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
||||||
<GlowMap></GlowMap>
|
<GlowMap></GlowMap>
|
||||||
|
<Visible>false</Visible>
|
||||||
</c:Sprite>
|
</c:Sprite>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0.375197947" Z="0.0627754927"/>
|
<Position X="0" Y="0.375197947" Z="0.0627754927"/>
|
||||||
@@ -2400,6 +2403,7 @@
|
|||||||
<Content>1920x1080</Content>
|
<Content>1920x1080</Content>
|
||||||
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
<Color A="1" B="1" G="0.847058833" R="0"/>
|
<Color A="1" B="1" G="0.847058833" R="0"/>
|
||||||
|
<Visible>false</Visible>
|
||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-0.00710564246" Y="-0.203304529" Z="0.00999999978"/>
|
<Position X="-0.00710564246" Y="-0.203304529" Z="0.00999999978"/>
|
||||||
@@ -2416,6 +2420,7 @@
|
|||||||
<c:Sprite>
|
<c:Sprite>
|
||||||
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
||||||
<GlowMap></GlowMap>
|
<GlowMap></GlowMap>
|
||||||
|
<Visible>false</Visible>
|
||||||
</c:Sprite>
|
</c:Sprite>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="0" Y="0.199327558" Z="0.0627754927"/>
|
<Position X="0" Y="0.199327558" Z="0.0627754927"/>
|
||||||
@@ -2429,6 +2434,7 @@
|
|||||||
<Content>1280x720</Content>
|
<Content>1280x720</Content>
|
||||||
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
<Color A="1" B="1" G="0.847058833" R="0"/>
|
<Color A="1" B="1" G="0.847058833" R="0"/>
|
||||||
|
<Visible>false</Visible>
|
||||||
</c:Text>
|
</c:Text>
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
<Position X="-0.00710564246" Y="-0.203304529" Z="0.00999999978"/>
|
<Position X="-0.00710564246" Y="-0.203304529" Z="0.00999999978"/>
|
||||||
@@ -2540,20 +2546,20 @@
|
|||||||
<Children>
|
<Children>
|
||||||
<Entity name="CapturePointArrow">
|
<Entity name="CapturePointArrow">
|
||||||
<Components>
|
<Components>
|
||||||
|
<c:Team>
|
||||||
|
<Team>
|
||||||
|
<Red/>
|
||||||
|
</Team>
|
||||||
|
</c:Team>
|
||||||
<c:CapturePointArrowHUD>
|
<c:CapturePointArrowHUD>
|
||||||
<CurrentTarget>2</CurrentTarget>
|
<CurrentTarget>2</CurrentTarget>
|
||||||
</c:CapturePointArrowHUD>
|
</c:CapturePointArrowHUD>
|
||||||
<c:Model>
|
<c:Model>
|
||||||
<Resource>Models/Weapons/Blue/AssaultWeaponBlue.mesh</Resource>
|
<Resource>Models/Weapons/Blue/AssaultWeaponBlue.mesh</Resource>
|
||||||
</c:Model>
|
</c:Model>
|
||||||
<c:Team>
|
|
||||||
<Team>
|
|
||||||
<Red/>
|
|
||||||
</Team>
|
|
||||||
</c:Team>
|
|
||||||
<c:Transform>
|
<c:Transform>
|
||||||
|
<Orientation X="-0.26696983" Y="-0.146981478" Z="0"/>
|
||||||
<Scale X="10.7000008" Y="1.4000001" Z="5.30000019"/>
|
<Scale X="10.7000008" Y="1.4000001" Z="5.30000019"/>
|
||||||
<Orientation X="-0.648448348" Y="-0.417814791" Z="0"/>
|
|
||||||
</c:Transform>
|
</c:Transform>
|
||||||
</Components>
|
</Components>
|
||||||
<Children/>
|
<Children/>
|
||||||
|
|||||||
@@ -0,0 +1,122 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity name="ServerIdentity_Origin" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children>
|
||||||
|
<Entity name="ServerIdentity">
|
||||||
|
<Components>
|
||||||
|
<c:ServerIdentity/>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="IP">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>123.123.123.123</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
|
<Color A="1" B="0" G="0" R="0"/>
|
||||||
|
<Alignment>
|
||||||
|
<Left/>
|
||||||
|
</Alignment>
|
||||||
|
</c:Text>
|
||||||
|
<c:TextFieldReader>
|
||||||
|
<ParentEntityName>ServerIdentity</ParentEntityName>
|
||||||
|
<ComponentType>ServerIdentity</ComponentType>
|
||||||
|
<Field>IP</Field>
|
||||||
|
</c:TextFieldReader>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-0.200000003" Y="-0.100000001" Z="0"/>
|
||||||
|
<Scale X="0.649999976" Y="0.649999976" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Port">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>65999</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
|
<Color A="1" B="0" G="0" R="0"/>
|
||||||
|
<Alignment>
|
||||||
|
<Left/>
|
||||||
|
</Alignment>
|
||||||
|
</c:Text>
|
||||||
|
<c:TextFieldReader>
|
||||||
|
<ParentEntityName>ServerIdentity</ParentEntityName>
|
||||||
|
<ComponentType>ServerIdentity</ComponentType>
|
||||||
|
<Field>Port</Field>
|
||||||
|
</c:TextFieldReader>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="4.70000029" Y="-0.100000001" Z="0"/>
|
||||||
|
<Scale X="0.649999976" Y="0.649999976" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="ServerName">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>UnkownServer</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
|
<Color A="1" B="0" G="0" R="0"/>
|
||||||
|
<Alignment>
|
||||||
|
<Left/>
|
||||||
|
</Alignment>
|
||||||
|
</c:Text>
|
||||||
|
<c:TextFieldReader>
|
||||||
|
<ParentEntityName>ServerIdentity</ParentEntityName>
|
||||||
|
<ComponentType>ServerIdentity</ComponentType>
|
||||||
|
<Field>ServerName</Field>
|
||||||
|
</c:TextFieldReader>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="-8.60000038" Y="-0.100000001" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="PlayersConnected">
|
||||||
|
<Components>
|
||||||
|
<c:Text>
|
||||||
|
<Content>0</Content>
|
||||||
|
<Resource>Fonts/DroidSans.ttf,64</Resource>
|
||||||
|
<Color A="1" B="0" G="0" R="0"/>
|
||||||
|
<Alignment>
|
||||||
|
<Left/>
|
||||||
|
</Alignment>
|
||||||
|
</c:Text>
|
||||||
|
<c:TextFieldReader>
|
||||||
|
<ParentEntityName>ServerIdentity</ParentEntityName>
|
||||||
|
<ComponentType>ServerIdentity</ComponentType>
|
||||||
|
<Field>PlayersConnected</Field>
|
||||||
|
</c:TextFieldReader>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="7.80000019" Y="0" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="ServerIdentityConnect">
|
||||||
|
<Components>
|
||||||
|
<c:Button/>
|
||||||
|
<c:Sprite>
|
||||||
|
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
||||||
|
<BlurBackground>true</BlurBackground>
|
||||||
|
<GlowMap></GlowMap>
|
||||||
|
<DepthSort>false</DepthSort>
|
||||||
|
<Color A="0.588235319" B="1" G="1" R="1"/>
|
||||||
|
</c:Sprite>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.100000001" Y="0.496000022" Z="0"/>
|
||||||
|
<Scale X="18.1000004" Y="2" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Entity name="ServerList" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
|
||||||
|
|
||||||
|
<Components>
|
||||||
|
<c:ServerList>
|
||||||
|
<Offset X="0" Y="-2.20000005" Z="0"/>
|
||||||
|
</c:ServerList>
|
||||||
|
<c:Transform/>
|
||||||
|
</Components>
|
||||||
|
|
||||||
|
<Children>
|
||||||
|
<Entity name="Identities_Origin">
|
||||||
|
<Components>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0.181182757" Z="0"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="ServerIdentitySpawner">
|
||||||
|
<Components>
|
||||||
|
<c:Spawner>
|
||||||
|
<EntityFile>Schema/Entities/ServerIdentity.xml</EntityFile>
|
||||||
|
</c:Spawner>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="0" Z="0.00999999978"/>
|
||||||
|
<Scale X="0.0149999997" Y="0.0149999997" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="Background">
|
||||||
|
<Components>
|
||||||
|
<c:Sprite>
|
||||||
|
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
||||||
|
<BlurBackground>true</BlurBackground>
|
||||||
|
<GlowMap></GlowMap>
|
||||||
|
<Color A="0.588235319" B="0" G="0" R="0"/>
|
||||||
|
</c:Sprite>
|
||||||
|
<c:Transform>
|
||||||
|
<Scale X="0.300000012" Y="0.5" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
<Entity name="RefreshButton">
|
||||||
|
<Components>
|
||||||
|
<c:Button/>
|
||||||
|
<c:Sprite>
|
||||||
|
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
|
||||||
|
<BlurBackground>true</BlurBackground>
|
||||||
|
<GlowMap></GlowMap>
|
||||||
|
<Color A="0.588235319" B="1" G="1" R="1"/>
|
||||||
|
</c:Sprite>
|
||||||
|
<c:InputCmdButton>
|
||||||
|
<Command>RefreshServerList</Command>
|
||||||
|
<PressValue>1</PressValue>
|
||||||
|
</c:InputCmdButton>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0.120867848" Y="0.222928733" Z="0.0189953279"/>
|
||||||
|
<Scale X="0.0149999997" Y="0.0149999997" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children>
|
||||||
|
<Entity name="RefreshIcon">
|
||||||
|
<Components>
|
||||||
|
<c:Sprite>
|
||||||
|
<DiffuseTexture>Textures/Icons/rotate.png</DiffuseTexture>
|
||||||
|
<GlowMap></GlowMap>
|
||||||
|
<Color A="1" B="1" G="0" R="1"/>
|
||||||
|
</c:Sprite>
|
||||||
|
<c:Transform>
|
||||||
|
<Position X="0" Y="-0.245000005" Z="0.00999999978"/>
|
||||||
|
<Scale X="0.690000057" Y="1.37600005" Z="1"/>
|
||||||
|
</c:Transform>
|
||||||
|
</Components>
|
||||||
|
<Children/>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
</Entity>
|
||||||
|
</Children>
|
||||||
|
|
||||||
|
</Entity>
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -69,6 +69,8 @@
|
|||||||
<xs:element ref="c:ScoreScreen" minOccurs="0"/>
|
<xs:element ref="c:ScoreScreen" minOccurs="0"/>
|
||||||
<xs:element ref="c:ScoreIdentity" minOccurs="0"/>
|
<xs:element ref="c:ScoreIdentity" minOccurs="0"/>
|
||||||
<xs:element ref="c:NetworkComponent" minOccurs="0"/>
|
<xs:element ref="c:NetworkComponent" minOccurs="0"/>
|
||||||
|
<xs:element ref="c:ServerIdentity" minOccurs="0"/>
|
||||||
|
<xs:element ref="c:ServerList" minOccurs="0"/>
|
||||||
</xs:all>
|
</xs:all>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
#version 430
|
||||||
|
|
||||||
|
layout (binding = 0) uniform sampler2D Texture0;
|
||||||
|
layout (binding = 1)uniform sampler2D Texture1;
|
||||||
|
|
||||||
|
|
||||||
|
in VertexData{
|
||||||
|
vec2 TextureCoordinate;
|
||||||
|
}Input;
|
||||||
|
|
||||||
|
out vec4 sceneColor;
|
||||||
|
out vec4 bloomColor;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 texel0 = texture(Texture0, Input.TextureCoordinate);
|
||||||
|
vec4 texel1 = texture(Texture1, Input.TextureCoordinate);
|
||||||
|
float texel1_total = (texel1.r + texel1.g + texel1.b) * texel1.a;
|
||||||
|
texel1_total = ceil(clamp(texel1_total, 0, 1));
|
||||||
|
|
||||||
|
vec4 result0 = texel0 * (1.0 - texel1_total);
|
||||||
|
vec4 result1 = texel1 * texel1_total;
|
||||||
|
|
||||||
|
//vec4 final = texel1 * texel1_total + texel0 * (1.0 - texel1_total);
|
||||||
|
//float res = 1.0 - texel1_total;
|
||||||
|
//vec4 final = vec4(texel1_total, texel1_total, texel1_total, 1.0);
|
||||||
|
sceneColor = result1;
|
||||||
|
bloomColor = vec4(0.0, 0.0, 0.0, 0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#version 430
|
||||||
|
|
||||||
|
layout (location = 0) in vec3 Position;
|
||||||
|
|
||||||
|
out VertexData{
|
||||||
|
vec2 TextureCoordinate;
|
||||||
|
}Output;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_Position = vec4(Position, 1.0);
|
||||||
|
Output.TextureCoordinate = (vec2(Position) + 1) / 2;
|
||||||
|
}
|
||||||
@@ -14,11 +14,15 @@ uniform float weight[5] = float[](0.227027, 0.1945946, 0.1216216, 0.054054, 0.01
|
|||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec2 tex_offset = 1.0 / textureSize2D(Texture, 0);
|
vec2 tex_offset = 1.0 / textureSize2D(Texture, 0);
|
||||||
vec3 result = texture(Texture, Input.TextureCoordinate).rgb * weight[0];
|
vec3 center = texture(Texture, Input.TextureCoordinate).rgb;
|
||||||
|
vec3 result = center * weight[0];
|
||||||
for(int i = 1; i < 5; ++i) {
|
for(int i = 1; i < 5; ++i) {
|
||||||
result += texture(Texture, Input.TextureCoordinate + vec2(tex_offset.x * i, 0.0)).rgb * weight[i];
|
vec4 eastFragments = texture(Texture, Input.TextureCoordinate + vec2(tex_offset.x * i, 0.0));
|
||||||
result += texture(Texture, Input.TextureCoordinate - vec2(tex_offset.x * i, 0.0)).rgb * weight[i];
|
vec4 westFragments = texture(Texture, Input.TextureCoordinate - vec2(tex_offset.x * i, 0.0));
|
||||||
|
result += eastFragments.rgb * weight[i] * eastFragments.a;
|
||||||
|
result += westFragments.rgb * weight[i] * westFragments.a;
|
||||||
|
result += center * weight[i] * (1.0 - westFragments.a);
|
||||||
|
result += center * weight[i] * (1.0 - eastFragments.a);
|
||||||
}
|
}
|
||||||
fragmentColor = vec4(result, 1.0);
|
fragmentColor = vec4(result, 1.0);
|
||||||
}
|
}
|
||||||
@@ -14,11 +14,15 @@ uniform float weight[5] = float[](0.227027, 0.1945946, 0.1216216, 0.054054, 0.01
|
|||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec2 tex_offset = 1.0 / textureSize2D(Texture, 0);
|
vec2 tex_offset = 1.0 / textureSize2D(Texture, 0);
|
||||||
vec3 result = texture(Texture, Input.TextureCoordinate).rgb * weight[0];
|
vec3 center = texture(Texture, Input.TextureCoordinate).rgb;
|
||||||
|
vec3 result = center * weight[0];
|
||||||
for(int i = 1; i < 5; ++i) {
|
for(int i = 1; i < 5; ++i) {
|
||||||
result += texture(Texture, Input.TextureCoordinate + vec2(0.0, tex_offset.y * i)).rgb * weight[i];
|
vec4 northFragments = texture(Texture, Input.TextureCoordinate + vec2(0.0, tex_offset.y * i));
|
||||||
result += texture(Texture, Input.TextureCoordinate - vec2(0.0, tex_offset.y * i)).rgb * weight[i];
|
vec4 southFragments = texture(Texture, Input.TextureCoordinate - vec2(0.0, tex_offset.y * i));
|
||||||
|
result += northFragments.rgb * weight[i] * northFragments.a;
|
||||||
|
result += southFragments.rgb * weight[i] * southFragments.a;
|
||||||
|
result += center * weight[i] * (1.0 - northFragments.a);
|
||||||
|
result += center * weight[i] * (1.0 - southFragments.a);
|
||||||
}
|
}
|
||||||
fragmentColor = vec4(result, 1.0);
|
fragmentColor = vec4(result, 1.0);
|
||||||
}
|
}
|
||||||
@@ -35,7 +35,8 @@ void main()
|
|||||||
sceneColor = vec4(color_result.xyz, clamp(color_result.a, 0, 1));
|
sceneColor = vec4(color_result.xyz, clamp(color_result.a, 0, 1));
|
||||||
|
|
||||||
//bloomColor = vec4(clamp((glowTexel.xyz*3) - 1.0, 0, 100), 1.0);
|
//bloomColor = vec4(clamp((glowTexel.xyz*3) - 1.0, 0, 100), 1.0);
|
||||||
bloomColor = vec4(1.0, 1.0, 1.0, 0.0);
|
bloomColor = vec4(max(color_result.xyz - 1.0, 0.0), clamp(color_result.a, 0, 1));
|
||||||
|
//bloomColor = vec4(1.0, 1.0, 1.0, 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,57 +0,0 @@
|
|||||||
#include "GUI/MainMenuSystem.h"
|
|
||||||
|
|
||||||
MainMenuSystem::MainMenuSystem(SystemParams params, IRenderer* renderer)
|
|
||||||
: System(params)
|
|
||||||
, ImpureSystem()
|
|
||||||
, m_Renderer(renderer)
|
|
||||||
{
|
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_EPressed, &MainMenuSystem::OnButtonPress);
|
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_EReleased, &MainMenuSystem::OnButtonRelease);
|
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_EClicked, &MainMenuSystem::OnButtonClick);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainMenuSystem::Update(double dt)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MainMenuSystem::OnButtonClick(const Events::ButtonClicked& e)
|
|
||||||
{
|
|
||||||
if(e.EntityName == "Play") {
|
|
||||||
//Run play code
|
|
||||||
} else if(e.EntityName == "Connect") {
|
|
||||||
//Run connect code
|
|
||||||
} else if(e.EntityName == "Host") {
|
|
||||||
//Run host code
|
|
||||||
} else if(e.EntityName == "Quit") {
|
|
||||||
printf("No, you stay");
|
|
||||||
} else if (e.EntityName == "Res1080") {
|
|
||||||
glfwSetWindowSize(m_Renderer->Window(), 1920, 1080);
|
|
||||||
printf("\n1080");
|
|
||||||
} else if (e.EntityName == "Res720") {
|
|
||||||
glfwSetWindowSize(m_Renderer->Window(), 1280, 720);
|
|
||||||
glViewport(0, 0, 1280, 720);
|
|
||||||
printf("\n720");
|
|
||||||
} else if (e.EntityName == "Res480") {
|
|
||||||
glfwSetWindowSize(m_Renderer->Window(), 854, 480);
|
|
||||||
glViewport(0, 0, 854, 480);
|
|
||||||
printf("\n480");
|
|
||||||
} else if (e.EntityName == "FullScreen") {
|
|
||||||
printf("No fullscreen for now");
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MainMenuSystem::OnButtonRelease(const Events::ButtonReleased& e)
|
|
||||||
{
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MainMenuSystem::OnButtonPress(const Events::ButtonPressed& e)
|
|
||||||
{
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -82,7 +82,10 @@ void Client::Update()
|
|||||||
if (m_SearchingForServers) {
|
if (m_SearchingForServers) {
|
||||||
if (m_SearchingTime < (1000* (std::clock() - m_StartSearchTime) / (double)CLOCKS_PER_SEC)) {
|
if (m_SearchingTime < (1000* (std::clock() - m_StartSearchTime) / (double)CLOCKS_PER_SEC)) {
|
||||||
m_SearchingForServers = false;
|
m_SearchingForServers = false;
|
||||||
displayServerlist();
|
//displayServerlist();
|
||||||
|
Events::DisplayServerlist e;
|
||||||
|
e.Serverlist = m_Serverlist;
|
||||||
|
m_EventBroker->Publish(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -463,12 +466,6 @@ void Client::disconnect()
|
|||||||
|
|
||||||
bool Client::OnInputCommand(const Events::InputCommand & e)
|
bool Client::OnInputCommand(const Events::InputCommand & e)
|
||||||
{
|
{
|
||||||
// TEMP
|
|
||||||
if (e.Command == "SearchForServers" && e.Value > 0) {
|
|
||||||
Events::SearchForServers e;
|
|
||||||
m_EventBroker->Publish(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e.PlayerID != -1) {
|
if (e.PlayerID != -1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -553,7 +550,6 @@ bool Client::OnSearchForServers(const Events::SearchForServers& e)
|
|||||||
m_SearchingForServers = true;
|
m_SearchingForServers = true;
|
||||||
m_StartSearchTime = std::clock();
|
m_StartSearchTime = std::clock();
|
||||||
m_Serverlist.clear();
|
m_Serverlist.clear();
|
||||||
LOG_INFO("Searching for LAN servers...\n");
|
|
||||||
Packet packet(MessageType::ServerlistRequest);
|
Packet packet(MessageType::ServerlistRequest);
|
||||||
m_ServerlistRequest.Broadcast(packet, 13); // TODO: Config
|
m_ServerlistRequest.Broadcast(packet, 13); // TODO: Config
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -0,0 +1,282 @@
|
|||||||
|
#include "Rendering/BlurHUD.h"
|
||||||
|
|
||||||
|
BlurHUD::BlurHUD(IRenderer* renderer)
|
||||||
|
: m_Renderer(renderer)
|
||||||
|
{
|
||||||
|
InitializeShaderPrograms();
|
||||||
|
InitializeBuffers();
|
||||||
|
InitializeTextures();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlurHUD::InitializeTextures()
|
||||||
|
{
|
||||||
|
m_BlackTexture = CommonFunctions::LoadTexture("Textures/Core/Black.png", false);
|
||||||
|
m_ScreenQuad = ResourceManager::Load<Model>("Models/Core/ScreenQuad.mesh");
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlurHUD::InitializeShaderPrograms()
|
||||||
|
{
|
||||||
|
m_GaussianProgram_horiz = ResourceManager::Load<ShaderProgram>("##GaussianProgramHoriz");
|
||||||
|
if (m_GaussianProgram_horiz->GetHandle() == 0) {
|
||||||
|
m_GaussianProgram_horiz->AddShader(std::shared_ptr<Shader>(new VertexShader("Shaders/Gaussian_horiz.vert.glsl")));
|
||||||
|
m_GaussianProgram_horiz->AddShader(std::shared_ptr<Shader>(new FragmentShader("Shaders/Gaussian_horiz.frag.glsl")));
|
||||||
|
m_GaussianProgram_horiz->Compile();
|
||||||
|
m_GaussianProgram_horiz->BindFragDataLocation(0, "fragmentColor");
|
||||||
|
m_GaussianProgram_horiz->Link();
|
||||||
|
}
|
||||||
|
|
||||||
|
m_GaussianProgram_vert = ResourceManager::Load<ShaderProgram>("##GaussianProgramVert");
|
||||||
|
if (m_GaussianProgram_vert->GetHandle() == 0) {
|
||||||
|
m_GaussianProgram_vert->AddShader(std::shared_ptr<Shader>(new VertexShader("Shaders/Gaussian_vert.vert.glsl")));
|
||||||
|
m_GaussianProgram_vert->AddShader(std::shared_ptr<Shader>(new FragmentShader("Shaders/Gaussian_vert.frag.glsl")));
|
||||||
|
m_GaussianProgram_vert->Compile();
|
||||||
|
m_GaussianProgram_vert->BindFragDataLocation(0, "fragmentColor");
|
||||||
|
m_GaussianProgram_vert->Link();
|
||||||
|
}
|
||||||
|
m_FillDepthStencilProgram = ResourceManager::Load<ShaderProgram>("#FillDepthStencilProgram");
|
||||||
|
if (m_FillDepthStencilProgram->GetHandle() == 0) {
|
||||||
|
m_FillDepthStencilProgram->AddShader(std::shared_ptr<Shader>(new VertexShader("Shaders/FillDepthBuffer.vert.glsl")));
|
||||||
|
m_FillDepthStencilProgram->Compile();
|
||||||
|
m_FillDepthStencilProgram->Link();
|
||||||
|
}
|
||||||
|
m_CombineTexturesProgram = ResourceManager::Load<ShaderProgram>("#CombineTexturesProgram");
|
||||||
|
if (m_CombineTexturesProgram->GetHandle() == 0) {
|
||||||
|
m_CombineTexturesProgram->AddShader(std::shared_ptr<Shader>(new VertexShader("Shaders/CombineTexture.vert.glsl")));
|
||||||
|
m_CombineTexturesProgram->AddShader(std::shared_ptr<Shader>(new FragmentShader("Shaders/CombineTexture.frag.glsl")));
|
||||||
|
m_CombineTexturesProgram->Compile();
|
||||||
|
m_CombineTexturesProgram->BindFragDataLocation(0, "sceneColor");
|
||||||
|
m_CombineTexturesProgram->BindFragDataLocation(1, "bloomColor");
|
||||||
|
m_CombineTexturesProgram->Link();
|
||||||
|
}
|
||||||
|
GLERROR("Creating DepthFill program");
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlurHUD::InitializeBuffers()
|
||||||
|
{
|
||||||
|
glm::vec2 res = glm::vec2(m_Renderer->GetViewportSize().Width, m_Renderer->GetViewportSize().Height);
|
||||||
|
glm::vec2 res2 = glm::vec2(m_Renderer->GetViewportSize().Width/m_BlurQuality, m_Renderer->GetViewportSize().Height/m_BlurQuality);
|
||||||
|
|
||||||
|
|
||||||
|
CommonFunctions::GenerateTexture(&m_DepthStencil_horiz, GL_CLAMP_TO_BORDER, GL_NEAREST,
|
||||||
|
res2, GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8);
|
||||||
|
CommonFunctions::GenerateTexture(&m_GaussianTexture_horiz, GL_CLAMP_TO_EDGE, GL_NEAREST,
|
||||||
|
res2, GL_RGBA16F, GL_RGBA, GL_FLOAT);
|
||||||
|
|
||||||
|
if (m_GaussianFrameBuffer_horiz.GetHandle() == 0) {
|
||||||
|
m_GaussianFrameBuffer_horiz.AddResource(std::shared_ptr<BufferResource>(new Texture2D(&m_DepthStencil_horiz, GL_DEPTH_STENCIL_ATTACHMENT)));
|
||||||
|
m_GaussianFrameBuffer_horiz.AddResource(std::shared_ptr<BufferResource>(new Texture2D(&m_GaussianTexture_horiz, GL_COLOR_ATTACHMENT0)));
|
||||||
|
}
|
||||||
|
m_GaussianFrameBuffer_horiz.Generate();
|
||||||
|
|
||||||
|
CommonFunctions::GenerateTexture(&m_DepthStencil_vert, GL_CLAMP_TO_BORDER, GL_NEAREST,
|
||||||
|
res2, GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8);
|
||||||
|
CommonFunctions::GenerateTexture(&m_GaussianTexture_vert, GL_CLAMP_TO_EDGE, GL_NEAREST,
|
||||||
|
res2, GL_RGBA16F, GL_RGBA, GL_FLOAT);
|
||||||
|
|
||||||
|
if (m_GaussianFrameBuffer_vert.GetHandle() == 0) {
|
||||||
|
m_GaussianFrameBuffer_vert.AddResource(std::shared_ptr<BufferResource>(new Texture2D(&m_DepthStencil_vert, GL_DEPTH_STENCIL_ATTACHMENT)));
|
||||||
|
m_GaussianFrameBuffer_vert.AddResource(std::shared_ptr<BufferResource>(new Texture2D(&m_GaussianTexture_vert, GL_COLOR_ATTACHMENT0)));
|
||||||
|
}
|
||||||
|
m_GaussianFrameBuffer_vert.Generate();
|
||||||
|
|
||||||
|
CommonFunctions::GenerateTexture(&m_CombinedTexture, GL_CLAMP_TO_BORDER, GL_NEAREST,
|
||||||
|
res, GL_RGB16F, GL_RGB, GL_FLOAT);
|
||||||
|
|
||||||
|
if (m_CombinedTextureBuffer.GetHandle() == 0) {
|
||||||
|
m_CombinedTextureBuffer.AddResource(std::shared_ptr<BufferResource>(new Texture2D(&m_CombinedTexture, GL_COLOR_ATTACHMENT0)));
|
||||||
|
}
|
||||||
|
m_CombinedTextureBuffer.Generate();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BlurHUD::ClearBuffer()
|
||||||
|
{
|
||||||
|
GLERROR("PRE");
|
||||||
|
m_GaussianFrameBuffer_horiz.Bind();
|
||||||
|
glClearColor(0.f, 0.f, 0.f, 0.f);
|
||||||
|
glClearStencil(0x00);
|
||||||
|
glStencilMask(~0);
|
||||||
|
glDisable(GL_SCISSOR_TEST);
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
|
||||||
|
m_GaussianFrameBuffer_horiz.Unbind();
|
||||||
|
m_GaussianFrameBuffer_vert.Bind();
|
||||||
|
glClearColor(0.f, 0.f, 0.f, 0.f);
|
||||||
|
glClearStencil(0x00);
|
||||||
|
glStencilMask(~0);
|
||||||
|
glDisable(GL_SCISSOR_TEST);
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
|
||||||
|
m_GaussianFrameBuffer_vert.Unbind();
|
||||||
|
|
||||||
|
m_CombinedTextureBuffer.Bind();
|
||||||
|
glClearColor(0.f, 0.f, 0.f, 0.f);
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
|
m_CombinedTextureBuffer.Unbind();
|
||||||
|
GLERROR("END");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Returns the finished blurred texture
|
||||||
|
GLuint BlurHUD::Draw(GLuint texture, RenderScene& scene)
|
||||||
|
{
|
||||||
|
GLERROR("DrawBloomPass::Draw: Pre");
|
||||||
|
|
||||||
|
FillStencil(scene);
|
||||||
|
|
||||||
|
RenderState state;
|
||||||
|
state.Disable(GL_BLEND);
|
||||||
|
state.Disable(GL_DEPTH_TEST);
|
||||||
|
state.Disable(GL_CULL_FACE);
|
||||||
|
|
||||||
|
state.Enable(GL_STENCIL_TEST);
|
||||||
|
state.StencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
|
||||||
|
state.StencilFunc(GL_EQUAL, 1, 0xFF);
|
||||||
|
state.StencilMask(0x00);
|
||||||
|
state.DepthMask(GL_FALSE);
|
||||||
|
state.Enable(GL_SCISSOR_TEST);
|
||||||
|
|
||||||
|
GLuint shaderHandle_horiz = m_GaussianProgram_horiz->GetHandle();
|
||||||
|
GLuint shaderHandle_vert = m_GaussianProgram_vert->GetHandle();
|
||||||
|
|
||||||
|
//Horizontal pass, first use the given texture then save it to the horizontal framebuffer.
|
||||||
|
m_GaussianFrameBuffer_horiz.Bind();
|
||||||
|
|
||||||
|
glViewport(0, 0, m_Renderer->GetViewportSize().Width/m_BlurQuality, m_Renderer->GetViewportSize().Height/m_BlurQuality);
|
||||||
|
glScissor(0, 0, m_Renderer->GetViewportSize().Width, m_Renderer->GetViewportSize().Height);
|
||||||
|
|
||||||
|
m_GaussianProgram_horiz->Bind();
|
||||||
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, texture);
|
||||||
|
glBindVertexArray(m_ScreenQuad->VAO);
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_ScreenQuad->ElementBuffer);
|
||||||
|
glDrawElementsBaseVertex(GL_TRIANGLES, m_ScreenQuad->MaterialGroups()[0].material->EndIndex - m_ScreenQuad->MaterialGroups()[0].material->StartIndex +1
|
||||||
|
, GL_UNSIGNED_INT, 0, m_ScreenQuad->MaterialGroups()[0].material->StartIndex);
|
||||||
|
//Iterate some times to make it more gaussian.
|
||||||
|
for (int i = 1; i < m_Iterations; i++) {
|
||||||
|
//Vertical pass
|
||||||
|
m_GaussianFrameBuffer_vert.Bind();
|
||||||
|
m_GaussianProgram_vert->Bind();
|
||||||
|
|
||||||
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, m_GaussianTexture_horiz);
|
||||||
|
|
||||||
|
glBindVertexArray(m_ScreenQuad->VAO);
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_ScreenQuad->ElementBuffer);
|
||||||
|
glDrawElementsBaseVertex(GL_TRIANGLES, m_ScreenQuad->MaterialGroups()[0].material->EndIndex - m_ScreenQuad->MaterialGroups()[0].material->StartIndex +1
|
||||||
|
, GL_UNSIGNED_INT, 0, m_ScreenQuad->MaterialGroups()[0].material->StartIndex);
|
||||||
|
//horizontal pass
|
||||||
|
m_GaussianFrameBuffer_vert.Unbind();
|
||||||
|
m_GaussianFrameBuffer_horiz.Bind();
|
||||||
|
m_GaussianProgram_horiz->Bind();
|
||||||
|
|
||||||
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, m_GaussianTexture_vert);
|
||||||
|
|
||||||
|
glBindVertexArray(m_ScreenQuad->VAO);
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_ScreenQuad->ElementBuffer);
|
||||||
|
glDrawElementsBaseVertex(GL_TRIANGLES, m_ScreenQuad->MaterialGroups()[0].material->EndIndex - m_ScreenQuad->MaterialGroups()[0].material->StartIndex +1
|
||||||
|
, GL_UNSIGNED_INT, 0, m_ScreenQuad->MaterialGroups()[0].material->StartIndex);
|
||||||
|
m_GaussianFrameBuffer_horiz.Unbind();
|
||||||
|
}
|
||||||
|
|
||||||
|
//final vertical gaussian after the iterations are done
|
||||||
|
|
||||||
|
m_GaussianFrameBuffer_vert.Bind();
|
||||||
|
m_GaussianProgram_vert->Bind();
|
||||||
|
|
||||||
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, m_GaussianTexture_horiz);
|
||||||
|
glBindVertexArray(m_ScreenQuad->VAO);
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_ScreenQuad->ElementBuffer);
|
||||||
|
glDrawElementsBaseVertex(GL_TRIANGLES, m_ScreenQuad->MaterialGroups()[0].material->EndIndex - m_ScreenQuad->MaterialGroups()[0].material->StartIndex +1
|
||||||
|
, GL_UNSIGNED_INT, 0, m_ScreenQuad->MaterialGroups()[0].material->StartIndex);
|
||||||
|
|
||||||
|
GLERROR("DrawBloomPass::Draw: END");
|
||||||
|
glViewport(0, 0, m_Renderer->GetViewportSize().Width, m_Renderer->GetViewportSize().Height);
|
||||||
|
glScissor(0, 0, m_Renderer->GetViewportSize().Width, m_Renderer->GetViewportSize().Height);
|
||||||
|
|
||||||
|
|
||||||
|
return m_GaussianTexture_vert;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BlurHUD::OnWindowResize()
|
||||||
|
{
|
||||||
|
CommonFunctions::GenerateTexture(&m_GaussianTexture_vert, GL_CLAMP_TO_EDGE, GL_LINEAR, glm::vec2(m_Renderer->GetViewportSize().Width/m_BlurQuality, m_Renderer->GetViewportSize().Height/m_BlurQuality), GL_RGB16F, GL_RGB, GL_FLOAT);
|
||||||
|
m_GaussianFrameBuffer_vert.Generate();
|
||||||
|
CommonFunctions::GenerateTexture(&m_GaussianTexture_horiz, GL_CLAMP_TO_EDGE, GL_LINEAR, glm::vec2(m_Renderer->GetViewportSize().Width/m_BlurQuality, m_Renderer->GetViewportSize().Height/m_BlurQuality), GL_RGB16F, GL_RGB, GL_FLOAT);
|
||||||
|
m_GaussianFrameBuffer_horiz.Generate();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlurHUD::FillStencil(RenderScene& scene)
|
||||||
|
{
|
||||||
|
RenderState state;
|
||||||
|
|
||||||
|
state.BindFramebuffer(m_GaussianFrameBuffer_horiz.GetHandle());
|
||||||
|
state.Disable(GL_DEPTH_TEST);
|
||||||
|
state.Enable(GL_CULL_FACE);
|
||||||
|
state.Enable(GL_STENCIL_TEST);
|
||||||
|
state.StencilFunc(GL_ALWAYS, 1, 0xFF);
|
||||||
|
state.StencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
|
||||||
|
state.StencilMask(0xFF);
|
||||||
|
glViewport(0, 0, m_Renderer->GetViewportSize().Width/m_BlurQuality, m_Renderer->GetViewportSize().Height/m_BlurQuality);
|
||||||
|
|
||||||
|
m_FillDepthStencilProgram->Bind();
|
||||||
|
|
||||||
|
GLuint shaderHandle = m_FillDepthStencilProgram->GetHandle();
|
||||||
|
|
||||||
|
glUniformMatrix4fv(glGetUniformLocation(shaderHandle, "V"), 1, GL_FALSE, glm::value_ptr(scene.Camera->ViewMatrix()));
|
||||||
|
glUniformMatrix4fv(glGetUniformLocation(shaderHandle, "P"), 1, GL_FALSE, glm::value_ptr(scene.Camera->ProjectionMatrix()));
|
||||||
|
|
||||||
|
for (auto& job : scene.Jobs.SpriteJob) {
|
||||||
|
auto spriteJob = std::dynamic_pointer_cast<SpriteJob>(job);
|
||||||
|
if (!spriteJob) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!spriteJob->BlurBackground) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
glUniformMatrix4fv(glGetUniformLocation(shaderHandle, "M"), 1, GL_FALSE, glm::value_ptr(spriteJob->Matrix));
|
||||||
|
|
||||||
|
glBindVertexArray(spriteJob->Model->VAO);
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, spriteJob->Model->ElementBuffer);
|
||||||
|
glDrawElements(GL_TRIANGLES, spriteJob->EndIndex - spriteJob->StartIndex + 1, GL_UNSIGNED_INT, (void*)(spriteJob->StartIndex*sizeof(unsigned int)));
|
||||||
|
}
|
||||||
|
|
||||||
|
state.BindFramebuffer(m_GaussianFrameBuffer_vert.GetHandle());
|
||||||
|
for (auto& job : scene.Jobs.SpriteJob) {
|
||||||
|
auto spriteJob = std::dynamic_pointer_cast<SpriteJob>(job);
|
||||||
|
if (!spriteJob) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(!spriteJob->BlurBackground) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
glUniformMatrix4fv(glGetUniformLocation(shaderHandle, "M"), 1, GL_FALSE, glm::value_ptr(spriteJob->Matrix));
|
||||||
|
|
||||||
|
glBindVertexArray(spriteJob->Model->VAO);
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, spriteJob->Model->ElementBuffer);
|
||||||
|
glDrawElements(GL_TRIANGLES, spriteJob->EndIndex - spriteJob->StartIndex + 1, GL_UNSIGNED_INT, (void*)(spriteJob->StartIndex*sizeof(unsigned int)));
|
||||||
|
}
|
||||||
|
glViewport(0, 0, m_Renderer->GetViewportSize().Width, m_Renderer->GetViewportSize().Height);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Texture 1 will be used if texture 2 is black at that texel, else texture 2 is used.
|
||||||
|
GLuint BlurHUD::CombineTextures(GLuint texture1, GLuint texture2)
|
||||||
|
{
|
||||||
|
//RenderState state;
|
||||||
|
//state.BindFramebuffer(m_CombinedTextureBuffer.GetHandle());
|
||||||
|
//state.Disable(GL_DEPTH_TEST);
|
||||||
|
//state.Disable(GL_STENCIL_TEST);
|
||||||
|
|
||||||
|
m_CombineTexturesProgram->Bind();
|
||||||
|
|
||||||
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
glActiveTexture(GL_TEXTURE1);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, texture1);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, texture2);
|
||||||
|
glBindVertexArray(m_ScreenQuad->VAO);
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_ScreenQuad->ElementBuffer);
|
||||||
|
glDrawElementsBaseVertex(GL_TRIANGLES, m_ScreenQuad->MaterialGroups()[0].material->EndIndex - m_ScreenQuad->MaterialGroups()[0].material->StartIndex +1
|
||||||
|
, GL_UNSIGNED_INT, 0, m_ScreenQuad->MaterialGroups()[0].material->StartIndex);
|
||||||
|
|
||||||
|
return m_CombinedTexture;
|
||||||
|
}
|
||||||
@@ -233,7 +233,7 @@ void DrawFinalPass::InitializeShaderPrograms()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawFinalPass::Draw(RenderScene& scene)
|
void DrawFinalPass::Draw(RenderScene& scene, BlurHUD* blurHUDPass)
|
||||||
{
|
{
|
||||||
GLERROR("Pre");
|
GLERROR("Pre");
|
||||||
DrawFinalPassState* stateDethp = new DrawFinalPassState(m_ShieldDepthFrameBuffer.GetHandle());
|
DrawFinalPassState* stateDethp = new DrawFinalPassState(m_ShieldDepthFrameBuffer.GetHandle());
|
||||||
@@ -280,16 +280,32 @@ void DrawFinalPass::Draw(RenderScene& scene)
|
|||||||
DrawModelRenderQueuesWithShieldCheck(scene.Jobs.TransparentObjects, scene); //might need changing
|
DrawModelRenderQueuesWithShieldCheck(scene.Jobs.TransparentObjects, scene); //might need changing
|
||||||
GLERROR("Shielded Transparent objects");
|
GLERROR("Shielded Transparent objects");
|
||||||
|
|
||||||
|
//Generate blur texture.
|
||||||
|
delete state;
|
||||||
|
if (scene.ShouldBlur) {
|
||||||
|
//This needs to be drawn only when the full scene is being renderd, and then let be, otherwise sprite and other shit will show on it.
|
||||||
|
m_FullBlurredTexture = blurHUDPass->Draw(m_SceneTexture, scene);
|
||||||
|
}
|
||||||
|
|
||||||
|
DrawFinalPassState* stateSprite = new DrawFinalPassState(m_FinalPassFrameBuffer.GetHandle());
|
||||||
|
if(scene.ShouldBlur) {
|
||||||
|
//Combine nonblur and blur texture
|
||||||
|
stateSprite->Disable(GL_DEPTH_TEST);
|
||||||
|
stateSprite->Disable(GL_STENCIL_TEST);
|
||||||
|
m_CombinedTexture = blurHUDPass->CombineTextures(m_SceneTexture, m_FullBlurredTexture);
|
||||||
|
|
||||||
|
}
|
||||||
//Draw Transparen objects
|
//Draw Transparen objects
|
||||||
//state->BlendFunc(GL_ONE, GL_ONE);
|
//state->BlendFunc(GL_ONE, GL_ONE);
|
||||||
//state->StencilFunc(GL_EQUAL, 1, 0xFF);
|
//state->StencilFunc(GL_EQUAL, 1, 0xFF);
|
||||||
//DrawModelRenderQueues(scene.Jobs.TransparentObjects, scene);
|
//DrawModelRenderQueues(scene.Jobs.TransparentObjects, scene);
|
||||||
GLERROR("TransparentObjects");
|
GLERROR("TransparentObjects");
|
||||||
//state->BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
//state->BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
stateSprite->Enable(GL_DEPTH_TEST);
|
||||||
DrawSprites(scene.Jobs.SpriteJob, scene);
|
DrawSprites(scene.Jobs.SpriteJob, scene);
|
||||||
GLERROR("SpriteJobs");
|
GLERROR("SpriteJobs");
|
||||||
|
|
||||||
delete state;
|
delete stateSprite;
|
||||||
GLERROR("END");
|
GLERROR("END");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -435,6 +435,7 @@ void RenderSystem::Update(double dt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
RenderScene scene;
|
RenderScene scene;
|
||||||
|
scene.ShouldBlur = true;
|
||||||
scene.Camera = m_Camera;
|
scene.Camera = m_Camera;
|
||||||
scene.Viewport = Rectangle(1280, 720);
|
scene.Viewport = Rectangle(1280, 720);
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ void Renderer::Draw(RenderFrame& frame)
|
|||||||
{
|
{
|
||||||
GLERROR("PRE");
|
GLERROR("PRE");
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||||
ImGui::Combo("Draw textures", &m_DebugTextureToDraw, "Final\0Scene\0Bloom\0Gaussian\0Picking\0Ambient Occlusion");
|
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)");
|
ImGui::Combo("CubeMap", &m_CubeMapTexture, "Nevada(512)\0Sky(1024)");
|
||||||
if(m_CubeMapTexture == 0) {
|
if(m_CubeMapTexture == 0) {
|
||||||
m_CubeMapPass->LoadTextures("Nevada");
|
m_CubeMapPass->LoadTextures("Nevada");
|
||||||
@@ -133,6 +133,7 @@ void Renderer::Draw(RenderFrame& frame)
|
|||||||
m_DrawFinalPass->ClearBuffer();
|
m_DrawFinalPass->ClearBuffer();
|
||||||
m_DrawBloomPass->ClearBuffer();
|
m_DrawBloomPass->ClearBuffer();
|
||||||
m_SSAOPass->ClearBuffer();
|
m_SSAOPass->ClearBuffer();
|
||||||
|
m_BlurHUDPass->ClearBuffer();
|
||||||
PerformanceTimer::StopTimer("Renderer-ClearBuffers");
|
PerformanceTimer::StopTimer("Renderer-ClearBuffers");
|
||||||
GLERROR("ClearBuffers");
|
GLERROR("ClearBuffers");
|
||||||
for (auto scene : frame.RenderScenes) {
|
for (auto scene : frame.RenderScenes) {
|
||||||
@@ -158,7 +159,7 @@ void Renderer::Draw(RenderFrame& frame)
|
|||||||
m_LightCullingPass->CullLights(*scene);
|
m_LightCullingPass->CullLights(*scene);
|
||||||
GLERROR("LightCulling");
|
GLERROR("LightCulling");
|
||||||
PerformanceTimer::StartTimerAndStopPrevious("Renderer-Draw Geometry+Light");
|
PerformanceTimer::StartTimerAndStopPrevious("Renderer-Draw Geometry+Light");
|
||||||
m_DrawFinalPass->Draw(*scene);
|
m_DrawFinalPass->Draw(*scene, m_BlurHUDPass);
|
||||||
GLERROR("Draw Geometry+Light");
|
GLERROR("Draw Geometry+Light");
|
||||||
//m_DrawScenePass->Draw(*scene);
|
//m_DrawScenePass->Draw(*scene);
|
||||||
|
|
||||||
@@ -194,6 +195,12 @@ void Renderer::Draw(RenderFrame& frame)
|
|||||||
if (m_DebugTextureToDraw == 5) {
|
if (m_DebugTextureToDraw == 5) {
|
||||||
m_DrawScreenQuadPass->Draw(m_SSAOPass->SSAOTexture());
|
m_DrawScreenQuadPass->Draw(m_SSAOPass->SSAOTexture());
|
||||||
}
|
}
|
||||||
|
if (m_DebugTextureToDraw == 6) {
|
||||||
|
m_DrawScreenQuadPass->Draw(m_DrawFinalPass->CombinedSceneTexture());
|
||||||
|
}
|
||||||
|
if (m_DebugTextureToDraw == 7) {
|
||||||
|
m_DrawScreenQuadPass->Draw(m_DrawFinalPass->FullBlurredTexture());
|
||||||
|
}
|
||||||
PerformanceTimer::StopTimer("Renderer-Misc Debug Draws");
|
PerformanceTimer::StopTimer("Renderer-Misc Debug Draws");
|
||||||
|
|
||||||
PerformanceTimer::StartTimer("Renderer-ImGuiRenderPass");
|
PerformanceTimer::StartTimer("Renderer-ImGuiRenderPass");
|
||||||
@@ -244,6 +251,7 @@ void Renderer::InitializeRenderPasses()
|
|||||||
m_LightCullingPass = new LightCullingPass(this);
|
m_LightCullingPass = new LightCullingPass(this);
|
||||||
m_CubeMapPass = new CubeMapPass(this);
|
m_CubeMapPass = new CubeMapPass(this);
|
||||||
m_SSAOPass = new SSAOPass(this, m_Config);
|
m_SSAOPass = new SSAOPass(this, m_Config);
|
||||||
|
m_BlurHUDPass = new BlurHUD(this);
|
||||||
m_DrawFinalPass = new DrawFinalPass(this, m_LightCullingPass, m_CubeMapPass, m_SSAOPass);
|
m_DrawFinalPass = new DrawFinalPass(this, m_LightCullingPass, m_CubeMapPass, m_SSAOPass);
|
||||||
m_DrawScreenQuadPass = new DrawScreenQuadPass(this);
|
m_DrawScreenQuadPass = new DrawScreenQuadPass(this);
|
||||||
m_DrawBloomPass = new DrawBloomPass(this, m_Config);
|
m_DrawBloomPass = new DrawBloomPass(this, m_Config);
|
||||||
|
|||||||
+3
-1
@@ -37,7 +37,8 @@
|
|||||||
#include "Game/Systems/ScoreScreenSystem.h"
|
#include "Game/Systems/ScoreScreenSystem.h"
|
||||||
#include "Game/Systems/SpectatorCameraSystem.h"
|
#include "Game/Systems/SpectatorCameraSystem.h"
|
||||||
#include "GUI/ButtonSystem.h"
|
#include "GUI/ButtonSystem.h"
|
||||||
#include "GUI/MainMenuSystem.h"
|
#include "Game/Systems/MainMenuSystem.h"
|
||||||
|
#include "Game/Systems/ServerListSystem.h"
|
||||||
|
|
||||||
|
|
||||||
Game::Game(int argc, char* argv[])
|
Game::Game(int argc, char* argv[])
|
||||||
@@ -151,6 +152,7 @@ Game::Game(int argc, char* argv[])
|
|||||||
m_SystemPipeline->AddSystem<BoostIconsHUDSystem>(updateOrderLevel);
|
m_SystemPipeline->AddSystem<BoostIconsHUDSystem>(updateOrderLevel);
|
||||||
m_SystemPipeline->AddSystem<ScoreScreenSystem>(updateOrderLevel);
|
m_SystemPipeline->AddSystem<ScoreScreenSystem>(updateOrderLevel);
|
||||||
m_SystemPipeline->AddSystem<SpectatorCameraSystem>(updateOrderLevel);
|
m_SystemPipeline->AddSystem<SpectatorCameraSystem>(updateOrderLevel);
|
||||||
|
m_SystemPipeline->AddSystem<ServerListSystem>(updateOrderLevel, m_Renderer);
|
||||||
// Populate Octree with collidables
|
// Populate Octree with collidables
|
||||||
++updateOrderLevel;
|
++updateOrderLevel;
|
||||||
m_SystemPipeline->AddSystem<FillOctreeSystem>(updateOrderLevel, m_OctreeCollision, "Collidable");
|
m_SystemPipeline->AddSystem<FillOctreeSystem>(updateOrderLevel, m_OctreeCollision, "Collidable");
|
||||||
|
|||||||
@@ -0,0 +1,94 @@
|
|||||||
|
#include "../Game/Systems/MainMenuSystem.h"
|
||||||
|
|
||||||
|
MainMenuSystem::MainMenuSystem(SystemParams params, IRenderer* renderer)
|
||||||
|
: System(params)
|
||||||
|
, ImpureSystem()
|
||||||
|
, m_Renderer(renderer)
|
||||||
|
{
|
||||||
|
EVENT_SUBSCRIBE_MEMBER(m_EPressed, &MainMenuSystem::OnButtonPress);
|
||||||
|
EVENT_SUBSCRIBE_MEMBER(m_EReleased, &MainMenuSystem::OnButtonRelease);
|
||||||
|
EVENT_SUBSCRIBE_MEMBER(m_EClicked, &MainMenuSystem::OnButtonClick);
|
||||||
|
EVENT_SUBSCRIBE_MEMBER(m_EInputCommand, &MainMenuSystem::OnInputCommand);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainMenuSystem::Update(double dt)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MainMenuSystem::OnButtonClick(const Events::ButtonClicked& e)
|
||||||
|
{
|
||||||
|
if (e.EntityName == "ServerIdentityConnect") {
|
||||||
|
EntityWrapper entity = e.Entity;
|
||||||
|
EntityWrapper serverIdentityEntity = entity.FirstParentWithComponent("ServerIdentity");
|
||||||
|
if(serverIdentityEntity.Valid()) {
|
||||||
|
Events::ConnectRequest event;
|
||||||
|
event.IP = (std::string)entity["ServerIdentity"]["IP"];
|
||||||
|
event.Port = (int)entity["ServerIdentity"]["Port"];
|
||||||
|
printf("\n ----Request Server Connect----\nIP: %s\nPort: %i\n ------------------------------", event.IP, event.Port);
|
||||||
|
m_EventBroker->Publish(event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MainMenuSystem::OnButtonRelease(const Events::ButtonReleased& e)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MainMenuSystem::OnButtonPress(const Events::ButtonPressed& e)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MainMenuSystem::OnInputCommand(const Events::InputCommand& e)
|
||||||
|
{
|
||||||
|
if(e.Command == "Play" && e.Value == 1) {
|
||||||
|
auto menus = m_World->GetComponents("Menu");
|
||||||
|
if (menus == nullptr) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_OpenSubMenu == EntityWrapper::Invalid) {
|
||||||
|
//No submenu is open, open one.
|
||||||
|
for (auto& menu : *menus) {
|
||||||
|
EntityWrapper menuEntity = EntityWrapper(m_World, menu.EntityID);
|
||||||
|
auto serverListSpawner = menuEntity.FirstChildByName(e.Command + "Spawner");
|
||||||
|
if (!serverListSpawner.HasComponent("Spawner")) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
m_OpenSubMenu = SpawnerSystem::Spawn(serverListSpawner, serverListSpawner);
|
||||||
|
Events::SearchForServers event;
|
||||||
|
m_EventBroker->Publish(event);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if(!m_OpenSubMenu.HasComponent("ServerList")) {
|
||||||
|
//Menu is open, but not the right one, delete the old one and open a new one.
|
||||||
|
m_World->DeleteEntity(m_OpenSubMenu.ID);
|
||||||
|
m_OpenSubMenu = EntityWrapper::Invalid;
|
||||||
|
|
||||||
|
for (auto& menu : *menus) {
|
||||||
|
EntityWrapper menuEntity = EntityWrapper(m_World, menu.EntityID);
|
||||||
|
auto serverListSpawner = menuEntity.FirstChildByName(e.Command + "Spawner");
|
||||||
|
if (!serverListSpawner.HasComponent("Spawner")) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
m_OpenSubMenu = SpawnerSystem::Spawn(serverListSpawner, serverListSpawner);
|
||||||
|
Events::SearchForServers event;
|
||||||
|
m_EventBroker->Publish(event);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//Serverlist submenu is open, close it.
|
||||||
|
printf("\n\nMenuShit\n\n");
|
||||||
|
m_World->DeleteEntity(m_OpenSubMenu.ID);
|
||||||
|
m_OpenSubMenu = EntityWrapper::Invalid;
|
||||||
|
}
|
||||||
|
} else if (e.Command == "RefreshServerList" && e.Value == 1){
|
||||||
|
Events::SearchForServers event;
|
||||||
|
m_EventBroker->Publish(event);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
#include "../Game/Systems/ServerListSystem.h"
|
||||||
|
|
||||||
|
ServerListSystem::ServerListSystem(SystemParams params, IRenderer* renderer)
|
||||||
|
: System(params)
|
||||||
|
, PureSystem("ServerList")
|
||||||
|
, m_Renderer(renderer)
|
||||||
|
{
|
||||||
|
EVENT_SUBSCRIBE_MEMBER(m_EServerListRecieved, &ServerListSystem::OnServerListRecieved);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ServerListSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper& cServerList, double dt)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void ServerListSystem::RefreshList()
|
||||||
|
{
|
||||||
|
Events::SearchForServers event;
|
||||||
|
m_EventBroker->Publish(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool ServerListSystem::OnServerListRecieved(const Events::DisplayServerlist& e)
|
||||||
|
{
|
||||||
|
if (e.Serverlist.size() == 0) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
auto serverLists = m_World->GetComponents("ServerList");
|
||||||
|
if (serverLists == nullptr)
|
||||||
|
return 1;
|
||||||
|
for (auto& cServerList : *serverLists) {
|
||||||
|
EntityWrapper serverListEntity = EntityWrapper(m_World, cServerList.EntityID);
|
||||||
|
EntityWrapper identitySpawner = serverListEntity.FirstChildByName("ServerIdentitySpawner");
|
||||||
|
identitySpawner.DeleteChildren();
|
||||||
|
|
||||||
|
(int&)cServerList["TotalIdentities"] = (int)e.Serverlist.size();
|
||||||
|
for (int i = 0; i < e.Serverlist.size(); i++) {
|
||||||
|
//Create Identities for each server and place them on the right position.
|
||||||
|
EntityWrapper newIdentity = SpawnerSystem::Spawn(identitySpawner, identitySpawner);
|
||||||
|
|
||||||
|
glm::vec3 offset = (glm::vec3)serverListEntity["ServerList"]["Offset"];
|
||||||
|
(glm::vec3&)newIdentity["Transform"]["Position"] = offset * (float)i;
|
||||||
|
|
||||||
|
auto& cIdentity = newIdentity["ServerIdentity"];
|
||||||
|
(std::string&)cIdentity["IP"] = e.Serverlist[i].Address;
|
||||||
|
(std::string&)cIdentity["ServerName"] = e.Serverlist[i].Name;
|
||||||
|
(int&)cIdentity["Port"] = e.Serverlist[i].Port;
|
||||||
|
(int&)cIdentity["PlayersConnected"] = e.Serverlist[i].PlayersConnected;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user