Data.getBlocksDt2 C# (CSharp) Method

getBlocksDt2() public method

public getBlocksDt2 ( int blockIndex ) : ObjRec[]
blockIndex int
return ObjRec[]
    public ObjRec[] getBlocksDt2(int blockIndex)
    {
        ObjRec[] blocks = Utils.readBlocksFromAlignedArrays(Globals.romdata, ConfigScript.getTilesAddr(blockIndex), getBlocksCount());
        //decode typeColor
        int palInfoCount = getBlocksCount()/4;
        var palInfo = new byte[palInfoCount];
        for (int i = 0; i < palInfoCount; i++)
        {
        palInfo[i] = blocks[i].typeColor;
        }
        for (int i = 0; i < blocks.Length; i++)
        {
        var palInfoByte = palInfo[i/4];
        int parByteNo = i % 4;
        blocks[i].typeColor = (byte)((palInfoByte >> parByteNo*2) & 3);
        }
        //
        //rebuild blocks to dt2 blocks
        for (int i = 0; i < blocks.Length; i++)
        {
        blocks[i] = new Dt2ObjRec(blocks[i], i);
        }
        //
        return blocks;
    }
Data