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> >(); } }
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> >(); }
internal override void UnserializeChunk(UndertaleReader reader) { Functions = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleFunction> >(); CodeLocals = reader.ReadUndertaleObject <UndertaleSimpleList <UndertaleCodeLocals> >(); }