fixed encodings on DetailedCharacterData, DetailedConstructionToolData, DroppodData, HandheldData, OMFTData, and REKData patterns; added a deprecated pattern for weapon data that permits no ammunition fields; adjusted relevant tests (#263)

This commit is contained in:
Fate-JH 2019-08-21 10:36:56 -04:00 committed by GitHub
parent ad60b443e1
commit ef65c91740
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 621 additions and 158 deletions

View file

@ -23,7 +23,7 @@ class HandheldDataTest extends Specification {
parent.get.guid mustEqual PlanetSideGUID(3336)
parent.get.slot mustEqual 0
data match {
case HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid)) =>
case HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid), mode, unk) =>
faction mustEqual PlanetSideEmpire.NC
bops mustEqual false
alternate mustEqual false
@ -50,7 +50,7 @@ class HandheldDataTest extends Specification {
parent.isDefined mustEqual false
data.isInstanceOf[DroppedItemData[_]] mustEqual true
data match {
case DroppedItemData(pos, HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid))) =>
case DroppedItemData(pos, HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid), mode, unk)) =>
pos.coord mustEqual Vector3(4708.461f, 5547.539f, 72.703125f)
pos.orient mustEqual Vector3.z(194.0625f)
@ -102,7 +102,7 @@ class HandheldDataTest extends Specification {
parent.get.guid mustEqual PlanetSideGUID(430)
parent.get.slot mustEqual 0
data match {
case HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid)) =>
case HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid), mode, unk) =>
faction mustEqual PlanetSideEmpire.TR
bops mustEqual false
alternate mustEqual false
@ -142,7 +142,7 @@ class HandheldDataTest extends Specification {
parent.get.guid mustEqual PlanetSideGUID(4272)
parent.get.slot mustEqual 0
data match {
case HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid)) =>
case HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid), mode, unk) =>
faction mustEqual PlanetSideEmpire.NEUTRAL
bops mustEqual false
alternate mustEqual false
@ -182,7 +182,7 @@ class HandheldDataTest extends Specification {
parent.get.guid mustEqual PlanetSideGUID(4149)
parent.get.slot mustEqual 0
data match {
case HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid)) =>
case HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid), mode, unk) =>
faction mustEqual PlanetSideEmpire.NC
bops mustEqual false
alternate mustEqual false
@ -208,7 +208,7 @@ class HandheldDataTest extends Specification {
guid mustEqual PlanetSideGUID(3682)
parent.isDefined mustEqual false
data match {
case DroppedItemData(pos, HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid))) =>
case DroppedItemData(pos, HandheldData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid), mode, unk)) =>
pos.coord mustEqual Vector3(4777.633f, 5485.4062f, 85.8125f)
pos.orient mustEqual Vector3.z(14.0625f)

View file

@ -23,7 +23,7 @@ class REKDataTest extends Specification {
parent.get.guid mustEqual PlanetSideGUID(4174)
parent.get.slot mustEqual 0
data match {
case REKData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid), unk) =>
case REKData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid), unk1, unk2) =>
faction mustEqual PlanetSideEmpire.TR
bops mustEqual false
alternate mustEqual false
@ -33,7 +33,8 @@ class REKDataTest extends Specification {
v4.contains(false) mustEqual true
v5.isEmpty mustEqual true
fguid mustEqual PlanetSideGUID(0)
unk mustEqual 0
unk1 mustEqual 0
unk2 mustEqual 0
case _ =>
ko
}
@ -50,7 +51,7 @@ class REKDataTest extends Specification {
guid mustEqual PlanetSideGUID(4355)
parent.isDefined mustEqual false
data match {
case DroppedItemData(pos, REKData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid), unk)) =>
case DroppedItemData(pos, REKData(CommonFieldData(faction, bops, alternate, v1, v2, v3, v4, v5, fguid), unk1, unk2)) =>
pos.coord mustEqual Vector3(4675.039f, 5506.953f, 72.703125f)
pos.orient mustEqual Vector3.z(230.625f)
@ -64,7 +65,8 @@ class REKDataTest extends Specification {
v5.isEmpty mustEqual true
fguid mustEqual PlanetSideGUID(0)
unk mustEqual 3
unk1 mustEqual 3
unk2 mustEqual 0
case _ =>
ko
}
@ -83,7 +85,7 @@ class REKDataTest extends Specification {
"encode (dropped)" in {
val obj = DroppedItemData(
PlacementData(4675.039f, 5506.953f, 72.703125f, 0f, 0f, 230.625f),
REKData(CommonFieldData(PlanetSideEmpire.VS, false, false, false, None, false, Some(false), None, PlanetSideGUID(0)), 3)
REKData(CommonFieldData(PlanetSideEmpire.VS, false, false, false, None, false, Some(false), None, PlanetSideGUID(0)), 3, 0)
)
val msg = ObjectCreateMessage(ObjectClass.remote_electronics_kit, PlanetSideGUID(4355), obj)
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector

File diff suppressed because one or more lines are too long

View file

@ -25,7 +25,7 @@ class DetailedConstructionToolDataTest extends Specification {
parent.get.guid mustEqual PlanetSideGUID(3104)
parent.get.slot mustEqual 0
data match {
case DetailedConstructionToolData(cdata) =>
case DetailedConstructionToolData(cdata, mode) =>
cdata.faction mustEqual PlanetSideEmpire.VS
cdata.bops mustEqual false
cdata.alternate mustEqual false
@ -65,7 +65,7 @@ class DetailedConstructionToolDataTest extends Specification {
parent.get.guid mustEqual PlanetSideGUID(2502)
parent.get.slot mustEqual 0
data match {
case DetailedConstructionToolData(cdata) =>
case DetailedConstructionToolData(cdata, mode) =>
cdata.faction mustEqual PlanetSideEmpire.NEUTRAL
cdata.bops mustEqual false
cdata.alternate mustEqual false
@ -105,7 +105,7 @@ class DetailedConstructionToolDataTest extends Specification {
parent.get.guid mustEqual PlanetSideGUID(414)
parent.get.slot mustEqual 0
data match {
case DetailedConstructionToolData(cdata) =>
case DetailedConstructionToolData(cdata, mode) =>
cdata.faction mustEqual PlanetSideEmpire.NC
cdata.bops mustEqual false
cdata.alternate mustEqual false
@ -133,7 +133,7 @@ class DetailedConstructionToolDataTest extends Specification {
parent.get.guid mustEqual PlanetSideGUID(340)
parent.get.slot mustEqual 9
data match {
case DetailedConstructionToolData(cdata) =>
case DetailedConstructionToolData(cdata, mode) =>
cdata.faction mustEqual PlanetSideEmpire.VS
cdata.bops mustEqual false
cdata.alternate mustEqual false

View file

@ -22,7 +22,7 @@ class NonstandardVehiclesTest extends Specification {
guid mustEqual PlanetSideGUID(3595)
parent.isDefined mustEqual false
data match {
case DroppodData(basic, burn, health) =>
case DroppodData(basic, health, burn, unk) =>
basic.pos.coord mustEqual Vector3(5108.0f, 6164.0f, 1023.9844f)
basic.pos.orient mustEqual Vector3.z(90.0f)