64 lines
1.4 KiB
Plaintext
64 lines
1.4 KiB
Plaintext
#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(Wall) \
|
|
X(Tile) \
|
|
X(Carpet) \
|
|
/* -------------------- */
|
|
|
|
//- Tiles kinds enum
|
|
Enum(P_TileKind)
|
|
{
|
|
#define X(name, ...) P_TileKind_##name,
|
|
P_TilesXList(X)
|
|
#undef X
|
|
P_TileKind_COUNT
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////
|
|
//~ Prefab types
|
|
|
|
#define P_PrefabsXList(X) \
|
|
X(Guy) \
|
|
X(Dummy) \
|
|
X(SpawnPoint) \
|
|
/* --------------------- */
|
|
|
|
//- Prefab kinds enum
|
|
Enum(P_PrefabKind)
|
|
{
|
|
#define X(name, ...) P_PrefabKind_##name,
|
|
P_PrefabsXList(X)
|
|
#undef X
|
|
P_PrefabKind_COUNT
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////
|
|
//~ Tile helpers
|
|
|
|
i32 P_TileIdxFromTilePos(Vec2 p);
|
|
|
|
#if IsLanguageC
|
|
String P_TileNameFromKind(P_TileKind kind);
|
|
#endif
|
|
|
|
////////////////////////////////////////////////////////////
|
|
//~ Prefab helpers
|
|
|
|
#if IsLanguageC
|
|
String P_PrefabNameFromKind(P_PrefabKind kind);
|
|
#endif
|