Beispiel #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.DefaultExt = ".gif";
            dlg.Filter     = "gif images|*.gif|Retro-Sonic Graphics Images (Sage 2007)|*.gfx|Retro-Sonic Graphics Images (Dreamcast Demo)|*.gfx";
            if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
            {
                if (dlg.FilterIndex - 1 == 0)
                {
                    Tileset = new Bitmap(dlg.FileName);
                    LoadTileSet(Tileset);
                }
                if (dlg.FilterIndex - 1 == 1)
                {
                    RSDKvRS.gfx g = new RSDKvRS.gfx(dlg.FileName, false);
                    Tileset = g.gfxImage;
                    LoadTileSet(Tileset);
                }
                if (dlg.FilterIndex - 1 == 2)
                {
                    RSDKvRS.gfx g = new RSDKvRS.gfx(dlg.FileName, true);
                    Tileset = g.gfxImage;
                    LoadTileSet(Tileset);
                }
            }
        }
Beispiel #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.DefaultExt = ".gfx";
            dlg.Filter     = "Sage 2007 (PC Demo) Retro-Sonic Graphics Files|*.gfx|Dreamcast Demo Retro-Sonic Graphics Files|*.gfx";

            if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
            {
                filename = dlg.FileName;
                SourceGFXLocation.Text = dlg.FileName;
                if (dlg.FilterIndex - 1 == 1) //Did the user want to load a Dreamcast .gfx file?
                {
                    dcGFX = true;
                }
                GFX = new RSDKvRS.gfx(filename, dcGFX); //Load the GFX file into a bitmap
            }
        }
Beispiel #3
0
        public MapObject(string name, int id, int sID, string sheet, int Sheetxpos, int Sheetypos, int width, int height, int pivotX, int pivotY, int flip)
        {
            Name        = name;
            ID          = id;
            SubType     = sID;
            SpriteSheet = sheet;
            X           = Sheetxpos;
            Y           = Sheetypos;
            Width       = width;
            Height      = height;
            PivotX      = pivotX;
            PivotY      = pivotY;
            Flip        = flip;

            if (System.IO.Path.GetExtension(sheet) == ".gfx")
            {
                RSDKvRS.gfx g = new RSDKvRS.gfx(SpriteSheet, false);
                GFXHolder = g.gfxImage;
            }
        }
Beispiel #4
0
        void LoadLevel(string level)
        {
            background.ImportFrom(engineType, level);
            Chunks.ImportFrom(engineType, mappings);
            if (engineType != Retro_Formats.EngineType.RSDKvRS)
            {
                using (var fs = new FileStream(tiles, FileMode.Open))
                {
                    var bmp = new Bitmap(fs);
                    _loadedTiles = (Bitmap)bmp.Clone();
                }
            }
            else
            {
                RSDKvRS.gfx gfx = new RSDKvRS.gfx(tiles);
                _loadedTiles = gfx.gfxImage;
            }
            _blocksViewer._tiles = _loadedTiles;
            _blocksViewer.SetChunks();

            _mapViewer._tiles = _loadedTiles;
            _mapViewer.SetLevel();
            _mapViewer.DrawLevel();
        }
Beispiel #5
0
 public MainForm()
 {
     InitializeComponent();
     GFX = new RSDKvRS.gfx();
     IMG = new Bitmap(1, 1);
 }
Beispiel #6
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.DefaultExt = ".bin";
            dlg.Filter     = "RSDKvB Chunk Mappings|128x128Tiles.bin|RSDKv2 Chunk Mappings|128x128Tiles.bin|RSDKv1 Chunk Mappings|128x128Tiles.bin|Retro-Sonic Chunk Mappings|Zone.til";
            string RSDK = "RSDKvB";

            if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
            {
                curChunk = 0;
                filename = dlg.FileName;
                switch (dlg.FilterIndex - 1) //What RSDK version was loaded?
                {
                case 0:
                    Tiles      = new Bitmap(dlg.FileName.Replace("128x128Tiles.bin", "16x16Tiles.gif")); //A Zone's Tileset should be in the same folder as its chunk mappings
                    engineType = Retro_Formats.EngineType.RSDKvB;
                    Chunks.ImportFrom(engineType, dlg.FileName);
                    RSDK = "RSDKvB";
                    break;

                case 1:
                    Tiles      = new Bitmap(dlg.FileName.Replace("128x128Tiles.bin", "16x16Tiles.gif")); //A Zone's Tileset should be in the same folder as its chunk mappings
                    engineType = Retro_Formats.EngineType.RSDKv2;
                    Chunks.ImportFrom(engineType, dlg.FileName);
                    RSDK = "RSDKv2";
                    break;

                case 2:
                    Tiles      = new Bitmap(dlg.FileName.Replace("128x128Tiles.bin", "16x16Tiles.gif")); //A Zone's Tileset should be in the same folder as its chunk mappings
                    engineType = Retro_Formats.EngineType.RSDKv1;
                    Chunks.ImportFrom(engineType, dlg.FileName);
                    RSDK = "RSDKv1";
                    break;

                case 3:
                    engineType = Retro_Formats.EngineType.RSDKvRS;
                    Chunks.ImportFrom(engineType, dlg.FileName);
                    RSDKvRS.gfx gfx = new RSDKvRS.gfx(dlg.FileName.Replace("Zone.til", "Zone.gfx"), false);     //A Zone's Tileset should be in the same folder as its chunk mappings
                    Tiles = new Bitmap(gfx.gfxImage);
                    RSDK  = "RSDKvRS";
                    break;
                }

                LoadTileSet(Tiles);
                LoadChunks(Tiles);
                GotoNUD.Maximum = Chunks.MaxChunks;
                RedrawChunk();

                string        dispname = "";
                string        folder   = Path.GetDirectoryName(filename);
                DirectoryInfo di       = new DirectoryInfo(folder);
                folder = di.Name;
                string file = Path.GetFileName(filename);

                if (filename != null)
                {
                    RetroED.MainForm.Instance.CurrentTabText = folder + "/" + file;
                    dispname = folder + "/" + file;
                }
                else
                {
                    RetroED.MainForm.Instance.CurrentTabText = "New Scene - RSDK Map Editor";
                    dispname = "New Scene - RSDK Map Editor";
                }



                RetroED.MainForm.Instance.rp.state   = "RetroED - " + this.Text;
                RetroED.MainForm.Instance.rp.details = "Editing: " + dispname + " (" + RSDK + ")";
                SharpPresence.Discord.RunCallbacks();
                SharpPresence.Discord.UpdatePresence(RetroED.MainForm.Instance.rp);
            }
        }