static List <PictureSetPaletteEntry> ReadEntries(Stream stream, PictureExtendedOpcode opcode) { List <PictureSetPaletteEntry> list = new List <PictureSetPaletteEntry>(); switch (opcode) { case PictureExtendedOpcode.SetPaletteEntry: while (PeekContinue(stream)) { list.Add(new PictureSetPaletteEntry(ReadByte(stream), ReadByte(stream))); } break; case PictureExtendedOpcode.SetPalette: var paletteIndex = ReadByte(stream) * PictureRenderer.EgaDitherPaletteSize; for (var colorIndex = 0; colorIndex < PictureRenderer.EgaDitherPaletteSize; colorIndex++) { list.Add(new PictureSetPaletteEntry((byte)(paletteIndex + colorIndex), ReadByte(stream))); } break; } return(list); }
/// <summary>Read the instruction.</summary> /// <param name="stream"></param> /// <param name="opcode"></param> public Mono123(Stream stream, PictureExtendedOpcode opcode) : base(opcode) { Unknown = ReadByte(stream); }
/// <summary>Initialise the instruction.</summary> /// <param name="opcode"></param> /// <param name="entries"></param> public SetPalette(PictureExtendedOpcode opcode, IEnumerable <PictureSetPaletteEntry> entries) : base(opcode) { Entries = new List <PictureSetPaletteEntry>(entries); }
/// <summary>Read the instruction.</summary> /// <param name="stream"></param> /// <param name="opcode"></param> public SetPalette(Stream stream, PictureExtendedOpcode opcode) : this(opcode, ReadEntries(stream, opcode)) { }
/// <summary>Initialise the instruction.</summary> /// <param name="opcode"></param> /// <param name="entries"></param> public SetPalette(PictureExtendedOpcode opcode, params PictureSetPaletteEntry[] entries) : this(opcode, (IEnumerable <PictureSetPaletteEntry>)entries) { }
static List<PictureSetPaletteEntry> ReadEntries(Stream stream, PictureExtendedOpcode opcode) { List<PictureSetPaletteEntry> list = new List<PictureSetPaletteEntry>(); switch (opcode) { case PictureExtendedOpcode.SetPaletteEntry: while (PeekContinue(stream)) list.Add(new PictureSetPaletteEntry(ReadByte(stream), ReadByte(stream))); break; case PictureExtendedOpcode.SetPalette: var paletteIndex = ReadByte(stream) * PictureRenderer.EgaDitherPaletteSize; for (var colorIndex = 0; colorIndex < PictureRenderer.EgaDitherPaletteSize; colorIndex++) list.Add(new PictureSetPaletteEntry((byte)(paletteIndex + colorIndex), ReadByte(stream))); break; } return list; }
/// <summary>Initialise the instruction.</summary> /// <param name="extendedOpcode"></param> public PictureInstruction(PictureExtendedOpcode extendedOpcode) { Opcode = PictureOpcode.ExtendedOpcode; ExtendedOpcode = extendedOpcode; }
/// <summary>Initialise the instruction.</summary> /// <param name="opcode"></param> /// <param name="entries"></param> public SetPalette(PictureExtendedOpcode opcode, IEnumerable<PictureSetPaletteEntry> entries) : base(opcode) { Entries = new List<PictureSetPaletteEntry>(entries); }
/// <summary>Initialise the instruction.</summary> /// <param name="opcode"></param> /// <param name="entries"></param> public SetPalette(PictureExtendedOpcode opcode, params PictureSetPaletteEntry[] entries) : this(opcode, (IEnumerable<PictureSetPaletteEntry>)entries) { }