summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/tiles/dirt.pngbin865 -> 2979 bytes
-rw-r--r--assets/tiles/stone.pngbin0 -> 2971 bytes
-rw-r--r--assets/tiles/wall.pngbin1072 -> 0 bytes
-rw-r--r--assets/tiles/water.pngbin0 -> 1771 bytes
-rw-r--r--src/game/assets.cpp6
-rw-r--r--src/game/game.cpp2
-rw-r--r--src/game/game.hpp6
-rw-r--r--src/game/units.cpp4
-rw-r--r--src/game/worldgen.cpp4
9 files changed, 13 insertions, 9 deletions
diff --git a/assets/tiles/dirt.png b/assets/tiles/dirt.png
index 376de89..d2cb9f6 100644
--- a/assets/tiles/dirt.png
+++ b/assets/tiles/dirt.png
Binary files differ
diff --git a/assets/tiles/stone.png b/assets/tiles/stone.png
new file mode 100644
index 0000000..0c66c87
--- /dev/null
+++ b/assets/tiles/stone.png
Binary files differ
diff --git a/assets/tiles/wall.png b/assets/tiles/wall.png
deleted file mode 100644
index cfb5501..0000000
--- a/assets/tiles/wall.png
+++ /dev/null
Binary files differ
diff --git a/assets/tiles/water.png b/assets/tiles/water.png
new file mode 100644
index 0000000..f3b9bba
--- /dev/null
+++ b/assets/tiles/water.png
Binary files differ
diff --git a/src/game/assets.cpp b/src/game/assets.cpp
index 1b57800..2f913ba 100644
--- a/src/game/assets.cpp
+++ b/src/game/assets.cpp
@@ -23,9 +23,11 @@ void load(void)
fx.blood.load("assets/units/blood_", 4);
world::register_tile(TILE_DIRT, 0);
- world::register_tile(TILE_WALL, CF_SOLID);
render::register_tile(TILE_DIRT, "assets/tiles/dirt.png");
- render::register_tile(TILE_WALL, "assets/tiles/wall.png");
+ world::register_tile(TILE_STONE, CF_SOLID);
+ render::register_tile(TILE_STONE, "assets/tiles/stone.png");
+ world::register_tile(TILE_WATER, CF_WATER);
+ render::register_tile(TILE_WATER, "assets/tiles/water.png");
}
} // namespace game::assets
diff --git a/src/game/game.cpp b/src/game/game.cpp
index 285f75d..3005bd5 100644
--- a/src/game/game.cpp
+++ b/src/game/game.cpp
@@ -75,7 +75,7 @@ void state_t::command(v2f_t x)
if (unit->dead)
continue;
- if (!unit->start_moving(snap, CF_SOLID))
+ if (!unit->start_moving(snap, CF_SOLID | CF_WATER))
unit->say(text::get(text::SAY_NO_PATH));
else
unit->say(text::get(text::SAY_MOVING));
diff --git a/src/game/game.hpp b/src/game/game.hpp
index fce113d..58892ff 100644
--- a/src/game/game.hpp
+++ b/src/game/game.hpp
@@ -9,14 +9,16 @@ namespace game {
enum {
TILE_NONE,
TILE_DIRT,
- TILE_WALL
+ TILE_STONE,
+ TILE_WATER
};
enum {
CF_BACKGROUND = 1,
CF_SOLID = 2,
CF_BODY = 4,
- CF_BODY_SMALL = 8
+ CF_BODY_SMALL = 8,
+ CF_WATER = 16
};
extern size_t selection_cookie;
diff --git a/src/game/units.cpp b/src/game/units.cpp
index bbba372..73e1cf0 100644
--- a/src/game/units.cpp
+++ b/src/game/units.cpp
@@ -382,7 +382,7 @@ alien_t::alien_t(game::state_t *game) : unit_t(game, UNIT_ALIEN)
void alien_t::wake(unit_t *by_whom)
{
- start_moving(by_whom->x, CF_SOLID);
+ start_moving(by_whom->x, CF_SOLID | CF_WATER);
next_targetting = game->now + 0.2;
}
@@ -415,7 +415,7 @@ void alien_t::think(void)
}
}
- start_moving(target->x, CF_SOLID);
+ start_moving(target->x, CF_SOLID | CF_WATER);
}
next_targetting = game->now + 0.2;
diff --git a/src/game/worldgen.cpp b/src/game/worldgen.cpp
index 573d03b..62c8a5e 100644
--- a/src/game/worldgen.cpp
+++ b/src/game/worldgen.cpp
@@ -17,11 +17,11 @@ void worldgen(world::tile_t *tile, world::tile_index_t x,
perlin->get(x, 1.0f) * 0.05f;
if (height < waterlevel)
- tile->type = TILE_WALL;
+ tile->type = TILE_WATER;
else if (height < waterlevel + 0.1)
tile->type = TILE_DIRT;
else if (perlin->get(x, 3.0f) > 0.0f)
- tile->type = TILE_WALL;
+ tile->type = TILE_STONE;
else
tile->type = TILE_DIRT;
}