summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt3
-rw-r--r--src/Makefile.am3
-rw-r--r--src/being.cpp159
-rw-r--r--src/being.h20
-rw-r--r--src/beingcacheentry.h126
-rw-r--r--src/beingequipbackend.cpp76
-rw-r--r--src/beingequipbackend.h50
7 files changed, 260 insertions, 177 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6c720106b..8741a1c86 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -543,6 +543,9 @@ SET(SRCS
avatar.h
being.cpp
being.h
+ beingcacheentry.h
+ beingequipbackend.cpp
+ beingequipbackend.h
spellmanager.cpp
spellmanager.h
chatlogger.cpp
diff --git a/src/Makefile.am b/src/Makefile.am
index 3ff89c0db..9db16d7ac 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -546,6 +546,9 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \
avatar.h \
being.cpp \
being.h \
+ beingcacheentry.h \
+ beingequipbackend.cpp \
+ beingequipbackend.h \
spellmanager.cpp \
spellmanager.h \
chatlogger.cpp \
diff --git a/src/being.cpp b/src/being.cpp
index 3ebfb77af..f06de55c7 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -24,22 +24,18 @@
#include "actorspritemanager.h"
#include "animatedsprite.h"
+#include "beingcacheentry.h"
+#include "beingequipbackend.h"
#include "client.h"
-#include "configuration.h"
#include "effectmanager.h"
-#include "graphics.h"
#include "guild.h"
-#include "item.h"
-#include "localplayer.h"
#include "particle.h"
#include "party.h"
#include "playerrelations.h"
-#include "simpleanimation.h"
#include "soundmanager.h"
#include "text.h"
#include "gui/equipmentwindow.h"
-#include "gui/gui.h"
#include "gui/socialwindow.h"
#include "gui/speechbubble.h"
#include "gui/sdlfont.h"
@@ -52,7 +48,6 @@
#include "net/npchandler.h"
#include "net/playerhandler.h"
-#include "resources/colordb.h"
#include "resources/emotedb.h"
#include "resources/iteminfo.h"
#include "resources/monsterdb.h"
@@ -60,7 +55,6 @@
#include "resources/petdb.h"
#include "resources/resourcemanager.h"
-#include "gui/widgets/chattab.h"
#include "gui/widgets/langtab.h"
#include "utils/gettext.h"
@@ -71,107 +65,6 @@
const unsigned int CACHE_SIZE = 50;
-class BeingCacheEntry final
-{
- public:
- explicit BeingCacheEntry(const int id):
- mId(id),
- mName(""),
- mPartyName(""),
- mGuildName(""),
- mLevel(0),
- mPvpRank(0),
- mTime(0),
- mIp(""),
- mIsAdvanced(false),
- mFlags(0)
- {
- }
-
- A_DELETE_COPY(BeingCacheEntry)
-
- int getId() const
- { return mId; }
-
- /**
- * Returns the name of the being.
- */
- const std::string &getName() const
- { return mName; }
-
- /**
- * Sets the name for the being.
- *
- * @param name The name that should appear.
- */
- void setName(const std::string &name)
- { mName = name; }
-
- /**
- * Following are set from the server (mainly for players)
- */
- void setPartyName(const std::string &name)
- { mPartyName = name; }
-
- void setGuildName(const std::string &name)
- { mGuildName = name; }
-
- const std::string &getPartyName() const
- { return mPartyName; }
-
- const std::string &getGuildName() const
- { return mGuildName; }
-
- void setLevel(const int n)
- { mLevel = n; }
-
- int getLevel() const
- { return mLevel; }
-
- void setTime(const int n)
- { mTime = n; }
-
- int getTime() const
- { return mTime; }
-
- unsigned getPvpRank() const
- { return mPvpRank; }
-
- void setPvpRank(const int r)
- { mPvpRank = r; }
-
- std::string getIp() const
- { return mIp; }
-
- void setIp(std::string ip)
- { mIp = ip; }
-
- bool isAdvanced() const
- { return mIsAdvanced; }
-
- void setAdvanced(const bool a)
- { mIsAdvanced = a; }
-
- int getFlags() const
- { return mFlags; }
-
- void setFlags(const int flags)
- { mFlags = flags; }
-
- protected:
- int mId; /**< Unique sprite id */
- std::string mName; /**< Name of character */
- std::string mPartyName;
- std::string mGuildName;
- int mLevel;
- unsigned int mPvpRank;
- int mTime;
- std::string mIp;
- bool mIsAdvanced;
- int mFlags;
-};
-
-
int Being::mNumberOfHairstyles = 1;
int Being::mNumberOfRaces = 1;
@@ -2990,51 +2883,3 @@ void Being::playSfx(const SoundInfo &sound, Being *const being,
soundManager.playSfx(sound.sound, x, y);
}
}
-
-BeingEquipBackend::BeingEquipBackend(Being *const being):
- mBeing(being)
-{
- memset(mEquipment, 0, sizeof(mEquipment));
- if (being)
- {
- const size_t sz = being->mSpriteIDs.size();
-
- for (unsigned f = 0; f < sz; f ++)
- {
- const int idx = Net::getInventoryHandler()->
- convertFromServerSlot(f);
- const int id = being->mSpriteIDs[f];
- if (id > 0 && idx >= 0 && idx < EQUIPMENT_SIZE)
- {
- mEquipment[idx] = new Item(id, 1, 0,
- being->mSpriteColorsIds[f], true, true);
- }
- }
- }
-}
-
-BeingEquipBackend::~BeingEquipBackend()
-{
- clear();
-}
-
-void BeingEquipBackend::clear()
-{
- for (int i = 0; i < EQUIPMENT_SIZE; i++)
- {
- delete mEquipment[i];
- mEquipment[i] = nullptr;
- }
-}
-
-void BeingEquipBackend::setEquipment(const int index, Item *const item)
-{
- mEquipment[index] = item;
-}
-
-Item *BeingEquipBackend::getEquipment(const int index) const
-{
- if (index < 0 || index >= EQUIPMENT_SIZE)
- return nullptr;
- return mEquipment[index];
-}
diff --git a/src/being.h b/src/being.h
index b71e17738..bc5089dcc 100644
--- a/src/being.h
+++ b/src/being.h
@@ -88,26 +88,6 @@ struct NextSoundInfo
int time;
};
-class BeingEquipBackend final : public Equipment::Backend
-{
- public:
- explicit BeingEquipBackend(Being *const being);
-
- A_DELETE_COPY(BeingEquipBackend)
-
- virtual ~BeingEquipBackend();
-
- Item *getEquipment(const int index) const A_WARN_UNUSED;
-
- void clear();
-
- void setEquipment(const int index, Item *const item);
-
- private:
- Item *mEquipment[EQUIPMENT_SIZE];
- Being *mBeing;
-};
-
class Being : public ActorSprite, public ConfigListener
{
public:
diff --git a/src/beingcacheentry.h b/src/beingcacheentry.h
new file mode 100644
index 000000000..3b5b81f5b
--- /dev/null
+++ b/src/beingcacheentry.h
@@ -0,0 +1,126 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2011-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 BEINGCACHEENTRY_H
+#define BEINGCACHEENTRY_H
+
+#include "localconsts.h"
+
+class BeingCacheEntry final
+{
+ public:
+ explicit BeingCacheEntry(const int id):
+ mId(id),
+ mName(),
+ mPartyName(),
+ mGuildName(),
+ mLevel(0),
+ mPvpRank(0),
+ mTime(0),
+ mIp(),
+ mIsAdvanced(false),
+ mFlags(0)
+ {
+ }
+
+ A_DELETE_COPY(BeingCacheEntry)
+
+ int getId() const
+ { return mId; }
+
+ /**
+ * Returns the name of the being.
+ */
+ const std::string &getName() const
+ { return mName; }
+
+ /**
+ * Sets the name for the being.
+ *
+ * @param name The name that should appear.
+ */
+ void setName(const std::string &name)
+ { mName = name; }
+
+ /**
+ * Following are set from the server (mainly for players)
+ */
+ void setPartyName(const std::string &name)
+ { mPartyName = name; }
+
+ void setGuildName(const std::string &name)
+ { mGuildName = name; }
+
+ const std::string &getPartyName() const
+ { return mPartyName; }
+
+ const std::string &getGuildName() const
+ { return mGuildName; }
+
+ void setLevel(const int n)
+ { mLevel = n; }
+
+ int getLevel() const
+ { return mLevel; }
+
+ void setTime(const int n)
+ { mTime = n; }
+
+ int getTime() const
+ { return mTime; }
+
+ unsigned getPvpRank() const
+ { return mPvpRank; }
+
+ void setPvpRank(const int r)
+ { mPvpRank = r; }
+
+ std::string getIp() const
+ { return mIp; }
+
+ void setIp(std::string ip)
+ { mIp = ip; }
+
+ bool isAdvanced() const
+ { return mIsAdvanced; }
+
+ void setAdvanced(const bool a)
+ { mIsAdvanced = a; }
+
+ int getFlags() const
+ { return mFlags; }
+
+ void setFlags(const int flags)
+ { mFlags = flags; }
+
+ protected:
+ int mId; /**< Unique sprite id */
+ std::string mName; /**< Name of character */
+ std::string mPartyName;
+ std::string mGuildName;
+ int mLevel;
+ unsigned int mPvpRank;
+ int mTime;
+ std::string mIp;
+ bool mIsAdvanced;
+ int mFlags;
+};
+
+#endif
diff --git a/src/beingequipbackend.cpp b/src/beingequipbackend.cpp
new file mode 100644
index 000000000..170e676ef
--- /dev/null
+++ b/src/beingequipbackend.cpp
@@ -0,0 +1,76 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2011-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 "beingequipbackend.h"
+
+#include "being.h"
+
+#include "net/inventoryhandler.h"
+#include "net/net.h"
+
+#include "debug.h"
+
+BeingEquipBackend::BeingEquipBackend(Being *const being):
+ mBeing(being)
+{
+ memset(mEquipment, 0, sizeof(mEquipment));
+ if (being)
+ {
+ const size_t sz = being->mSpriteIDs.size();
+
+ for (unsigned f = 0; f < sz; f ++)
+ {
+ const int idx = Net::getInventoryHandler()->
+ convertFromServerSlot(f);
+ const int id = being->mSpriteIDs[f];
+ if (id > 0 && idx >= 0 && idx < EQUIPMENT_SIZE)
+ {
+ mEquipment[idx] = new Item(id, 1, 0,
+ being->mSpriteColorsIds[f], true, true);
+ }
+ }
+ }
+}
+
+BeingEquipBackend::~BeingEquipBackend()
+{
+ clear();
+}
+
+void BeingEquipBackend::clear()
+{
+ for (int i = 0; i < EQUIPMENT_SIZE; i++)
+ {
+ delete mEquipment[i];
+ mEquipment[i] = nullptr;
+ }
+}
+
+void BeingEquipBackend::setEquipment(const int index, Item *const item)
+{
+ mEquipment[index] = item;
+}
+
+Item *BeingEquipBackend::getEquipment(const int index) const
+{
+ if (index < 0 || index >= EQUIPMENT_SIZE)
+ return nullptr;
+ return mEquipment[index];
+}
diff --git a/src/beingequipbackend.h b/src/beingequipbackend.h
new file mode 100644
index 000000000..f13029b13
--- /dev/null
+++ b/src/beingequipbackend.h
@@ -0,0 +1,50 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2011-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 BEINGEQUIPBACKEND_H
+#define BEINGEQUIPBACKEND_H
+
+#include "equipment.h"
+
+#include "localconsts.h"
+
+class Being;
+
+class BeingEquipBackend final : public Equipment::Backend
+{
+ public:
+ explicit BeingEquipBackend(Being *const being);
+
+ A_DELETE_COPY(BeingEquipBackend)
+
+ virtual ~BeingEquipBackend();
+
+ Item *getEquipment(const int index) const A_WARN_UNUSED;
+
+ void clear();
+
+ void setEquipment(const int index, Item *const item);
+
+ private:
+ Item *mEquipment[EQUIPMENT_SIZE];
+ Being *mBeing;
+};
+
+#endif