AM2R-Community-Developers / AM2RLauncher

Host respository for the AM2RLauncher.
GNU General Public License v3.0
348 stars 19 forks source link

Critical errors after upgrading to 2.0 #4

Closed Nicholas-Steel closed 3 years ago

Nicholas-Steel commented 3 years ago

When I updated to v2.0 of the launcher and ran the program, I was given a warning that the PatchData folder was corrupt and that it was already deleted, after this I was presented with a "Abort" and "Create APK" buttons and no indication of anything happening.

Clicking Abort or the X in the corner of the application resulted in a warning that I was cancelling "something". image After ignoring the warning and closing the program I re-opened it and this time the Abort button was replaced with a Download button! I clicked it and it downloaded stuff with a progress bar visible. Once it completed the download the "Abort" button changed to a "Play" button and clicking it would launch the game without issue.

I then closed the program, now opening the program results in this error appearing every time image and the "Play" button is now an "Abort" button again. I must manually delete the PatchData folder to stop this error, but then I need to redownload the PatchData contents... which will likely recreate the error the next time the Launcher is opened.

The game is installed to "F:\Another Metroid 2 Remake"

Lojemiru commented 3 years ago

You copied the new executable and DLLs into the old files, didn't you? That's explicitly not supported, you need to do a fresh install with the new launcher to its own folder.

Nicholas-Steel commented 3 years ago

I find it odd that the presence of old files can break the new launcher. I guess existing configuration files can break stuff* but I dunno why anything else would.

*Can be handled by including a version string in the settings files and resetting the settings if an incompatible version string is detected.

Lojemiru commented 3 years ago

Config files aren't the issue. There were fundamental changes to the profile installation process, which is why we could not auto-update the application.

Nicholas-Steel commented 3 years ago

Okay thanks, deleting the Profile folder fixed it. I should've paid a little more attention to the final error as well, it was looking for a profile.xml file that didn't exist. Also shoulda paid more attention to the Reddit post of course.

Miepee commented 3 years ago

Technically, deleting the PatchData folder, the Profile folder and the Mods folder are all necessary, if you're trying to upgrade from 1.2 to 2.0.0 PatchData won't be able to automatically update, because we did a rebase to another repository, from which it can't pull from. Profiles and Mods need to be deleted, because their structure has changed.

Deleting the lib folder and and the other .dll's there would also be a good idea, as otherwise the prorgram might (I've never tested this) use them instead of the libraries it should use.

And at that point, when you're deleting so much stuff, you can just go and create a new folder. It was not worth the effort for to to check for all that. And yeah, as you mentioned: Just read the Reddit post / release announcement 😛

Miepee commented 3 years ago

Best guess is then, that it couldn't delete the folder. If it tries to install/play the game, then that means the Launcher thinks the PatchData folder is there and cloned.

Technically it's also a failsafe for the wrong thing. The intent behind that message was that if for some reason, git clone failed (potentially through user interruption), or if the user manually edited some files in there which would make the repository unusable that the program would show this. It was not planned to be used as a failsafe in case you're upgrading from 1.2 to 2.0.0

Nicholas-Steel commented 3 years ago

PatchData won't be able to automatically update, because we did a rebase to another repository, from which it can't pull from.

The program does try to handle this but it seems to only succeed at deleting the contents and something goes wrong when progressing to downloading a fresh copy of that data (until you restart the program). Once you've restarted the program it will download the PatchData and lull you in to thinking everything is fine because it will display a Play button and let you play the game.

It isn't until the 2nd restart of the program that it starts complaining about compatibility issues with the Profile/Mods folders.