Ejemplo n.º 1
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            const short HEADER_LENGTH = 92;

            output.Write(0);
            output.Write(0);

            output.Write(HEADER_LENGTH + Pool.GetBodySize());
            output.Write(HEADER_LENGTH + Pool.GetBodySize());

            output.Write(HEADER_LENGTH);
            output.Write(ScriptNumber);

            output.Write((short)Remnants.Dequeue());
            output.WriteBE(-1);
            output.WriteBE(0);
            output.WriteBE((int)Remnants.Dequeue());
            output.WriteBE(0);

            output.Write(Type);

            output.Write((int)Remnants.Dequeue());
            output.Write(CastMemberRef);

            output.WriteBE((short)Remnants.Dequeue());

            Pool.WriteTo(output);
        }
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            const short ENTRY_OFFSET = 48;

            output.Write(0);
            output.Write(0);
            output.Write(Sections.Count);
            output.Write(Sections.Count);

            output.Write(ENTRY_OFFSET);
            output.Write(SECTION_SIZE);

            output.Write(0);
            output.Write(Type);
            output.Write((int)Remnants.Dequeue());

            output.Write(NameChunkId);

            output.Write(ValidCount);
            output.Write(Flags);
            output.Write(FreeChunkId);

            foreach (LingoContextSection section in Sections)
            {
                section.WriteTo(output);
            }
        }
Ejemplo n.º 3
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            const short HEADER_LENGTH = 92;

            output.WriteBigEndian((int)Remnants.Dequeue());
            output.WriteBigEndian((int)Remnants.Dequeue());

            output.WriteBigEndian(HEADER_LENGTH + Pool.GetBodySize());
            output.WriteBigEndian(HEADER_LENGTH + Pool.GetBodySize());

            output.WriteBigEndian(HEADER_LENGTH);
            output.WriteBigEndian(ScriptNumber);

            output.WriteBigEndian((short)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());

            output.WriteBigEndian(BehaviourScript);

            output.WriteBigEndian((int)Remnants.Dequeue());
            output.WriteBigEndian((short)Remnants.Dequeue());

            output.Write((short)Remnants.Dequeue());

            Pool.WriteTo(output);
        }
Ejemplo n.º 4
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            const short ENTRY_OFFSET = 48;

            output.WriteBigEndian((int)Remnants.Dequeue());
            output.WriteBigEndian((int)Remnants.Dequeue());
            output.WriteBigEndian(Sections?.Count ?? 0); //TODO:
            output.WriteBigEndian(Sections?.Count ?? 0); //TODO:

            output.WriteBigEndian(ENTRY_OFFSET);
            output.WriteBigEndian(SECTION_SIZE);

            output.WriteBigEndian((int)Remnants.Dequeue());
            output.WriteBigEndian(Type);
            output.WriteBigEndian((int)Remnants.Dequeue());

            output.WriteBigEndian(NameListChunkId);

            output.WriteBigEndian((short)Remnants.Dequeue());
            output.Write((byte[])Remnants.Dequeue());
            output.WriteBigEndian((short)Remnants.Dequeue());

            foreach (ScriptContextSection section in Sections)
            {
                section.WriteTo(output);
            }
        }
Ejemplo n.º 5
0
        public override void WriteTo(HPacket packet)
        {
            packet.Write((int)Remnants.Dequeue());

            string unknown1 = (string)Remnants.Dequeue();

            packet.Write(unknown1);
        }
Ejemplo n.º 6
0
        public override void WriteTo(HPacket packet)
        {
            packet.Write(Index);
            packet.Write(Tile.X);
            packet.Write(Tile.Y);
            packet.Write(Tile.Z.ToString(CultureInfo.InvariantCulture));

            packet.Write((int)HeadFacing);
            packet.Write((int)BodyFacing);

            packet.Write((string)Remnants.Dequeue());
        }
Ejemplo n.º 7
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());

            foreach (Color color in Colors)
            {
                output.Write(color.R);
                output.Write(color.G);
                output.Write(color.B);
            }
        }
Ejemplo n.º 8
0
 public override void WriteBodyTo(ShockwaveWriter output)
 {
     output.WriteBE(MemoryMapOffsets.Length);
     for (int i = 0; i < MemoryMapOffsets.Length; i++)
     {
         output.WriteBE(MemoryMapOffsets[i]);
     }
     output.WriteBE((int)Version);
     output.WriteBE((short)0);
     output.WriteBE((short)0);
     output.WriteBE(0);
     output.WriteBE((int)Remnants.Dequeue());
 }
