diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-20 17:21:56 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-20 17:21:56 +0000 |
commit | 223309b9b30b5221163ef97984ae5e84b712d6d5 (patch) | |
tree | 3974e6cb81adbc1cd147aaf55c36dca4f3ea3821 /src/char_sql/char.c | |
parent | 9855d5724bd4bc11b2ee2e155ce827c3acb66618 (diff) | |
download | hercules-223309b9b30b5221163ef97984ae5e84b712d6d5.tar.gz hercules-223309b9b30b5221163ef97984ae5e84b712d6d5.tar.bz2 hercules-223309b9b30b5221163ef97984ae5e84b712d6d5.tar.xz hercules-223309b9b30b5221163ef97984ae5e84b712d6d5.zip |
- Moved PACKETVER to mmo.h, and added support for the expanded character info window on the char-server when PACKETVER is above 7.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9539 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/char_sql/char.c')
-rw-r--r-- | src/char_sql/char.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/char_sql/char.c b/src/char_sql/char.c index a6bc9dbea..f921ff48a 100644 --- a/src/char_sql/char.c +++ b/src/char_sql/char.c @@ -1680,7 +1680,11 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) { int i, j, found_num = 0; struct mmo_charstatus *p = NULL; const int offset = 24; +#ifdef PACKETVER > 7 + WFIFOHEAD(fd, offset +9*108); +#else WFIFOHEAD(fd, offset +9*106); +#endif set_char_online(-1, 99,sd->account_id); @@ -1705,9 +1709,15 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) { for(i = found_num; i < 9; i++) sd->found_char[i] = -1; - memset(WFIFOP(fd, 0), 0, offset + found_num * 106); WFIFOW(fd, 0) = 0x6b; + +#ifdef PACKETVER > 7 + memset(WFIFOP(fd, 0), 0, offset + found_num * 108); + WFIFOW(fd, 2) = offset + found_num * 108; +#endif + memset(WFIFOP(fd, 0), 0, offset + found_num * 106); WFIFOW(fd, 2) = offset + found_num * 106; +#endif if (save_log) ShowInfo("Loading Char Data ("CL_BOLD"%d"CL_RESET")\n",sd->account_id); @@ -1717,7 +1727,11 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) { p = &char_dat; +#ifdef PACKETVER > 7 + j = offset + (i * 108); +#else j = offset + (i * 106); // increase speed of code +#endif WFIFOL(fd,j) = p->char_id; WFIFOL(fd,j+4) = p->base_exp>LONG_MAX?LONG_MAX:p->base_exp; @@ -1758,9 +1772,13 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) { WFIFOB(fd,j+101) = (p->int_ > UCHAR_MAX) ? UCHAR_MAX : p->int_; WFIFOB(fd,j+102) = (p->dex > UCHAR_MAX) ? UCHAR_MAX : p->dex; WFIFOB(fd,j+103) = (p->luk > UCHAR_MAX) ? UCHAR_MAX : p->luk; +#if PACKETVER > 7 + WFIFOW(fd,j+104) = p->char_num; + WFIFOB(fd,j+106) = 1; //TODO: Handle this rename bit: 0 to enable renaming +#else WFIFOB(fd,j+104) = p->char_num; +#endif } - WFIFOSET(fd,WFIFOW(fd,2)); // printf("mmo_char_send006b end..\n"); return 0; |