Packet: PlayerStateMessageUpstream (#34)

* Fill out PlayerStateMessageUpstream packet

* Add PlayerStateMessageUpstream test
This commit is contained in:
tfarley 2016-07-25 17:20:35 -07:00 committed by pschord
parent c03b29b2bd
commit 3fca8b1a95
3 changed files with 69 additions and 5 deletions

View file

@ -435,5 +435,38 @@ class GamePacketTest extends Specification {
pkt mustEqual string
}
}
"PlayerStateMessageUpstream" should {
val string = hex"BD 4B000 E377BA575B616C640A70004014060110007000000"
"decode" in {
PacketCoding.DecodePacket(string).require match {
case PlayerStateMessageUpstream(avatar_guid, pos, vel, unk1, aim_pitch, unk2, unk3, unk4, is_crouching, unk5, unk6, unk7, unk8, unk9) =>
avatar_guid mustEqual PlanetSideGUID(75)
pos mustEqual Vector3(3694.1094f, 2735.4531f, 90.84375f)
vel mustEqual Some(Vector3(4.375f, 2.59375f, 0.0f))
unk1 mustEqual 10
aim_pitch mustEqual 3
unk2 mustEqual 0
unk3 mustEqual 136
unk4 mustEqual 0
is_crouching mustEqual false
unk5 mustEqual false
unk6 mustEqual false
unk7 mustEqual false
unk8 mustEqual 112
unk9 mustEqual 0
case default =>
ko
}
}
"encode" in {
val msg = PlayerStateMessageUpstream(PlanetSideGUID(75), Vector3(3694.1094f, 2735.4531f, 90.84375f), Some(Vector3(4.375f, 2.59375f, 0.0f)), 10, 3, 0, 136, 0, false, false, false, false, 112, 0)
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
pkt mustEqual string
}
}
}
}