summaryrefslogtreecommitdiff
path: root/src/beingmanager.h
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2009-03-22 19:45:03 +0100
committerBjørn Lindeijer <bjorn@lindeijer.nl>2009-03-22 19:45:56 +0100
commit0c43d04b438d41c277ae80402d4b4888db1a0b64 (patch)
tree3aaeb75ecd1bcbe85decedab5f1fa426fe0411e3 /src/beingmanager.h
parenta7f5eaeb7f643658d356533a608f0f18d85b6d32 (diff)
parent401802c1d7a1b3d659bdc53a45d9a6292fc1121e (diff)
downloadmana-0c43d04b438d41c277ae80402d4b4888db1a0b64.tar.gz
mana-0c43d04b438d41c277ae80402d4b4888db1a0b64.tar.bz2
mana-0c43d04b438d41c277ae80402d4b4888db1a0b64.tar.xz
mana-0c43d04b438d41c277ae80402d4b4888db1a0b64.zip
Merged the tmwserv client with the eAthena client
This merge involved major changes on both sides, and as such took several weeks. Lots of things are expected to be broken now, however, we now have a single code base to improve and extend, which can be compiled to support either eAthena or tmwserv. In the coming months, the plan is to work towards a client that supports both eAthena and tmwserv, without needing to be recompiled. Conflicts: Everywhere!
Diffstat (limited to 'src/beingmanager.h')
-rw-r--r--src/beingmanager.h50
1 files changed, 30 insertions, 20 deletions
diff --git a/src/beingmanager.h b/src/beingmanager.h
index 11721709..726a73ec 100644
--- a/src/beingmanager.h
+++ b/src/beingmanager.h
@@ -26,7 +26,9 @@
class LocalPlayer;
class Map;
+#ifdef EATHENA_SUPPORT
class Network;
+#endif
typedef std::list<Being*> Beings;
typedef Beings::iterator BeingIterator;
@@ -34,7 +36,9 @@ typedef Beings::iterator BeingIterator;
class BeingManager
{
public:
+#ifdef EATHENA_SUPPORT
BeingManager(Network *network);
+#endif
/**
* Sets the map on which beings are created
@@ -49,7 +53,11 @@ class BeingManager
/**
* Create a being and add it to the list of beings.
*/
+#ifdef TMWSERV_SUPPORT
+ Being *createBeing(int id, int type, int subtype);
+#else
Being *createBeing(Uint32 id, Uint16 job);
+#endif
/**
* Remove a Being.
@@ -57,39 +65,39 @@ class BeingManager
void destroyBeing(Being *being);
/**
- * Return a specific id Being.
+ * Returns a specific id Being.
*/
Being* findBeing(Uint32 id);
- Being* findBeingByPixel(Uint16 x, Uint16 y);
/**
* Returns a being at specific coordinates.
*/
Being* findBeing(Uint16 x, Uint16 y, Being::Type type = Being::UNKNOWN);
+ Being* findBeingByPixel(Uint16 x, Uint16 y);
- /**
- * Returns a being nearest to specific coordinates.
- *
- * @param x X coordinate.
- * @param y Y coordinate.
- * @param maxdist Maximal distance. If minimal distance is larger,
- * no being is returned.
- * @param type The type of being to look for.
- */
+ /**
+ * Returns a being nearest to specific coordinates.
+ *
+ * @param x X coordinate.
+ * @param y Y coordinate.
+ * @param maxdist Maximal distance. If minimal distance is larger,
+ * no being is returned.
+ * @param type The type of being to look for.
+ */
Being* findNearestLivingBeing(Uint16 x, Uint16 y, int maxdist,
Being::Type type = Being::UNKNOWN);
- /**
- * Finds a being by name and (optionally) by type.
- */
+ /**
+ * Finds a being by name and (optionally) by type.
+ */
Being* findBeingByName(std::string name, Being::Type type = Being::UNKNOWN);
- /**
- * Returns a being nearest to another being.
- *
- * \param maxdist maximal distance. If minimal distance is larger,
- * no being is returned
- */
+ /**
+ * Returns a being nearest to another being.
+ *
+ * \param maxdist maximal distance. If minimal distance is larger,
+ * no being is returned
+ */
Being* findNearestLivingBeing(Being *aroundBeing, int maxdist,
Being::Type type = Being::UNKNOWN);
@@ -111,7 +119,9 @@ class BeingManager
protected:
Beings mBeings;
Map *mMap;
+#ifdef EATHENA_SUPPORT
Network *mNetwork;
+#endif
};
extern BeingManager *beingManager;