summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/pso/TProtocol.h12
-rw-r--r--include/pso/TSocket.h2
-rw-r--r--include/pso/TTcpSocket.h2
-rw-r--r--include/pso/packet_classes.h13
4 files changed, 27 insertions, 2 deletions
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 <pso/TTcpSocket.h>
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];