当前位置: 首页>>代码示例>>C#>>正文


C# IUnrealStream.ReadUInt32方法代码示例

本文整理汇总了C#中IUnrealStream.ReadUInt32方法的典型用法代码示例。如果您正苦于以下问题:C# IUnrealStream.ReadUInt32方法的具体用法?C# IUnrealStream.ReadUInt32怎么用?C# IUnrealStream.ReadUInt32使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IUnrealStream的用法示例。


在下文中一共展示了IUnrealStream.ReadUInt32方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Deserialize

 public void Deserialize( IUnrealStream stream )
 {
     FileTableOffset = stream.ReadUInt32();
     FileSize = stream.ReadUInt32();
     Version = stream.ReadUInt32();
     CRC32 = stream.ReadUInt32();
 }
开发者ID:jjbott,项目名称:Unreal-Library,代码行数:7,代码来源:UnrealMod.cs

示例2: Deserialize

        public void Deserialize( IUnrealStream stream )
        {
            Name = stream.ReadText();

            // Mass effect 2
            if (stream.Version == 512)
            {
                Flags = stream.ReadUInt32();
            }
            else
            {
                Flags = stream.Version >= QWORDVersion ? stream.ReadUInt64() : stream.ReadUInt32();
            }
            #if DEOBFUSCATE
            // De-obfuscate names that contain unprintable characters!
            foreach( char c in Name )
            {
                if( !char.IsLetterOrDigit( c ) )
                {
                    Name = "N" + TableIndex + "_OBF";
                    break;
                }
            }
            #endif
        }
开发者ID:Dybuk,项目名称:Unreal-Library,代码行数:25,代码来源:UNameTableItem.cs

示例3: Deserialize

            public void Deserialize( IUnrealStream stream )
            {
                if( stream.Version >= 63 )
                {
                    // Offset to (Width = ...)
                    WidthOffset = stream.ReadUInt32();

                    long opos = stream.Position;
                    stream.Seek( WidthOffset, System.IO.SeekOrigin.Begin );
                    Width = stream.ReadUInt32();
                    Height = stream.ReadUInt32();
                    stream.Seek( opos, System.IO.SeekOrigin.Begin );
                }

                int mipMapSize = stream.ReadIndex();
                Pixels = new int[mipMapSize];
                switch( Owner._Format.Decompile().Substring( 6 ) )
                {
                    case "TEXF_RGBA8": case "5":
                        for( int i = 0; i < mipMapSize; ++ i )
                        {
                            Pixels[i] = stream.ReadInt32();
                        }
                        break;

                    case "TEXF_DXT1": case "3":
                        for( int i = 0; i < mipMapSize / 2; ++ i )
                        {
                            byte c = stream.ReadByte();
                            Pixels[i ++] = c & 0xF0;
                            Pixels[i] = c & 0x0F;
                        }

                        // PostProcess:
                        // 4x4 4bit per pixel, 16bit per color: 5bits red; 6bits green; 5bits blue.
                        //
                        break;
                }

                // Width, Height. See above!
                stream.Skip( 8 );
                BitsWidth = stream.ReadByte();
                BitsHeight = stream.ReadByte();
            }
开发者ID:jjbott,项目名称:Unreal-Library,代码行数:44,代码来源:UTexture.cs

示例4: Deserialize

            public void Deserialize( IUnrealStream stream )
            {
                Class = stream.ReadObjectIndex();

                // Deep
                stream.ReadInt32();

                // ScriptTextCRC
                stream.ReadUInt32();
            }
开发者ID:jjbott,项目名称:Unreal-Library,代码行数:10,代码来源:UClass.cs

示例5: Deserialize

            public void Deserialize( IUnrealStream stream )
            {
                _Signature = stream.ReadUInt32();
                if( _Signature != UnrealPackage.Signature )
                {
                    throw new System.IO.FileLoadException( "Unrecognized signature!" );
                }
                _BlockSize = stream.ReadInt32();
                _CompressedSize = stream.ReadInt32();
                _UncompressedSize = stream.ReadInt32();

                int blockCount = (int)Math.Ceiling( _UncompressedSize / (float)_BlockSize );
                Blocks = new UArray<CompressedChunkBlock>( stream, blockCount );
            }
开发者ID:jjbott,项目名称:Unreal-Library,代码行数:14,代码来源:UnrealPackageCompression.cs

示例6: Deserialize

            public void Deserialize( IUnrealStream stream )
            {
                #if HAWKEN
                if( stream.Package.Build == GameBuild.BuildName.Hawken )
                {
                    stream.Skip( 4 );
                }
                #endif
                NamesCount = stream.ReadUInt32();
                NamesOffset = stream.ReadUInt32();
                ExportsCount = stream.ReadUInt32();
                ExportsOffset = stream.ReadUInt32();
                #if APB
                if( stream.Package.Build == GameBuild.BuildName.APB )
                {
                    stream.Skip( 24 );
                }
                #endif
                ImportsCount = stream.ReadUInt32();
                ImportsOffset = stream.ReadUInt32();

                Console.WriteLine( "\tNames Count:" + NamesCount + "\tNames Offset:" + NamesOffset
                    + "\r\n\tExports Count:" + ExportsCount + "\tExports Offset:" + ExportsOffset
                    + "\r\n\tImports Count:" + ImportsCount + "\tImports Offset:" + ImportsOffset
                );

                if( stream.Version < 415 )
                    return;

                DependsOffset = stream.ReadUInt32();
                if( stream.Version >= 584
                #if TRANSFORMERS
                    || (stream.Package.Build == GameBuild.BuildName.Transformers && stream.Version >= 535)
                #endif
                    )
                {
                    // Additional tables, like thumbnail, and guid data.
                    if( stream.Version >= 623
                #if BIOSHOCK
                        && stream.Package.Build != GameBuild.BuildName.Bioshock_Infinite
                #endif
                #if TRANSFORMERS
                        && stream.Package.Build != GameBuild.BuildName.Transformers // FIXME: This is not skipped Gildor's UModel game support odd?
                #endif
                        )
                    {
                        stream.Skip( 12 );
                    }
                    stream.Skip( 4 );
                }
            }
