void PopulateGuiWithPuzzle(ClassicPuzzle puzzle) { PuzzleLoaded = false; try { comboBoxPuzzleDimensions.SelectedIndex = (puzzle.Width / 5) - 1; // there's only five valid dimensions, this should always get the right one } catch (ArgumentOutOfRangeException) { comboBoxPuzzleDimensions.SelectedIndex = 0; } checkBoxFreeMode.Checked = puzzle.Mode == 0x02; checkBoxCleared.Checked = (puzzle.Unknown2 & 0x01) == 0x00; textBoxCleartime.Text = puzzle.ClearTime.ToString(); textBoxName.Text = puzzle.PuzzleName.Trim('\0'); textBoxPack.Text = puzzle.PackName.Trim('\0'); try { comboBoxPackLetter.SelectedIndex = puzzle.PackLetter; } catch (ArgumentOutOfRangeException) { comboBoxPackLetter.SelectedIndex = 0; } try { comboBoxPackNumber.SelectedIndex = puzzle.PackNumber; } catch (ArgumentOutOfRangeException) { comboBoxPackNumber.SelectedIndex = 0; } PuzzleLoaded = true; }
private void buttonImport_Click(object sender, EventArgs e) { OpenFileDialog dialog = new System.Windows.Forms.OpenFileDialog(); dialog.Filter = "Picross Puzzle (*.picross)|*.picross|Any File|*.*"; DialogResult result = dialog.ShowDialog(); if (result == DialogResult.OK) { var infile = System.IO.File.ReadAllBytes(dialog.FileName); if (IsSelectedPuzzleOriginalPuzzle) { var puzzle = new OriginalPuzzle(infile, 0x0); puzzle.Type = 0x03; Save.OriginalPuzzles[comboBoxPuzzleSlot.SelectedIndex - 100] = puzzle; comboBoxPuzzleSlot.Items[comboBoxPuzzleSlot.SelectedIndex] = puzzle; PopulateGuiWithPuzzle(puzzle); } else { var puzzle = new ClassicPuzzle(infile, 0x0); puzzle.Type = 0x02; Save.ClassicPuzzles[comboBoxPuzzleSlot.SelectedIndex] = puzzle; comboBoxPuzzleSlot.Items[comboBoxPuzzleSlot.SelectedIndex] = puzzle; PopulateGuiWithPuzzle(puzzle); } WriteGuiPuzzleDataToSave(sender, e); } }