public ScriptChunk(ref ShockwaveReader input, ChunkHeader header) : base(header) { input.IsBigEndian = true; Remnants.Enqueue(input.ReadInt32()); Remnants.Enqueue(input.ReadInt32()); input.ReadInt32(); input.ReadInt32(); input.ReadInt16(); ScriptNumber = input.ReadInt16(); Remnants.Enqueue(input.ReadInt16()); Remnants.Enqueue(input.ReadBEInt32()); // -1 Remnants.Enqueue(input.ReadBEInt32()); // 0 Remnants.Enqueue(input.ReadBEInt32()); Remnants.Enqueue(input.ReadBEInt32()); // 0 BehaviourScript = input.ReadInt32(); //enum, Behav=0, Global=2 Remnants.Enqueue(input.ReadInt32()); Remnants.Enqueue(input.ReadInt16()); //scriptId Remnants.Enqueue(input.ReadBEInt16()); Pool = new LingoValuePool(this, ref input); }
public LingoScriptChunk(ref ShockwaveReader input, ChunkHeader header) : base(header) { input.IsBigEndian = true; input.ReadInt32(); input.ReadInt32(); input.ReadInt32(); input.ReadInt32(); input.ReadInt16(); ScriptNumber = input.ReadInt16(); Remnants.Enqueue(input.ReadInt16()); input.ReadBEInt32(); input.ReadBEInt32(); Remnants.Enqueue(input.ReadBEInt32()); input.ReadBEInt32(); Type = input.ReadInt32(); //TODO: enum, Behav=0, Global=2 Remnants.Enqueue(input.ReadInt32()); CastMemberRef = input.ReadInt16(); //scriptId Remnants.Enqueue(input.ReadBEInt16()); //factoryNameId? Pool = new LingoValuePool(this, ref input); }
public InitialMapChunk(ref ShockwaveReader input, ChunkHeader header) : base(header) { MemoryMapOffsets = new int[input.ReadBEInt32()]; for (int i = 0; i < MemoryMapOffsets.Length; i++) { MemoryMapOffsets[i] = input.ReadBEInt32(); } Version = (DirectorVersion)input.ReadBEInt32(); }
public ChunkEntry(ref ShockwaveReader input, int id) : this(new ChunkHeader(ref input)) { Id = id; Offset = input.ReadBEInt32(); Flags = (ChunkEntryFlags)input.ReadBEInt16(); Unknown = input.ReadBEInt16(); Link = input.ReadBEInt32(); }
public InitialMapChunk(ref ShockwaveReader input, ChunkHeader header) : base(header) { MemoryMapOffsets = new int[input.ReadBEInt32()]; for (int i = 0; i < MemoryMapOffsets.Length; i++) { MemoryMapOffsets[i] = input.ReadBEInt32(); } Version = (DirectorVersion)input.ReadBEInt32(); input.ReadBEInt16(); input.ReadBEInt16(); //TODO: verify, note: what the hell is going on, how I didn't notice these before input.ReadBEInt32(); Remnants.Enqueue(input.ReadBEInt32()); }
public AssociationTableChunk(ref ShockwaveReader input, ChunkHeader header) : base(header) { input.ReadBEInt16(); input.ReadBEInt16(); CastEntries = new List <CastEntry>(input.ReadBEInt32()); AssignedCount = input.ReadBEInt32(); for (int i = 0; i < CastEntries.Capacity; i++) { CastEntries.Add(new CastEntry(ref input)); } //CastEntries.RemoveRange(AssignedCount, TotalCount - AssignedCount); }
public MemoryMapChunk(ref ShockwaveReader input, ChunkHeader header) : base(header) { input.ReadBEInt16(); input.ReadBEInt16(); int entryCountMax = input.ReadBEInt32(); int entryCount = input.ReadBEInt32(); LastJunkId = input.ReadBEInt32(); Remnants.Enqueue(input.ReadBEInt32()); LastFreeId = input.ReadBEInt32(); Entries = new ChunkEntry[entryCount]; for (int i = 0; i < Entries.Length; i++) { Entries[i] = new ChunkEntry(ref input, i); } }
public CastEntry(ref ShockwaveReader input) { Id = input.ReadBEInt32(); OwnerId = input.ReadBEInt32(); Kind = (ChunkKind)input.ReadBEInt32(); }
public FileMetadataChunk(ref ShockwaveReader input, ChunkHeader header) : base(header) { Codec = (CodecKind)(IsBigEndian ? input.ReadInt32() : input.ReadBEInt32()); }
public ChunkHeader(ref ShockwaveReader input) : this((ChunkKind)input.ReadBEInt32()) { Length = IsVariableLength ? input.ReadVarInt() : input.ReadBEInt32(); }