fr-Pursuit / GTAVModdingLauncher

This is a Grand Theft Auto V launcher that allows us to switch between several modded versions and a vanilla version of the game easily, without taking too much space.
Other
22 stars 11 forks source link

Launcher crash #2

Closed doc3d closed 8 years ago

doc3d commented 8 years ago

I had a bunch of profiles that I didnt use, so I deleted them (Not the active profile) and created a new one. After doing this the launcher crashes consistantly. If I try to activate vanilla then launch, it crashes, if I try to just start the active profile, it crashes, so Im not sure how to resolve this? I hope the crashreport is included (Pressed the report button)

Will paste it here just to be sure:

---- GTA V Modding Launcher 0.5.2 crash report ---- Generated on 23.07.2016 16.47.11

-- Thrown exception -- System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) at GTAVModdingLauncher.Launcher.CheckCurrentProfile() at GTAVModdingLauncher.Launcher.LaunchGame(Boolean online) --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Delegate.DynamicInvokeImpl(Object[] args) 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.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 GTAVModdingLauncher.App.Main()

-- Launcher state -- Is initialized: True Is window initialized: True Current profile index: 4 Current profile: ~Unexpected error~

-- UI state -- Selected profile index: 4 Selected profile: ~Unexpected error~ Is working: False Are buttons enabled: False

I hope this issue can be resolved, really "cant live" without your launcher any longer! :)

fr-Pursuit commented 8 years ago

Firstly, thanks for reporting this crash and sorry for any inconvenience caused. The crash report wasn't included automatically bug fortunately you pasted it :p I'll investigate the issue. I think I know where it comes from, and how it can be solved.

doc3d commented 8 years ago

I did some digging and saw you troubleshooting somebody else for a similar issue. Could it be that the launcher expects 4 profiles but can only find 2, so they are named wrong and causes the whole crash? I poked inside the profile.dat file but didn't have a program that could read it. If I make a new profile.dat file, will it remove all my installed mods when it launches(what if using the standard 'modded' profile?)? Don't want to try it yet if I have to reinstall everything again if it can be helped.

fr-Pursuit commented 8 years ago

You're right, the other person might have the same issue. And it is caused by a misconception of the program. Basically, it saves to profile.dat the active profile using its index in the list (for example the profile #3 will have the index '2'). But, if you delete the profile #2 (index '1'), there are only 2 profiles left, (#1 and #3), and when the launcher tries to get the profile #3 (index '2') it fails because there are only 2 profiles (index '0' and '1'). If you delete your profiles.dat, no mods will be lost. You will only need to create new profiles with the same name and they will point to the same external directory. The active profile will be named "Modded".

fr-Pursuit commented 8 years ago

Will be fixed in 0.5.4 BETA.

doc3d commented 8 years ago

just saw that. Awesome, thanks for helping. So does this mean i can move my profile.dat file back and try it again?

fr-Pursuit commented 8 years ago

Sure :) It prevents the issue from happening again, and it fixes the issue in already corrupted environments.

doc3d commented 8 years ago

Thank you so much for your support, it's really appreciated! And thanks again for creating the mod, it is a great tool. Just out of curiosity, when creating a new profile, where are the files from the old one stored? Also, it can be a lot of files and file-size could become a issue, does it get moved completely out of the Gra folder and does your hdd get bogged down with all the moved files? Can the tool see the difference between modified game files and original ones so it only moves the modified ones?

fr-Pursuit commented 8 years ago

Well, thank you for using the tool :). I'm going to answer all your questions one by one.

doc3d commented 8 years ago

I see, thank you for clarifying. I think I will move the directory, as my c: drive is getting digested and the game is located on a different drive as well. Again thanks for your support and time. All the best, and let me know if you want help with something