From 13e0f55f39d1f26e9ef758585b6a3602c46c0001 Mon Sep 17 00:00:00 2001 From: FateJH Date: Wed, 11 Jan 2017 22:27:08 -0500 Subject: [PATCH] adding a field to TrainingZone for divided byte-length --- .../net/psforever/packet/game/TrainingZoneMessage.scala | 7 +++++-- common/src/test/scala/GamePacketTest.scala | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/common/src/main/scala/net/psforever/packet/game/TrainingZoneMessage.scala b/common/src/main/scala/net/psforever/packet/game/TrainingZoneMessage.scala index 21885a175..59367263b 100644 --- a/common/src/main/scala/net/psforever/packet/game/TrainingZoneMessage.scala +++ b/common/src/main/scala/net/psforever/packet/game/TrainingZoneMessage.scala @@ -27,8 +27,10 @@ import scodec.codecs._ * 21 - `15` - NC Vehicle Training Area
* 22 - `16` - VS Vehicle Training Area * @param zone the virtual reality zone to send the player + * @param unk na; always 0? */ -final case class TrainingZoneMessage(zone : Long) +final case class TrainingZoneMessage(zone : PlanetSideGUID, + unk : Int = 0) extends PlanetSideGamePacket { type Packet = TrainingZoneMessage def opcode = GamePacketOpcode.TrainingZoneMessage @@ -37,6 +39,7 @@ final case class TrainingZoneMessage(zone : Long) object TrainingZoneMessage extends Marshallable[TrainingZoneMessage] { implicit val codec : Codec[TrainingZoneMessage] = ( - "zone" | uint32L + ("zone" | PlanetSideGUID.codec) :: + ("unk" | uint16L) ).as[TrainingZoneMessage] } diff --git a/common/src/test/scala/GamePacketTest.scala b/common/src/test/scala/GamePacketTest.scala index 3aab6ca3d..04787b752 100644 --- a/common/src/test/scala/GamePacketTest.scala +++ b/common/src/test/scala/GamePacketTest.scala @@ -835,15 +835,15 @@ class GamePacketTest extends Specification { "decode" in { PacketCoding.DecodePacket(string).require match { - case TrainingZoneMessage(zone) => - zone mustEqual 19 + case TrainingZoneMessage(zone, unk) => + zone mustEqual PlanetSideGUID(19) case default => ko } } "encode" in { - val msg = TrainingZoneMessage(19) + val msg = TrainingZoneMessage(PlanetSideGUID(19)) val pkt = PacketCoding.EncodePacket(msg).require.toByteVector pkt mustEqual string