Merge branch 'master' into RestartMap

# Conflicts:
#	src/Game/Systems/CapturePointSystem.cpp
This commit is contained in:
William Moberg
2016-03-13 13:37:51 +01:00
110 changed files with 10528 additions and 36117 deletions
+1
View File
@@ -39,6 +39,7 @@ ResourceLoading=true
[Sound]
BGMVolume=1.0
SFXVolume=1.0
AnnouncerVolume=1.0
Announcer=female
[SSAO]
@@ -1,19 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ExplosionEffect xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ExplosionEffect.xsd">
<ExplosionOrigin X="0" Y="0" Z="0"/>
<TimeSinceDeath>0</TimeSinceDeath>
<ExplosionDuration>2</ExplosionDuration>
<TimeSinceDeath>0.0</TimeSinceDeath>
<ExplosionDuration>2.0</ExplosionDuration>
<Speed>1</Speed>
<Delay>0</Delay>
<!--<Gravity>1</Gravity>-->
<!--<GravityForce>1</GravityForce>-->
<!--<ObjectRadius>2</ObjectRadius>-->
<EndColor R="0" G="0" B="0" A="0"/>
<Randomness>0</Randomness>
<RandomnessScalar>1</RandomnessScalar>
<Randomness>false</Randomness>
<RandomnessScalar>1.0</RandomnessScalar>
<Velocity X="2" Y="2"/>
<ColorByDistance>0</ColorByDistance>
<!--<ReverseAnimation>0</ReverseAnimation>-->
<ColorByDistance>false</ColorByDistance>
<!--<Wireframe>0</Wireframe>-->
<ExponentialAccelaration>0</ExponentialAccelaration>
<ExponentialAccelaration>false</ExponentialAccelaration>
<Pulsate>false</Pulsate>
<Reverse>false</Reverse>
<ColorDistanceScalar>1.0</ColorDistanceScalar>
</ExplosionEffect>
@@ -44,15 +44,21 @@
<xs:element name="ColorByDistance" type="t:bool" minOccurs="0">
<xs:annotation><xs:documentation>Change the color by its moved distance instead of by its time</xs:documentation></xs:annotation>
</xs:element>
<!--<xs:element name="ReverseAnimation" type="t:bool" minOccurs="0">
<xs:annotation><xs:documentation>Implosions are cooler</xs:documentation></xs:annotation>
</xs:element>-->
<!--<xs:element name="Wireframe" type="t:bool" minOccurs="0">
<xs:annotation><xs:documentation>Enable/disable wireframe</xs:documentation></xs:annotation>
</xs:element>-->
<xs:element name="ExponentialAccelaration" type="t:bool" minOccurs="0">
<xs:annotation><xs:documentation>Linear/Exponential accelaration</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Pulsate" type="t:bool" minOccurs="0">
<xs:annotation><xs:documentation>Pulsate the effect</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Reverse" type="t:bool" minOccurs="0">
<xs:annotation><xs:documentation>Reverse the effect</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="ColorDistanceScalar" type="t:double" minOccurs="0">
<xs:annotation><xs:documentation>Scale the distance of the color change</xs:documentation></xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
+2 -2
View File
@@ -4,7 +4,7 @@
<Gain>1.0</Gain>
<Pitch>1.0</Pitch>
<Loop>false</Loop>
<MaxDistance>20.0</MaxDistance>
<RollOffFactor>1.0</RollOffFactor>
<MaxDistance>220.0</MaxDistance>
<RollOffFactor>10</RollOffFactor>
<ReferenceDistance>1.0</ReferenceDistance>
</SoundEmitter>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+46 -100
View File
@@ -37,6 +37,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<Visible>false</Visible>
</c:Sprite>
<c:Transform>
<Position X="0.00500000035" Y="0.198000014" Z="0.0199999996"/>
@@ -72,121 +73,66 @@
</c:Transform>
</Components>
<Children>
<Entity name="Res1080">
<Entity name="Resolution">
<Components>
<c:Button/>
<c:ConfigBtnResolution>
<Width>1920</Width>
<Height>1080</Height>
</c:ConfigBtnResolution>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="-0.088000007" Y="0" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
<Scale X="0.100000001" Y="0.100000001" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="Text">
<Entity name="Sprite">
<Components>
<c:Text>
<Content>1920x1080</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="0" G="0" R="0"/>
<Alignment>
<Left/>
</Alignment>
</c:Text>
<c:Button/>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:InputCmdButton>
<Command>Resolution</Command>
<PressValue>1</PressValue>
</c:InputCmdButton>
<c:Transform>
<Position X="-0.361000031" Y="-0.562000036" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
<Scale X="2.5999999" Y="0.300000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TextAndCorner_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="Text">
<Components>
<c:Text>
<Content>Resolution</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="0" G="0" R="0"/>
<Alignment>
<Right/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="-0.180000007" Y="-0.116000004" Z="0.00500000035"/>
<Scale X="0.219000012" Y="0.150000006" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="Res768">
<Entity name="ResolutionSpawner">
<Components>
<c:Button/>
<c:ConfigBtnResolution>
<Width>1366</Width>
<Height>768</Height>
</c:ConfigBtnResolution>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
</c:Transform>
<c:Spawner>
<EntityFile>Schema/Entities/Resolution_Options.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children>
<Entity name="Text">
<Components>
<c:Text>
<Content>1366x768</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.380000025" Y="-0.561999977" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Res720">
<Components>
<c:Button/>
<c:ConfigBtnResolution>
<Width>1280</Width>
<Height>720</Height>
</c:ConfigBtnResolution>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0.088000007" Y="0" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="Text">
<Components>
<c:Text>
<Content>1280x720</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.387000024" Y="-0.561999977" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
<Children/>
</Entity>
</Children>
</Entity>
@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="Resolution_Options" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="Res1080">
<Components>
<c:Button/>
<c:ConfigBtnResolution>
<Width>1920</Width>
<Height>1080</Height>
</c:ConfigBtnResolution>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="-0.088000007" Y="-0.0350000001" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="Text">
<Components>
<c:Text>
<Content>1920x1080</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.361000031" Y="-0.562000036" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Res768">
<Components>
<c:Button/>
<c:ConfigBtnResolution>
<Width>1366</Width>
<Height>768</Height>
</c:ConfigBtnResolution>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0" Y="-0.0350000001" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="Text">
<Components>
<c:Text>
<Content>1366x768</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.380000025" Y="-0.561999977" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Res720">
<Components>
<c:Button/>
<c:ConfigBtnResolution>
<Width>1280</Width>
<Height>720</Height>
</c:ConfigBtnResolution>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0.088000007" Y="-0.0350000001" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="Text">
<Components>
<c:Text>
<Content>1280x720</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.387000024" Y="-0.561999977" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
@@ -0,0 +1,149 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Entity name="Resolution_Options" xmlns:c="components" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../Types/Entity.xsd">
<Components>
<c:Transform>
<Position X="0" Y="0" Z="0.0180000011"/>
</c:Transform>
</Components>
<Children>
<Entity name="Background">
<Components>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<Color A="1" B="0.117647059" G="0.117647059" R="0.117647059"/>
</c:Sprite>
<c:Transform>
<Position X="-0.00700000022" Y="-0.0310000014" Z="-0.0270000007"/>
<Scale X="0.292000026" Y="0.064000003" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Res1080">
<Components>
<c:Button/>
<c:ConfigBtnResolution>
<Width>1920</Width>
<Height>1080</Height>
</c:ConfigBtnResolution>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="-0.088000007" Y="-0.0350000001" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="Text">
<Components>
<c:Text>
<Content>1920x1080</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.361000031" Y="-0.562000036" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Res768">
<Components>
<c:Button/>
<c:ConfigBtnResolution>
<Width>1366</Width>
<Height>768</Height>
</c:ConfigBtnResolution>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0" Y="-0.0350000001" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="Text">
<Components>
<c:Text>
<Content>1366x768</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.380000025" Y="-0.561999977" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Res720">
<Components>
<c:Button/>
<c:ConfigBtnResolution>
<Width>1280</Width>
<Height>720</Height>
</c:ConfigBtnResolution>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0.088000007" Y="-0.0350000001" Z="0"/>
<Scale X="0.0820000023" Y="0.0299999993" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="Text">
<Components>
<c:Text>
<Content>1280x720</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.387000024" Y="-0.561999977" Z="0.0199999996"/>
<Scale X="0.180000007" Y="0.469000012" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
+78 -12
View File
@@ -17,7 +17,6 @@
<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>
@@ -28,7 +27,7 @@
<Field>IP</Field>
</c:TextFieldReader>
<c:Transform>
<Position X="-0.200000003" Y="-0.100000001" Z="0"/>
<Position X="-0.200000003" Y="-0.100000001" Z="0.00700000022"/>
<Scale X="0.649999976" Y="0.649999976" Z="1"/>
</c:Transform>
</Components>
@@ -39,7 +38,6 @@
<c:Text>
<Content>65999</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="0" G="0" R="0"/>
<Alignment>
<Left/>
</Alignment>
@@ -50,7 +48,7 @@
<Field>Port</Field>
</c:TextFieldReader>
<c:Transform>
<Position X="4.70000029" Y="-0.100000001" Z="0"/>
<Position X="4.70000029" Y="-0.100000001" Z="0.00700000022"/>
<Scale X="0.649999976" Y="0.649999976" Z="1"/>
</c:Transform>
</Components>
@@ -61,7 +59,6 @@
<c:Text>
<Content>UnkownServer</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="0" G="0" R="0"/>
<Alignment>
<Left/>
</Alignment>
@@ -72,7 +69,7 @@
<Field>ServerName</Field>
</c:TextFieldReader>
<c:Transform>
<Position X="-8.60000038" Y="-0.100000001" Z="0"/>
<Position X="-8.60000038" Y="-0.100000001" Z="0.00700000022"/>
</c:Transform>
</Components>
<Children/>
@@ -82,7 +79,6 @@
<c:Text>
<Content>0</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="0" G="0" R="0"/>
<Alignment>
<Left/>
</Alignment>
@@ -93,7 +89,7 @@
<Field>PlayersConnected</Field>
</c:TextFieldReader>
<c:Transform>
<Position X="7.80000019" Y="0" Z="0"/>
<Position X="7.80000019" Y="0" Z="0.00700000022"/>
</c:Transform>
</Components>
<Children/>
@@ -102,14 +98,15 @@
<Components>
<c:Button/>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<GlowMap></GlowMap>
<DepthSort>false</DepthSort>
<Color A="0.588235319" B="1" G="1" R="1"/>
<Color A="0.392156869" B="0.392156869" G="0.392156869" R="0.392156869"/>
</c:Sprite>
<c:Transform>
<Position X="0.100000001" Y="0.496000022" Z="0"/>
<Position X="0.100000001" Y="0.496000022" Z="0.00700000022"/>
<Scale X="18.1000004" Y="2" Z="1"/>
</c:Transform>
</Components>
@@ -117,6 +114,75 @@
</Entity>
</Children>
</Entity>
<Entity name="Corners">
<Components>
<c:Transform>
<Position X="0" Y="0" Z="0.00700000022"/>
<Scale X="0.200000003" Y="0.200000003" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="TopLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="-43.9590034" Y="6.70000029" Z="0"/>
<Orientation X="0" Y="0" Z="1.57079637"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="-43.9589996" Y="-1.75600004" Z="0"/>
<Orientation X="0" Y="0" Z="3.14499998"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="44.8320007" Y="-1.75600004" Z="0"/>
<Orientation X="0" Y="0" Z="4.71218538"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="44.8320007" Y="6.69999981" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
+106 -29
View File
@@ -30,21 +30,6 @@
</Entity>
</Children>
</Entity>
<Entity name="Background">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.196078435" 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/>
@@ -87,20 +72,6 @@
<c:Transform/>
</Components>
<Children>
<Entity name="UnderLine">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
</c:Sprite>
<c:Transform>
<Position X="0.00500000035" Y="0.198000014" Z="0.0199999996"/>
<Scale X="0.270000011" Y="0.00100000005" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="Text">
<Components>
<c:Text>
@@ -117,6 +88,112 @@
</Components>
<Children/>
</Entity>
<Entity name="UnderLine">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<Visible>false</Visible>
</c:Sprite>
<c:Transform>
<Position X="0.00500000035" Y="0.198000014" Z="0.0199999996"/>
<Scale X="0.270000011" Y="0.00100000005" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Background_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="Background">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/White.png</DiffuseTexture>
<BlurBackground>true</BlurBackground>
<Color A="0.196078435" 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="Corners">
<Components>
<c:Transform>
<Position X="0" Y="0" Z="0.0100000007"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="TopLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="-29.0360012" Y="49.0510025" Z="0"/>
<Orientation X="0" Y="0" Z="1.57079637"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="-29.0050011" Y="-48.927002" Z="0"/>
<Orientation X="0" Y="0" Z="3.14499998"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="29.0750008" Y="-48.9350014" Z="0"/>
<Orientation X="0" Y="0" Z="4.71218538"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="29.0750008" Y="49.0650024" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
+94 -122
View File
@@ -15,6 +15,11 @@ uniform float RandomnessScalar;
uniform vec2 Velocity;
uniform bool ColorByDistance;
uniform bool ExponentialAccelaration;
uniform bool Reverse;
uniform float ColorDistanceScalar;
//uniform bool Gravity;
//uniform bool Rotation;
//uniform bool MaxRadius;
in VertexData{
vec3 Position;
@@ -41,169 +46,136 @@ out VertexData{
layout(triangles) in;
layout(triangle_strip, max_vertices = 3) out;
float EqualTo(float x, float y) {
return 1.0 - abs(sign(x - y));
}
float NotEqualTo(float x, float y) {
return abs(sign(x - y));
}
float GreaterThan(float x, float y) {
return max(sign(x - y), 0.0);
}
float LessThan(float x, float y) {
return max(sign(y - x), 0.0);
}
float GreaterEqualTo(float x, float y) {
return 1.0 - LessThan(x, y);
}
float LessEqualTo(float x, float y) {
return 1.0 - GreaterThan(x, y);
}
// returns a "random" number based on input parameter
float GetRandomNumber(int polygon_index)
{
int randomIndex = int(mod(polygon_index, 50));
return RandomNumbers[randomIndex];
return RandomNumbers[int(mod(polygon_index, 50))];
}
float randomNumber = 0.0;
float randomDistance = 0.0;
void main()
vec3 CalcCenterOfTriangle(vec3 vertex0, vec3 vertex1, vec3 vertex2)
{
// calculate middle of vectors
vec3 v1 = Input[1].Position - Input[0].Position;
vec3 v2 = Input[2].Position - Input[0].Position;
vec3 v3 = Input[2].Position - (v1 / 2);
vec3 v4 = Input[1].Position - (v2 / 2);
vec3 dir1 = normalize(vertex1 - vertex0);
vec3 dir2 = normalize(vertex2 - vertex0);
// calculate intersection
// normalize direction
vec3 dir1 = normalize(v1);
vec3 dir2 = normalize(v2);
vec3 vecA = Input[2].Position - Input[1].Position; //o2 - o1
vec3 vecA = vertex2 - vertex1; //o2 - o1
vec3 vecB = cross(dir1, dir2);
mat3 matrisA = mat3(vecA, dir2, vecB);
float lengthA = length(vecB);
lengthA = lengthA * lengthA;
float s = determinant(matrisA) / lengthA;
// center position of triangle
vec3 centerOfTriangle = Input[1].Position + (s * dir1);
return vertex1 + (s * dir1);
}
void PassThingsThrough(int index)
{
// pass through vertex data
Output.Normal = Input[index].Normal;
Output.Position = Input[index].Position;
Output.TextureCoordinate = Input[index].TextureCoordinate;
Output.Tangent = Input[index].Tangent;
Output.BiTangent = Input[index].BiTangent;
Output.ExplosionColor = EndColor;
}
void main()
{
vec3 centerOfTriangle = CalcCenterOfTriangle(Input[0].Position, Input[1].Position, Input[2].Position);
// center position of triangle to origin vector
vec3 origin2TriangleCenterVector = centerOfTriangle - ExplosionOrigin;
vec3 normalizedOrigin2TriangleCenterVector = normalize(origin2TriangleCenterVector);
// distance between origin and the center of the current triangle
float origin2TriangleCenterDistance = length(origin2TriangleCenterVector);
// time percentage until end of explosion (0.0-1.0)
float timePercetage = TimeSinceDeath / ExplosionDuration;
// get a random number if randomness is enabled, otherwise the random number will be zero and won't affect the other algorithms
if (Randomness == true)
{
randomDistance = GetRandomNumber(gl_PrimitiveIDIn) * RandomnessScalar;
}
// get a random number if randomness is enabled, otherwise the random distance will be zero and won't affect the other algorithms
float randomDistance = float(Randomness) * GetRandomNumber(gl_PrimitiveIDIn) * RandomnessScalar;
vec2 randomVelocity = Velocity * (randomDistance + 1.0);
// accelaration to use on current frame. is a interpolation between start and end value
float currentVelocity = mix(randomVelocity.x, randomVelocity.y, timePercetage);
if (ExponentialAccelaration == true)
{
currentVelocity = pow(currentVelocity, 2) / 2.0;
}
// if the accelaration should be exponential
currentVelocity = currentVelocity * max(currentVelocity * float(ExponentialAccelaration), 1.0);
// distance between origin and the center of the current triangle
float origin2TriangleCenterDistance = length(origin2TriangleCenterVector);
// the distance the blast has moved since the beginning, i.e. its radius
float blastWave = TimeSinceDeath * currentVelocity;
// the distance from origin to the triangle center with eventual randomness added
float fullDistanceWithRandomness = origin2TriangleCenterDistance + randomDistance;
// vector from the triangle center to the explosion's shockwave
vec3 triangleCenter2ExplosionRadius = (normalizedOrigin2TriangleCenterVector * (TimeSinceDeath * currentVelocity)) - (normalizedOrigin2TriangleCenterVector * fullDistanceWithRandomness);
float origin2TriangleCenterDistanceWithRandomness = origin2TriangleCenterDistance + randomDistance;
// if the triangle is inside the blast radius...
if (fullDistanceWithRandomness <= (TimeSinceDeath * currentVelocity))
vec3 triangleCenter2ExplosionRadius = (normalizedOrigin2TriangleCenterVector * blastWave) - (normalizedOrigin2TriangleCenterVector * origin2TriangleCenterDistanceWithRandomness);
// if the triangle is inside the blast's radius...
float isInsideBlastRadius = LessEqualTo(origin2TriangleCenterDistanceWithRandomness, blastWave);
// calculate the max distance (s) the triangle will move
float accelaration = (randomVelocity.y - randomVelocity.x) / ExplosionDuration;
float maxDistance = (randomVelocity.x * ExplosionDuration) + (0.5 * accelaration * ExplosionDuration * ExplosionDuration);
// if explosion color should be affected by distance instead of time...
if (ColorByDistance == true)
{
float maxRadius = max(TimeSinceDeath * currentVelocity, (ExplosionDuration * currentVelocity));
float a = (randomVelocity.y - randomVelocity.x) / ExplosionDuration;
//float t = sqrt((2 * origin2TriangleCenterDistance) / a);
// if explosion color should be affected by distance instead of time...
if (ColorByDistance == true)
{
// calculate the max distance (s) the triangle will move
float s = (randomVelocity.x * ExplosionDuration) + (0.5 * a * pow(ExplosionDuration, 2));
float te = (length(triangleCenter2ExplosionRadius) / s);
Output.ExplosionColor = EndColor;
Output.ExplosionPercentageElapsed = te;
}
else
{
Output.ExplosionColor = EndColor;
Output.ExplosionPercentageElapsed = timePercetage;
}
// for every vertex on the triangle...
for (int i = 0; i < gl_in.length(); i++)
{
// move the triangle to the blast radius
vec3 ExplodedPosition = Input[i].Position + triangleCenter2ExplosionRadius;
// pass through vertex data
Output.Normal = Input[i].Normal;
Output.Position = Input[i].Position;
Output.TextureCoordinate = Input[i].TextureCoordinate;
Output.Tangent = Input[i].Tangent;
Output.BiTangent = Input[i].BiTangent;
for (int j = 0; j < MAX_SPLITS; j++)
{
Output.PositionLightSpace[j] = Input[i].PositionLightSpace[j];
}
// convert to model space for the gravity to always be in -y
vec4 ExplodedPositionInModelSpace = M * vec4(ExplodedPosition, 1.0);
// if there is gravity, apply it
//if (Gravity == true)
//{
// // ---DO THIS----> //ExplodedPositionInModelSpace.y = ExplodedPositionInModelSpace.y - TimeSinceHit;
//
// ExplodedPositionInModelSpace.y = ExplodedPositionInModelSpace.y - pow(TimeSinceDeath, 2);
//}
// convert to screen space
gl_Position = P*V * ExplodedPositionInModelSpace;
EmitVertex();
}
Output.ExplosionPercentageElapsed = (length(triangleCenter2ExplosionRadius) / maxDistance) * isInsideBlastRadius * ColorDistanceScalar;
}
else
{
// if explosion color should be affected by distance instead of time...
if (ColorByDistance == true)
{
Output.ExplosionColor = EndColor;
Output.ExplosionPercentageElapsed = 0.0;
}
else
{
Output.ExplosionColor = EndColor;
Output.ExplosionPercentageElapsed = timePercetage;
Output.ExplosionPercentageElapsed = timePercetage;
}
vec3 ExplodedPosition;
for (int i = 0; i < gl_in.length(); i++)
{
// move the triangle to the blast radius
ExplodedPosition = Input[i].Position + (triangleCenter2ExplosionRadius * isInsideBlastRadius);
}
// for every vertex on the triangle...
for(int i = 0; i < gl_in.length(); i++)
{
// pass through vertex data
Output.Normal = Input[i].Normal;
Output.Position = Input[i].Position;
Output.TextureCoordinate = Input[i].TextureCoordinate;
Output.Tangent = Input[i].Tangent;
Output.BiTangent = Input[i].BiTangent;
// pass through vertex data
PassThingsThrough(i);
for (int j = 0; j < MAX_SPLITS; j++)
{
Output.PositionLightSpace[j] = Input[i].PositionLightSpace[j];
}
// no change in position, pass through vertex
gl_Position = gl_in[i].gl_Position;
EmitVertex();
}
for (int j = 0; j < MAX_SPLITS; j++)
{
Output.PositionLightSpace[j] = Input[i].PositionLightSpace[j];
}
// convert to window space
gl_Position = P * V * M * vec4(ExplodedPosition, 1.0);
EmitVertex();
}
//EndPrimitive();
}
}