Ejemplo n.º 1
0
        public Bitmap GetSpriteBitmap(AnimSet set, Sprite sprite)
        {
            var mainSheet = set.GetSpriteSheetBitmaps(sprite.SpriteSheetIndex)[sprite.PaletteIndex];

            Bitmap subSheet = null;

            if (sprite.Unknown0x00 != 0)
            {
                var subSetId = (ushort)(9001 + (sprite.Unknown0x00 * 100));
                var subSet   = GetAnimSet(subSetId);
                if (subSet != null)
                {
                    subSheet = subSet.GetSpriteSheetBitmaps(0)[0];
                }
            }

            return(GetSpriteBitmap(mainSheet, subSheet, sprite));
        }
Ejemplo n.º 2
0
        public override void ReadFromStream(Stream stream, Endian endianness)
        {
            EndianBinaryReader reader = new EndianBinaryReader(stream, endianness);

            NumAnimSets = reader.ReadUInt32();
            AnimSetIDs  = new ushort[NumAnimSets];
            for (int i = 0; i < AnimSetIDs.Length; i++)
            {
                AnimSetIDs[i] = reader.ReadUInt16();
            }

            stream.Position += ((reader.BaseStream.Position % 16) != 0 ? (16 - (reader.BaseStream.Position % 16)) : 16);

            AnimSets = new AnimSet[NumAnimSets];
            for (int i = 0; i < AnimSets.Length; i++)
            {
                AnimSets[i] = new AnimSet(stream);
            }


            if (false)
            {
                // TEMP dump all spritesheets
                foreach (var s in AnimSetIDs)
                {
                    TESTDumpSheets(s);
                }
            }

            if (false)
            {
                // TEMP dump stuff -- animations (tho they dont work right yet, herp derp!), spritesheets
                var id = (ushort)0;

                id = 09101;                 // 1st hit effect
                id = 09201;                 // 1st sword
                id = 01000;                 // battle ui stuff
                id = 01070;                 // female samurai

                //TESTDumpSheets(id);
                TESTDumpAnims(id);
            }
        }