示例#1
0
        public void Test_AddSprite_noundo()
        {
            Sprite s = m_ss.AddSprite(1, 1, "sample", 0, "", 0, null);

            Assert.IsNotNull(s);
            Assert.AreEqual(0, m_mgr.Count);
            Assert.IsFalse(m_mgr.CanUndo());
            Assert.IsFalse(m_mgr.CanRedo());
        }
示例#2
0
        /// <summary>
        /// Add a default sprite to the new document when Spritely is first launched.
        /// This is so that first-time users don't see an empty window - they can
        /// start editing their first sprite immediately.
        /// </summary>
        public void InitializeEmptyDocument()
        {
            // Palettes
            Palette16 pal = m_data.Palettes.AddPalette16(Options.DefaultPaletteName, 0, "");

            pal.SetDefaultPalette();

            // Spritesets
            Spriteset ss = m_data.Spritesets.AddSpriteset(Options.DefaultSpritesetName, Options.DefaultPaletteId, "", pal);

            // Add a single 2x2 sprite.
            ss.AddSprite(2, 2, "", -1, "", 0, null);
            ss.SelectFirstSprite();

            // Background palettes
            Palette16 bgpal = m_data.BackgroundPalettes.AddPalette16(Options.DefaultBgPaletteName, 0, "");

            bgpal.SetDefaultPalette();

            // Background tiles (bgsprites and bgtilegroups)
            Spriteset bss = m_data.BackgroundSpritesets.AddSpriteset(Options.DefaultBgTilesetName, Options.DefaultBgPaletteId, "", bgpal);

            // Add a single blank background tile.
            bss.AddSprite(1, 1, "", -1, "", 0, null);
            bss.SelectFirstSprite();

            // Background tile map
            m_data.BackgroundMaps.AddMap("map", 0, "", m_data.BackgroundSpritesets.Current);

            // The sprites we just added above don't count as document changes.
            HasUnsavedChanges = false;
        }
示例#3
0
            public void Test_LoadXML_OLD_sprite_2x4()
            {
                Palette p = m_doc.Palettes.AddPalette16(Options.DefaultPaletteName, 0, "");

                Assert.IsNotNull(p);

                Spriteset ss = m_doc.Spritesets.AddSpriteset(Options.DefaultSpritesetName, 0, "", p);

                Assert.IsNotNull(ss);

                Sprite s = ss.AddSprite(2, 4, "sample", 0, "", 0, null);

                Assert.IsNotNull(s);

                XmlElement xnSprite = m_xd.CreateElement("sprite");

                for (int i = 0; i < 8; i++)
                {
                    Test_LoadXML_OLD_sprite_AddTile(xnSprite, i);
                }
                Assert.IsTrue(m_filer.LoadXML_OLD_sprite(s, xnSprite.ChildNodes));

                // Verify the data is the same as the XML
                // Pixel 0 is the same as the tileid
                Assert.AreEqual(0, s.GetTile(0).GetPixel(0, 0));
                Assert.AreEqual(3, s.GetTile(3).GetPixel(0, 0));
                Assert.AreEqual(7, s.GetTile(7).GetPixel(0, 0));
                // Other pixels = x+y
                Assert.AreEqual(9, s.GetTile(0).GetPixel(4, 5));
                Assert.AreEqual(3, s.GetTile(4).GetPixel(0, 3));
                Assert.AreEqual(14, s.GetTile(7).GetPixel(7, 7));
            }
示例#4
0
        public void Test_LoadXML_sprite16_1x1()
        {
            Palette p = m_doc.Palettes.AddPalette16(Options.DefaultPaletteName, 0, "");

            Assert.IsNotNull(p);
            Spriteset ss = m_doc.Spritesets.AddSpriteset(Options.DefaultSpritesetName, 0, "", p);

            Assert.IsNotNull(ss);
            Sprite s = ss.AddSprite(1, 1, "sample", 0, "", 0, null);

            Assert.IsNotNull(s);

            XmlElement xnSprite = m_xd.CreateElement("sprite16");

            // Note: <sprite16> attributes not needed for test.
            Test_LoadXML_sprite16_AddTile(xnSprite, 0, 8, 8);
            Assert.IsTrue(s.LoadXML_sprite16(xnSprite, 0));

            // Verify the data is the same as the XML
            // Pixel 0 is the same as the tileid
            Assert.AreEqual(0, s.GetTile(0).GetPixel(0, 0));
            // Other pixels = x+y
            Assert.AreEqual(9, s.GetTile(0).GetPixel(4, 5));
            Assert.AreEqual(14, s.GetTile(0).GetPixel(7, 7));
        }
示例#5
0
 public override void ApplyUndo()
 {
     if (m_fAdd)
     {
         m_ss.RemoveSprite(m_sprite, null);
         m_ss.CurrentSprite = m_mgr.FindMostRecentSprite();
         if (m_ss.CurrentSprite == null)
         {
             m_ss.SelectFirstSprite();
         }
     }
     else
     {
         m_ss.AddSprite(m_sprite, null);
         m_ss.CurrentSprite = m_sprite;
     }
 }
示例#6
0
        private void menuSprite_New_Click(object sender, EventArgs e)
        {
            Spriteset ss = ActiveSpriteset();

            ToolStripMenuItem mi     = (sender as ToolStripMenuItem);
            string            strTag = mi.Tag as string;

            if (strTag == null || strTag == "")
            {
                return;
            }
            string[] aSize   = strTag.Split('x');
            int      nWidth  = Int32.Parse(aSize[0]);
            int      nHeight = Int32.Parse(aSize[1]);

            ss.AddSprite(nWidth, nHeight, "", -1, "", 0, ActiveUndo());
            HandleSpriteDataChanged(ss);
        }
示例#7
0
        public void Test_LoadXML_sprite16_1x1_9columns()
        {
            Palette p = m_doc.Palettes.AddPalette16(Options.DefaultPaletteName, 0, "");

            Assert.IsNotNull(p);

            Spriteset ss = m_doc.Spritesets.AddSpriteset(Options.DefaultSpritesetName, 0, "", p);

            Assert.IsNotNull(ss);

            Sprite s = ss.AddSprite(1, 1, "sample", 0, "", 0, null);

            Assert.IsNotNull(s);

            XmlElement xnSprite = m_xd.CreateElement("sprite16");

            Test_LoadXML_sprite16_AddTile(xnSprite, 0, 9, 8);
            Assert.IsFalse(s.LoadXML_sprite16(xnSprite, 0));
        }
示例#8
0
            public void Test_LoadXML_OLD_sprite_2x2_3tiles()
            {
                Palette p = m_doc.Palettes.AddPalette16(Options.DefaultPaletteName, 0, "");

                Assert.IsNotNull(p);

                Spriteset ss = m_doc.Spritesets.AddSpriteset(Options.DefaultSpritesetName, 0, "", p);

                Assert.IsNotNull(ss);

                Sprite s = ss.AddSprite(2, 2, "sample", 0, "", 0, null);

                Assert.IsNotNull(s);

                XmlElement xnSprite = m_xd.CreateElement("sprite");

                for (int i = 0; i < 3; i++)
                {
                    Test_LoadXML_OLD_sprite_AddTile(xnSprite, i);
                }
                Assert.IsFalse(m_filer.LoadXML_OLD_sprite(s, xnSprite.ChildNodes));
            }