Skip to content

Commit

Permalink
Fixed the savegame.unencrypted path issue
Browse files Browse the repository at this point in the history
  • Loading branch information
John committed Mar 26, 2020
1 parent 7f678a3 commit ca23650
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 32 deletions.
3 changes: 2 additions & 1 deletion DoomEternal.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public class DoomEternal
public const int SteamGameID = 782330;
public static string SteamSavePath = Path.Combine(Utilities.GetSteamPath(), "userdata");
public static string BnetSavePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Saved Games", "id Software", "DOOMEternal", "base", "savegame");
public static string BnetSavePathUnencrypted = Path.Combine(BnetSavePath, "savegame.unencrypted", Environment.UserName);

public const string BackupPassword = "doometernalbackup";

Expand All @@ -22,7 +23,7 @@ public class DoomEternal
public static void EnumerateSaves() {
Saves = new DoomEternalSaveCollection();
if (Directory.Exists(BnetSavePath)) {
Saves.Add(new DoomEternalSave("savegame.unencrypted", BnetSavePath, DoomEternalSavePlatform.BethesdaNet));
Saves.Add(new DoomEternalSave("savegame.unencrypted", BnetSavePathUnencrypted, DoomEternalSavePlatform.BethesdaNet));
foreach (var single in Directory.GetDirectories(BnetSavePath, "*.*", SearchOption.TopDirectoryOnly)) {
if (Utilities.CheckUUID(Path.GetFileNameWithoutExtension(single)))
Saves.Add(new DoomEternalSave(Path.GetFileNameWithoutExtension(single), BnetSavePath, DoomEternalSavePlatform.BethesdaNet));
Expand Down
27 changes: 11 additions & 16 deletions Form1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,8 @@ public Form1() {

private void Form1_Load(object sender, EventArgs e) {
DoomEternal.EnumerateSaves();
bool res = false;
// add tabs back if the games exist
if(Directory.Exists(DoomEternal.BnetSavePath) || Directory.Exists(DoomEternal.SteamSavePath)) {
res = true;
}
if(!res) {

if(!Directory.Exists(DoomEternal.BnetSavePath) && !Directory.Exists(DoomEternal.BnetSavePathUnencrypted) && !Directory.Exists(DoomEternal.SteamSavePath)) {
MessageBox.Show("DOOM Eternal wasn't found on your computer!\r\nThe program will now exit...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.Exit();
}
Expand All @@ -37,8 +33,7 @@ private void actionOkBtn_Click(object sender, EventArgs e) {
var suf = new SelectForm("Select Import Destination");
if (suf.ShowDialog() == DialogResult.OK) {
if (suf.SelectedSave.Identifier == "savegame.unencrypted") {
// Directory.CreateDirectory(Path.Combine(DoomEternal.SavePath, "savegame.unencrypted"));
Utilities.Unarchive(ofd.FileName, Path.Combine(DoomEternal.BnetSavePath, "savegame.unencrypted"));
Utilities.Unarchive(ofd.FileName, DoomEternal.BnetSavePathUnencrypted);
} else {
if (suf.SelectedSave.Platform == DoomEternalSavePlatform.BethesdaNet) {
Directory.CreateDirectory("tmp");
Expand All @@ -57,7 +52,7 @@ private void actionOkBtn_Click(object sender, EventArgs e) {
}
}
break;
}
}
case "Export Backup": {
var suf = new SelectForm("Select Export Source");
if(suf.ShowDialog() == DialogResult.OK) {
Expand All @@ -69,7 +64,7 @@ private void actionOkBtn_Click(object sender, EventArgs e) {
sfd.FileName = "backup.zip";
if (sfd.ShowDialog() == DialogResult.OK) {
if (suf.SelectedSave.Identifier == "savegame.unencrypted") {
Utilities.Archive(sfd.FileName, Path.Combine(DoomEternal.BnetSavePath, "savegame.unencrypted"));
Utilities.Archive(sfd.FileName, DoomEternal.BnetSavePathUnencrypted);
} else {
if(suf.SelectedSave.Platform == DoomEternalSavePlatform.BethesdaNet) {
Directory.CreateDirectory("tmp");
Expand All @@ -88,21 +83,21 @@ private void actionOkBtn_Click(object sender, EventArgs e) {
}
}
break;
}
}
case "Transfer": {
var tf = new TransferForm();
if(tf.ShowDialog() == DialogResult.OK) {
// messy :'(
if (tf.SrcSave.Identifier == "savegame.unencrypted") {
if (tf.DstSave.Platform == DoomEternalSavePlatform.BethesdaNet)
DoomEternal.BnetBulkEncrypt(Path.Combine(DoomEternal.BnetSavePath, "savegame.unencrypted"), tf.DstSave.Identifier);
DoomEternal.BnetBulkEncrypt(DoomEternal.BnetSavePathUnencrypted, tf.DstSave.Identifier);
else if (tf.DstSave.Platform == DoomEternalSavePlatform.Steam)
DoomEternal.SteamBulkEncrypt(Path.Combine(DoomEternal.BnetSavePath, "savegame.unencrypted"), tf.DstSave.Identifier);
DoomEternal.SteamBulkEncrypt(DoomEternal.BnetSavePathUnencrypted, tf.DstSave.Identifier);
} else if (tf.DstSave.Identifier == "savegame.unencrypted") {
if (tf.SrcSave.Platform == DoomEternalSavePlatform.BethesdaNet)
DoomEternal.BnetBulkDecrypt(tf.SrcSave.Identifier, Path.Combine(DoomEternal.BnetSavePath, "savegame.unencrypted"));
DoomEternal.BnetBulkDecrypt(tf.SrcSave.Identifier, DoomEternal.BnetSavePathUnencrypted);
else if (tf.SrcSave.Platform == DoomEternalSavePlatform.Steam)
DoomEternal.SteamBulkDecrypt(tf.SrcSave.Identifier, Path.Combine(DoomEternal.BnetSavePath, "savegame.unencrypted"));
DoomEternal.SteamBulkDecrypt(tf.SrcSave.Identifier, DoomEternal.BnetSavePathUnencrypted);
} else {
if (tf.SrcSave.Platform == DoomEternalSavePlatform.BethesdaNet && tf.DstSave.Platform == DoomEternalSavePlatform.BethesdaNet) // bnet to bnet
DoomEternal.BnetBulkTransfer(tf.SrcSave.Identifier, tf.DstSave.Identifier);
Expand All @@ -116,7 +111,7 @@ private void actionOkBtn_Click(object sender, EventArgs e) {
MessageBox.Show("Transfer success!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
break;
}
}
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.2.0.1")]
[assembly: AssemblyFileVersion("1.2.0.1")]
[assembly: AssemblyVersion("1.2.0.2")]
[assembly: AssemblyFileVersion("1.2.0.2")]
3 changes: 0 additions & 3 deletions SelectForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ private void SelectForm_Load(object sender, EventArgs e) {
if (selectComboBox.Items.Count > 0) {
selectComboBox.SelectedIndex = 0;
}
if (!Directory.Exists(Path.Combine(DoomEternal.BnetSavePath, "savegame.unencrypted"))) {
selectComboBox.Items.Remove("savegame.unencrypted");
}
}

private void selectOkBtn_Click(object sender, EventArgs e) {
Expand Down
12 changes: 2 additions & 10 deletions TransferForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,9 @@ private void TransferForm_Load(object sender, EventArgs e) {
DoomEternal.EnumerateSaves();
uids = DoomEternal.Saves.GetIdentifiers();

if (!Directory.Exists(Path.Combine(DoomEternal.BnetSavePath, "savegame.unencrypted")))
srcComboBox.Items.Remove("savegame.unencrypted");
srcComboBox.Items.AddRange(uids);

dstComboBox.Items.AddRange(uids);
//dstComboBox.Items.Add("savegame.unencrypted");

if (srcComboBox.Items.Count > 0)
srcComboBox.SelectedIndex = 0;
Expand All @@ -44,7 +41,7 @@ private void transferOkBtn_Click(object sender, EventArgs e) {
}

if(SrcSave.Platform == DoomEternalSavePlatform.BethesdaNet) {
if (!Directory.Exists(Path.Combine(DoomEternal.BnetSavePath, SrcSave.Identifier))) {
if (!Directory.Exists(Path.Combine(DoomEternal.BnetSavePath, SrcSave.Identifier)) && !Directory.Exists(Path.Combine(DoomEternal.BnetSavePathUnencrypted, SrcSave.Identifier))) {
MessageBox.Show("Source directory doesn't exist!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Expand All @@ -56,7 +53,7 @@ private void transferOkBtn_Click(object sender, EventArgs e) {
}

if (DstSave.Platform == DoomEternalSavePlatform.BethesdaNet) {
if (!Directory.Exists(Path.Combine(DoomEternal.BnetSavePath, DstSave.Identifier))) {
if (!Directory.Exists(Path.Combine(DoomEternal.BnetSavePath, DstSave.Identifier)) && !Directory.Exists(Path.Combine(DoomEternal.BnetSavePathUnencrypted, DstSave.Identifier))) {
MessageBox.Show("Destination directory doesn't exist!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Expand All @@ -67,11 +64,6 @@ private void transferOkBtn_Click(object sender, EventArgs e) {
}
}

//if(dstComboBox.Text == "savegame.unencrypted") {
// if (!Directory.Exists(Path.Combine(DoomEternal.BnetSavePath, dstComboBox.Text)))
// Directory.CreateDirectory(Path.Combine(DoomEternal.BnetSavePath, dstComboBox.Text));
//}

DialogResult = DialogResult.OK;
}

Expand Down

0 comments on commit ca23650

Please sign in to comment.