/// <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; }
private bool LoadXML(XmlNodeList xnl) { m_fFoundSpritePalettes = false; m_fFoundSprites = false; m_fFoundBackgroundPalettes = false; m_fFoundBackgroundSprites = false; m_fFoundBackgroundMap = false; foreach (XmlNode xn in xnl) { // Old version 1 file format. if (xn.Name == "gba_tileset" // Obsolete name for gba_tileset. // No longer used - included for backwards compatibility. || xn.Name == "gba_sprite_collection" ) { if (!LoadXML_OLD_gba_tileset(xn.ChildNodes)) { return(false); } } // Version 2 files. if (xn.Name == "spritely") { if (!LoadXML_spritely(xn)) { return(false); } } } if (!m_fFoundSpritePalettes) { Palette16 pal = m_doc.Palettes.AddPalette16(Options.DefaultPaletteName, 0, ""); pal.SetDefaultPalette(); } if (!m_fFoundSprites) { Palette pal = m_doc.Palettes.GetPalette(0); m_doc.Spritesets.AddSpriteset(Options.DefaultSpritesetName, Options.DefaultPaletteId, "", pal); } if (!m_fFoundBackgroundPalettes) { Palette16 bgpal = m_doc.BackgroundPalettes.AddPalette16(Options.DefaultBgPaletteName, 0, ""); bgpal.SetDefaultPalette(); } if (!m_fFoundBackgroundSprites) { Palette bgpal = m_doc.BackgroundPalettes.GetPalette(0); m_doc.BackgroundSpritesets.AddSpriteset(Options.DefaultBgPaletteName, Options.DefaultBgPaletteId, "", bgpal); m_doc.BackgroundSpritesets.Current.AddSprite(1, 1, "", -1, "", 0, null); } if (!m_fFoundBackgroundMap) { m_doc.BackgroundMaps.AddMap("map", 0, "", m_doc.BackgroundSpritesets.Current); } // Remove any UndoActions since we just loaded from a file. m_doc.Owner.ClearUndo(); m_doc.RecordSnapshot(); return(true); }