Nimbin[12]?SDL & Graphics / mapcreator / commits / 21b6ca7

mapcreator git · master

SDL3 2.5D game and engine using assets, with map editor

sdl3 c++ game engine map-editor cmake · first commit 2025-10-31 · last commit 2026-09-07 (1 month ago) · synced 3 days ago · upstream: git.ide3.de/hsnr/sdl-spieleentwicklung/map_creator

C++ 99.3%
git clone https://git.christianimmanuel.de/sdl-graphics/mapcreator.gitwget https://git.christianimmanuel.de/sdl-graphics/mapcreator/archive/mapcreator.tar.gz

Fix addin object instead of resource,...

Christian Immanuel · 2026-02-20 11:53 · 21b6ca7aed43944c5e993d370d85552fbbc42d85

 src/inventory/inventory.cpp |  9 +++++++--
 src/map/tile.cpp            | 40 ++++++++++++++++++++++++++++++----------
 2 files changed, 37 insertions(+), 12 deletions(-)

diff --git a/src/inventory/inventory.cpp b/src/inventory/inventory.cpp
index e05e77b..bbfb1ff 100644
--- a/src/inventory/inventory.cpp
+++ b/src/inventory/inventory.cpp
@@ -1,6 +1,8 @@
 #include "inventory.hpp"
 
 #include <string>
+#include <sstream>
+#include <iomanip>
 
 #include "defaults/icons.hpp"
 #include "map/tile.hpp"
@@ -433,8 +435,11 @@ Inventory::draw_InfoPanel(SDL_Renderer* renderer,
 
         draw_line("Health: " + std::to_string(s.base_health));
 
-        if (s.base_speed > 0.f)
-            draw_line("Speed: " + std::to_string(s.base_speed));
+        if (s.base_speed > 0.f) {
+            std::ostringstream ss;
+            ss << std::fixed << std::setprecision(1) << s.base_speed;
+            draw_line("Speed: " + ss.str());
+        }
 
         if (s.max_level > 0)
             draw_line("Max Lvl: " + std::to_string(s.max_level));
diff --git a/src/map/tile.cpp b/src/map/tile.cpp
index 67e0255..85a694c 100644
--- a/src/map/tile.cpp
+++ b/src/map/tile.cpp
@@ -1198,16 +1198,36 @@ namespace Tile {
                 std::cout << "WP " << map_origin_x << " " << map_origin_y << std::endl;
 
                 TileType type = get_Type(object.tileset_info.set_category);
-                Object* new_object = new Object(object.object_type,
-                                                object.collectable ?
-                                                            ObjectCategory::RESOURCE :
-                                                            ObjectCategory::STATIC,
-                                                type,
-                                                object.tileset_info.set_id,
-                                                object.tileset_info.object_id,
-                                                {map_origin_x, map_origin_y},
-                                                {object.position.w, object.position.h},
-                                                object.z_index);
+
+                Resource_s res;
+                if (object.collectable) {
+                    res = get_ResourceFromTileSet(object.tileset_info.set_id, object.tileset_info.object_id);
+                }
+                Object* new_object = !object.collectable ?
+                    new Object(object.object_type,
+                            object.collectable ?
+                            ObjectCategory::RESOURCE :
+                            ObjectCategory::STATIC,
+                            type,
+                            object.tileset_info.set_id,
+                            object.tileset_info.object_id,
+                            {map_origin_x, map_origin_y},
+                            {object.position.w, object.position.h},
+                            object.z_index)
+                    :
+                        new Resource(object.object_type,
+                                ObjectCategory::RESOURCE,
+                                type,
+                                object.tileset_info.set_id,
+                                object.tileset_info.object_id,
+                                {map_origin_x, map_origin_y},
+                                {object.position.w, object.position.h},
+                                object.z_index,
+                                res.resource,
+                                res.quantity,
+                                res.collecting_methode,
+                                res.collecting_duration
+                                );
                 Object::objects.push_back(new_object);
                 TileObject o ={ {0,0}, false, new_object->id };
                 bool tile_exists     = false;