From 0266ba1b90e8dc331c879ca0ed68524ed128b01d Mon Sep 17 00:00:00 2001 From: austin Date: Thu, 15 May 2025 12:46:25 -0400 Subject: [PATCH] move more entities into clientState --- docs/src/progress/renderertodo.md | 1 + .../java/electrosphere/audio/AudioEngine.java | 8 +-- .../audio/VirtualAudioSourceManager.java | 4 +- .../electrosphere/client/ClientState.java | 10 ++++ .../entity/camera/CameraEntityUtils.java | 8 +-- .../client/entity/crosshair/Crosshair.java | 4 +- .../entity/instance/InstanceUpdater.java | 4 +- .../client/interact/ButtonInteraction.java | 4 +- .../interact/ClientInteractionEngine.java | 4 +- .../client/interact/ItemActions.java | 26 ++++---- .../client/script/ScriptClientVoxelUtils.java | 6 +- .../client/sim/ClientSimulation.java | 4 +- .../ui/components/CharacterCustomizer.java | 4 +- .../ui/menu/debug/ImGuiPlayerEntity.java | 6 +- .../debug/client/ImGuiClientServices.java | 8 +-- .../menu/debug/entity/ImGuiEntityMacros.java | 10 ++-- .../ingame/MenuGeneratorsLevelEditor.java | 20 +++---- .../mainmenu/MenuGeneratorsUITesting.java | 4 +- .../menu/script/ScriptLevelEditorUtils.java | 20 +++---- .../electrosphere/controls/CameraHandler.java | 22 +++---- .../categories/ControlCategoryFreecam.java | 32 +++++----- .../categories/ControlCategoryMainGame.java | 60 +++++++++---------- .../controls/cursor/CursorState.java | 2 +- .../java/electrosphere/engine/Globals.java | 9 --- .../engine/loadingthreads/ClientLoading.java | 2 +- .../entity/ClientEntityUtils.java | 4 +- .../entity/btree/StateTransitionUtil.java | 2 +- .../entity/state/attach/AttachUtils.java | 4 +- .../entity/state/attack/ClientAttackTree.java | 2 +- .../client/firstPerson/FirstPersonTree.java | 28 ++++----- .../client/particle/ClientParticleTree.java | 2 +- .../entity/state/equip/ClientEquipState.java | 16 ++--- .../state/equip/ClientToolbarState.java | 8 +-- .../entity/state/foliage/AmbientFoliage.java | 2 +- .../net/client/protocol/EntityProtocol.java | 2 +- .../renderer/RenderingEngine.java | 4 +- .../electrosphere/renderer/model/Mesh.java | 6 +- .../pipelines/FirstPersonItemsPipeline.java | 26 ++++---- .../renderer/pipelines/FoliagePipeline.java | 2 +- .../pipelines/MainContentNoOITPipeline.java | 2 +- .../pipelines/MainContentPipeline.java | 14 ++--- .../pipelines/NormalsForOutlinePipeline.java | 8 +-- .../renderer/pipelines/ShadowMapPipeline.java | 2 +- .../pipelines/VolumeBufferPipeline.java | 6 +- .../pipelines/debug/DebugBonesPipeline.java | 2 +- .../pipelines/debug/DebugContentPipeline.java | 14 ++--- .../renderer/ui/elements/ActorPanel.java | 8 +-- 47 files changed, 224 insertions(+), 222 deletions(-) diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index 9754e0d5..47b87863 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -1808,6 +1808,7 @@ Move clientScene to clientState Move clientSceneWrapper to clientState Move clientConnection to clientState Move playerEntity to clientState +Move playerCamera to clientState Move global cursor entities into cursorState Move lots of global state to clientState diff --git a/src/main/java/electrosphere/audio/AudioEngine.java b/src/main/java/electrosphere/audio/AudioEngine.java index 411086b7..6533544b 100644 --- a/src/main/java/electrosphere/audio/AudioEngine.java +++ b/src/main/java/electrosphere/audio/AudioEngine.java @@ -191,14 +191,14 @@ public class AudioEngine { * Updates the orientation of the listener based on the global player camera */ private void updateListener(){ - if(Globals.playerCamera != null){ + if(Globals.clientState.playerCamera != null){ //position - Vector3d cameraPos = CameraEntityUtils.getCameraCenter(Globals.playerCamera); + Vector3d cameraPos = CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera); listener.setPosition(cameraPos); //orientation - Vector3d cameraEye = SpatialMathUtils.getOriginVector().rotate(CameraEntityUtils.getRotationQuat(Globals.playerCamera)).normalize(); - Vector3d cameraUp = SpatialMathUtils.getUpVector().rotate(CameraEntityUtils.getRotationQuat(Globals.playerCamera)).normalize(); + Vector3d cameraEye = SpatialMathUtils.getOriginVector().rotate(CameraEntityUtils.getRotationQuat(Globals.clientState.playerCamera)).normalize(); + Vector3d cameraUp = SpatialMathUtils.getUpVector().rotate(CameraEntityUtils.getRotationQuat(Globals.clientState.playerCamera)).normalize(); listener.setOrientation(new Vector3f((float)cameraEye.x,(float)cameraEye.y,(float)cameraEye.z), new Vector3f((float)cameraUp.x,(float)cameraUp.y,(float)cameraUp.z)); } } diff --git a/src/main/java/electrosphere/audio/VirtualAudioSourceManager.java b/src/main/java/electrosphere/audio/VirtualAudioSourceManager.java index 735fbbc3..3402136f 100644 --- a/src/main/java/electrosphere/audio/VirtualAudioSourceManager.java +++ b/src/main/java/electrosphere/audio/VirtualAudioSourceManager.java @@ -101,8 +101,8 @@ public class VirtualAudioSourceManager { */ public void update(float deltaTime){ //update priority of all virtual audio sources based on distance from camera position - if(Globals.playerCamera!=null){ - Vector3d cameraEarPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)).add(CameraEntityUtils.getCameraEye(Globals.playerCamera)); + if(Globals.clientState.playerCamera!=null){ + Vector3d cameraEarPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)).add(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); for(VirtualAudioSource source : virtualSourceQueue){ if(source.position!=null){ source.setPriority((int)cameraEarPos.distance(source.position)); diff --git a/src/main/java/electrosphere/client/ClientState.java b/src/main/java/electrosphere/client/ClientState.java index f585fac3..ca171c03 100644 --- a/src/main/java/electrosphere/client/ClientState.java +++ b/src/main/java/electrosphere/client/ClientState.java @@ -132,6 +132,16 @@ public class ClientState { */ public Entity playerEntity; + /** + * the entity for the first person model (view model) + */ + public Entity firstPersonEntity; + + /** + * the player camera entity + */ + public Entity playerCamera; + /** * Constructor */ diff --git a/src/main/java/electrosphere/client/entity/camera/CameraEntityUtils.java b/src/main/java/electrosphere/client/entity/camera/CameraEntityUtils.java index 5bb4b4a6..de12bb3a 100644 --- a/src/main/java/electrosphere/client/entity/camera/CameraEntityUtils.java +++ b/src/main/java/electrosphere/client/entity/camera/CameraEntityUtils.java @@ -116,14 +116,14 @@ public class CameraEntityUtils { */ public static void initCamera(){ //destroy if it already exists - if(Globals.playerCamera != null){ - Globals.clientState.clientSceneWrapper.getScene().deregisterEntity(Globals.playerCamera); + if(Globals.clientState.playerCamera != null){ + Globals.clientState.clientSceneWrapper.getScene().deregisterEntity(Globals.clientState.playerCamera); } //create if(Globals.controlHandler.cameraIsThirdPerson()){ - Globals.playerCamera = CameraEntityUtils.spawnPlayerEntityTrackingCameraEntity(); + Globals.clientState.playerCamera = CameraEntityUtils.spawnPlayerEntityTrackingCameraEntity(); } else { - Globals.playerCamera = CameraEntityUtils.spawnPlayerEntityTrackingCameraFirstPersonEntity(new Vector3d(0,0,0), SpatialMathUtils.getOriginVector()); + Globals.clientState.playerCamera = CameraEntityUtils.spawnPlayerEntityTrackingCameraFirstPersonEntity(new Vector3d(0,0,0), SpatialMathUtils.getOriginVector()); } } diff --git a/src/main/java/electrosphere/client/entity/crosshair/Crosshair.java b/src/main/java/electrosphere/client/entity/crosshair/Crosshair.java index 29e3b212..f5c00dbe 100644 --- a/src/main/java/electrosphere/client/entity/crosshair/Crosshair.java +++ b/src/main/java/electrosphere/client/entity/crosshair/Crosshair.java @@ -31,7 +31,7 @@ public class Crosshair { static final float TARGET_MAX_DIST = 1; public static void checkTargetable(){ - if(crossHairEntity != null && Globals.clientState.playerEntity != null && Globals.playerCamera != null){ + if(crossHairEntity != null && Globals.clientState.playerEntity != null && Globals.clientState.playerCamera != null){ Vector3d parentPos = EntityUtils.getPosition(Globals.clientState.playerEntity); // if(currentTarget == null){ if(!crosshairActive){ @@ -40,7 +40,7 @@ public class Crosshair { for(Entity entity : Globals.clientState.clientScene.getEntitiesWithTag(EntityTags.TARGETABLE)){ Vector3d entityPos = EntityUtils.getPosition(entity); double currentDist = parentPos.distance(entityPos); - double currentAngleDiff = new Vector3d(entityPos).sub(parentPos).normalize().dot(new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera))); + double currentAngleDiff = new Vector3d(entityPos).sub(parentPos).normalize().dot(new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera))); if(currentDist + currentAngleDiff < dist && currentDist <= TARGET_MAX_DIST && entity != Globals.clientState.playerEntity){ target = entity; dist = currentDist + currentAngleDiff; diff --git a/src/main/java/electrosphere/client/entity/instance/InstanceUpdater.java b/src/main/java/electrosphere/client/entity/instance/InstanceUpdater.java index b757d56b..bd387ca2 100644 --- a/src/main/java/electrosphere/client/entity/instance/InstanceUpdater.java +++ b/src/main/java/electrosphere/client/entity/instance/InstanceUpdater.java @@ -21,8 +21,8 @@ public class InstanceUpdater { */ public static void updateInstancedActorPriority(){ Globals.profiler.beginCpuSample("updateInstancedActorPriority"); - if(Globals.playerCamera != null){ - Vector3d eyePosition = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); + if(Globals.clientState.playerCamera != null){ + Vector3d eyePosition = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); Set instancedEntities = Globals.clientState.clientScene.getEntitiesWithTag(EntityTags.DRAW_INSTANCED); for(Entity entity : instancedEntities){ //set priority equal to distance diff --git a/src/main/java/electrosphere/client/interact/ButtonInteraction.java b/src/main/java/electrosphere/client/interact/ButtonInteraction.java index 062a3e5f..e904fc1f 100644 --- a/src/main/java/electrosphere/client/interact/ButtonInteraction.java +++ b/src/main/java/electrosphere/client/interact/ButtonInteraction.java @@ -28,8 +28,8 @@ public class ButtonInteraction { * Handles a button interaction event */ public static void handleButtonInteraction(){ - if(Globals.clientState.playerEntity != null && Globals.playerCamera != null){ - Entity camera = Globals.playerCamera; + if(Globals.clientState.playerEntity != null && Globals.clientState.playerCamera != null){ + Entity camera = Globals.clientState.playerCamera; Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(camera)).mul(-1.0); Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(camera)); Entity target = ClientInteractionEngine.rayCast(centerPos, eyePos); diff --git a/src/main/java/electrosphere/client/interact/ClientInteractionEngine.java b/src/main/java/electrosphere/client/interact/ClientInteractionEngine.java index 0c9195cf..896f6757 100644 --- a/src/main/java/electrosphere/client/interact/ClientInteractionEngine.java +++ b/src/main/java/electrosphere/client/interact/ClientInteractionEngine.java @@ -229,12 +229,12 @@ public class ClientInteractionEngine { * Updates the interaction target label */ public static void updateInteractionTargetLabel(){ - if(Globals.clientState.playerEntity != null && Globals.playerCamera != null){ + if(Globals.clientState.playerEntity != null && Globals.clientState.playerCamera != null){ //clear block cursor Globals.cursorState.hintClearBlockCursor(); boolean set = false; - Entity camera = Globals.playerCamera; + Entity camera = Globals.clientState.playerCamera; Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(camera)); Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(camera)); Entity target = ClientInteractionEngine.rayCast(centerPos, new Vector3d(eyePos).mul(-1)); diff --git a/src/main/java/electrosphere/client/interact/ItemActions.java b/src/main/java/electrosphere/client/interact/ItemActions.java index 07bb9f8e..47ae0c14 100644 --- a/src/main/java/electrosphere/client/interact/ItemActions.java +++ b/src/main/java/electrosphere/client/interact/ItemActions.java @@ -51,8 +51,8 @@ public class ItemActions { * Attempts to perform the primary item action */ public static void attemptPrimaryItemAction(){ - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Vector3d cursorPos = Globals.cursorState.getCursorPosition(); if(cursorPos == null){ cursorPos = Globals.clientState.clientSceneWrapper.getCollisionEngine().rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); @@ -111,8 +111,8 @@ public class ItemActions { * Repeats the primary item action */ public static void repeatPrimaryItemAction(){ - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Vector3d cursorPos = Globals.cursorState.getCursorPosition(); if(cursorPos == null){ cursorPos = Globals.clientState.clientSceneWrapper.getCollisionEngine().rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); @@ -136,8 +136,8 @@ public class ItemActions { * Releases the primary item action */ public static void releasePrimaryItemAction(){ - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Vector3d cursorPos = Globals.cursorState.getCursorPosition(); if(cursorPos == null){ cursorPos = Globals.clientState.clientSceneWrapper.getCollisionEngine().rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); @@ -156,7 +156,7 @@ public class ItemActions { )); //do any immediate client side calculations here (ie start playing an animation until we get response from server) if(Globals.clientState.playerEntity != null){ - // Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + // Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); ClientAttackTree attackTree = CreatureUtils.clientGetAttackTree(Globals.clientState.playerEntity); if(attackTree != null){ // CreatureUtils.setFacingVector(Globals.playerCharacter, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).normalize()); @@ -169,8 +169,8 @@ public class ItemActions { * Attempts to perform the secondary item action */ public static void attemptSecondaryItemAction(){ - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Vector3d cursorPos = Globals.cursorState.getCursorPosition(); if(cursorPos == null){ cursorPos = Globals.clientState.clientSceneWrapper.getCollisionEngine().rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); @@ -221,8 +221,8 @@ public class ItemActions { * Repeats the secondary item action */ public static void repeatSecondaryItemAction(){ - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Vector3d cursorPos = Globals.cursorState.getCursorPosition(); if(cursorPos == null){ cursorPos = Globals.clientState.clientSceneWrapper.getCollisionEngine().rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); @@ -273,8 +273,8 @@ public class ItemActions { * Releases the secondary item action */ public static void releaseSecondaryItemAction(){ - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Vector3d cursorPos = Globals.cursorState.getCursorPosition(); if(cursorPos == null){ cursorPos = Globals.clientState.clientSceneWrapper.getCollisionEngine().rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); diff --git a/src/main/java/electrosphere/client/script/ScriptClientVoxelUtils.java b/src/main/java/electrosphere/client/script/ScriptClientVoxelUtils.java index 4c787153..63ca40b0 100644 --- a/src/main/java/electrosphere/client/script/ScriptClientVoxelUtils.java +++ b/src/main/java/electrosphere/client/script/ScriptClientVoxelUtils.java @@ -43,7 +43,7 @@ public class ScriptClientVoxelUtils { @Export public static void applyEdit(){ CollisionEngine collisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); - Entity camera = Globals.playerCamera; + Entity camera = Globals.clientState.playerCamera; if( collisionEngine != null && camera != null @@ -67,7 +67,7 @@ public class ScriptClientVoxelUtils { @Export public static void spawnWater(){ CollisionEngine collisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); - Entity camera = Globals.playerCamera; + Entity camera = Globals.clientState.playerCamera; if( collisionEngine != null && camera != null && @@ -103,7 +103,7 @@ public class ScriptClientVoxelUtils { @Export public static void dig(){ CollisionEngine collisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); - Entity camera = Globals.playerCamera; + Entity camera = Globals.clientState.playerCamera; if( collisionEngine != null && camera != null diff --git a/src/main/java/electrosphere/client/sim/ClientSimulation.java b/src/main/java/electrosphere/client/sim/ClientSimulation.java index 1d7c60d0..54ae9483 100644 --- a/src/main/java/electrosphere/client/sim/ClientSimulation.java +++ b/src/main/java/electrosphere/client/sim/ClientSimulation.java @@ -164,8 +164,8 @@ public class ClientSimulation { private void updateFirstPersonAttachments(){ Globals.profiler.beginCpuSample("updateFirstPersonAttachments"); //update the facing vector when camera moves in first person - if(!Globals.controlHandler.cameraIsThirdPerson() && Globals.playerCamera != null && Globals.clientState.playerEntity != null){ - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + if(!Globals.controlHandler.cameraIsThirdPerson() && Globals.clientState.playerCamera != null && Globals.clientState.playerEntity != null){ + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); //flush equipped item state if(ClientEquipState.hasEquipState(Globals.clientState.playerEntity)){ ClientEquipState equipState = ClientEquipState.getClientEquipState(Globals.clientState.playerEntity); diff --git a/src/main/java/electrosphere/client/ui/components/CharacterCustomizer.java b/src/main/java/electrosphere/client/ui/components/CharacterCustomizer.java index 3ae2d92d..9c04e8bc 100644 --- a/src/main/java/electrosphere/client/ui/components/CharacterCustomizer.java +++ b/src/main/java/electrosphere/client/ui/components/CharacterCustomizer.java @@ -63,8 +63,8 @@ public class CharacterCustomizer { CreatureData selectedRaceType = Globals.gameConfigCurrent.getCreatureTypeLoader().getType(race); //spawn camera so renderer doesn't crash (once render pipeline is modularized this shouldn't be necessary) - Globals.playerCamera = CameraEntityUtils.spawnBasicCameraEntity(new Vector3d(0,0,0), new Vector3d(0,0.3f,1).normalize()); - Globals.viewMatrix = CameraEntityUtils.getCameraViewMatrix(Globals.playerCamera); + Globals.clientState.playerCamera = CameraEntityUtils.spawnBasicCameraEntity(new Vector3d(0,0,0), new Vector3d(0,0.3f,1).normalize()); + Globals.viewMatrix = CameraEntityUtils.getCameraViewMatrix(Globals.clientState.playerCamera); //create actor panel Actor characterActor = ActorUtils.createActorFromModelPath(selectedRaceType.getGraphicsTemplate().getModel().getPath()); diff --git a/src/main/java/electrosphere/client/ui/menu/debug/ImGuiPlayerEntity.java b/src/main/java/electrosphere/client/ui/menu/debug/ImGuiPlayerEntity.java index 997691cd..9b566b02 100644 --- a/src/main/java/electrosphere/client/ui/menu/debug/ImGuiPlayerEntity.java +++ b/src/main/java/electrosphere/client/ui/menu/debug/ImGuiPlayerEntity.java @@ -85,7 +85,7 @@ public class ImGuiPlayerEntity { if(ImGui.button("1st Person Details")){ - ImGuiEntityMacros.showEntity(Globals.firstPersonEntity); + ImGuiEntityMacros.showEntity(Globals.clientState.firstPersonEntity); } ImGui.sameLine(); @@ -152,8 +152,8 @@ public class ImGuiPlayerEntity { * Draws camera data */ private static void drawCameraData(){ - ImGui.text("Yaw: " + CameraEntityUtils.getCameraYaw(Globals.playerCamera)); - ImGui.text("Pitch: " + CameraEntityUtils.getCameraPitch(Globals.playerCamera)); + ImGui.text("Yaw: " + CameraEntityUtils.getCameraYaw(Globals.clientState.playerCamera)); + ImGui.text("Pitch: " + CameraEntityUtils.getCameraPitch(Globals.clientState.playerCamera)); } } diff --git a/src/main/java/electrosphere/client/ui/menu/debug/client/ImGuiClientServices.java b/src/main/java/electrosphere/client/ui/menu/debug/client/ImGuiClientServices.java index 5803b2c2..1e0f2110 100644 --- a/src/main/java/electrosphere/client/ui/menu/debug/client/ImGuiClientServices.java +++ b/src/main/java/electrosphere/client/ui/menu/debug/client/ImGuiClientServices.java @@ -34,7 +34,7 @@ public class ImGuiClientServices { if(ImGui.collapsingHeader("Draw Cells")){ if(ImGui.button("Debug DrawCell at camera position")){ - Vector3i cameraWorldPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3i cameraWorldPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); DrawCell cell = Globals.clientState.clientDrawCellManager.getDrawCell(cameraWorldPos.x, cameraWorldPos.y, cameraWorldPos.z); LoggerInterface.loggerEngine.WARNING("" + cell); @@ -60,17 +60,17 @@ public class ImGuiClientServices { } } if(ImGui.button("Print debug info for FoliageCell at camera position")){ - Vector3i cameraWorldPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3i cameraWorldPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); FoliageCell cell = Globals.clientState.foliageCellManager.getFoliageCell(cameraWorldPos.x, cameraWorldPos.y, cameraWorldPos.z); LoggerInterface.loggerEngine.WARNING("" + cell); } if(ImGui.button("Debug FoliageCell evaluation at camera position")){ - Vector3i cameraWorldPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3i cameraWorldPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); FoliageCell cell = Globals.clientState.foliageCellManager.getFoliageCell(cameraWorldPos.x, cameraWorldPos.y, cameraWorldPos.z); cell.setTripDebug(true); } if(ImGui.button("Request terrain at camera position")){ - Vector3i cameraWorldPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3i cameraWorldPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Globals.clientState.clientTerrainManager.requestChunk(cameraWorldPos.x, cameraWorldPos.y, cameraWorldPos.z, 0); } } diff --git a/src/main/java/electrosphere/client/ui/menu/debug/entity/ImGuiEntityMacros.java b/src/main/java/electrosphere/client/ui/menu/debug/entity/ImGuiEntityMacros.java index b0696d18..61ad7693 100644 --- a/src/main/java/electrosphere/client/ui/menu/debug/entity/ImGuiEntityMacros.java +++ b/src/main/java/electrosphere/client/ui/menu/debug/entity/ImGuiEntityMacros.java @@ -189,7 +189,7 @@ public class ImGuiEntityMacros { ( AttachUtils.hasChildren(detailViewEntity) || AttachUtils.getParent(detailViewEntity) != null || - detailViewEntity == Globals.firstPersonEntity || + detailViewEntity == Globals.clientState.firstPersonEntity || detailViewEntity == Globals.clientState.playerEntity || Globals.clientState.clientSceneWrapper.clientToServerMapContainsId(detailViewEntity.getId()) ) && @@ -363,8 +363,8 @@ public class ImGuiEntityMacros { // FirstPersonTree firstPersonTree = FirstPersonTree.getTree(detailViewEntity); if(ImGui.button("Visualize facing vectors")){ DebugVisualizerUtils.clientSpawnVectorVisualizer((Entity vector) -> { - EntityUtils.getPosition(vector).set(EntityUtils.getPosition(Globals.firstPersonEntity)); - EntityUtils.getRotation(vector).set(EntityUtils.getRotation(Globals.firstPersonEntity)); + EntityUtils.getPosition(vector).set(EntityUtils.getPosition(Globals.clientState.firstPersonEntity)); + EntityUtils.getRotation(vector).set(EntityUtils.getRotation(Globals.clientState.firstPersonEntity)); }); DebugVisualizerUtils.clientSpawnVectorVisualizer((Entity vector) -> { EntityUtils.getPosition(vector).set(EntityUtils.getPosition(Globals.clientState.playerEntity)); @@ -494,9 +494,9 @@ public class ImGuiEntityMacros { if(showLinkedEntitiesTab && ImGui.collapsingHeader("Linked entities")){ ImGui.indent(); if(detailViewEntity == Globals.clientState.playerEntity && ImGui.button("View Model")){ - ImGuiEntityMacros.showEntity(Globals.firstPersonEntity); + ImGuiEntityMacros.showEntity(Globals.clientState.firstPersonEntity); } - if(detailViewEntity == Globals.firstPersonEntity && ImGui.button("3rd Person Model")){ + if(detailViewEntity == Globals.clientState.firstPersonEntity && ImGui.button("3rd Person Model")){ ImGuiEntityMacros.showEntity(Globals.clientState.playerEntity); } if(AttachUtils.getParent(detailViewEntity) != null && ImGui.button("Parent")){ diff --git a/src/main/java/electrosphere/client/ui/menu/ingame/MenuGeneratorsLevelEditor.java b/src/main/java/electrosphere/client/ui/menu/ingame/MenuGeneratorsLevelEditor.java index 1eddb895..63e4f871 100644 --- a/src/main/java/electrosphere/client/ui/menu/ingame/MenuGeneratorsLevelEditor.java +++ b/src/main/java/electrosphere/client/ui/menu/ingame/MenuGeneratorsLevelEditor.java @@ -169,8 +169,8 @@ public class MenuGeneratorsLevelEditor { //spawn creature button scrollable.addChild(Button.createButton("Spawn " + data.getId(), () -> { LoggerInterface.loggerEngine.INFO("spawn " + data.getId() + "!"); - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Realm realm = Globals.realmManager.getRealms().iterator().next(); CollisionEngine clientCollisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); //using client collision engine so ray doesn't collide with player entity Vector3d cursorPos = clientCollisionEngine.rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE).add(cursorVerticalOffset); @@ -199,8 +199,8 @@ public class MenuGeneratorsLevelEditor { //spawn creature button scrollable.addChild(Button.createButton("Spawn " + unitDefinition.getId(), () -> { LoggerInterface.loggerEngine.INFO("spawn " + unitDefinition.getId() + "!"); - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Realm realm = Globals.realmManager.getRealms().iterator().next(); CollisionEngine clientCollisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); //using client collision engine so ray doesn't collide with player entity Vector3d cursorPos = clientCollisionEngine.rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); @@ -232,8 +232,8 @@ public class MenuGeneratorsLevelEditor { //spawn foliage button scrollable.addChild(Button.createButton("Spawn " + data.getId(), () -> { LoggerInterface.loggerEngine.INFO("spawn " + data.getId() + "!"); - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Realm realm = Globals.realmManager.getRealms().iterator().next(); CollisionEngine clientCollisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); //using client collision engine so ray doesn't collide with player entity Vector3d cursorPos = clientCollisionEngine.rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE).add(cursorVerticalOffset); @@ -261,8 +261,8 @@ public class MenuGeneratorsLevelEditor { //spawn foliage button scrollable.addChild(Button.createButton("Spawn " + item.getId(), () -> { LoggerInterface.loggerEngine.INFO("spawn " + item.getId() + "!"); - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Realm realm = Globals.realmManager.getRealms().iterator().next(); CollisionEngine clientCollisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); //using client collision engine so ray doesn't collide with player entity Vector3d cursorPos = clientCollisionEngine.rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE).add(cursorVerticalOffset); @@ -291,8 +291,8 @@ public class MenuGeneratorsLevelEditor { //spawn object button scrollable.addChild(Button.createButton("Spawn " + object.getId(), () -> { LoggerInterface.loggerEngine.INFO("spawn " + object.getId() + "!"); - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Realm realm = Globals.realmManager.getRealms().iterator().next(); CollisionEngine clientCollisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); //using client collision engine so ray doesn't collide with player entity Vector3d cursorPos = clientCollisionEngine.rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE).add(cursorVerticalOffset); diff --git a/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuGeneratorsUITesting.java b/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuGeneratorsUITesting.java index c1aa6db5..db9253fe 100644 --- a/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuGeneratorsUITesting.java +++ b/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuGeneratorsUITesting.java @@ -98,8 +98,8 @@ public class MenuGeneratorsUITesting { formEl.addChild(InputMacros.createToggle("Test Toggle", false, null)); //actor panel - if(Globals.playerCamera == null){ - Globals.playerCamera = CameraEntityUtils.spawnBasicCameraEntity(new Vector3d(0,0,0), new Vector3d(-1,0,0)); + if(Globals.clientState.playerCamera == null){ + Globals.clientState.playerCamera = CameraEntityUtils.spawnBasicCameraEntity(new Vector3d(0,0,0), new Vector3d(-1,0,0)); } ActorPanel actorPanel = ActorPanel.create(ActorUtils.createActorFromModelPath(AssetDataStrings.UNITCUBE)); formEl.addChild(actorPanel); diff --git a/src/main/java/electrosphere/client/ui/menu/script/ScriptLevelEditorUtils.java b/src/main/java/electrosphere/client/ui/menu/script/ScriptLevelEditorUtils.java index 8b1740d7..a9f464b2 100644 --- a/src/main/java/electrosphere/client/ui/menu/script/ScriptLevelEditorUtils.java +++ b/src/main/java/electrosphere/client/ui/menu/script/ScriptLevelEditorUtils.java @@ -34,8 +34,8 @@ public class ScriptLevelEditorUtils { if(Globals.clientState.selectedSpawntype != null){ if(Globals.clientState.selectedSpawntype instanceof CreatureData){ LoggerInterface.loggerEngine.INFO("spawn " + Globals.clientState.selectedSpawntype.getId() + "!"); - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Realm realm = Globals.realmManager.getRealms().iterator().next(); CollisionEngine clientCollisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); //using client collision engine so ray doesn't collide with player entity Vector3d cursorPos = clientCollisionEngine.rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); @@ -46,8 +46,8 @@ public class ScriptLevelEditorUtils { CreatureUtils.serverSpawnBasicCreature(realm, cursorPos, Globals.clientState.selectedSpawntype.getId(), null); } else if(Globals.clientState.selectedSpawntype instanceof Item){ LoggerInterface.loggerEngine.INFO("spawn " + Globals.clientState.selectedSpawntype.getId() + "!"); - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Realm realm = Globals.realmManager.getRealms().iterator().next(); CollisionEngine clientCollisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); //using client collision engine so ray doesn't collide with player entity Vector3d cursorPos = clientCollisionEngine.rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); @@ -58,8 +58,8 @@ public class ScriptLevelEditorUtils { ItemUtils.serverSpawnBasicItem(realm, cursorPos, Globals.clientState.selectedSpawntype.getId()); } else if(Globals.clientState.selectedSpawntype instanceof FoliageType){ LoggerInterface.loggerEngine.INFO("spawn " + Globals.clientState.selectedSpawntype.getId() + "!"); - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Realm realm = Globals.realmManager.getRealms().iterator().next(); CollisionEngine clientCollisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); //using client collision engine so ray doesn't collide with player entity Vector3d cursorPos = clientCollisionEngine.rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); @@ -70,8 +70,8 @@ public class ScriptLevelEditorUtils { FoliageUtils.serverSpawnTreeFoliage(realm, cursorPos, Globals.clientState.selectedSpawntype.getId()); } else { LoggerInterface.loggerEngine.INFO("spawn " + Globals.clientState.selectedSpawntype.getId() + "!"); - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Realm realm = Globals.realmManager.getRealms().iterator().next(); CollisionEngine clientCollisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); //using client collision engine so ray doesn't collide with player entity Vector3d cursorPos = clientCollisionEngine.rayCastPosition(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); @@ -89,8 +89,8 @@ public class ScriptLevelEditorUtils { */ @Export public static void inspectEntity(){ - Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.playerCamera)); - Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d eyePos = new Vector3d(CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); + Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); CollisionEngine clientCollisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); //using client collision engine so ray doesn't collide with player entity Entity target = clientCollisionEngine.rayCast(new Vector3d(centerPos), new Vector3d(eyePos).mul(-1.0), CollisionEngine.DEFAULT_INTERACT_DISTANCE); //show detail view here diff --git a/src/main/java/electrosphere/controls/CameraHandler.java b/src/main/java/electrosphere/controls/CameraHandler.java index 68fb3aee..7ecda4c7 100644 --- a/src/main/java/electrosphere/controls/CameraHandler.java +++ b/src/main/java/electrosphere/controls/CameraHandler.java @@ -106,7 +106,7 @@ public class CameraHandler { public void updateGlobalCamera(){ Globals.profiler.beginCpuSample("updateGlobalCamera"); if(update){ - if(Globals.playerCamera != null){ + if(Globals.clientState.playerCamera != null){ cameraSpeed = 2.5f * (float)Globals.timekeeper.getMostRecentRawFrametime(); if(Crosshair.getCrosshairActive()){ @@ -118,12 +118,12 @@ public class CameraHandler { yaw = (float)Math.toDegrees(Math.atan2(diffed.z, diffed.x)); - CameraEntityUtils.setCameraPitch(Globals.playerCamera, pitch); - CameraEntityUtils.setCameraYaw(Globals.playerCamera, yaw); + CameraEntityUtils.setCameraPitch(Globals.clientState.playerCamera, pitch); + CameraEntityUtils.setCameraYaw(Globals.clientState.playerCamera, yaw); } else { - CameraEntityUtils.setCameraPitch(Globals.playerCamera, pitch); - CameraEntityUtils.setCameraYaw(Globals.playerCamera, yaw); + CameraEntityUtils.setCameraPitch(Globals.clientState.playerCamera, pitch); + CameraEntityUtils.setCameraYaw(Globals.clientState.playerCamera, yaw); Quaterniond pitchQuat = new Quaterniond().fromAxisAngleDeg(SpatialMathUtils.getLeftVector(), -pitch); Quaterniond yawQuat = new Quaterniond().fromAxisAngleDeg(SpatialMathUtils.getUpVector(), -yaw); @@ -134,16 +134,16 @@ public class CameraHandler { } if(trackPlayerEntity && Globals.clientState.playerEntity != null){ Vector3d entityPos = EntityUtils.getPosition(Globals.clientState.playerEntity); - CameraEntityUtils.setCameraCenter(Globals.playerCamera, new Vector3d(entityPos).add(CameraEntityUtils.getOrbitalCameraRadialOffset(Globals.playerCamera))); + CameraEntityUtils.setCameraCenter(Globals.clientState.playerCamera, new Vector3d(entityPos).add(CameraEntityUtils.getOrbitalCameraRadialOffset(Globals.clientState.playerCamera))); } //update view matrix offset float xFactor = (float)Math.cos(yaw / 180.0f * Math.PI); float yFactor = (float)Math.sin(yaw / 180.0f * Math.PI); - Vector3d radialOffset = CameraEntityUtils.getOrbitalCameraRadialOffset(Globals.playerCamera); + Vector3d radialOffset = CameraEntityUtils.getOrbitalCameraRadialOffset(Globals.clientState.playerCamera); Vector3d trueOffset = new Vector3d(radialOffset).mul(xFactor,1.0f,yFactor); - CameraEntityUtils.setOrbitalCameraRadialOffset(Globals.playerCamera, trueOffset); - cameraRotationVector.mul(CameraEntityUtils.getOrbitalCameraDistance(Globals.playerCamera)); - CameraEntityUtils.setCameraEye(Globals.playerCamera, cameraRotationVector); + CameraEntityUtils.setOrbitalCameraRadialOffset(Globals.clientState.playerCamera, trueOffset); + cameraRotationVector.mul(CameraEntityUtils.getOrbitalCameraDistance(Globals.clientState.playerCamera)); + CameraEntityUtils.setCameraEye(Globals.clientState.playerCamera, cameraRotationVector); //tell the server that we changed where we're looking, if we're in first person int perspectiveVal = CameraHandler.CAMERA_PERSPECTIVE_FIRST; @@ -163,7 +163,7 @@ public class CameraHandler { } //the view matrix - Globals.viewMatrix = CameraEntityUtils.getCameraViewMatrix(Globals.playerCamera); + Globals.viewMatrix = CameraEntityUtils.getCameraViewMatrix(Globals.clientState.playerCamera); //update the cursor on client side Globals.cursorState.updatePlayerCursor(); diff --git a/src/main/java/electrosphere/controls/categories/ControlCategoryFreecam.java b/src/main/java/electrosphere/controls/categories/ControlCategoryFreecam.java index 89de15c9..8acdaf83 100644 --- a/src/main/java/electrosphere/controls/categories/ControlCategoryFreecam.java +++ b/src/main/java/electrosphere/controls/categories/ControlCategoryFreecam.java @@ -49,58 +49,58 @@ public class ControlCategoryFreecam { ){ freeCameraControlList.add(controlMap.get(FREECAM_UP)); controlMap.get(FREECAM_UP).setOnRepeat(new ControlMethod(){public void execute(MouseState mouseState){ - Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.playerCamera); + Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera); playerCameraCenterPos.add(0,0.1f,0); - CameraEntityUtils.setCameraCenter(Globals.playerCamera,playerCameraCenterPos); + CameraEntityUtils.setCameraCenter(Globals.clientState.playerCamera,playerCameraCenterPos); }}); freeCameraControlList.add(controlMap.get(FREECAM_DOWN)); controlMap.get(FREECAM_DOWN).setOnRepeat(new ControlMethod(){public void execute(MouseState mouseState){ - Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.playerCamera); + Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera); playerCameraCenterPos.add(0,-0.1f,0); - CameraEntityUtils.setCameraCenter(Globals.playerCamera,playerCameraCenterPos); + CameraEntityUtils.setCameraCenter(Globals.clientState.playerCamera,playerCameraCenterPos); }}); freeCameraControlList.add(controlMap.get(FREECAM_FORWARD)); ControlMethod freeCamForwardCallback = new ControlMethod(){public void execute(MouseState mouseState){ - Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.playerCamera); - Vector3d playerCameraEyePos = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera); + Vector3d playerCameraEyePos = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); playerCameraCenterPos.add(new Vector3d(playerCameraEyePos).normalize().mul(-0.1f)); - CameraEntityUtils.setCameraCenter(Globals.playerCamera,playerCameraCenterPos); + CameraEntityUtils.setCameraCenter(Globals.clientState.playerCamera,playerCameraCenterPos); }}; controlMap.get(FREECAM_FORWARD).setOnClick(freeCamForwardCallback); controlMap.get(FREECAM_FORWARD).setOnRepeat(freeCamForwardCallback); freeCameraControlList.add(controlMap.get(FREECAM_BACKWARD)); ControlMethod freeCamBackwardCallback = new ControlMethod(){public void execute(MouseState mouseState){ - Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.playerCamera); - Vector3d playerCameraEyePos = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera); + Vector3d playerCameraEyePos = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); playerCameraCenterPos.add(new Vector3d(playerCameraEyePos).normalize().mul(0.1f)); - CameraEntityUtils.setCameraCenter(Globals.playerCamera,playerCameraCenterPos); + CameraEntityUtils.setCameraCenter(Globals.clientState.playerCamera,playerCameraCenterPos); }}; controlMap.get(FREECAM_BACKWARD).setOnClick(freeCamBackwardCallback); controlMap.get(FREECAM_BACKWARD).setOnRepeat(freeCamBackwardCallback); freeCameraControlList.add(controlMap.get(FREECAM_LEFT)); ControlMethod freeCamLeftCallback = new ControlMethod(){public void execute(MouseState mouseState){ - Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.playerCamera); - Vector3d playerCameraEyePos = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera); + Vector3d playerCameraEyePos = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); Vector3d modifiedVec = new Vector3d(playerCameraEyePos.x,0,playerCameraEyePos.z).rotateY((float)(-90 * Math.PI / 180)).normalize(); playerCameraCenterPos.add(new Vector3d(modifiedVec).mul(0.1f)); - CameraEntityUtils.setCameraCenter(Globals.playerCamera,playerCameraCenterPos); + CameraEntityUtils.setCameraCenter(Globals.clientState.playerCamera,playerCameraCenterPos); }}; controlMap.get(FREECAM_LEFT).setOnClick(freeCamLeftCallback); controlMap.get(FREECAM_LEFT).setOnRepeat(freeCamLeftCallback); freeCameraControlList.add(controlMap.get(FREECAM_RIGHT)); ControlMethod freeCamRightCallback = new ControlMethod(){public void execute(MouseState mouseState){ - Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.playerCamera); - Vector3d playerCameraEyePos = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d playerCameraCenterPos = CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera); + Vector3d playerCameraEyePos = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); Vector3d modifiedVec = new Vector3d(playerCameraEyePos.x,0,playerCameraEyePos.z).rotateY((float)(90 * Math.PI / 180)).normalize(); playerCameraCenterPos.add(new Vector3d(modifiedVec).mul(0.1f)); - CameraEntityUtils.setCameraCenter(Globals.playerCamera,playerCameraCenterPos); + CameraEntityUtils.setCameraCenter(Globals.clientState.playerCamera,playerCameraCenterPos); }}; controlMap.get(FREECAM_RIGHT).setOnClick(freeCamRightCallback); controlMap.get(FREECAM_RIGHT).setOnRepeat(freeCamRightCallback); diff --git a/src/main/java/electrosphere/controls/categories/ControlCategoryMainGame.java b/src/main/java/electrosphere/controls/categories/ControlCategoryMainGame.java index 8fa57c30..d205c152 100644 --- a/src/main/java/electrosphere/controls/categories/ControlCategoryMainGame.java +++ b/src/main/java/electrosphere/controls/categories/ControlCategoryMainGame.java @@ -132,18 +132,18 @@ public class ControlCategoryMainGame { if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; if(controlMap.get(DATA_STRING_INPUT_CODE_STRAFE_LEFT).isState()){ - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); groundTree.start(MovementRelativeFacing.FORWARD_LEFT); } else if(controlMap.get(DATA_STRING_INPUT_CODE_STRAFE_RIGHT).isState()){ - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); groundTree.start(MovementRelativeFacing.FORWARD_RIGHT); } else { - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); groundTree.start(MovementRelativeFacing.FORWARD); } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.FORWARD); } } @@ -154,18 +154,18 @@ public class ControlCategoryMainGame { if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; if(controlMap.get(DATA_STRING_INPUT_CODE_STRAFE_LEFT).isState()){ - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); groundTree.start(MovementRelativeFacing.FORWARD_LEFT); } else if(controlMap.get(DATA_STRING_INPUT_CODE_STRAFE_RIGHT).isState()){ - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); groundTree.start(MovementRelativeFacing.FORWARD_RIGHT); } else { - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); groundTree.start(MovementRelativeFacing.FORWARD); } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.FORWARD); } } @@ -191,7 +191,7 @@ public class ControlCategoryMainGame { BehaviorTree movementTree = CreatureUtils.clientGetEntityMovementTree(Globals.clientState.playerEntity); if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; - Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); if(controlMap.get(DATA_STRING_INPUT_CODE_STRAFE_LEFT).isState()){ CreatureUtils.setFacingVector(Globals.clientState.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(3.0/4.0*Math.PI).normalize()); groundTree.start(MovementRelativeFacing.BACKWARD_LEFT); @@ -199,12 +199,12 @@ public class ControlCategoryMainGame { CreatureUtils.setFacingVector(Globals.clientState.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(5.0/4.0*Math.PI).normalize()); groundTree.start(MovementRelativeFacing.BACKWARD_RIGHT); } else { - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); groundTree.start(MovementRelativeFacing.BACKWARD); } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.BACKWARD); } } @@ -214,7 +214,7 @@ public class ControlCategoryMainGame { BehaviorTree movementTree = CreatureUtils.clientGetEntityMovementTree(Globals.clientState.playerEntity); if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; - Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); if(controlMap.get(DATA_STRING_INPUT_CODE_STRAFE_LEFT).isState()){ CreatureUtils.setFacingVector(Globals.clientState.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(3.0/4.0*Math.PI).normalize()); groundTree.start(MovementRelativeFacing.BACKWARD_LEFT); @@ -222,12 +222,12 @@ public class ControlCategoryMainGame { CreatureUtils.setFacingVector(Globals.clientState.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(5.0/4.0*Math.PI).normalize()); groundTree.start(MovementRelativeFacing.BACKWARD_RIGHT); } else { - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); groundTree.start(MovementRelativeFacing.BACKWARD); } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.BACKWARD); } } @@ -253,7 +253,7 @@ public class ControlCategoryMainGame { BehaviorTree movementTree = CreatureUtils.clientGetEntityMovementTree(Globals.clientState.playerEntity); if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; - Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); if( (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) @@ -262,7 +262,7 @@ public class ControlCategoryMainGame { groundTree.start(MovementRelativeFacing.FORWARD); } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ - Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); CreatureUtils.setFacingVector(Globals.clientState.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI/2.0).normalize()); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.FORWARD); @@ -274,7 +274,7 @@ public class ControlCategoryMainGame { BehaviorTree movementTree = CreatureUtils.clientGetEntityMovementTree(Globals.clientState.playerEntity); if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; - Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); if( (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) @@ -283,7 +283,7 @@ public class ControlCategoryMainGame { groundTree.start(MovementRelativeFacing.FORWARD); } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ - Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); CreatureUtils.setFacingVector(Globals.clientState.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(Math.PI/2.0).normalize()); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.FORWARD); @@ -311,7 +311,7 @@ public class ControlCategoryMainGame { BehaviorTree movementTree = CreatureUtils.clientGetEntityMovementTree(Globals.clientState.playerEntity); if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; - Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); if( (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) @@ -320,7 +320,7 @@ public class ControlCategoryMainGame { groundTree.start(MovementRelativeFacing.FORWARD); } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ - Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); CreatureUtils.setFacingVector(Globals.clientState.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(-Math.PI/2.0).normalize()); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.FORWARD); @@ -332,7 +332,7 @@ public class ControlCategoryMainGame { BehaviorTree movementTree = CreatureUtils.clientGetEntityMovementTree(Globals.clientState.playerEntity); if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; - Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); if( (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_BACKWARD).getKeyValue())) @@ -341,7 +341,7 @@ public class ControlCategoryMainGame { groundTree.start(MovementRelativeFacing.FORWARD); } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ - Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + Vector3d cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); CreatureUtils.setFacingVector(Globals.clientState.playerEntity, new Vector3d(-cameraEyeVector.x,0,-cameraEyeVector.z).rotateY(-Math.PI/2.0).normalize()); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.FORWARD); @@ -378,7 +378,7 @@ public class ControlCategoryMainGame { BehaviorTree movementTree = CreatureUtils.clientGetEntityMovementTree(Globals.clientState.playerEntity); if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); if( (groundTree.getState()==MovementTreeState.IDLE || groundTree.getState()==MovementTreeState.SLOWDOWN) && (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && @@ -388,7 +388,7 @@ public class ControlCategoryMainGame { } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.LEFT); } } @@ -398,7 +398,7 @@ public class ControlCategoryMainGame { BehaviorTree movementTree = CreatureUtils.clientGetEntityMovementTree(Globals.clientState.playerEntity); if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); if( (groundTree.getState()==MovementTreeState.IDLE || groundTree.getState()==MovementTreeState.SLOWDOWN) && (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && @@ -408,7 +408,7 @@ public class ControlCategoryMainGame { } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.LEFT); } } @@ -434,7 +434,7 @@ public class ControlCategoryMainGame { BehaviorTree movementTree = CreatureUtils.clientGetEntityMovementTree(Globals.clientState.playerEntity); if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); if( (groundTree.getState()==MovementTreeState.IDLE || groundTree.getState()==MovementTreeState.SLOWDOWN) && (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && @@ -444,7 +444,7 @@ public class ControlCategoryMainGame { } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.RIGHT); } } @@ -454,7 +454,7 @@ public class ControlCategoryMainGame { BehaviorTree movementTree = CreatureUtils.clientGetEntityMovementTree(Globals.clientState.playerEntity); if(movementTree instanceof ClientGroundMovementTree){ ClientGroundMovementTree groundTree = (ClientGroundMovementTree) movementTree; - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); if( (groundTree.getState()==MovementTreeState.IDLE || groundTree.getState()==MovementTreeState.SLOWDOWN) && (controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).isIsKey() && !Globals.controlCallback.getKey(controlMap.get(DATA_STRING_INPUT_CODE_MOVEMENT_FORWARD).getKeyValue())) && @@ -464,7 +464,7 @@ public class ControlCategoryMainGame { } } else if(ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity) != null){ ClientEditorMovementTree clientEditorMovementTree = ClientEditorMovementTree.getClientEditorMovementTree(Globals.clientState.playerEntity); - CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.playerCamera)); + CreatureUtils.setFacingVector(Globals.clientState.playerEntity, CameraEntityUtils.getFacingVec(Globals.clientState.playerCamera)); clientEditorMovementTree.start(electrosphere.entity.state.movement.editor.ClientEditorMovementTree.EditorMovementRelativeFacing.RIGHT); } } diff --git a/src/main/java/electrosphere/controls/cursor/CursorState.java b/src/main/java/electrosphere/controls/cursor/CursorState.java index 893c58bb..87b8b383 100644 --- a/src/main/java/electrosphere/controls/cursor/CursorState.java +++ b/src/main/java/electrosphere/controls/cursor/CursorState.java @@ -197,7 +197,7 @@ public class CursorState { */ public void updatePlayerCursor(){ CollisionEngine collisionEngine = Globals.clientState.clientSceneWrapper.getCollisionEngine(); - Entity camera = Globals.playerCamera; + Entity camera = Globals.clientState.playerCamera; if( collisionEngine != null && camera != null && diff --git a/src/main/java/electrosphere/engine/Globals.java b/src/main/java/electrosphere/engine/Globals.java index bcbe579d..c6b5124c 100644 --- a/src/main/java/electrosphere/engine/Globals.java +++ b/src/main/java/electrosphere/engine/Globals.java @@ -348,13 +348,6 @@ public class Globals { //collision world data public static CollisionWorldData commonWorldData; - - - //the player camera entity - public static Entity playerCamera; - - //the entity for the first person modal (view model) - public static Entity firstPersonEntity; /** * The target of the interaction @@ -653,8 +646,6 @@ public class Globals { * Unloads scene */ public static void unloadScene(){ - Globals.playerCamera = null; - Globals.firstPersonEntity = null; Globals.playerManager = new PlayerManager(); Globals.clientState.clientScene = new Scene(); Globals.clientState.clientSceneWrapper = new ClientSceneWrapper(Globals.clientState.clientScene, new CollisionEngine(), CollisionEngine.create(new ClientChemistryCollisionCallback()), new CollisionEngine()); diff --git a/src/main/java/electrosphere/engine/loadingthreads/ClientLoading.java b/src/main/java/electrosphere/engine/loadingthreads/ClientLoading.java index 98ba3b75..bd3e77d6 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/ClientLoading.java +++ b/src/main/java/electrosphere/engine/loadingthreads/ClientLoading.java @@ -159,7 +159,7 @@ public class ClientLoading { Globals.controlHandler.hintUpdateControlState(ControlHandler.ControlsState.NO_INPUT); //init camera - Globals.playerCamera = CameraEntityUtils.spawnBasicCameraEntity(new Vector3d(0,0,0), new Vector3d(-1,0,0)); + Globals.clientState.playerCamera = CameraEntityUtils.spawnBasicCameraEntity(new Vector3d(0,0,0), new Vector3d(-1,0,0)); Globals.cameraHandler.setTrackPlayerEntity(false); Globals.cameraHandler.setUpdate(false); //initialize the "real" objects simulation diff --git a/src/main/java/electrosphere/entity/ClientEntityUtils.java b/src/main/java/electrosphere/entity/ClientEntityUtils.java index be6ec8f2..62fe1c4c 100644 --- a/src/main/java/electrosphere/entity/ClientEntityUtils.java +++ b/src/main/java/electrosphere/entity/ClientEntityUtils.java @@ -83,8 +83,8 @@ public class ClientEntityUtils { } HitboxCollectionState.destroyHitboxState(entity,false); ClientInteractionEngine.destroyCollidableTemplate(entity); - if(entity == Globals.clientState.playerEntity && Globals.firstPersonEntity != null){ - ClientEntityUtils.destroyEntity(Globals.firstPersonEntity); + if(entity == Globals.clientState.playerEntity && Globals.clientState.firstPersonEntity != null){ + ClientEntityUtils.destroyEntity(Globals.clientState.firstPersonEntity); } } } diff --git a/src/main/java/electrosphere/entity/btree/StateTransitionUtil.java b/src/main/java/electrosphere/entity/btree/StateTransitionUtil.java index 1c8dd656..807b5c2c 100644 --- a/src/main/java/electrosphere/entity/btree/StateTransitionUtil.java +++ b/src/main/java/electrosphere/entity/btree/StateTransitionUtil.java @@ -280,7 +280,7 @@ public class StateTransitionUtil { //Interrupt animation in first person // if(animation != null){ - FirstPersonTree.conditionallyInterruptAnimation(Globals.firstPersonEntity, animation); + FirstPersonTree.conditionallyInterruptAnimation(Globals.clientState.firstPersonEntity, animation); } } } diff --git a/src/main/java/electrosphere/entity/state/attach/AttachUtils.java b/src/main/java/electrosphere/entity/state/attach/AttachUtils.java index e388402e..babff618 100644 --- a/src/main/java/electrosphere/entity/state/attach/AttachUtils.java +++ b/src/main/java/electrosphere/entity/state/attach/AttachUtils.java @@ -622,8 +622,8 @@ public class AttachUtils { getChildrenList(parent).remove(toAttach); } //special case handling for view model - if(parent == Globals.clientState.playerEntity && getChildrenList(Globals.firstPersonEntity) != null){ - getChildrenList(Globals.firstPersonEntity).remove(toAttach); + if(parent == Globals.clientState.playerEntity && getChildrenList(Globals.clientState.firstPersonEntity) != null){ + getChildrenList(Globals.clientState.firstPersonEntity).remove(toAttach); } return bone; } diff --git a/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java b/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java index 74b44f54..6b4e14aa 100644 --- a/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java +++ b/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java @@ -566,7 +566,7 @@ public class ClientAttackTree implements BehaviorTree { String animName = this.currentMove.getAttackState().getAnimation().getNameThirdPerson(); actor.setFreezeFrames(animName, this.currentMove.getHitstun()); if(parent == Globals.clientState.playerEntity && !Globals.controlHandler.cameraIsThirdPerson()){ - Actor viewmodelActor = EntityUtils.getActor(Globals.firstPersonEntity); + Actor viewmodelActor = EntityUtils.getActor(Globals.clientState.firstPersonEntity); animName = this.currentMove.getAttackState().getAnimation().getNameFirstPerson(); viewmodelActor.setFreezeFrames(animName, this.currentMove.getHitstun()); } diff --git a/src/main/java/electrosphere/entity/state/client/firstPerson/FirstPersonTree.java b/src/main/java/electrosphere/entity/state/client/firstPerson/FirstPersonTree.java index 352579be..74b0ee0a 100644 --- a/src/main/java/electrosphere/entity/state/client/firstPerson/FirstPersonTree.java +++ b/src/main/java/electrosphere/entity/state/client/firstPerson/FirstPersonTree.java @@ -103,8 +103,8 @@ public class FirstPersonTree implements BehaviorTree { * @param offset The offset to start the animation at */ public void playAnimation(String animationName, int priority, double offset){ - if(Globals.firstPersonEntity != null){ - Actor actor = EntityUtils.getActor(Globals.firstPersonEntity); + if(Globals.clientState.firstPersonEntity != null){ + Actor actor = EntityUtils.getActor(Globals.clientState.firstPersonEntity); if( (!actor.isPlayingAnimation() || !actor.isPlayingAnimation(animationName)) && (Globals.assetManager.fetchModel(actor.getModelPath()) != null && Globals.assetManager.fetchModel(actor.getModelPath()).getAnimation(animationName) != null) @@ -129,8 +129,8 @@ public class FirstPersonTree implements BehaviorTree { * @param offset The offset to start the animation at */ public void playAnimation(TreeDataAnimation animation, double offset){ - if(Globals.firstPersonEntity != null){ - Actor actor = EntityUtils.getActor(Globals.firstPersonEntity); + if(Globals.clientState.firstPersonEntity != null){ + Actor actor = EntityUtils.getActor(Globals.clientState.firstPersonEntity); if( (!actor.isPlayingAnimation() || !actor.isPlayingAnimation(animation.getNameFirstPerson())) && (Globals.assetManager.fetchModel(actor.getModelPath()) != null && Globals.assetManager.fetchModel(actor.getModelPath()).getAnimation(animation.getNameFirstPerson()) != null) @@ -146,8 +146,8 @@ public class FirstPersonTree implements BehaviorTree { * @param animationName the name of the animation */ public void interruptAnimation(TreeDataAnimation animation){ - if(Globals.firstPersonEntity != null){ - Actor actor = EntityUtils.getActor(Globals.firstPersonEntity); + if(Globals.clientState.firstPersonEntity != null){ + Actor actor = EntityUtils.getActor(Globals.clientState.firstPersonEntity); if( (actor.isPlayingAnimation() || actor.isPlayingAnimation(animation.getNameFirstPerson())) && (Globals.assetManager.fetchModel(actor.getModelPath()) != null && Globals.assetManager.fetchModel(actor.getModelPath()).getAnimation(animation.getNameFirstPerson()) != null) @@ -164,8 +164,8 @@ public class FirstPersonTree implements BehaviorTree { * @param priority The priority of the animation */ public static void conditionallyPlayAnimation(Entity entity, String animationName, int priority, double offset){ - if(entity != null && entity == Globals.clientState.playerEntity && Globals.firstPersonEntity != null && FirstPersonTree.hasTree(Globals.firstPersonEntity)){ - FirstPersonTree.getTree(Globals.firstPersonEntity).playAnimation(animationName, priority); + if(entity != null && entity == Globals.clientState.playerEntity && Globals.clientState.firstPersonEntity != null && FirstPersonTree.hasTree(Globals.clientState.firstPersonEntity)){ + FirstPersonTree.getTree(Globals.clientState.firstPersonEntity).playAnimation(animationName, priority); } } @@ -185,8 +185,8 @@ public class FirstPersonTree implements BehaviorTree { * @param animationName the name of the animation */ public static void conditionallyPlayAnimation(Entity entity, TreeDataAnimation animation){ - if(entity != null && entity == Globals.clientState.playerEntity && Globals.firstPersonEntity != null && FirstPersonTree.hasTree(Globals.firstPersonEntity)){ - FirstPersonTree.getTree(Globals.firstPersonEntity).playAnimation(animation); + if(entity != null && entity == Globals.clientState.playerEntity && Globals.clientState.firstPersonEntity != null && FirstPersonTree.hasTree(Globals.clientState.firstPersonEntity)){ + FirstPersonTree.getTree(Globals.clientState.firstPersonEntity).playAnimation(animation); } } @@ -197,8 +197,8 @@ public class FirstPersonTree implements BehaviorTree { * @param offset The offset to start the animation at */ public static void conditionallyPlayAnimation(Entity entity, TreeDataAnimation animation, double offset){ - if(entity != null && entity == Globals.clientState.playerEntity && FirstPersonTree.hasTree(Globals.firstPersonEntity)){ - FirstPersonTree.getTree(Globals.firstPersonEntity).playAnimation(animation,offset); + if(entity != null && entity == Globals.clientState.playerEntity && FirstPersonTree.hasTree(Globals.clientState.firstPersonEntity)){ + FirstPersonTree.getTree(Globals.clientState.firstPersonEntity).playAnimation(animation,offset); } } @@ -208,8 +208,8 @@ public class FirstPersonTree implements BehaviorTree { * @param animation The animation */ public static void conditionallyInterruptAnimation(Entity entity, TreeDataAnimation animation){ - if(entity != null && entity == Globals.clientState.playerEntity && FirstPersonTree.hasTree(Globals.firstPersonEntity)){ - FirstPersonTree.getTree(Globals.firstPersonEntity).interruptAnimation(animation); + if(entity != null && entity == Globals.clientState.playerEntity && FirstPersonTree.hasTree(Globals.clientState.firstPersonEntity)){ + FirstPersonTree.getTree(Globals.clientState.firstPersonEntity).interruptAnimation(animation); } } diff --git a/src/main/java/electrosphere/entity/state/client/particle/ClientParticleTree.java b/src/main/java/electrosphere/entity/state/client/particle/ClientParticleTree.java index efa0faba..693d4197 100644 --- a/src/main/java/electrosphere/entity/state/client/particle/ClientParticleTree.java +++ b/src/main/java/electrosphere/entity/state/client/particle/ClientParticleTree.java @@ -100,7 +100,7 @@ public class ClientParticleTree implements BehaviorTree { public void simulate(float deltaTime){ InstancedActor instancedActor = InstancedActor.getInstancedActor(parent); Vector3d position = EntityUtils.getPosition(parent); - Vector3d cameraPos = CameraEntityUtils.getCameraCenter(Globals.playerCamera); + Vector3d cameraPos = CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera); //update position position.add(velocity); diff --git a/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java b/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java index 0e13794c..297b77c1 100644 --- a/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java +++ b/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java @@ -136,7 +136,7 @@ public class ClientEquipState implements BehaviorTree { meshMask.queueMesh(modelName, toDraw); } //attach to parent bone - if(parent != Globals.firstPersonEntity || Globals.controlHandler.cameraIsThirdPerson()){ + if(parent != Globals.clientState.firstPersonEntity || Globals.controlHandler.cameraIsThirdPerson()){ AttachUtils.clientAttachEntityToEntityAtBone( parent, toEquip, @@ -146,7 +146,7 @@ public class ClientEquipState implements BehaviorTree { ); } else { AttachUtils.clientAttachEntityToEntityAtBone( - Globals.firstPersonEntity, + Globals.clientState.firstPersonEntity, toEquip, point.getFirstPersonBone(), AttachUtils.getEquipPointVectorOffset(point.getOffsetVectorFirstPerson()), @@ -174,7 +174,7 @@ public class ClientEquipState implements BehaviorTree { } //actually equip equipMap.put(point.getEquipPointId(),toEquip); - if(parent != Globals.firstPersonEntity || Globals.controlHandler.cameraIsThirdPerson()){ + if(parent != Globals.clientState.firstPersonEntity || Globals.controlHandler.cameraIsThirdPerson()){ AttachUtils.clientAttachEntityToEntityAtBone( parent, toEquip, @@ -184,7 +184,7 @@ public class ClientEquipState implements BehaviorTree { ); } else { AttachUtils.clientAttachEntityToEntityAtBone( - Globals.firstPersonEntity, + Globals.clientState.firstPersonEntity, toEquip, point.getFirstPersonBone(), AttachUtils.getEquipPointVectorOffset(point.getOffsetVectorFirstPerson()), @@ -410,7 +410,7 @@ public class ClientEquipState implements BehaviorTree { EquipPoint point = this.getEquipPoint(occupiedPoint); Entity toEquip = this.equipMap.get(point.getEquipPointId()); if(AttachUtils.getParent(toEquip) != Globals.clientState.playerEntity){ - AttachUtils.clientDetatchEntityFromEntityAtBone(Globals.firstPersonEntity, toEquip); + AttachUtils.clientDetatchEntityFromEntityAtBone(Globals.clientState.firstPersonEntity, toEquip); AttachUtils.clientAttachEntityToEntityAtBone( Globals.clientState.playerEntity, toEquip, @@ -426,17 +426,17 @@ public class ClientEquipState implements BehaviorTree { for(String occupiedPoint : this.getEquippedPoints()){ EquipPoint point = this.getEquipPoint(occupiedPoint); Entity toEquip = this.equipMap.get(point.getEquipPointId()); - if(AttachUtils.getParent(toEquip) != Globals.firstPersonEntity){ + if(AttachUtils.getParent(toEquip) != Globals.clientState.firstPersonEntity){ AttachUtils.clientDetatchEntityFromEntityAtBone(Globals.clientState.playerEntity, toEquip); AttachUtils.clientAttachEntityToEntityAtBone( - Globals.firstPersonEntity, + Globals.clientState.firstPersonEntity, toEquip, point.getFirstPersonBone(), AttachUtils.getEquipPointVectorOffset(point.getOffsetVectorFirstPerson()), AttachUtils.getEquipPointRotationOffset(point.getOffsetRotationFirstPerson()) ); } else { - AttachUtils.clientUpdateEntityTransforms(toEquip, Globals.firstPersonEntity); + AttachUtils.clientUpdateEntityTransforms(toEquip, Globals.clientState.firstPersonEntity); } } } diff --git a/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java b/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java index 0d70fa58..0d8e78dd 100644 --- a/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java +++ b/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java @@ -121,7 +121,7 @@ public class ClientToolbarState implements BehaviorTree { meshMask.queueMesh(modelName, toDraw); } //attach to parent bone - if(parent != Globals.firstPersonEntity || Globals.controlHandler.cameraIsThirdPerson()){ + if(parent != Globals.clientState.firstPersonEntity || Globals.controlHandler.cameraIsThirdPerson()){ AttachUtils.clientAttachEntityToEntityAtBone( parent, toEquip, @@ -131,7 +131,7 @@ public class ClientToolbarState implements BehaviorTree { ); } else { AttachUtils.clientAttachEntityToEntityAtBone( - Globals.firstPersonEntity, + Globals.clientState.firstPersonEntity, toEquip, targetPoint.getFirstPersonBone(), AttachUtils.getEquipPointVectorOffset(targetPoint.getOffsetVectorFirstPerson()), @@ -158,7 +158,7 @@ public class ClientToolbarState implements BehaviorTree { } } //actually equip - if(parent != Globals.firstPersonEntity || Globals.controlHandler.cameraIsThirdPerson()){ + if(parent != Globals.clientState.firstPersonEntity || Globals.controlHandler.cameraIsThirdPerson()){ AttachUtils.clientAttachEntityToEntityAtBone( parent, toEquip, @@ -168,7 +168,7 @@ public class ClientToolbarState implements BehaviorTree { ); } else { AttachUtils.clientAttachEntityToEntityAtBone( - Globals.firstPersonEntity, + Globals.clientState.firstPersonEntity, toEquip, targetPoint.getFirstPersonBone(), AttachUtils.getEquipPointVectorOffset(targetPoint.getOffsetVectorFirstPerson()), diff --git a/src/main/java/electrosphere/entity/state/foliage/AmbientFoliage.java b/src/main/java/electrosphere/entity/state/foliage/AmbientFoliage.java index cc551544..d96349f1 100644 --- a/src/main/java/electrosphere/entity/state/foliage/AmbientFoliage.java +++ b/src/main/java/electrosphere/entity/state/foliage/AmbientFoliage.java @@ -47,7 +47,7 @@ public class AmbientFoliage implements BehaviorTree { EntityUtils.getScale(parent).set(growthLevel); //rotate to face cameras - // Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.playerCamera); + // Vector3f cameraEyeVector = CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera); // EntityUtils.getRotation(parent).rotateTo(MathUtils.ORIGIN_VECTOR, new Vector3d(cameraEyeVector)); diff --git a/src/main/java/electrosphere/net/client/protocol/EntityProtocol.java b/src/main/java/electrosphere/net/client/protocol/EntityProtocol.java index a838f45f..0cdae73b 100644 --- a/src/main/java/electrosphere/net/client/protocol/EntityProtocol.java +++ b/src/main/java/electrosphere/net/client/protocol/EntityProtocol.java @@ -192,7 +192,7 @@ public class EntityProtocol implements ClientProtocolTemplate { Globals.clientCharacterID = message.getentityID(); Globals.clientState.playerEntity = target; if(viewModelData != null && viewModelData.getFirstPersonModelPath() != null){ - Globals.firstPersonEntity = CreatureUtils.clientCreateViewModel( + Globals.clientState.firstPersonEntity = CreatureUtils.clientCreateViewModel( creatureTypeRaw, null ); diff --git a/src/main/java/electrosphere/renderer/RenderingEngine.java b/src/main/java/electrosphere/renderer/RenderingEngine.java index 9b256d1a..4d4c37c2 100644 --- a/src/main/java/electrosphere/renderer/RenderingEngine.java +++ b/src/main/java/electrosphere/renderer/RenderingEngine.java @@ -500,7 +500,7 @@ public class RenderingEngine { } //Update light buffer - lightManager.update(renderPipelineState,openGLState,Globals.playerCamera); + lightManager.update(renderPipelineState,openGLState,Globals.clientState.playerCamera); this.checkError(); @@ -766,7 +766,7 @@ public class RenderingEngine { */ private boolean shouldRunPipelines(){ boolean rVal = - Globals.playerCamera != null + Globals.clientState.playerCamera != null ; return rVal; } diff --git a/src/main/java/electrosphere/renderer/model/Mesh.java b/src/main/java/electrosphere/renderer/model/Mesh.java index 7f9f7479..9a7b4adb 100644 --- a/src/main/java/electrosphere/renderer/model/Mesh.java +++ b/src/main/java/electrosphere/renderer/model/Mesh.java @@ -380,8 +380,8 @@ public class Mesh { openGLState.glBindBufferBase(LightManager.DIRECT_LIGHT_SSBO_BIND_POINT, lightManager.getDirectLightSSBO()); //set uniforms required - openGLState.getActiveShader().setUniform(openGLState, "zNear", CameraEntityUtils.getNearClip(Globals.playerCamera)); - openGLState.getActiveShader().setUniform(openGLState, "zFar", CameraEntityUtils.getFarClip(Globals.playerCamera)); + openGLState.getActiveShader().setUniform(openGLState, "zNear", CameraEntityUtils.getNearClip(Globals.clientState.playerCamera)); + openGLState.getActiveShader().setUniform(openGLState, "zFar", CameraEntityUtils.getFarClip(Globals.clientState.playerCamera)); openGLState.getActiveShader().setUniform(openGLState, "gridSize", new Vector3i(LightManager.LIGHT_CLUSTER_WIDTH_X,LightManager.LIGHT_CLUSTER_WIDTH_Y,LightManager.LIGHT_CLUSTER_WIDTH_Z)); openGLState.getActiveShader().setUniform(openGLState, "screenDimensions", openGLState.getViewport()); @@ -483,7 +483,7 @@ public class Mesh { openGLState.getActiveShader().setUniform(openGLState, "model", parent.getModelMatrix()); openGLState.getActiveShader().setUniform(openGLState, "view", Globals.viewMatrix); openGLState.getActiveShader().setUniform(openGLState, "projection", Globals.projectionMatrix); - openGLState.getActiveShader().setUniform(openGLState, "viewPos", CameraEntityUtils.getCameraEye(Globals.playerCamera)); + openGLState.getActiveShader().setUniform(openGLState, "viewPos", CameraEntityUtils.getCameraEye(Globals.clientState.playerCamera)); Vector3f worldPos = new Vector3f((float)parent.getWorldPos().x,(float)parent.getWorldPos().y,(float)parent.getWorldPos().z); openGLState.getActiveShader().setUniform(openGLState, "modelWorldPos", worldPos); openGLState.getActiveShader().setUniform(openGLState, "lightSpaceMatrix", Globals.lightDepthMatrix); diff --git a/src/main/java/electrosphere/renderer/pipelines/FirstPersonItemsPipeline.java b/src/main/java/electrosphere/renderer/pipelines/FirstPersonItemsPipeline.java index 9df247bd..0d878709 100644 --- a/src/main/java/electrosphere/renderer/pipelines/FirstPersonItemsPipeline.java +++ b/src/main/java/electrosphere/renderer/pipelines/FirstPersonItemsPipeline.java @@ -28,10 +28,10 @@ public class FirstPersonItemsPipeline implements RenderPipeline { @Override public void render(OpenGLState openGLState, RenderPipelineState renderPipelineState) { - if(Globals.firstPersonEntity != null && !Globals.controlHandler.cameraIsThirdPerson()){ + if(Globals.clientState.firstPersonEntity != null && !Globals.controlHandler.cameraIsThirdPerson()){ //update logic if(Globals.cameraHandler.getTrackPlayerEntity()){ - updateFirstPersonModelPosition(Globals.firstPersonEntity); + updateFirstPersonModelPosition(Globals.clientState.firstPersonEntity); } //setup opengl state @@ -52,27 +52,27 @@ public class FirstPersonItemsPipeline implements RenderPipeline { // //Draw viewmodel { - Vector3d position = EntityUtils.getPosition(Globals.firstPersonEntity); - Actor actor = EntityUtils.getActor(Globals.firstPersonEntity); + Vector3d position = EntityUtils.getPosition(Globals.clientState.firstPersonEntity); + Actor actor = EntityUtils.getActor(Globals.clientState.firstPersonEntity); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); //calculate and apply model transform modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); - modelTransformMatrix.rotate(EntityUtils.getRotation(Globals.firstPersonEntity)); - modelTransformMatrix.scale(new Vector3d(EntityUtils.getScale(Globals.firstPersonEntity))); + modelTransformMatrix.rotate(EntityUtils.getRotation(Globals.clientState.firstPersonEntity)); + modelTransformMatrix.scale(new Vector3d(EntityUtils.getScale(Globals.clientState.firstPersonEntity))); actor.applySpatialData(modelTransformMatrix,position); //draw actor.draw(renderPipelineState, openGLState); } //draw children of viewmodel - if(AttachUtils.hasChildren(Globals.firstPersonEntity)){ - for(Entity child : AttachUtils.getChildrenList(Globals.firstPersonEntity)){ + if(AttachUtils.hasChildren(Globals.clientState.firstPersonEntity)){ + for(Entity child : AttachUtils.getChildrenList(Globals.clientState.firstPersonEntity)){ Vector3d position = EntityUtils.getPosition(child); Actor actor = EntityUtils.getActor(child); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); //calculate and apply model transform modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); @@ -96,13 +96,13 @@ public class FirstPersonItemsPipeline implements RenderPipeline { FirstPersonTree tree = FirstPersonTree.getTree(target); - Matrix4d rotationMat = CameraEntityUtils.getRotationMat(Globals.playerCamera); - EntityUtils.getRotation(Globals.firstPersonEntity).set(CameraEntityUtils.getRotationQuat(Globals.playerCamera)); + Matrix4d rotationMat = CameraEntityUtils.getRotationMat(Globals.clientState.playerCamera); + EntityUtils.getRotation(Globals.clientState.firstPersonEntity).set(CameraEntityUtils.getRotationQuat(Globals.clientState.playerCamera)); Vector3d playerPos = EntityUtils.getPosition(Globals.clientState.playerEntity); Vector4d behindCameraOffsetRaw = rotationMat.transform(new Vector4d(0,tree.getCameraViewDirOffsetY(),tree.getCameraViewDirOffsetZ(),1)); //pushes the model behind the camera Vector3d behindCameraOffset = new Vector3d(behindCameraOffsetRaw.x,behindCameraOffsetRaw.y,behindCameraOffsetRaw.z); - EntityUtils.getPosition(Globals.firstPersonEntity).set(playerPos).add(0.0f,tree.getHeightFromOrigin(),0.0f).add(behindCameraOffset); + EntityUtils.getPosition(Globals.clientState.firstPersonEntity).set(playerPos).add(0.0f,tree.getHeightFromOrigin(),0.0f).add(behindCameraOffset); if(ClientEquipState.hasEquipState(Globals.clientState.playerEntity)){ ClientEquipState clientEquipState = ClientEquipState.getClientEquipState(Globals.clientState.playerEntity); diff --git a/src/main/java/electrosphere/renderer/pipelines/FoliagePipeline.java b/src/main/java/electrosphere/renderer/pipelines/FoliagePipeline.java index f861c8b5..c516c852 100644 --- a/src/main/java/electrosphere/renderer/pipelines/FoliagePipeline.java +++ b/src/main/java/electrosphere/renderer/pipelines/FoliagePipeline.java @@ -32,7 +32,7 @@ public class FoliagePipeline implements RenderPipeline { if(foliageEntities != null){ for(Entity foliageEntity : foliageEntities){ Matrix4d modelMatrix = new Matrix4d(); - Vector3d cameraCenter = CameraEntityUtils.getCameraCenter(Globals.playerCamera); + Vector3d cameraCenter = CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera); Vector3d realPosition = EntityUtils.getPosition(foliageEntity); Vector3d cameraModifiedPosition = new Vector3d(realPosition).sub(cameraCenter); diff --git a/src/main/java/electrosphere/renderer/pipelines/MainContentNoOITPipeline.java b/src/main/java/electrosphere/renderer/pipelines/MainContentNoOITPipeline.java index 3e90619a..58c3b8a6 100644 --- a/src/main/java/electrosphere/renderer/pipelines/MainContentNoOITPipeline.java +++ b/src/main/java/electrosphere/renderer/pipelines/MainContentNoOITPipeline.java @@ -65,7 +65,7 @@ public class MainContentNoOITPipeline implements RenderPipeline { //fetch actor Actor currentActor = EntityUtils.getActor(currentEntity); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); //calculate and apply model transform RenderingEngine.modelTransformMatrix.identity(); RenderingEngine.modelTransformMatrix.translate(cameraModifiedPosition); diff --git a/src/main/java/electrosphere/renderer/pipelines/MainContentPipeline.java b/src/main/java/electrosphere/renderer/pipelines/MainContentPipeline.java index 2e80799a..3fb9e478 100644 --- a/src/main/java/electrosphere/renderer/pipelines/MainContentPipeline.java +++ b/src/main/java/electrosphere/renderer/pipelines/MainContentPipeline.java @@ -75,7 +75,7 @@ public class MainContentPipeline implements RenderPipeline { Set solidsNonInstanced = Globals.clientState.clientScene.getEntitiesWithTag(EntityTags.DRAWABLE); Vector3d positionVec = new Vector3d(); Vector3d scaleVec = new Vector3d(); - Vector3d cameraCenterVec = CameraEntityUtils.getCameraCenter(Globals.playerCamera); + Vector3d cameraCenterVec = CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera); for(Entity currentEntity : solidsNonInstanced){ Vector3d position = EntityUtils.getPosition(currentEntity); if(MainContentPipeline.shouldDrawSolidPass(currentEntity)){ @@ -107,7 +107,7 @@ public class MainContentPipeline implements RenderPipeline { if(InstancedActor.getInstanceModelAttribute(currentEntity) != null){ ShaderAttribute modelAttribute = InstancedActor.getInstanceModelAttribute(currentEntity); //calculate model matrix - Vector3d cameraModifiedPosition = positionVec.set(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = positionVec.set(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Quaterniond rotation = EntityUtils.getRotation(currentEntity); // modelTransformMatrix.identity(); modelTransformMatrix.identity().translationRotateScale( @@ -168,7 +168,7 @@ public class MainContentPipeline implements RenderPipeline { //fetch actor Actor currentActor = EntityUtils.getActor(currentEntity); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = positionVec.set(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = positionVec.set(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); //calculate and apply model transform modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); @@ -190,7 +190,7 @@ public class MainContentPipeline implements RenderPipeline { if(InstancedActor.getInstanceModelAttribute(currentEntity) != null){ ShaderAttribute modelAttribute = InstancedActor.getInstanceModelAttribute(currentEntity); //calculate model matrix - Vector3d cameraModifiedPosition = positionVec.set(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = positionVec.set(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Quaterniond rotation = EntityUtils.getRotation(currentEntity); // modelTransformMatrix.identity(); modelTransformMatrix.identity().translationRotateScale( @@ -272,7 +272,7 @@ public class MainContentPipeline implements RenderPipeline { static boolean entityBlacklist(Entity entity){ return //don't draw first person view in this pipeline ever - entity == Globals.firstPersonEntity || + entity == Globals.clientState.firstPersonEntity || //don't draw third person view if camera is first person ( @@ -287,10 +287,10 @@ public class MainContentPipeline implements RenderPipeline { //don't draw items if they're attached to viewmodel ( - Globals.firstPersonEntity != null && + Globals.clientState.firstPersonEntity != null && !Globals.controlHandler.cameraIsThirdPerson() && AttachUtils.hasParent(entity) && - AttachUtils.getParent(entity) == Globals.firstPersonEntity + AttachUtils.getParent(entity) == Globals.clientState.firstPersonEntity ) ; } diff --git a/src/main/java/electrosphere/renderer/pipelines/NormalsForOutlinePipeline.java b/src/main/java/electrosphere/renderer/pipelines/NormalsForOutlinePipeline.java index e91cc8ab..6ea1aaf1 100644 --- a/src/main/java/electrosphere/renderer/pipelines/NormalsForOutlinePipeline.java +++ b/src/main/java/electrosphere/renderer/pipelines/NormalsForOutlinePipeline.java @@ -69,7 +69,7 @@ public class NormalsForOutlinePipeline implements RenderPipeline { //fetch actor Actor currentActor = EntityUtils.getActor(currentEntity); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); //calculate and apply model transform modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); @@ -112,7 +112,7 @@ public class NormalsForOutlinePipeline implements RenderPipeline { static boolean entityBlacklist(Entity entity){ return //don't draw first person view in this pipeline ever - entity == Globals.firstPersonEntity || + entity == Globals.clientState.firstPersonEntity || //don't draw third person view if camera is first person ( @@ -127,10 +127,10 @@ public class NormalsForOutlinePipeline implements RenderPipeline { //don't draw items if they're attached to viewmodel ( - Globals.firstPersonEntity != null && + Globals.clientState.firstPersonEntity != null && !Globals.controlHandler.cameraIsThirdPerson() && AttachUtils.hasParent(entity) && - AttachUtils.getParent(entity) == Globals.firstPersonEntity + AttachUtils.getParent(entity) == Globals.clientState.firstPersonEntity ) ; } diff --git a/src/main/java/electrosphere/renderer/pipelines/ShadowMapPipeline.java b/src/main/java/electrosphere/renderer/pipelines/ShadowMapPipeline.java index 392012de..b80fed70 100644 --- a/src/main/java/electrosphere/renderer/pipelines/ShadowMapPipeline.java +++ b/src/main/java/electrosphere/renderer/pipelines/ShadowMapPipeline.java @@ -113,7 +113,7 @@ public class ShadowMapPipeline implements RenderPipeline { //fetch actor Actor currentActor = EntityUtils.getActor(currentEntity); //calculate camera-modified vector3d - Vector3d cameraCenter = scaleVec.set(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraCenter = scaleVec.set(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); Vector3d cameraModifiedPosition = posVec.set(position).sub(cameraCenter); //calculate and apply model transform modelTransformMatrix = modelTransformMatrix.identity(); diff --git a/src/main/java/electrosphere/renderer/pipelines/VolumeBufferPipeline.java b/src/main/java/electrosphere/renderer/pipelines/VolumeBufferPipeline.java index d9364098..612f8027 100644 --- a/src/main/java/electrosphere/renderer/pipelines/VolumeBufferPipeline.java +++ b/src/main/java/electrosphere/renderer/pipelines/VolumeBufferPipeline.java @@ -77,7 +77,7 @@ public class VolumeBufferPipeline implements RenderPipeline { //fetch actor Actor currentActor = EntityUtils.getActor(currentEntity); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); modelTransformMatrix = modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); modelTransformMatrix.rotate(EntityUtils.getRotation(currentEntity)); @@ -98,7 +98,7 @@ public class VolumeBufferPipeline implements RenderPipeline { //fetch actor Actor currentActor = EntityUtils.getActor(currentEntity); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); //set projection matrix modelTransformMatrix = modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); @@ -134,7 +134,7 @@ public class VolumeBufferPipeline implements RenderPipeline { //fetch actor Actor currentActor = EntityUtils.getActor(currentEntity); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); //calculate and apply model transform modelTransformMatrix = modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); diff --git a/src/main/java/electrosphere/renderer/pipelines/debug/DebugBonesPipeline.java b/src/main/java/electrosphere/renderer/pipelines/debug/DebugBonesPipeline.java index 0eafba21..925a6a92 100644 --- a/src/main/java/electrosphere/renderer/pipelines/debug/DebugBonesPipeline.java +++ b/src/main/java/electrosphere/renderer/pipelines/debug/DebugBonesPipeline.java @@ -75,7 +75,7 @@ public class DebugBonesPipeline implements RenderPipeline { Quaterniond boneRot = MathBones.getBoneWorldRotation(targetEntity, bone.boneID); //put pos + rot into model - Vector3d cameraModifiedPosition = new Vector3d(bonePos).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(bonePos).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); modelTransformMatrix.rotate(boneRot); diff --git a/src/main/java/electrosphere/renderer/pipelines/debug/DebugContentPipeline.java b/src/main/java/electrosphere/renderer/pipelines/debug/DebugContentPipeline.java index 55f91631..d6f986fb 100644 --- a/src/main/java/electrosphere/renderer/pipelines/debug/DebugContentPipeline.java +++ b/src/main/java/electrosphere/renderer/pipelines/debug/DebugContentPipeline.java @@ -90,7 +90,7 @@ public class DebugContentPipeline implements RenderPipeline { } Vector3d position = PhysicsUtils.odeVecToJomlVec(sphereView.getPosition()); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); modelTransformMatrix.scale(sphereView.getRadius() * 2); @@ -109,7 +109,7 @@ public class DebugContentPipeline implements RenderPipeline { } Vector3d position = PhysicsUtils.odeVecToJomlVec(capsuleView.getPosition()); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); //since you're directly accessing the quat from the body, need to adjust it to be in the correct orientation @@ -146,7 +146,7 @@ public class DebugContentPipeline implements RenderPipeline { } Vector3d position = PhysicsUtils.odeVecToJomlVec(sphereView.getPosition()); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); modelTransformMatrix.scale(sphereView.getRadius() * 2); @@ -165,7 +165,7 @@ public class DebugContentPipeline implements RenderPipeline { } Vector3d position = PhysicsUtils.odeVecToJomlVec(capsuleView.getPosition()); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); //since you're directly accessing the quat from the body, need to adjust it to be in the correct orientation @@ -201,7 +201,7 @@ public class DebugContentPipeline implements RenderPipeline { } Vector3d position = EntityUtils.getPosition(physicsEntity); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).add(template.getOffsetX(),template.getOffsetY(),template.getOffsetZ()).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).add(template.getOffsetX(),template.getOffsetY(),template.getOffsetZ()).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); modelTransformMatrix.rotate(EntityUtils.getRotation(physicsEntity)); @@ -220,7 +220,7 @@ public class DebugContentPipeline implements RenderPipeline { Vector3d position = EntityUtils.getPosition(physicsEntity); Quaterniond rotation = EntityUtils.getRotation(physicsEntity); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).add(template.getOffsetX(),template.getOffsetY(),template.getOffsetZ()).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).add(template.getOffsetX(),template.getOffsetY(),template.getOffsetZ()).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); modelTransformMatrix.rotate(rotation); @@ -251,7 +251,7 @@ public class DebugContentPipeline implements RenderPipeline { } Vector3d position = EntityUtils.getPosition(entity); //calculate camera-modified vector3d - Vector3d cameraModifiedPosition = new Vector3d(position).add(0,gridAlignedData.getHeight() * BlockChunkData.BLOCK_SIZE_MULTIPLIER / 2.0f,0).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera)); + Vector3d cameraModifiedPosition = new Vector3d(position).add(0,gridAlignedData.getHeight() * BlockChunkData.BLOCK_SIZE_MULTIPLIER / 2.0f,0).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera)); modelTransformMatrix.identity(); modelTransformMatrix.translate(cameraModifiedPosition); modelTransformMatrix.rotate(EntityUtils.getRotation(entity)); diff --git a/src/main/java/electrosphere/renderer/ui/elements/ActorPanel.java b/src/main/java/electrosphere/renderer/ui/elements/ActorPanel.java index 1ebe654a..ccdae52c 100644 --- a/src/main/java/electrosphere/renderer/ui/elements/ActorPanel.java +++ b/src/main/java/electrosphere/renderer/ui/elements/ActorPanel.java @@ -236,8 +236,8 @@ public class ActorPanel extends BufferedStandardDrawableContainerElement impleme Globals.cameraHandler.updateRadialOffset(new Vector3d(actorPosition)); double radius = actorModel.getBoundingSphere().r; this.cameraRadius = radius + DEFAULT_STANDOFF_DIST; - CameraEntityUtils.setOrbitalCameraDistance(Globals.playerCamera, (float)(this.cameraRadius)); - CameraEntityUtils.setCameraCenter(Globals.playerCamera, new Vector3d(0,(float)(this.cameraRadius - DEFAULT_STANDOFF_DIST),0)); + CameraEntityUtils.setOrbitalCameraDistance(Globals.clientState.playerCamera, (float)(this.cameraRadius)); + CameraEntityUtils.setCameraCenter(Globals.clientState.playerCamera, new Vector3d(0,(float)(this.cameraRadius - DEFAULT_STANDOFF_DIST),0)); hasOffsetFromBoundingSphere = true; } @@ -364,7 +364,7 @@ public class ActorPanel extends BufferedStandardDrawableContainerElement impleme */ private void recalculateModelMatrix(){ modelMatrix.identity(); - modelMatrix.translate(new Vector3d(actorPosition).sub(CameraEntityUtils.getCameraCenter(Globals.playerCamera))); + modelMatrix.translate(new Vector3d(actorPosition).sub(CameraEntityUtils.getCameraCenter(Globals.clientState.playerCamera))); modelMatrix.rotate(actorRotation); modelMatrix.scale(new Vector3d(actorScale)); actor.applySpatialData(modelMatrix,new Vector3d(actorPosition)); @@ -453,7 +453,7 @@ public class ActorPanel extends BufferedStandardDrawableContainerElement impleme if(this.cameraRadius < MIN_ZOOM){ this.cameraRadius = MIN_ZOOM; } - CameraEntityUtils.setOrbitalCameraDistance(Globals.playerCamera, (float)cameraRadius); + CameraEntityUtils.setOrbitalCameraDistance(Globals.clientState.playerCamera, (float)cameraRadius); propagate = false; } }