From cc2cd1e1c96cc52869d80582a663dce09794d7c3 Mon Sep 17 00:00:00 2001 From: austin Date: Fri, 5 Nov 2021 19:21:08 -0400 Subject: [PATCH] re-enable move behavior tree networking --- .../electrosphere/engine/LoadingThread.java | 12 +-- .../state/movement/GroundMovementTree.java | 82 +++++++++---------- .../net/parser/util/ByteStreamUtils.java | 8 +- 3 files changed, 51 insertions(+), 51 deletions(-) diff --git a/src/main/java/electrosphere/engine/LoadingThread.java b/src/main/java/electrosphere/engine/LoadingThread.java index fdbc613b..24094a0c 100644 --- a/src/main/java/electrosphere/engine/LoadingThread.java +++ b/src/main/java/electrosphere/engine/LoadingThread.java @@ -141,9 +141,6 @@ public class LoadingThread extends Thread { initServerThread(); } - //collision engine - initCollisionEngine(Globals.RUN_SERVER); - //initialize the "virtual" objects simulation if(Globals.RUN_SERVER){ initMacroSimulation(); @@ -160,7 +157,10 @@ public class LoadingThread extends Thread { //init client terrain manager initClientTerrainManager(); - + + //collision engine + initCommonWorldData(Globals.RUN_SERVER); + //initialize the cell manager (client) initDrawCellManager(); @@ -226,7 +226,7 @@ public class LoadingThread extends Thread { } //collision engine - initCollisionEngine(Globals.RUN_SERVER); + initCommonWorldData(Globals.RUN_SERVER); //initialize the "virtual" objects simulation //not really relevant in arena mode @@ -371,7 +371,7 @@ public class LoadingThread extends Thread { Globals.serverWorldData = ServerWorldData.createGameWorld(Globals.serverTerrainManager); } - static void initCollisionEngine(boolean FLAG_INIT_SERVER){ + static void initCommonWorldData(boolean FLAG_INIT_SERVER){ if(FLAG_INIT_SERVER){ Globals.commonWorldData = new CommonWorldData(Globals.serverWorldData, Globals.serverTerrainManager); } else { diff --git a/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java b/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java index bd052fe5..7ebcdd60 100644 --- a/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java +++ b/src/main/java/electrosphere/entity/state/movement/GroundMovementTree.java @@ -96,17 +96,17 @@ public class GroundMovementTree { switch(message.getMessageSubtype()){ case MOVE: position.set(message.getpositionX(), message.getpositionY(), message.getpositionZ()); -// if(Globals.RUN_SERVER){ -// Globals.server.broadcastMessage( -// EntityMessage.constructMoveMessage( -// parent.getId(), -// System.currentTimeMillis(), -// message.getpositionX(), -// message.getpositionY(), -// message.getpositionZ() -// ) -// ); -// } + if(Globals.RUN_SERVER){ + Globals.server.broadcastMessage( + EntityMessage.constructMoveMessage( + parent.getId(), + System.currentTimeMillis(), + message.getpositionX(), + message.getpositionY(), + message.getpositionZ() + ) + ); + } break; case SETFACING: break; @@ -193,37 +193,37 @@ public class GroundMovementTree { // 0 // ) // ); -// Globals.dataCellManager.sendNetworkMessageToChunk( -// EntityMessage.constructmoveUpdateMessage( -// parent.getId(), -// System.currentTimeMillis(), -// (float)newPosition.x, -// (float)newPosition.y, -// (float)newPosition.z, -// movementVector.x, -// movementVector.y, -// movementVector.z, -// velocity, -// 0 -// ), -// Globals.serverWorldData.convertRealToChunkSpace(newPosition.x), -// Globals.serverWorldData.convertRealToChunkSpace(newPosition.z) -// ); + Globals.dataCellManager.sendNetworkMessageToChunk( + EntityMessage.constructmoveUpdateMessage( + parent.getId(), + System.currentTimeMillis(), + (float)position.x, + (float)position.y, + (float)position.z, + movementVector.x, + movementVector.y, + movementVector.z, + velocity, + 0 + ), + Globals.serverWorldData.convertRealToChunkSpace(position.x), + Globals.serverWorldData.convertRealToChunkSpace(position.z) + ); } else if(Globals.RUN_CLIENT && parent.getId() == Globals.clientCharacterID){ -// Globals.clientConnection.queueOutgoingMessage( -// EntityMessage.constructmoveUpdateMessage( -// parent.getId(), -// System.currentTimeMillis(), -// (float)newPosition.x, -// (float)newPosition.y, -// (float)newPosition.z, -// movementVector.x, -// movementVector.y, -// movementVector.z, -// velocity, -// 0 -// ) -// ); + Globals.clientConnection.queueOutgoingMessage( + EntityMessage.constructmoveUpdateMessage( + parent.getId(), + System.currentTimeMillis(), + (float)position.x, + (float)position.y, + (float)position.z, + movementVector.x, + movementVector.y, + movementVector.z, + velocity, + 0 + ) + ); } break; case MOVE: diff --git a/src/main/java/electrosphere/net/parser/util/ByteStreamUtils.java b/src/main/java/electrosphere/net/parser/util/ByteStreamUtils.java index 413c4357..bf5dc746 100644 --- a/src/main/java/electrosphere/net/parser/util/ByteStreamUtils.java +++ b/src/main/java/electrosphere/net/parser/util/ByteStreamUtils.java @@ -6,12 +6,12 @@ import java.util.concurrent.Semaphore; public class ByteStreamUtils { - static ByteBuffer integerCompactor; + static ByteBuffer integerCompactor = ByteBuffer.allocate(8); static Semaphore bufferLock = new Semaphore(1); - static { - integerCompactor = ByteBuffer.allocate(8); - } +// static { +// integerCompactor = ByteBuffer.allocate(8); +// } public static int popIntFromByteQueue(List queue){ int rVal = -1;