From d7336127af97ed86778796fb3a9cd203ce8b9306 Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Sun, 12 Mar 2023 14:34:47 -0300 Subject: TProtocol: Add, and match more command handlers, along with some other functions needed to get them working --- include/pso/TProtocol.h | 12 ++++++++++++ include/pso/TSocket.h | 2 +- include/pso/TTcpSocket.h | 2 +- include/pso/packet_classes.h | 13 +++++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/pso/TProtocol.h b/include/pso/TProtocol.h index bcc7386..bc0f27f 100644 --- a/include/pso/TProtocol.h +++ b/include/pso/TProtocol.h @@ -19,6 +19,8 @@ #include EXTERN_OBJECT_NAME(TProtocol); +extern u32 new_ip_addr; +extern u16 new_port; extern TPlyMeetUserExtension meet_user_settings; extern u32 game_variations[16][2]; extern void copy_packet(struct packet *pkt); @@ -154,6 +156,7 @@ public: void some_stub(); int handle_command(struct packet *pkt); void parse_packet(); + void seq_jump(u8 *some_struct, TPlyMeetUserExtension &extension); // Command handlers. // 0x01 @@ -196,6 +199,15 @@ public: void recv_upload(packet &pkt); // 0x11 void recv_message(packet &pkt); + // 0x19 + void recv_port(packet &pkt); + // 0x1B + void recv_battle_data(packet &pkt); + // 0x1C + void recv_system_file(packet &pkt); + + // Send command handlers. + int send_login3(); }; #endif diff --git a/include/pso/TSocket.h b/include/pso/TSocket.h index 66df9dc..9ffaf9f 100644 --- a/include/pso/TSocket.h +++ b/include/pso/TSocket.h @@ -38,7 +38,7 @@ public: TSocket(TObject *parent); virtual ~TSocket(); - virtual short open() = 0; + virtual int open() = 0; virtual short close() = 0; virtual void recv() = 0; virtual short send(u8 *data) = 0; diff --git a/include/pso/TTcpSocket.h b/include/pso/TTcpSocket.h index 1be39a4..aef01b2 100644 --- a/include/pso/TTcpSocket.h +++ b/include/pso/TTcpSocket.h @@ -24,7 +24,7 @@ public: virtual ~TTcpSocket(); - virtual short open(); + virtual int open(); virtual short close(); virtual void recv(); virtual short send(u8 *data); diff --git a/include/pso/packet_classes.h b/include/pso/packet_classes.h index df47979..0764388 100644 --- a/include/pso/packet_classes.h +++ b/include/pso/packet_classes.h @@ -35,6 +35,19 @@ TMenuListEntry(QuestListEntry, char short_description[112]; ); +class TRecvPort { +public: + packet_header header; + u32 ip_addr; + short port; +public: + void bswap() { + header.bswap(); + bswap_32(&ip_addr); + bswap_16(as(u16 *, &port)); + }; +}; + class TPlyMeetUserExtension { public: TPlyGuildCardTag tags[8]; -- cgit v1.2.3-13-gbd6f