summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-11-10 20:01:29 +0300
committerAndrei Karas <akaras@inbox.ru>2014-11-10 20:01:29 +0300
commit8812bcce528883ac963bd848e91ddcf162a24fa0 (patch)
tree26622b093064807bfb8bd89b03e157803b4c61ea
parent3d3f077e6ff51e5e9d388a16bd73a526310918ad (diff)
downloadevol-hercules-8812bcce528883ac963bd848e91ddcf162a24fa0.tar.gz
evol-hercules-8812bcce528883ac963bd848e91ddcf162a24fa0.tar.bz2
evol-hercules-8812bcce528883ac963bd848e91ddcf162a24fa0.tar.xz
evol-hercules-8812bcce528883ac963bd848e91ddcf162a24fa0.zip
login: move server version sending into separate file.
-rw-r--r--src/Makefile.am4
-rw-r--r--src/login/parse.c8
-rw-r--r--src/login/send.c25
-rw-r--r--src/login/send.h9
4 files changed, 39 insertions, 7 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 35f94a4..d95ddfc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -6,7 +6,9 @@ LOGIN_SRC = login/config.c \
login/config.h \
login/init.c \
login/parse.c \
- login/parse.h
+ login/parse.h \
+ login/send.c \
+ login/send.h
MAP_SRC = map/dummy.c \
map/dummy.h \
diff --git a/src/login/parse.c b/src/login/parse.c
index 7b6bb11..b8f25fe 100644
--- a/src/login/parse.c
+++ b/src/login/parse.c
@@ -13,6 +13,7 @@
#include "../../../login/login.h"
#include "login/parse.h"
+#include "login/send.h"
int clientVersion = 0;
@@ -30,12 +31,7 @@ void login_parse_version(int fd)
return;
}
- WFIFOHEAD(fd, 4 + 8);
- WFIFOW(fd, 0) = 0x7531;
- WFIFOW(fd, 2) = 4 + 8;
- WFIFOL(fd, 4) = 0; // unused
- WFIFOL(fd, 8) = 1; // server version
- WFIFOSET(fd, WFIFOW(fd,2));
+ send_server_version(fd);
}
int elogin_parse_client_login_pre(int *fd, struct login_session_data* sd, const char *const ip)
diff --git a/src/login/send.c b/src/login/send.c
new file mode 100644
index 0000000..257376f
--- /dev/null
+++ b/src/login/send.c
@@ -0,0 +1,25 @@
+// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL.
+// Copyright (c) 2014 Evol developers
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "../../../common/HPMi.h"
+#include "../../../common/malloc.h"
+#include "../../../common/mmo.h"
+#include "../../../common/socket.h"
+#include "../../../common/strlib.h"
+#include "../../../login/login.h"
+
+#include "login/send.h"
+
+void send_server_version(int fd)
+{
+ WFIFOHEAD(fd, 4 + 8);
+ WFIFOW(fd, 0) = 0x7531;
+ WFIFOW(fd, 2) = 4 + 8;
+ WFIFOL(fd, 4) = 0; // unused
+ WFIFOL(fd, 8) = 1; // server version
+ WFIFOSET(fd, WFIFOW(fd,2));
+}
diff --git a/src/login/send.h b/src/login/send.h
new file mode 100644
index 0000000..20c184e
--- /dev/null
+++ b/src/login/send.h
@@ -0,0 +1,9 @@
+// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL.
+// Copyright (c) 2014 Evol developers
+
+#ifndef EVOL_LOGIN_SEND
+#define EVOL_LOGIN_SEND
+
+void send_server_version();
+
+#endif // EVOL_LOGIN_SEND