Merge remote-tracking branch 'origin/master' into Movement

This commit is contained in:
viktorljung
2016-03-14 00:39:16 +01:00
10 changed files with 4001 additions and 3845 deletions
+1 -1
Submodule assets updated: 2c75d24ddf...b6027bf49f
@@ -10,8 +10,8 @@
<MaxTravelAngle>0.174533</MaxTravelAngle> <!-- 0.174533 = 10 degrees -->
<NumPellets>9</NumPellets>
<RPM>120</RPM>
<ViewPunch>0.03</ViewPunch>
<ViewReturnSpeed>0.2</ViewReturnSpeed>
<ViewPunch>0.15</ViewPunch>
<ViewReturnSpeed>0.3</ViewReturnSpeed>
<ReloadTime>0.5</ReloadTime>
<TriggerHeld>false</TriggerHeld>
<FireCooldown>0</FireCooldown>
@@ -6,7 +6,9 @@
<BaseDamage>20</BaseDamage>
<RPM>500</RPM>
<Automatic>false</Automatic>
<ViewPunch>0.01</ViewPunch>
<ViewPunch>0.05</ViewPunch>
<MaxTravelAngle>0.174533</MaxTravelAngle> <!-- 0.174533 = 10 degrees -->
<ViewReturnSpeed>0.2</ViewReturnSpeed>
<ReloadTime>1.0</ReloadTime>
<EquipTime>0.5</EquipTime>
<TriggerHeld>false</TriggerHeld>
@@ -14,4 +16,5 @@
<ReloadQueued>false</ReloadQueued>
<IsReloading>false</IsReloading>
<ReloadTimer>0</ReloadTimer>
<CurrentTravel>0</CurrentTravel>
</SidearmWeapon>
@@ -36,6 +36,12 @@
<xs:element name="ViewPunch" type="t:float" minOccurs="0">
<xs:annotation><xs:documentation>View punch in radians for each shell fired</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="MaxTravelAngle" type="t:float" minOccurs="0">
<xs:annotation><xs:documentation>Maximum vertical aim travel angle in radians</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="ViewReturnSpeed" type="t:float" minOccurs="0">
<xs:annotation><xs:documentation>The speed in radians per second the view returns to its original position after being punched</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="ReloadTime" type="t:double" minOccurs="0">
<xs:annotation><xs:documentation>Time it takes to load ONE SHELL into the weapon in seconds</xs:documentation></xs:annotation>
</xs:element>
@@ -47,6 +53,7 @@
<xs:element name="ReloadQueued" type="t:bool" minOccurs="0"/>
<xs:element name="IsReloading" type="t:bool" minOccurs="0"/>
<xs:element name="ReloadTimer" type="t:double" minOccurs="0"/>
<xs:element name="CurrentTravel" type="t:float" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
+103 -49
View File
@@ -8,7 +8,7 @@
</c:RaptorCopter>
<c:Transform>
<Position X="0" Y="-30.6910019" Z="0"/>
<Orientation X="0" Y="39.0355186" Z="0"/>
<Orientation X="0" Y="43.1977272" Z="0"/>
</c:Transform>
</Components>
@@ -69,21 +69,6 @@
<c:Transform/>
</Components>
<Children>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="0.217999995" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomRight">
<Components>
<c:Sprite>
@@ -100,6 +85,21 @@
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="0.217999995" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomLeft">
<Components>
<c:Sprite>
@@ -157,7 +157,7 @@
<Components>
<c:Animation>
<AnimationName>AssaultPoseF</AnimationName>
<Time>0.17617116993415038</Time>
<Time>1.725669683907423</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -173,7 +173,7 @@
<Resource>Models/Weapons/Blue/AssaultWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.160869107" Y="1.21697962" Z="-0.151224568"/>
<Position X="0.160869107" Y="1.21322453" Z="-0.151224568"/>
<Orientation X="1.90465617" Y="-0.166544378" Z="0.0701896623"/>
</c:Transform>
</Components>
@@ -556,7 +556,7 @@
<Components>
<c:Animation>
<AnimationName>DefenderPoseF</AnimationName>
<Time>1.8430093487788781</Time>
<Time>0.89250786275215077</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -572,8 +572,8 @@
<Resource>Models/Weapons/Blue/DefenderWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.19599846" Y="0.706871212" Z="0.0306189749"/>
<Orientation X="-1.39242756" Y="-0.0973875076" Z="0.332219273"/>
<Position X="0.195243329" Y="0.708130419" Z="0.0326478258"/>
<Orientation X="-1.39242756" Y="-0.0973875225" Z="0.332219273"/>
</c:Transform>
</Components>
<Children/>
@@ -829,6 +829,22 @@
<c:Transform/>
</Components>
<Children>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="-0.21800001" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
@@ -860,22 +876,6 @@
</Components>
<Children/>
</Entity>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.142000005" Y="-0.21800001" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopLeft">
<Components>
<c:Sprite>
@@ -917,7 +917,7 @@
<Components>
<c:Animation>
<AnimationName>SniperPoseF</AnimationName>
<Time>2.0761022922026768</Time>
<Time>1.1256008061759495</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -933,8 +933,8 @@
<Resource>Models/Weapons/Blue/SecondaryWeaponBlue.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="-0.0454485416" Y="1.06776285" Z="-0.125484616"/>
<Orientation X="-1.5053376" Y="1.34000039" Z="-1.34724426"/>
<Position X="-0.0454485789" Y="1.06511343" Z="-0.125484645"/>
<Orientation X="-1.50533736" Y="1.34000039" Z="-1.34724438"/>
</c:Transform>
</Components>
<Children/>
@@ -1534,7 +1534,7 @@
<Entity name="RespawnTimer">
<Components>
<c:Text>
<Content>7</Content>
<Content>2</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="0" G="1" R="0.784313738"/>
</c:Text>
@@ -1922,6 +1922,60 @@
</Entity>
</Children>
</Entity>
<Entity name="KillFeed">
<Components>
<c:KillFeed/>
<c:Transform>
<Position X="0.494000018" Y="0.252000004" Z="0"/>
<Scale X="0.0149999997" Y="0.0149999997" Z="0.0149999997"/>
</c:Transform>
</Components>
<Children>
<Entity name="KillFeed1">
<Components>
<c:Text>
<Content></Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Alignment>
<Right/>
</Alignment>
</c:Text>
<c:Transform/>
</Components>
<Children/>
</Entity>
<Entity name="KillFeed2">
<Components>
<c:Text>
<Content></Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Alignment>
<Right/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="0" Y="-1" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="KillFeed3">
<Components>
<c:Text>
<Content></Content>
<Resource>Fonts/Hind-Edited.otf,64</Resource>
<Alignment>
<Right/>
</Alignment>
</c:Text>
<c:Transform>
<Position X="0" Y="-2" Z="0"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
@@ -2062,7 +2116,7 @@
<Components>
<c:Animation>
<AnimationName>AssaultPoseF</AnimationName>
<Time>1.3982834359588878</Time>
<Time>0.44778194993216047</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2078,7 +2132,7 @@
<Resource>Models/Weapons/Red/AssaultWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.160869107" Y="1.21257722" Z="-0.151224568"/>
<Position X="0.160869107" Y="1.21565855" Z="-0.151224568"/>
<Orientation X="1.90465617" Y="-0.166544378" Z="0.0701896623"/>
</c:Transform>
</Components>
@@ -2461,7 +2515,7 @@
<Components>
<c:Animation>
<AnimationName>DefenderPoseF</AnimationName>
<Time>1.4984920571354792</Time>
<Time>0.54799057110875182</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2477,8 +2531,8 @@
<Resource>Models/Weapons/Red/DefenderWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="0.196077555" Y="0.705334127" Z="0.027174633"/>
<Orientation X="-1.39242756" Y="-0.097387597" Z="0.332219392"/>
<Position X="0.194819659" Y="0.710372686" Z="0.0368246883"/>
<Orientation X="-1.39242768" Y="-0.0973874852" Z="0.332219452"/>
</c:Transform>
</Components>
<Children/>
@@ -2822,7 +2876,7 @@
<Components>
<c:Animation>
<AnimationName>SniperPoseF</AnimationName>
<Time>1.4153160569904912</Time>
<Time>0.46481457096376388</Time>
<Play>true</Play>
</c:Animation>
<c:Transform/>
@@ -2838,8 +2892,8 @@
<Resource>Models/Weapons/Red/SecondaryWeaponRed.mesh</Resource>
</c:Model>
<c:Transform>
<Position X="-0.0454486087" Y="1.06414807" Z="-0.125484616"/>
<Orientation X="-1.50533855" Y="1.34000087" Z="-1.34724522"/>
<Position X="-0.0454485677" Y="1.06916106" Z="-0.125484571"/>
<Orientation X="-1.50533819" Y="1.34000111" Z="-1.3472451"/>
</c:Transform>
</Components>
<Children/>
File diff suppressed because it is too large Load Diff
+75 -39
View File
@@ -34,7 +34,7 @@
<Axis X="0" Y="1" Z="0"/>
</c:RaptorCopter>
<c:Transform>
<Orientation X="0" Y="98.9142075" Z="0"/>
<Orientation X="0" Y="214.830872" Z="0"/>
</c:Transform>
</Components>
<Children>
@@ -46,7 +46,7 @@
</c:RaptorCopter>
<c:Transform>
<Position X="0" Y="26" Z="40"/>
<Orientation X="0" Y="-114.726761" Z="0"/>
<Orientation X="0" Y="-346.565979" Z="0"/>
</c:Transform>
</Components>
<Children>
@@ -92,42 +92,6 @@
<c:Transform/>
</Components>
<Children>
<Entity name="ButtonCorner_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="0.0220000017" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="-0.0219999999" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Button_1">
<Components>
<c:Button/>
@@ -149,6 +113,44 @@
</Components>
<Children/>
</Entity>
<Entity name="ButtonCorner_Origin">
<Components>
<c:Transform/>
</Components>
<Children>
<Entity name="BottomRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="-0.0219999999" Z="0.00499999989"/>
<Orientation X="0" Y="0" Z="4.71199989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
<Entity name="TopRight">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="0.0220000017" Z="0.00499999989"/>
<Scale X="0.00499999989" Y="0.00499999989" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="Text">
<Components>
<c:Text>
@@ -218,6 +220,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="-0.0219999999" Z="0.00499999989"/>
@@ -233,6 +236,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="0.0220000017" Z="0.00499999989"/>
@@ -263,6 +267,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="0.0220000017" Z="0.00499999989"/>
@@ -277,6 +282,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="-0.0219999999" Z="0.00499999989"/>
@@ -299,6 +305,10 @@
<BlurBackground>true</BlurBackground>
<Color A="0.392156869" B="0" G="0" R="0"/>
</c:Sprite>
<c:InputCmdButton>
<Command>Options</Command>
<PressValue>1</PressValue>
</c:InputCmdButton>
<c:Transform>
<Scale X="0.200000003" Y="0.0500000007" Z="1"/>
</c:Transform>
@@ -308,7 +318,7 @@
<Entity name="Text">
<Components>
<c:Text>
<Content>Option</Content>
<Content>Options</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Alignment>
<Right/>
@@ -374,6 +384,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="-0.0219999999" Z="0.00499999989"/>
@@ -389,6 +400,7 @@
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/HUD/ButtonCorner_16.png</DiffuseTexture>
<Linear>false</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.0970000029" Y="0.0220000017" Z="0.00499999989"/>
@@ -419,12 +431,36 @@
</Components>
<Children/>
</Entity>
<Entity name="OptionsSpawner">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/OptionMenu.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
</Children>
</Entity>
<Entity name="TitleSprite">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Test/SmallDiff.png</DiffuseTexture>
<ClampToBorder>true</ClampToBorder>
</c:Sprite>
<c:Transform>
<Position X="0.0320000015" Y="0.0220000017" Z="-0.0550000034"/>
<Scale X="0.0500000007" Y="0.0150000006" Z="1"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
</Children>
-1
View File
@@ -414,7 +414,6 @@ void DrawFinalPass::ClearBuffer()
GLERROR("END");
}
void DrawFinalPass::OnWindowResize()
{
if (m_FinalPassFrameBuffer->MultiSampling() != (bool)m_MSAA) {
@@ -324,23 +324,23 @@ void DefenderWeaponBehaviour::fireShell(ComponentWrapper cWeapon, WeaponInfo& wi
spawnTracers(cWeapon, wi, pattern);
// View punch
//if (IsClient) {
// EntityWrapper camera = wi.Player.FirstChildByName("Camera");
// if (camera.Valid()) {
// glm::vec3& cameraOrientation = camera["Transform"]["Orientation"];
// float viewPunch = cWeapon["ViewPunch"];
// float maxTravelAngle = cWeapon["MaxTravelAngle"];
// float& currentTravel = cWeapon["CurrentTravel"];
// if (currentTravel < maxTravelAngle) {
// float change = viewPunch;
// if (currentTravel + change > maxTravelAngle) {
// change = maxTravelAngle - currentTravel;
// }
// cameraOrientation.x += change;
// currentTravel += change;
// }
// }
//}
if (IsClient) {
EntityWrapper camera = wi.Player.FirstChildByName("Camera");
if (camera.Valid()) {
Field<glm::vec3> cameraOrientation = camera["Transform"]["Orientation"];
float viewPunch = cWeapon["ViewPunch"];
float maxTravelAngle = (const float&)cWeapon["MaxTravelAngle"];
Field<float> currentTravel = cWeapon["CurrentTravel"];
if (currentTravel < maxTravelAngle) {
float change = viewPunch;
if (currentTravel + change > maxTravelAngle) {
change = maxTravelAngle - currentTravel;
}
cameraOrientation.x(cameraOrientation.x() + change);
currentTravel += change;
}
}
}
// Play animation
playAnimationAndReturn(wi.FirstPersonEntity, "FinalBlend", "Fire");
@@ -69,6 +69,21 @@ void SidearmWeaponBehaviour::UpdateWeapon(ComponentWrapper cWeapon, WeaponInfo&
}
}
// Restore view angle
if (IsClient) {
Field<float> currentTravel = cWeapon["CurrentTravel"];
Field<float> returnSpeed = cWeapon["ViewReturnSpeed"];
if (currentTravel > 0) {
float change = returnSpeed * dt;
currentTravel = glm::max(0.f, currentTravel - change);
EntityWrapper camera = wi.Player.FirstChildByName("Camera");
if (camera.Valid()) {
Field<glm::vec3> cameraOrientation = camera["Transform"]["Orientation"];
cameraOrientation.x(cameraOrientation.x() - change);
}
}
}
if ((bool)cWeapon["Automatic"] && canFire(cWeapon)) {
fireBullet(cWeapon, wi);
}
@@ -183,6 +198,25 @@ void SidearmWeaponBehaviour::fireBullet(ComponentWrapper cWeapon, WeaponInfo& wi
magAmmo -= 1;
}
// View punch
if (IsClient) {
EntityWrapper camera = wi.Player.FirstChildByName("Camera");
if (camera.Valid()) {
Field<glm::vec3> cameraOrientation = camera["Transform"]["Orientation"];
float viewPunch = cWeapon["ViewPunch"];
float maxTravelAngle = cWeapon["MaxTravelAngle"];
Field<float> currentTravel = cWeapon["CurrentTravel"];
if (currentTravel < maxTravelAngle) {
float change = viewPunch;
if (currentTravel + change > maxTravelAngle) {
change = maxTravelAngle - currentTravel;
}
cameraOrientation.x(cameraOrientation.x() + change);
currentTravel += change;
}
}
}
// Get weapon model based on current person
EntityWrapper weaponModelEntity = getRelevantWeaponEntity(wi);
if (!weaponModelEntity.Valid()) {