public void Unserialize(UndertaleReader reader) { EmptyString = reader.ReadUndertaleString(); Name = reader.ReadUndertaleString(); ClassName = reader.ReadUndertaleString(); Files = reader.ReadUndertaleObject <UndertalePointerList <ExtensionFile> >(); }
public void Unserialize(UndertaleReader reader) { InternalCount = reader.ReadInt32(); if (InternalCount > 0) { Event = reader.ReadUndertaleString(); } }
public void Unserialize(UndertaleReader reader) { Filename = reader.ReadUndertaleString(); CleanupScript = reader.ReadUndertaleString(); InitScript = reader.ReadUndertaleString(); Kind = (ExtensionKind)reader.ReadUInt32(); Functions = reader.ReadUndertaleObject <UndertalePointerList <ExtensionFunction> >(); }
public void Unserialize(UndertaleReader reader) { Name = reader.ReadUndertaleString(); ID = reader.ReadUInt32(); Kind = reader.ReadUInt32(); RetType = (ExtensionVarType)reader.ReadUInt32(); ExtName = reader.ReadUndertaleString(); Arguments = reader.ReadUndertaleObject <UndertaleSimpleList <ExtensionFunctionArg> >(); }
public override string ToString() { if (Name != null) { return(Name.Content + " (" + GetType().Name + ")"); } else { Name = new UndertaleString("Texture Unknown Index"); } return(Name.Content + " (" + GetType().Name + ")"); }
public override string ToString() { try { return(Name.Content + " (" + GetType().Name + ")"); } catch { Name = new UndertaleString("EmbeddedSound Unknown Index"); } return(Name.Content + " (" + GetType().Name + ")"); }
public void Unserialize(UndertaleReader reader) { Name = reader.ReadUndertaleString(); // Read the pointers TexturePages = reader.ReadUndertaleObjectPointer <UndertaleSimpleResourcesList <UndertaleEmbeddedTexture, UndertaleChunkTXTR> >(); Sprites = reader.ReadUndertaleObjectPointer <UndertaleSimpleResourcesList <UndertaleSprite, UndertaleChunkSPRT> >(); SpineSprites = reader.ReadUndertaleObjectPointer <UndertaleSimpleResourcesList <UndertaleSprite, UndertaleChunkSPRT> >(); Fonts = reader.ReadUndertaleObjectPointer <UndertaleSimpleResourcesList <UndertaleFont, UndertaleChunkFONT> >(); Tilesets = reader.ReadUndertaleObjectPointer <UndertaleSimpleResourcesList <UndertaleBackground, UndertaleChunkBGND> >(); // Read the objects, throwing an error if the pointers are invalid reader.ReadUndertaleObject(TexturePages); reader.ReadUndertaleObject(Sprites); reader.ReadUndertaleObject(SpineSprites); reader.ReadUndertaleObject(Fonts); reader.ReadUndertaleObject(Tilesets); }
public void Unserialize(UndertaleReader reader) { Name = reader.ReadUndertaleString(); // Read the pointers TexturePages = reader.ReadUndertaleObjectPointer <UndertaleSimpleResourcesList <UndertaleEmbeddedTexture, UndertaleChunkTXTR> >(); Sprites = reader.ReadUndertaleObjectPointer <UndertaleSimpleResourcesList <UndertaleSprite, UndertaleChunkSPRT> >(); SpineSprites = reader.ReadUndertaleObjectPointer <UndertaleSimpleResourcesList <UndertaleSprite, UndertaleChunkSPRT> >(); Fonts = reader.ReadUndertaleObjectPointer <UndertaleSimpleResourcesList <UndertaleFont, UndertaleChunkFONT> >(); Tilesets = reader.ReadUndertaleObjectPointer <UndertaleSimpleResourcesList <UndertaleBackground, UndertaleChunkBGND> >(); // Read the objects, throwing an error if the pointers are invalid if (reader.ReadUndertaleObject <UndertaleSimpleResourcesList <UndertaleEmbeddedTexture, UndertaleChunkTXTR> >() != TexturePages || reader.ReadUndertaleObject <UndertaleSimpleResourcesList <UndertaleSprite, UndertaleChunkSPRT> >() != Sprites || reader.ReadUndertaleObject <UndertaleSimpleResourcesList <UndertaleSprite, UndertaleChunkSPRT> >() != SpineSprites || reader.ReadUndertaleObject <UndertaleSimpleResourcesList <UndertaleFont, UndertaleChunkFONT> >() != Fonts || reader.ReadUndertaleObject <UndertaleSimpleResourcesList <UndertaleBackground, UndertaleChunkBGND> >() != Tilesets) { throw new UndertaleSerializationException("Invalid pointer to SimpleResourcesList"); } }
public void Unserialize(UndertaleReader reader) { Name = reader.ReadUndertaleString(); Value = reader.ReadUndertaleString(); }
public void Unserialize(UndertaleReader reader) { // This reads the string content immediately, if necessary (which it should be) UndertaleString ForceReadString() { UndertaleString res = reader.ReadUndertaleString(); uint returnTo = reader.Position; reader.Position = reader.GetOffsetMapRev()[res]; reader.ReadUndertaleObject <UndertaleString>(); reader.Position = returnTo; return(res); } ModelName = ForceReadString(); Name = reader.ReadUndertaleString(); BuiltinName = reader.ReadInt32(); Traits = reader.ReadInt32(); IsCreationTrack = reader.ReadBoolean(); int tagCount = reader.ReadInt32(); int ownedResCount = reader.ReadInt32(); int trackCount = reader.ReadInt32(); Tags = new List <int>(); for (int i = 0; i < tagCount; i++) { Tags.Add(reader.ReadInt32()); } OwnedResources = new List <UndertaleResource>(); for (int i = 0; i < ownedResCount; i++) { GMAnimCurveString = ForceReadString(); if (GMAnimCurveString.Content != "GMAnimCurve") { throw new IOException("Expected GMAnimCurve"); } UndertaleAnimationCurve res = new UndertaleAnimationCurve(); res.Unserialize(reader); OwnedResources.Add(res); } Tracks = new List <Track>(); for (int i = 0; i < trackCount; i++) { Tracks.Add(reader.ReadUndertaleObject <Track>()); } // Now, handle specific keyframe/etc. data switch (ModelName.Content) { case "GMAudioTrack": Keyframes = reader.ReadUndertaleObject <AudioKeyframes>(); break; case "GMInstanceTrack": Keyframes = reader.ReadUndertaleObject <InstanceKeyframes>(); break; case "GMGraphicTrack": Keyframes = reader.ReadUndertaleObject <GraphicKeyframes>(); break; case "GMSequenceTrack": Keyframes = reader.ReadUndertaleObject <SequenceKeyframes>(); break; case "GMSpriteFramesTrack": Keyframes = reader.ReadUndertaleObject <SpriteFramesKeyframes>(); break; case "GMAssetTrack": // TODO? throw new NotImplementedException("GMAssetTrack not implemented, report this"); case "GMBoolTrack": Keyframes = reader.ReadUndertaleObject <BoolKeyframes>(); break; case "GMStringTrack": Keyframes = reader.ReadUndertaleObject <StringKeyframes>(); break; // TODO? //case "GMIntTrack": // Keyframes = reader.ReadUndertaleObject<IntKeyframes>(); // break; case "GMRealTrack": Keyframes = reader.ReadUndertaleObject <RealKeyframes>(); break; } }
public void Unserialize(UndertaleReader reader) { Name = reader.ReadUndertaleString(); TextureEntry = reader.ReadUndertaleObjectPointer <UndertaleTexturePageItem>(); }
public void Unserialize(UndertaleReader reader) { Index = reader.ReadUInt32(); Name = reader.ReadUndertaleString(); }