public static EntityGraphicalElementData ReadFromStream(EleInstance instance, int id, BigEndianReader reader)
        {
            var data = new EntityGraphicalElementData(instance, id);

            data.EntityLook         = reader.ReadUTF7BitLength();
            data.HorizontalSymmetry = reader.ReadBoolean();

            if (instance.Version >= 7)
            {
                data.PlayAnimation = reader.ReadBoolean();
            }

            if (instance.Version >= 6)
            {
                data.PlayAnimStatic = reader.ReadBoolean();
            }

            if (instance.Version >= 5)
            {
                data.MinDelay = reader.ReadInt();
                data.MaxDelay = reader.ReadInt();
            }

            return(data);
        }
Ejemplo n.º 2
0
        public static EleInstance ReadFromStream(BigEndianReader reader)
        {
            var instance = new EleInstance();

            reader.ReadByte();
            instance.Version = reader.ReadByte();

            var count = reader.ReadUInt();

            for (int i = 0; i < count; i++)
            {
                if (instance.Version >= 9)
                {
                    reader.ReadUShort();
                }

                var elem = EleGraphicalData.ReadFromStream(instance, reader);
                instance.GraphicalDatas.Add(elem.Id, elem);
            }

            if (instance.Version >= 8)
            {
                var gfxCount = reader.ReadInt();
                for (int i = 0; i < gfxCount; i++)
                {
                    instance.GfxJpgMap.Add(reader.ReadInt(), true);
                }
            }

            return(instance);
        }
Ejemplo n.º 3
0
        public static EleGraphicalData ReadFromStream(EleInstance instance, BigEndianReader reader)
        {
            var id   = reader.ReadInt();
            var type = (EleGraphicalElementTypes)reader.ReadByte();

            switch (type)
            {
            case EleGraphicalElementTypes.ANIMATED:
                return(AnimatedGraphicalElementData.ReadFromStream(instance, id, reader));

            case EleGraphicalElementTypes.BLENDED:
                return(BlendedGraphicalElementData.ReadFromStream(instance, id, reader));

            case EleGraphicalElementTypes.BOUNDING_BOX:
                return(BoundingBoxGraphicalElementData.ReadFromStream(instance, id, reader));

            case EleGraphicalElementTypes.NORMAL:
                return(NormalGraphicalElementData.ReadFromStream(instance, id, reader));

            case EleGraphicalElementTypes.ENTITY:
                return(EntityGraphicalElementData.ReadFromStream(instance, id, reader));

            case EleGraphicalElementTypes.PARTICLES:
                return(ParticlesGraphicalElementData.ReadFromStream(instance, id, reader));

            default:
                throw new Exception("Unknown graphical data of type " + type);
            }
        }
Ejemplo n.º 4
0
        public static ParticlesGraphicalElementData ReadFromStream(EleInstance instance, int id, BigEndianReader reader)
        {
            var data = new ParticlesGraphicalElementData(instance, id);

            data.ScriptId = reader.ReadShort();

            return(data);
        }
Ejemplo n.º 5
0
        public static new BoundingBoxGraphicalElementData ReadFromStream(EleInstance instance, int id, BigEndianReader reader)
        {
            var data = new BoundingBoxGraphicalElementData(instance, id);

            data.Gfx                = reader.ReadInt();
            data.Height             = reader.ReadByte();
            data.HorizontalSymmetry = reader.ReadBoolean();
            data.Origin             = new System.Drawing.Point(reader.ReadShort(), reader.ReadShort());
            data.Size               = new System.Drawing.Point(reader.ReadShort(), reader.ReadShort());

            return(data);
        }
        public static new AnimatedGraphicalElementData ReadFromStream(EleInstance instance, int id, BigEndianReader reader)
        {
            var data = new AnimatedGraphicalElementData(instance, id);

            data.Gfx                = reader.ReadInt();
            data.Height             = reader.ReadByte();
            data.HorizontalSymmetry = reader.ReadBoolean();
            data.Origin             = new System.Drawing.Point(reader.ReadShort(), reader.ReadShort());
            data.Size               = new System.Drawing.Point(reader.ReadShort(), reader.ReadShort());

            if (instance.Version == 4)
            {
                data.MinDelay = reader.ReadInt();
                data.MaxDelay = reader.ReadInt();
            }

            return(data);
        }
        public EleInstance ReadElements()
        {
            m_reader.Seek(0, SeekOrigin.Begin);

            int header = m_reader.ReadByte();

            if (header != 69)
            {
                m_reader.Seek(0, SeekOrigin.Begin);
                var uncompress = ZipHelper.Uncompress(m_reader.ReadBytes((int)m_reader.BytesAvailable));

                if (uncompress.Length <= 0 || uncompress[0] != 69)
                {
                    throw new FileLoadException("Wrong header file");
                }

                ChangeStream(new MemoryStream(uncompress));
            }

            var instance = EleInstance.ReadFromStream(m_reader);

            return(instance);
        }
Ejemplo n.º 8
0
 public BoundingBoxGraphicalElementData(EleInstance instance, int id) : base(instance, id)
 {
 }
 public BlendedGraphicalElementData(EleInstance instance, int id)
     : base(instance, id)
 {
 }
 public AnimatedGraphicalElementData(EleInstance instance, int id) : base(instance, id)
 {
 }
 public EntityGraphicalElementData(EleInstance instance, int id)
     : base(instance, id)
 {
 }
Ejemplo n.º 12
0
 public EleGraphicalData(EleInstance instance, int id)
 {
     Instance = instance;
     Id       = id;
 }
Ejemplo n.º 13
0
 public ParticlesGraphicalElementData(EleInstance instance, int id) : base(instance, id)
 {
 }
 public NormalGraphicalElementData(EleInstance instance, int id) : base(instance, id)
 {
 }