Esempio n. 1
0
 public UndoSpritesetExchangeLayer(SpriteEditor Editor, SpriteProject Project, int LayerIndex1, int LayerIndex2)
 {
     this.Editor      = Editor;
     this.Project     = Project;
     this.LayerIndex1 = LayerIndex1;
     this.LayerIndex2 = LayerIndex2;
 }
Esempio n. 2
0
 public UndoSpritesetRemoveLayer(SpriteEditor Editor, SpriteProject Project, int LayerIndex)
 {
     this.Editor     = Editor;
     this.Project    = Project;
     RemovedLayer    = Project.SpriteLayers[LayerIndex];
     this.LayerIndex = LayerIndex;
 }
        public override bool HandleImport(SpriteProject Project, SpriteEditor Editor)
        {
            string filename;

            if (!Editor.OpenFile("Import Sprites from Image", RetroDevStudio.Types.Constants.FILEFILTER_IMAGE_FILES, out filename))
            {
                return(false);
            }

            GR.Image.FastImage spriteImage;

            var mcSettings = new ColorSettings(Project.Colors);

            var importType = Types.GraphicType.SPRITES;

            if (Project.Mode == SpriteProject.SpriteProjectMode.MEGA65_16_X_21_16_COLORS)
            {
                importType = GraphicType.SPRITES_16_COLORS;
            }

            bool pasteAsBlock = false;

            if (!Core.MainForm.ImportImage(filename, null, importType, mcSettings, out spriteImage, out mcSettings, out pasteAsBlock))
            {
                return(false);
            }

            Project.Colors.BackgroundColor = mcSettings.BackgroundColor;
            Project.Colors.MultiColor1     = mcSettings.MultiColor1;
            Project.Colors.MultiColor2     = mcSettings.MultiColor2;
            if (mcSettings.Palettes.Count > Project.Colors.Palettes.Count)
            {
                // a palette was imported!
                Project.Colors.Palettes.Add(mcSettings.Palettes[mcSettings.Palettes.Count - 1]);
            }

            Editor.ChangeColorSettingsDialog();

            int currentSpriteIndex = 0;
            int curX = 0;
            int curY = 0;

            while (curY + Editor.m_SpriteHeight <= spriteImage.Height)
            {
                //DocumentInfo.UndoManager.AddUndoTask( new Undo.UndoSpritesetSpriteChange( this, Project, currentSpriteIndex ), firstUndoStep );

                Editor.ImportSprite(spriteImage.GetImage(curX, curY, Editor.m_SpriteWidth, Editor.m_SpriteHeight) as GR.Image.FastImage, currentSpriteIndex);
                Editor.SpriteChanged(currentSpriteIndex);

                ++currentSpriteIndex;
                curX += Editor.m_SpriteWidth;
                if (curX >= spriteImage.Width)
                {
                    curX  = 0;
                    curY += Editor.m_SpriteHeight;
                }
            }
            return(true);
        }
Esempio n. 4
0
        public UndoSpritesetValuesChange(SpriteEditor Editor, SpriteProject Project)
        {
            this.Editor  = Editor;
            this.Project = Project;
            Mode         = Project.Mode;

            Colors = new ColorSettings(Project.Colors);
        }
Esempio n. 5
0
        public UndoSpritesetValuesChange(SpriteEditor Editor, SpriteProject Project)
        {
            this.Editor  = Editor;
            this.Project = Project;

            BGColor     = Project.BackgroundColor;
            MultiColor1 = Project.MultiColor1;
            MultiColor2 = Project.MultiColor2;
        }
        public UndoSpritesetSpriteChange(SpriteEditor Editor, SpriteProject Project, int SpriteIndex)
        {
            this.Editor      = Editor;
            this.Project     = Project;
            this.SpriteIndex = SpriteIndex;

            ActivePalette = Project.Sprites[SpriteIndex].Tile.Colors.ActivePalette;

            Sprite = new SpriteProject.SpriteData(Project.Sprites[SpriteIndex]);
        }
        public override bool HandleImport(SpriteProject Project, SpriteEditor Editor)
        {
            string filename;

            if (!Editor.OpenFile("Open sprite file", Types.Constants.FILEFILTER_SPRITE + Types.Constants.FILEFILTER_SPRITE_SPRITEPAD + Types.Constants.FILEFILTER_ALL, out filename))
            {
                return(false);
            }
            return(Editor.ImportSprites(filename, true, true));
        }
Esempio n. 8
0
        public UndoSpritesetSpriteChange(SpriteEditor Editor, SpriteProject Project, int SpriteIndex)
        {
            this.Editor      = Editor;
            this.Project     = Project;
            this.SpriteIndex = SpriteIndex;

            Sprite = new SpriteProject.SpriteData();

            Sprite.Color      = Project.Sprites[SpriteIndex].Color;
            Sprite.Data       = new GR.Memory.ByteBuffer(Project.Sprites[SpriteIndex].Data);
            Sprite.Multicolor = Project.Sprites[SpriteIndex].Multicolor;
        }
Esempio n. 9
0
        public override bool HandleImport(SpriteProject CharSet, SpriteEditor Editor)
        {
            var data = Util.FromASMData(editInput.Text);

            if (data == null)
            {
                return(false);
            }

            Editor.ImportFromData(data);
            return(true);
        }
Esempio n. 10
0
        public override bool HandleImport(SpriteProject CharSet, SpriteEditor Editor)
        {
            string binaryText = editInput.Text.Replace(" ", "").Replace("\r", "").Replace("\n", "");

            GR.Memory.ByteBuffer data = new GR.Memory.ByteBuffer(binaryText);
            if (data == null)
            {
                return(false);
            }

            Editor.ImportFromData(data);
            return(true);
        }
Esempio n. 11
0
        public override bool HandleImport(SpriteProject Project, SpriteEditor Editor)
        {
            ByteBuffer data;

            if (checkHexData.Checked)
            {
                data = Util.FromBASICHex(editInput.Text);
            }
            else
            {
                data = Util.FromBASIC(editInput.Text);
            }

            Editor.ImportFromData(data);
            return(true);
        }
Esempio n. 12
0
 public UndoSpritesetAddLayer(SpriteEditor Editor, SpriteProject Project, int LayerIndex)
 {
     this.Editor     = Editor;
     this.Project    = Project;
     this.LayerIndex = LayerIndex;
 }
Esempio n. 13
0
 public virtual bool HandleImport(SpriteProject Project, SpriteEditor Editor)
 {
     return(false);
 }