From c63d776cc73d4333fa2c52b333a566ca32d2f057 Mon Sep 17 00:00:00 2001 From: austin Date: Sun, 22 Oct 2023 22:28:14 -0400 Subject: [PATCH] simulation flag --- .vscode/launch.json | 8 ++++ .../java/electrosphere/engine/Globals.java | 4 +- src/main/java/electrosphere/engine/Main.java | 38 +++++++++---------- .../electrosphere/engine/cli/CLIParser.java | 3 ++ 4 files changed, 31 insertions(+), 22 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 084d7b2a..f1adccf0 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -32,6 +32,14 @@ "mainClass": "electrosphere.engine.Main", "projectName": "Renderer", "args" : "--headless" + }, + { + "type": "java", + "name": "Launch Simulation Only", + "request": "launch", + "mainClass": "electrosphere.engine.Main", + "projectName": "Renderer", + "args" : "--simulate" } ] } \ No newline at end of file diff --git a/src/main/java/electrosphere/engine/Globals.java b/src/main/java/electrosphere/engine/Globals.java index ada81b75..8aebf358 100644 --- a/src/main/java/electrosphere/engine/Globals.java +++ b/src/main/java/electrosphere/engine/Globals.java @@ -62,7 +62,6 @@ import electrosphere.renderer.ui.font.RawFontMap; import electrosphere.script.ScriptEngine; import electrosphere.server.ai.AIManager; import electrosphere.server.datacell.EntityDataCellMapper; -import electrosphere.server.datacell.GriddedDataCellManager; import electrosphere.server.datacell.RealmManager; import electrosphere.server.db.DatabaseController; import electrosphere.server.pathfinding.NavMeshManager; @@ -246,6 +245,9 @@ public class Globals { //macro simulation public static MacroSimulation macroSimulation; public static MacroData macroData; + + //flag to only run a simulation without full client + public static boolean RUN_SIMULATION_ONLY = false; //micro simulation public static MicroSimulation microSimulation; diff --git a/src/main/java/electrosphere/engine/Main.java b/src/main/java/electrosphere/engine/Main.java index 4858be27..d5cf2c20 100644 --- a/src/main/java/electrosphere/engine/Main.java +++ b/src/main/java/electrosphere/engine/Main.java @@ -14,13 +14,10 @@ import electrosphere.controls.ControlHandler; import electrosphere.engine.cli.CLIParser; import electrosphere.engine.loadingthreads.LoadingThread; import electrosphere.game.config.UserSettings; +import electrosphere.game.server.world.MacroData; import electrosphere.logger.LoggerInterface; -import electrosphere.net.parser.net.message.TerrainMessage; -import electrosphere.net.parser.net.raw.NetworkParser; -import electrosphere.net.parser.util.ByteStreamUtils; -import electrosphere.renderer.Model; import electrosphere.renderer.RenderingEngine; -import electrosphere.util.worldviewer.TerrainViewer; +import electrosphere.server.simulation.MacroSimulation; @@ -97,22 +94,21 @@ public class Main { //world gen testing //gen terrain -// Globals.serverTerrainManager = new ServerTerrainManager(2000,50,100,0.0f,0); -// Globals.serverTerrainManager.load(); -// Globals.serverWorldData = ServerWorldData.createGameWorld(Globals.serverTerrainManager); -// //gen world -// Globals.macroData = MacroData.generateWorld(0); -// Globals.macroData.describeWorld(); -// boolean run = true; -// Globals.macroSimulation = new MacroSimulation(); -// while(run){ -// Globals.macroSimulation.simulate(); -// try { -// TimeUnit.MILLISECONDS.sleep(1000); -// } catch (InterruptedException ex) { -// ex.printStackTrace(); -// } -// } + if(Globals.RUN_SIMULATION_ONLY){ + //gen world + Globals.macroData = MacroData.generateWorld(0); + Globals.macroData.describeWorld(); + boolean run = true; + Globals.macroSimulation = new MacroSimulation(); + while(run){ + Globals.macroSimulation.simulate(); + try { + TimeUnit.MILLISECONDS.sleep(1000); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } // if(1==1){ // Globals.audioEngine = new AudioEngine(); diff --git a/src/main/java/electrosphere/engine/cli/CLIParser.java b/src/main/java/electrosphere/engine/cli/CLIParser.java index be389eb3..ef35ef11 100644 --- a/src/main/java/electrosphere/engine/cli/CLIParser.java +++ b/src/main/java/electrosphere/engine/cli/CLIParser.java @@ -17,6 +17,9 @@ public class CLIParser { Globals.RUN_SERVER = true; Globals.HEADLESS = true; } break; + case "--simulate": { + Globals.RUN_SIMULATION_ONLY = true; + } break; } } }