From 8dcda5453e7fec40b1f55a66bf5f60f1b8dbd833 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 5 Sep 2014 20:15:08 +0300 Subject: Fix server features initialisation. --- src/net/tmwa/generalhandler.cpp | 4 +++- src/net/tmwa/generalhandler.h | 3 +++ src/net/tmwa/serverfeatures.cpp | 8 ++++++++ src/net/tmwa/serverfeatures.h | 4 ++++ 4 files changed, 18 insertions(+), 1 deletion(-) (limited to 'src/net/tmwa') diff --git a/src/net/tmwa/generalhandler.cpp b/src/net/tmwa/generalhandler.cpp index a31f6d1dc..be33614a2 100644 --- a/src/net/tmwa/generalhandler.cpp +++ b/src/net/tmwa/generalhandler.cpp @@ -55,6 +55,7 @@ #include "net/tmwa/pethandler.h" #include "net/tmwa/playerhandler.h" #include "net/tmwa/protocol.h" +#include "net/tmwa/serverfeatures.h" #include "net/tmwa/tradehandler.h" #include "net/tmwa/skillhandler.h" #include "net/tmwa/questhandler.h" @@ -92,7 +93,8 @@ GeneralHandler::GeneralHandler() : mPlayerHandler(new PlayerHandler), mSkillHandler(new SkillHandler), mTradeHandler(new TradeHandler), - mQuestHandler(new QuestHandler) + mQuestHandler(new QuestHandler), + mServerFeatures(new ServerFeatures) { static const uint16_t _messages[] = { diff --git a/src/net/tmwa/generalhandler.h b/src/net/tmwa/generalhandler.h index 083483b11..cf2d848f0 100644 --- a/src/net/tmwa/generalhandler.h +++ b/src/net/tmwa/generalhandler.h @@ -30,6 +30,8 @@ namespace TmwAthena { +class ServerFeatures; + class GeneralHandler final : public MessageHandler, public Net::GeneralHandler { @@ -76,6 +78,7 @@ class GeneralHandler final : public MessageHandler, MessageHandlerPtr mSkillHandler; MessageHandlerPtr mTradeHandler; MessageHandlerPtr mQuestHandler; + ServerFeatures *mServerFeatures; }; } // namespace TmwAthena diff --git a/src/net/tmwa/serverfeatures.cpp b/src/net/tmwa/serverfeatures.cpp index d2aba176b..416183e3f 100644 --- a/src/net/tmwa/serverfeatures.cpp +++ b/src/net/tmwa/serverfeatures.cpp @@ -20,13 +20,21 @@ #include "net/tmwa/serverfeatures.h" +#include "net/net.h" + #include "debug.h" extern int serverVersion; +extern Net::ServerFeatures *serverFeatures; namespace TmwAthena { +ServerFeatures::ServerFeatures() +{ + serverFeatures = this; +} + bool ServerFeatures::haveOnlineList() const { return serverVersion >= 3; diff --git a/src/net/tmwa/serverfeatures.h b/src/net/tmwa/serverfeatures.h index f6daa2eb7..6b85b887c 100644 --- a/src/net/tmwa/serverfeatures.h +++ b/src/net/tmwa/serverfeatures.h @@ -30,6 +30,10 @@ namespace TmwAthena class ServerFeatures final : public Net::ServerFeatures { public: + ServerFeatures(); + + A_DELETE_COPY(ServerFeatures) + bool haveOnlineList() const override final; }; -- cgit v1.2.3-60-g2f50