From cf1c03df306301bea9b7f8178ecab6fabe821b8c Mon Sep 17 00:00:00 2001 From: Julian Ozel Rose Date: Fri, 29 Mar 2024 23:45:08 -0700 Subject: [PATCH] Disable savegame destination boxes during writing --- TombExtract/MainForm.cs | 30 +++++++++++--------- TombExtract/TR1Utilities.cs | 25 ++++++++++------ TombExtract/TR2Utilities.cs | 28 +++++++++++------- TombExtract/TR3Utilities.cs | 27 +++++++++++------- TombExtract/bin/x64/Release/TombExtract.exe | Bin 185856 -> 185856 bytes 5 files changed, 66 insertions(+), 44 deletions(-) diff --git a/TombExtract/MainForm.cs b/TombExtract/MainForm.cs index 45163a3..1c496e7 100644 --- a/TombExtract/MainForm.cs +++ b/TombExtract/MainForm.cs @@ -72,7 +72,7 @@ private void CreateBackup() } } - private void DisableButtons() + private void DisableControls() { btnExtractTR1.Enabled = false; btnExtractTR2.Enabled = false; @@ -86,6 +86,10 @@ private void DisableButtons() cklSourceSavegamesTR2.Enabled = false; cklSourceSavegamesTR3.Enabled = false; + lstDestinationSavegamesTR1.Enabled = false; + lstDestinationSavegamesTR2.Enabled = false; + lstDestinationSavegamesTR3.Enabled = false; + cmbConversionTR1.Enabled = false; cmbConversionTR2.Enabled = false; cmbConversionTR3.Enabled = false; @@ -441,7 +445,7 @@ private void ExtractSavegamesTR1() CreateBackup(); } - DisableButtons(); + DisableControls(); progressForm = new ProgressForm(); progressForm.Owner = this; @@ -451,9 +455,9 @@ private void ExtractSavegamesTR1() TR1.WriteSavegamesToDestination(selectedSavegames, cklSourceSavegamesTR1, cklSourceSavegamesTR2, cklSourceSavegamesTR3, btnExtractTR1, btnExtractTR2, btnExtractTR3, btnSelectAllTR1, btnSelectAllTR2, btnSelectAllTR3, btnBrowseSourceFile, - btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR1, tsmiBrowseSourceFile, tsmiBrowseDestinationFile, - slblStatus, tsmiExtract, cmbConversionTR1, cmbConversionTR2, cmbConversionTR3, btnManageSlotsTR1, btnManageSlotsTR2, - btnManageSlotsTR3, tsmiBackupDestinationFile); + btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR1, lstDestinationSavegamesTR2, lstDestinationSavegamesTR3, + tsmiBrowseSourceFile, tsmiBrowseDestinationFile, slblStatus, tsmiExtract, cmbConversionTR1, cmbConversionTR2, cmbConversionTR3, + btnManageSlotsTR1, btnManageSlotsTR2, btnManageSlotsTR3, tsmiBackupDestinationFile); } private void ExtractSavegamesTR2() @@ -509,7 +513,7 @@ private void ExtractSavegamesTR2() CreateBackup(); } - DisableButtons(); + DisableControls(); progressForm = new ProgressForm(); progressForm.Owner = this; @@ -519,9 +523,9 @@ private void ExtractSavegamesTR2() TR2.WriteSavegamesToDestination(selectedSavegames, cklSourceSavegamesTR1, cklSourceSavegamesTR2, cklSourceSavegamesTR3, btnExtractTR1, btnExtractTR2, btnExtractTR3, btnSelectAllTR1, btnSelectAllTR2, btnSelectAllTR3, btnBrowseSourceFile, - btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR2, tsmiBrowseSourceFile, tsmiBrowseDestinationFile, - slblStatus, tsmiExtract, cmbConversionTR1, cmbConversionTR2, cmbConversionTR3, btnManageSlotsTR1, btnManageSlotsTR2, - btnManageSlotsTR3, tsmiBackupDestinationFile); + btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR1, lstDestinationSavegamesTR2, lstDestinationSavegamesTR3, + tsmiBrowseSourceFile, tsmiBrowseDestinationFile, slblStatus, tsmiExtract, cmbConversionTR1, cmbConversionTR2, cmbConversionTR3, + btnManageSlotsTR1, btnManageSlotsTR2, btnManageSlotsTR3, tsmiBackupDestinationFile); } private void ExtractSavegamesTR3() @@ -577,7 +581,7 @@ private void ExtractSavegamesTR3() CreateBackup(); } - DisableButtons(); + DisableControls(); progressForm = new ProgressForm(); progressForm.Owner = this; @@ -587,9 +591,9 @@ private void ExtractSavegamesTR3() TR3.WriteSavegamesToDestination(selectedSavegames, cklSourceSavegamesTR1, cklSourceSavegamesTR2, cklSourceSavegamesTR3, btnExtractTR1, btnExtractTR2, btnExtractTR3, btnSelectAllTR1, btnSelectAllTR2, btnSelectAllTR3, btnBrowseSourceFile, - btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR3, tsmiBrowseSourceFile, tsmiBrowseDestinationFile, - slblStatus, tsmiExtract, cmbConversionTR1, cmbConversionTR2, cmbConversionTR3, btnManageSlotsTR1, btnManageSlotsTR2, - btnManageSlotsTR3, tsmiBackupDestinationFile); + btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR1, lstDestinationSavegamesTR2, lstDestinationSavegamesTR3, + tsmiBrowseSourceFile, tsmiBrowseDestinationFile, slblStatus, tsmiExtract, cmbConversionTR1, cmbConversionTR2, cmbConversionTR3, + btnManageSlotsTR1, btnManageSlotsTR2, btnManageSlotsTR3, tsmiBackupDestinationFile); } private void btnExtractTR1_Click(object sender, EventArgs e) diff --git a/TombExtract/TR1Utilities.cs b/TombExtract/TR1Utilities.cs index f011b81..87d265e 100644 --- a/TombExtract/TR1Utilities.cs +++ b/TombExtract/TR1Utilities.cs @@ -198,9 +198,10 @@ public void WriteSavegamesToDestination(List savegames, CheckedListBox CheckedListBox cklSourceSavegamesTR2, CheckedListBox cklSourceSavegamesTR3, Button btnExtractTR1, Button btnExtractTR2, Button btnExtractTR3, Button btnSelectAllTR1, Button btnSelectAllTR2, Button btnSelectAllTR3, Button btnBrowseSourceFile, Button btnBrowseDestinationFile, CheckBox chkBackupOnWrite, ListBox lstDestinationSavegamesTR1, - ToolStripMenuItem tsmiBrowseSourceFile, ToolStripMenuItem tsmiBrowseDestinationFile, ToolStripStatusLabel slblStatus, - ToolStripMenuItem tsmiExtract, ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, - Button btnManageSlotsTR1, Button btnManageSlotsTR2, Button btnManageSlotsTR3, ToolStripMenuItem tsmiBackupDestinationFile) + ListBox lstDestinationSavegamesTR2, ListBox lstDestinationSavegamesTR3, ToolStripMenuItem tsmiBrowseSourceFile, + ToolStripMenuItem tsmiBrowseDestinationFile, ToolStripStatusLabel slblStatus, ToolStripMenuItem tsmiExtract, + ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, Button btnManageSlotsTR1, + Button btnManageSlotsTR2, Button btnManageSlotsTR3, ToolStripMenuItem tsmiBackupDestinationFile) { isWriting = true; @@ -252,9 +253,10 @@ public void WriteSavegamesToDestination(List savegames, CheckedListBox bgWorker.RunWorkerCompleted += (sender, e) => bgWorker_RunWorkerCompleted(sender, e, cklSourceSavegamesTR1, cklSourceSavegamesTR2, cklSourceSavegamesTR3, btnExtractTR1, btnExtractTR2, btnExtractTR3, btnSelectAllTR1, btnSelectAllTR2, btnSelectAllTR3, - btnBrowseSourceFile, btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR1, tsmiBrowseSourceFile, - tsmiBrowseDestinationFile, slblStatus, tsmiExtract, cmbConversionTR1, cmbConversionTR2, cmbConversionTR3, - btnManageSlotsTR1, btnManageSlotsTR2, btnManageSlotsTR3, tsmiBackupDestinationFile); + btnBrowseSourceFile, btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR1, lstDestinationSavegamesTR2, + lstDestinationSavegamesTR3, tsmiBrowseSourceFile, tsmiBrowseDestinationFile, slblStatus, tsmiExtract, + cmbConversionTR1, cmbConversionTR2, cmbConversionTR3, btnManageSlotsTR1, btnManageSlotsTR2, btnManageSlotsTR3, + tsmiBackupDestinationFile); bgWorker.ProgressChanged += UpdateProgressBar; @@ -268,9 +270,10 @@ private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventA CheckedListBox cklSourceSavegamesTR2, CheckedListBox cklSourceSavegamesTR3, Button btnExtractTR1, Button btnExtractTR2, Button btnExtractTR3, Button btnSelectAllTR1, Button btnSelectAllTR2, Button btnSelectAllTR3, Button btnBrowseSourceFile, Button btnBrowseDestinationFile, CheckBox chkBackupOnWrite, ListBox lstDestinationSavegamesTR1, - ToolStripMenuItem tsmiBrowseSourceFile, ToolStripMenuItem tsmiBrowseDestinationFile, ToolStripStatusLabel slblStatus, - ToolStripMenuItem tsmiExtract, ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, - Button btnManageSlotsTR1, Button btnManageSlotsTR2, Button btnManageSlotsTR3, ToolStripMenuItem tsmiBackupDestinationFile) + ListBox lstDestinationSavegamesTR2, ListBox lstDestinationSavegamesTR3, ToolStripMenuItem tsmiBrowseSourceFile, + ToolStripMenuItem tsmiBrowseDestinationFile, ToolStripStatusLabel slblStatus, ToolStripMenuItem tsmiExtract, + ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, Button btnManageSlotsTR1, + Button btnManageSlotsTR2, Button btnManageSlotsTR3, ToolStripMenuItem tsmiBackupDestinationFile) { progressForm.Close(); @@ -310,6 +313,10 @@ private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventA cklSourceSavegamesTR2.Enabled = true; cklSourceSavegamesTR3.Enabled = true; + lstDestinationSavegamesTR1.Enabled = true; + lstDestinationSavegamesTR2.Enabled = true; + lstDestinationSavegamesTR3.Enabled = true; + cmbConversionTR1.Enabled = true; cmbConversionTR2.Enabled = true; cmbConversionTR3.Enabled = true; diff --git a/TombExtract/TR2Utilities.cs b/TombExtract/TR2Utilities.cs index 5dc4a1d..b8419be 100644 --- a/TombExtract/TR2Utilities.cs +++ b/TombExtract/TR2Utilities.cs @@ -200,10 +200,11 @@ public int GetNumOverwrites(List savegames) public void WriteSavegamesToDestination(List savegames, CheckedListBox cklSourceSavegamesTR1, CheckedListBox cklSourceSavegamesTR2, CheckedListBox cklSourceSavegamesTR3, Button btnExtractTR1, Button btnExtractTR2, Button btnExtractTR3, Button btnSelectAllTR1, Button btnSelectAllTR2, Button btnSelectAllTR3, - Button btnBrowseSourceFile, Button btnBrowseDestinationFile, CheckBox chkBackupOnWrite, ListBox lstDestinationSavegamesTR2, - ToolStripMenuItem tsmiBrowseSourceFile, ToolStripMenuItem tsmiBrowseDestinationFile, ToolStripStatusLabel slblStatus, - ToolStripMenuItem tsmiExtract, ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, - Button btnManageSlotsTR1, Button btnManageSlotsTR2, Button btnManageSlotsTR3, ToolStripMenuItem tsmiBackupDestinationFile) + Button btnBrowseSourceFile, Button btnBrowseDestinationFile, CheckBox chkBackupOnWrite, ListBox lstDestinationSavegamesTR1, + ListBox lstDestinationSavegamesTR2, ListBox lstDestinationSavegamesTR3, ToolStripMenuItem tsmiBrowseSourceFile, + ToolStripMenuItem tsmiBrowseDestinationFile, ToolStripStatusLabel slblStatus, ToolStripMenuItem tsmiExtract, + ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, Button btnManageSlotsTR1, + Button btnManageSlotsTR2, Button btnManageSlotsTR3, ToolStripMenuItem tsmiBackupDestinationFile) { isWriting = true; @@ -255,9 +256,9 @@ public void WriteSavegamesToDestination(List savegames, CheckedListBox bgWorker.RunWorkerCompleted += (sender, e) => bgWorker_RunWorkerCompleted(sender, e, cklSourceSavegamesTR1, cklSourceSavegamesTR2, cklSourceSavegamesTR3, btnExtractTR1, btnExtractTR2, btnExtractTR3, btnSelectAllTR1, btnSelectAllTR2, btnSelectAllTR3, - btnBrowseSourceFile, btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR2, tsmiBrowseSourceFile, - tsmiBrowseDestinationFile, slblStatus, tsmiExtract, cmbConversionTR1, cmbConversionTR2, cmbConversionTR3, btnManageSlotsTR1, - btnManageSlotsTR2, btnManageSlotsTR3, tsmiBackupDestinationFile); + btnBrowseSourceFile, btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR1, lstDestinationSavegamesTR2, + lstDestinationSavegamesTR3, tsmiBrowseSourceFile, tsmiBrowseDestinationFile, slblStatus, tsmiExtract, cmbConversionTR1, + cmbConversionTR2, cmbConversionTR3, btnManageSlotsTR1, btnManageSlotsTR2, btnManageSlotsTR3, tsmiBackupDestinationFile); bgWorker.ProgressChanged += UpdateProgressBar; @@ -270,10 +271,11 @@ public void WriteSavegamesToDestination(List savegames, CheckedListBox private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e, CheckedListBox cklSourceSavegamesTR1, CheckedListBox cklSourceSavegamesTR2, CheckedListBox cklSourceSavegamesTR3, Button btnExtractTR1, Button btnExtractTR2, Button btnExtractTR3, Button btnSelectAllTR1, Button btnSelectAllTR2, Button btnSelectAllTR3, Button btnBrowseSourceFile, - Button btnBrowseDestinationFile, CheckBox chkBackupOnWrite, ListBox lstDestinationSavegamesTR2, - ToolStripMenuItem tsmiBrowseSourceFile, ToolStripMenuItem tsmiBrowseDestinationFile, ToolStripStatusLabel slblStatus, - ToolStripMenuItem tsmiExtract, ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, - Button btnManageSlotsTR1, Button btnManageSlotsTR2, Button btnManageSlotsTR3, ToolStripMenuItem tsmiBackupDestinationFile) + Button btnBrowseDestinationFile, CheckBox chkBackupOnWrite, ListBox lstDestinationSavegamesTR1, ListBox lstDestinationSavegamesTR2, + ListBox lstDestinationSavegamesTR3, ToolStripMenuItem tsmiBrowseSourceFile, ToolStripMenuItem tsmiBrowseDestinationFile, + ToolStripStatusLabel slblStatus, ToolStripMenuItem tsmiExtract, ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, + ComboBox cmbConversionTR3, Button btnManageSlotsTR1, Button btnManageSlotsTR2, Button btnManageSlotsTR3, + ToolStripMenuItem tsmiBackupDestinationFile) { progressForm.Close(); @@ -313,6 +315,10 @@ private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventA cklSourceSavegamesTR2.Enabled = true; cklSourceSavegamesTR3.Enabled = true; + lstDestinationSavegamesTR1.Enabled = true; + lstDestinationSavegamesTR2.Enabled = true; + lstDestinationSavegamesTR3.Enabled = true; + cmbConversionTR1.Enabled = true; cmbConversionTR2.Enabled = true; cmbConversionTR3.Enabled = true; diff --git a/TombExtract/TR3Utilities.cs b/TombExtract/TR3Utilities.cs index c2f6eab..7c0de02 100644 --- a/TombExtract/TR3Utilities.cs +++ b/TombExtract/TR3Utilities.cs @@ -203,10 +203,11 @@ public int GetNumOverwrites(List savegames) public void WriteSavegamesToDestination(List savegames, CheckedListBox cklSourceSavegamesTR1, CheckedListBox cklSourceSavegamesTR2, CheckedListBox cklSourceSavegamesTR3, Button btnExtractTR1, Button btnExtractTR2, Button btnExtractTR3, Button btnSelectAllTR1, Button btnSelectAllTR2, Button btnSelectAllTR3, - Button btnBrowseSourceFile, Button btnBrowseDestinationFile, CheckBox chkBackupOnWrite, ListBox lstDestinationSavegamesTR3, - ToolStripMenuItem tsmiBrowseSourceFile, ToolStripMenuItem tsmiBrowseDestinationFile, ToolStripStatusLabel slblStatus, - ToolStripMenuItem tsmiExtract, ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, - Button btnManageSlotsTR1, Button btnManageSlotsTR2, Button btnManageSlotsTR3, ToolStripMenuItem tsmiBackupDestinationFile) + Button btnBrowseSourceFile, Button btnBrowseDestinationFile, CheckBox chkBackupOnWrite, ListBox lstDestinationSavegamesTR1, + ListBox lstDestinationSavegamesTR2, ListBox lstDestinationSavegamesTR3, ToolStripMenuItem tsmiBrowseSourceFile, + ToolStripMenuItem tsmiBrowseDestinationFile, ToolStripStatusLabel slblStatus, ToolStripMenuItem tsmiExtract, + ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, Button btnManageSlotsTR1, + Button btnManageSlotsTR2, Button btnManageSlotsTR3, ToolStripMenuItem tsmiBackupDestinationFile) { isWriting = true; @@ -258,9 +259,9 @@ public void WriteSavegamesToDestination(List savegames, CheckedListBox bgWorker.RunWorkerCompleted += (sender, e) => bgWorker_RunWorkerCompleted(sender, e, cklSourceSavegamesTR1, cklSourceSavegamesTR2, cklSourceSavegamesTR3, btnExtractTR1, btnExtractTR2, btnExtractTR3, btnSelectAllTR1, btnSelectAllTR2, btnSelectAllTR3, - btnBrowseSourceFile, btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR3, tsmiBrowseSourceFile, - tsmiBrowseDestinationFile, slblStatus, tsmiExtract, cmbConversionTR1, cmbConversionTR2, cmbConversionTR3, btnManageSlotsTR1, - btnManageSlotsTR2, btnManageSlotsTR3, tsmiBackupDestinationFile); + btnBrowseSourceFile, btnBrowseDestinationFile, chkBackupOnWrite, lstDestinationSavegamesTR1, lstDestinationSavegamesTR2, + lstDestinationSavegamesTR3, tsmiBrowseSourceFile, tsmiBrowseDestinationFile, slblStatus, tsmiExtract, cmbConversionTR1, + cmbConversionTR2, cmbConversionTR3, btnManageSlotsTR1, btnManageSlotsTR2, btnManageSlotsTR3, tsmiBackupDestinationFile); bgWorker.ProgressChanged += UpdateProgressBar; @@ -274,10 +275,10 @@ private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventA CheckedListBox cklSourceSavegamesTR2, CheckedListBox cklSourceSavegamesTR3, Button btnExtractTR1, Button btnExtractTR2, Button btnExtractTR3, Button btnSelectAllTR1, Button btnSelectAllTR2, Button btnSelectAllTR3, Button btnBrowseSourceFile, Button btnBrowseDestinationFile, CheckBox chkBackupOnWrite, - ListBox lstDestinationSavegamesTR3, ToolStripMenuItem tsmiBrowseSourceFile, ToolStripMenuItem tsmiBrowseDestinationFile, - ToolStripStatusLabel slblStatus, ToolStripMenuItem tsmiExtract, ComboBox cmbConversionTR1, - ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, Button btnManageSlotsTR1, Button btnManageSlotsTR2, Button btnManageSlotsTR3, - ToolStripMenuItem tsmiBackupDestinationFile) + ListBox lstDestinationSavegamesTR1, ListBox lstDestinationSavegamesTR2, ListBox lstDestinationSavegamesTR3, + ToolStripMenuItem tsmiBrowseSourceFile, ToolStripMenuItem tsmiBrowseDestinationFile, ToolStripStatusLabel slblStatus, + ToolStripMenuItem tsmiExtract, ComboBox cmbConversionTR1, ComboBox cmbConversionTR2, ComboBox cmbConversionTR3, + Button btnManageSlotsTR1, Button btnManageSlotsTR2, Button btnManageSlotsTR3, ToolStripMenuItem tsmiBackupDestinationFile) { progressForm.Close(); @@ -317,6 +318,10 @@ private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventA cklSourceSavegamesTR2.Enabled = true; cklSourceSavegamesTR3.Enabled = true; + lstDestinationSavegamesTR1.Enabled = true; + lstDestinationSavegamesTR2.Enabled = true; + lstDestinationSavegamesTR3.Enabled = true; + cmbConversionTR1.Enabled = true; cmbConversionTR2.Enabled = true; cmbConversionTR3.Enabled = true; diff --git a/TombExtract/bin/x64/Release/TombExtract.exe b/TombExtract/bin/x64/Release/TombExtract.exe index 0178c894e8bc54fa057027138fc7bf9abc6f9658..81703ca0d0a8a8c50b6deb8bdebb354c233ae7b2 100644 GIT binary patch delta 6813 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 YkxN$_GA}fat4rP}RUC}3ky>;94G9L9hyVZp delta 6497 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