power_play/src/pp/pp_shared.cg

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;
}