From ad1179e6cfeb07ff865e0086627761b0a04bfd79 Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Tue, 14 Mar 2023 16:41:22 -0300 Subject: TProtocol: Add (and match) even more command handlers Slowly starting to get fleshed out. --- include/pso/TProtocol.h | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'include/pso/TProtocol.h') diff --git a/include/pso/TProtocol.h b/include/pso/TProtocol.h index bc0f27f..fa9f6da 100644 --- a/include/pso/TProtocol.h +++ b/include/pso/TProtocol.h @@ -19,6 +19,7 @@ #include EXTERN_OBJECT_NAME(TProtocol); +extern int maybe_release_flag; extern u32 new_ip_addr; extern u16 new_port; extern TPlyMeetUserExtension meet_user_settings; @@ -33,6 +34,10 @@ struct packet { } pkt; u8 bytes[0x7c00]; }; + + void bswap() { + pkt.header.bswap(); + }; }; #define RECV_PACKET_HANDLERS \ @@ -51,7 +56,7 @@ struct packet { o(handle_64_recv_start_game3, TPlyJoinGame &join_data) \ o(unused8, void) \ o(handle_67_recv_start_lobby2, TPlyJoinLobbyEntry *entries, u8 entry_count, int client_id, int leader_id, int lobby_number, int block_number, int smth, int event) \ - o(handle_80_unused_ignored_packet, void) \ + o(handle_80_recv_generate_id, TRecvGenerateID gen_id) \ o(unused9, void) \ o(handle_65_add_player_to_game_packet, void) \ o(handle_66_player_left_game_packet, void) \ @@ -61,8 +66,8 @@ struct packet { o(handle_92_9C_register_response_packet, void) \ o(unused10, void) \ o(handle_95_request_character_data_packet, void) \ - o(handle_81_simple_mail_packet, void) \ - o(handle_41_guild_card_search_reply_packet, void) \ + o(handle_81_recv_chat_message, TChatMessage &chat_message) \ + o(handle_41_recv_user_ans, TUserAns &user_ans) \ o(send_96_unused, void) \ o(handle_97_checksum_reply_packet, void) \ o(handle_B1_current_time_packet, void) \ @@ -205,6 +210,20 @@ public: void recv_battle_data(packet &pkt); // 0x1C void recv_system_file(packet &pkt); + // 0x60/0x62 + void recv_pso_data(packet &pkt); + // 0x6C/0x6D + void recv_pso_data_long(packet &pkt); + // 0x80 + void recv_generate_id(packet &pkt); + // 0x83 + void recv_room_info(packet &pkt); + // 0x41 + void recv_user_ans(packet &pkt); + // 0x1D + void recv_ping(packet &pkt); + // 0x81 + void recv_chat_message(packet &pkt); // Send command handlers. int send_login3(); -- cgit v1.2.3-13-gbd6f