Ejemplo n.º 9
0
 public override void WriteBodyTo(ShockwaveWriter output)
 {
     output.Write((short)Remnants.Dequeue());
     output.Write(ENTRY_SIZE);
     output.Write(Entries.Length); //TODO: I GUESS
     output.Write(Entries.Length);
     output.Write(LastJunkId);
     output.Write((int)Remnants.Dequeue());
     output.Write(LastFreeId);
     for (int i = 0; i < Entries.Length; i++)
     {
         output.Write(Entries[i]);
     }
 }
Ejemplo n.º 10
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            output.Write((byte)0);
            output.Write7BitEncodedInt((int)Remnants.Dequeue());
            //TODO: Wrap dat compressor
            output.Write7BitEncodedInt((int)Remnants.Dequeue());
            output.Write7BitEncodedInt((int)Remnants.Dequeue());

            output.Write7BitEncodedInt(Entries.Length);
            foreach (var entry in Entries)
            {
                entry.WriteTo(output);
            }
        }
Ejemplo n.º 11
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            output.WriteBigEndian((int)Remnants.Dequeue());
            output.WriteBigEndian((int)Remnants.Dequeue());

            output.WriteBigEndian(Entries.Count);

            output.WriteBigEndian((int)Remnants.Dequeue());
            output.WriteBigEndian((int)Remnants.Dequeue());

            for (int i = 0; i < Entries.Count; i++)
            {
                output.WriteBigEndian(Entries[i]);
            }
        }
Ejemplo n.º 12
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            output.Write((int)Type);
            output.Write(Common.GetBodySize()); //TODO:
            output.Write(Properties.GetBodySize());

            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());

            Common.WriteTo(output); //TODO:
            Properties.WriteTo(output);
        }
Ejemplo n.º 13
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            output.Write((int)Remnants.Dequeue());

            output.Write(Height);
            output.Write(Width);
            output.Write((short)Display);
            output.Write(GridColor);

            output.Write((short)Guides.Length);
            output.Write(GuideColor);
            foreach (Guide guide in Guides)
            {
                guide.WriteTo(output);
            }
        }
Ejemplo n.º 14
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            output.WriteBE(ENTRIES_OFFSET);
            output.WriteBE(ENTRY_SIZE);

            output.WriteBE(Entries.Length); //TODO: I GUESS
            output.WriteBE(Entries.Length);

            output.WriteBE(LastJunkId);
            output.WriteBE((int)Remnants.Dequeue());
            output.WriteBE(LastFreeId);
            foreach (var entry in Entries)
            {
                entry.WriteTo(output);
            }
        }
Ejemplo n.º 15
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            const short NAME_OFFSET = 20;
            int         namesLength = Names?.Sum(n => sizeof(byte) + n.Length) ?? 0;

            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write(namesLength);
            output.Write(namesLength);
            output.Write(NAME_OFFSET);
            output.Write((short)Names.Count);

            foreach (string name in Names)
            {
                output.Write(name);
            }
        }
Ejemplo n.º 16
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            output.WriteBigEndian((int)Remnants.Dequeue());
            output.WriteBigEndian(Entries.Count);
            output.WriteBigEndian((int)Remnants.Dequeue());

            output.WriteBigEndian(Unknowns.Length);
            for (int i = 0; i < Remnants.Count; i++)
            {
                output.WriteBigEndian(Unknowns[i]);
            }

            output.WriteBigEndian(ENTRY_SIZE);
            for (int i = 0; i < Entries.Count; i++)
            {
                Entries[i].WriteTo(output);
            }
        }
Ejemplo n.º 17
0
 public override void WriteTo(HPacket packet)
 {
     packet.Write(Id);
     packet.Write(TypeId);
     packet.Write(Tile.X, Tile.X);
     packet.Write((int)Facing);
     packet.Write(Tile.Z.ToString(CultureInfo.InvariantCulture));
     packet.Write((string)Remnants.Dequeue());
     packet.Write((int)Remnants.Dequeue());
     packet.Write(Category);
     packet.Write(Format.GetBytes(Stuff));
     packet.Write(SecondsToExpiration);
     packet.Write(UsagePolicy);
     packet.Write(OwnerId);
     if (TypeId < 0)
     {
         packet.Write((string)Remnants.Dequeue());
     }
 }
Ejemplo n.º 18
0
        public override void WriteTo(HPacket packet)
        {
            packet.Write(Id);
            packet.Write(Username);
            packet.Write(Gender == HGender.Male ? 1 : 0); // TODO GEEKER: Check if 0 is for Female, or is it 2? idk

            packet.Write(IsOnline);
            packet.Write(CanFollow);
            packet.Write(Figure);
            packet.Write(CategoryId);
            packet.Write(Motto);
            packet.Write(RealName);
            packet.Write((string)Remnants.Dequeue());

            packet.Write(IsPersisted);
            packet.Write((bool)Remnants.Dequeue());
            packet.Write(IsPocketHabboUser);
            packet.Write((ushort)RelationshipStatus);
        }
