11 #include "../pktboth.h" 13 #include "../pktout.h" 62 static bool is_defined(
unsigned char msgid );
65 static int msglen(
unsigned char msgid );
68 static int msglen_v2(
unsigned char msgid );
71 static void set_handler(
unsigned char msgid,
int len,
PktHandlerFunc func,
82 static void handle_msg(
unsigned char msgid,
Client* client,
void*
data );
85 static void initialize_msg_handlers();
92 static void initialize_extended_handlers();
93 static void set_extended_handler(
UEXTMSGID submsgtype,
98 #define MSGLEN_2BYTELEN_DATA -2 104 void handle_attack( Network::Client* client, Core::PKTIN_05* msg );
111 void buyhandler( Network::Client* client, Core::PKTBI_3B* msg );
112 void sellhandler( Network::Client* client, Core::PKTIN_9F* msg );
122 void doubleclick( Network::Client* client, PKTIN_06* msg );
123 void drop_item( Network::Client* client, PKTIN_08_V1* msg );
124 void drop_item_v2( Network::Client* client, PKTIN_08_V2* msg );
125 void equip_item( Network::Client* client, PKTIN_13* msg );
126 void get_item( Network::Client* client, PKTIN_07* msg );
127 void handle_help( Network::Client* client, PKTIN_9B* msg );
129 void srequest( Network::Client* client, PKTIN_34* msg );
131 void handle_A4( Network::Client* client, PKTIN_A4* msg );
132 void handle_D9( Network::Client* client, PKTIN_D9* msg );
133 void select_server( Network::Client* client, PKTIN_A0* msg );
134 void login2( Network::Client* client, PKTIN_91* msg );
139 void handle_msg_B5( Network::Client* client, PKTIN_B5* msg );
140 void handle_msg_BB( Network::Client* client, PKTBI_BB* msg );
146 void handle_walk( Network::Client* client, PKTIN_02* msg02 );
147 void char_select( Network::Client* client, PKTIN_5D* msg );
157 void handle_prompt( Network::Client* client, PKTBI_9A* msg );
162 void handle_msg_BF( Network::Client* client, PKTBI_BF* msg );
165 void SpeechHandler( Network::Client* client, PKTIN_03* mymsg );
168 void handle_action( Network::Client* client, PKTIN_12* cmd );
void equip_item(Network::Client *client, PKTIN_13 *msg)
void ClientCreateChar(Network::Client *client, PKTIN_00 *msg)
void handle_target_cursor(Network::Client *client, PKTBI_6C *msg)
void handle_attack(Network::Client *client, Core::PKTIN_05 *msg)
void handle_secure_trade_msg(Network::Client *client, PKTBI_6F *msg)
void(* PktHandlerFunc)(Client *client, void *msg)
void handle_msg_BB(Client *client, PKTBI_BB *)
void char_select(Network::Client *client, PKTIN_5D *msg)
void handle_mode_set(Client *client, PKTBI_72 *msg)
void open_book_handler(Client *client, PKTBI_93 *msg)
void handle_char_profile_request(Client *client, PKTBI_B8_IN *msg)
void handle_msg_BF(Client *client, PKTBI_BF *msg)
void handle_open_spellbook(Network::Client *client, PKTIN_12 *msg)
void handle_get_tip(Network::Client *client, PKTIN_A7 *msg)
void gumpbutton_handler(Client *client, PKTIN_B1 *msg)
void handle_delete_character(Network::Client *client, PKTIN_83 *msg)
void handle_map_pin(Network::Client *client, PKTBI_56 *msg)
void loginserver_login(Network::Client *client, PKTIN_80 *msg)
void login2(Network::Client *client, PKTIN_91 *msg)
void handle_keep_alive(Network::Client *client, PKTBI_73 *msg)
void get_item(Network::Client *client, PKTIN_07 *msg)
void KR_Verifier_Response(Network::Client *, PKTIN_E4 *)
void handle_prompt(Network::Client *client, PKTBI_9A *msg)
void handle_ef_seed(Client *client, PKTIN_EF *msg)
void handle_client_version(Client *client, PKTBI_BD *msg)
void handle_e1_clienttype(Client *client, PKTIN_E1 *msg)
void handle_help(Network::Client *client, PKTIN_9B *)
void handle_allnames(Client *client, PKTBI_98_IN *msg)
void drop_item(Network::Client *client, PKTIN_08_V1 *msg)
void srequest(Network::Client *client, PKTIN_34 *msg)
void handle_cast_spell(Network::Client *client, PKTIN_12 *msg)
void UnicodeSpeechHandler(Network::Client *client, PKTIN_AD *msgin)
void handle_resync_request(Network::Client *client, PKTBI_22_SYNC *msg)
void handle_bulletin_boards(Client *client, PKTBI_71 *)
void doubleclick(Network::Client *client, PKTIN_06 *msg)
void handle_rename_char(Client *client, PKTIN_75 *msg)
void handle_textentry(Client *client, PKTIN_AC *msg)
void handle_A4(Network::Client *, PKTIN_A4 *)
void handle_menu_selection(Network::Client *client, PKTIN_7D *msg)
std::unordered_map< u64, ScriptDiffData > data
void handle_unicode_prompt(Client *client, Core::PKTBI_C2 *msg)
void buyhandler(Client *client, PKTBI_3B *msg)
void handle_singleclick(Network::Client *client, PKTIN_09 *msg)
void handle_action(Network::Client *client, PKTIN_12 *cmd)
void handle_skill_lock(Network::Client *client, PKTBI_3A_LOCKS *msg)
void handle_msg_B5(Client *client, PKTIN_B5 *)
void handle_request_tooltip(Network::Client *client, PKTIN_B6 *msgin)
void SpeechHandler(Network::Client *client, PKTIN_03 *mymsg)
void drop_item_v2(Network::Client *client, PKTIN_08_V2 *msg)
void handle_use_skill(Network::Client *client, PKTIN_12 *msg)
void handle_walk(Network::Client *client, PKTIN_02 *msg02)
void sellhandler(Client *client, PKTIN_9F *msg)
void handle_update_range_change(Client *client, PKTBI_C8 *)
void handle_selcolor(Client *client, PKTBI_95 *msg)
void ClientCreateCharKR(Network::Client *client, PKTIN_8D *msg)
void handle_D9(Network::Client *client, PKTIN_D9 *msg)
void read_book_page_handler(Client *client, PKTBI_66 *msg)
void handle_unknown_C4(Client *client, PKTOUT_C4 *)
void handle_se_object_list(Client *client, PKTBI_D6_IN *msgin)
void handle_aos_commands(Client *client, PKTBI_D7 *msg)
void handle_resurrect_menu(Client *client, PKTBI_2C *msg)
void select_server(Network::Client *client, PKTIN_A0 *msg)
void ClientCreateChar70160(Network::Client *client, PKTIN_F8 *msg)