static public GIFReg Unpack(GIFTag tag, byte addr, UInt64 LowData, UInt64 HighData, bool PackedFormat) { GIFRegTEX0 tex0 = new GIFRegTEX0(addr, LowData, HighData, PackedFormat); tex0.Descriptor = (GIFRegDescriptor)addr; tex0.TBP0 = (ushort)GetBit(LowData, 0, 14); tex0.TBW = (byte)GetBit(LowData, 14, 6); tex0.PSM = (TEXPSM)GetBit(LowData, 20, 6); tex0.TW = (byte)GetBit(LowData, 26, 4); tex0.TH = (byte)GetBit(LowData, 30, 4); tex0.TCC = (TEXTCC)GetBit(LowData, 34, 1); tex0.TFX = (TEXTFX)GetBit(LowData, 35, 2); tex0.CBP = (ushort)GetBit(LowData, 37, 14); tex0.CPSM = (TEXCPSM)GetBit(LowData, 51, 4); tex0.CSM = (TEXCSM)GetBit(LowData, 55, 1); tex0.CSA = (byte)GetBit(LowData, 56, 5); tex0.CLD = (byte)GetBit(LowData, 61, 3); return tex0; }
static public GIFReg Unpack(GIFTag tag, byte addr, UInt64 LowData, UInt64 HighData, bool PackedFormat) { GIFRegTEX0 tex0 = new GIFRegTEX0(addr, LowData, HighData, PackedFormat); tex0.Descriptor = (GIFRegDescriptor)addr; tex0.TBP0 = (ushort)GetBit(LowData, 0, 14); tex0.TBW = (byte)GetBit(LowData, 14, 6); tex0.PSM = (TEXPSM)GetBit(LowData, 20, 6); tex0.TW = (byte)GetBit(LowData, 26, 4); tex0.TH = (byte)GetBit(LowData, 30, 4); tex0.TCC = (TEXTCC)GetBit(LowData, 34, 1); tex0.TFX = (TEXTFX)GetBit(LowData, 35, 2); tex0.CBP = (ushort)GetBit(LowData, 37, 14); tex0.CPSM = (TEXCPSM)GetBit(LowData, 51, 4); tex0.CSM = (TEXCSM)GetBit(LowData, 55, 1); tex0.CSA = (byte)GetBit(LowData, 56, 5); tex0.CLD = (byte)GetBit(LowData, 61, 3); return(tex0); }