summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugenio Favalli <elvenprogrammer@gmail.com>2007-09-10 08:13:21 +0000
committerEugenio Favalli <elvenprogrammer@gmail.com>2007-09-10 08:13:21 +0000
commitfab7e6acc11c30ab240300c81b01eec128b330fc (patch)
tree641ca0f551a5ac41aec99623fb9f7872e3852bd7
parent0c52964be1d7158bf6533011b4e08287608a6926 (diff)
downloadmanaserv-fab7e6acc11c30ab240300c81b01eec128b330fc.tar.gz
manaserv-fab7e6acc11c30ab240300c81b01eec128b330fc.tar.xz
manaserv-fab7e6acc11c30ab240300c81b01eec128b330fc.zip
Dimensionless spawn points now spawn over the whole map.
-rw-r--r--ChangeLog5
-rw-r--r--accountserver.cbp16
-rw-r--r--gameserver.cbp22
-rw-r--r--src/game-server/spawnarea.cpp8
4 files changed, 34 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index a1ef4b4..b63e475 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-09-10 Eugenio Favalli <elvenprogrammer@gmail.com>
+
+ * accountserver.cbp, gameserver.cbp, src/game-server/spawnarea.cpp:
+ Dimensionless spawn points now spawn over the whole map.
+
2007-08-31 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* configure.ac: Fixed detection of generic lua.pc file.
diff --git a/accountserver.cbp b/accountserver.cbp
index e525625..331ba48 100644
--- a/accountserver.cbp
+++ b/accountserver.cbp
@@ -33,7 +33,7 @@
<Add library="ws2_32"/>
<Add library="xml2"/>
<Add library="physfs"/>
- <Add library="pthreadGC2"/>
+ <Add library="pthreadGCE2"/>
<Add library="z"/>
<Add library="winmm"/>
<Add library="sqlite3"/>
@@ -68,11 +68,11 @@
<Option link="0"/>
<Option target="default"/>
</Unit>
- <Unit filename="src\account-server\characterdata.cpp">
+ <Unit filename="src\account-server\character.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
- <Unit filename="src\account-server\characterdata.hpp">
+ <Unit filename="src\account-server\character.hpp">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
@@ -128,16 +128,6 @@
<Option link="0"/>
<Option target="default"/>
</Unit>
- <Unit filename="src\account-server\storage.cpp">
- <Option compilerVar="CPP"/>
- <Option target="default"/>
- </Unit>
- <Unit filename="src\account-server\storage.hpp">
- <Option compilerVar=""/>
- <Option compile="0"/>
- <Option link="0"/>
- <Option target="default"/>
- </Unit>
<Unit filename="src\being.h">
<Option compilerVar=""/>
<Option compile="0"/>
diff --git a/gameserver.cbp b/gameserver.cbp
index f90293e..4ffedc4 100644
--- a/gameserver.cbp
+++ b/gameserver.cbp
@@ -32,7 +32,7 @@
<Add library="ws2_32"/>
<Add library="xml2"/>
<Add library="physfs"/>
- <Add library="pthreadGC2"/>
+ <Add library="pthreadGCE2"/>
<Add library="z"/>
<Add library="winmm"/>
<Add library="lua"/>
@@ -231,6 +231,16 @@
<Option link="0"/>
<Option target="default"/>
</Unit>
+ <Unit filename="src\game-server\quest.cpp">
+ <Option compilerVar="CPP"/>
+ <Option target="default"/>
+ </Unit>
+ <Unit filename="src\game-server\quest.hpp">
+ <Option compilerVar=""/>
+ <Option compile="0"/>
+ <Option link="0"/>
+ <Option target="default"/>
+ </Unit>
<Unit filename="src\game-server\spawnarea.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
@@ -255,6 +265,16 @@
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
+ <Unit filename="src\game-server\thing.cpp">
+ <Option compilerVar="CPP"/>
+ <Option target="default"/>
+ </Unit>
+ <Unit filename="src\game-server\thing.hpp">
+ <Option compilerVar=""/>
+ <Option compile="0"/>
+ <Option link="0"/>
+ <Option target="default"/>
+ </Unit>
<Unit filename="src\game-server\trade.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
diff --git a/src/game-server/spawnarea.cpp b/src/game-server/spawnarea.cpp
index 63bdc90..5cc1f39 100644
--- a/src/game-server/spawnarea.cpp
+++ b/src/game-server/spawnarea.cpp
@@ -60,15 +60,17 @@ SpawnArea::update()
if (mNextSpawn == 0)
{
- //find a free spawn location. Give up after 10 tries
+ // Find a free spawn location. Give up after 10 tries
int c = 10;
Point position;
MapComposite *map = getMap();
Map *realMap = map->getMap();
+ int width = mZone.w == 0 ? realMap->getWidth() : mZone.w;
+ int height = mZone.h == 0 ? realMap->getHeight() : mZone.h;
do
{
- position = Point(mZone.x + rand() % mZone.w,
- mZone.y + rand() % mZone.h);
+ position = Point(mZone.x + rand() % width,
+ mZone.y + rand() % height);
c--;
} while (!realMap->getWalk(position.x / 32, position.y / 32) && c);