Ejemplo n.º 1
0
 public ShapeHeader(SBR block)
 {
     block.VerifyID(TokenID.Shape_Header);
     Flags1 = block.ReadFlags();
     if (!block.EndOfBlock())
     {
         Flags2 = block.ReadFlags();
     }
     block.VerifyEndOfBlock();
 }
Ejemplo n.º 2
0
 public VertexState(SBR block)
 {
     block.VerifyID(TokenID.Vtx_State);
     Flags            = block.ReadFlags();
     MatrixIndex      = block.ReadInt();
     LightMatrixIndex = block.ReadInt();
     LightConfigIndex = block.ReadInt();
     LightFlags       = block.ReadFlags();
     if (!block.EndOfBlock())
     {
         Matrix2 = block.ReadInt();
     }
     block.VerifyEndOfBlock();
 }
Ejemplo n.º 3
0
        public PrimaryState(SBR block)
        {
            block.VerifyID(TokenID.Prim_State);

            Name = block.Label;

            Flags       = block.ReadFlags();
            ShaderIndex = block.ReadInt();
            {
                var subBlock = block.ReadSubBlock();
                subBlock.VerifyID(TokenID.Tex_Idxs);
                TextureIndices = new int[subBlock.ReadInt()];
                for (var i = 0; i < TextureIndices.Length; ++i)
                {
                    TextureIndices[i] = subBlock.ReadInt();
                }
                subBlock.VerifyEndOfBlock();
            }
            ZBias            = block.ReadFloat();
            VertexStateIndex = block.ReadInt();
            AlphaTestMode    = block.ReadInt();
            LightConfigIndex = block.ReadInt();
            ZBufferMode      = block.ReadInt();
            block.VerifyEndOfBlock();
        }
Ejemplo n.º 4
0
 public LightModelConfig(SBR block)
 {
     block.VerifyID(TokenID.Light_Model_Cfg);
     Flags        = block.ReadFlags();
     UVOperations = new UVOperations(block.ReadSubBlock());
     block.VerifyEndOfBlock();
 }
Ejemplo n.º 5
0
        protected virtual void AddOrModifyObj(SBR subBlock, PositionHolder holder)
        {
            switch (subBlock.ID)
            {
            case TokenID.FileName:
                FileName = subBlock.ReadString(); break;

            case TokenID.Position:
                //Position = new STFPositionItem(subBlock);
                ReadLocation(subBlock, holder);
                break;

            case TokenID.QDirection:
                //QDirection = new STFQDirectionItem(subBlock);
                ReadDirection(subBlock, holder);
                break;

            case TokenID.Matrix3x3:
                //Matrix3x3 = ReadMatrix3x3(subBlock);
                ReadPosition(subBlock, holder);
                break;

            case TokenID.VDbId:
                ViewDbId = subBlock.ReadUInt(); break;

            case TokenID.StaticFlags:
                StaticFlags = subBlock.ReadFlags(); break;

            default:
                subBlock.Skip(); break;
            }
        }
Ejemplo n.º 6
0
 internal IndexedTriList(SBR block)
 {
     block.VerifyID(TokenID.Indexed_TriList);
     VertexIndices = new VertexIndices(block.ReadSubBlock());
     {
         SBR subBlock = block.ReadSubBlock();
         subBlock.VerifyID(TokenID.Normal_Idxs);
         NormalIndices = new int[subBlock.ReadInt()];
         for (int i = 0; i < NormalIndices.Length; ++i)
         {
             NormalIndices[i] = subBlock.ReadInt();
             subBlock.ReadInt(); // skip the '3' value - its purpose unknown
         }
         subBlock.VerifyEndOfBlock();
     }
     {
         SBR subBlock = block.ReadSubBlock();
         subBlock.VerifyID(TokenID.Flags);
         Flags = new uint[subBlock.ReadInt()];
         for (int i = 0; i < Flags.Length; ++i)
         {
             Flags[i] = subBlock.ReadFlags();
         }
         subBlock.VerifyEndOfBlock();
     }
     block.VerifyEndOfBlock();
 }
