#define P_WorldPitch 64.0 #define P_CellsPerMeter 32.0 #define P_CellsPerSqMeter (P_CellsPerMeter * P_CellsPerMeter) #define P_TilesPerMeter 2.0 #define P_TilesPerSqMeter (V_TilesPerMeter * V_TilesPerMeter) //////////////////////////////////////////////////////////// //~ Tile types #define P_TilesPitch (P_WorldPitch * P_TilesPerMeter) #define P_TilesCount (P_TilesPitch * P_TilesPitch) #define P_TilesXList(X) \ X(Empty) \ X(Tile) \ X(Carpet) \ X(Wall) \ /* -------------------- */ //- Tiles kinds enum Enum(P_TileKind) { #define X(name, ...) P_TileKind_##name, P_TilesXList(X) #undef X P_TileKind_COUNT }; //////////////////////////////////////////////////////////// //~ Tile helpers i32 P_TileIdxFromTilePos(Vec2 p); #if IsLanguageC String P_TileNameFromKind(P_TileKind kind); #endif