private void CopySubTileToTile(byte[] subTiles, int subTilesOffset, ushort[] tile, int tileOffset, ushort[] palette, int paletteOffset)
{
for (int y = 0; y < 8; y++)
{
for (int x = 0; x < 4; x++)
{
byte twoPixels = subTiles[subTilesOffset + 4 * y + x];
byte pixel = (byte)(twoPixels & 0x0F);
tile[tileOffset + 16 * y + 2 * x] = palette[paletteOffset + pixel];
pixel = (byte)((twoPixels & 0xF0) >> 4);
tile[tileOffset + 16 * y + 2 * x + 1] = palette[paletteOffset + pixel];
}
}
}
Hmmm does not FF4 use bitlanes to internally store tiles? That code looks like for GBA :D