diff --git a/resources/Schema/Entities/MovementTest.xml b/resources/Schema/Entities/MovementTest.xml index 8ad34c93..8a99df55 100644 --- a/resources/Schema/Entities/MovementTest.xml +++ b/resources/Schema/Entities/MovementTest.xml @@ -54,7 +54,10 @@ - + + 0.49999982118606567 + 2.5599997043609619 + sModels/Widgets/Lights/DirectionalLightWidget.mesh @@ -100,7 +103,7 @@ - + @@ -113,7 +116,7 @@ - + @@ -138,8 +141,7 @@ ActivateDeactiveShieldF - - 1 + true @@ -155,8 +157,8 @@ Models/Weapons/Blue/DefenderWeaponBlue.mesh - - + + diff --git a/resources/Schema/Entities/PlayerAssaultBlue.xml b/resources/Schema/Entities/PlayerAssaultBlue.xml index 8bceb701..cad75d5b 100644 --- a/resources/Schema/Entities/PlayerAssaultBlue.xml +++ b/resources/Schema/Entities/PlayerAssaultBlue.xml @@ -6,9 +6,7 @@ - - 0.5 - + @@ -31,7 +29,6 @@ - @@ -577,8 +574,8 @@ Schema/Entities/WeaponAssaultBlueWorld.xml - - + + @@ -598,8 +595,8 @@ Schema/Entities/SidearmWeaponWorld.xml - - + + @@ -644,7 +641,7 @@ - ReloadSwitchBlend + UpperBody FinalMovementBlend @@ -706,8 +703,7 @@ CrouchStrafeLeftF - - 1 + true @@ -718,8 +714,7 @@ CrouchStrafeRightF - - 1 + true @@ -732,8 +727,7 @@ CrouchWalkF - - 1 + true @@ -747,7 +741,6 @@ CrouchF - 1 @@ -789,8 +782,7 @@ WalkF - - 1 + true @@ -801,8 +793,7 @@ RunF - - 1 + true @@ -825,8 +816,7 @@ StrafeLeftF - - 1 + true @@ -837,8 +827,7 @@ StrafeRightF - - 1 + true @@ -853,8 +842,7 @@ IdleF - - 1 + true @@ -881,7 +869,6 @@ JumpF - 1 false @@ -976,105 +963,58 @@ - + - ReloadSwitch - WeaponActionBlend - 1 - true + Idle + FireReload - + - ReloadSwitchU - - 1 + IdleAssaultRifleU + + true - + - IdleBlend - ShootBlend + Fire + Reload 0 + true - + - - IdlePrimary - IdleSecondary - 0 - + + ReloadSwitchU + + 0.5 + false + - - - - - IdleAssaultRifleU - - 1 - true - - - - - - - - - IdleSecWepU - - 1 - true - - - - - - + - + - - ShootPrimary - ShootSecondary - 0 - + + ShootFastRifleU + + - - - - - ShootFastRifleU - - 1 - - - - - - - - - ShootSecWepFastU - - - - - - + diff --git a/resources/Schema/Entities/ShootingRange.xml b/resources/Schema/Entities/ShootingRange.xml new file mode 100644 index 00000000..a05403c0 --- /dev/null +++ b/resources/Schema/Entities/ShootingRange.xml @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + Models/Core/UnitCylinder.mesh + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/Schema/Entities/ThirdPersonBlendTree.xml b/resources/Schema/Entities/ThirdPersonBlendTree.xml new file mode 100644 index 00000000..eb6f319e --- /dev/null +++ b/resources/Schema/Entities/ThirdPersonBlendTree.xml @@ -0,0 +1,528 @@ + + + + + + BlendTreeAim + BlendTreeAssault + + + + + Models/Characters/Assault/AssaultBlue.mesh + + + + + + + + + + R_Arm_Weapon_Joint + + + AssaultWeapon + + + + + + Schema/Entities/WeaponAssaultBlueWorld.xml + + + + + + + + + + + + R_Arm_Weapon_Joint + + + SidearmWeapon + + + + + + Schema/Entities/SidearmWeaponWorld.xml + + + + + + + + + + + + AimPrimary + AimSecondary + 0 + true + + + + + + + + AimSecWepA + + false + true + + + + + + + + + AimRifleA + + false + true + + + + + + + + + + + ReloadSwitchBlend + FinalMovementBlend + + + + + + + + StandCrouchBlend + JumpDashBlend + 2.5146881298480398e-63 + true + + + + + + + + StandMovement + CrouchMovement + 0 + true + + + + + + + + MovementBlend + Idle + 1 + + + + + + + + Walk + StrafeLRBlend + 0 + + + + + + + + Left + Right + 0.033793529385008014 + + + + + + + + CrouchStrafeLeftF + + true + + + + + + + + + CrouchStrafeRightF + + true + + + + + + + + + + + CrouchWalkF + + true + + + + + + + + + + + CrouchF + + + + + + + + + + + + MovementBlend + Idle + 1 + + + + + + + + RunWalkBlend + StrafeLRBlend + 0 + + + + + + + + Walk + Run + 1 + + + + + + + + WalkF + + true + + + + + + + + + RunF + + true + true + + + + + + + + + + + Left + Right + 0.033793529385008014 + + + + + + + + StrafeLeftF + + true + + + + + + + + + StrafeRightF + + true + + + + + + + + + + + + + IdleF + + true + + + + + + + + + + + + + Jump + DashBlend + 1 + true + + + + + + + + JumpF + + false + + + + + + + + + DashFBBlend + DashLRBlend + 0.014621149736541383 + + + + + + + + DashForward + DashBackward + 0.014363533804961248 + + + + + + + + DashForwardF + + 2 + false + + + + + + + + + DashBackwardF + + 2 + false + + + + + + + + + + + DashLeft + DashRight + 4.3244885367500671e-16 + + + + + + + + DashLeftF + + 2 + false + + + + + + + + + DashRightF + + 2 + false + + + + + + + + + + + + + + + + + ReloadSwitch + WeaponActionBlend + 1 + true + + + + + + + + ReloadSwitchU + + + + + + + + + + IdleBlend + ShootBlend + 0 + + + + + + + + IdlePrimary + IdleSecondary + 0 + + + + + + + + IdleAssaultRifleU + + true + + + + + + + + + IdleSecWepU + + true + + + + + + + + + + + ShootPrimary + ShootSecondary + 0 + + + + + + + + ShootFastRifleU + + + + + + + + + + ShootSecWepFastU + + + + + + + + + + + + + + + + diff --git a/src/Game/Systems/PlayerMovementSystem.cpp b/src/Game/Systems/PlayerMovementSystem.cpp index 96061079..99edef2c 100644 --- a/src/Game/Systems/PlayerMovementSystem.cpp +++ b/src/Game/Systems/PlayerMovementSystem.cpp @@ -81,23 +81,22 @@ void PlayerMovementSystem::updateMovementControllers(double dt) cameraOrientation.x += controller->Rotation().x; // Limit camera pitch so we don't break our necks cameraOrientation.x = glm::clamp(cameraOrientation.x, -glm::half_pi(), glm::half_pi()); + // Set third person model aim pitch EntityWrapper playerModel = player.FirstChildByName("PlayerModel"); - - //Third-person aim if (playerModel.Valid()) { EntityWrapper aimPrimaryEntity = playerModel.FirstChildByName("AimPrimary"); if(aimPrimaryEntity.Valid()){ if(aimPrimaryEntity.HasComponent("Animation")) { - float pitch = cameraOrientation.x + 0.2f; - double time = (pitch + glm::half_pi()) / glm::pi(); + float pitch = cameraOrientation.x; + double time = ((pitch + glm::half_pi()) / glm::pi()); (double&)aimPrimaryEntity["Animation"]["Time"] = time; } } EntityWrapper aimSecondaryEntity = playerModel.FirstChildByName("AimSecondary"); if (aimSecondaryEntity.Valid()) { if (aimSecondaryEntity.HasComponent("Animation")) { - float pitch = cameraOrientation.x + 0.2f; + float pitch = cameraOrientation.x; double time = (pitch + glm::half_pi()) / glm::pi(); (double&)aimSecondaryEntity["Animation"]["Time"] = time; }