summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-09-21 23:43:31 +0300
committerAndrei Karas <akaras@inbox.ru>2015-09-21 23:44:58 +0300
commit0533718792de26406c56257e4aea7f28d898a132 (patch)
tree653a1244848224708d1383fd3187e15bac55be0d
parente3b02f3d1977ef6eb18d91474e113cba1d3de710 (diff)
downloadplus-0533718792de26406c56257e4aea7f28d898a132.tar.gz
plus-0533718792de26406c56257e4aea7f28d898a132.tar.bz2
plus-0533718792de26406c56257e4aea7f28d898a132.tar.xz
plus-0533718792de26406c56257e4aea7f28d898a132.zip
Define out packet variables in one place and in all files use only externs.
-rw-r--r--src/CMakeLists.txt3
-rw-r--r--src/Makefile.am3
-rw-r--r--src/net/eathena/protocolout.cpp30
-rw-r--r--src/net/eathena/protocolout.h5
-rw-r--r--src/net/protocoloutdefine.h26
-rw-r--r--src/net/protocoloutinclude.h2
-rw-r--r--src/net/tmwa/protocolout.cpp30
-rw-r--r--src/net/tmwa/protocolout.h5
8 files changed, 103 insertions, 1 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 39a94d052..99a2bd0e5 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -580,6 +580,7 @@ SET(SRCS
net/packetlimiter.cpp
net/packetlimiter.h
net/protocolindefine.h
+ net/protocoloutdefine.h
net/protocoloutinclude.h
net/recvpacketdefine.h
resources/action.cpp
@@ -1483,6 +1484,7 @@ SET(SRCS_TMWA
net/tmwa/playerrecv.cpp
net/tmwa/playerrecv.h
net/tmwa/protocolin.h
+ net/tmwa/protocolout.cpp
net/tmwa/protocolout.h
net/tmwa/questhandler.cpp
net/tmwa/questhandler.h
@@ -1707,6 +1709,7 @@ SET(SRCS_EATHENA
net/eathena/playerrecv.cpp
net/eathena/playerrecv.h
net/eathena/protocolin.h
+ net/eathena/protocolout.cpp
net/eathena/protocolout.h
net/eathena/questhandler.cpp
net/eathena/questhandler.h
diff --git a/src/Makefile.am b/src/Makefile.am
index 05d89919f..bb73c2050 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1191,6 +1191,7 @@ manaplus_SOURCES += main.cpp \
net/packetlimiter.cpp \
net/packetlimiter.h \
net/protocolindefine.h \
+ net/protocoloutdefine.h \
net/protocoloutinclude.h \
net/ea/adminrecv.cpp \
net/ea/adminrecv.h \
@@ -1330,6 +1331,7 @@ manaplus_SOURCES += \
net/tmwa/playerrecv.cpp \
net/tmwa/playerrecv.h \
net/tmwa/protocolin.h \
+ net/tmwa/protocolout.cpp \
net/tmwa/protocolout.h \
net/tmwa/questhandler.cpp \
net/tmwa/questhandler.h \
@@ -1557,6 +1559,7 @@ manaplus_SOURCES += gui/windows/bankwindow.cpp \
net/eathena/playerrecv.cpp \
net/eathena/playerrecv.h \
net/eathena/protocolin.h \
+ net/eathena/protocolout.cpp \
net/eathena/protocolout.h \
net/eathena/questhandler.cpp \
net/eathena/questhandler.h \
diff --git a/src/net/eathena/protocolout.cpp b/src/net/eathena/protocolout.cpp
new file mode 100644
index 000000000..f37d5e37b
--- /dev/null
+++ b/src/net/eathena/protocolout.cpp
@@ -0,0 +1,30 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2015 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+namespace EAthena
+{
+#include "net/protocoloutdefine.h"
+#include "net/eathena/packetsout.inc"
+#undef packet
+} // namespace EAthena
+
+
+#include "debug.h"
diff --git a/src/net/eathena/protocolout.h b/src/net/eathena/protocolout.h
index 4202608ac..9216d2447 100644
--- a/src/net/eathena/protocolout.h
+++ b/src/net/eathena/protocolout.h
@@ -22,7 +22,12 @@
#define NET_EATHENA_PROTOCOLOUT_H
#include "net/protocoloutinclude.h"
+
+namespace EAthena
+{
#include "net/eathena/packetsout.inc"
+} // namespace Eathena
+
#undef packet
#endif // NET_EATHENA_PROTOCOLOUT_H
diff --git a/src/net/protocoloutdefine.h b/src/net/protocoloutdefine.h
new file mode 100644
index 000000000..d14db6eab
--- /dev/null
+++ b/src/net/protocoloutdefine.h
@@ -0,0 +1,26 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2015 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NET_PROTOCOLOUTDEFINE_H
+#define NET_PROTOCOLOUTDEFINE_H
+
+#define packet(name, id) int name = id
+
+#endif // NET_PROTOCOLOUTDEFINE_H
diff --git a/src/net/protocoloutinclude.h b/src/net/protocoloutinclude.h
index 46ab3ecc4..86e842862 100644
--- a/src/net/protocoloutinclude.h
+++ b/src/net/protocoloutinclude.h
@@ -21,6 +21,6 @@
#ifndef NET_PROTOCOLOUTINCLUDE_H
#define NET_PROTOCOLOUTINCLUDE_H
-#define packet(name, id) static const int name = id
+#define packet(name, id) extern int name
#endif // NET_PROTOCOLOUTINCLUDE_H
diff --git a/src/net/tmwa/protocolout.cpp b/src/net/tmwa/protocolout.cpp
new file mode 100644
index 000000000..f5e3f20d6
--- /dev/null
+++ b/src/net/tmwa/protocolout.cpp
@@ -0,0 +1,30 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2015 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+namespace TmwAthena
+{
+#include "net/protocoloutdefine.h"
+#include "net/tmwa/packetsout.inc"
+#undef packet
+} // namesspace TmwAthena
+
+
+#include "debug.h"
diff --git a/src/net/tmwa/protocolout.h b/src/net/tmwa/protocolout.h
index 7d5a4342b..4de75a35c 100644
--- a/src/net/tmwa/protocolout.h
+++ b/src/net/tmwa/protocolout.h
@@ -22,7 +22,12 @@
#define NET_TMWA_PROTOCOLOUT_H
#include "net/protocoloutinclude.h"
+
+namespace TmwAthena
+{
#include "net/tmwa/packetsout.inc"
+} // namespace TmwAthena
+
#undef packet
#endif // NET_TMWA_PROTOCOLOUT_H