commit 8a4763c2
Now copies tsx files before lauunching "tiled" from console
Changed files
| M | src/saland/Game.cpp before |
| M | src/saland/model/World.cpp before |
diff --git a/src/saland/Game.cpp b/src/saland/Game.cpp
index 1ebc756..9e3eb10 100644
--- a/src/saland/Game.cpp
+++ b/src/saland/Game.cpp
@@ -649,6 +649,14 @@ void Game::Update() {
std::system(command.c_str());
ResetWorldNoSave(data->gameRegion.GetRegionX(), data->gameRegion.GetRegionY(), false);
}
+ for (const sago::tiled::TileSet& ts : data->gameRegion.world.tm.tileset) {
+ if (ts.source.length()) {
+ std::string source_filename = std::string("/maps/") + ts.source;
+ std::string dest_filename = std::string("worlds/") + data->worldName + "/maps/" + ts.source;
+ std::string tsxFile = sago::GetFileContent(source_filename);
+ sago::WriteFileContent(dest_filename.c_str(), tsxFile);
+ }
+ }
if (reset_region) {
ResetWorld(data->gameRegion.GetRegionX(), data->gameRegion.GetRegionY(), true);
reset_region = false;
diff --git a/src/saland/model/World.cpp b/src/saland/model/World.cpp
index e791918..ad3ed2c 100644
--- a/src/saland/model/World.cpp
+++ b/src/saland/model/World.cpp
@@ -188,6 +188,9 @@ static void object_group_add_group_if_not_exist(sago::tiled::TileMap& tm, const
object_groups.push_back(tog);
}
+/**
+ * find the layer "layer" and move it up until it is after "layer_to_place_after"
+ * */
static void bubble_layer_after(sago::tiled::TileMap& tm, const char* layer, const char* layer_to_place_after) {
bool bubbeling = false;
for (size_t i = 0; i < tm.layers.size(); ++i) {
@@ -246,6 +249,7 @@ static void init_tilemap(sago::tiled::TileMap& tm, int& blockingLayer, int& bloc
bubble_layer_after(tm, "prefab_blocking_2", "blocking");
bubble_layer_after(tm, "blocking_overlay_1", "prefab_blocking_2");
bubble_layer_after(tm, "prefab_overlay_1", "blocking_overlay_1");
+ bubble_layer_after(tm, "overlay_1", "prefab_overlay_1");
}
void World::init(std::shared_ptr<b2World>& world, const std::string& mapFileName) {