initial ChildObjectStateMessage packet and tests

This commit is contained in:
FateJH 2017-03-09 22:57:15 -05:00
parent 5707580631
commit 49880ce476
2 changed files with 24 additions and 1 deletions

View file

@ -353,7 +353,7 @@ object GamePacketOpcode extends Enumeration {
case 0x1b => noDecoder(VehicleStateMessage)
case 0x1c => noDecoder(FrameVehicleStateMessage)
case 0x1d => game.GenericObjectStateMsg.decode
case 0x1e => noDecoder(ChildObjectStateMessage)
case 0x1e => game.ChildObjectStateMessage.decode
case 0x1f => game.ActionResultMessage.decode
// OPCODES 0x20-2f

View file

@ -0,0 +1,23 @@
// Copyright (c) 2017 PSForever
package net.psforever.packet.game
import net.psforever.packet.{GamePacketOpcode, Marshallable, PlanetSideGamePacket}
import scodec.Codec
import scodec.codecs._
final case class ChildObjectStateMessage(unk1 : Int,
unk2 : Int,
unk3 : Int)
extends PlanetSideGamePacket {
type Packet = ChildObjectStateMessage
def opcode = GamePacketOpcode.ChildObjectStateMessage
def encode = ChildObjectStateMessage.encode(this)
}
object ChildObjectStateMessage extends Marshallable[ChildObjectStateMessage] {
implicit val codec : Codec[ChildObjectStateMessage] = (
("unk1" | uint16L) ::
("unk2" | uint8L) ::
("unk3" | uint8L)
).as[ChildObjectStateMessage]
}