From 6b298630168ce889a3b5353b513c356b529743de Mon Sep 17 00:00:00 2001 From: austin Date: Thu, 29 Dec 2022 21:43:13 -0500 Subject: [PATCH] Airplane movement tree/jet asset --- assets/Data/creatures.json | 3 +- assets/Data/creatures/test.json | 154 +++++++++ assets/Data/objects/testscene1objects.json | 2 +- assets/Models/f15.fbx | Bin 0 -> 55708 bytes assets/Models/tank1.fbx | Bin 0 -> 75836 bytes assets/Models/testvalley.fbx | Bin 0 -> 30860 bytes assets/Textures/default_texture_map.json | 12 + assets/Textures/f15.png | Bin 0 -> 218583 bytes assets/Textures/grass1.png | Bin 0 -> 596 bytes .../controls/ControlHandler.java | 315 ++++++++++-------- .../electrosphere/engine/LoadingThread.java | 14 +- .../entity/state/AttackTree.java | 6 +- .../electrosphere/entity/state/IdleTree.java | 43 ++- .../state/movement/AirplaneMovementTree.java | 281 ++++++++++++++++ .../state/movement/GroundMovementTree.java | 3 +- .../entity/types/creature/CreatureUtils.java | 49 ++- .../type/movement/AirplaneMovementSystem.java | 35 ++ .../movement/MovementSystemSerializer.java | 2 + .../game/server/ai/creature/MillAbout.java | 4 +- .../server/ai/creature/MindlessAttacker.java | 2 +- .../ai/creature/OpportunisticAttacker.java | 2 +- .../game/simulation/MicroSimulation.java | 3 +- src/main/java/electrosphere/main/Main.java | 8 +- .../menu/MenuGeneratorsMultiplayer.java | 1 + .../java/electrosphere/renderer/Mesh.java | 199 ----------- .../renderer/ui/elements/ActorPanel.java | 7 +- 26 files changed, 774 insertions(+), 371 deletions(-) create mode 100644 assets/Data/creatures/test.json create mode 100644 assets/Models/f15.fbx create mode 100644 assets/Models/tank1.fbx create mode 100644 assets/Models/testvalley.fbx create mode 100644 assets/Textures/f15.png create mode 100644 assets/Textures/grass1.png create mode 100644 src/main/java/electrosphere/entity/state/movement/AirplaneMovementTree.java create mode 100644 src/main/java/electrosphere/game/data/creature/type/movement/AirplaneMovementSystem.java diff --git a/assets/Data/creatures.json b/assets/Data/creatures.json index 5f2d0aa7..6263514e 100644 --- a/assets/Data/creatures.json +++ b/assets/Data/creatures.json @@ -223,6 +223,7 @@ ], "files" : [ "Data/creatures/human.json", - "Data/creatures/elf.json" + "Data/creatures/elf.json", + "Data/creatures/test.json" ] } diff --git a/assets/Data/creatures/test.json b/assets/Data/creatures/test.json new file mode 100644 index 00000000..0f0be22c --- /dev/null +++ b/assets/Data/creatures/test.json @@ -0,0 +1,154 @@ +{ + "creatures" : [ + { + "creatureId" : "tank", + "hitboxes" : [ + { + "type": "hurt", + "bone": "Bone", + "radius": 0.04 + } + ], + "tokens" : [ + "ATTACKER", + "GRAVITY", + "TARGETABLE", + "OUTLINE", + "PLAYABLE" + ], + "visualAttributes" : [ + ], + "movementSystems" : [ + { + "type" : "GROUND", + "acceleration" : 10.0, + "maxVelocity" : 0.035, + "animationStartup" : { + "name" : "Idle1", + "length" : 1, + "loops" : false + }, + "animationLoop" : { + "name" : "Idle1", + "length" : 1, + "loops" : false + }, + "animationWindDown" : { + "name" : "Idle1", + "length" : 1, + "loops" : false + } + }, + { + "type" : "FALL", + "animationFall" : { + "name" : "Idle1", + "length" : 1, + "loops" : true + }, + "animationLand" : { + "name" : "Idle1", + "length" : 1, + "loops" : true + } + } + ], + "rotatorSystem" : { + "rotatorItems" : [ + { + "boneName" : "Bone", + "constraints" : [ + { + "followsView" : true, + "followsBone" : false, + "parentBone" : "", + "allowedMarginPitch" : 0.2 + } + ] + } + ] + }, + "equipPoints" : [ + ], + "collidable" : { + "type" : "CYLINDER", + "dimension1" : 0.1, + "dimension2" : 0.45, + "dimension3" : 0.1, + "offsetX" : 0, + "offsetY" : 0.45, + "offsetZ" : 0 + }, + "attackMoves" : [ + ], + "healthSystem" : { + "maxHealth" : 100, + "onDamageIFrames" : 30 + }, + "modelPath" : "Models/tank1.fbx" + }, + { + "creatureId" : "fighter", + "hitboxes" : [ + { + "type": "hurt", + "bone": "Bone", + "radius": 0.04 + } + ], + "tokens" : [ + "BLENDER_TRANSFORM", + "ATTACKER", + "GRAVITY", + "TARGETABLE", + "OUTLINE", + "PLAYABLE" + ], + "visualAttributes" : [ + ], + "movementSystems" : [ + { + "type" : "AIRPLANE", + "acceleration" : 10.0, + "maxVelocity" : 0.035, + "minVelocity": 0.001, + "maxRotationSpeed" : 1.0 + } + ], + "rotatorSystem" : { + "rotatorItems" : [ + { + "boneName" : "Bone", + "constraints" : [ + { + "followsView" : true, + "followsBone" : false, + "parentBone" : "", + "allowedMarginPitch" : 0.2 + } + ] + } + ] + }, + "equipPoints" : [ + ], + "collidable" : { + "type" : "CYLINDER", + "dimension1" : 0.1, + "dimension2" : 0.45, + "dimension3" : 0.1, + "offsetX" : 0, + "offsetY" : 0.45, + "offsetZ" : 0 + }, + "attackMoves" : [ + ], + "healthSystem" : { + "maxHealth" : 100, + "onDamageIFrames" : 30 + }, + "modelPath" : "Models/f15.fbx" + } + ], + "files" : [] +} \ No newline at end of file diff --git a/assets/Data/objects/testscene1objects.json b/assets/Data/objects/testscene1objects.json index 3379ffea..6748565a 100644 --- a/assets/Data/objects/testscene1objects.json +++ b/assets/Data/objects/testscene1objects.json @@ -3,7 +3,7 @@ { "objectId" : "terrain1", - "modelPath" : "Models/startingarea1.fbx", + "modelPath" : "Models/testvalley.fbx", "tokens" : [ "DISABLE_COLLISION_REACTION", "GENERATE_COLLISION_TERRAIN" diff --git a/assets/Models/f15.fbx b/assets/Models/f15.fbx new file mode 100644 index 0000000000000000000000000000000000000000..359683344260dac3b3d9c8f951a66abc454455e9 GIT binary patch literal 55708 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%0A8j literal 0 HcmV?d00001 diff --git a/assets/Models/tank1.fbx b/assets/Models/tank1.fbx new file mode 100644 index 0000000000000000000000000000000000000000..07fc5159b87aad61f94c4457c5fca91eb88d0ac0 GIT binary patch literal 75836 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 literal 0 HcmV?d00001 diff --git a/assets/Textures/default_texture_map.json b/assets/Textures/default_texture_map.json index a00164dc..15316cdd 100644 --- a/assets/Textures/default_texture_map.json +++ b/assets/Textures/default_texture_map.json @@ -413,6 +413,18 @@ "/Textures/floatingisland1.png", "/Textures/floatingisland1.png" ] + }, + "Models/testvalley.fbx" : { + "Plane.001" : [ + "/Textures/grass1.png", + "/Textures/grass1.png" + ] + }, + "Models/f15.fbx" : { + "Cube.001" : [ + "/Textures/f15.png", + "/Textures/f15.png" + ] } } } \ No newline at end of file diff --git a/assets/Textures/f15.png b/assets/Textures/f15.png new file mode 100644 index 0000000000000000000000000000000000000000..ca9844cbc019a6c87f79b65b48dc35b6beb657ab GIT binary patch literal 218583 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%0DMi5ZFdE3@Sku|E7}Bi8tNNbZMH5!pdtMGq{ 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 J;?uUb{vXU;(EI=Z literal 0 HcmV?d00001 diff --git a/assets/Textures/grass1.png b/assets/Textures/grass1.png new file mode 100644 index 0000000000000000000000000000000000000000..51aacd1cc67f2e4b33f5f0f35c194ef373457b65 GIT binary patch literal 596 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1SBWM%0FXZU~I{Bb`J1#c2+1T%1_J8No8Qr zm{>c}*5j~)%+dJZrAnfL)*TipD@r#iXg$&h)oE(I6qa%I;FC-G8J8w3*nm5IeNK*&#vQixT>Qp+TVHe z&MJutR{>@LgSL(%KDHC%&KxMNxqJBd_1zlhKiPeM{v!C38gq@(N14mK-4)FhX_qfq zz87wf@C@oW-+7#Om%>No>#5W4TZqewRivFbvE*5&^O2;D%}@E#RGn4lsqtyAa{K9Y zEw%NtSo+qWe<$9*|z@{ zLz=zk`t4gk2wvFF8xynLw32_v9mckKB_}7yob(UY5NY^s{A-zvK?V1hbvyTN{Z{yk zA!Wttr_v7|2y}>OR^NSm*LLpSztzjG-shhyR4nJ=qZCRW5rVY zGN2%PiKnkC`!gOvCT;bPNy00DLXst}5hc#~xw)x%B@E6*sfi`2DGKG8B^e6tp1uL$ zjeO!jMRuMpjv*0;-<~sMWH8`hP>9v?o^dnF`@wrg&J(lxs^jJ?S&AEM{b^jqxI$s3 R*+-yB44$rjF6*2UngA(J{we?f literal 0 HcmV?d00001 diff --git a/src/main/java/electrosphere/controls/ControlHandler.java b/src/main/java/electrosphere/controls/ControlHandler.java index 4717cda2..187ac68b 100644 --- a/src/main/java/electrosphere/controls/ControlHandler.java +++ b/src/main/java/electrosphere/controls/ControlHandler.java @@ -76,6 +76,7 @@ import electrosphere.controls.Control.ControlMethod; import electrosphere.controls.Control.ControlType; import electrosphere.entity.Entity; import electrosphere.entity.state.AttackTree; +import electrosphere.entity.state.BehaviorTree; import electrosphere.entity.state.equip.EquipState; import electrosphere.entity.state.inventory.InventoryUtils; import electrosphere.entity.state.inventory.UnrelationalInventoryState; @@ -418,46 +419,55 @@ public class ControlHandler { mainGameControlList.add(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD)); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).setOnPress(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).isState()){ - Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI/4.0).normalize(); - CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); - movementTree.start(MovementRelativeFacing.FORWARD); - } else if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).isState()){ - Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(-Math.PI/4.0).normalize(); - CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); - movementTree.start(MovementRelativeFacing.FORWARD); - } else { - Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).normalize(); - CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); - movementTree.start(MovementRelativeFacing.FORWARD); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).isState()){ + Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI/4.0).normalize(); + CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); + groundTree.start(MovementRelativeFacing.FORWARD); + } else if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).isState()){ + Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(-Math.PI/4.0).normalize(); + CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); + groundTree.start(MovementRelativeFacing.FORWARD); + } else { + Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).normalize(); + CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); + groundTree.start(MovementRelativeFacing.FORWARD); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).setOnRepeat(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).isState()){ - Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI/4.0).normalize(); - CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); - movementTree.start(MovementRelativeFacing.FORWARD); - } else if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).isState()){ - Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(-Math.PI/4.0).normalize(); - CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); - movementTree.start(MovementRelativeFacing.FORWARD); - } else { - Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).normalize(); - CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); - movementTree.start(MovementRelativeFacing.FORWARD); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).isState()){ + Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI/4.0).normalize(); + CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); + groundTree.start(MovementRelativeFacing.FORWARD); + } else if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).isState()){ + Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(-Math.PI/4.0).normalize(); + CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); + groundTree.start(MovementRelativeFacing.FORWARD); + } else { + Vector3d newFacingVector = new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).normalize(); + CreatureUtils.setFacingVector(Globals.playerEntity, newFacingVector); + groundTree.start(MovementRelativeFacing.FORWARD); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).setOnRelease(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - movementTree.slowdown(); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + groundTree.slowdown(); + } } }}); /* @@ -466,40 +476,49 @@ public class ControlHandler { mainGameControlList.add(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD)); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).setOnPress(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).isState()){ - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(3.0/4.0*Math.PI).normalize()); - movementTree.start(MovementRelativeFacing.FORWARD); - } else if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).isState()){ - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(5.0/4.0*Math.PI).normalize()); - movementTree.start(MovementRelativeFacing.FORWARD); - } else { - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI).normalize()); - movementTree.start(MovementRelativeFacing.FORWARD); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).isState()){ + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(3.0/4.0*Math.PI).normalize()); + groundTree.start(MovementRelativeFacing.FORWARD); + } else if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).isState()){ + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(5.0/4.0*Math.PI).normalize()); + groundTree.start(MovementRelativeFacing.FORWARD); + } else { + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI).normalize()); + groundTree.start(MovementRelativeFacing.FORWARD); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).setOnRepeat(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).isState()){ - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(3.0/4.0*Math.PI).normalize()); - movementTree.start(MovementRelativeFacing.FORWARD); - } else if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).isState()){ - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(5.0/4.0*Math.PI).normalize()); - movementTree.start(MovementRelativeFacing.FORWARD); - } else { - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI).normalize()); - movementTree.start(MovementRelativeFacing.FORWARD); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).isState()){ + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(3.0/4.0*Math.PI).normalize()); + groundTree.start(MovementRelativeFacing.FORWARD); + } else if(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).isState()){ + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(5.0/4.0*Math.PI).normalize()); + groundTree.start(MovementRelativeFacing.FORWARD); + } else { + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI).normalize()); + groundTree.start(MovementRelativeFacing.FORWARD); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).setOnRelease(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - movementTree.slowdown(); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + groundTree.slowdown(); + } } }}); /* @@ -508,34 +527,43 @@ public class ControlHandler { mainGameControlList.add(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT)); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).setOnPress(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - if( - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) - ){ - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI/2.0).normalize()); - movementTree.start(MovementRelativeFacing.FORWARD); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + if( + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) + ){ + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI/2.0).normalize()); + groundTree.start(MovementRelativeFacing.FORWARD); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).setOnRepeat(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - if( - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) - ){ - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI/2.0).normalize()); - movementTree.start(MovementRelativeFacing.FORWARD); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + if( + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) + ){ + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI/2.0).normalize()); + groundTree.start(MovementRelativeFacing.FORWARD); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_LEFT).setOnRelease(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - movementTree.slowdown(); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + groundTree.slowdown(); + } } }}); /* @@ -544,34 +572,43 @@ public class ControlHandler { mainGameControlList.add(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT)); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).setOnPress(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - if( - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) - ){ - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(-Math.PI/2.0).normalize()); - movementTree.start(MovementRelativeFacing.FORWARD); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + if( + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) + ){ + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(-Math.PI/2.0).normalize()); + groundTree.start(MovementRelativeFacing.FORWARD); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).setOnRepeat(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - if( - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) - ){ - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(-Math.PI/2.0).normalize()); - movementTree.start(MovementRelativeFacing.FORWARD); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + if( + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) + ){ + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(-Math.PI/2.0).normalize()); + groundTree.start(MovementRelativeFacing.FORWARD); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_RIGHT).setOnRelease(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - movementTree.slowdown(); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + groundTree.slowdown(); + } } }}); @@ -589,36 +626,45 @@ public class ControlHandler { mainGameControlList.add(controls.get(DATA_STRING_INPUT_CODE_STRAFE_LEFT)); controls.get(DATA_STRING_INPUT_CODE_STRAFE_LEFT).setOnPress(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z)); - if( - (movementTree.getState()==MovementTreeState.IDLE || movementTree.getState()==MovementTreeState.SLOWDOWN) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) - ){ - movementTree.start(MovementRelativeFacing.LEFT); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z)); + if( + (groundTree.getState()==MovementTreeState.IDLE || groundTree.getState()==MovementTreeState.SLOWDOWN) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) + ){ + groundTree.start(MovementRelativeFacing.LEFT); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_STRAFE_LEFT).setOnRepeat(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z)); - if( - (movementTree.getState()==MovementTreeState.IDLE || movementTree.getState()==MovementTreeState.SLOWDOWN) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) - ){ - movementTree.start(MovementRelativeFacing.LEFT); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z)); + if( + (groundTree.getState()==MovementTreeState.IDLE || groundTree.getState()==MovementTreeState.SLOWDOWN) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) + ){ + groundTree.start(MovementRelativeFacing.LEFT); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_STRAFE_LEFT).setOnRelease(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - movementTree.slowdown(); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + groundTree.slowdown(); + } } }}); /* @@ -627,36 +673,45 @@ public class ControlHandler { mainGameControlList.add(controls.get(DATA_STRING_INPUT_CODE_STRAFE_RIGHT)); controls.get(DATA_STRING_INPUT_CODE_STRAFE_RIGHT).setOnPress(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z)); - if( - (movementTree.getState()==MovementTreeState.IDLE || movementTree.getState()==MovementTreeState.SLOWDOWN) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) - ){ - movementTree.start(MovementRelativeFacing.RIGHT); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z)); + if( + (groundTree.getState()==MovementTreeState.IDLE || groundTree.getState()==MovementTreeState.SLOWDOWN) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) + ){ + groundTree.start(MovementRelativeFacing.RIGHT); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_STRAFE_RIGHT).setOnRepeat(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); - CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z)); - if( - (movementTree.getState()==MovementTreeState.IDLE || movementTree.getState()==MovementTreeState.SLOWDOWN) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && - (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) - ){ - movementTree.start(MovementRelativeFacing.RIGHT); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + CreatureUtils.setFacingVector(Globals.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z)); + if( + (groundTree.getState()==MovementTreeState.IDLE || groundTree.getState()==MovementTreeState.SLOWDOWN) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && + (controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controls.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) + ){ + groundTree.start(MovementRelativeFacing.RIGHT); + } } } }}); controls.get(DATA_STRING_INPUT_CODE_STRAFE_RIGHT).setOnRelease(new ControlMethod(){public void execute(){ if(Globals.playerEntity != null){ - GroundMovementTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); - movementTree.slowdown(); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(Globals.playerEntity); + if(movementTree instanceof GroundMovementTree){ + GroundMovementTree groundTree = (GroundMovementTree) movementTree; + groundTree.slowdown(); + } } }}); /* diff --git a/src/main/java/electrosphere/engine/LoadingThread.java b/src/main/java/electrosphere/engine/LoadingThread.java index 3ac7ecf9..27afc933 100644 --- a/src/main/java/electrosphere/engine/LoadingThread.java +++ b/src/main/java/electrosphere/engine/LoadingThread.java @@ -743,15 +743,15 @@ public class LoadingThread extends Thread { // OpportunisticAttacker.attachToCreature(goblin); //sword - Entity sword = ItemUtils.spawnBasicItem("Katana"); - EntityUtils.initiallyPositionEntity(sword, new Vector3d(1,0.4f,2)); - EntityUtils.getRotation(sword).set(new Quaternionf().rotationY((float)(Math.PI/2.0))); + // Entity sword = ItemUtils.spawnBasicItem("Katana"); + // EntityUtils.initiallyPositionEntity(sword, new Vector3d(1,0.4f,2)); + // EntityUtils.getRotation(sword).set(new Quaternionf().rotationY((float)(Math.PI/2.0))); //floating island 1 - Entity island1 = ObjectUtils.spawnBasicObject("floatingisland1"); - EntityUtils.getRotation(island1).set(new Quaternionf().rotationX(-(float)(Math.PI/2.0))); - EntityUtils.getScale(island1).set(0.3f); - EntityUtils.initiallyPositionEntity(island1, new Vector3d(5,0.5,5)); + // Entity island1 = ObjectUtils.spawnBasicObject("floatingisland1"); + // EntityUtils.getRotation(island1).set(new Quaternionf().rotationX(-(float)(Math.PI/2.0))); + // EntityUtils.getScale(island1).set(0.3f); + // EntityUtils.initiallyPositionEntity(island1, new Vector3d(5,0.5,5)); //work on ez volumetrics shader // Entity myCube = EntityUtils.spawnDrawableEntity("Models/unitcube.fbx"); diff --git a/src/main/java/electrosphere/entity/state/AttackTree.java b/src/main/java/electrosphere/entity/state/AttackTree.java index b7709ca0..ef7268cd 100644 --- a/src/main/java/electrosphere/entity/state/AttackTree.java +++ b/src/main/java/electrosphere/entity/state/AttackTree.java @@ -5,6 +5,7 @@ import electrosphere.entity.EntityDataStrings; import electrosphere.entity.EntityUtils; import electrosphere.entity.state.collidable.Impulse; import electrosphere.entity.state.equip.EquipState; +import electrosphere.entity.state.movement.GroundMovementTree; import electrosphere.entity.state.rotator.RotatorTree; import electrosphere.entity.types.attach.AttachUtils; import electrosphere.entity.types.collision.CollisionObjUtils; @@ -116,7 +117,10 @@ public class AttackTree { currentMoveCanHold = currentMove.getHoldAnimationName() != null; //stop movement tree if(parent.containsKey(EntityDataStrings.DATA_STRING_MOVEMENT_BT)){ - CreatureUtils.getEntityMovementTree(parent).interrupt(); + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(parent); + if(movementTree instanceof GroundMovementTree){ + ((GroundMovementTree)movementTree).interrupt(); + } } Vector3d movementVector = CreatureUtils.getFacingVector(parent); EntityUtils.getRotation(parent).rotationTo(new Vector3f(0,0,1), new Vector3f((float)movementVector.x,(float)movementVector.y,(float)movementVector.z)); diff --git a/src/main/java/electrosphere/entity/state/IdleTree.java b/src/main/java/electrosphere/entity/state/IdleTree.java index 4b4b7d25..a327f35c 100644 --- a/src/main/java/electrosphere/entity/state/IdleTree.java +++ b/src/main/java/electrosphere/entity/state/IdleTree.java @@ -1,5 +1,6 @@ package electrosphere.entity.state; +import electrosphere.entity.state.movement.AirplaneMovementTree; import electrosphere.entity.state.movement.GroundMovementTree; import electrosphere.entity.Entity; import electrosphere.entity.EntityDataStrings; @@ -7,6 +8,7 @@ import electrosphere.entity.EntityUtils; import electrosphere.entity.state.AttackTree.AttackTreeState; import electrosphere.entity.state.movement.GroundMovementTree.MovementTreeState; import electrosphere.entity.types.creature.CreatureUtils; +import electrosphere.main.Globals; import electrosphere.net.parser.net.message.EntityMessage; import electrosphere.renderer.actor.Actor; import electrosphere.renderer.anim.Animation; @@ -57,11 +59,7 @@ public class IdleTree { public void simulate(){ Actor entityActor = EntityUtils.getActor(parent); - boolean hasMovementTree = parent.containsKey(EntityDataStrings.DATA_STRING_MOVEMENT_BT); - GroundMovementTree movementTree = null; - if(hasMovementTree){ - movementTree = CreatureUtils.getEntityMovementTree(parent); - } + boolean movementTreeIsIdle = movementTreeIsIdle(); boolean hasAttackTree = parent.containsKey(EntityDataStrings.ATTACK_TREE); AttackTree attackTree = null; @@ -76,7 +74,7 @@ public class IdleTree { switch(message.getMessageSubtype()){ case ATTACKUPDATE: switch(message.gettreeState()){ - case 0: + case 0: state = IdleTreeState.IDLE; break; case 1: @@ -106,16 +104,17 @@ public class IdleTree { switch(state){ case IDLE: if(entityActor != null){ - if(!entityActor.isPlayingAnimation() || !entityActor.isPlayingAnimation(Animation.ANIMATION_IDLE_1)){ + if( + (!entityActor.isPlayingAnimation() || !entityActor.isPlayingAnimation(Animation.ANIMATION_IDLE_1)) && + (Globals.assetManager.fetchModel(entityActor.getModelPath()) != null && Globals.assetManager.fetchModel(entityActor.getModelPath()).getAnimation(Animation.ANIMATION_IDLE_1) != null) + ){ entityActor.playAnimation(Animation.ANIMATION_IDLE_1,3); entityActor.incrementAnimationTime(0.0001); } } isIdle = true; - if(hasMovementTree){ - if(movementTree.getState() != MovementTreeState.IDLE){ - isIdle = false; - } + if(!movementTreeIsIdle){ + isIdle = false; } if(hasAttackTree){ if(attackTree.getState() != AttackTreeState.IDLE){ @@ -128,10 +127,8 @@ public class IdleTree { break; case NOT_IDLE: isIdle = true; - if(hasMovementTree){ - if(movementTree.getState() != MovementTreeState.IDLE){ - isIdle = false; - } + if(!movementTreeIsIdle){ + isIdle = false; } if(hasAttackTree){ if(attackTree.getState() != AttackTreeState.IDLE){ @@ -145,6 +142,22 @@ public class IdleTree { } } + boolean movementTreeIsIdle(){ + boolean rVal = false; + boolean hasMovementTree = parent.containsKey(EntityDataStrings.DATA_STRING_MOVEMENT_BT); + if(hasMovementTree){ + BehaviorTree movementTree = CreatureUtils.getEntityMovementTree(parent); + if(movementTree instanceof GroundMovementTree){ + if(((GroundMovementTree)movementTree).getState() == MovementTreeState.IDLE){ + rVal = true; + } + } else if(movementTree instanceof AirplaneMovementTree){ + rVal = false; + } + } + return rVal; + } + public void addNetworkMessage(EntityMessage networkMessage) { networkMessageQueue.add(networkMessage); } diff --git a/src/main/java/electrosphere/entity/state/movement/AirplaneMovementTree.java b/src/main/java/electrosphere/entity/state/movement/AirplaneMovementTree.java new file mode 100644 index 00000000..64099cf1 --- /dev/null +++ b/src/main/java/electrosphere/entity/state/movement/AirplaneMovementTree.java @@ -0,0 +1,281 @@ +package electrosphere.entity.state.movement; + +import java.util.concurrent.CopyOnWriteArrayList; + +import org.joml.Quaternionf; +import org.joml.Vector3d; +import org.joml.Vector3f; + +import electrosphere.entity.Entity; +import electrosphere.entity.EntityUtils; +import electrosphere.entity.state.BehaviorTree; +import electrosphere.entity.state.collidable.Impulse; +import electrosphere.entity.types.camera.CameraEntityUtils; +import electrosphere.entity.types.creature.CreatureUtils; +import electrosphere.game.collision.collidable.Collidable; +import electrosphere.main.Globals; +import electrosphere.main.Main; +import electrosphere.net.parser.net.message.EntityMessage; +import electrosphere.renderer.actor.Actor; +import electrosphere.renderer.anim.Animation; + +public class AirplaneMovementTree implements BehaviorTree { + + public static enum AirplaneMovementTreeState { + ACCELERATING, + DECELERATING, + } + + float minVelocity = 0; + float maxRotationSpeed = 1.0f; + + static final double STATE_DIFFERENCE_HARD_UPDATE_THRESHOLD = 1.0; + static final double STATE_DIFFERENCE_SOFT_UPDATE_THRESHOLD = 0.2; + static final double SOFT_UPDATE_MULTIPLIER = 0.1; + + AirplaneMovementTreeState state; + + Entity parent; + + Collidable collidable; + + CopyOnWriteArrayList networkMessageQueue = new CopyOnWriteArrayList(); + + //when the latest network message for this tree was received + //used to filter out packets before the most recent one + long lastUpdateTime = 0; + + + /** + * Constructs an airplane movement tree + * @param e The entity this tree will be attached to + * @param collidable The collidable of the entity that parents this tree + */ + public AirplaneMovementTree(Entity e, Collidable collidable){ + state = AirplaneMovementTreeState.ACCELERATING; + parent = e; + this.collidable = collidable; + } + + /** + * Simulates a step of the behavior tree + */ + public void simulate(){ + // + //Get important initial values + // + float velocity = CreatureUtils.getVelocity(parent); + float acceleration = CreatureUtils.getAcceleration(parent); + float maxNaturalVelocity = CreatureUtils.getMaxNaturalVelocity(parent); + Actor entityActor = EntityUtils.getActor(parent); + Vector3d position = EntityUtils.getPosition(parent); + Vector3d facingVector = CreatureUtils.getFacingVector(parent); + Quaternionf movementQuaternion = new Quaternionf().rotationTo(new Vector3f(0,0,1), new Vector3f((float)facingVector.x,0,(float)facingVector.z)).normalize(); + Quaternionf rotation = EntityUtils.getRotation(parent); + // + //handle network messages + // + for(EntityMessage message : networkMessageQueue){ + networkMessageQueue.remove(message); + long updateTime = message.gettime(); + switch(message.getMessageSubtype()){ + case MOVE: { + if(Globals.RUN_CLIENT){ + position.set(message.getpositionX(), message.getpositionY(), message.getpositionZ()); + } + } break; + //received a message to update the tree + case MOVEUPDATE: { + if(updateTime > lastUpdateTime){ + lastUpdateTime = updateTime; + //update the behavior tree state + switch(message.gettreeState()){ + case 0: + state = AirplaneMovementTreeState.ACCELERATING; + break; + case 1: + state = AirplaneMovementTreeState.DECELERATING; + break; + } + //if we're the client snap to the reported position as appropriate + if(!Globals.RUN_SERVER){ + if(position.distance(message.getpositionX(),message.getpositionY(),message.getpositionZ()) > STATE_DIFFERENCE_HARD_UPDATE_THRESHOLD){ + EntityUtils.getPosition(parent).set(message.getpositionX(),message.getpositionY(),message.getpositionZ()); + } else if(position.distance(message.getpositionX(),message.getpositionY(),message.getpositionZ()) > STATE_DIFFERENCE_SOFT_UPDATE_THRESHOLD){ + EntityUtils.getPosition(parent).add(new Vector3d(message.getpositionX(),message.getpositionY(),message.getpositionZ()).mul(SOFT_UPDATE_MULTIPLIER)); + } + } + //we want to always update the server facing vector with where the client says they're facing + CreatureUtils.setFacingVector(parent, new Vector3d(message.getrotationX(),message.getrotationY(),message.getrotationZ())); + } + } break; + case SETBEHAVIORTREE: { + + } break; + case SETFACING: { + + } break; + case SETPOSITION: { + + } break; + case ATTACHENTITYTOENTITY: + case ATTACKUPDATE: + case CREATE: + case DESTROY: + case KILL: + case SETPROPERTY: + case SPAWNCREATURE: + case SPAWNITEM: + //do nothing + break; + } + } + // + // Actual simulation + // + switch(state){ + case ACCELERATING: { + //velocity calculation + velocity = velocity + acceleration; + if(velocity > maxNaturalVelocity){ + velocity = maxNaturalVelocity; + } + CreatureUtils.setVelocity(parent, velocity); + //update rotation + updateRotation(rotation,facingVector); + //add movement impulse + addMovementForce(velocity,facingVector,collidable); + //if server, update all clients to simulation changes + serverUpdateTree(position,facingVector,velocity); + } break; + case DECELERATING: { + //velocity calculation + velocity = velocity - acceleration; + if(velocity < minVelocity){ + velocity = minVelocity; + } + CreatureUtils.setVelocity(parent, velocity); + //update rotation + updateRotation(rotation,facingVector); + //add movement impulse + addMovementForce(velocity,facingVector,collidable); + //if server, update all clients to simulation changes + serverUpdateTree(position,facingVector,velocity); + } break; + } + } + + /** + * Updates the rotation of the airplane + * @param rotation Rotation quaternion + * @param rotationVector Rotation vector + */ + void updateRotation(Quaternionf rotation, Vector3d rotationVector){ + if(Globals.RUN_CLIENT && this.parent == Globals.playerEntity){ + Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + rotationVector.set(new Vector3f((float)rotationVector.x,(float)rotationVector.y,(float)rotationVector.z).mul(1.0f - this.maxRotationSpeed).add(new Vector3f(cameraEyeVector).mul(-this.maxRotationSpeed))); + rotation.set(new Quaternionf().rotationTo(new Vector3f(0,0,1), new Vector3f((float)rotationVector.x,(float)rotationVector.y,(float)rotationVector.z)).normalize()); + // rotation.slerp(new Quaternionf().rotationTo(new Vector3f((float)rotationVector.x,(float)rotationVector.y,(float)rotationVector.z), cameraEyeVector), this.maxRotationSpeed); + } + } + + /** + * Adds the force to actually move the airplane entity + * @param velocity The current velocity + * @param facingVector The current facing vector + * @param collidable The collidable of the entity + */ + void addMovementForce(float velocity, Vector3d facingVector, Collidable collidable){ + collidable.addImpulse(new Impulse(new Vector3d(facingVector), new Vector3d(0,0,0), new Vector3d(0,0,0), velocity * Main.deltaFrames, "movement")); + } + + /** + * If the instance is a server, update all clients within the chunk as appropriate + * @param position The position of the airplane + * @param facingVector The facing vector of the airplane + * @param velocity The velocity of the airplane + */ + void serverUpdateTree(Vector3d position, Vector3d facingVector, float velocity){ + if(Globals.RUN_SERVER){ + int stateNumber = 0; + switch(this.state){ + case ACCELERATING: + stateNumber = 0; + break; + case DECELERATING: + stateNumber = 1; + break; + } + Globals.dataCellManager.sendNetworkMessageToChunk( + EntityMessage.constructmoveUpdateMessage( + parent.getId(), + Main.getCurrentFrame(), + position.x, + position.y, + position.z, + facingVector.x, + facingVector.y, + facingVector.z, + velocity, + stateNumber + ), + Globals.serverWorldData.convertRealToChunkSpace(position.x), + Globals.serverWorldData.convertRealToChunkSpace(position.z) + ); + } + } + + /** + * Register a network message relavent to this tree + * @param networkMessage The network message to register + */ + public void addNetworkMessage(EntityMessage networkMessage) { + networkMessageQueue.add(networkMessage); + } + + /** + * Determines the animation to play at a given point in the simulation loop + * @return The animation to play as a string + */ + public String determineCorrectAnimation(){ + String rVal = ""; + + switch(state){ + case ACCELERATING: + rVal = Animation.ANIMATION_IDLE_1; + break; + case DECELERATING: + rVal = Animation.ANIMATION_IDLE_1; + break; + } + + + return rVal; + } + + + /** + * Gets the current state of the behavior tree + * @return The current state of the behavior tree + */ + public AirplaneMovementTreeState getState(){ + return state; + } + + /** + * Sets the minimum velocity of this airplane tree + * @param minVelocity The minimum velocity + */ + public void setMinimumVelocity(float minVelocity){ + this.minVelocity = minVelocity; + } + + /** + * Sets the max rotation speed of this airplane movement tree + * @param maxRotationSpeed The max rotation speed + */ + public void setMaxRotationSpeed(float maxRotationSpeed){ + this.maxRotationSpeed = maxRotationSpeed; + } + +} diff --git a/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java b/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java index 6a316f8f..203d8ed8 100644 --- a/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java +++ b/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java @@ -11,6 +11,7 @@ import electrosphere.entity.Entity; import electrosphere.entity.EntityDataStrings; import electrosphere.entity.EntityUtils; import electrosphere.entity.state.AttackTree; +import electrosphere.entity.state.BehaviorTree; import electrosphere.entity.state.AttackTree.AttackTreeState; import electrosphere.entity.state.movement.SprintTree.SprintTreeState; import electrosphere.game.collision.CollisionEngine; @@ -34,7 +35,7 @@ import org.joml.Vector3f; /* Behavior tree for movement in an entity */ -public class GroundMovementTree { +public class GroundMovementTree implements BehaviorTree { public static enum MovementTreeState { STARTUP, diff --git a/src/main/java/electrosphere/entity/types/creature/CreatureUtils.java b/src/main/java/electrosphere/entity/types/creature/CreatureUtils.java index 024f36a5..22a67a8e 100644 --- a/src/main/java/electrosphere/entity/types/creature/CreatureUtils.java +++ b/src/main/java/electrosphere/entity/types/creature/CreatureUtils.java @@ -5,6 +5,7 @@ import electrosphere.dynamics.RigidBody; import electrosphere.entity.Entity; import electrosphere.entity.EntityDataStrings; import electrosphere.entity.EntityUtils; +import electrosphere.entity.state.movement.AirplaneMovementTree; import electrosphere.entity.state.movement.FallTree; import electrosphere.entity.state.movement.GroundMovementTree; import electrosphere.entity.state.movement.JumpTree; @@ -32,6 +33,7 @@ import electrosphere.game.data.creature.type.CollidableTemplate; import electrosphere.game.data.creature.type.SprintSystem; import electrosphere.game.data.creature.type.attack.AttackMove; import electrosphere.game.data.creature.type.equip.EquipPoint; +import electrosphere.game.data.creature.type.movement.AirplaneMovementSystem; import electrosphere.game.data.creature.type.movement.FallMovementSystem; import electrosphere.game.data.creature.type.movement.GroundMovementSystem; import electrosphere.game.data.creature.type.movement.JumpMovementSystem; @@ -165,8 +167,15 @@ public class CreatureUtils { break; } } + // + // + // MOVEMENT SYSTEMS + // + // for(MovementSystem movementSystem : rawType.getMovementSystems()){ switch(movementSystem.getType()){ + // + // Generic ground case GroundMovementSystem.GROUND_MOVEMENT_SYSTEM: GroundMovementSystem groundMovementSystem = (GroundMovementSystem)movementSystem; GroundMovementTree moveTree = new GroundMovementTree(rVal,CollisionObjUtils.getCollidable(rVal)); @@ -179,6 +188,7 @@ public class CreatureUtils { if(groundMovementSystem.getAnimationWindDown()!= null){ moveTree.setAnimationSlowDown(groundMovementSystem.getAnimationWindDown().getName()); } + //sprint system if(groundMovementSystem.getSprintSystem() != null){ SprintSystem sprintSystem = groundMovementSystem.getSprintSystem(); SprintTree sprintTree = new SprintTree(rVal,sprintSystem.getMaxVelocity(),sprintSystem.getStaminaMax()); @@ -204,14 +214,16 @@ public class CreatureUtils { rVal.putData(EntityDataStrings.DATA_STRING_VELOCITY, 0f); Globals.entityManager.registerMoveableEntity(rVal); break; + // + // Jump case JumpMovementSystem.JUMP_MOVEMENT_SYSTEM: JumpMovementSystem jumpMovementSystem = (JumpMovementSystem)movementSystem; JumpTree jumpTree = new JumpTree(rVal, jumpMovementSystem.getJumpFrames(), jumpMovementSystem.getJumpForce()); if(jumpMovementSystem.getAnimationJump() != null){ jumpTree.setAnimationJump(jumpMovementSystem.getAnimationJump().getName()); } - if(CreatureUtils.getEntityMovementTree(rVal) != null){ - CreatureUtils.getEntityMovementTree(rVal).setJumpTree(jumpTree); + if(CreatureUtils.getEntityMovementTree(rVal) != null && CreatureUtils.getEntityMovementTree(rVal) instanceof GroundMovementTree){ + ((GroundMovementTree)CreatureUtils.getEntityMovementTree(rVal)).setJumpTree(jumpTree); } if(FallTree.getFallTree(rVal)!=null){ FallTree.getFallTree(rVal).setJumpTree(jumpTree); @@ -219,6 +231,8 @@ public class CreatureUtils { rVal.putData(EntityDataStrings.JUMP_TREE, jumpTree); Globals.entityManager.registerBehaviorTree(jumpTree); break; + // + // Falling case FallMovementSystem.FALL_MOVEMENT_SYSTEM: FallMovementSystem fallMovementSystem = (FallMovementSystem)movementSystem; FallTree fallTree = new FallTree(rVal); @@ -228,8 +242,8 @@ public class CreatureUtils { if(fallMovementSystem.getAnimationLand()!=null){ fallTree.setAnimationLand(fallMovementSystem.getAnimationLand().getName()); } - if(CreatureUtils.getEntityMovementTree(rVal) != null){ - CreatureUtils.getEntityMovementTree(rVal).setFallTree(fallTree); + if(CreatureUtils.getEntityMovementTree(rVal) != null && CreatureUtils.getEntityMovementTree(rVal) instanceof GroundMovementTree){ + ((GroundMovementTree)CreatureUtils.getEntityMovementTree(rVal)).setFallTree(fallTree); } if(JumpTree.getJumpTree(rVal)!=null){ fallTree.setJumpTree(JumpTree.getJumpTree(rVal)); @@ -237,6 +251,22 @@ public class CreatureUtils { rVal.putData(EntityDataStrings.FALL_TREE, fallTree); Globals.entityManager.registerBehaviorTree(fallTree); break; + // + // Airplane + case AirplaneMovementSystem.AIRPLANE_MOVEMENT_SYSTEM: { + //construct tree + AirplaneMovementSystem airplaneMovementSystem = (AirplaneMovementSystem) movementSystem; + AirplaneMovementTree airplaneMovementTree = new AirplaneMovementTree(rVal, CollisionObjUtils.getCollidable(rVal)); + //set properties + rVal.putData(EntityDataStrings.DATA_STRING_MAX_NATURAL_VELOCITY, airplaneMovementSystem.getMaxVelocity()); + rVal.putData(EntityDataStrings.DATA_STRING_ACCELERATION, airplaneMovementSystem.getAcceleration()); + rVal.putData(EntityDataStrings.DATA_STRING_VELOCITY, 0f); + airplaneMovementTree.setMinimumVelocity(airplaneMovementSystem.getMinVelocity()); + //register misc stuff + rVal.putData(EntityDataStrings.DATA_STRING_MOVEMENT_BT, airplaneMovementTree); + CreatureUtils.setFacingVector(rVal, new Vector3d(0,0,0)); + Globals.entityManager.registerMoveableEntity(rVal); + } break; } } if(rawType.getEquipPoints() != null && rawType.getEquipPoints().size() > 0){ @@ -441,12 +471,17 @@ public class CreatureUtils { e.putData(EntityDataStrings.DATA_STRING_MAX_NATURAL_VELOCITY, scalar); } - public static GroundMovementTree getEntityMovementTree(Entity e){ - return (GroundMovementTree)e.getData(EntityDataStrings.DATA_STRING_MOVEMENT_BT); + public static BehaviorTree getEntityMovementTree(Entity e){ + return (BehaviorTree)e.getData(EntityDataStrings.DATA_STRING_MOVEMENT_BT); } public static void attachEntityMessageToMovementTree(Entity e, EntityMessage em){ - getEntityMovementTree(e).addNetworkMessage(em); + BehaviorTree movementTree = getEntityMovementTree(e); + if(movementTree instanceof GroundMovementTree){ + ((GroundMovementTree)movementTree).addNetworkMessage(em); + } else if(movementTree instanceof AirplaneMovementTree){ + ((AirplaneMovementTree)movementTree).addNetworkMessage(em); + } } public static AttackTree getEntityAttackTree(Entity e){ diff --git a/src/main/java/electrosphere/game/data/creature/type/movement/AirplaneMovementSystem.java b/src/main/java/electrosphere/game/data/creature/type/movement/AirplaneMovementSystem.java new file mode 100644 index 00000000..672bf15b --- /dev/null +++ b/src/main/java/electrosphere/game/data/creature/type/movement/AirplaneMovementSystem.java @@ -0,0 +1,35 @@ +package electrosphere.game.data.creature.type.movement; + +public class AirplaneMovementSystem implements MovementSystem { + + public static final String AIRPLANE_MOVEMENT_SYSTEM = "AIRPLANE"; + + float acceleration; + float maxVelocity; + float minVelocity; + float maxRotationSpeed; + + String type; + + public float getAcceleration() { + return acceleration; + } + + public float getMaxVelocity() { + return maxVelocity; + } + + public float getMinVelocity(){ + return minVelocity; + } + + public float maxRotationSpeed(){ + return maxRotationSpeed; + } + + @Override + public String getType() { + return type; + } + +} diff --git a/src/main/java/electrosphere/game/data/creature/type/movement/MovementSystemSerializer.java b/src/main/java/electrosphere/game/data/creature/type/movement/MovementSystemSerializer.java index 7ced8b1c..0c68a96a 100644 --- a/src/main/java/electrosphere/game/data/creature/type/movement/MovementSystemSerializer.java +++ b/src/main/java/electrosphere/game/data/creature/type/movement/MovementSystemSerializer.java @@ -19,6 +19,8 @@ public class MovementSystemSerializer implements JsonDeserializer 0.4){ Vector3d moveVector = new Vector3d(moveTargetPosition).sub(position).normalize(); CreatureUtils.setFacingVector(character, new Vector3d((float)moveVector.x,(float)moveVector.y,(float)moveVector.z)); - GroundMovementTree characterMoveTree = CreatureUtils.getEntityMovementTree(character); + GroundMovementTree characterMoveTree = (GroundMovementTree)CreatureUtils.getEntityMovementTree(character); if(characterMoveTree.getState()==GroundMovementTree.MovementTreeState.IDLE || characterMoveTree.getState()==GroundMovementTree.MovementTreeState.SLOWDOWN){ characterMoveTree.start(MovementRelativeFacing.FORWARD); } } else { - GroundMovementTree characterMoveTree = CreatureUtils.getEntityMovementTree(character); + GroundMovementTree characterMoveTree = (GroundMovementTree)CreatureUtils.getEntityMovementTree(character); characterMoveTree.slowdown(); // System.out.println("Made it to destination"); moveToTarget = false; diff --git a/src/main/java/electrosphere/game/server/ai/creature/MindlessAttacker.java b/src/main/java/electrosphere/game/server/ai/creature/MindlessAttacker.java index 804839c6..ca7a1112 100644 --- a/src/main/java/electrosphere/game/server/ai/creature/MindlessAttacker.java +++ b/src/main/java/electrosphere/game/server/ai/creature/MindlessAttacker.java @@ -71,7 +71,7 @@ public class MindlessAttacker extends AI{ Vector3d characterPosition = EntityUtils.getPosition(character); Vector3d moveVector = new Vector3d(targetPosition).sub(characterPosition).normalize(); CreatureUtils.setFacingVector(character, new Vector3d((float)moveVector.x,(float)moveVector.y,(float)moveVector.z)); - GroundMovementTree characterMoveTree = CreatureUtils.getEntityMovementTree(character); + GroundMovementTree characterMoveTree = (GroundMovementTree)CreatureUtils.getEntityMovementTree(character); if(characterMoveTree.getState()==GroundMovementTree.MovementTreeState.IDLE || characterMoveTree.getState()==GroundMovementTree.MovementTreeState.SLOWDOWN){ characterMoveTree.start(MovementRelativeFacing.FORWARD); } diff --git a/src/main/java/electrosphere/game/server/ai/creature/OpportunisticAttacker.java b/src/main/java/electrosphere/game/server/ai/creature/OpportunisticAttacker.java index e14e6c7b..a33eab10 100644 --- a/src/main/java/electrosphere/game/server/ai/creature/OpportunisticAttacker.java +++ b/src/main/java/electrosphere/game/server/ai/creature/OpportunisticAttacker.java @@ -163,7 +163,7 @@ public class OpportunisticAttacker extends AI { Vector3d characterPosition = EntityUtils.getPosition(character); Vector3d moveVector = new Vector3d(targetPosition).sub(characterPosition).normalize(); CreatureUtils.setFacingVector(character, new Vector3d((float)moveVector.x,(float)moveVector.y,(float)moveVector.z)); - GroundMovementTree characterMoveTree = CreatureUtils.getEntityMovementTree(character); + GroundMovementTree characterMoveTree = (GroundMovementTree)CreatureUtils.getEntityMovementTree(character); if(characterMoveTree.getState()==GroundMovementTree.MovementTreeState.IDLE || characterMoveTree.getState()==GroundMovementTree.MovementTreeState.SLOWDOWN){ characterMoveTree.start(MovementRelativeFacing.FORWARD); } diff --git a/src/main/java/electrosphere/game/simulation/MicroSimulation.java b/src/main/java/electrosphere/game/simulation/MicroSimulation.java index 6c63124a..b66b193b 100644 --- a/src/main/java/electrosphere/game/simulation/MicroSimulation.java +++ b/src/main/java/electrosphere/game/simulation/MicroSimulation.java @@ -5,6 +5,7 @@ import electrosphere.entity.Entity; import electrosphere.entity.EntityDataStrings; import electrosphere.entity.EntityUtils; import electrosphere.entity.state.AttackTree; +import electrosphere.entity.state.BehaviorTree; import electrosphere.entity.state.IdleTree; import electrosphere.entity.state.movement.GroundMovementTree; import electrosphere.entity.state.ParticleTree; @@ -62,7 +63,7 @@ public class MicroSimulation { } //simulate creature behavior trees for(Entity currentMoveable : Globals.entityManager.getMoveable()){ - GroundMovementTree behaviorTree = CreatureUtils.getEntityMovementTree(currentMoveable); + BehaviorTree behaviorTree = CreatureUtils.getEntityMovementTree(currentMoveable); behaviorTree.simulate(); } //sprint tree diff --git a/src/main/java/electrosphere/main/Main.java b/src/main/java/electrosphere/main/Main.java index 9a221190..ad370ea7 100644 --- a/src/main/java/electrosphere/main/Main.java +++ b/src/main/java/electrosphere/main/Main.java @@ -13,6 +13,7 @@ import electrosphere.engine.cli.CLIParser; import electrosphere.game.client.ClientFunctions; import electrosphere.game.config.UserSettings; import electrosphere.logger.LoggerInterface; +import electrosphere.renderer.Model; import electrosphere.renderer.RenderingEngine; @@ -129,9 +130,9 @@ public class Main { //uncomment to test loading a model into engine // if(1==1){ - // Globals.assetManager.addModelPathToQueue("/Models/baseman.fbx"); + // Globals.assetManager.addModelPathToQueue("/Models/tank1.fbx"); // Globals.assetManager.loadAssetsInQueue(); - // Model model = Globals.assetManager.fetchModel("/Models/baseman.fbx"); + // Model model = Globals.assetManager.fetchModel("/Models/tank1.fbx"); // // for(electrosphere.renderer.anim.Animation anim : model.animations){ // // if(anim.name.equals("Armature|Idle1")){ // // System.out.println(anim.duration); @@ -144,7 +145,8 @@ public class Main { // // break; // // } // // } - // model.describeHighLevel(); + // model.animations.get(0).fullDescribeAnimation(); + // // model.describeHighLevel(); // System.exit(0); // } diff --git a/src/main/java/electrosphere/menu/MenuGeneratorsMultiplayer.java b/src/main/java/electrosphere/menu/MenuGeneratorsMultiplayer.java index 2d09fe88..9dc2eab2 100644 --- a/src/main/java/electrosphere/menu/MenuGeneratorsMultiplayer.java +++ b/src/main/java/electrosphere/menu/MenuGeneratorsMultiplayer.java @@ -13,6 +13,7 @@ import electrosphere.game.data.creature.type.visualattribute.AttributeVariant; import electrosphere.game.data.creature.type.visualattribute.VisualAttribute; import electrosphere.main.Globals; import electrosphere.net.parser.net.message.CharacterMessage; +import electrosphere.renderer.Model; import electrosphere.renderer.RenderingEngine; import electrosphere.renderer.actor.Actor; import electrosphere.renderer.actor.ActorStaticMorph; diff --git a/src/main/java/electrosphere/renderer/Mesh.java b/src/main/java/electrosphere/renderer/Mesh.java index 1c880533..98b72ed1 100644 --- a/src/main/java/electrosphere/renderer/Mesh.java +++ b/src/main/java/electrosphere/renderer/Mesh.java @@ -423,135 +423,6 @@ public class Mesh { } -// public void draw() { -// glUseProgram(shader.shaderProgram); -// -// //Until we switch to uniform buffer objects we will have to buffer lighting data here manually each time we draw -// //side note: :( -// if(light_buffer == null){ -// float temp[] = new float[3]; -// temp[0] = 0.2f; -// temp[1] = -1.0f; -// temp[2] = 0.3f; -// glUniform3fv(glGetUniformLocation(shader.shaderProgram, "dirLight.direction"), temp); -// -// temp[0] = 0.1f; -// temp[1] = 0.1f; -// temp[2] = 0.1f; -// glUniform3fv(glGetUniformLocation(shader.shaderProgram, "dirLight.ambient"), temp); -// -// temp[0] = 0.8f; -// temp[1] = 0.8f; -// temp[2] = 0.8f; -// glUniform3fv(glGetUniformLocation(shader.shaderProgram, "dirLight.diffuse"), temp); -// -// temp[0] = 0.1f; -// temp[1] = 0.1f; -// temp[2] = 0.1f; -// glUniform3fv(glGetUniformLocation(shader.shaderProgram, "dirLight.specular"), temp); -// -// temp[0] = 32f; -// glUniform1fv(glGetUniformLocation(shader.shaderProgram, "material.shininess"), temp); -// -// GL20.glUniformMatrix4fv(glGetUniformLocation(shader.shaderProgram, "model"), false, parent.modelMatrix.get(new float[16])); -// -// Vector3f cam_Loc = CameraEntityUtils.getCameraEye(Globals.playerCamera);//Globals.cameraVisible.pos_Center; -// temp[0] = cam_Loc.x; -// temp[1] = cam_Loc.y; -// temp[2] = cam_Loc.z; -// glUniform3fv(glGetUniformLocation(shader.shaderProgram, "viewPos"), temp); -// } else { -// GL20.glUniformMatrix4fv(glGetUniformLocation(shader.shaderProgram, "model"), false, parent.modelMatrix.get(new float[16])); -// } -// -// -// if(material == null){ -// Globals.materialDefault.apply_material(0,1); -// GL20.glUniform1i(glGetUniformLocation(shader.shaderProgram, "hasTransparency"), 0); -// } else { -// material.apply_material(); -// if(material.hasTransparency){ -// GL20.glUniform1i(glGetUniformLocation(shader.shaderProgram, "hasTransparency"), 1); -// } else { -// GL20.glUniform1i(glGetUniformLocation(shader.shaderProgram, "hasTransparency"), 1); -// } -// } -// -// -// -// glBindVertexArray(vertexArrayObject); -// -// -// glActiveTexture(GL_TEXTURE3); -// glBindTexture(GL_TEXTURE_2D, Globals.shadowMapTextureLoc); -// glUniform1i(glGetUniformLocation(shader.shaderProgram, "shadowMap"), 3); -// -// -// -// // -// //Handle bones -// // -// if(bones != null && !bones.isEmpty()){ -// glUniform1i(shader.shaderVertexHasBonesLoc, 1); -// glUniform1i(shader.shaderVertexNumBonesLoc, bones.size()); -// Iterator boneIterator = bone_id_list.iterator(); -// float bufferarray[] = new float[16]; -// int incrementer = 0; -// while (boneIterator.hasNext()){ -// Bone currentBone = parent.boneMap.get(boneIterator.next()); -// Matrix4f currentMat = new Matrix4f(currentBone.final_transform); -// currentMat.get(bufferarray); -// String currentUniform = "bones[" + incrementer + "]"; -// GL20.glUniformMatrix4fv(glGetUniformLocation(shader.shaderProgram, currentUniform), false, bufferarray); -// incrementer++; -// } -// } else { -// glUniform1i(shader.shaderVertexHasBonesLoc, 0); -// } -// -// -// -// //buffer model/view/proj matrices -// glUniformMatrix4fv(shader.shaderVertexModelLoc, false, parent.modelMatrix.get(new float[16])); -// glUniformMatrix4fv(shader.shaderVertexViewLoc, false, Globals.viewMatrix.get(new float[16])); -// glUniformMatrix4fv(shader.shaderVertexProjectionLoc, false, Globals.projectionMatrix.get(new float[16])); -// glUniform3fv(shader.shaderVertexViewPosLoc, CameraEntityUtils.getCameraEye(Globals.playerCamera).get(BufferUtils.createFloatBuffer(3))); -// glUniformMatrix4fv(glGetUniformLocation(shader.shaderProgram, "lightSpaceMatrix"), false, Globals.lightDepthMatrix.get(new float[16])); -// -// // -// // -// //Testing Lights -// // -// // -// float test_Light_Data[] = new float[3]; -// test_Light_Data[0] = 0.2f; -// test_Light_Data[1] = -1.0f; -// test_Light_Data[2] = 0.3f; -// glUniform3fv(glGetUniformLocation(shader.shaderProgram, "dirLight.direction"), test_Light_Data); -// -// test_Light_Data = new float[3]; -// test_Light_Data[0] = 0.3f; -// test_Light_Data[1] = 0.3f; -// test_Light_Data[2] = 0.3f; -// glUniform3fv(glGetUniformLocation(shader.shaderProgram, "dirLight.ambient"), test_Light_Data); -// -// test_Light_Data = new float[3]; -// test_Light_Data[0] = 0.5f; -// test_Light_Data[1] = 0.5f; -// test_Light_Data[2] = 0.5f; -// glUniform3fv(glGetUniformLocation(shader.shaderProgram, "dirLight.diffuse"), test_Light_Data); -// -// Vector3f cam_Loc = CameraEntityUtils.getCameraEye(Globals.playerCamera); -// test_Light_Data = new float[3]; -// test_Light_Data[0] = cam_Loc.x; -// test_Light_Data[1] = cam_Loc.y; -// test_Light_Data[2] = cam_Loc.z; -// glUniform3fv(glGetUniformLocation(shader.shaderProgram, "viewPos"), test_Light_Data); -// -// -// GL11.glDrawElements(GL_TRIANGLES, elementCount, GL_UNSIGNED_INT, 0); -// glBindVertexArray(0); -// } public void buffer_vertices(FloatBuffer verticies, int vertexDimension){ vertexBuffer = glGenBuffers(); @@ -617,76 +488,6 @@ public class Mesh { } -// public void drawForDepthBuffer(){ -// /* -// -// !!!!!!!!!!!!!!!!!THERE IS NO SHADER PROGRAM HERE!!!!!!!!!!!!!!!!!!!!!!!!!! -// -// The shader program is set in the main render function to make things easier -// -// */ -// -// -// glBindVertexArray(vertexArrayObject); -// -// -// -// -// // -// //Handle bones -// // -// if(bones != null && !bones.isEmpty()){ -// glUniform1i(glGetUniformLocation(Globals.depthMapShaderProgramLoc, "numBones"), bones.size()); -// glUniform1i(glGetUniformLocation(Globals.depthMapShaderProgramLoc, "hasBones"), 1); -// Iterator boneIterator = bone_id_list.iterator(); -// float bufferarray[] = new float[16]; -// int incrementer = 0; -// while (boneIterator.hasNext()){ -// Bone currentBone = parent.boneMap.get(boneIterator.next()); -// Matrix4f currentMat = new Matrix4f(currentBone.final_transform); -// currentMat.get(bufferarray); -// String currentUniform = "bones[" + incrementer + "]"; -// GL20.glUniformMatrix4fv(glGetUniformLocation(Globals.depthMapShaderProgramLoc, currentUniform), false, bufferarray); -// incrementer++; -// } -// } else { -// glUniform1i(glGetUniformLocation(Globals.depthMapShaderProgramLoc, "hasBones"), 0); -// } -// -// //buffer model/view/proj matrices -// glUniformMatrix4fv(glGetUniformLocation(Globals.depthMapShaderProgramLoc, "model"), false, parent.modelMatrix.get(new float[16])); -// glUniformMatrix4fv(glGetUniformLocation(Globals.depthMapShaderProgramLoc, "lightSpaceMatrix"), false, Globals.lightDepthMatrix.get(new float[16])); -// -// -// GL11.glDrawElements(GL_TRIANGLES, elementCount, GL_UNSIGNED_INT, 0); -// glBindVertexArray(0); -// } - -// public void drawUI(){ -// glUseProgram(shader.shaderProgram); -// -// glBindVertexArray(vertexArrayObject); -// -// if(material == null){ -// Globals.materialDefault.apply_material(0,1); -// GL20.glUniform1i(glGetUniformLocation(shader.shaderProgram, "hasTransparency"), 0); -// } else { -// material.apply_material(); -// if(material.hasTransparency){ -// GL20.glUniform1i(glGetUniformLocation(shader.shaderProgram, "hasTransparency"), 1); -// } else { -// GL20.glUniform1i(glGetUniformLocation(shader.shaderProgram, "hasTransparency"), 1); -// } -// } -// -// //buffers contents of uniforms map to gpu -// bufferAllUniforms(); -// -// glUniformMatrix4fv(glGetUniformLocation(shader.shaderProgram, "model"), false, parent.modelMatrix.get(new float[16])); -// -// GL11.glDrawElements(GL_TRIANGLES, elementCount, GL_UNSIGNED_INT, 0); -// glBindVertexArray(0); -// } public void setUniform(String key, Object o){ uniforms.put(key, o); diff --git a/src/main/java/electrosphere/renderer/ui/elements/ActorPanel.java b/src/main/java/electrosphere/renderer/ui/elements/ActorPanel.java index 6723a9c4..3e99d526 100644 --- a/src/main/java/electrosphere/renderer/ui/elements/ActorPanel.java +++ b/src/main/java/electrosphere/renderer/ui/elements/ActorPanel.java @@ -88,8 +88,13 @@ public class ActorPanel implements DrawableElement, DraggableElement { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + Model actorModel = Globals.assetManager.fetchModel(actor.getModelPath()); + if(currentAnim != null){ - if(!actor.isPlayingAnimation() || !actor.isPlayingAnimation(currentAnim)){ + if((!actor.isPlayingAnimation() || !actor.isPlayingAnimation(currentAnim)) && + actorModel != null && + actorModel.getAnimation(currentAnim) != null + ){ actor.playAnimation(currentAnim,3); actor.incrementAnimationTime(0.0001); }