From 6e724aad5d4bdd5ade3d05beaebc67502c21a261 Mon Sep 17 00:00:00 2001 From: Obique Date: Thu, 21 May 2015 00:25:04 -0500 Subject: [PATCH] Added config entry for enabling/disabling buildouts --- nge.cfg | 28 +++++++++++++------------ src/services/objects/ObjectManager.java | 22 +++++++++++-------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/nge.cfg b/nge.cfg index a3f0978f9..e13049f71 100644 --- a/nge.cfg +++ b/nge.cfg @@ -1,17 +1,19 @@ -#Tue Apr 07 18:57:01 CEST 2015 -AUTO-LOGIN=0 -CLEAN-CHARACTER-DATA=1 -GALAXY-MAX-ONLINE=3000 -GALAXY-MAX-CHARACTERS=2 -LOCAL-DB=nge -LOCAL-PASS=nge -LOCAL-USER=nge -LOGIN-PORT=44453 -LOGIN-SERVER-ID=1 +#Thu May 21 00:05:03 CDT 2015 LOGIN-SERVER-NAME=LoginServer -MAX-PACKET-SIZE=496 +LOAD-BUILDOUTS=false +LOCAL-USER=nge +LOGIN-SERVER-ID=1 +LOAD-BUILDOUTS-FOR= +GALAXY-MAX-ONLINE=3000 +LOCAL-PASS=nge +PACKET-DEBUG=true +AUTO-LOGIN=0 +CLEAN-CHARACTER-DATA=0 SESSION-TOKEN-LENGTH=24 -WIPE-ODB-FILES=1 +MAX-PACKET-SIZE=496 +GALAXY-MAX-CHARACTERS=2 +WIPE-ODB-FILES=0 +LOGIN-PORT=44453 ZONE-SERVER-ID=1 ZONE-SERVER-NAME=ZoneServer -PACKET-DEBUG=true \ No newline at end of file +LOCAL-DB=nge diff --git a/src/services/objects/ObjectManager.java b/src/services/objects/ObjectManager.java index 21f534470..d9b98cd2f 100644 --- a/src/services/objects/ObjectManager.java +++ b/src/services/objects/ObjectManager.java @@ -53,6 +53,7 @@ import resources.Location; import resources.Posture; import resources.Race; import resources.Terrain; +import resources.config.ConfigFile; import resources.control.Intent; import resources.control.Manager; import resources.objects.SWGObject; @@ -66,6 +67,7 @@ import resources.player.PlayerState; import resources.server_info.CachedObjectDatabase; import resources.server_info.ObjectDatabase; import resources.server_info.ObjectDatabase.Traverser; +import resources.services.Config; import services.player.PlayerManager; public class ObjectManager extends Manager { @@ -76,12 +78,8 @@ public class ObjectManager extends Manager { private long maxObjectId; public ObjectManager() { - this("odb/objects.db"); - } - - public ObjectManager(String odbFile) { buildoutObjects = new HashMap>(); - objects = new CachedObjectDatabase(odbFile); + objects = new CachedObjectDatabase("odb/objects.db"); objectAwareness = new ObjectAwareness(); maxObjectId = 1; } @@ -115,13 +113,19 @@ public class ObjectManager extends Manager { } private void loadBuildouts() { - boolean enableBuildouts = false; - if (enableBuildouts) { + Config c = getConfig(ConfigFile.PRIMARY); + if (c.getBoolean("LOAD-BUILDOUTS", false)) { long startLoad = System.nanoTime(); System.out.println("ObjectManager: Loading buildouts..."); List buildouts = null; -// buildouts = BuildoutLoader.loadAllBuildouts(); - buildouts = BuildoutLoader.loadBuildoutsForTerrain(Terrain.CORELLIA); + String terrain = c.getString("LOAD-BUILDOUTS-FOR", ""); + if (Terrain.doesTerrainExistForName(terrain)) + buildouts = BuildoutLoader.loadBuildoutsForTerrain(Terrain.getTerrainFromName(terrain)); + else { + if (!terrain.isEmpty()) + System.err.println("ObjectManager: Unknown terrain '" + terrain + "'"); + buildouts = BuildoutLoader.loadAllBuildouts(); + } for (SWGObject obj : buildouts) { loadBuildout(obj); }