diff --git a/src/resources/objects/staticobject/StaticMessageBuilder.java b/src/resources/objects/staticobject/StaticMessageBuilder.java index 7271a915..be3afa20 100644 --- a/src/resources/objects/staticobject/StaticMessageBuilder.java +++ b/src/resources/objects/staticobject/StaticMessageBuilder.java @@ -21,6 +21,73 @@ ******************************************************************************/ package resources.objects.staticobject; -public class StaticMessageBuilder { +import java.nio.ByteOrder; + +import org.apache.mina.core.buffer.IoBuffer; + +import resources.objects.ObjectMessageBuilder; +import resources.objects.tangible.TangibleObject; + +public class StaticMessageBuilder extends ObjectMessageBuilder { + + public StaticMessageBuilder(StaticObject staticObject) { + setObject(staticObject); + } + + + public IoBuffer buildBaseline3() { + + IoBuffer buffer = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN); + buffer.setAutoExpand(true); + + buffer.putShort((short) 4); + buffer.putInt(0); + + buffer.put(getAsciiString(object.getStfFilename())); + buffer.putInt(0); + buffer.put(getAsciiString(object.getStfName())); + buffer.putInt(0); + buffer.putInt(0xFF); + + int size = buffer.position(); + buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size); + + buffer.flip(); + buffer = createBaseline("STAO", (byte) 3, buffer, size); + + return buffer; + } + + public IoBuffer buildBaseline6() { + + IoBuffer buffer = bufferPool.allocate(100, false).order(ByteOrder.LITTLE_ENDIAN); + buffer.setAutoExpand(true); + buffer.putShort((short) 2); + buffer.putInt(0x92); + buffer.put(getAsciiString(object.getDetailFilename())); + buffer.putInt(0); + buffer.put(getAsciiString(object.getDetailName())); + + int size = buffer.position(); + buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size); + + buffer.flip(); + buffer = createBaseline("STAO", (byte) 6, buffer, size); + + return buffer; + } + + @Override + public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) { + // TODO Auto-generated method stub + + } + + @Override + public void sendBaselines() { + // TODO Auto-generated method stub + + } + } diff --git a/src/resources/objects/staticobject/StaticObject.java b/src/resources/objects/staticobject/StaticObject.java index 27c97db5..1bb2380c 100644 --- a/src/resources/objects/staticobject/StaticObject.java +++ b/src/resources/objects/staticobject/StaticObject.java @@ -21,25 +21,43 @@ ******************************************************************************/ package resources.objects.staticobject; +import com.sleepycat.persist.model.NotPersistent; +import com.sleepycat.persist.model.Persistent; + import engine.clients.Client; import engine.resources.objects.SWGObject; import engine.resources.scene.Planet; import engine.resources.scene.Point3D; import engine.resources.scene.Quaternion; +@Persistent public class StaticObject extends SWGObject { + @NotPersistent + private StaticMessageBuilder messageBuilder; + public StaticObject() { super(); + messageBuilder = new StaticMessageBuilder(this); } public StaticObject(long objectID, Planet planet, Point3D position, Quaternion orientation, String Template) { super(objectID, planet, position, orientation, Template); + messageBuilder = new StaticMessageBuilder(this); } @Override - public void sendBaselines(Client client) { - // TODO Auto-generated method stub + public void sendBaselines(Client destination) { + + + if(destination == null || destination.getSession() == null) { + System.out.println("NULL destination"); + return; + } + destination.getSession().write(messageBuilder.buildBaseline3()); + destination.getSession().write(messageBuilder.buildBaseline6()); + + } } diff --git a/src/services/command/CommandService.java b/src/services/command/CommandService.java index ccb554ec..3eaebc7c 100644 --- a/src/services/command/CommandService.java +++ b/src/services/command/CommandService.java @@ -101,7 +101,6 @@ public class CommandService implements INetworkDispatch { return; } - System.out.println(command.getCommandName()); core.scriptService.callScript("scripts/commands/", command.getCommandName(), "run", core, actor, target, commandEnqueue.getCommandArguments()); }