public int getTileCompHeight(int t, int c, int rl)
{
int tIdx = TileIdx;
if (t != tIdx)
{
throw new System.InvalidOperationException("Asking the tile-component width of a tile " + "different from the current one.");
}
int ntuly;
int dl = mdl[c] - rl; // Revert level indexation (0 is hi-res)
// Calculate starting Y of next tile Y-wise at reference grid hi-res
ntuly = (ctY < ntY - 1)?py + (ctY + 1) * ntH:ay + imgH;
// Convert reference grid hi-res to component grid hi-res
ntuly = (ntuly + hd.getCompSubsY(c) - 1) / hd.getCompSubsY(c);
// Starting Y of current tile at component grid hi-res is culy[c]
// The difference at the rl level is the height
return (ntuly + (1 << dl) - 1) / (1 << dl) - (culy[c] + (1 << dl) - 1) / (1 << dl);
}