diff options
Diffstat (limited to 'src/echar')
-rw-r--r-- | src/echar/char.c | 23 | ||||
-rw-r--r-- | src/echar/char.h | 13 | ||||
-rw-r--r-- | src/echar/init.c | 14 |
3 files changed, 27 insertions, 23 deletions
diff --git a/src/echar/char.c b/src/echar/char.c index b46ca62..1a75086 100644 --- a/src/echar/char.c +++ b/src/echar/char.c @@ -23,10 +23,11 @@ #include "echar/char.h" #include "echar/config.h" -void echar_parse_char_create_new_char(int *fdPtr, struct char_session_data* sd) +void echar_parse_char_create_new_char(int *fdPtr, struct char_session_data **sdPtr) { // ignore char creation disable option const int fd = *fdPtr; + struct char_session_data *sd = *sdPtr; uint16 race = 0; uint16 look = 0; uint8 sex = 0; @@ -106,15 +107,17 @@ void echar_parse_char_create_new_char(int *fdPtr, struct char_session_data* sd) static int tmpVersion = 0; void echar_parse_char_connect_pre(int *fdPtr, - struct char_session_data *sd __attribute__ ((unused)), - uint32 *ipl __attribute__ ((unused))) + struct char_session_data **sd, + uint32 *ipl) { tmpVersion = RFIFOW(*fdPtr, 14); } -void echar_parse_char_connect_post(int *fdPtr, struct char_session_data *sd, uint32 *ipl __attribute__ ((unused))) +void echar_parse_char_connect_post(int fd, + struct char_session_data *sd, + uint32 ipl __attribute__ ((unused))) { - sd = (struct char_session_data*)sockt->session[*fdPtr]->session_data; + sd = (struct char_session_data*)sockt->session[fd]->session_data; if (sd) sd->version = tmpVersion; } @@ -180,14 +183,16 @@ void echar_parse_login_password_change_ack(int charFd) } } -void echar_mmo_char_send099d(int *fdPtr, struct char_session_data *sd) +void echar_mmo_char_send099d_post(int fd, struct char_session_data *sd) { - send_additional_slots(*fdPtr, sd); + send_additional_slots(fd, sd); } -int echar_mmo_char_send_characters_post(int retVal, int *fdPtr, struct char_session_data* sd) +int echar_mmo_char_send_characters_post(int retVal, + int fd, + struct char_session_data* sd) { - send_additional_slots(*fdPtr, sd); + send_additional_slots(fd, sd); return retVal; } diff --git a/src/echar/char.h b/src/echar/char.h index a4a29c8..726f2c2 100644 --- a/src/echar/char.h +++ b/src/echar/char.h @@ -4,7 +4,8 @@ #ifndef EVOL_CHAR_CHAR #define EVOL_CHAR_CHAR -void echar_parse_char_create_new_char(int *fdPtr, struct char_session_data* sd); +void echar_parse_char_create_new_char(int *fdPtr, + struct char_session_data **sdPtr); void echar_creation_failed(int *fdPtr, int *result); @@ -12,19 +13,17 @@ void echar_parse_change_paassword(int fd); void echar_parse_login_password_change_ack(int charFd); -void echar_mmo_char_send099d_post(int *fdPtr, struct char_session_data *sd); +void echar_mmo_char_send099d_post(int fd, struct char_session_data *sd); -int echar_mmo_char_send_characters_post(int retVal, int *fdPtr, struct char_session_data *sd); +int echar_mmo_char_send_characters_post(int retVal, int fd, struct char_session_data *sd); int echar_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf); -void echar_mmo_char_send099d(int *fdPtr, struct char_session_data *sd); - void send_additional_slots(int fd, struct char_session_data* sd); -void echar_parse_char_connect_pre(int *fdPtr, struct char_session_data *sd, uint32 *ipl); +void echar_parse_char_connect_pre(int *fdPtr, struct char_session_data **sd, uint32 *ipl); -void echar_parse_char_connect_post(int *fdPtr, struct char_session_data *sd, uint32 *ipl); +void echar_parse_char_connect_post(int fd, struct char_session_data *sd, uint32 ipl); void echar_parse_frommap_request_stats_report_pre(int *fdPtr); diff --git a/src/echar/init.c b/src/echar/init.c index e6f3eaa..e40395c 100644 --- a/src/echar/init.c +++ b/src/echar/init.c @@ -52,14 +52,14 @@ HPExport void plugin_init (void) addPacket(0x0061, 50, echar_parse_change_paassword, hpParse_Char); addPacket(0x5001, 7, echar_parse_login_password_change_ack, hpParse_FromLogin); - addHookPre("chr->parse_char_create_new_char", echar_parse_char_create_new_char); - addHookPre("chr->creation_failed", echar_creation_failed); - addHookPre("chr->parse_char_connect", echar_parse_char_connect_pre); - addHookPre("chr->parse_frommap_request_stats_report", echar_parse_frommap_request_stats_report_pre); + addHookPre(chr, parse_char_create_new_char, echar_parse_char_create_new_char); + addHookPre(chr, creation_failed, echar_creation_failed); + addHookPre(chr, parse_char_connect, echar_parse_char_connect_pre); + addHookPre(chr, parse_frommap_request_stats_report, echar_parse_frommap_request_stats_report_pre); - addHookPost("chr->mmo_char_send099d", echar_mmo_char_send099d); - addHookPost("chr->mmo_char_send_characters", echar_mmo_char_send_characters_post); - addHookPost("chr->parse_char_connect", echar_parse_char_connect_post); + addHookPost(chr, mmo_char_send099d, echar_mmo_char_send099d_post); + addHookPost(chr, mmo_char_send_characters, echar_mmo_char_send_characters_post); + addHookPost(chr, parse_char_connect, echar_parse_char_connect_post); } HPExport void server_preinit (void) |