From 9c4220bfd29caac8bc6274edd670df3350fb6acb Mon Sep 17 00:00:00 2001 From: Filip Maj Date: Sun, 13 Sep 2015 11:56:48 -0400 Subject: [PATCH] Chara info is now generated and sent without errors. Still need to figure out what equip IDs to use, and add face and characteristics data. --- FFXIVClassic_Lobby_Server/dataobjects/CharaInfo.cs | 13 ++++++++----- .../packets/CharacterListPacket.cs | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/FFXIVClassic_Lobby_Server/dataobjects/CharaInfo.cs b/FFXIVClassic_Lobby_Server/dataobjects/CharaInfo.cs index 49194557..1ebb52e2 100644 --- a/FFXIVClassic_Lobby_Server/dataobjects/CharaInfo.cs +++ b/FFXIVClassic_Lobby_Server/dataobjects/CharaInfo.cs @@ -119,13 +119,13 @@ namespace FFXIVClassic_Lobby_Server.dataobjects { using (BinaryWriter writer = new BinaryWriter(stream)) { - string location1 = "prv0Inn01"; - string location2 = "defaultTerritory"; + string location1 = "prv0Inn01\0"; + string location2 = "defaultTerritory\0"; writer.Write((UInt32)0x000004c0); writer.Write((UInt32)0x232327ea); - writer.Write((UInt32)System.Text.Encoding.UTF8.GetBytes(chara.name).Length); - writer.Write(System.Text.Encoding.UTF8.GetBytes(chara.name)); + writer.Write((UInt32)System.Text.Encoding.UTF8.GetBytes(chara.name + '\0').Length); + writer.Write(System.Text.Encoding.UTF8.GetBytes(chara.name + '\0')); writer.Write((UInt32)0x1c); writer.Write((UInt32)0x04); writer.Write((UInt32)getTribeModel()); @@ -163,7 +163,7 @@ namespace FFXIVClassic_Lobby_Server.dataobjects writer.Write((UInt32)rightFingerGear); writer.Write((UInt32)leftFingerGear); - for (int i = 0; i < 0xC; i++) + for (int i = 0; i < 0x8; i++) writer.Write((byte)0); writer.Write((UInt32)1); @@ -175,6 +175,8 @@ namespace FFXIVClassic_Lobby_Server.dataobjects writer.Write((UInt16)1); writer.Write((byte)tribe); + writer.Write((UInt32)0xe22222aa); + writer.Write((UInt32)System.Text.Encoding.UTF8.GetBytes(location1).Length); writer.Write(System.Text.Encoding.UTF8.GetBytes(location1)); writer.Write((UInt32)System.Text.Encoding.UTF8.GetBytes(location2).Length); @@ -184,6 +186,7 @@ namespace FFXIVClassic_Lobby_Server.dataobjects writer.Write((byte)birthMonth); writer.Write((byte)birthDay); + writer.Write((UInt16)0x17); writer.Write((UInt32)4); writer.Write((UInt32)4); diff --git a/FFXIVClassic_Lobby_Server/packets/CharacterListPacket.cs b/FFXIVClassic_Lobby_Server/packets/CharacterListPacket.cs index 6cbf1d50..4ec5b5db 100644 --- a/FFXIVClassic_Lobby_Server/packets/CharacterListPacket.cs +++ b/FFXIVClassic_Lobby_Server/packets/CharacterListPacket.cs @@ -76,8 +76,8 @@ namespace FFXIVClassic_Lobby_Server.packets binWriter.Write(Encoding.ASCII.GetBytes(worldname.PadRight(0xE, '\0'))); //World Name CharaInfo info = JsonConvert.DeserializeObject(chara.charaInfo); - //binWriter.Write(info.buildForCharaList(chara)); //Appearance Data - binWriter.Write(CharaInfo.debug()); //Appearance Data + binWriter.Write(info.buildForCharaList(chara)); //Appearance Data + //binWriter.Write(CharaInfo.debug()); //Appearance Data characterCount++; totalCount++;