Exemplo n.º 1
0
        protected override void InternalRead(DSBinaryReader bin)
        {
            Name       = bin.ReadMsbString();
            EventIndex = bin.ReadInt32();
            bin.AssertInt32((int)Type);
            Index = bin.ReadInt32();

            if (bin.LongOffsets)
            {
                bin.Jump(4);
            }

            long baseDataOffset;
            long subtypeDataOffset;

            if (bin.LongOffsets)
            {
                baseDataOffset    = bin.ReadInt64();
                subtypeDataOffset = bin.ReadInt64();
            }
            else
            {
                baseDataOffset    = bin.ReadInt32();
                subtypeDataOffset = bin.ReadInt32();
            }

            BASE_CONST_1 = bin.ReadInt32();

            bin.StepInMSB(baseDataOffset);
            {
                i_Part       = bin.ReadInt32();
                i_Region     = bin.ReadInt32();
                EntityID     = bin.ReadInt32();
                BASE_CONST_2 = bin.ReadInt32();
            }
            bin.StepOut();

            bin.StepInMSB(subtypeDataOffset);
            {
                SubtypeRead(bin);
            }
            bin.StepOut();
        }
Exemplo n.º 2
0
        protected override void InternalRead(DSBinaryReader bin)
        {
            Name = bin.ReadMsbString();

            bin.AssertInt32((int)Type);

            Index       = bin.ReadInt32();
            i_ModelName = bin.ReadInt32();

            if (bin.LongOffsets)
            {
                bin.Jump(4);
            }

            PlaceholderModel = bin.ReadMsbString();

            PosX = bin.ReadSingle();
            PosY = bin.ReadSingle();
            PosZ = bin.ReadSingle();

            RotX = bin.ReadSingle();
            RotY = bin.ReadSingle();
            RotZ = bin.ReadSingle();

            ScaleX = bin.ReadSingle();
            ScaleY = bin.ReadSingle();
            ScaleZ = bin.ReadSingle();

            DrawGroup1 = bin.ReadInt32();
            DrawGroup2 = bin.ReadInt32();
            DrawGroup3 = bin.ReadInt32();
            DrawGroup4 = bin.ReadInt32();

            DispGroup1 = bin.ReadInt32();
            DispGroup2 = bin.ReadInt32();
            DispGroup3 = bin.ReadInt32();
            DispGroup4 = bin.ReadInt32();

            long baseDataOffset;
            long subtypeDataOffset;

            if (bin.LongOffsets)
            {
                bin.Jump(4);
                baseDataOffset    = bin.ReadInt64();
                subtypeDataOffset = bin.ReadInt64();
            }
            else
            {
                baseDataOffset    = bin.ReadInt32();
                subtypeDataOffset = bin.ReadInt32();
            }

            BASE_CONST_1 = bin.ReadInt32();

            bin.StepInMSB(baseDataOffset);
            {
                EntityID                = bin.ReadInt32();
                LightID                 = bin.ReadSByte();
                FogID                   = bin.ReadSByte();
                ScatterID               = bin.ReadSByte();
                LensFlareID             = bin.ReadSByte();
                ShadowID                = bin.ReadSByte();
                DofID                   = bin.ReadSByte();
                ToneMapID               = bin.ReadSByte();
                ToneCorrectID           = bin.ReadSByte();
                LanternID               = bin.ReadSByte();
                LodParamID              = bin.ReadSByte();
                PartsBaseUnk0           = bin.ReadByte();
                IsShadowSrc             = bin.ReadBoolean();
                IsShadowDest            = bin.ReadBoolean();
                IsShadowOnly            = bin.ReadBoolean();
                DrawByReflectCam        = bin.ReadBoolean();
                DrawOnlyReflectCam      = bin.ReadBoolean();
                IsUseDepthBiasFloat     = bin.ReadSByte();
                DisablePointLightEffect = bin.ReadSByte();

                BASE_CONST_3 = bin.ReadByte();
                BASE_CONST_4 = bin.ReadByte();
            }
            bin.StepOut();

            bin.StepInMSB(subtypeDataOffset);
            {
                SubtypeRead(bin);
            }
            bin.StepOut();
        }