Exemple #1
0
        public void Core_UpdateDisplay()
        {
            try
            {
                byte[] palette = Core.ReadData(PaletteAddress, PaletteLength);
                byte[] tileset;
                if (TilesetLength == -1)
                {
                    int amount = 10;
                    int length = 32 * 2 * Tile.LENGTH;
                    tileset = new byte[amount * length];
                    Pointer address;
                    byte[]  buffer;
                    for (int i = 0; i < amount; i++)
                    {
                        address = Core.ReadPointer(TilesetAddress + i * 4);
                        buffer  = Core.ReadData(address, 0);
                        Array.Copy(buffer, 0, tileset, i * length, length);
                    }   // assemble BGs that are stored in 32x2 strips
                }
                else
                {
                    tileset = Core.ReadData(TilesetAddress, TilesetLength);
                }

                TSA_GridBox.Load(new TSA_Image(palette, tileset, Current));
            }
            catch (Exception ex)
            {
                Program.ShowError("There has been an error while trying to load the image.", ex);

                TSA_GridBox.Reset();
            }
        }
Exemple #2
0
        void Core_LoadValues()
        {
            TileIndex_NumBox.ValueChanged -= TileIndex_NumBox_ValueChanged;
            Palette_NumBox.ValueChanged   -= Palette_NumBox_ValueChanged;
            FlipH_CheckBox.CheckedChanged -= FlipH_CheckBox_CheckedChanged;
            FlipV_CheckBox.CheckedChanged -= FlipV_CheckBox_CheckedChanged;

            if (TSA_GridBox.SelectionIsEmpty())
            {
                TileIndex_NumBox.Value = 0;
                Palette_NumBox.Value   = 0;

                TileIndex_NumBox.Text = TileIndex_NumBox.Value.ToString();
                Palette_NumBox.Text   = Palette_NumBox.Value.ToString();

                TileIndex_NumBox.Enabled = false;
                Palette_NumBox.Enabled   = false;
                FlipH_CheckBox.Enabled   = false;
                FlipV_CheckBox.Enabled   = false;

                Coordinates_Label.Text = "X : None, Y : None";
            }
            else
            {
                TileIndex_NumBox.Enabled = true;
                Palette_NumBox.Enabled   = true;
                FlipH_CheckBox.Enabled   = true;
                FlipV_CheckBox.Enabled   = true;

                if (TSA_GridBox.SelectionIsSingle())
                {
                    Point selection = TSA_GridBox.GetSelectionCoords();

                    TileIndex_NumBox.Value = Current[selection.X, selection.Y].TileIndex;
                    Palette_NumBox.Value   = Current[selection.X, selection.Y].Palette;
                    FlipH_CheckBox.Checked = Current[selection.X, selection.Y].FlipH;
                    FlipV_CheckBox.Checked = Current[selection.X, selection.Y].FlipV;

                    TileIndex_NumBox.Text = TileIndex_NumBox.Value.ToString();
                    Palette_NumBox.Text   = Palette_NumBox.Value.ToString();

                    CurrentValue_Label.Text = "TSA Value : 0x" + Util.UInt16ToHex(Current[selection.X, selection.Y].Value);
                    Coordinates_Label.Text  = "X : " + selection.X + ", Y : " + selection.Y;
                }
                else
                {
                    TileIndex_NumBox.Text  = "";
                    Palette_NumBox.Text    = "";
                    FlipH_CheckBox.Checked = false;
                    FlipV_CheckBox.Checked = false;

                    CurrentValue_Label.Text = "TSA Value : [mixed]";
                    Coordinates_Label.Text  = TSA_GridBox.GetSelectionAmount() + " selected tiles";
                }
            }

            TileIndex_NumBox.ValueChanged += TileIndex_NumBox_ValueChanged;
            Palette_NumBox.ValueChanged   += Palette_NumBox_ValueChanged;
            FlipH_CheckBox.CheckedChanged += FlipH_CheckBox_CheckedChanged;
            FlipV_CheckBox.CheckedChanged += FlipV_CheckBox_CheckedChanged;
        }