Пример #1
0
        internal override void UnserializeChunk(UndertaleReader reader)
        {
            if (Length == 0 && reader.undertaleData.GeneralInfo?.BytecodeVersion > 14) // YYC, 14 < bytecode <= 16, chunk is empty but exists
            {
                Functions  = null;
                CodeLocals = null;
                return;
            }

            if (reader.undertaleData.UnsupportedBytecodeVersion)
            {
                return;
            }
            if (reader.Bytecode14OrLower)
            {
                uint startPosition = reader.Position;
                Functions.Clear();
                while (reader.Position + 12 <= startPosition + Length)
                {
                    Functions.Add(reader.ReadUndertaleObject <UndertaleFunction>());
                }
            }
            else
            {
                Functions  = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleFunction> >();
                CodeLocals = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleCodeLocals> >();
            }
        }
Пример #2
0
 internal override void UnserializeChunk(UndertaleReader reader)
 {
     if (Length == 0)
     {
         throw new Exception("This game uses YYC (YoYo Compiler). This is currently not supported.");
     }
     if (reader.undertaleData.UnsupportedBytecodeVersion)
     {
         return;
     }
     Functions  = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleFunction> >();
     CodeLocals = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleCodeLocals> >();
 }
        internal override void UnserializeChunk(UndertaleReader reader)
        {
            if (Length == 0) // YYC, bytecode <= 16, chunk is empty but exists
            {
                Functions  = null;
                CodeLocals = null;
                return;
            }

            if (reader.undertaleData.UnsupportedBytecodeVersion)
            {
                return;
            }
            Functions  = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleFunction> >();
            CodeLocals = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleCodeLocals> >();
        }
Пример #4
0
 internal override void UnserializeChunk(UndertaleReader reader)
 {
     Functions  = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleFunction> >();
     CodeLocals = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleCodeLocals> >();
 }