[Orxonox-commit 6065] r10724 - in code/branches/fabienHS15: data/levels data/levels/includes data/levels/templates data/overlays src/modules/overlays/hud src/modules/pickup/items src/modules/weapons/munitions src/orxonox/overlays src/orxonox/weaponsystem src/orxonox/worldentities/pawns
fvultier at orxonox.net
fvultier at orxonox.net
Fri Oct 30 19:51:50 CET 2015
Author: fvultier
Date: 2015-10-30 19:51:49 +0100 (Fri, 30 Oct 2015)
New Revision: 10724
Added:
code/branches/fabienHS15/src/modules/pickup/items/BoostPickup.cc
code/branches/fabienHS15/src/modules/pickup/items/BoostPickup.h
Modified:
code/branches/fabienHS15/data/levels/includes/pickups.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsCollateral.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsEscort.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsH2.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsHeartAttack.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiserBody.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsPirate.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsRing.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsSpacecruiser.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsSwallow.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsTransporter.oxi
code/branches/fabienHS15/data/levels/includes/weaponSettingsbigship.oxi
code/branches/fabienHS15/data/levels/pickups.oxw
code/branches/fabienHS15/data/levels/templates/pickupRepresentationTemplates.oxt
code/branches/fabienHS15/data/overlays/HUDTemplates3.oxo
code/branches/fabienHS15/src/modules/overlays/hud/HUDWeapon.cc
code/branches/fabienHS15/src/modules/overlays/hud/HUDWeapon.h
code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc
code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.h
code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponSystem.cc
code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponSystem.h
code/branches/fabienHS15/src/modules/pickup/items/CMakeLists.txt
code/branches/fabienHS15/src/modules/pickup/items/MunitionPickup.cc
code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc
code/branches/fabienHS15/src/orxonox/overlays/OrxonoxOverlay.cc
code/branches/fabienHS15/src/orxonox/overlays/OrxonoxOverlay.h
code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc
code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h
code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.cc
code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.h
Log:
The weapon system HUD rescales properly if the window size changes.
Modified: code/branches/fabienHS15/data/levels/includes/pickups.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/pickups.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/pickups.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -248,3 +248,29 @@
spawnerTemplate = "hugeshrinkpickupRepresentation"
inventoryRepresentation = "HugeShrink"
/>
+
+<!-- Boost Pickup -->
+
+<PickupRepresentation
+ name = "smallboostpickup"
+ pickupName = "Small Boost"
+ pickupDescription = "Restores the boost by a bit"
+ spawnerTemplate = "smallboostpickupRepresentation"
+ inventoryRepresentation = "SmallBoost"
+/>
+
+<PickupRepresentation
+ name = "mediumboostpickup"
+ pickupName = "Medium Boost"
+ pickupDescription = "Restores the boost"
+ spawnerTemplate = "mediumboostpickupRepresentation"
+ inventoryRepresentation = "MediumBoost"
+/>
+
+<PickupRepresentation
+ name = "hugeboostpickup"
+ pickupName = "Huge Boost"
+ pickupDescription = "Restores the boost considerably"
+ spawnerTemplate = "hugeboostpickupRepresentation"
+ inventoryRepresentation = "HugeBoost"
+/>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsCollateral.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsCollateral.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsCollateral.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -24,9 +24,9 @@
<!--Model mesh="LightningGun-s.mesh" pitch="78" roll="90" yaw="90" position="0.2,-1.3,0" /--> <!-- THING BETWEEN -->
<Model mesh="hs-w01_reduced.mesh" roll="90" pitch="90" yaw="-90" position="-1.5, 1, -0.3" scale=0.6 /> <!-- MACHINE GUN -->
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
- <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
+ <LightningGun mode=1 munitionpershot=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
</Weapon>
<Weapon>
@@ -35,8 +35,8 @@
<!--Model mesh="LightningGun-s.mesh" pitch="103" roll="90" yaw="90" position="0.2,-1.35,0" /-->
<Model mesh="hs-w01_reduced.mesh" roll="90" pitch="90" yaw="-90" position="1.8, 1, -0.3" scale=0.6 /> <!-- MACHINE GUN -->
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=23 />
</Weapon>
<Weapon>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsEscort.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsEscort.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsEscort.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -13,12 +13,12 @@
<DefaultWeaponmodeLink firemode=1 weaponmode=1 />
</links>
<Weapon>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" projectileMesh="LaserBeam2.mesh" />
- <!--HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" projectileMesh="LaserBeam2.mesh" /-->
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" projectileMesh="LaserBeam2.mesh" />
+ <!--HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" projectileMesh="LaserBeam2.mesh" /-->
</Weapon>
<Weapon>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" projectileMesh="LaserBeam2.mesh" />
- <!--HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" projectileMesh="LaserBeam2.mesh" /-->
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" projectileMesh="LaserBeam2.mesh" />
+ <!--HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" projectileMesh="LaserBeam2.mesh" /-->
</Weapon>
</WeaponPack>
<WeaponPack>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsGhost.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -18,20 +18,20 @@
<DefaultWeaponmodeLink firemode=2 weaponmode=2 />
</links>
<Weapon>
- <HsW01 mode=0 munitionpershot=0 healthdamage=3.14159 delay=0 material="Flares/point_lensflare" />
- <HsW01 mode=0 munitionpershot=0 healthdamage=3.14159 delay=0.125 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" />
+ <HsW01 mode=0 munitionpershot=1 healthdamage=3.14159 delay=0 material="Flares/point_lensflare" />
+ <HsW01 mode=0 munitionpershot=1 healthdamage=3.14159 delay=0.125 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=30 shielddamage=10 />
</Weapon>
<Weapon>
- <HsW01 mode=0 munitionpershot=0 damage=3.14159 delay=0 material="Flares/point_lensflare" />
- <HsW01 mode=0 munitionpershot=0 damage=3.14159 delay=0.125 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" />
+ <HsW01 mode=0 munitionpershot=1 damage=3.14159 delay=0 material="Flares/point_lensflare" />
+ <HsW01 mode=0 munitionpershot=1 damage=3.14159 delay=0.125 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=30 shielddamage=10 />
</Weapon>
<Weapon>
- <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=50 />
+ <SimpleRocketFire mode=2 munitionpershot=1 muzzleoffset="0,0,0" damage=50 />
</Weapon>
<Weapon>
- <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=50 delay=0.1 />
+ <SimpleRocketFire mode=2 munitionpershot=1 muzzleoffset="0,0,0" damage=50 delay=0.1 />
</Weapon>
</WeaponPack>
</weapons>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsH2.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsH2.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsH2.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -17,16 +17,16 @@
<Model mesh="hs-w01.mesh" roll="180" position="0.0, 0.5, 0.0" scale=2 />
<Model mesh="hs-w01s.mesh" roll="180" position="0.1, 0.0, 0.0" scale=2 />
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.8, 0.9,-4" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.8, 0.9,-4" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.8, 0.9,-4" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.8, 0.9,-4" />
</Weapon>
<Weapon>
<attached>
<Model mesh="hs-w01.mesh" roll="180" position=" 0.0, 0.5, 0.0" scale=2 />
<Model mesh="hs-w01s.mesh" roll="180" position="-0.1, 0.0, 0.0" scale=2 />
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.8, 0.9, -4.0" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.8, 0.9, -4.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.8, 0.9, -4.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.8, 0.9, -4.0" />
</Weapon>
</WeaponPack>
<WeaponPack>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsHeartAttack.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsHeartAttack.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHeartAttack.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -19,20 +19,20 @@
<DefaultWeaponmodeLink firemode=3 weaponmode=3 />
</links>
<Weapon>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -11.4, 0, -5" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -11.4, 0, -5" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 11.4, 0, -5" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 11.4, 0, -5" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -11.4, 0, -5" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -11.4, 0, -5" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 11.4, 0, -5" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 11.4, 0, -5" />
</Weapon>
<Weapon>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -15, 1.6, -2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -15, 1.6, -2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 15, 1.6, -2" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 15, 1.6, -2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -15, 1.6, -2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -15, 1.6, -2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 15, 1.6, -2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 15, 1.6, -2" />
</Weapon>
<Weapon>
- <LaserFire mode=1 munitionpershot=0 muzzleoffset="2.2,6,16" damage=30 shielddamage=20 />
- <LaserFire mode=1 munitionpershot=0 muzzleoffset="-2.2,6,16" damage=30 shielddamage=20 />
+ <LaserFire mode=1 munitionpershot=1 muzzleoffset="2.2,6,16" damage=30 shielddamage=20 />
+ <LaserFire mode=1 munitionpershot=1 muzzleoffset="-2.2,6,16" damage=30 shielddamage=20 />
<RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />
<GravityBombFire mode=2 muzzleoffset="0,0,0" damage=30 shielddamage=20 />
</Weapon>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiser.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -23,8 +23,8 @@
<Model mesh="LightningGun-s.mesh" pitch="78" roll="90" yaw="90" position="0.2,-1.3,0" />
<Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,0.3" scale=0.6 />
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
</Weapon>
<Weapon>
@@ -33,8 +33,8 @@
<Model mesh="LightningGun-s.mesh" pitch="78" roll="90" yaw="90" position="0.2,-1.3,-10" />
<Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,-10.3" scale=0.6 />
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=23 />
</Weapon>
<Weapon>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiserBody.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiserBody.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsHeavyCruiserBody.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -20,15 +20,15 @@
<Weapon>
<attached>
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
</Weapon>
<Weapon>
<attached>
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=23 />
</Weapon>
<Weapon>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsPirate.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsPirate.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsPirate.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -13,12 +13,12 @@
<DefaultWeaponmodeLink firemode=1 weaponmode=1 />
</links>
<Weapon>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=2.5 material="Flares/point_lensflare" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=2.5 material="Flares/point_lensflare" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" />
</Weapon>
<Weapon>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=2.5 material="Flares/point_lensflare" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=2.5 material="Flares/point_lensflare" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" />
</Weapon>
</WeaponPack>
</weapons>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsRing.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsRing.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsRing.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -6,21 +6,25 @@
<weaponsets>
<WeaponSet firemode=0 />
<WeaponSet firemode=1 />
+ <WeaponSet firemode=2 />
</weaponsets>
<weapons>
<WeaponPack>
<links>
<DefaultWeaponmodeLink firemode=0 weaponmode=0 />
<DefaultWeaponmodeLink firemode=1 weaponmode=1 />
+ <DefaultWeaponmodeLink firemode=2 weaponmode=2 />
</links>
<Weapon>
- <IceGun mode=0 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset="11,0,-3" freezefactor=0.5 freezetime=2.0 />
+ <LaserFire mode=0 munitionpershot=1 damage=10 shielddamage=5 />
+ <IceGun mode=1 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset="11,0,-3" freezefactor=0.5 freezetime=2.0 />
</Weapon>
<Weapon>
- <IceGun mode=0 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset=" -11,0,-3" freezefactor=0.5 freezetime=2.0 />
+ <LaserFire mode=0 munitionpershot=1 damage=10 shielddamage=5 />
+ <IceGun mode=1 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset=" -11,0,-3" freezefactor=0.5 freezetime=2.0 />
</Weapon>
<Weapon>
- <GravityBombFire mode=1 munitionpershot=1 delay=0.125 damage=3 muzzleoffset="0,0,-7"/>
+ <GravityBombFire mode=2 munitionpershot=1 delay=0.125 damage=3 muzzleoffset="0,0,-7"/>
</Weapon>
</WeaponPack>
</weapons>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsSpacecruiser.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsSpacecruiser.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsSpacecruiser.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -27,8 +27,8 @@
<Model mesh="LightningGun-s.mesh" pitch="78" roll="90" yaw="90" position="0.2,-1.3,0" />
<Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,0.3" scale=0.6 />
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
</Weapon>
<Weapon>
@@ -37,8 +37,8 @@
<Model mesh="LightningGun-s.mesh" pitch="103" roll="90" yaw="90" position="0.2,-1.35,0" />
<Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-104" yaw="-90" position="0,1.3,0.3" scale=0.6 />
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=23 />
</Weapon>
<Weapon>
@@ -51,8 +51,8 @@
<Model mesh="LightningGun-s.mesh" pitch="78" roll="90" yaw="90" position="0.2,-1.3,0" />
<Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,0.3" scale=0.6 />
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
</Weapon>
<Weapon>
@@ -61,8 +61,8 @@
<Model mesh="LightningGun-s.mesh" pitch="103" roll="90" yaw="90" position="0.2,-1.35,0" />
<Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-104" yaw="-90" position="0,1.3,0.3" scale=0.6 />
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=23 />
</Weapon>
<Weapon>
@@ -71,8 +71,8 @@
<Model mesh="LightningGun-s.mesh" pitch="78" roll="90" yaw="90" position="0.2,-1.3,0" />
<Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,0.3" scale=0.6 />
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
</Weapon>
<Weapon>
@@ -81,8 +81,8 @@
<Model mesh="LightningGun-s.mesh" pitch="103" roll="90" yaw="90" position="0.2,-1.35,0" />
<Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-104" yaw="-90" position="0,1.3,0.3" scale=0.6 />
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=23 />
</Weapon>
</WeaponPack>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsSwallow.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsSwallow.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsSwallow.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -15,11 +15,11 @@
</links>
<Weapon>
<SplitGun mode=0 munitionpershot=1 damage=6.0 muzzleoffset="0.5,0.6,1.7" splittime=0.2 numberofsplits=2 numberofchilds=3 spread=0.1 damagereduction=2.0 />
- <LaserFire mode=1 munitionpershot=0 damage=10.0 muzzleoffset="0.5,0.6,1.7" />
+ <LaserFire mode=1 munitionpershot=1 damage=10.0 muzzleoffset="0.5,0.6,1.7" />
</Weapon>
<Weapon>
<SplitGun mode=0 munitionpershot=1 damage=6.0 muzzleoffset="-0.5,0.6,1.7" splittime=0.2 numberofsplits=2 numberofchilds=3 spread=0.1 damagereduction=2.0 />
- <LaserFire mode=1 munitionpershot=0 damage=10.0 muzzleoffset="-0.5,0.6,1.7" />
+ <LaserFire mode=1 munitionpershot=1 damage=10.0 muzzleoffset="-0.5,0.6,1.7" />
</Weapon>
</WeaponPack>
</weapons>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsTransporter.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsTransporter.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsTransporter.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -13,13 +13,13 @@
<DefaultWeaponmodeLink firemode=1 weaponmode=1 />
</links>
<Weapon>
- <HsW01 mode=0 munitionpershot=0 delay=0.1 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.1 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
</Weapon>
<Weapon>
- <HsW01 mode=0 munitionpershot=0 delay=0.1 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.1 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
</Weapon>
</WeaponPack>
Modified: code/branches/fabienHS15/data/levels/includes/weaponSettingsbigship.oxi
===================================================================
--- code/branches/fabienHS15/data/levels/includes/weaponSettingsbigship.oxi 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/includes/weaponSettingsbigship.oxi 2015-10-30 18:51:49 UTC (rev 10724)
@@ -20,16 +20,16 @@
<Weapon>
<attached>
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 />
</Weapon>
<Weapon>
<attached>
</attached>
- <HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
- <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />
+ <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />
<LightningGun mode=1 muzzleoffset="0,0,0" damage=23 />
</Weapon>
<Weapon>
Modified: code/branches/fabienHS15/data/levels/pickups.oxw
===================================================================
--- code/branches/fabienHS15/data/levels/pickups.oxw 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/pickups.oxw 2015-10-30 18:51:49 UTC (rev 10724)
@@ -35,11 +35,17 @@
<Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0" />
<SpawnPoint position="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
+ <!-- Boost pickup -->
+
+ <PickupSpawner pickup=smallboostpickup position="-25,-125,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+ <PickupSpawner pickup=mediumboostpickup position="0,-125,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+ <PickupSpawner pickup=hugeboostpickup position="25,-125,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+
<!-- DamageBoost pickup -->
<PickupSpawner pickup=smalldamageboostpickup position="-25,-100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
<PickupSpawner pickup=mediumdamageboostpickup position="0,-100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
- <PickupSpawner pickup=hugedamageboostpickup position="25,-100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
+ <PickupSpawner pickup=hugedamageboostpickup position="25,-100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" />
<!-- Munition pickups -->
Modified: code/branches/fabienHS15/data/levels/templates/pickupRepresentationTemplates.oxt
===================================================================
--- code/branches/fabienHS15/data/levels/templates/pickupRepresentationTemplates.oxt 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/levels/templates/pickupRepresentationTemplates.oxt 2015-10-30 18:51:49 UTC (rev 10724)
@@ -1,3 +1,80 @@
+<!-- Boost pickups: -->
+
+<Template name=smallboostpickupRepresentation>
+ <PickupRepresentation>
+ <spawner-representation>
+ <StaticEntity>
+ <attached>
+ <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Sphere2" scale=0.1>
+ <attached>
+ <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Flash" scale=0.3 />
+ </attached>
+ </Billboard>
+ </attached>
+ </StaticEntity>
+ </spawner-representation>
+ </PickupRepresentation>
+</Template>
+
+<Template name=smallboostpickup baseclass=BoostPickup>
+ <BoostPickup
+ representation = "smallboostpickup"
+ boostrefill = 0.5
+ activationType = "immediate"
+ durationType = "once"
+ />
+</Template>
+
+<Template name=mediumboostpickupRepresentation>
+ <PickupRepresentation>
+ <spawner-representation>
+ <StaticEntity>
+ <attached>
+ <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Sphere2" scale=0.1>
+ <attached>
+ <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Flash" scale=0.5 />
+ </attached>
+ </Billboard>
+ </attached>
+ </StaticEntity>
+ </spawner-representation>
+ </PickupRepresentation>
+</Template>
+
+<Template name=mediumboostpickup baseclass=BoostPickup>
+ <BoostPickup
+ representation = "mediumboostpickup"
+ boostrefill = 0.75
+ activationType = "immediate"
+ durationType = "once"
+ />
+</Template>
+
+<Template name=hugeboostpickupRepresentation>
+ <PickupRepresentation>
+ <spawner-representation>
+ <StaticEntity>
+ <attached>
+ <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Sphere2" scale=0.1>
+ <attached>
+ <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Flash" scale=0.7 />
+ </attached>
+ </Billboard>
+ </attached>
+ </StaticEntity>
+ </spawner-representation>
+ </PickupRepresentation>
+</Template>
+
+<Template name=hugeboostpickup baseclass=BoostPickup>
+ <BoostPickup
+ representation = "hugeboostpickup"
+ boostrefill = 1.0
+ activationType = "immediate"
+ durationType = "once"
+ />
+</Template>
+
<!-- Shield pickups: -->
<Template name=smallshieldpickupRepresentation>
Modified: code/branches/fabienHS15/data/overlays/HUDTemplates3.oxo
===================================================================
--- code/branches/fabienHS15/data/overlays/HUDTemplates3.oxo 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/data/overlays/HUDTemplates3.oxo 2015-10-30 18:51:49 UTC (rev 10724)
@@ -133,7 +133,7 @@
position = "0.0, 0.0"
pickpoint = "0, 0"
visible = "true"
- weaponModeHUDSize = "0.12, 0.04"
+ weaponModeHUDSize = "0.09, 0.03"
/>
<HUDTimer
Modified: code/branches/fabienHS15/src/modules/overlays/hud/HUDWeapon.cc
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDWeapon.cc 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDWeapon.cc 2015-10-30 18:51:49 UTC (rev 10724)
@@ -28,12 +28,8 @@
#include "HUDWeapon.h"
-#include <OgreOverlayManager.h>
-#include <OgrePanelOverlayElement.h>
-
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "tools/TextureGenerator.h"
#include "util/Convert.h"
#include "core/class/Super.h"
@@ -185,7 +181,6 @@
(*it)->setWeaponModeIndex(positionIndex);
(*it)->setWeaponIndex(this->weaponIndex_);
(*it)->setWeaponModeHUDActualSize(this->weaponModeHUDActualSize_);
- (*it)->positionHUDChilds();
++ positionIndex;
}
Modified: code/branches/fabienHS15/src/modules/overlays/hud/HUDWeapon.h
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDWeapon.h 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDWeapon.h 2015-10-30 18:51:49 UTC (rev 10724)
@@ -36,13 +36,9 @@
#include <string>
#include <OgreOverlayManager.h>
-#include <OgreMaterialManager.h>
-#include <OgreTechnique.h>
-#include <OgrePass.h>
#include <OgrePanelOverlayElement.h>
#include "overlays/OrxonoxOverlay.h"
-#include "overlays/OverlayText.h"
#include "tools/interfaces/Tickable.h"
#include "worldentities/pawns/Pawn.h"
#include "overlays/OverlayGroup.h"
@@ -78,13 +74,11 @@
inline void setWeaponIndex(int index)
{ weaponIndex_ = index;
this->updatePosition();
- }
+ }
- virtual void positionHUDChilds();
-
private:
virtual void createHUDChilds();
-
+ virtual void positionHUDChilds();
virtual void destroyHUDChilds();
virtual void updateWeaponModeList();
virtual void updateSize();
Modified: code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.cc 2015-10-30 18:51:49 UTC (rev 10724)
@@ -20,25 +20,18 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Author:
- * Yuning Chai
- * Felix Schulthess
+ * Fabien Vultier
* Co-authors:
- * Reto Grieder
- * Wolfgang Roenninger
+ * ...
*
*/
#include "HUDWeaponMode.h"
-#include <OgreOverlayManager.h>
-#include <OgrePanelOverlayElement.h>
-
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "tools/TextureGenerator.h"
-#include "weaponsystem/WeaponMode.h"
-#include "weaponsystem/Munition.h"
#include "util/Convert.h"
+#include "core/class/Super.h"
namespace orxonox
{
@@ -86,6 +79,7 @@
textOverlayLeft_->setTextSize(0.02f);
textOverlayLeft_->setColour(ColourValue(0.21,0.70,0.21,1.0));
textOverlayLeft_->setAspectCorrection(false);
+ textOverlayLeft_->setZOrder(600);
this->textOverlayRight_ = new OverlayText(this->getContext());
assert(this->textOverlayLeft_.get());
@@ -96,6 +90,7 @@
textOverlayRight_->setTextSize(0.02f);
textOverlayRight_->setColour(ColourValue(0.21,0.70,0.21,1.0));
textOverlayRight_->setAspectCorrection(false);
+ textOverlayRight_->setZOrder(600);
materialNameState_ = "Orxonox/WSHUD_Reloading";
@@ -136,20 +131,19 @@
if (munition != NULL)
{
- bool useSeparateMagazines = munition->getUseSeparateMagazines();
- bool stackMunition = munition->getStackMunition();
+ MunitionDeployment::Value deployment = munition->getMunitionDeployment();
- if (!useSeparateMagazines && !stackMunition)
+ if (deployment == MunitionDeployment::Share)
{
this->textOverlayLeft_->setCaption(multi_cast<std::string>(munition->getNumMunitionInCurrentMagazine(weaponMode_)));
this->textOverlayRight_->setCaption(multi_cast<std::string>(munition->getNumMagazines()));
}
- else if (!useSeparateMagazines && stackMunition)
+ else if (deployment == MunitionDeployment::Stack)
{
this->textOverlayLeft_->setCaption(multi_cast<std::string>(munition->getNumMunition(weaponMode_)));
this->textOverlayRight_->setCaption("");
}
- else if (useSeparateMagazines && !stackMunition)
+ else if (deployment == MunitionDeployment::Separate)
{
this->textOverlayLeft_->setCaption(multi_cast<std::string>(munition->getNumMunitionInCurrentMagazine(weaponMode_)));
this->textOverlayRight_->setCaption(multi_cast<std::string>(munition->getNumMagazines()));
@@ -244,18 +238,17 @@
if (munition != NULL)
{
- bool useSeparateMagazines = munition->getUseSeparateMagazines();
- bool stackMunition = munition->getStackMunition();
+ MunitionDeployment::Value deployment = munition->getMunitionDeployment();
- if (!useSeparateMagazines && !stackMunition)
+ if (deployment == MunitionDeployment::Share)
{
overlayElementMunition_->setMaterialName("Orxonox/WSHUD_MunitionShare");
}
- else if (!useSeparateMagazines && stackMunition)
+ else if (deployment == MunitionDeployment::Stack)
{
overlayElementMunition_->setMaterialName("Orxonox/WSHUD_MunitionStack");
}
- else if (useSeparateMagazines && !stackMunition)
+ else if (deployment == MunitionDeployment::Separate)
{
overlayElementMunition_->setMaterialName("Orxonox/WSHUD_MunitionSeparate");
}
Modified: code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.h
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.h 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponMode.h 2015-10-30 18:51:49 UTC (rev 10724)
@@ -37,9 +37,6 @@
#include <string>
#include <OgreOverlayManager.h>
-#include <OgreMaterialManager.h>
-#include <OgreTechnique.h>
-#include <OgrePass.h>
#include <OgrePanelOverlayElement.h>
#include "overlays/OrxonoxOverlay.h"
@@ -48,6 +45,8 @@
#include "worldentities/pawns/Pawn.h"
#include "overlays/OverlayGroup.h"
#include "weaponsystem/ReplenishingMunition.h"
+#include "weaponsystem/WeaponMode.h"
+#include "weaponsystem/Munition.h"
namespace orxonox
{
@@ -83,11 +82,10 @@
this->updatePosition();
}
- virtual void positionHUDChilds();
-
private:
virtual void updateSize();
virtual void updatePosition();
+ virtual void positionHUDChilds();
WeakPtr<Pawn> owner_;
WeakPtr<WeaponMode> weaponMode_;
Modified: code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponSystem.cc
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponSystem.cc 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponSystem.cc 2015-10-30 18:51:49 UTC (rev 10724)
@@ -20,22 +20,16 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Author:
- * Yuning Chai
- * Felix Schulthess
+ * Fabien Vultier
* Co-authors:
- * Reto Grieder
- * Wolfgang Roenninger
+ * ...
*
*/
#include "HUDWeaponSystem.h"
-#include <OgreOverlayManager.h>
-#include <OgrePanelOverlayElement.h>
-
#include "core/CoreIncludes.h"
#include "core/XMLPort.h"
-#include "tools/TextureGenerator.h"
#include "weaponsystem/WeaponSystem.h"
#include "weaponsystem/WeaponPack.h"
#include "weaponsystem/Weapon.h"
@@ -72,16 +66,6 @@
XMLPortParam(HUDWeaponSystem, "weaponModeHUDSize", setWeaponModeHUDSize, getWeaponModeHUDSize, xmlelement, mode);
}
- void HUDWeaponSystem::tick(float dt)
- {
- SUPER(HUDWeaponSystem, tick, dt);
-
- if (this->owner_)
- {
-
- }
- }
-
void HUDWeaponSystem::positionChanged()
{
OrxonoxOverlay::positionChanged();
@@ -110,22 +94,16 @@
void HUDWeaponSystem::changedOverlayGroup()
{
SUPER(HUDWeaponSystem, changedOverlayGroup);
-
- //this->getOverlayGroup()->addElement(this->textOverlay_.get());
}
void HUDWeaponSystem::changedVisibility()
{
SUPER(HUDWeaponSystem, changedVisibility);
-
- //this->textOverlay_->setVisible(this->isVisible());
}
void HUDWeaponSystem::changedName()
{
SUPER(HUDWeaponSystem, changedName);
-
- //this->textOverlay_->setName(this->getName() + "text");
}
void HUDWeaponSystem::updateWeaponList()
@@ -177,14 +155,11 @@
void HUDWeaponSystem::positionHUDChilds()
{
int positionIndex = 0;
- //this->setSize(weaponModeHUDSize_);
- // this->weaponModeHUDActualSize_ = this->getActualSize();
for (std::vector<WeakPtr<HUDWeapon> >::iterator it = hudWeapons_.begin(); it != hudWeapons_.end(); ++it)
{
(*it)->setWeaponIndex(positionIndex);
(*it)->setWeaponModeHUDActualSize(this->weaponModeHUDActualSize_);
- (*it)->positionHUDChilds();
++ positionIndex;
}
Modified: code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponSystem.h
===================================================================
--- code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponSystem.h 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/modules/overlays/hud/HUDWeaponSystem.h 2015-10-30 18:51:49 UTC (rev 10724)
@@ -35,29 +35,20 @@
#include <vector>
#include <string>
-#include <OgreOverlayManager.h>
-#include <OgreMaterialManager.h>
-#include <OgreTechnique.h>
-#include <OgrePass.h>
-#include <OgrePanelOverlayElement.h>
-
#include "overlays/OrxonoxOverlay.h"
-#include "overlays/OverlayText.h"
-#include "tools/interfaces/Tickable.h"
#include "worldentities/pawns/Pawn.h"
#include "overlays/OverlayGroup.h"
#include "HUDWeapon.h"
namespace orxonox
{
- class _OverlaysExport HUDWeaponSystem : public OrxonoxOverlay, public Tickable
+ class _OverlaysExport HUDWeaponSystem : public OrxonoxOverlay
{
public:
HUDWeaponSystem(Context* context);
virtual ~HUDWeaponSystem();
virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
- virtual void tick(float dt);
virtual void changedOwner();
virtual void changedOverlayGroup();
virtual void changedVisibility();
Added: code/branches/fabienHS15/src/modules/pickup/items/BoostPickup.cc
===================================================================
--- code/branches/fabienHS15/src/modules/pickup/items/BoostPickup.cc (rev 0)
+++ code/branches/fabienHS15/src/modules/pickup/items/BoostPickup.cc 2015-10-30 18:51:49 UTC (rev 10724)
@@ -0,0 +1,147 @@
+/*
+ * ORXONOX - the hottest 3D action shooter ever to exist
+ * > www.orxonox.net <
+ *
+ *
+ * License notice:
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Author:
+ * Fabien Vultier
+ * Co-authors:
+ * ...
+ *
+ */
+
+/**
+ @file BoostPickup.cc
+ @brief Implementation of the BoostPickup class.
+*/
+
+#include "BoostPickup.h"
+
+#include <sstream>
+#include "core/CoreIncludes.h"
+#include "core/XMLPort.h"
+
+#include "worldentities/pawns/SpaceShip.h"
+
+namespace orxonox
+{
+ RegisterClass(BoostPickup);
+
+ /**
+ @brief
+ Constructor. Registers the object and initializes the member variables.
+ */
+ BoostPickup::BoostPickup(Context* context) : Pickup(context)
+ {
+ RegisterObject(BoostPickup);
+
+ this->initialize();
+ }
+
+ /**
+ @brief
+ Destructor.
+ */
+ BoostPickup::~BoostPickup()
+ {
+ }
+
+ /**
+ @brief
+ Initializes the member variables.
+ */
+ void BoostPickup::initialize(void)
+ {
+ this->boostRefill_ = 0.0f;
+ //Defines who is allowed to pick up the pickup.
+ this->addTarget(ClassIdentifier<SpaceShip>::getIdentifier());
+ }
+
+ /**
+ @brief
+ Method for creating a BoostPickup object through XML.
+ */
+ void BoostPickup::XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode)
+ {
+ SUPER(BoostPickup, XMLPort, xmlelement, mode);
+
+ XMLPortParam(BoostPickup, "boostrefill", setBoostRefill, getBoostRefill, xmlelement, mode);
+ }
+
+ /**
+ @brief
+ Set the boost refill of this pickup.
+ */
+ void BoostPickup::setBoostRefill(float boostRefill)
+ {
+ if(boostRefill >= 0.0f && boostRefill <= 1.0f)
+ {
+ this->boostRefill_ = boostRefill;
+ }
+ }
+
+ /**
+ @brief
+ Is called when the pickup has transisted from used to unused or the other way around.
+ */
+ void BoostPickup::changedUsed(void)
+ {
+ SUPER(BoostPickup, changedUsed);
+
+ SpaceShip* ship = this->carrierToSpaceShipHelper();
+ if(ship == NULL) // If the PickupCarrier is no SpaceShip, then this pickup is useless and therefore is destroyed.
+ this->Pickupable::destroy();
+
+ // If the pickup has transited to used.
+ if(this->isUsed())
+ {
+ float gainedBoostPower = ship->getInitialBoostPower() * boostRefill_;
+ ship->gainBoostPower(gainedBoostPower);
+
+ // This will destroy the pickp
+ this->setUsed(false);
+ }
+ else
+ {
+ this->Pickupable::destroy();
+ }
+ }
+
+ /**
+ @brief
+ Helper to transform the PickupCarrier to a SpaceShip, and throw an error message if the conversion fails.
+ @return
+ A pointer to the SpaceShip, or NULL if the conversion failed.
+ */
+ SpaceShip* BoostPickup::carrierToSpaceShipHelper(void)
+ {
+ PickupCarrier* carrier = this->getCarrier();
+ SpaceShip* ship = orxonox_cast<SpaceShip*>(carrier);
+
+ if(ship == NULL)
+ {
+ orxout(internal_error, context::pickups) << "Invalid PickupCarrier in BoostPickup." << endl;
+ }
+
+ return ship;
+ }
+
+
+}
+
Added: code/branches/fabienHS15/src/modules/pickup/items/BoostPickup.h
===================================================================
--- code/branches/fabienHS15/src/modules/pickup/items/BoostPickup.h (rev 0)
+++ code/branches/fabienHS15/src/modules/pickup/items/BoostPickup.h 2015-10-30 18:51:49 UTC (rev 10724)
@@ -0,0 +1,72 @@
+/*
+ * ORXONOX - the hottest 3D action shooter ever to exist
+ * > www.orxonox.net <
+ *
+ *
+ * License notice:
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Author:
+ * Fabien Vultier
+ * Co-authors:
+ * ...
+ *
+ */
+
+/**
+ @file BoostPickup.h
+ @brief Declaration of the BoostPickup class.
+ @ingroup PickupItems
+*/
+
+#ifndef _BoostPickup_H__
+#define _BoostPickup_H__
+
+#include "pickup/PickupPrereqs.h"
+
+#include <string>
+
+#include "pickup/Pickup.h"
+
+namespace orxonox
+{
+
+ class _PickupExport BoostPickup : public Pickup
+ {
+ public:
+
+ BoostPickup(Context* context); //!< Constructor.
+ virtual ~BoostPickup(); //!< Destructor.
+
+ virtual void XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode); //!< Method for creating a BoostPickup object through XML.
+
+ virtual void changedUsed(void); //!< Is called when the pickup has transited from used to unused or the other way around.
+ inline float getBoostRefill()
+ { return this->boostRefill_; }
+
+ protected:
+ void setBoostRefill(float boostRefill); //!< Sets the boost refill according to the XML.
+
+ private:
+ void initialize(void); //!< Initializes the member variables.
+ Pawn* carrierToPawnHelper(void); //!< Helper to transform the PickupCarrier to a Pawn, and throw an error message if the conversion fails.
+ SpaceShip* carrierToSpaceShipHelper(void); //!< Helper to transform the PickupCarrier to a SpaceShip, and throw an error message if the conversion fails.
+
+ float boostRefill_; //!< The amount of boost refilled by the user of the pickup. 1.0 means full refill, 0.5 means half refill.
+ };
+}
+
+#endif /* _BoostPickup_H__ */
Modified: code/branches/fabienHS15/src/modules/pickup/items/CMakeLists.txt
===================================================================
--- code/branches/fabienHS15/src/modules/pickup/items/CMakeLists.txt 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/modules/pickup/items/CMakeLists.txt 2015-10-30 18:51:49 UTC (rev 10724)
@@ -7,6 +7,7 @@
ShieldPickup.cc
ShrinkPickup.cc
DamageBoostPickup.cc
+ BoostPickup.cc
MunitionPickup.cc
MunitionContainer.cc
)
Modified: code/branches/fabienHS15/src/modules/pickup/items/MunitionPickup.cc
===================================================================
--- code/branches/fabienHS15/src/modules/pickup/items/MunitionPickup.cc 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/modules/pickup/items/MunitionPickup.cc 2015-10-30 18:51:49 UTC (rev 10724)
@@ -110,7 +110,6 @@
if(pawn == NULL) // If the PickupCarrier is no Pawn, then this pickup is useless and therefore is destroyed.
this->Pickupable::destroy();
-
// If the pickup has transited to used.
if(this->isUsed())
{
Modified: code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc
===================================================================
--- code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/modules/weapons/munitions/LaserMunition.cc 2015-10-30 18:51:49 UTC (rev 10724)
@@ -42,7 +42,7 @@
{
RegisterObject(LaserMunition);
- this->maxMunitionPerMagazine_ = 10;
+ this->maxMunitionPerMagazine_ = 20;
this->maxMagazines_ = 10;
this->magazines_ = 10;
@@ -54,6 +54,6 @@
this->replenishInterval_ = 0.5f;
this->replenishMunitionAmount_ = 1;
- this->reloadTime_ = 0.8f;
+ this->reloadTime_ = 0.5f;
}
}
Modified: code/branches/fabienHS15/src/orxonox/overlays/OrxonoxOverlay.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/overlays/OrxonoxOverlay.cc 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/orxonox/overlays/OrxonoxOverlay.cc 2015-10-30 18:51:49 UTC (rev 10724)
@@ -449,4 +449,12 @@
Ogre::TextureUnitState* tempTx = ptr->getTechnique(0)->getPass(0)->getTextureUnitState(0);
tempTx->setColourOperationEx(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, colour);
}
+
+ void OrxonoxOverlay::setZOrder(unsigned short order)
+ {
+ if (this->overlay_)
+ {
+ this->overlay_->setZOrder(order);
+ }
+ }
}
Modified: code/branches/fabienHS15/src/orxonox/overlays/OrxonoxOverlay.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/overlays/OrxonoxOverlay.h 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/orxonox/overlays/OrxonoxOverlay.h 2015-10-30 18:51:49 UTC (rev 10724)
@@ -185,6 +185,7 @@
{ return this->group_; }
virtual void changedOverlayGroup()
{ this->changedVisibility(); }
+ virtual void setZOrder(unsigned short order);
protected:
virtual void angleChanged();
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.cc 2015-10-30 18:51:49 UTC (rev 10724)
@@ -350,7 +350,7 @@
}
// If there was no change in a loop, all magazines are full (or locked due to loading)
- // Because the first loop does not stat at the beginning of the map we have to treat is separately
+ // Because the first loop does not start at the beginning of the map we have to treat is separately
if (!change && !firstLoop)
{
break;
Modified: code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/orxonox/weaponsystem/Munition.h 2015-10-30 18:51:49 UTC (rev 10724)
@@ -77,11 +77,10 @@
{ return this->maxMagazines_; }
inline unsigned int getMaxMunitionPerMagazine() const
{ return this->maxMunitionPerMagazine_; }
- inline bool getUseSeparateMagazines() const
- { return deployment_ == MunitionDeployment::Separate; }
- inline bool getStackMunition() const
- { return deployment_ == MunitionDeployment::Stack; }
+ inline MunitionDeployment::Value getMunitionDeployment() const
+ { return deployment_; }
+
bool canTakeMunition(unsigned int amount, WeaponMode* user) const;
bool takeMunition(unsigned int amount, WeaponMode* user);
Modified: code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.cc 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.cc 2015-10-30 18:51:49 UTC (rev 10724)
@@ -296,6 +296,24 @@
this->resetCamera();
}
}
+
+ void SpaceShip::gainBoostPower(float gainedBoostPower)
+ {
+ this->boostPower_ += gainedBoostPower;
+
+ if (this->boostPower_ > this->initialBoostPower_)
+ {
+ this->boostPower_ = this->initialBoostPower_;
+ }
+
+ // If the booster is in cooldown mode and we gained boost power, the abort the cooldown.
+ if (this->isBoostCoolingDown() && this->boostPower_ > 0.0f)
+ {
+ timer_.stopTimer();
+ this->boostCooledDown();
+ }
+ }
+
/**
@brief
Add an Engine to the SpaceShip.
Modified: code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.h
===================================================================
--- code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.h 2015-10-30 18:51:04 UTC (rev 10723)
+++ code/branches/fabienHS15/src/orxonox/worldentities/pawns/SpaceShip.h 2015-10-30 18:51:49 UTC (rev 10724)
@@ -249,6 +249,11 @@
*/
inline float getShakeAmplitude() const
{ return this->shakeAmplitude_; }
+ /**
+ @brief Add boost power. Is non-negative.
+ @return Returns the current boost power.
+ */
+ void gainBoostPower(float gainedBoostPower);
protected:
bool bInvertYAxis_;
More information about the Orxonox-commit
mailing list