29 lines
703 B
C
29 lines
703 B
C
////////////////////////////////////////////////////////////
|
|
//~ Tile helpers
|
|
|
|
i32 P_TileIdxFromTilePos(Vec2 p)
|
|
{
|
|
i32 x = ClampI32(FloorF32(p.x), 0, P_TilesPitch - 1);
|
|
i32 y = ClampI32(FloorF32(p.y), 0, P_TilesPitch - 1);
|
|
i32 result = x + (y * P_TilesPitch);
|
|
return result;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////
|
|
//~ Prefab helpers
|
|
|
|
P_PrefabFlag P_FlagsFromPrefabKind(P_PrefabKind kind)
|
|
{
|
|
PERSIST Readonly P_PrefabFlag flags[P_PrefabKind_COUNT] = {
|
|
#define X(name, flags, ...) flags,
|
|
P_PrefabsXList(X)
|
|
#undef X
|
|
};
|
|
P_PrefabFlag result = P_PrefabFlag_None;
|
|
if (kind >= 0 && kind < countof(flags))
|
|
{
|
|
result = flags[kind];
|
|
}
|
|
return result;
|
|
}
|