Esempio n. 1
0
        public void WriteKindField()
        {
            Binary.BitArray bitArray = new Binary.BitArray();

            bitArray.Add(Gravy);
            bitArray.Add(FricXYZ);
            bitArray.Add(TornadoL);
            bitArray.Add(ReserveBit4);
            bitArray.Add(ComtLUT);
            bitArray.Add(MirrorS);
            bitArray.Add(MirrorT);
            bitArray.Add(PrimeNV);
            bitArray.Add(ImmRND);
            bitArray.Add(Convert.ToBoolean(TexInter));
            bitArray.Add(ReserveBit11);
            bitArray.Add(ExecPause);

            BitArray b = new BitArray(new int[] { PNTJOBJNO });

            bitArray.Add(b.Get(0));
            bitArray.Add(b.Get(1));
            bitArray.Add(b.Get(2));

            bitArray.Add(PNTJOBJ);
            bitArray.Add(BillboardG);
            bitArray.Add(BillboardA);
            bitArray.Add(FlipS);
            bitArray.Add(FlipT);
            bitArray.Add(Trail);
            bitArray.Add(DirVEC);
            bitArray.Add(Convert.ToBoolean(Blending));
            bitArray.Add(ReserveBit24);
            bitArray.Add(Fog);
            bitArray.Add(ReserveBit26);
            bitArray.Add(ReserveBit27);
            bitArray.Add(ReserveBit28);
            bitArray.Add(ReserveBit29);
            bitArray.Add(ReserveBit30);
            bitArray.Add(Point);
            bitArray.Add(Lighting);

            Kind = BitConverter.ToUInt32(bitArray.GetBytes(), 0);
        }
Esempio n. 2
0
        public void ReadKindField()
        {
            Binary.BitArray bitArray  = new Binary.BitArray(BitConverter.GetBytes(Kind));
            bool[]          kindField = bitArray.GetBits();

            Gravy        = kindField[0];
            FricXYZ      = kindField[1];
            TornadoL     = kindField[2];
            ReserveBit4  = kindField[3];
            ComtLUT      = kindField[4];
            MirrorS      = kindField[5];
            MirrorT      = kindField[6];
            PrimeNV      = kindField[7];
            ImmRND       = kindField[8];
            TexInter     = (TextureInterpolation)Convert.ToInt32(kindField[9]);
            ReserveBit11 = kindField[10];
            ExecPause    = kindField[11];

            BitArray PNTOBJBits = new BitArray(new bool[] { kindField[12], kindField[13], kindField[14] });

            int[] bytes = new int[1];
            PNTOBJBits.CopyTo(bytes, 0);

            PNTJOBJNO    = bytes[0];
            PNTJOBJ      = kindField[15];
            BillboardG   = kindField[16];
            BillboardA   = kindField[17];
            FlipS        = kindField[18];
            FlipT        = kindField[19];
            Trail        = kindField[20];
            DirVEC       = kindField[21];
            Blending     = (BlendingMode)Convert.ToInt32(kindField[22]);
            ReserveBit24 = kindField[23];
            Fog          = kindField[24];
            ReserveBit26 = kindField[25];
            ReserveBit27 = kindField[26];
            ReserveBit28 = kindField[27];
            ReserveBit29 = kindField[28];
            ReserveBit30 = kindField[29];
            Point        = kindField[30];
            Lighting     = kindField[31];
        }