Exemple #1
0
        private void LoadSelectedImage()
        {
            TreeNode selected = UI_FileList.SelectedNode;

            if (selected.Tag != null && selected.Tag is CASCFile)
            {
                CASCFile file = (CASCFile)selected.Tag;
                if (extractRunner != null)
                {
                    extractRunner.Kill();
                    extractRunner = null;
                }

                ClearImagePreview();

                UI_PreviewStatus.Text = "Loading...";
                UI_PreviewStatus.Show();

                string fullPath = Path.Combine(Constants.TEMP_DIRECTORY, file.FullName);
                if (File.Exists(fullPath))
                {
                    displayImage(fullPath);
                }
                else
                {
                    extractRunner = new RunnerExtractItem(file);
                    runnerID      = extractRunner.runnerID;
                    extractRunner.Begin();
                }
            }
        }
Exemple #2
0
        private void displayImage(string file)
        {
            currentImage = null;
            UI_PreviewStatus.Hide();

            using (var blp = new BlpFile(File.OpenRead(file)))
                currentImage = blp.GetBitmap(0);

            Graphics gfx = UI_ImagePreview.CreateGraphics();

            gfx.Clear(UI_ImagePreview.BackColor);
            gfx.DrawImage(currentImage, 0, 0);
            UI_ExportButton.Show();

            currentImageName = file;
        }
Exemple #3
0
        private void UI_FileList_AfterSelect(object sender, TreeViewEventArgs e)
        {
            TreeNode selected = UI_FileList.SelectedNode;

            if (selected != null)
            {
                // Clean up previous excursions.
                TerminateRunners(); // Terminate runners that be running.

                if (canvas != null)
                {
                    canvas.Dispose();
                }

                canvas = null;
                overlay.ClearPoints();

                UI_PreviewStatus.Hide();
                UI_Map.Invalidate();

                UI_ExportButton.Enabled      = true;
                UI_ExportImageButton.Enabled = true;

                drawOffsetX = lastOffsetX = 0;
                drawOffsetY = lastOffsetY = 0;

                // Detatch mouse control (this shouldn't ever be an issue, really).
                isMovingMap = false;

                string mapName = selected.Text;
                selectedMapName = mapName;

                tileTotal           = maps[mapName].Count;
                tileDone            = 0;
                UI_TileDisplay.Text = string.Format(Constants.MAP_VIEWER_TILE_STATUS, 0, 0);
                UI_TileDisplay.Show();
                UI_ExportTip.Hide();

                buildRunner      = new RunnerBuildMinimap(maps[mapName].ToArray());
                buildRunnerIndex = buildRunner.Index;
                buildRunner.Begin();
            }
        }
Exemple #4
0
        private void OnFileExtractComplete(object sender, EventArgs rawArgs)
        {
            FileExtractCompleteArgs args = (FileExtractCompleteArgs)rawArgs;

            if (args.RunnerID == runnerID)
            {
                currentImageName = null;

                UI_ExportButton.Hide();

                if (args.Success)
                {
                    displayImage(Path.Combine(Constants.TEMP_DIRECTORY, args.File.FullName));
                }
                else
                {
                    UI_PreviewStatus.Text = "Error loading image!";
                    UI_PreviewStatus.Show();
                }

                extractRunner = null;
            }
        }