mapcreator git · master
SDL3 2.5D game and engine using assets, with map editor
C++ 99.3%git clone https://git.christianimmanuel.de/sdl-graphics/mapcreator.gitwget https://git.christianimmanuel.de/sdl-graphics/mapcreator/archive/mapcreator.tar.gzFix addin object instead of resource,...
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;