summaryrefslogtreecommitdiff
path: root/include/pso/packet_classes.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/pso/packet_classes.h')
-rw-r--r--include/pso/packet_classes.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/include/pso/packet_classes.h b/include/pso/packet_classes.h
index 268ac40..e0a78bd 100644
--- a/include/pso/packet_classes.h
+++ b/include/pso/packet_classes.h
@@ -7,8 +7,10 @@
#include <pso/forward.h>
#include <pso/protocol.h>
#include <pso/TMenuList.h>
+#include <pso/TPlyChallenge.h>
#include <pso/TPlyCharData.h>
#include <pso/TPlyClientConfig.h>
+#include <pso/TPlyChoiceSearchConfig.h>
#include <pso/TPlyGuildCardTag.h>
#include <pso/TPlySmth.h>
@@ -83,6 +85,42 @@ union game_command_union {
u8 bytes[1024];
};
+class TBlockedSenders {
+public:
+ packet_header header;
+ u32 blocked_senders[30];
+public:
+ void bswap() {
+ header.bswap();
+ for (int i = 0; i < 30; ++i) {
+ bswap_32(&blocked_senders[i]);
+ }
+ };
+};
+
+class TPlyJoinData {
+public:
+ packet_header header;
+ TPlyCharData char_data;
+ TPlyChallenge challenge;
+ TPlyChoiceSearchConfig choice_search_config;
+ char info_board[172];
+ u32 blocked_senders[30];
+ u32 auto_reply_enabled;
+ char auto_reply[512];
+public:
+ void bswap() {
+ header.bswap();
+ char_data.bswap();
+ challenge.bswap();
+ choice_search_config.bswap();
+ for (int i = 0; i < 30; ++i) {
+ bswap_32(&blocked_senders[i]);
+ }
+ bswap_32(&auto_reply_enabled);
+ };
+};
+
template<int action_type = 0>
class TSendAction {
public: