/// <inheritdoc/>
        public void Dispose()
        {
            GC.SuppressFinalize(this);

            Name   = null;
            Points = null;
        }
 public void Unserialize(UndertaleReader reader)
 {
     Name       = reader.ReadUndertaleString();
     Function   = (FunctionType)reader.ReadUInt32();
     Iterations = reader.ReadUInt32();
     Points     = reader.ReadUndertaleObject <UndertaleSimpleList <Point> >();
 }
예제 #3
0
    /// <inheritdoc/>
    public void Dispose()
    {
        GC.SuppressFinalize(this);

        HLSL11_VertexData?.Dispose();
        HLSL11_PixelData?.Dispose();
        PSSL_VertexData?.Dispose();
        PSSL_PixelData?.Dispose();
        Cg_PSVita_VertexData?.Dispose();
        Cg_PSVita_PixelData?.Dispose();
        Cg_PS3_VertexData?.Dispose();
        Cg_PS3_PixelData?.Dispose();
        foreach (var attr in VertexShaderAttributes)
        {
            attr?.Dispose();
        }

        Name                   = null;
        GLSL_ES_Vertex         = null;
        GLSL_ES_Fragment       = null;
        GLSL_Vertex            = null;
        GLSL_Fragment          = null;
        HLSL9_Vertex           = null;
        HLSL9_Fragment         = null;
        HLSL11_VertexData      = null;
        HLSL11_PixelData       = null;
        PSSL_VertexData        = null;
        PSSL_PixelData         = null;
        Cg_PSVita_VertexData   = null;
        Cg_PSVita_PixelData    = null;
        Cg_PS3_VertexData      = null;
        Cg_PS3_PixelData       = null;
        VertexShaderAttributes = new();
    }
예제 #4
0
 public void Unserialize(UndertaleReader reader)
 {
     Name      = reader.ReadUndertaleString();
     IsSmooth  = reader.ReadBoolean();
     IsClosed  = reader.ReadBoolean();
     Precision = reader.ReadUInt32();
     Points    = reader.ReadUndertaleObject <UndertaleSimpleList <PathPoint> >();
 }
예제 #5
0
    /// <inheritdoc/>
    public void Dispose()
    {
        GC.SuppressFinalize(this);

        Arguments = new();
        Name      = null;
        ExtName   = null;
    }
 public void Unserialize(UndertaleReader reader)
 {
     Name      = reader.ReadUndertaleString();
     ID        = reader.ReadUInt32();
     Kind      = reader.ReadUInt32();
     RetType   = (UndertaleExtensionVarType)reader.ReadUInt32();
     ExtName   = reader.ReadUndertaleString();
     Arguments = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleExtensionFunctionArg> >();
 }
 /// <summary>
 /// Deserializes from a specified <see cref="UndertaleReader"/> to the current data file.
 /// </summary>
 /// <param name="reader">Where to deserialize from.</param>
 /// <param name="includeName">Whether to include <see cref="Name"/> in the deserialization.</param>
 public void Unserialize(UndertaleReader reader, bool includeName)
 {
     if (includeName)
     {
         Name = reader.ReadUndertaleString();
     }
     GraphType = (GraphTypeEnum)reader.ReadUInt32();
     Channels  = reader.ReadUndertaleObject <UndertaleSimpleList <Channel> >();
 }
예제 #8
0
            public override void Unserialize(UndertaleReader reader)
            {
                base.Unserialize(reader);

                Interpolation = reader.ReadInt32();

                List = new UndertaleSimpleList <Keyframe <RealData> >();
                List.Unserialize(reader);
            }
    /// <inheritdoc/>
    public void Dispose()
    {
        GC.SuppressFinalize(this);

        if (Channels is not null)
        {
            foreach (Channel channel in Channels)
            {
                channel?.Dispose();
            }
        }
        Name     = null;
        Channels = null;
    }
예제 #10
0
 public void Unserialize(UndertaleReader reader)
 {
     Unknown1    = reader.ReadUInt32();
     Unknown2    = reader.ReadUInt32();
     Info        = (OptionsFlags)reader.ReadUInt64();
     Scale       = reader.ReadInt32();
     WindowColor = reader.ReadUInt32();
     ColorDepth  = reader.ReadUInt32();
     Resolution  = reader.ReadUInt32();
     Frequency   = reader.ReadUInt32();
     VertexSync  = reader.ReadUInt32();
     Priority    = reader.ReadUInt32();
     BackImage   = reader.ReadUndertaleObject <UndertaleSprite.TextureEntry>();
     FrontImage  = reader.ReadUndertaleObject <UndertaleSprite.TextureEntry>();
     LoadImage   = reader.ReadUndertaleObject <UndertaleSprite.TextureEntry>();
     LoadAlpha   = reader.ReadUInt32();
     Constants   = reader.ReadUndertaleObject <UndertaleSimpleList <Constant> >();
 }
 public void Unserialize(UndertaleReader reader)
 {
     Unknown1  = reader.ReadUInt32();
     Unknown2  = reader.ReadUInt32();
     Info      = reader.ReadUInt32();
     Unknown3  = reader.ReadUInt32();
     Unknown4  = reader.ReadInt32();
     Unknown5  = reader.ReadUInt32();
     Unknown6  = reader.ReadUInt32();
     Unknown7  = reader.ReadUInt32();
     Unknown8  = reader.ReadUInt32();
     Unknown9  = reader.ReadUInt32();
     Unknown10 = reader.ReadUInt32();
     Unknown11 = reader.ReadUInt32();
     Unknown12 = reader.ReadUInt32();
     Unknown13 = reader.ReadUInt32();
     Unknown14 = reader.ReadUInt32();
     Constants = reader.ReadUndertaleObject <UndertaleSimpleList <Constant> >();
 }
예제 #12
0
 public override void Unserialize(UndertaleReader reader)
 {
     base.Unserialize(reader);
     List = new UndertaleSimpleList <Keyframe <StringData> >();
     List.Unserialize(reader);
 }