Ejemplo n.º 19
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            const short ENTRY_OFFSET = 24;
            const short UNKNOWN      = 8;

            output.Write(0);
            output.Write(0);

            output.Write(Entries.Count);
            output.Write(Entries.Count);

            output.Write(ENTRY_OFFSET);
            output.Write(UNKNOWN);

            output.Write((int)Remnants.Dequeue());
            foreach ((short number, int castMapPtrId) in Entries)
            {
                output.Write(number);
                output.Write(castMapPtrId);
            }
        }
Ejemplo n.º 20
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            const short ENTRY_OFFSET = 24;
            const short UNKNOWN      = 8;

            output.WriteBigEndian(0);
            output.WriteBigEndian(0);

            output.WriteBigEndian(Entries.Count);
            output.WriteBigEndian(Entries.Count);

            output.WriteBigEndian(ENTRY_OFFSET);
            output.WriteBigEndian(UNKNOWN);

            output.WriteBigEndian((int)Remnants.Dequeue());
            foreach (var entry in Entries)
            {
                output.WriteBigEndian(entry.Key);
                output.WriteBigEndian(entry.Value);
            }
        }
Ejemplo n.º 21
0
        public override void WriteBodyTo(ShockwaveWriter output)
        {
            const short LENGTH = 100;

            output.Write(LENGTH);
            output.Write((ushort)Version);

            output.Write(StageRectangle);

            output.Write(MinMember);
            output.Write(MaxMember);

            output.Write(Tempo);
            output.Write((byte)Remnants.Dequeue());

            output.Write(StageBackgroundColor.G);
            output.Write(StageBackgroundColor.B);

            output.Write((short)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());

            output.Write(StageBackgroundColor.R);

            output.Write((byte)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());
            output.Write((byte)Remnants.Dequeue());
            output.Write((byte)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());

            output.Write((short)MovieVersion);
            output.Write((short)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write((byte)Remnants.Dequeue());
            output.Write((byte)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());

            output.Write(RandomNumber);

            output.Write((int)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());

            output.Write(OldDefaultPalette);

            output.Write((short)Remnants.Dequeue());
            output.Write((int)Remnants.Dequeue());
            output.Write(DefaultPalette);
            output.Write((short)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());

            output.Write(DownloadFramesBeforePlaying);

            output.Write((short)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());
            output.Write((short)Remnants.Dequeue());
        }
Ejemplo n.º 22
0
        public override void WriteTo(HPacket packet)
        {
            packet.Write(Id);
            packet.Write(Name);
            packet.Write(Motto);
            packet.Write(FigureId);
            packet.Write(Index);

            packet.Write(Tile.X);
            packet.Write(Tile.Z);
            packet.Write(Tile.Z.ToString(CultureInfo.InvariantCulture));

            packet.Write((int)Remnants.Dequeue());
            packet.Write(EntityType);

            switch (EntityType)
            {
            case 1:
            {
                packet.Write(Gender.ToString().Substring(0, 1));
                packet.Write((int)Remnants.Dequeue());
                packet.Write((int)Remnants.Dequeue());
                packet.Write(FavoriteGroup);
                packet.Write((string)Remnants.Dequeue());
                packet.Write((int)Remnants.Dequeue());
                packet.Write((bool)Remnants.Dequeue());
                break;
            }

            case 2:
            {
                packet.Write((int)Remnants.Dequeue());
                packet.Write((int)Remnants.Dequeue());
                packet.Write((string)Remnants.Dequeue());
                packet.Write((int)Remnants.Dequeue());
                packet.Write((bool)Remnants.Dequeue());
                packet.Write((bool)Remnants.Dequeue());
                packet.Write((bool)Remnants.Dequeue());
                packet.Write((bool)Remnants.Dequeue());
                packet.Write((bool)Remnants.Dequeue());
                packet.Write((bool)Remnants.Dequeue());
                packet.Write((int)Remnants.Dequeue());
                packet.Write((string)Remnants.Dequeue());
                break;
            }

            case 3:
            {
                packet.Write((string)Remnants.Dequeue());
                packet.Write((int)Remnants.Dequeue());
                packet.Write((string)Remnants.Dequeue());

                var j = (int)Remnants.Dequeue();
                packet.Write(j);
                for (int i = 0; i < j; i++)
                {
                    packet.Write((ushort)Remnants.Dequeue());
                }
                break;
            }
            }
        }