//////////////////////////////////////////////////////////// //~ Tile types #define S_WorldPitch 64.0 #define S_TilesPerMeter 2.0 #define S_TilesPerSqMeter (V_TilesPerMeter * V_TilesPerMeter) #define S_TilesPitch (S_WorldPitch * S_TilesPerMeter) #define S_TilesCount (S_TilesPitch * S_TilesPitch) #define S_TilesXMacro(X) \ X(Empty) \ X(Floor) \ X(Wall) \ /* -------------------- */ //- Tiles kinds enum Enum(S_TileKind) { #define X(name, ...) S_TileKind_##name, S_TilesXMacro(X) #undef X S_TileKind_COUNT }; //////////////////////////////////////////////////////////// //~ Tile helpers i32 S_TileIdxFromTilePos(Vec2 p); #if IsLanguageC String S_TileNameFromKind(S_TileKind kind); #endif