commit 6e65b399
Add support for multiple external tilesets and moves city_outside to such one
Changed files
diff --git a/data/maps/city_0x-2.tmx b/data/maps/city_0x-2.tmx
index 52ef671..d831287 100644
--- a/data/maps/city_0x-2.tmx
+++ b/data/maps/city_0x-2.tmx
@@ -1,46 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
-<map version="1.0" tiledversion="1.0.3" orientation="orthogonal" renderorder="right-down" width="100" height="100" tilewidth="32" tileheight="32" nextobjectid="11">
+<map version="1.2" tiledversion="1.3.2" orientation="orthogonal" renderorder="right-down" compressionlevel="0" width="100" height="100" tilewidth="32" tileheight="32" infinite="0" nextlayerid="6" nextobjectid="11">
<tileset firstgid="1" source="terrain.tsx"/>
- <tileset firstgid="1025" name="city_outside" tilewidth="32" tileheight="32" tilecount="432" columns="24">
- <image source="../textures/city_outside.png" width="768" height="576"/>
- <terraintypes>
- <terrain name="pool" tile="15"/>
- </terraintypes>
- <tile id="6" terrain=",,,0"/>
- <tile id="7" terrain=",,0,0"/>
- <tile id="8" terrain=",,0,"/>
- <tile id="16" terrain=",0,0,0"/>
- <tile id="17" terrain="0,0,0,"/>
- <tile id="30" terrain=",0,,0"/>
- <tile id="31" terrain="0,0,0,0"/>
- <tile id="32" terrain="0,,0,"/>
- <tile id="40" terrain="0,,0,0"/>
- <tile id="41" terrain="0,0,,0"/>
- <tile id="54" terrain=",0,,"/>
- <tile id="55" terrain="0,0,,"/>
- <tile id="56" terrain="0,,,"/>
- </tileset>
- <layer name="ground_1" width="100" height="100">
+ <tileset firstgid="1025" source="city_outside.tsx"/>
+ <layer id="1" name="ground_1" width="100" height="100">
<data encoding="base64" compression="zlib">
- eJzt08EJAjEQhtFh2T7UshRPKcNu3EoVRIxLrjIjeYdHrj/zkS0iNgAAAACAJPeB7E0zG/XQp34TXWo20aZuE110md3+5rrUpgkAAAAAAAAAAAC/cFgjjk+nNX8LegDAWyuwge8e+yYa5XXo6VGvyagPNZpkb5uRHnVpUo8m9bTu1SNfC/+jGh1q0QMAAOZ1Wz+yt8yub6EJAABVnZeIy5K/g5erFgAAAAAAAAAAf+sBvR2nlg==
+ eAHt20tuwjAUBVALdR+ly2rVUZfR3cBKaw8sWcYNDMiLkc/Acn4iyb2HDPhcU0pXQwYMMMAAAwwwwAADDDDAAAMMMMAAAwwwcJCBSz5vP3xmedzntn0Xo3X9xPYz6mC0TS9xvYzy39qmm/272cr/v3160cvKBtr3RcmhXR8tr5zVDPeuk/2fVzP07Br0zAADDDDAAAMMMMAAAwwwwAADDDDAAAMMMMAAAwwwwAADDDDAAAMMMMAAA9EG3t9SOufxkUf0uZ3vNnN93GbCiUwYYICBNQ38HPRfV97G3koffSf9uuzG2T0zl5J5P+rrl+112RyXRcl9a+girouatT7iM6/Zj2Z9zNVH29Gom3a/5fjudBKf+T3npZNyTO3m3vH279th7aHO8t4370fyLV08cpxjYnLSR0zOPMuZAQYYYIABBhhgYEYDv/k3X3XMeH0rXVPtoZ1Xun/36hnJAAMMMMAAAwy8hoHPU0pfeehrjgy+dcGi710ZYIABBhhggAEGGGCAAQYYYIABBhhggAEGGGCAAQYYYIABBhhg4GUN/AG9HaeW
</data>
</layer>
- <layer name="ground_2" width="100" height="100">
+ <layer id="2" name="ground_2" width="100" height="100">
<data encoding="base64" compression="zlib">
- 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
+ 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
</data>
</layer>
- <layer name="blocking" width="100" height="100">
+ <layer id="3" name="blocking" width="100" height="100">
<data encoding="base64" compression="zlib">
- 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
+ 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
</data>
</layer>
- <layer name="overlay_1" width="100" height="100">
+ <layer id="4" name="overlay_1" width="100" height="100">
<data encoding="base64" compression="zlib">
- eJzt0bENACAIAEEKVjDuyf6FjTUtxtxN8MlHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwPsqpwvorPtn+wQAAAAAAAAAAADABw4AHgCr
+ eAHt0jERADAIA0CGWujhE/9Dl4rg4FGQfIhwBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgv0Cd/hk3J7x/n7TT5jfQnQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwRuABAB4Aqw==
</data>
</layer>
- <objectgroup name="object1">
+ <objectgroup id="5" name="object1">
<object id="5" name="theName" type="myType" x="737" y="667" width="320" height="257"/>
<object id="6" name="theEclipse" type="theType" x="712" y="281" width="298" height="140">
<ellipse/>
diff --git a/data/maps/city_outside.tsx b/data/maps/city_outside.tsx
new file mode 100644
index 0000000..c2a0ed0
--- /dev/null
+++ b/data/maps/city_outside.tsx
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tileset version="1.2" tiledversion="1.3.2" name="city_outside" tilewidth="32" tileheight="32" tilecount="432" columns="24">
+ <image source="../textures/city_outside.png" width="768" height="576"/>
+ <terraintypes>
+ <terrain name="pool" tile="15"/>
+ </terraintypes>
+ <tile id="6" terrain=",,,0"/>
+ <tile id="7" terrain=",,0,0"/>
+ <tile id="8" terrain=",,0,"/>
+ <tile id="16" terrain=",0,0,0"/>
+ <tile id="17" terrain="0,0,0,"/>
+ <tile id="30" terrain=",0,,0"/>
+ <tile id="31" terrain="0,0,0,0"/>
+ <tile id="32" terrain="0,,0,"/>
+ <tile id="40" terrain="0,,0,0"/>
+ <tile id="41" terrain="0,0,,0"/>
+ <tile id="54" terrain=",0,,"/>
+ <tile id="55" terrain="0,0,,"/>
+ <tile id="56" terrain="0,,,"/>
+</tileset>
diff --git a/data/maps/sample1.tmx b/data/maps/sample1.tmx
index d0f804d..2f9a867 100644
--- a/data/maps/sample1.tmx
+++ b/data/maps/sample1.tmx
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.2" tiledversion="1.2.3" orientation="orthogonal" renderorder="right-down" width="100" height="100" tilewidth="32" tileheight="32" infinite="0" nextlayerid="5" nextobjectid="12">
<tileset firstgid="1" source="terrain.tsx"/>
- <tileset firstgid="1025" name="city_outside" tilewidth="32" tileheight="32" tilecount="432" columns="24">
- <image source="../textures/city_outside.png" width="768" height="576"/>
- </tileset>
+ <tileset firstgid="1025" source="city_outside.tsx"/>
<layer id="1" name="ground_1" width="100" height="100">
<data encoding="base64" compression="zlib">
eJzt0aENADAMA8Hsv0U7aXkVHks5cNzy36q6AAAAAABDTmN602ZdD33ym+iS2USb3Ca66LLd/7ku2TQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAGQ9zDLk7
diff --git a/data/maps/template_forrest.tmx b/data/maps/template_forrest.tmx
index 30f74ea..5d2b790 100644
--- a/data/maps/template_forrest.tmx
+++ b/data/maps/template_forrest.tmx
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.2" tiledversion="1.3.2" orientation="orthogonal" renderorder="right-down" compressionlevel="0" width="100" height="100" tilewidth="32" tileheight="32" infinite="0" nextlayerid="5" nextobjectid="12">
<tileset firstgid="1" source="terrain.tsx"/>
- <tileset firstgid="1025" name="city_outside" tilewidth="32" tileheight="32" tilecount="432" columns="24">
- <image source="../textures/city_outside.png" width="768" height="576"/>
- </tileset>
+ <tileset firstgid="1025" source="city_outside.tsx"/>
<layer id="1" name="ground_1" width="100" height="100">
<data encoding="base64" compression="zlib">
eAHt2zEKACAIAEB7q/3/DfUAxwSDG1wcJOIGBc0VkcIfMMAAAwwwwAADDDDAAAMMMMAAAwwwwAADDDDAAAMMMMAAAwwwwAADDDDAAAMMMMAAAwwwwAADDDDAAAMMXAObAw4YYIABBhhggIHvDVQ9XZVzY+zOmgEGGGCAAQYYYIABBhhggAEGGGCAAQYYYIABBhhggAEGGGCAAQYYYIABBqYYsOPE4hSL3sEiAwwwwAADDDDAAAMMdBswAzPWbUx9xhhggAEGGGCAAQYYYIABBhhggAEGGGCAAQYYYIABBhhggAEGGGCAAQYYYIABBhhggIG3Bg4x3kMn
diff --git a/src/sagotmx/tmx_struct.h b/src/sagotmx/tmx_struct.h
index 6fc3af3..af9d352 100644
--- a/src/sagotmx/tmx_struct.h
+++ b/src/sagotmx/tmx_struct.h
@@ -581,7 +581,7 @@ inline void getTextureLocationFromGid(const TileMap& tm, int gid, std::string* i
//Follow source links
ts = ts->alternativeSource;
}
- //std::cout << "ts: " << ts->name << ", " << ts->image.source << ", " << ts->image.height << ", " << ts->image.width << "\n";
+ //std::cout << "ts: " << ts->name << ", " << ts->image.source << ", " << ts->image.height << ", " << ts->image.width << ", gid: " << gid+ts->firstgid << "\n";
if (imageFile) {
*imageFile = ts->image.source;
}
diff --git a/src/saland/model/World.cpp b/src/saland/model/World.cpp
index b085508..f5d34a7 100644
--- a/src/saland/model/World.cpp
+++ b/src/saland/model/World.cpp
@@ -162,11 +162,12 @@ void World::init(std::shared_ptr<b2World>& world, const std::string& mapFileName
this->physicsWorld = world;
std::string tmx_file = sago::GetFileContent(mapFileName);
tm = sago::tiled::string2tilemap(tmx_file);
+ // We run though all the externally referenced tilesets to inject them into the tilemap
for (size_t i = 0; i < tm.tileset.size(); ++i) {
if (tm.tileset[i].source.length()) {
std::string tsx_file = sago::GetFileContent("maps/"+tm.tileset[i].source);
- ts = sago::tiled::string2tileset(tsx_file);
- tm.tileset[i].alternativeSource = &ts;
+ ts.push_back(sago::tiled::string2tileset(tsx_file));
+ tm.tileset[i].alternativeSource = &ts.back();
}
}
init_physics(world);
diff --git a/src/saland/model/World.hpp b/src/saland/model/World.hpp
index 130e7f3..5c1b5a2 100644
--- a/src/saland/model/World.hpp
+++ b/src/saland/model/World.hpp
@@ -27,6 +27,7 @@ https://github.com/sago007/saland
#include "../../sagotmx/tmx_struct.h"
#include "../../sago/SagoMisc.hpp"
#include <Box2D/Box2D.h>
+#include <list>
class World {
public:
@@ -37,7 +38,7 @@ public:
bool tile_protected(int x, int y) const;
bool tile_blocking(int x, int y) const;
//private:
- sago::tiled::TileSet ts;
+ std::list<sago::tiled::TileSet> ts; //External tilesets. Loaded into a list, so that references to the content does not become invalid
sago::tiled::TileMap tm;
std::shared_ptr<b2World> physicsWorld;
std::vector<b2Body*> managed_bodies;