Can queue subpackets now (automatically creates basepacket). List packets implemented. Base packets fully figured out and implemented. Login has been stablized and no longer crashes. Implemented the following packets: List Packets, Set Job packet, chat message receive packet, SetActorIcon, SetActorIsZoning, SetActorSingleStatus, AchievementRate and some unknown packets.

This commit is contained in:
Filip Maj 2015-12-29 01:20:46 -05:00
parent 3a8d7a43e5
commit aeef4f5616
23 changed files with 581 additions and 223 deletions

View file

@ -17,7 +17,7 @@ namespace FFXIVClassic_Map_Server.packets.send.list
public const ushort OPCODE = 0x017C;
public const uint PACKET_SIZE = 0x98;
public static SubPacket buildPacket(uint playerActorID, uint locationCode, ulong id, ulong listId, uint numEntries)
public static SubPacket buildPacket(uint playerActorID, uint locationCode, ulong sequenceId, ulong listId, uint listTypeId, int numEntries)
{
byte[] data = new byte[PACKET_SIZE - 0x20];
@ -27,11 +27,10 @@ namespace FFXIVClassic_Map_Server.packets.send.list
{
//Temp stuff
string name = "";
uint listTypeId = 0x4E22;
//Write list header
binWriter.Write((UInt64)locationCode);
binWriter.Write((UInt64)id);
binWriter.Write((UInt64)sequenceId);
//Write list id
binWriter.Write((UInt64)3);
@ -47,6 +46,8 @@ namespace FFXIVClassic_Map_Server.packets.send.list
binWriter.Write((UInt32)0xFFFFFFFF);
binWriter.Write(Encoding.ASCII.GetBytes(name), 0, Encoding.ASCII.GetByteCount(name) >= 0x20 ? 0x20 : Encoding.ASCII.GetByteCount(name));
binWriter.Seek(0x64, SeekOrigin.Begin);
binWriter.Write((UInt32)0x6D);
binWriter.Write((UInt32)0x6D);
binWriter.Write((UInt32)0x6D);