[Remove] Transitions from map file.

[Fix] Bug in which NPCs collide with themselves.
This commit is contained in:
Tamir Atias 2012-02-05 18:56:29 +02:00
parent 1924c7e01e
commit a7367551c6
4 changed files with 87 additions and 240 deletions

View File

@ -19,9 +19,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -33,9 +31,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -47,9 +43,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -61,9 +55,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -75,9 +67,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -89,9 +79,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -103,9 +91,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -260,9 +246,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -274,9 +258,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -288,9 +270,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -302,9 +282,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -316,9 +294,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -330,9 +306,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -344,9 +318,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -358,9 +330,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -515,9 +485,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -529,9 +497,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -543,9 +509,7 @@
<zLevel>-1</zLevel> <zLevel>-1</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -557,9 +521,7 @@
<zLevel>-1</zLevel> <zLevel>-1</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -571,9 +533,7 @@
<zLevel>-1</zLevel> <zLevel>-1</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -585,9 +545,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -599,9 +557,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -613,9 +569,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -769,9 +723,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -783,9 +735,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -797,9 +747,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -811,9 +759,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -825,9 +771,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -839,9 +783,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -853,9 +795,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -867,9 +807,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1024,9 +962,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1038,9 +974,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1052,9 +986,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1066,9 +998,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1080,9 +1010,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1094,9 +1022,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1108,9 +1034,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1122,9 +1046,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1279,9 +1201,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1293,9 +1213,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1307,9 +1225,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1321,9 +1237,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1335,9 +1249,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1349,9 +1261,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1363,9 +1273,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1377,9 +1285,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1533,9 +1439,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1547,9 +1451,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1561,9 +1463,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1575,9 +1475,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1589,9 +1487,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1603,9 +1499,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1617,9 +1511,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1631,9 +1523,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1787,9 +1677,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1801,9 +1689,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1815,9 +1701,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1829,9 +1713,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1843,9 +1725,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1857,9 +1737,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1871,9 +1749,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -1885,9 +1761,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2042,9 +1916,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2056,9 +1928,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2070,9 +1940,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2084,9 +1952,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2098,9 +1964,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2112,9 +1976,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2126,9 +1988,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2140,9 +2000,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2297,9 +2155,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2311,9 +2167,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2325,9 +2179,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2339,9 +2191,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2353,9 +2203,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2367,9 +2215,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2381,9 +2227,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>
@ -2395,9 +2239,7 @@
<zLevel>100</zLevel> <zLevel>100</zLevel>
<mapTransition>null</mapTransition>
<mapTransX>0</mapTransX>
<mapTransY>0</mapTransY>
</tile> </tile>
<tile> <tile>

View File

@ -75,10 +75,14 @@ void WorldManager::CreateNPC(int x, int y) {
_npcs.push_back(npc); _npcs.push_back(npc);
} }
bool WorldManager::CheckCollision(const SDL_Rect& charRect) { bool WorldManager::CheckCollision(const SDL_Rect& charRect, Character* exclude) {
for(std::list<NPC*>::iterator i = _npcs.begin(); i != _npcs.end(); ++i) { for(std::list<NPC*>::iterator i = _npcs.begin(); i != _npcs.end(); ++i) {
NPC* npc = (*i); NPC* npc = (*i);
if(npc == exclude) {
continue;
}
SDL_Rect npcRect; SDL_Rect npcRect;
npcRect.x = npc->GetX(); npcRect.x = npc->GetX();
npcRect.y = npc->GetY(); npcRect.y = npc->GetY();

View File

@ -1,6 +1,7 @@
#pragma once #pragma once
#include <list> #include <list>
class Character;
class NPC; class NPC;
class Player; class Player;
class LevelGen; class LevelGen;
@ -21,7 +22,7 @@ public:
NPC* GetNPCAt(int xArg, int yArg); NPC* GetNPCAt(int xArg, int yArg);
void CreateNPC(int x, int y); void CreateNPC(int x, int y);
bool CheckCollision(const SDL_Rect& charRect); bool CheckCollision(const SDL_Rect& charRect, Character* exclude);
int GetNPCCount() { return _npcs.size(); } int GetNPCCount() { return _npcs.size(); }

View File

@ -323,7 +323,7 @@ void LevelGen::MoveIfPossible(Character* character, float xVel, float yVel) {
} }
} }
if(_world.CheckCollision(charRect)) { if(_world.CheckCollision(charRect, character)) {
return; return;
} }