Skip to content
This repository has been archived by the owner on May 15, 2022. It is now read-only.

Commit

Permalink
fix potential crash and fix library file scanner
Browse files Browse the repository at this point in the history
  • Loading branch information
PhantomGamers committed Oct 23, 2021
1 parent 5c95054 commit 6399bfd
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 22 deletions.
16 changes: 12 additions & 4 deletions FileWatcher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,9 @@ public static void ToggleCacheScanner(bool isEnabled)

StartCrashScanner();

if (Settings.Default.patchLibraryBeta && Directory.Exists(Path.Combine(LibraryUIDir, "css")))
if (Settings.Default.patchLibraryBeta)
{
Directory.CreateDirectory(Path.Combine(LibraryUIDir, "css"));
StartLibraryScanner();
}

Expand Down Expand Up @@ -233,7 +234,7 @@ private static void StartLibraryScanner()
NotifyFilter = NotifyFilters.LastAccess
| NotifyFilters.LastWrite
| NotifyFilters.FileName,
Filter = libraryRootCss
Filter = "*.css"
};
libraryWatcher.Created += LibraryWatcher_Event;
libraryWatcher.Changed += LibraryWatcher_Event;
Expand All @@ -245,12 +246,19 @@ private static void StartLibraryScanner()

private static void LibraryWatcher_Event(object sender, FileSystemEventArgs e)
{
Print($"New library file found: {e.Name}", LogLevel.Debug);
if (e.Name != Settings.Default.libraryRootCss && e.Name != libraryRootCss)
{
return;
}

switch (e.ChangeType)
{
case WatcherChangeTypes.Changed:
case WatcherChangeTypes.Created:
{
Print("Library change detected.", LogLevel.Debug);
Thread.Sleep((int)TimeSpan.FromSeconds(1).TotalMilliseconds);
PatchLibrary();
break;
}
Expand Down Expand Up @@ -289,8 +297,8 @@ private static void StartFriendsListWatcher()

private static void CacheWatcher_Changed(object sender, FileSystemEventArgs e)
{
if (PendingCacheFiles.Contains(e.Name) || !updatePending &&
friendsCssCrcs[0] == null && friendsCssCrcs[1] == null)
if (PendingCacheFiles.Contains(e.Name) || (!updatePending &&
friendsCssCrcs[0] == null && friendsCssCrcs[1] == null))
{
return;
}
Expand Down
37 changes: 20 additions & 17 deletions Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -354,28 +354,31 @@ public static void PatchLibrary()
}
File.WriteAllText(LibraryCSS, librarycss);

string maincss = File.ReadAllText(Path.Combine(LibraryUIDir, "css", "main.css"));
bool maincsspatched = false;
if (maincss.StartsWith(patchedText, StringComparison.InvariantCulture))
if (File.Exists(Path.Combine(LibraryUIDir, "css", "main.css")))
{
Print("Library main.css already patched.", LogLevel.Debug);
maincsspatched = true;
}
if (!maincsspatched)
{
if (File.Exists(Path.Combine(LibraryUIDir, "main.original.css")))
string maincss = File.ReadAllText(Path.Combine(LibraryUIDir, "css", "main.css"));
bool maincsspatched = false;
if (maincss.StartsWith(patchedText, StringComparison.InvariantCulture))
{
File.Delete(Path.Combine(LibraryUIDir, "main.original.css"));
Print("Library main.css already patched.", LogLevel.Debug);
maincsspatched = true;
}
if (!File.Exists(Path.Combine(LibraryUIDir, "main.custom.css")))
if (!maincsspatched)
{
File.Create(Path.Combine(LibraryUIDir, "main.custom.css")).Dispose();
if (File.Exists(Path.Combine(LibraryUIDir, "main.original.css")))
{
File.Delete(Path.Combine(LibraryUIDir, "main.original.css"));
}
if (!File.Exists(Path.Combine(LibraryUIDir, "main.custom.css")))
{
File.Create(Path.Combine(LibraryUIDir, "main.custom.css")).Dispose();
}
File.Copy(Path.Combine(LibraryUIDir, "css", "main.css"), Path.Combine(LibraryUIDir, "main.original.css"));
int originalmaincsslength = maincss.Length;
maincss = patchedText + "\n@import url(\"https://steamloopback.host/main.original.css\");\n@import url(\"https://steamloopback.host/main.custom.css\");\n";
maincss += new string('\t', originalmaincsslength - maincss.Length);
File.WriteAllText(Path.Combine(LibraryUIDir, "css", "main.css"), maincss);
}
File.Copy(Path.Combine(LibraryUIDir, "css", "main.css"), Path.Combine(LibraryUIDir, "main.original.css"));
int originalmaincsslength = maincss.Length;
maincss = patchedText + "\n@import url(\"https://steamloopback.host/main.original.css\");\n@import url(\"https://steamloopback.host/main.custom.css\");\n";
maincss += new string('\t', originalmaincsslength - maincss.Length);
File.WriteAllText(Path.Combine(LibraryUIDir, "css", "main.css"), maincss);
}

string ofriendscss = File.ReadAllText(steamDir + "\\clientui\\css\\friends.css");
Expand Down
2 changes: 1 addition & 1 deletion version.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
"version": "0.1.38-beta"
"version": "0.1.39-beta"
}

0 comments on commit 6399bfd

Please sign in to comment.