mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-02-25 17:33:33 +00:00
added a refactored squad joining entrypoint; initial work and test on SquadWaypointEvent packet; initial work on SquadWaypointRequest packet; squad waypoints up to #5 (squad experience) should be working
This commit is contained in:
parent
56d8748e99
commit
60d65e22d3
8 changed files with 343 additions and 147 deletions
|
|
@ -3,7 +3,7 @@ package game
|
|||
|
||||
import org.specs2.mutable._
|
||||
import net.psforever.packet._
|
||||
import net.psforever.packet.game.{SquadWaypointEvent, WaypointEvent}
|
||||
import net.psforever.packet.game.{SquadWaypointEvent, WaypointEventAction, WaypointEvent}
|
||||
import net.psforever.types.Vector3
|
||||
import scodec.bits._
|
||||
|
||||
|
|
@ -16,12 +16,12 @@ class SquadWaypointEventTest extends Specification {
|
|||
"decode (1)" in {
|
||||
PacketCoding.DecodePacket(string_1).require match {
|
||||
case SquadWaypointEvent(unk1, unk2, unk3, unk4, unk5, unk6) =>
|
||||
unk1 mustEqual 2
|
||||
unk1 mustEqual WaypointEventAction.Remove
|
||||
unk2 mustEqual 11
|
||||
unk3 mustEqual 31155863L
|
||||
unk4 mustEqual 0
|
||||
unk5 mustEqual None
|
||||
unk6 mustEqual None
|
||||
unk5.isEmpty mustEqual true
|
||||
unk6.isEmpty mustEqual true
|
||||
case _ =>
|
||||
ko
|
||||
}
|
||||
|
|
@ -30,12 +30,12 @@ class SquadWaypointEventTest extends Specification {
|
|||
"decode (2)" in {
|
||||
PacketCoding.DecodePacket(string_2).require match {
|
||||
case SquadWaypointEvent(unk1, unk2, unk3, unk4, unk5, unk6) =>
|
||||
unk1 mustEqual 2
|
||||
unk1 mustEqual WaypointEventAction.Remove
|
||||
unk2 mustEqual 10
|
||||
unk3 mustEqual 0L
|
||||
unk4 mustEqual 4
|
||||
unk5 mustEqual None
|
||||
unk6 mustEqual None
|
||||
unk5.isEmpty mustEqual true
|
||||
unk6.isEmpty mustEqual true
|
||||
case _ =>
|
||||
ko
|
||||
}
|
||||
|
|
@ -44,12 +44,12 @@ class SquadWaypointEventTest extends Specification {
|
|||
"decode (3)" in {
|
||||
PacketCoding.DecodePacket(string_3).require match {
|
||||
case SquadWaypointEvent(unk1, unk2, unk3, unk4, unk5, unk6) =>
|
||||
unk1 mustEqual 0
|
||||
unk1 mustEqual WaypointEventAction.Add
|
||||
unk2 mustEqual 3
|
||||
unk3 mustEqual 41581052L
|
||||
unk4 mustEqual 1
|
||||
unk5 mustEqual None
|
||||
unk6 mustEqual Some(WaypointEvent(10, Vector3(3457.9688f, 5514.4688f, 0.0f), 1))
|
||||
unk5.isEmpty mustEqual true
|
||||
unk6.contains( WaypointEvent(10, Vector3(3457.9688f, 5514.4688f, 0.0f), 1) ) mustEqual true
|
||||
case _ =>
|
||||
ko
|
||||
}
|
||||
|
|
@ -58,40 +58,40 @@ class SquadWaypointEventTest extends Specification {
|
|||
"decode (4)" in {
|
||||
PacketCoding.DecodePacket(string_4).require match {
|
||||
case SquadWaypointEvent(unk1, unk2, unk3, unk4, unk5, unk6) =>
|
||||
unk1 mustEqual 1
|
||||
unk1 mustEqual WaypointEventAction.Unknown1
|
||||
unk2 mustEqual 3
|
||||
unk3 mustEqual 41581052L
|
||||
unk4 mustEqual 1
|
||||
unk5 mustEqual Some(4L)
|
||||
unk6 mustEqual None
|
||||
unk5.contains( 4L ) mustEqual true
|
||||
unk6.isEmpty mustEqual true
|
||||
case _ =>
|
||||
ko
|
||||
}
|
||||
}
|
||||
|
||||
"encode (1)" in {
|
||||
val msg = SquadWaypointEvent(2, 11, 31155863L, 0)
|
||||
val msg = SquadWaypointEvent.Remove(11, 31155863L, 0)
|
||||
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
||||
|
||||
pkt mustEqual string_1
|
||||
}
|
||||
|
||||
"encode (2)" in {
|
||||
val msg = SquadWaypointEvent(2, 10, 0L, 4)
|
||||
val msg = SquadWaypointEvent.Remove(10, 0L, 4)
|
||||
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
||||
|
||||
pkt mustEqual string_2
|
||||
}
|
||||
|
||||
"encode (3)" in {
|
||||
val msg = SquadWaypointEvent(0, 3, 41581052L, 1, 10, Vector3(3457.9688f, 5514.4688f, 0.0f), 1)
|
||||
val msg = SquadWaypointEvent.Add(3, 41581052L, 1, WaypointEvent(10, Vector3(3457.9688f, 5514.4688f, 0.0f), 1))
|
||||
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
||||
|
||||
pkt mustEqual string_3
|
||||
}
|
||||
|
||||
"encode (4)" in {
|
||||
val msg = SquadWaypointEvent(1, 3, 41581052L, 1, 4L)
|
||||
val msg = SquadWaypointEvent.Unknown1(3, 41581052L, 1, 4L)
|
||||
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
||||
|
||||
pkt mustEqual string_4
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue