示例#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)
                {
                    RSDKv1.gfx g = new RSDKv1.gfx(dlg.FileName, false);
                    Tileset = g.gfxImage;
                    LoadTileSet(Tileset);
                }
                if (dlg.FilterIndex - 1 == 2)
                {
                    RSDKv1.gfx g = new RSDKv1.gfx(dlg.FileName, true);
                    Tileset = g.gfxImage;
                    LoadTileSet(Tileset);
                }
            }
        }
示例#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 RSDKv1.gfx(filename, dcGFX); //Load the GFX file into a bitmap
            }
        }
示例#3
0
        public Bitmap RenderObject(int RSDKver, string DataPath)
        {
            Bitmap b = RetroED.Properties.Resources.OBJ;

            if (!System.IO.File.Exists(DataPath + SpriteSheet))
            {
                b = RetroED.Properties.Resources.OBJ;
                return(b);
            }
            switch (RSDKver)
            {
            case 3:
                RSDKv1.gfx g = new RSDKv1.gfx(DataPath + SpriteSheet, false);
                b = CropImage(g.gfxImage, new Rectangle(X, Y, Width, Height));
                b.MakeTransparent(Color.FromArgb(255, 0, 0, 0));
                break;

            case 2:
                b = new Bitmap(DataPath + SpriteSheet, false);
                b = CropImage(b, new Rectangle(X, Y, Width, Height));
                b.MakeTransparent(Color.FromArgb(255, 255, 0, 255));
                break;

            case 1:
                b = new Bitmap(DataPath + SpriteSheet, false);
                b = CropImage(b, new Rectangle(X, Y, Width, Height));
                b.MakeTransparent(Color.FromArgb(255, 255, 0, 255));
                break;

            case 0:
                b = new Bitmap(DataPath + SpriteSheet, false);
                b = CropImage(b, new Rectangle(X, Y, Width, Height));
                b.MakeTransparent(Color.FromArgb(255, 255, 0, 255));
                break;
            }
            return(b);
        }
示例#4
0
 public MainForm()
 {
     InitializeComponent();
     GFX = new RSDKv1.gfx();
     IMG = new Bitmap(1, 1);
 }
示例#5
0
        private void refreshChunksToolStripMenuItem_Click(object sender, EventArgs e)
        {
            switch (LoadedRSDKver)
            {
            case 0:
                using (Stream strm = File.OpenRead(mappings))
                {
                    _RSDK4Chunks = new RSDKv4.Tiles128x128(strm);
                }
                _loadedTiles = Bitmap.FromFile(tiles);
                _blocksViewer._RSDK4Chunks  = _RSDK4Chunks;
                _blocksViewer._tiles        = _loadedTiles;
                _blocksViewer.loadedRSDKver = LoadedRSDKver;
                _blocksViewer.SetChunks();

                _mapViewer._tiles           = _loadedTiles;
                _mapViewer._RSDK4Background = _RSDK4Background;
                _mapViewer._RSDK4Chunks     = _RSDK4Chunks;
                _mapViewer.loadedRSDKver    = LoadedRSDKver;
                _mapViewer.SetLevel();
                break;

            case 1:
                using (Stream strm = File.OpenRead(mappings))
                {
                    _RSDK3Chunks = new RSDKv3.Tiles128x128(strm);
                }
                _loadedTiles = Bitmap.FromFile(tiles);
                _blocksViewer._RSDK3Chunks  = _RSDK3Chunks;
                _blocksViewer._tiles        = _loadedTiles;
                _blocksViewer.loadedRSDKver = LoadedRSDKver;
                _blocksViewer.SetChunks();

                _mapViewer._tiles           = _loadedTiles;
                _mapViewer._RSDK3Background = _RSDK3Background;
                _mapViewer._RSDK3Chunks     = _RSDK3Chunks;
                _mapViewer.loadedRSDKver    = LoadedRSDKver;
                _mapViewer.SetLevel();
                break;

            case 2:
                using (Stream strm = File.OpenRead(mappings))
                {
                    _RSDK2Chunks = new RSDKv2.Tiles128x128(strm);
                }
                _loadedTiles = Bitmap.FromFile(tiles);
                _blocksViewer._RSDK2Chunks  = _RSDK2Chunks;
                _blocksViewer._tiles        = _loadedTiles;
                _blocksViewer.loadedRSDKver = LoadedRSDKver;
                _blocksViewer.SetChunks();

                _mapViewer._tiles           = _loadedTiles;
                _mapViewer._RSDK2Background = _RSDK2Background;
                _mapViewer._RSDK2Chunks     = _RSDK2Chunks;
                _mapViewer.loadedRSDKver    = LoadedRSDKver;
                _mapViewer.SetLevel();
                break;

            case 3:
                using (Stream strm = File.OpenRead(mappings))
                {
                    _RSDK1Chunks = new RSDKv1.til(strm);
                }
                RSDKv1.gfx gfx = new RSDKv1.gfx(tiles, false);

                _loadedTiles = gfx.gfxImage;

                _blocksViewer.loadedRSDKver = LoadedRSDKver;
                _blocksViewer._tiles        = gfx.gfxImage;
                _blocksViewer._RSDK1Chunks  = _RSDK1Chunks;
                _blocksViewer.SetChunks();

                _mapViewer._tiles           = _loadedTiles;
                _mapViewer._RSDK1Background = _RSDK1Background;
                _mapViewer._RSDK1Chunks     = _RSDK1Chunks;
                _mapViewer.loadedRSDKver    = LoadedRSDKver;
                _mapViewer.SetLevel();
                break;

            default:
                break;
            }
        }
示例#6
0
        void LoadLevel(string level, int RSDKver)
        {
            //Clears the map
            _mapViewer.DrawLevel();
            switch (RSDKver)
            {
            case 0:
                using (Stream strm = File.OpenRead(level))
                {
                    _RSDK4Background = new RSDKv4.BGLayout(strm);
                }
                using (Stream strm = File.OpenRead(mappings))
                {
                    _RSDK4Chunks = new RSDKv4.Tiles128x128(strm);
                }
                _loadedTiles = Bitmap.FromFile(tiles);
                _blocksViewer._RSDK4Chunks     = _RSDK4Chunks;
                _blocksViewer._tiles           = _loadedTiles;
                _blocksViewer._RSDK4Background = _RSDK4Background;
                _blocksViewer.loadedRSDKver    = RSDKver;
                _blocksViewer.SetChunks();
                _blocksViewer.RefreshParallaxList();

                _mapViewer._tiles           = _loadedTiles;
                _mapViewer._RSDK4Chunks     = _RSDK4Chunks;
                _mapViewer._RSDK4Background = _RSDK4Background;
                _mapViewer.loadedRSDKver    = RSDKver;
                _mapViewer.SetLevel();
                _mapViewer.DrawLevel();

                selectedLayerToolStripMenuItem.DropDownItems.Clear();
                for (int i = 0; i < _RSDK4Background.Layers.Count; i++)
                {
                    selectedLayerToolStripMenuItem.DropDownItems.Add("Background Layer " + i.ToString());
                }

                break;

            case 1:
                using (Stream strm = File.OpenRead(level))
                {
                    _RSDK3Background = new RSDKv3.BGLayout(strm);
                }
                using (Stream strm = File.OpenRead(mappings))
                {
                    _RSDK3Chunks = new RSDKv3.Tiles128x128(strm);
                }
                _loadedTiles = Bitmap.FromFile(tiles);
                _blocksViewer._RSDK3Chunks     = _RSDK3Chunks;
                _blocksViewer._tiles           = _loadedTiles;
                _blocksViewer._RSDK3Background = _RSDK3Background;
                _blocksViewer.loadedRSDKver    = RSDKver;
                _blocksViewer.SetChunks();
                _blocksViewer.RefreshParallaxList();

                _mapViewer._tiles           = _loadedTiles;
                _mapViewer._RSDK3Chunks     = _RSDK3Chunks;
                _mapViewer._RSDK3Background = _RSDK3Background;
                _mapViewer.loadedRSDKver    = RSDKver;
                _mapViewer.SetLevel();
                _mapViewer.DrawLevel();

                selectedLayerToolStripMenuItem.DropDownItems.Clear();
                for (int i = 0; i < _RSDK3Background.Layers.Count; i++)
                {
                    selectedLayerToolStripMenuItem.DropDownItems.Add("Background Layer " + i.ToString());
                }

                break;

            case 2:
                using (Stream strm = File.OpenRead(level))
                {
                    _RSDK2Background = new RSDKv2.BGLayout(strm);
                }
                using (Stream strm = File.OpenRead(mappings))
                {
                    _RSDK2Chunks = new RSDKv2.Tiles128x128(strm);
                }
                _loadedTiles = Bitmap.FromFile(tiles);
                _blocksViewer._RSDK2Chunks     = _RSDK2Chunks;
                _blocksViewer._tiles           = _loadedTiles;
                _blocksViewer._RSDK2Background = _RSDK2Background;
                _blocksViewer.loadedRSDKver    = RSDKver;
                _blocksViewer.SetChunks();
                _blocksViewer.RefreshParallaxList();

                _mapViewer._tiles           = _loadedTiles;
                _mapViewer._RSDK2Chunks     = _RSDK2Chunks;
                _mapViewer._RSDK2Background = _RSDK2Background;
                _mapViewer.loadedRSDKver    = RSDKver;
                _mapViewer.SetLevel();
                _mapViewer.DrawLevel();

                selectedLayerToolStripMenuItem.DropDownItems.Clear();
                for (int i = 0; i < _RSDK2Background.Layers.Count; i++)
                {
                    selectedLayerToolStripMenuItem.DropDownItems.Add("Background Layer " + i.ToString());
                }
                break;

            case 3:
                using (Stream strm = File.OpenRead(level))
                {
                    _RSDK1Background = new RSDKv1.BGLayout(strm);
                }
                using (Stream strm = File.OpenRead(mappings))
                {
                    _RSDK1Chunks = new RSDKv1.til(strm);
                }
                RSDKv1.gfx gfx = new RSDKv1.gfx(tiles, false);

                _loadedTiles = gfx.gfxImage;

                _blocksViewer.loadedRSDKver    = LoadedRSDKver;
                _blocksViewer._tiles           = gfx.gfxImage;
                _blocksViewer._RSDK1Background = _RSDK1Background;
                _blocksViewer._RSDK1Chunks     = _RSDK1Chunks;
                _blocksViewer.SetChunks();
                _blocksViewer.RefreshParallaxList();

                _mapViewer.loadedRSDKver    = LoadedRSDKver;
                _mapViewer._tiles           = gfx.gfxImage;
                _mapViewer._RSDK1Background = _RSDK1Background;
                _mapViewer._RSDK1Chunks     = _RSDK1Chunks;
                _mapViewer.SetLevel();
                _mapViewer.DrawLevel();

                selectedLayerToolStripMenuItem.DropDownItems.Clear();
                for (int i = 0; i < _RSDK1Background.Layers.Count; i++)
                {
                    selectedLayerToolStripMenuItem.DropDownItems.Add("Background Layer " + i.ToString());
                }
                break;

            default:
                break;
            }
        }
