summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-04-17 07:29:20 +0000
committerai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-04-17 07:29:20 +0000
commitd8b32cd3d2c91d510dbbc4d344198a31a0a58c69 (patch)
tree2068ffba4a9fbf64cfc01898b482f5ab529bad11
parent432ec6db58f1c10a4c1050d5af6ebe329c03cf91 (diff)
downloadhercules-d8b32cd3d2c91d510dbbc4d344198a31a0a58c69.tar.gz
hercules-d8b32cd3d2c91d510dbbc4d344198a31a0a58c69.tar.bz2
hercules-d8b32cd3d2c91d510dbbc4d344198a31a0a58c69.tar.xz
hercules-d8b32cd3d2c91d510dbbc4d344198a31a0a58c69.zip
* Fixed char-server missing some WFIFOHEAD (partially due to r10909 being reverted by r11245, follow up to r9307 and r14618).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14798 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--src/char/char.c4
-rw-r--r--src/char_sql/char.c4
3 files changed, 10 insertions, 0 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 69789a602..bc05a05f4 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -1,5 +1,7 @@
Date Added
+2011/04/17
+ * Fixed char-server missing some WFIFOHEAD (partially due to r10909 being reverted by r11245, follow up to r9307 and r14618). [Ai4rei]
2011/04/16
* Added support for visible garments/robes. [Ai4rei]
- For SQL apply upgrade_svn14797.sql to upgrade table `char`; for TXT no action is necessary, as it upgrades itself.
diff --git a/src/char/char.c b/src/char/char.c
index 178a20262..6599a6258 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -2026,6 +2026,7 @@ static void char_auth_ok(int fd, struct char_session_data *sd)
mapif_disconnectplayer(server[character->server].fd, character->account_id, character->char_id, 2);
if (character->waiting_disconnect == INVALID_TIMER)
character->waiting_disconnect = add_timer(gettick()+20000, chardb_waiting_disconnect, character->account_id, 0);
+ WFIFOHEAD(fd,3);
WFIFOW(fd,0) = 0x81;
WFIFOB(fd,2) = 8;
WFIFOSET(fd,3);
@@ -2033,6 +2034,7 @@ static void char_auth_ok(int fd, struct char_session_data *sd)
}
if (character->fd >= 0 && character->fd != fd)
{ //There's already a connection from this account that hasn't picked a char yet.
+ WFIFOHEAD(fd,3);
WFIFOW(fd,0) = 0x81;
WFIFOB(fd,2) = 8;
WFIFOSET(fd,3);
@@ -2167,6 +2169,7 @@ int parse_fromlogin(int fd)
if( max_connect_user && count_users() >= max_connect_user && sd->gmlevel < gm_allow_level )
{
// refuse connection (over populated)
+ WFIFOHEAD(i,3);
WFIFOW(i,0) = 0x6c;
WFIFOW(i,2) = 0;
WFIFOSET(i,3);
@@ -2701,6 +2704,7 @@ int parse_frommap(int fd)
data = status_search_scdata(aid, cid);
if (data->count > 0)
{ //Deliver status change data.
+ WFIFOHEAD(fd,14 + data->count*sizeof(struct status_change_data));
WFIFOW(fd,0) = 0x2b1d;
WFIFOW(fd,2) = 14 + data->count*sizeof(struct status_change_data);
WFIFOL(fd,4) = aid;
diff --git a/src/char_sql/char.c b/src/char_sql/char.c
index 3b2e508b6..5ad5a273b 100644
--- a/src/char_sql/char.c
+++ b/src/char_sql/char.c
@@ -1744,6 +1744,7 @@ static void char_auth_ok(int fd, struct char_session_data *sd)
mapif_disconnectplayer(server[character->server].fd, character->account_id, character->char_id, 2);
if (character->waiting_disconnect == INVALID_TIMER)
character->waiting_disconnect = add_timer(gettick()+20000, chardb_waiting_disconnect, character->account_id, 0);
+ WFIFOHEAD(fd,3);
WFIFOW(fd,0) = 0x81;
WFIFOB(fd,2) = 8;
WFIFOSET(fd,3);
@@ -1751,6 +1752,7 @@ static void char_auth_ok(int fd, struct char_session_data *sd)
}
if (character->fd >= 0 && character->fd != fd)
{ //There's already a connection from this account that hasn't picked a char yet.
+ WFIFOHEAD(fd,3);
WFIFOW(fd,0) = 0x81;
WFIFOB(fd,2) = 8;
WFIFOSET(fd,3);
@@ -1885,6 +1887,7 @@ int parse_fromlogin(int fd)
if( max_connect_user && count_users() >= max_connect_user && sd->gmlevel < gm_allow_level )
{
// refuse connection (over populated)
+ WFIFOHEAD(i,3);
WFIFOW(i,0) = 0x6c;
WFIFOW(i,2) = 0;
WFIFOSET(i,3);
@@ -3530,6 +3533,7 @@ int parse_char(int fd)
//can't delete the char
//either SQL error or can't delete by some CONFIG conditions
//del fail
+ WFIFOHEAD(fd,3);
WFIFOW(fd, 0) = 0x70;
WFIFOB(fd, 2) = 0;
WFIFOSET(fd, 3);