mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-08-01 02:16:15 -04:00
Merge branch 'master' of https://github.com/ProjectSWGCore/NGECore2
This commit is contained in:
@@ -80,7 +80,7 @@ public class PlayerMessageBuilder extends ObjectMessageBuilder {
|
||||
|
||||
buffer.putInt(0); // born date?
|
||||
|
||||
buffer.putInt(0); // total play time?
|
||||
buffer.putInt(player.getTotalPlayTime()); // total play time?
|
||||
|
||||
buffer.putInt(getProfData(player.getProfession())); // prof icon
|
||||
|
||||
@@ -172,6 +172,7 @@ public class PlayerMessageBuilder extends ObjectMessageBuilder {
|
||||
|
||||
int size = buffer.position();
|
||||
|
||||
buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size);
|
||||
|
||||
|
||||
buffer.flip();
|
||||
@@ -375,6 +376,138 @@ public class PlayerMessageBuilder extends ObjectMessageBuilder {
|
||||
|
||||
}
|
||||
|
||||
public IoBuffer buildWaypointAddDelta(WaypointObject waypoint) {
|
||||
|
||||
PlayerObject player = (PlayerObject) object;
|
||||
IoBuffer buffer = bufferPool.allocate(59 + waypoint.getName().length() * 2, false).order(ByteOrder.LITTLE_ENDIAN);
|
||||
buffer.setAutoExpand(true);
|
||||
|
||||
int nextCounter = player.getWaypointListUpdateCounter() + 1;
|
||||
player.setWaypointListUpdateCounter(nextCounter);
|
||||
buffer.putInt(1);
|
||||
buffer.putInt(player.getWaypointListUpdateCounter());
|
||||
|
||||
buffer.put((byte) 0); // updateType (SubType)
|
||||
|
||||
buffer.putLong(waypoint.getObjectID());
|
||||
buffer.putInt(waypoint.getCellId());
|
||||
|
||||
buffer.putFloat(waypoint.getPosition().x);
|
||||
buffer.putFloat(waypoint.getPosition().y);
|
||||
buffer.putFloat(waypoint.getPosition().z);
|
||||
|
||||
buffer.putLong(0); // networklocationId
|
||||
buffer.putInt(waypoint.getPlanetCRC());
|
||||
|
||||
buffer.put(getUnicodeString(waypoint.getName()));
|
||||
buffer.putLong(waypoint.getObjectID());
|
||||
|
||||
buffer.put((byte) waypoint.getColor());
|
||||
|
||||
if (waypoint.isActive()) { buffer.put((byte) 1); }
|
||||
else { buffer.put((byte) 0); }
|
||||
|
||||
int size = buffer.position();
|
||||
buffer.flip();
|
||||
|
||||
buffer = createDelta("PLAY", (byte) 8, (short) 1, (short) 1, buffer, size + 4);
|
||||
//System.out.println("WaypointAdd: " + buffer.getHexDump());
|
||||
return buffer;
|
||||
|
||||
}
|
||||
|
||||
public IoBuffer buildWaypointRemoveDelta(WaypointObject waypoint) {
|
||||
|
||||
IoBuffer buffer = bufferPool.allocate(59 + waypoint.getName().length() * 2, false).order(ByteOrder.LITTLE_ENDIAN);
|
||||
PlayerObject player = (PlayerObject) object;
|
||||
|
||||
int nextCounter = player.getWaypointListUpdateCounter() + 1;
|
||||
player.setWaypointListUpdateCounter(nextCounter);
|
||||
|
||||
buffer.putInt(1);
|
||||
buffer.putInt(player.getWaypointListUpdateCounter());
|
||||
|
||||
buffer.put((byte) 1); // updateType (SubType)
|
||||
|
||||
buffer.putLong(waypoint.getObjectID());
|
||||
buffer.putInt(waypoint.getCellId());
|
||||
|
||||
buffer.putFloat(waypoint.getPosition().x);
|
||||
buffer.putFloat(waypoint.getPosition().y);
|
||||
buffer.putFloat(waypoint.getPosition().z);
|
||||
|
||||
buffer.putLong(0); // networklocationId
|
||||
buffer.putInt(waypoint.getPlanetCRC());
|
||||
|
||||
buffer.put(getUnicodeString(waypoint.getName()));
|
||||
buffer.putLong(waypoint.getObjectID());
|
||||
|
||||
buffer.put((byte) waypoint.getColor());
|
||||
|
||||
if (waypoint.isActive()) { buffer.put((byte) 1); }
|
||||
else { buffer.put((byte) 0); }
|
||||
|
||||
int size = buffer.position();
|
||||
buffer.flip();
|
||||
|
||||
buffer = createDelta("PLAY", (byte) 8, (short) 1, (short) 1, buffer, size + 4);
|
||||
|
||||
return buffer;
|
||||
|
||||
}
|
||||
|
||||
public IoBuffer buildWaypointUpdateDelta(WaypointObject waypoint) {
|
||||
|
||||
IoBuffer buffer = bufferPool.allocate(59 + waypoint.getName().length() * 2, false).order(ByteOrder.LITTLE_ENDIAN);
|
||||
PlayerObject player = (PlayerObject) object;
|
||||
|
||||
int nextCounter = player.getWaypointListUpdateCounter() + 1;
|
||||
player.setWaypointListUpdateCounter(nextCounter);
|
||||
|
||||
buffer.putInt(1);
|
||||
buffer.putInt(player.getWaypointListUpdateCounter());
|
||||
|
||||
buffer.put((byte) 2); // updateType (SubType)
|
||||
|
||||
buffer.putLong(waypoint.getObjectID());
|
||||
buffer.putInt(waypoint.getCellId());
|
||||
|
||||
buffer.putFloat(waypoint.getPosition().x);
|
||||
buffer.putFloat(waypoint.getPosition().y);
|
||||
buffer.putFloat(waypoint.getPosition().z);
|
||||
|
||||
buffer.putLong(0); // networklocationId << cluster system I guess?
|
||||
buffer.putInt(waypoint.getPlanetCRC());
|
||||
|
||||
buffer.put(getUnicodeString(waypoint.getName()));
|
||||
buffer.putLong(waypoint.getObjectID());
|
||||
|
||||
buffer.put((byte) waypoint.getColor());
|
||||
|
||||
if (waypoint.isActive()) { buffer.put((byte) 1); }
|
||||
else { buffer.put((byte) 0); } // isActive. Activates automatically when created.
|
||||
|
||||
int size = buffer.position();
|
||||
buffer.flip();
|
||||
|
||||
buffer = createDelta("PLAY", (byte) 8, (short) 1, (short) 1, buffer, size + 4);
|
||||
|
||||
return buffer;
|
||||
|
||||
}
|
||||
|
||||
public IoBuffer buildTotalPlayTimeDelta(int totalPlayTime) {
|
||||
|
||||
IoBuffer buffer = bufferPool.allocate(4, false).order(ByteOrder.LITTLE_ENDIAN);
|
||||
buffer.putInt(totalPlayTime);
|
||||
int size = buffer.position();
|
||||
buffer.flip();
|
||||
buffer = createDelta("PLAY", (byte) 3, (short) 1, (short) 0x09, buffer, size + 4);
|
||||
|
||||
return buffer;
|
||||
|
||||
}
|
||||
|
||||
public int getProfData(String profession) {
|
||||
|
||||
switch (profession) {
|
||||
|
||||
Reference in New Issue
Block a user