From b806baf0795dd83c7cb373c708d7e981fa4916f5 Mon Sep 17 00:00:00 2001 From: Mads Boddum Date: Thu, 25 Aug 2016 16:20:44 +0200 Subject: [PATCH 1/4] Fixed an issue where the volume of a container always equaled the maximum capacity --- src/services/objects/ObjectCreator.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/services/objects/ObjectCreator.java b/src/services/objects/ObjectCreator.java index 84725ed45..29352277d 100644 --- a/src/services/objects/ObjectCreator.java +++ b/src/services/objects/ObjectCreator.java @@ -214,7 +214,6 @@ public final class ObjectCreator { switch (key) { case OBJECT_NAME: object.setStringId(value.toString()); break; case DETAILED_DESCRIPTION: object.setDetailStringId(value.toString()); break; - case CONTAINER_VOLUME_LIMIT: object.setVolume((Integer) value); break; case CONTAINER_TYPE: object.setContainerType((Integer) value); break; default: break; } From b9fb59b66e5cc5fe8f63112847af13cdfc9c4d04 Mon Sep 17 00:00:00 2001 From: Mads Boddum Date: Thu, 25 Aug 2016 16:45:01 +0200 Subject: [PATCH 2/4] Fixed an issue where volumes of containers weren't being incremented and decremented --- src/resources/objects/SWGObject.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/resources/objects/SWGObject.java b/src/resources/objects/SWGObject.java index 3b4afae6b..34fc6765a 100644 --- a/src/resources/objects/SWGObject.java +++ b/src/resources/objects/SWGObject.java @@ -119,6 +119,9 @@ public abstract class SWGObject extends BaselineObject implements Comparable Date: Thu, 25 Aug 2016 17:13:10 +0200 Subject: [PATCH 3/4] Fixed an issue where container volumes weren't being incremented and decremented --- src/resources/objects/SWGObject.java | 38 +++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/src/resources/objects/SWGObject.java b/src/resources/objects/SWGObject.java index 34fc6765a..d5a2ed09b 100644 --- a/src/resources/objects/SWGObject.java +++ b/src/resources/objects/SWGObject.java @@ -981,7 +981,7 @@ public abstract class SWGObject extends BaselineObject implements Comparable attributes.put(stream.getAscii(), stream.getAscii())); + stream.getList((i) -> SWGObjectFactory.create(stream).moveToContainer(this)); + + // After creating the children, we calculate the correct volume... + for(SWGObject containedObject : containedObjects) { + volume += containedObject.getVolume() + 1; + } + } + + private void readVersion1(NetBufferStream stream) { + location.read(stream); + if (stream.getBoolean()) { + parent = SWGObjectFactory.create(stream); + } permissions = ContainerPermissionsType.valueOf(stream.getAscii()); classification = ObjectClassification.valueOf(stream.getAscii()); objectName = stream.getUnicode(); From c7051c059ae43306b033d99bd4335b745251f868 Mon Sep 17 00:00:00 2001 From: Mads Boddum Date: Thu, 25 Aug 2016 17:34:49 +0200 Subject: [PATCH 4/4] Volume is no longer persisted and added SWGObject version 1 --- src/resources/objects/SWGObject.java | 41 +++++++++++----------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/src/resources/objects/SWGObject.java b/src/resources/objects/SWGObject.java index d5a2ed09b..28ce88be9 100644 --- a/src/resources/objects/SWGObject.java +++ b/src/resources/objects/SWGObject.java @@ -989,7 +989,6 @@ public abstract class SWGObject extends BaselineObject implements Comparable attributes.put(stream.getAscii(), stream.getAscii())); - stream.getList((i) -> SWGObjectFactory.create(stream).moveToContainer(this)); - - // After creating the children, we calculate the correct volume... - for(SWGObject containedObject : containedObjects) { - volume += containedObject.getVolume() + 1; - } } private void readVersion1(NetBufferStream stream) { location.read(stream); - if (stream.getBoolean()) { + if (stream.getBoolean()) parent = SWGObjectFactory.create(stream); - } permissions = ContainerPermissionsType.valueOf(stream.getAscii()); classification = ObjectClassification.valueOf(stream.getAscii()); objectName = stream.getUnicode(); - volume = stream.getInt(); + complexity = stream.getFloat(); + loadRange = stream.getFloat(); + stream.getList((i) -> attributes.put(stream.getAscii(), stream.getAscii())); + stream.getList((i) -> SWGObjectFactory.create(stream).moveToContainer(this)); + } + + private void readVersion0(NetBufferStream stream) { + location.read(stream); + if (stream.getBoolean()) + parent = SWGObjectFactory.create(stream); + permissions = ContainerPermissionsType.valueOf(stream.getAscii()); + classification = ObjectClassification.valueOf(stream.getAscii()); + objectName = stream.getUnicode(); + // Ignore the saved volume - this is now set automagically in addObject() and removeObject() + stream.getInt(); complexity = stream.getFloat(); loadRange = stream.getFloat(); stream.getList((i) -> attributes.put(stream.getAscii(), stream.getAscii()));