示例#7
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.DefaultExt = ".bin";
            dlg.Filter     = "RSDKvB (Sonic 1 & 2 Remakes) Chunk Mappings|128x128Tiles.bin|RSDKv2 (Sonic CD) Chunk Mappings|128x128Tiles.bin|RSDKv1 (Sonic Nexus) Chunk Mappings|128x128Tiles.bin|Retro-Sonic Chunk Mappings|Zone.til";
            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:
                    Chunksv1       = null;
                    Chunksv2       = null;
                    Chunksv3       = null;
                    Chunksv4       = new RSDKv4.Tiles128x128(dlg.FileName);
                    Tiles          = new Bitmap(dlg.FileName.Replace("128x128Tiles.bin", "16x16Tiles.gif")); //A Zone's Tileset should be in the same folder as its chunk mappings
                    LoadedChunkVer = (int)RSDKver.RSDK4;
                    LoadTileSet(Tiles);
                    GotoNUD.Maximum = 512;
                    RedrawChunk();
                    break;

                case 1:
                    Chunksv1       = null;
                    Chunksv2       = null;
                    Chunksv3       = new RSDKv3.Tiles128x128(dlg.FileName);
                    Tiles          = new Bitmap(dlg.FileName.Replace("128x128Tiles.bin", "16x16Tiles.gif")); //A Zone's Tileset should be in the same folder as its chunk mappings
                    Chunksv4       = null;
                    LoadedChunkVer = (int)RSDKver.RSDK3;
                    LoadTileSet(Tiles);
                    GotoNUD.Maximum = 512;
                    RedrawChunk();
                    break;

                case 2:
                    Chunksv1       = null;
                    Chunksv2       = new RSDKv2.Tiles128x128(dlg.FileName);
                    Tiles          = new Bitmap(dlg.FileName.Replace("128x128Tiles.bin", "16x16Tiles.gif")); //A Zone's Tileset should be in the same folder as its chunk mappings
                    Chunksv3       = null;
                    Chunksv4       = null;
                    LoadedChunkVer = (int)RSDKver.RSDK2;
                    LoadTileSet(Tiles);
                    GotoNUD.Maximum = 512;
                    RedrawChunk();
                    break;

                default:
                    Chunksv1       = new RSDKv1.til(dlg.FileName);
                    Chunksv2       = null;
                    Chunksv3       = null;
                    Chunksv4       = null;
                    LoadedChunkVer = (int)RSDKver.RSDK1;
                    RSDKv1.gfx gfx = new RSDKv1.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);
                    LoadTileSet(Tiles);
                    GotoNUD.Maximum = 256;     // Retro Sonic Only Supports 256 Chunks per File :(
                    RedrawChunk();
                    break;
                }
            }
        }