public void Serialize(IUnrealStream stream) { stream.Write(original.PackageName); stream.Write(original._ClassName); stream.Write(newOuterIndex); // Always an ordinary integer stream.Write(original.ObjectName); }
public void Serialize(IUnrealStream stream) { // TODO: Implement code stream.Write(UncompressedOffset); stream.Write(UncompressedSize); stream.Write(CompressedOffset); stream.Write(CompressedSize); }
public void Serialize( IUnrealStream stream ) { // TODO: Implement code stream.Write( UncompressedOffset ); stream.Write( UncompressedSize ); stream.Write( CompressedOffset ); stream.Write( CompressedSize ); }
public void Serialize(IUnrealStream stream) { Log.Info($"Writing import {ObjectName} at {stream.Position}"); stream.Write(PackageName); stream.Write(_ClassName); stream.Write(OuterTable != null ? (int)OuterTable.Object : 0); // Always an ordinary integer stream.Write(ObjectName); }
public void Serialize(IUnrealStream stream) { Console.WriteLine("Writing import " + ObjectName + " at " + stream.Position); stream.Write(PackageName); stream.Write(_ClassName); stream.Write(OuterTable != null ? (int)OuterTable.Object : 0); // Always an ordinary integer stream.Write(ObjectName); }
public void Serialize( IUnrealStream stream ) { Console.WriteLine( "Writing import " + ObjectName + " at " + stream.Position ); stream.Write( PackageName ); stream.Write( _ClassName ); stream.Write( OuterTable != null ? (int)OuterTable.Object : 0 ); // Always an ordinary integer stream.Write( ObjectName ); }
public void Serialize( IUnrealStream stream ) { stream.Write( ExportsCount ); stream.Write( NamesCount ); if( stream.Version >= VNetObjectsCount ) { stream.Write( NetObjectsCount ); } }
public void Serialize(IUnrealStream stream) { stream.Write(ExportsCount); stream.Write(NamesCount); if (stream.Version >= VNetObjectsCount) { stream.Write(NetObjectsCount); } }
public override void Write(IUnrealStream stream, UnrealPackage package) { FixNameIndexAtPosition(package, "SizeX", 4); FixNameIndexAtPosition(package, "IntProperty", 12); FixNameIndexAtPosition(package, "None", 32); stream.Write(minimalByteArray, 0, serialSize - 4); stream.Write((int)stream.Position + sizeof(int)); }
internal void Serialize(IUnrealStream stream) { stream.Write(sizeX); stream.Write(sizeY); stream.Write(dataSize); if (dataSize > 0) { stream.Write(data, 0, data.Length); } }
public void Serialize(IUnrealStream stream) { stream.WriteIndex(_Index); if (stream.Version >= VNameNumbered) { Console.WriteLine(_Number + " " + _Text); stream.Write((uint)_Number + 1); } }
public void Serialize( IUnrealStream stream ) { stream.WriteIndex( _Index ); if( stream.Version >= VNameNumbered ) { Console.WriteLine( _Number + " " + _Text ); stream.Write( (uint)_Number + 1 ); } }
public void Serialize(IUnrealStream stream) { stream.WriteIndex(Index); if (stream.Version < VNameNumbered) { return; } Console.WriteLine(_Number + " " + Text); stream.Write((uint)_Number + 1); }
//public Dictionary<int, int> Components; //public List<int> NetObjects; #endregion // @Warning - Only supports Official builds. public void Serialize( IUnrealStream stream ) { stream.Write( ClassTable.Object ); stream.Write( SuperTable.Object ); stream.Write( (int)OuterTable.Object ); stream.Write( ObjectName ); if( stream.Version >= VArchetype ) { ArchetypeIndex = stream.ReadInt32(); } stream.UW.Write( stream.Version >= VObjectFlagsToULONG ? ObjectFlags : (uint)ObjectFlags ); stream.WriteIndex( SerialSize ); // Assumes SerialSize has been updated to @Object's buffer size. if( SerialSize > 0 || stream.Version >= VSerialSizeConditionless ) { // SerialOffset has to be set and written after this object has been serialized. stream.WriteIndex( SerialOffset ); // Assumes the same as @SerialSize comment. } // TODO: Continue. }
//public Dictionary<int, int> Components; //public List<int> NetObjects; #endregion // @Warning - Only supports Official builds. public void Serialize(IUnrealStream stream) { stream.Write(ClassTable.Object); stream.Write(SuperTable.Object); stream.Write((int)OuterTable.Object); stream.Write(ObjectName); if (stream.Version >= VArchetype) { ArchetypeIndex = stream.ReadInt32(); } stream.UW.Write(stream.Version >= VObjectFlagsToULONG ? ObjectFlags : (uint)ObjectFlags); stream.WriteIndex(SerialSize); // Assumes SerialSize has been updated to @Object's buffer size. if (SerialSize > 0 || stream.Version >= VSerialSizeConditionless) { // SerialOffset has to be set and written after this object has been serialized. stream.WriteIndex(SerialOffset); // Assumes the same as @SerialSize comment. } // TODO: Continue. }
public void Serialize(IUnrealStream stream) { var offsetList = new List <int>(); thumbnailDataOffset = (int)stream.Position; foreach (var thumbnailData in thumbnailDataTable) { offsetList.Add((int)stream.Position); thumbnailData.Serialize(stream); } thumbnailTableOffset = (int)stream.Position; stream.Write(thumbnailTable.Count()); for (int i = 0; i < thumbnailTable.Count(); i++) { thumbnailTable[i].dataOffset = offsetList[i]; thumbnailTable[i].Serialize(stream); } }
public void Write(IUnrealStream stream, UnrealPackage package) { FixNameIndexAtPosition(package, "SizeX", 4); FixNameIndexAtPosition(package, "IntProperty", 12); FixNameIndexAtPosition(package, "SizeY", 32); FixNameIndexAtPosition(package, "IntProperty", 40); FixNameIndexAtPosition(package, "OriginalSizeX", 60); FixNameIndexAtPosition(package, "IntProperty", 68); FixNameIndexAtPosition(package, "OriginalSizeY", 88); FixNameIndexAtPosition(package, "IntProperty", 96); FixNameIndexAtPosition(package, "OriginalSizeX", 60); FixNameIndexAtPosition(package, "IntProperty", 68); FixNameIndexAtPosition(package, "Format", 116); FixNameIndexAtPosition(package, "ByteProperty", 124); FixNameIndexAtPosition(package, "EPixelFormat", 140); FixNameIndexAtPosition(package, "PF_A8R8G8B8", 148); FixNameIndexAtPosition(package, "bIsSourceArtUncompressed", 156); FixNameIndexAtPosition(package, "BoolProperty", 164); FixNameIndexAtPosition(package, "CompressionNone", 181); FixNameIndexAtPosition(package, "BoolProperty", 189); FixNameIndexAtPosition(package, "MipGenSettings", 206); FixNameIndexAtPosition(package, "ByteProperty", 214); FixNameIndexAtPosition(package, "TextureMipGenSettings", 230); FixNameIndexAtPosition(package, "TMGS_NoMipmaps", 238); FixNameIndexAtPosition(package, "LightingGuid", 246); FixNameIndexAtPosition(package, "StructProperty", 254); FixNameIndexAtPosition(package, "Guid", 270); FixNameIndexAtPosition(package, "None", 294); stream.Write(minimalTex2D, 0, serialSize); }
public override void Write(IUnrealStream stream, UnrealPackage package) { FixNameIndexAtPosition(package, "ClothingAssets", 4); FixNameIndexAtPosition(package, "ArrayProperty", 12); FixNameIndexAtPosition(package, "LODInfo", 36); FixNameIndexAtPosition(package, "ArrayProperty", 44); FixNameIndexAtPosition(package, "DisplayFactor", 64); FixNameIndexAtPosition(package, "FloatProperty", 72); FixNameIndexAtPosition(package, "LODHysteresis", 92); FixNameIndexAtPosition(package, "FloatProperty", 100); FixNameIndexAtPosition(package, "LODMaterialMap", 120); FixNameIndexAtPosition(package, "ArrayProperty", 128); FixNameIndexAtPosition(package, "bEnableShadowCasting", 148); FixNameIndexAtPosition(package, "ArrayProperty", 156); FixNameIndexAtPosition(package, "TriangleSortSettings", 177); FixNameIndexAtPosition(package, "ArrayProperty", 185); FixNameIndexAtPosition(package, "TriangleSorting", 205); FixNameIndexAtPosition(package, "ByteProperty", 213); FixNameIndexAtPosition(package, "TriangleSortOption", 229); FixNameIndexAtPosition(package, "TRISORT_None", 237); FixNameIndexAtPosition(package, "CustomLeftRightAxis", 245); FixNameIndexAtPosition(package, "ByteProperty", 253); FixNameIndexAtPosition(package, "TriangleSortAxis", 269); FixNameIndexAtPosition(package, "TSA_X_Axis", 277); FixNameIndexAtPosition(package, "CustomLeftRightBoneName", 285); FixNameIndexAtPosition(package, "NameProperty", 293); FixNameIndexAtPosition(package, "None", 309); FixNameIndexAtPosition(package, "None", 317); FixNameIndexAtPosition(package, "bDisableCompressions", 325); FixNameIndexAtPosition(package, "BoolProperty", 333); FixNameIndexAtPosition(package, "bHasBeenSimplified", 350); FixNameIndexAtPosition(package, "BoolProperty", 358); FixNameIndexAtPosition(package, "None", 375); FixNameIndexAtPosition(package, "SourceFilePath", 383); FixNameIndexAtPosition(package, "StrProperty", 391); FixNameIndexAtPosition(package, "SourceFileTimestamp", 472); FixNameIndexAtPosition(package, "StrProperty", 480); FixNameIndexAtPosition(package, "None", 520); stream.Write(minimalByteArray, 0, serialSize); }
public override void Write(IUnrealStream stream, UnrealPackage package) { //FixNameIndexAtPosition(package, "StaticMesh", 0); FixNameIndexAtPosition(package, "SourceFileTimestamp", 4); FixNameIndexAtPosition(package, "StrProperty", 12); FixNameIndexAtPosition(package, "SourceFilePath", 52); FixNameIndexAtPosition(package, "StrProperty", 60); FixNameIndexAtPosition(package, "LightMapCoordinateIndex", 86); FixNameIndexAtPosition(package, "IntProperty", 94); FixNameIndexAtPosition(package, "LightMapResolution", 114); FixNameIndexAtPosition(package, "IntProperty", 122); FixNameIndexAtPosition(package, "None", 142); stream.Write(minimalByteArray, 0, serialSize); }
public void Serialize( IUnrealStream stream ) { // Serialize tables var namesBuffer = new UObjectStream( stream ); foreach( var name in Names ) { name.Serialize( namesBuffer ); } var importsBuffer = new UObjectStream( stream ); foreach( var import in Imports ) { import.Serialize( importsBuffer ); } var exportsBuffer = new UObjectStream( stream ); foreach( var export in Exports ) { //export.Serialize( exportsBuffer ); } stream.Seek( 0, SeekOrigin.Begin ); stream.Write( Signature ); // Serialize header var version = (int)(Version & 0x0000FFFFU) | (LicenseeVersion << 16); stream.Write( version ); var headerSizePosition = stream.Position; if( Version >= VHeaderSize ) { stream.Write( (int)HeaderSize ); if( Version >= VGroup ) { stream.WriteString( Group ); } } stream.Write( PackageFlags ); _TablesData.NamesCount = (uint)Names.Count; _TablesData.ExportsCount = (uint)Exports.Count; _TablesData.ImportsCount = (uint)Imports.Count; var tablesDataPosition = stream.Position; _TablesData.Serialize( stream ); // TODO: Serialize Heritages stream.Write( Guid.NewGuid().ToByteArray(), 0, 16 ); Generations.Serialize( stream ); if( Version >= VEngineVersion ) { stream.Write( EngineVersion ); if( Version >= VCOOKEDPACKAGES ) { stream.Write( CookerVersion ); if( Version >= VCompression ) { if( IsCooked() ) { stream.Write( CompressionFlags ); CompressedChunks.Serialize( stream ); } } } } // TODO: Unknown data stream.Write( (uint)0 ); // Serialize objects // Write tables // names Console.WriteLine( "Writing names at position " + stream.Position ); _TablesData.NamesOffset = (uint)stream.Position; var namesBytes = namesBuffer.GetBuffer(); stream.Write( namesBytes, 0, (int)namesBuffer.Length ); // imports Console.WriteLine( "Writing imports at position " + stream.Position ); _TablesData.ImportsOffset = (uint)stream.Position; var importsBytes = importsBuffer.GetBuffer(); stream.Write( importsBytes, 0, (int)importsBuffer.Length ); // exports Console.WriteLine( "Writing exports at position " + stream.Position ); // Serialize tables data again now that offsets are known. var currentPosition = stream.Position; stream.Seek( tablesDataPosition, SeekOrigin.Begin ); _TablesData.Serialize( stream ); stream.Seek( currentPosition, SeekOrigin.Begin ); }
+ sizeof(int) * 3; //name length, group length, dataOffset internal void Serialize(IUnrealStream stream) { stream.WriteString(name); stream.WriteString(group); stream.Write(dataOffset); }
public void Serialize( IUnrealStream stream ) { stream.Write( NamesCount ); stream.Write( NamesOffset ); stream.Write( ExportsCount ); stream.Write( ExportsOffset ); stream.Write( ImportsCount ); stream.Write( ImportsOffset ); if( stream.Version < 415 ) return; // DependsOffset stream.Write( DependsOffset ); }
public override void Write(IUnrealStream stream, UnrealPackage package) { FixNameIndexAtPosition(package, "None", 4); stream.Write(minimalByteArray, 0, serialSize); }