MissionObject Delta's added, Debug print to try and fix Travel Points showing on other planets

This commit is contained in:
Waverunner
2013-12-05 18:48:58 -05:00
parent 7af18344bc
commit ff772a1f79
4 changed files with 231 additions and 62 deletions
@@ -42,8 +42,8 @@ public class MissionMessageBuilder extends ObjectMessageBuilder {
buffer.putShort((short) 11);
buffer.putFloat(mission.getMissionComplexity());
buffer.put(getAsciiString("mission/mission_object"));
buffer.putFloat(1); // mission complexity ??
buffer.put(getAsciiString(mission.getStfFilename()));
buffer.putInt(0);
buffer.put(getAsciiString(mission.getStfName()));
@@ -122,17 +122,202 @@ public class MissionMessageBuilder extends ObjectMessageBuilder {
public IoBuffer buildBaseline6() {
IoBuffer buffer = IoBuffer.allocate(4, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(121); // unk
int size = buffer.position();
buffer = bufferPool.allocate(size, false).put(buffer.array(), 0, size);
buffer.flip();
buffer = createBaseline("MISO", (byte) 6, buffer, size);
return buffer;
}
public IoBuffer buildStfDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(4 + mission.getStfFilename().length() + mission.getStfName().length(), false).order(ByteOrder.LITTLE_ENDIAN);
buffer.put(getAsciiString(mission.getStfFilename()));
buffer.putInt(0);
buffer.put(getAsciiString(mission.getStfName()));
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x01, buffer, size + 4);
return buffer;
}
public IoBuffer buildDifficultyLevelDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(4, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(mission.getMissionLevel());
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x05, buffer, size + 4);
return buffer;
}
public IoBuffer buildStartLocationDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(24, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putFloat(mission.getMissionStartX());
buffer.putFloat(mission.getMissionStartZ());
buffer.putFloat(mission.getMissionStartY());
buffer.putLong(0);
buffer.putInt(CRC.StringtoCRC(mission.getMissionStartPlanet()));
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x06, buffer, size + 4);
return buffer;
}
public IoBuffer buildCreatorNameDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(4 + mission.getMissionCreator().length(), false).order(ByteOrder.LITTLE_ENDIAN);
buffer.put(getAsciiString(mission.getMissionCreator()));
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x07, buffer, size + 4);
return buffer;
}
public IoBuffer buildCreditsRewardDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(4, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(mission.getMissionCredits());
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x08, buffer, size + 4);
return buffer;
}
public IoBuffer buildDestinationDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(24, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putFloat(mission.getMissionDestinationX());
buffer.putFloat(mission.getMissionDestinationZ());
buffer.putFloat(mission.getMissionDestinationY());
buffer.putLong(0); // Destination Object ID
buffer.putInt(CRC.StringtoCRC(mission.getMissionDestinationPlanet()));
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x09, buffer, size + 4);
return buffer;
}
public IoBuffer buildTargetObjectIffDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(4, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(CRC.StringtoCRC(mission.getMissionTemplateObject()));
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x0A, buffer, size + 4);
return buffer;
}
public IoBuffer buildMissionDescriptionDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(4 + mission.getMissionDescription().length() + mission.getMissionDescId().length(), false).order(ByteOrder.LITTLE_ENDIAN);
buffer.put(getAsciiString(mission.getMissionDescription()));
buffer.putInt(0);
buffer.put(getAsciiString(mission.getMissionDescId()));
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x0B, buffer, size + 4);
return buffer;
}
public IoBuffer buildMissionTitleDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(4 + mission.getMissionTitle().length() + mission.getMissionTitleId().length(), false).order(ByteOrder.LITTLE_ENDIAN);
buffer.put(getAsciiString(mission.getMissionTitle()));
buffer.putInt(0);
buffer.put(getAsciiString(mission.getMissionTitleId()));
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x0C, buffer, size + 4);
return buffer;
}
public IoBuffer buildRepeatCounterDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(4, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(mission.getMissionRepeatCounter());
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x0D, buffer, size + 4);
return buffer;
}
public IoBuffer buildMissionTypeDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(4, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(CRC.StringtoCRC(mission.getMissionType()));
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x0E, buffer, size + 4);
return buffer;
}
public IoBuffer buildTargetNameDelta() {
MissionObject mission = (MissionObject) object;
IoBuffer buffer = IoBuffer.allocate(4 + mission.getMissionTargetName().length(), false).order(ByteOrder.LITTLE_ENDIAN);
buffer.put(getAsciiString(mission.getMissionTargetName()));
int size = buffer.position();
buffer.flip();
buffer = createDelta("MISO", (byte) 3, (short) 1, (short) 0x0F, buffer, size + 4);
return buffer;
}
@Override
public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {