ruarai / CompilePal

A tool to assist in the compiling of source engine maps
GNU General Public License v3.0
220 stars 25 forks source link

[SOLVED] No launch, no error. #163

Closed botky closed 2 years ago

botky commented 2 years ago

Bug Description: The problem might sound simple but I have tried fixes for the last 5 hours and none of them worked. The thing is, I'm pretty sure we can exclude the program being faulty, it might be an issue related to my permissions/ssd settings, but it's just a guess, I can't really know for sure.

A friend suggested that I delete the config from the GameConfiguration folder, which I did and after trying to restart the program, it won't launch, and more than that it doesn't even generate another config file. No error/no crash/no freeze, nothing happens when I start it.

Other things that might be related or not that I can think about:

Things I have tried:

All I wish is that this can be somehow fixed without having to buy another drive or having to reinstall windows.

Best Regards !

Note: the following logs are generated without me having any config file in GameConfiguration folder so we can exclude that the config is not properly configured.

DEBUG.LOG:

An exception was caught by the ExceptionHandler:
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Program Files (x86)\Steam\steamapps\common\Source SDK Base 2013 Multiplayer\bin\GameConfig.txt'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean checkHost)
   at System.IO.StreamReader..ctor(String path, Encoding encoding)
   at System.IO.File.InternalReadAllLines(String path, Encoding encoding)
   at System.IO.File.ReadAllLines(String path)
   at CompilePalX.GameConfigurationParser.Parse(String filename) in D:\a\CompilePal\CompilePal\CompilePalX\GameConfiguration\GameConfigurationParser.cs:line 10
   at CompilePalX.LaunchWindow..ctor() in D:\a\CompilePal\CompilePal\CompilePalX\GameConfiguration\LaunchWindow.xaml.cs:line 60
An exception was caught by the ExceptionHandler:
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompilePalX.ProgressManager.ErrorProgress() in D:\a\CompilePal\CompilePal\CompilePalX\Compiling\ProgressManager.cs:line 74
   at CompilePalX.ExceptionHandler.<LogException>d__0.MoveNext() in D:\a\CompilePal\CompilePal\CompilePalX\ExceptionHandler.cs:line 35
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
An exception was caught by the ExceptionHandler:
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompilePalX.ProgressManager.ErrorProgress() in D:\a\CompilePal\CompilePal\CompilePalX\Compiling\ProgressManager.cs:line 74
   at CompilePalX.ExceptionHandler.<LogException>d__0.MoveNext() in D:\a\CompilePal\CompilePal\CompilePalX\ExceptionHandler.cs:line 35
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at System.Windows.Application.Run()
   at CompilePalX.App.Main()

CRASH.LOG:

System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Program Files (x86)\Steam\steamapps\common\Source SDK Base 2013 Multiplayer\bin\GameConfig.txt'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean checkHost)
   at System.IO.StreamReader..ctor(String path, Encoding encoding)
   at System.IO.File.InternalReadAllLines(String path, Encoding encoding)
   at System.IO.File.ReadAllLines(String path)
   at CompilePalX.GameConfigurationParser.Parse(String filename) in D:\a\CompilePal\CompilePal\CompilePalX\GameConfiguration\GameConfigurationParser.cs:line 10
   at CompilePalX.LaunchWindow..ctor() in D:\a\CompilePal\CompilePal\CompilePalX\GameConfiguration\LaunchWindow.xaml.cs:line 60
botky commented 2 years ago

Update:

After some hours of looking in different stupid directions, I have found the solution. The issue was related to GameConfig.txt having wrong paths. Modified to the actual paths and everything works like a charm now.