Permalink
Browse files

* Resolved empty game version identifiers getting written to the save…

… archive

* Added support for a revision attribute on game versions, allowing the same game to appear multiple time (for deprecating entries)
* Fixed the downloading and temp steam folders being detected as users
* Archives from previous revisions of a game profile will show up in the current revision's archive list, but will stll use the deprecated paths for restoring
  • Loading branch information...
sanmadjack committed Jun 19, 2013
1 parent 7340589 commit bd8686e88c5d7f9aac1bd84bce04ef07926129af
@@ -5,6 +5,10 @@
* Fixed e-mailing errors causing a WTF exception
* Restored the "no archive data" error message, was showing a "string not found" exception in its place
* Resolved an issue causing some steam games to be detected twice
* Resolved empty game version identifiers getting written to the save archive
* Added support for a revision attribute on game versions, allowing the same game to appear multiple time (for deprecating entries)
* Fixed the downloading and temp steam folders being detected as users
* Archives from previous revisions of a game profile will show up in the current revision's archive list, but will stll use the deprecated paths for restoring
=1.0.4=
* Can now detect Steam games that have been installed on other drives through Steam's new feature that lets you do what I just said.
@@ -180,10 +180,10 @@ public class ArchiveID : AIdentifier {
public override String ToString() {
StringBuilder return_me = new StringBuilder(Game.ToString());
if (Owner != null)
if (!String.IsNullOrEmpty(Owner))
return_me.Append(Core.seperator + Owner);
if (Type != null)
if (!String.IsNullOrEmpty(Type))
return_me.Append(Core.seperator + Type);
if (OriginalLocationhHash != null)
@@ -22,7 +22,7 @@ public class Archives : StaticModel<ArchiveID, Archive> {
public static IList<Archive> GetArchives(GameID id) {
IList<Archive> archives = new List<Archive>();
foreach (Archive archive in model.Items) {
if (archive.id.Game.Equals(id))
if (archive.id.Game.Equals(id,true))
archives.Add(archive);
}
return archives;
Submodule Data updated 6 files
+516 −508 GameSaveInfo202.xsd
+3 −3 c.xml
+1 −0 d.xml
+276 −1 deprecated.xml
+2 −2 g.xml
+12 −12 h.xml
@@ -162,16 +162,21 @@ public class GameEntry : AModelItem<GameID> {
return true;
if (IsDeprecated)
return false;
return false;
if (DetectedLocations != null) {
if (DetectedLocations.Count > 0) {
return true;
}
}
return false;
return HasDetectedLocations;
}
}
public bool HasDetectedLocations {
get {
if (DetectedLocations != null) {
if (DetectedLocations.Count > 0) {
return true;
}
}
return false;
}
}
public bool CanBeMonitored {
get {
@@ -32,16 +32,18 @@ public class GameID : AIdentifier {
private static String ToString(GameIdentifier id) {
StringBuilder return_me = new StringBuilder(id.Name);
if (id.Release != null)
if (!String.IsNullOrEmpty(id.Release))
return_me.Append(Core.seperator + id.Release);
if (id.OS != null)
if (!String.IsNullOrEmpty(id.OS))
return_me.Append(Core.seperator + id.OS);
if (id.Platform != null)
if (!String.IsNullOrEmpty(id.Platform))
return_me.Append(Core.seperator + id.Platform);
if (id.Region != null)
if (!String.IsNullOrEmpty(id.Region))
return_me.Append(Core.seperator + id.Region);
if (id.Media != null)
if (!String.IsNullOrEmpty(id.Media))
return_me.Append(Core.seperator + id.Media);
if(id.Revision != 0)
return_me.Append(Core.seperator + "rev" + id.Revision);
return return_me.ToString();
}
@@ -87,19 +89,30 @@ public class GameID : AIdentifier {
return game.CompareTo(id.game);
}
public static bool Equals(AComparable a, AComparable b) {
return Compare(a as GameID, b as GameID) == 0;
}
public static bool Equals(AComparable a, AComparable b) {
return Compare(a as GameID, b as GameID) == 0;
}
public static bool Equals(AComparable a, AComparable b, bool ignore_revision) {
return Compare(a as GameID, b as GameID, ignore_revision) == 0;
}
public override Boolean Equals(AComparable to_me) {
return Equals(this, to_me as GameID);
}
public Boolean Equals(AComparable to_me, bool ignore_revision) {
return Equals(this, to_me as GameID,ignore_revision);
}
public static int Compare(GameID a, GameID b) {
return a.game.CompareTo(b.game);
}
public static int Compare(GameID a, GameID b, bool ignore_revision) {
return a.game.CompareTo(b.game, ignore_revision);
}
public override String ToString() {
return ToString(game);
}
@@ -126,7 +126,7 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SecurityHandler.cs" />
<Compile Include="structs.cs" />
<EmbeddedResource Include="data\GameSaveInfo20.xsd" />
<None Include="data\GameSaveInfo202.xsd" />
<None Include="Task\DayOfWeek.cs" />
<None Include="Task\Frequency.cs" />
<None Include="Task\TaskHandler.cs" />
@@ -154,7 +154,9 @@
<EmbeddedResource Include="data\a.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="data\b.xml" />
<EmbeddedResource Include="data\b.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="data\c.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
@@ -13,7 +13,7 @@ namespace MASGAU.Restore {
public class RestoreProgramHandler : AProgramHandler {
public bool GameNotDetected {
get {
return game_data == null || !game_data.IsDetected;
return game_data == null || !game_data.HasDetectedLocations;
}
}
public static Boolean use_defaults = false;
BIN +22.5 KB (100%) MASGAU.NET.v11.suo
Binary file not shown.
@@ -2,6 +2,7 @@
using GameSaveInfo;
using MASGAU.Registry;
using VDF;
using System.Collections.Generic;
namespace MASGAU.Location {
public class SteamLocationHandler : ASteamLocationHandler {
// Custom Methods
@@ -18,12 +19,14 @@ public SteamLocationHandler()
return null;
}
private List<string> non_user_folders = new List<string>() {"common", "sourcemods", "media", "downloading", "temp"};
protected void loadSteamPaths(DirectoryInfo read_me) {
DirectoryInfo[] read_us;
if (read_me.Exists) {
read_us = read_me.GetDirectories();
foreach (DirectoryInfo subDir in read_us) {
if (subDir.Name.ToLower() != "common" && subDir.Name.ToLower() != "sourcemods" && subDir.Name.ToLower() != "media") {
if (!non_user_folders.Contains(subDir.Name.ToLower())) {
addUserEv(subDir.Name, EnvironmentVariable.SteamUser, subDir.FullName, subDir.FullName);
}
}

0 comments on commit bd8686e

Please sign in to comment.