Nimbin[12]?SDL & Graphics / mapcreator / commits / b8bbda3

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: place soil or vegetable jsut on allowed places

Christian Immanuel · 2025-12-12 09:32 · b8bbda3f8dcdadeb18aaa012c11a4f17a468f140

 src/character/character.cpp | 6 ++++++
 src/map/tile.cpp            | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/src/character/character.cpp b/src/character/character.cpp
index 8e781a2..a752dfb 100644
--- a/src/character/character.cpp
+++ b/src/character/character.cpp
@@ -764,6 +764,10 @@ Character::drink_Stop() {
 void
 Character::cultivate_Start() {
     std::cout << "Cultivate Start\n";
+    TileTypeFloors floor_type = Tile::get_FloorType(Map::tile_map[Map::get_IdFromTilePoint(tile_world)].background);
+    std::cout << "FT: " << floor_type << " " << Map::get_IdFromTilePoint(tile_world) << std::endl;
+    if (!Tile::floor_props[floor_type].can_buid_on)
+        return;
     if (stats.stamina <= 0)
         return;
 
@@ -814,6 +818,8 @@ Character::plant_Start() {
     if (stats.stamina <= 0)
         return;
 
+    if (!Farm::soil_IsMaptile(tile_world))
+        return;
     set_Status(CharacterStatus::PLANTING);
     handle_Animation();
     planting_logic.is_planting = true;
diff --git a/src/map/tile.cpp b/src/map/tile.cpp
index 2f9131e..f939a3f 100644
--- a/src/map/tile.cpp
+++ b/src/map/tile.cpp
@@ -198,12 +198,14 @@ namespace Tile {
         Tile::active_tileset = &Tile::tilesets[TILE_BACKGROUND][0];
 
 
+        floor_props.push_back({NONE, true,  false});
         floor_props.push_back({MEADOW, true,  false});
         floor_props.push_back({CLAY,   true,  false});
         floor_props.push_back({SOIL,   true,  true});
         floor_props.push_back({BRICKS, true,  false});
         floor_props.push_back({ICE,    false, false});
         floor_props.push_back({DESERT, false, false});
+        floor_props.push_back({WATER, false, false});
         return true;
     }