Ejemplo n.º 7
0
        protected override void AddOrModifyObj(SBR subBlock, PositionHolder holder)
        {
            switch (subBlock.ID)
            {
            case TokenID.PlatformData: PlatformData = subBlock.ReadFlags(); break;

            default: base.AddOrModifyObj(subBlock, holder); break;
            }
        }
Ejemplo n.º 8
0
        public SubObjectHeader(SBR block)
        {
            block.VerifyID(TokenID.Sub_Object_Header);

            Flags                        = block.ReadFlags();
            SortVectorIndex              = block.ReadInt();
            VolumeIndex                  = block.ReadInt();
            SourceVertexFormatFlags      = block.ReadFlags();
            DestinationVertexFormatFlags = block.ReadFlags();
            GeometryInfo                 = new GeometryInfo(block.ReadSubBlock());

            if (!block.EndOfBlock())
            {
                var subBlock = block.ReadSubBlock();
                subBlock.VerifyID(TokenID.SubObject_Shaders);
                SubObjectShaders = new int[subBlock.ReadInt()];
                for (var i = 0; i < SubObjectShaders.Length; ++i)
                {
                    SubObjectShaders[i] = subBlock.ReadInt();
                }
                subBlock.VerifyEndOfBlock();
            }

            if (!block.EndOfBlock())
            {
                var subBlock = block.ReadSubBlock();
                subBlock.VerifyID(TokenID.SubObject_Light_Cfgs);
                SubObjectLightConfigs = new int[subBlock.ReadInt()];
                for (var i = 0; i < SubObjectLightConfigs.Length; ++i)
                {
                    SubObjectLightConfigs[i] = subBlock.ReadInt();
                }
                subBlock.VerifyEndOfBlock();
            }

            if (!block.EndOfBlock())
            {
                SubObjectID = block.ReadInt();
            }

            block.VerifyEndOfBlock();
        }
Ejemplo n.º 9
0
 public LightMaterial(SBR block)
 {
     block.VerifyID(TokenID.Light_Material);
     Flags              = block.ReadFlags();
     DiffuseColorIndex  = block.ReadInt();
     AmbientColorIndex  = block.ReadInt();
     SpecularColorIndex = block.ReadInt();
     EmissiveColorIndex = block.ReadInt();
     SpecPower          = block.ReadFloat();
     block.VerifyEndOfBlock();
 }
Ejemplo n.º 10
0
 public Vertex(SBR block)
 {
     block.VerifyID(TokenID.Vertex);
     Flags       = block.ReadFlags();
     PointIndex  = block.ReadInt();
     NormalIndex = block.ReadInt();
     Color1      = block.ReadFlags();
     Color2      = block.ReadFlags();
     {
         var subBlock = block.ReadSubBlock();
         subBlock.VerifyID(TokenID.Vertex_UVs);
         VertexUVs = new int[subBlock.ReadInt()];
         for (var i = 0; i < VertexUVs.Length; ++i)
         {
             VertexUVs[i] = subBlock.ReadInt();
         }
         subBlock.VerifyEndOfBlock();
     }
     block.VerifyEndOfBlock();
 }
Ejemplo n.º 11
0
        protected override void AddOrModifyObj(SBR subBlock, PositionHolder holder)
        {
            switch (subBlock.ID)
            {
            case TokenID.SignalSubObj: SignalSubObject = subBlock.ReadFlags(); break;

            case TokenID.SignalUnits: SignalUnits = new SignalUnits(subBlock); break;

            default: base.AddOrModifyObj(subBlock, holder); break;
            }
        }
Ejemplo n.º 12
0
 public Texture(SBR block)
 {
     block.VerifyID(TokenID.Texture);
     ImageIndex    = block.ReadInt();
     FilterMode    = block.ReadInt();
     MipMapLODBias = block.ReadFloat();
     if (!block.EndOfBlock())
     {
         BorderColor = block.ReadFlags();
     }
     block.VerifyEndOfBlock();
 }