commit 95a48623
Now draws the rectangles
Changed files
| M | src/sagotmx/tmx_struct.h before |
| M | src/saland/Game.cpp before |
diff --git a/src/sagotmx/tmx_struct.h b/src/sagotmx/tmx_struct.h
index 4aaf19e..69bd8fc 100644
--- a/src/sagotmx/tmx_struct.h
+++ b/src/sagotmx/tmx_struct.h
@@ -388,6 +388,7 @@ inline TileMap string2tilemap(const std::string& tmx_content) {
getElement(object_node, "eclipse", to.isEcplise);
group.objects.push_back(to);
}
+ m.object_groups.push_back(group);
}
return m;
}
diff --git a/src/saland/Game.cpp b/src/saland/Game.cpp
index 71d57aa..1b6218e 100644
--- a/src/saland/Game.cpp
+++ b/src/saland/Game.cpp
@@ -33,6 +33,14 @@ static void DrawLayer(SDL_Renderer* renderer, SDL_Texture* texture, const sago::
}
}
+static void DrawOjbectGroup (SDL_Renderer* renderer, const sago::tiled::TileMap& tm, size_t object_group, int topx, int topy) {
+ const sago::tiled::TileObjectGroup& group = tm.object_groups.at(object_group);
+ for (const sago::tiled::TileObject& o : group.objects) {
+ rectangleRGBA(renderer, o.x - topx, o.y - topy,
+ o.x+o.width-topx, o.y + o.height - topy, 255, 255, 0, 255);
+ }
+}
+
struct Game::GameImpl {
std::vector<std::shared_ptr<Placeable> > placeables;
float time = 0.0;
@@ -106,6 +114,9 @@ void Game::Draw(SDL_Renderer* target) {
for (size_t i = 0; i < data->world.tm.layers.size(); ++i ) {
DrawLayer(target, texture, data->world.tm, i, data->topx, data->topy);
}
+ for (size_t i = 0; i <data->world.tm.object_groups.size(); ++i) {
+ DrawOjbectGroup(target, data->world.tm, i, data->topx, data->topy);
+ }
int mousebox_x = data->world_mouse_x - data->world_mouse_x%32 - data->topx;
int mousebox_y = data->world_mouse_y - data->world_mouse_y%32 - data->topy;
rectangleRGBA(globalData.screen, mousebox_x, mousebox_y,