Packet: ConnectToWorldMessage and fix VNL test

This commit is contained in:
Chord 2016-05-14 14:50:33 -04:00
parent 43a403174f
commit 034dadc96c
3 changed files with 35 additions and 6 deletions

View file

@ -32,6 +32,8 @@ object GamePacketOpcode extends Enumeration {
= Value
def getPacketDecoder(opcode : GamePacketOpcode.Type) : (BitVector) => Attempt[DecodeResult[PlanetSideGamePacket]] = opcode match {
//case ConnectToWorldRequestMessage => game.ConnectToWorldRequestMessage.decode
case ConnectToWorldMessage => game.ConnectToWorldMessage.decode
case LoginMessage => game.LoginMessage.decode
case LoginRespMessage => game.LoginRespMessage.decode
case VNLWorldStatusMessage => game.VNLWorldStatusMessage.decode

View file

@ -1,11 +1,11 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet.game
import net.psforever.packet.{GamePacketOpcode, Marshallable, PlanetSideGamePacket}
import net.psforever.packet.{GamePacketOpcode, Marshallable, PacketHelpers, PlanetSideGamePacket}
import scodec.Codec
import scodec.codecs._
final case class ConnectToWorldMessage(world : String)
final case class ConnectToWorldMessage(server : String, serverIp : String, port : Int)
extends PlanetSideGamePacket {
type Packet = ConnectToWorldMessage
def opcode = GamePacketOpcode.ConnectToWorldMessage
@ -13,5 +13,9 @@ final case class ConnectToWorldMessage(world : String)
}
object ConnectToWorldMessage extends Marshallable[ConnectToWorldMessage] {
implicit val codec : Codec[ConnectToWorldMessage] = ascii.as[ConnectToWorldMessage]
implicit val codec : Codec[ConnectToWorldMessage] = (
("server_name" | PacketHelpers.encodedString) ::
("server_ip" | PacketHelpers.encodedString) ::
("server_port" | uint16L)
).as[ConnectToWorldMessage]
}