From 734a0b97a1c1251728de5fbcf02d0613421375ad Mon Sep 17 00:00:00 2001 From: Fate-JH Date: Tue, 30 May 2023 01:22:04 -0400 Subject: [PATCH] it works? --- .../definition/converter/SeatConverter.scala | 2 +- .../converter/UtilityVehicleConverter.scala | 2 +- .../converter/VariantVehicleConverter.scala | 2 +- .../definition/converter/VehicleConverter.scala | 2 +- .../game/objectcreate/MountableInventory.scala | 15 ++++++--------- 5 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/main/scala/net/psforever/objects/definition/converter/SeatConverter.scala b/src/main/scala/net/psforever/objects/definition/converter/SeatConverter.scala index dfa7d5b20..2ccc8788c 100644 --- a/src/main/scala/net/psforever/objects/definition/converter/SeatConverter.scala +++ b/src/main/scala/net/psforever/objects/definition/converter/SeatConverter.scala @@ -11,7 +11,7 @@ object SeatConverter { AvatarConverter.MakeAppearanceData(player), AvatarConverter.MakeCharacterData(player), AvatarConverter.MakeInventoryData(player), - AvatarConverter.GetDrawnSlot(player), + DrawnSlot.None, offset ) } diff --git a/src/main/scala/net/psforever/objects/definition/converter/UtilityVehicleConverter.scala b/src/main/scala/net/psforever/objects/definition/converter/UtilityVehicleConverter.scala index 626cfa468..633e0fc17 100644 --- a/src/main/scala/net/psforever/objects/definition/converter/UtilityVehicleConverter.scala +++ b/src/main/scala/net/psforever/objects/definition/converter/UtilityVehicleConverter.scala @@ -7,5 +7,5 @@ import net.psforever.packet.game.objectcreate.{UtilityVehicleData, VehicleFormat class UtilityVehicleConverter extends VehicleConverter { override protected def SpecificFormatModifier: VehicleFormat = VehicleFormat.Utility - override protected def SpecificFormatData(obj: Vehicle) = Some(UtilityVehicleData(0)) + override protected def SpecificFormatData(obj: Vehicle): Some[UtilityVehicleData] = Some(UtilityVehicleData(0)) } diff --git a/src/main/scala/net/psforever/objects/definition/converter/VariantVehicleConverter.scala b/src/main/scala/net/psforever/objects/definition/converter/VariantVehicleConverter.scala index 65b0822bc..3a451bed2 100644 --- a/src/main/scala/net/psforever/objects/definition/converter/VariantVehicleConverter.scala +++ b/src/main/scala/net/psforever/objects/definition/converter/VariantVehicleConverter.scala @@ -7,7 +7,7 @@ import net.psforever.packet.game.objectcreate.{VariantVehicleData, VehicleFormat class VariantVehicleConverter extends VehicleConverter { override protected def SpecificFormatModifier: VehicleFormat = VehicleFormat.Variant - override protected def SpecificFormatData(obj: Vehicle) = { + override protected def SpecificFormatData(obj: Vehicle): Some[VariantVehicleData] = { /* landed is 0 flying is 7 diff --git a/src/main/scala/net/psforever/objects/definition/converter/VehicleConverter.scala b/src/main/scala/net/psforever/objects/definition/converter/VehicleConverter.scala index 83807b61e..d862babfe 100644 --- a/src/main/scala/net/psforever/objects/definition/converter/VehicleConverter.scala +++ b/src/main/scala/net/psforever/objects/definition/converter/VehicleConverter.scala @@ -75,9 +75,9 @@ class VehicleConverter extends ObjectCreateConverter[Vehicle]() { } private def MakeDriverSeat(obj: Vehicle): List[InventoryItemData.InventoryItem] = { - val offset: Long = MountableInventory.InitialStreamLengthToSeatEntries(obj.Velocity.nonEmpty, SpecificFormatModifier) obj.Seats(0).occupant match { case Some(player) => + val offset: Long = MountableInventory.InitialStreamLengthToSeatEntries(obj.Velocity.nonEmpty, SpecificFormatModifier) List(InventoryItemData(ObjectClass.avatar, player.GUID, 0, SeatConverter.MakeSeat(player, offset))) case None => Nil diff --git a/src/main/scala/net/psforever/packet/game/objectcreate/MountableInventory.scala b/src/main/scala/net/psforever/packet/game/objectcreate/MountableInventory.scala index 43add9e5d..a4e1d535e 100644 --- a/src/main/scala/net/psforever/packet/game/objectcreate/MountableInventory.scala +++ b/src/main/scala/net/psforever/packet/game/objectcreate/MountableInventory.scala @@ -96,7 +96,7 @@ object MountableInventory { accumulative: Long ): Player_Data = { val appearance = basic_appearance(CumulativeSeatedPlayerNamePadding(accumulative)) - Player_Data(None, appearance, character_data(appearance.b.backpack, true), Some(inventory), drawn_slot)(false) + Player_Data(None, appearance, character_data(false, true), Some(inventory), drawn_slot)(position_defined = false) } /** @@ -118,7 +118,7 @@ object MountableInventory { accumulative: Long ): Player_Data = { val appearance = basic_appearance(CumulativeSeatedPlayerNamePadding(accumulative)) - Player_Data.apply(None, appearance, character_data(appearance.b.backpack, true), None, drawn_slot)(false) + Player_Data.apply(None, appearance, character_data(appearance.b.backpack, true), None, drawn_slot)(position_defined = false) } /** @@ -148,10 +148,7 @@ object MountableInventory { * @return the padding value, 0-7 bits */ def CumulativeSeatedPlayerNamePadding(base: Long, next: Option[StreamBitSize]): Int = { - CumulativeSeatedPlayerNamePadding(base + (next match { - case Some(o) => o.bitsize - case None => 0 - })) + CumulativeSeatedPlayerNamePadding(base + next.map { _.bitsize }.getOrElse(0L)) } /** @@ -191,7 +188,7 @@ object MountableInventory { private def inventory_seat_codec(length: Long, offset: Int): Codec[Option[InventorySeat]] = { import shapeless.:: ( - PacketHelpers.peek(uintL(11)) >>:~ { objClass => + PacketHelpers.peek(uintL(bits = 11)) >>:~ { objClass => conditional(objClass == ObjectClass.avatar, seat_codec(offset)) >>:~ { seat => conditional( objClass == ObjectClass.avatar, @@ -232,7 +229,7 @@ object MountableInventory { } /** - * Translate data the is verified to involve a player who is seated (mounted) to the parent object at a given slot. + * Translate data that is verified to involve a player who is seated (mounted) to the parent object at a given slot. * The operation performed by this `Codec` is very similar to `InternalSlot.codec`. * @param pad the padding offset for the player's name; * 0-7 bits; @@ -245,7 +242,7 @@ object MountableInventory { private def seat_codec(pad: Int): Codec[InternalSlot] = { import shapeless.:: ( - ("objectClass" | uintL(11)) :: + ("objectClass" | uintL(bits = 11)) :: ("guid" | PlanetSideGUID.codec) :: ("parentSlot" | PacketHelpers.encodedStringSize) :: ("obj" | Player_Data.codec(pad))