summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/char/char.hpp3
-rw-r--r--src/login/login.cpp4
-rw-r--r--src/login/login.hpp2
-rw-r--r--src/mmo/login.t.hpp44
-rw-r--r--src/mmo/version.hpp3
-rwxr-xr-xtools/protocol.py7
6 files changed, 5 insertions, 58 deletions
diff --git a/src/char/char.hpp b/src/char/char.hpp
index 8adac4d..049875b 100644
--- a/src/char/char.hpp
+++ b/src/char/char.hpp
@@ -42,9 +42,6 @@ std::chrono::seconds DEFAULT_AUTOSAVE_INTERVAL = 5_min;
constexpr
GmLevel default_gm_level = GmLevel::from(0_u32);
-// increase the min version when the protocol is incompatible with old m+ versions
-#define MIN_CLIENT_VERSION 1
-
struct AuthFifoEntry
{
AccountId account_id;
diff --git a/src/login/login.cpp b/src/login/login.cpp
index 886c510..9310ad3 100644
--- a/src/login/login.cpp
+++ b/src/login/login.cpp
@@ -2494,9 +2494,7 @@ void parse_login(Session *s)
result = mmo_auth(&account, s);
if (result == -1)
{
- VERSION_2 version_2 = fixed.version_2_flags;
- if (!bool(version_2 & VERSION_2::UPDATEHOST)
- || !bool(version_2 & VERSION_2::SERVERORDER))
+ if (fixed.version < MIN_CLIENT_VERSION)
result = 5; // client too old
}
if (result == -1)
diff --git a/src/login/login.hpp b/src/login/login.hpp
index ae99558..ba42bae 100644
--- a/src/login/login.hpp
+++ b/src/login/login.hpp
@@ -18,8 +18,6 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-#include "login.t.hpp"
-
#include "fwd.hpp"
#include "../strings/vstring.hpp"
diff --git a/src/mmo/login.t.hpp b/src/mmo/login.t.hpp
deleted file mode 100644
index f2c775a..0000000
--- a/src/mmo/login.t.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#pragma once
-// login.t.hpp - externally useful types from login
-//
-// Copyright © ????-2004 Athena Dev Teams
-// Copyright © 2004-2011 The Mana World Development Team
-// Copyright © 2011-2014 Ben Longbons <b.r.longbons@gmail.com>
-//
-// This file is part of The Mana World (Athena server)
-//
-// 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 3 of the License, or
-// (at your option) 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/>.
-
-#include "fwd.hpp"
-
-#include <cstdint>
-
-#include "../generic/enum.hpp"
-
-
-namespace tmwa
-{
-namespace e
-{
-enum class VERSION_2 : uint8_t
-{
- /// client supports updatehost
- UPDATEHOST = 0x01,
- /// send servers in forward order
- SERVERORDER = 0x02,
-};
-ENUM_BITWISE_OPERATORS(VERSION_2)
-}
-using e::VERSION_2;
-} // namespace tmwa
diff --git a/src/mmo/version.hpp b/src/mmo/version.hpp
index a09953f..6de3a9c 100644
--- a/src/mmo/version.hpp
+++ b/src/mmo/version.hpp
@@ -35,6 +35,9 @@ namespace tmwa
#define TMWA_SERVER_INTER 0x04
#define TMWA_SERVER_MAP 0x08
+// increase the min version when the protocol is incompatible with old m+ versions
+#define MIN_CLIENT_VERSION 1
+
// TODO now that I generate the protocol, split 'flags' out of the struct
struct Version
{
diff --git a/tools/protocol.py b/tools/protocol.py
index 003f511..86b625f 100755
--- a/tools/protocol.py
+++ b/tools/protocol.py
@@ -1456,9 +1456,6 @@ def build_context():
#md5_native = md5_h.native('md5_native')
#SaltString = md5_h.native('SaltString')
- VERSION_2 = login_th.native('VERSION_2')
-
-
Position1 = clif_th.native('Position1')
NetPosition1 = clif_th.network('NetPosition1')
Position2 = clif_th.native('Position2')
@@ -1588,8 +1585,6 @@ def build_context():
]
)
- version_2 = ctx.enum(VERSION_2, u8)
-
stats6 = ctx.struct(
'Stats6',
[
@@ -1966,7 +1961,7 @@ def build_context():
at(2, u32, 'unknown'),
at(6, account_name, 'account name'),
at(30, account_pass, 'account pass'),
- at(54, version_2, 'version 2 flags'),
+ at(54, u8, 'version'),
],
fixed_size=55,
pre=[HUMAN, 0x7531],