diff options
Diffstat (limited to 'src/level.h')
-rw-r--r-- | src/level.h | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/src/level.h b/src/level.h index e915da3..d24ccb4 100644 --- a/src/level.h +++ b/src/level.h @@ -5,8 +5,26 @@ #include <cstring> #include <vector> +#define TILE_TYPE(x) ((x)&0xf) +#define TILE_DATA(x) (x >> 4 & 0xf) +#define MAKE_TILE(t, d) ((((d) & 0xf) << 4) + ((t)&0xf)) + class Train; +enum TileType : uint8_t { + TileGround, + TileTrack +}; + +enum TrackDirection : uint8_t { + NorthSouth, + EastWest, + SouthEast, + SouthWest, + NorthWest, + NorthEast, +}; + class Level { public: Level(int width, int height, Bitmap& tileSprites); @@ -30,13 +48,4 @@ private: std::vector<Train*> m_vehicles; }; -enum RailDirection { - NorthSouth = 1, - EastWest, - SouthEast, - SouthWest, - NorthWest, - NorthEast, -}; - -RailDirection ChooseDirection(Level& level, int x, int y);
\ No newline at end of file +TrackDirection ChooseDirection(Level& level, int x, int y);
\ No newline at end of file |