开发者ID:EliotVU,项目名称:Unreal-Library,代码行数:51,代码来源:UnrealPackage.cs

示例7: Deserialize

            public void Deserialize( IUnrealStream stream )
            {
                #if HAWKEN
                if( stream.Package.Build == GameBuild.BuildName.Hawken )
                {
                    stream.Skip( 4 );
                }
                #endif
                NamesCount = stream.ReadUInt32();
                NamesOffset = stream.ReadUInt32();
                ExportsCount = stream.ReadUInt32();
                ExportsOffset = stream.ReadUInt32();
                #if APB
                if( stream.Package.Build == GameBuild.BuildName.APB )
                {
                    stream.Skip( 24 );
                }
                #endif
                ImportsCount = stream.ReadUInt32();
                ImportsOffset = stream.ReadUInt32();

                Console.WriteLine( "\tNames Count:" + NamesCount + "\tNames Offset:" + NamesOffset
                    + "\r\n\tExports Count:" + ExportsCount + "\tExports Offset:" + ExportsOffset
                    + "\r\n\tImports Count:" + ImportsCount + "\tImports Offset:" + ImportsOffset
                );

                if( stream.Version < 415 )
                    return;

                DependsOffset = stream.ReadUInt32();
                if( stream.Version >= 584 )
                {
                    // Additional tables, like thumbnail, and guid data.
                    if( stream.Version >= 623
                #if BIOSHOCK
                        && stream.Package.Build != GameBuild.BuildName.Bioshock_Infinite
                #endif
                        )
                    {
                        stream.Skip( 12 );
                    }
                    stream.Skip( 4 );
                }
            }
开发者ID:Dybuk,项目名称:Unreal-Library,代码行数:44,代码来源:UnrealPackage.cs

示例8: Deserialize

        public void Deserialize( IUnrealStream stream )
        {
            ClassIndex      = stream.ReadObjectIndex();
            SuperIndex      = stream.ReadObjectIndex();
            OuterIndex      = stream.ReadInt32(); // ObjectIndex, though always written as 32bits regardless of build.
#if BIOSHOCK
            if( stream.Package.Build == UnrealPackage.GameBuild.BuildName.Bioshock && stream.Version >= 132 )
            {
                stream.Skip( sizeof(int) );
            }
#endif
            ObjectName  = stream.ReadNameReference();

            if( stream.Version >= VArchetype )
            {
                ArchetypeIndex = stream.ReadInt32();
            }

            _ObjectFlagsOffset = stream.Position;
            ObjectFlags = stream.ReadUInt32();
            if( stream.Version >= VObjectFlagsToULONG
#if BIOSHOCK
                || (stream.Package.Build == UnrealPackage.GameBuild.BuildName.Bioshock && stream.Package.LicenseeVersion >= 40)
#endif
                )
            {
                ObjectFlags = (ObjectFlags << 32) | stream.ReadUInt32();
            }

            SerialSize = stream.ReadIndex();
            if( SerialSize > 0 || stream.Version >= VSerialSizeConditionless )
            {
                SerialOffset = stream.ReadIndex();
            }
#if BIOSHOCK
            if( stream.Package.Build == UnrealPackage.GameBuild.BuildName.Bioshock && stream.Version >= 130 )
            {
                stream.Skip( sizeof(int) );
            }
#endif
            if( stream.Version < 220 )
                return;

            if( stream.Version < 543
#if ALPHAPROTOCOL
                && stream.Package.Build != UnrealPackage.GameBuild.BuildName.AlphaProtcol
#endif
#if TRANSFORMERS
                && (stream.Package.Build != UnrealPackage.GameBuild.BuildName.Transformers || stream.Package.LicenseeVersion < 37)
#endif
                )
            {
                int componentMapCount = stream.ReadInt32();
                stream.Skip( componentMapCount * 12 );
                //if( componentMapCount > 0 )
                //{
                //    Components = new Dictionary<int, int>( componentMapCount );
                //    for( int i = 0; i < componentMapCount; ++ i )
                //    {
                //        Components.Add( stream.ReadNameIndex(), stream.ReadObjectIndex() );
                //    }
                //}
            }

            if( stream.Version < 247 )
                return;

            ExportFlags = stream.ReadUInt32();
            if( stream.Version < 322 )
                return;
#if TRANSFORMERS
            if( stream.Package.Build == UnrealPackage.GameBuild.BuildName.Transformers && stream.Package.LicenseeVersion >= 116 )
            {
                var flag = stream.ReadByte();
                if( flag == 0 )
                {
                    return;
                }
            }
#endif
#if BIOSHOCK
            if( stream.Package.Build == UnrealPackage.GameBuild.BuildName.Bioshock_Infinite )
            {
                var unk = stream.ReadUInt32();
                if( unk == 1 )
                {
                    var flags = stream.ReadUInt32();
                    if( (flags & 1) != 0x0 )
                    {
                        stream.ReadUInt32();
                    }
                    stream.Skip( 16 );  // guid
                    stream.ReadUInt32();    // 01000020
                }
                return;
            }
#endif
#if MKKE
            if( stream.Package.Build != UnrealPackage.GameBuild.BuildName.MKKE )
            {            
//.........这里部分代码省略.........
开发者ID:jjbott,项目名称:Unreal-Library,代码行数:101,代码来源:UExportTableItem.cs


注:本文中的IUnrealStream.ReadUInt32方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。