summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/net')
-rw-r--r--src/net/net.cpp6
-rw-r--r--src/net/net.h2
-rw-r--r--src/net/pethandler.h45
-rw-r--r--src/net/tmwa/generalhandler.cpp3
-rw-r--r--src/net/tmwa/generalhandler.h1
-rw-r--r--src/net/tmwa/pethandler.cpp62
-rw-r--r--src/net/tmwa/pethandler.h50
7 files changed, 169 insertions, 0 deletions
diff --git a/src/net/net.cpp b/src/net/net.cpp
index 964c0e76d..91d789b1d 100644
--- a/src/net/net.cpp
+++ b/src/net/net.cpp
@@ -48,6 +48,7 @@ Net::GameHandler *gameHandler = nullptr;
Net::GuildHandler *guildHandler = nullptr;
Net::NpcHandler *npcHandler = nullptr;
Net::PartyHandler *partyHandler = nullptr;
+Net::PetHandler *petHandler = nullptr;
Net::PlayerHandler *playerHandler = nullptr;
Net::SkillHandler *skillHandler = nullptr;
Net::TradeHandler *tradeHandler = nullptr;
@@ -104,6 +105,11 @@ Net::PartyHandler *Net::getPartyHandler()
return partyHandler;
}
+Net::PetHandler *Net::getPetHandler()
+{
+ return petHandler;
+}
+
Net::PlayerHandler *Net::getPlayerHandler()
{
return playerHandler;
diff --git a/src/net/net.h b/src/net/net.h
index 7d25df5e3..afe6cc605 100644
--- a/src/net/net.h
+++ b/src/net/net.h
@@ -47,6 +47,7 @@ class InventoryHandler;
class LoginHandler;
class NpcHandler;
class PartyHandler;
+class PetHandler;
class PlayerHandler;
class SkillHandler;
class TradeHandler;
@@ -63,6 +64,7 @@ InventoryHandler *getInventoryHandler() A_WARN_UNUSED;
LoginHandler *getLoginHandler() A_WARN_UNUSED;
NpcHandler *getNpcHandler() A_WARN_UNUSED;
PartyHandler *getPartyHandler() A_WARN_UNUSED;
+PetHandler *getPetHandler() A_WARN_UNUSED;
PlayerHandler *getPlayerHandler() A_WARN_UNUSED;
SkillHandler *getSkillHandler() A_WARN_UNUSED;
TradeHandler *getTradeHandler() A_WARN_UNUSED;
diff --git a/src/net/pethandler.h b/src/net/pethandler.h
new file mode 100644
index 000000000..15805ba22
--- /dev/null
+++ b/src/net/pethandler.h
@@ -0,0 +1,45 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2013 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_PETHANDLER_H
+#define NET_PETHANDLER_H
+
+#include "being/being.h"
+
+namespace Net
+{
+
+class PetHandler
+{
+ public:
+ virtual ~PetHandler()
+ { }
+
+ virtual void move(const Being *const being,
+ const int x1, const int y1,
+ const int x2, const int y2) const = 0;
+
+ virtual void spawn(const Being *const being,
+ const int x, const int y) const = 0;
+};
+
+} // namespace Net
+
+#endif // NET_PETHANDLER_H
diff --git a/src/net/tmwa/generalhandler.cpp b/src/net/tmwa/generalhandler.cpp
index 725393790..c185122d2 100644
--- a/src/net/tmwa/generalhandler.cpp
+++ b/src/net/tmwa/generalhandler.cpp
@@ -48,6 +48,7 @@
#include "net/tmwa/network.h"
#include "net/tmwa/npchandler.h"
#include "net/tmwa/partyhandler.h"
+#include "net/tmwa/pethandler.h"
#include "net/tmwa/playerhandler.h"
#include "net/tmwa/protocol.h"
#include "net/tmwa/tradehandler.h"
@@ -80,6 +81,7 @@ GeneralHandler::GeneralHandler() :
mLoginHandler(new LoginHandler),
mNpcHandler(new NpcHandler),
mPartyHandler(new PartyHandler),
+ mPetHandler(new PetHandler),
mPlayerHandler(new PlayerHandler),
mSkillHandler(new SkillHandler),
mTradeHandler(new TradeHandler),
@@ -195,6 +197,7 @@ void GeneralHandler::load()
mNetwork->registerHandler(mSkillHandler.get());
mNetwork->registerHandler(mTradeHandler.get());
mNetwork->registerHandler(mPartyHandler.get());
+ mNetwork->registerHandler(mPetHandler.get());
mNetwork->registerHandler(mQuestHandler.get());
}
diff --git a/src/net/tmwa/generalhandler.h b/src/net/tmwa/generalhandler.h
index 24b17c6f5..a223889ed 100644
--- a/src/net/tmwa/generalhandler.h
+++ b/src/net/tmwa/generalhandler.h
@@ -71,6 +71,7 @@ class GeneralHandler final : public MessageHandler,
MessageHandlerPtr mLoginHandler;
MessageHandlerPtr mNpcHandler;
MessageHandlerPtr mPartyHandler;
+ MessageHandlerPtr mPetHandler;
MessageHandlerPtr mPlayerHandler;
MessageHandlerPtr mSkillHandler;
MessageHandlerPtr mTradeHandler;
diff --git a/src/net/tmwa/pethandler.cpp b/src/net/tmwa/pethandler.cpp
new file mode 100644
index 000000000..35363aaa7
--- /dev/null
+++ b/src/net/tmwa/pethandler.cpp
@@ -0,0 +1,62 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2013 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/>.
+ */
+
+#include "net/tmwa/pethandler.h"
+
+#include "net/net.h"
+
+#include "net/tmwa/protocol.h"
+
+#include "debug.h"
+
+extern Net::PetHandler *petHandler;
+
+namespace TmwAthena
+{
+
+PetHandler::PetHandler() :
+ MessageHandler()
+{
+ static const uint16_t _messages[] =
+ {
+ 0
+ };
+ handledMessages = _messages;
+ petHandler = this;
+}
+
+void PetHandler::handleMessage(Net::MessageIn &msg)
+{
+ BLOCK_START("PetHandler::handleMessage")
+ BLOCK_END("PetHandler::handleMessage")
+}
+
+void PetHandler::move(const Being *const being,
+ const int x1, const int y1,
+ const int x2, const int y2) const
+{
+}
+
+void PetHandler::spawn(const Being *const being,
+ const int x, const int y) const
+{
+}
+
+} // namespace TmwAthena
diff --git a/src/net/tmwa/pethandler.h b/src/net/tmwa/pethandler.h
new file mode 100644
index 000000000..207e0add9
--- /dev/null
+++ b/src/net/tmwa/pethandler.h
@@ -0,0 +1,50 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2013 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_TMWA_PETHANDLER_H
+#define NET_TMWA_PETHANDLER_H
+
+#include "net/tmwa/messagehandler.h"
+
+#include "net/pethandler.h"
+
+namespace TmwAthena
+{
+
+class PetHandler final : public MessageHandler, public Net::PetHandler
+{
+ public:
+ PetHandler();
+
+ A_DELETE_COPY(PetHandler)
+
+ void handleMessage(Net::MessageIn &msg) override final;
+
+ void move(const Being *const being,
+ const int x1, const int y1,
+ const int x2, const int y2) const override final;
+
+ void spawn(const Being *const being,
+ const int x, const int y) const override final;
+};
+
+} // namespace TmwAthena
+
+#endif // NET_TMWA_PETHANDLER_H