2017-05-12 14:57:29 -04:00
|
|
|
// Copyright (c) 2017 PSForever
|
|
|
|
|
package game
|
|
|
|
|
|
|
|
|
|
import org.specs2.mutable._
|
|
|
|
|
import net.psforever.packet._
|
|
|
|
|
import net.psforever.packet.game._
|
2020-01-06 08:45:55 -05:00
|
|
|
import net.psforever.types.{DriveState, PlanetSideGUID, Vector3}
|
2017-05-12 14:57:29 -04:00
|
|
|
import scodec.bits._
|
|
|
|
|
|
|
|
|
|
class DeployRequestMessageTest extends Specification {
|
|
|
|
|
val string = hex"4b 4b00 7c01 40 0cf73b52aa6a9300"
|
|
|
|
|
|
|
|
|
|
"decode" in {
|
|
|
|
|
PacketCoding.DecodePacket(string).require match {
|
2018-02-09 19:05:16 -05:00
|
|
|
case DeployRequestMessage(player_guid, vehicle_guid, deploy_state, unk2, unk3, pos) =>
|
2017-05-12 14:57:29 -04:00
|
|
|
player_guid mustEqual PlanetSideGUID(75)
|
|
|
|
|
vehicle_guid mustEqual PlanetSideGUID(380)
|
2018-02-09 19:05:16 -05:00
|
|
|
deploy_state mustEqual DriveState.Deploying
|
2017-05-12 14:57:29 -04:00
|
|
|
unk2 mustEqual 0
|
|
|
|
|
unk3 mustEqual false
|
|
|
|
|
pos.x mustEqual 4060.1953f
|
|
|
|
|
pos.y mustEqual 2218.8281f
|
|
|
|
|
pos.z mustEqual 155.32812f
|
|
|
|
|
case _ =>
|
|
|
|
|
ko
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
"encode" in {
|
|
|
|
|
val msg = DeployRequestMessage(
|
|
|
|
|
PlanetSideGUID(75),
|
|
|
|
|
PlanetSideGUID(380),
|
2018-02-09 19:05:16 -05:00
|
|
|
DriveState.Deploying,
|
2020-07-14 05:54:05 +02:00
|
|
|
0,
|
|
|
|
|
false,
|
2017-05-12 14:57:29 -04:00
|
|
|
Vector3(4060.1953f, 2218.8281f, 155.32812f)
|
|
|
|
|
)
|
|
|
|
|
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
|
|
|
|
|
|
|
|
|
pkt mustEqual string
|
|
|
|
|
}
|
|
|
|
|
}
|