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);
        }
Esempio n. 2
0
        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);
        }