예제 #13
0
        public void Unserialize(UndertaleReader reader)
        {
            Name = reader.ReadUndertaleString();
            Type = (ShaderType)(reader.ReadUInt32() & 0x7FFFFFFFu); // in big endian?

            GLSL_ES_Vertex = reader.ReadUndertaleString();
            GLSL_ES_Fragment = reader.ReadUndertaleString();
            GLSL_Vertex = reader.ReadUndertaleString();
            GLSL_Fragment = reader.ReadUndertaleString();
            HLSL9_Vertex = reader.ReadUndertaleString();
            HLSL9_Fragment = reader.ReadUndertaleString();

            HLSL11_VertexData.Unserialize(reader, false);
            HLSL11_PixelData.Unserialize(reader, false);

            VertexShaderAttributes = reader.ReadUndertaleObject<UndertaleSimpleList<VertexShaderAttribute>>();

            Version = reader.ReadInt32();

            PSSL_VertexData.Unserialize(reader);
            PSSL_PixelData.Unserialize(reader);
            Cg_PSVita_VertexData.Unserialize(reader);
            Cg_PSVita_PixelData.Unserialize(reader);
            if (Version >= 2)
            {
                Cg_PS3_VertexData.Unserialize(reader);
                Cg_PS3_PixelData.Unserialize(reader);
            }

            if (!HLSL11_VertexData.IsNull)
            {
                ReadPadding(reader, 7);

                // Calculate length of data
                uint next;
                if (!HLSL11_PixelData.IsNull)
                    next = HLSL11_PixelData._Position;
                else
                    next = _EntryEnd;
                int length = (int)(next - reader.Position);
                HLSL11_VertexData.ReadData(reader, length);
            }
            if (!HLSL11_PixelData.IsNull)
            {
                ReadPadding(reader, 7);

                // Calculate length of data
                uint next;
                if (!PSSL_VertexData.IsNull)
                    next = PSSL_VertexData._Position;
                else
                    next = _EntryEnd;
                int length = (int)(next - reader.Position);
                HLSL11_PixelData.ReadData(reader, length);
            }

            if (!PSSL_VertexData.IsNull)
            {
                ReadPadding(reader, 7);

                // Calculate length of data
                uint next;
                if (!PSSL_PixelData.IsNull)
                    next = PSSL_PixelData._Position;
                else
                    next = _EntryEnd;
                int length = (int)(next - reader.Position);
                PSSL_VertexData.ReadData(reader, length);
            }
            if (!PSSL_PixelData.IsNull)
            {
                ReadPadding(reader, 7);

                // Calculate length of data
                uint next;
                if (!Cg_PSVita_VertexData.IsNull)
                    next = Cg_PSVita_VertexData._Position;
                else
                    next = _EntryEnd;
                int length = (int)(next - reader.Position);
                PSSL_PixelData.ReadData(reader, length);
            }

            if (!Cg_PSVita_VertexData.IsNull)
            {
                ReadPadding(reader, 7);

                // Calculate length of data
                uint next;
                if (!Cg_PSVita_PixelData.IsNull)
                    next = Cg_PSVita_PixelData._Position;
                else
                    next = _EntryEnd;
                int length = (int)(next - reader.Position);
                Cg_PSVita_VertexData.ReadData(reader, length);
            }
            if (!Cg_PSVita_PixelData.IsNull)
            {
                ReadPadding(reader, 7);

                // Calculate length of data
                uint next;
                if (!Cg_PS3_VertexData.IsNull)
                    next = Cg_PS3_VertexData._Position;
                else
                    next = _EntryEnd;
                int length = (int)(next - reader.Position);
                Cg_PSVita_PixelData.ReadData(reader, length);
            }

            if (Version >= 2)
            {
                if (!Cg_PS3_VertexData.IsNull)
                {
                    ReadPadding(reader, 15);

                    // Calculate length of data
                    uint next;
                    if (!Cg_PS3_PixelData.IsNull)
                        next = Cg_PS3_PixelData._Position;
                    else
                        next = _EntryEnd;
                    int length = (int)(next - reader.Position);
                    Cg_PS3_VertexData.ReadData(reader, length);
                }
                if (!Cg_PS3_PixelData.IsNull)
                {
                    ReadPadding(reader, 15);

                    // Calculate length of data
                    uint next = _EntryEnd; // final possible data, nothing else to check for
                    int length = (int)(next - reader.Position);
                    Cg_PS3_PixelData.ReadData(reader, length);
                }
            }
        }
 public void Unserialize(UndertaleReader reader)
 {
     if (reader.undertaleData.GeneralInfo.BytecodeVersion >= 14)
     {
         Unknown1    = reader.ReadUInt32();
         Unknown2    = reader.ReadUInt32();
         Info        = (OptionsFlags)reader.ReadUInt64();
         Scale       = reader.ReadInt32();
         WindowColor = reader.ReadUInt32();
         ColorDepth  = reader.ReadUInt32();
         Resolution  = reader.ReadUInt32();
         Frequency   = reader.ReadUInt32();
         VertexSync  = reader.ReadUInt32();
         Priority    = reader.ReadUInt32();
         BackImage   = reader.ReadUndertaleObject <UndertaleSprite.TextureEntry>();
         FrontImage  = reader.ReadUndertaleObject <UndertaleSprite.TextureEntry>();
         LoadImage   = reader.ReadUndertaleObject <UndertaleSprite.TextureEntry>();
         LoadAlpha   = reader.ReadUInt32();
         Constants   = reader.ReadUndertaleObject <UndertaleSimpleList <Constant> >();
     }
     else
     {
         Info = 0;
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.FullScreen;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.InterpolatePixels;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.UseNewAudio;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.NoBorder;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.ShowCursor;
         }
         Scale = reader.ReadInt32();
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.Sizeable;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.StayOnTop;
         }
         WindowColor = reader.ReadUInt32();
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.ChangeResolution;
         }
         ColorDepth = reader.ReadUInt32();
         Resolution = reader.ReadUInt32();
         Frequency  = reader.ReadUInt32();
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.NoButtons;
         }
         VertexSync = reader.ReadUInt32();
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.ScreenKey;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.HelpKey;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.QuitKey;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.SaveKey;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.ScreenShotKey;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.CloseSec;
         }
         Priority = reader.ReadUInt32();
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.Freeze;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.ShowProgress;
         }
         BackImage  = reader.ReadUndertaleObject <UndertaleSprite.TextureEntry>();
         FrontImage = reader.ReadUndertaleObject <UndertaleSprite.TextureEntry>();
         LoadImage  = reader.ReadUndertaleObject <UndertaleSprite.TextureEntry>();
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.LoadTransparent;
         }
         LoadAlpha = reader.ReadUInt32();
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.ScaleProgress;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.DisplayErrors;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.WriteErrors;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.AbortErrors;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.VariableErrors;
         }
         if (reader.ReadBoolean())
         {
             Info |= OptionsFlags.CreationEventOrder;
         }
         Constants = reader.ReadUndertaleObject <UndertaleSimpleList <Constant> >();
     }
 }