Skip to content

Using Color Picker before a Game Scan crashes Launcher #115

@CWO333

Description

@CWO333

Steps to Reproduce:
Install the game either from the Mediafire installer or Steam.
Install Celeste Launcher.
Do not run a game scan.
Use the color picker and set a color.
Press Play.

This causes the Launcher to crash with no dialog error message.

2025-11-18 15:52:38.004 -06:00 [INF] Initializing bootstrapper
2025-11-18 15:52:38.035 -06:00 [INF] No user config loaded, path C:\Users\MyWindowsUser\AppData\Roaming\ProjectCeleste\CelesteConfig.xml does not exist
2025-11-18 15:52:38.035 -06:00 [INF] Game path set to C:\Users\MyWindowsUser\AppData\Roaming\ProjectCeleste\CelesteConfig.xml
2025-11-18 15:52:38.035 -06:00 [INF] IsSteamVersion: false
2025-11-18 15:52:38.035 -06:00 [INF] Initialized web socket
2025-11-18 15:52:38.035 -06:00 [INF] Initializing fingerprint provider
2025-11-18 15:52:38.035 -06:00 [INF] Localized UI language to English (United States)
2025-11-18 15:52:38.035 -06:00 [INF] Bootstrapper initialized
2025-11-18 15:52:45.782 -06:00 [INF] Stored credentials is null: false
2025-11-18 15:52:45.783 -06:00 [INF] Performing login with entered credentials
2025-11-18 15:52:45.787 -06:00 [DBG] Initializing web socket
2025-11-18 15:52:45.796 -06:00 [INF] Attempting to connect to wss://prod.projectceleste.com:4513/
2025-11-18 15:52:46.025 -06:00 [DBG] Web socket open
2025-11-18 15:52:46.025 -06:00 [INF] Successfully connected websocket
2025-11-18 15:52:46.207 -06:00 [INF] Login succeeded
2025-11-18 15:52:59.832 -06:00 [INF] Preparing to start game, is offline: false
2025-11-18 15:52:59.832 -06:00 [INF] User config loaded from C:\Users\MyWindowsUser\AppData\Roaming\ProjectCeleste\CelesteConfig.xml
2025-11-18 15:52:59.832 -06:00 [ERR] Could not find file 'C:\Users\MyWindowsUser\AppData\Roaming\ProjectCeleste\Data\playercolors.xml'.
System.IO.FileNotFoundException: Could not find file 'C:\Users\MyWindowsUser\AppData\Roaming\ProjectCeleste\Data\playercolors.xml'.
File name: 'C:\Users\MyWindowsUser\AppData\Roaming\ProjectCeleste\Data\playercolors.xml'
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at Celeste_Launcher_Gui.Services.GameService.BackupOrRestorePlayerColors() in D:\a\Celeste.Launcher\Celeste.Launcher\Celeste_Launcher_Gui\Services\GameService.cs:line 316
at Celeste_Launcher_Gui.Services.GameService.d__4.MoveNext() in D:\a\Celeste.Launcher\Celeste.Launcher\Celeste_Launcher_Gui\Services\GameService.cs:line 47
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Celeste_Launcher_Gui.Pages.OverviewPage.d__20.MoveNext() in D:\a\Celeste.Launcher\Celeste.Launcher\Celeste_Launcher_Gui\Pages\OverviewPage.xaml.cs:line 148
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
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 MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
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.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at Celeste_Launcher_Gui.App.Main()

I have a quick fix on the way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions