amakvana / SwitchEmuModDownloader

SwitchEmuModDownloader - A Cross-Platform One-Click Games Mod Downloader for Switch emulators. Formerly YuzuModDownloader.
GNU General Public License v3.0
567 stars 35 forks source link

Mods won't extract?? #12

Closed Woozellin closed 2 years ago

Woozellin commented 2 years ago

Describe the bug Is there an issue with YuzuModDownloader on Windows 11? Mods don't seem to auto-extract and therefore aren't visible in Yuzu..

I have a fresh install of Windows 11 on a new build - and when I run YuzuModDownloader, it seems to run just fine, takes around 10 seconds to get the mods and then the window pops up "Done! Mods downloaded for 8 games! To toggle etc etc.."

Upon running Yuzu, no mods show at all. Not on the main game list, nor if I right click and look in properties - AddOns.

The weird thing is that I did notice that in AppData-Roaming-Yuzu-load-, the downloaded mod files are actually there. The zip and rar files. However, they are not extracted. Is there some sort of write permission issue in Win11? I do see 7z.exe under Roaming-yuzu-7z if that is what YMD is using to extract the mods?

One thing I would like clarified also if possible.. On the YMD installation page it says "Extract contents of the YuzuModDownloader.com file into your Yuzu root folder". What exactly is this 'root' folder? Because on my old Win10 machine, I had placed YuzuModDownloader.exe into -AppData-Roaming-yuzu and it always worked fine from there. But looking at the GIFs on the install page, it doesn't completely show the path - but it appears that YMD.exe is to be placed in the same folder as yuzu.exe which on my Win11 machine is AppData\Local\yuzu\yuzu-windows-msvc. But perhaps these GIFs were from an older version of Yuzu. I have tried in both places and get the exact same results. Is placement of YMD.exe not as critical?

Oh, and yes I also copied the .dll file with YMD.exe and I also made sure to completely update .net and Visual C++.

Thanks!! Really hope this can be resolved as YMD is an awesome program!!

To Reproduce Steps to reproduce the behavior:

  1. Copy YMD.exe and it's .dll to AppData\Roaming\Yuzu
  2. Run YMD.exe and Download Mods
  3. Mods (zip and rar files) do download into the load\ folders
  4. However, none of the zip or rar files actually extract automatically, so therefore they do not show up in Yuzu

Desktop/Laptop (please complete the following information):

amakvana commented 2 years ago

Thanks for the detailed feedback!

I haven't got a Windows 11 machine on hand to test at the moment, however, I am looking to acquire one soon. Once I get my hands on one, I will be testing rigorously. Try right-clicking on YMD > Run as Administrator. Let me know if the issue persists.

I've got a few plans for the next version, which should fix a few bugs, however, life is taking up a lot of time at the moment.

Are you able to confirm the path of your Mod Directory? To do this, see below:

  1. Open yuzu.exe > Emulation > Configure > System > Filesystem
  2. Confirm the "Mod Load Root" path

What exactly is this 'root' folder?

The root folder is the folder where yuzu.exe resides. So ideally, ymd.exe needs to be placed in the same folder whether that be inside AppData or somewhere else (if portable)

Woozellin commented 2 years ago

Hey, no problem! Thanks for the lightning quick response!

Yeah I had already tried running as administrator as well - I meant to mention that but forgot.. I just went ahead and tried that again in the different folders - same result.

Super weird, since it obviously reads the IDs, and is able to download and write the mod zip files etc to the load folder, but then for whatever reason just cannot extract them.

Some people were saying 'oh just add them manually it's not hard' and I'm like yeah I know but why when there is this super easy app that's like bing bang boom! lol Plus I'm like I have to figure it out and make it work..

Awesome to hear about the new plans for next version though! I appreciate the root explanation. I've tried the latest yuzu installer and EA installer and from what I can tell, there is no option for a 'portable' install anymore (unless I'm totally overlooking it) - so it forces into the appdata folder.

I did check my mod directory - it is still default, to \AppData\Roaming\yuzu\load

One thing I just thought of - not sure if it matters, but my user account has a space in it (like "Gaming Win11") not sure if that could cause any issue.. So the folder is C:\Users\Gaming Win11\AppData\Roaming\yuzu\load

This is a pretty recent 11 install, not much on the computer yet, but I may have somehow tweaked something that could be causing an issue... I have a spare drive, I think I'm going to install a fresh copy of windows 11 on it and try on there, just to rule that out..

If you do want any help testing any possible fixes, just let me know I'd be happy to help (and discreet). I've helped with testing/feedback on a couple projects in the past. As you can see, I can be quite detailed in providing feedback lol. Totally understand if you're not comfortable with that though - or of course if you don't have time at the moment.

Thanks, appreciate your commitment! Let me know anything else you want me to check.

amakvana commented 2 years ago

Thanks for the feedback! Are you able to provide the list of games you've currently dumped into Yuzu?

If you do want any help testing any possible fixes, just let me know I'd be happy to help (and discreet). I've helped with testing/feedback on a couple projects in the past. As you can see, I can be quite detailed in providing feedback lol. Totally understand if you're not comfortable with that though - or of course if you don't have time at the moment.

You're more than welcome to take a fork and see if you can figure it out in the meantime!

amakvana commented 2 years ago

Okay so I've just had a quick test and it does look like the spaces within the path seem to cause the issue. When I'm back home, I shall push out a quick fix for this

amakvana commented 2 years ago

@Woozellin, I've added this specific hotfix to the attached copy of YMD.exe.

  1. Download it, extract and override your current copy of ymd.exe
  2. Run it & also select "Clear Mod Data Location" to remove any corrupt entries within your Mod Directory.

Let me know if this fixes the issues. If so, I can push this into the main branch YuzuModDownloader.zip

NOTE: This is just the executable so ensure you do not delete the dll's prior

Woozellin commented 2 years ago

That did it!!

Awesome, thanks so much!

Interesting that it was indeed the spaces in username caused the issue.. Now I'm wondering if perhaps this would have been an issue in Windows 10 as well? I'm guessing it would be? Maybe most people tend to not use a space in their account name when setting up a new pc.

I'm trying to recall how the username folder is named when someone actually uses a Microsoft account as well. I think it usually defaults to their first and last name - but maybe the user folder combines them and doesn't put a space between?

Anyway, it's a really good find- I'm glad that this just makes YMD work better and usable for more people!

Yeah, I've only got a handful of games I've dumped to Yuzu - Metroid, Mario Odyssey, Megaman 11, Links Awakening... maybe one or two others.

For kicks - I also tested a bit with placement of the YMD.exe and dll files.. I deleted all the mods (zip and extractions) and placed YMD and dll in the folder you recommended where yuzu.exe is (user\appdata\local\yuzu\yuzu-windows-msvc) and ran - worked perfectly to install all mods. Then I deleted all mods again, and instead placed YMD.exe and dll just above the load folder (user\appdata\roaming\yuzu) and it worked perfectly there as well! So it appears that placement of YMD.exe is not super critical (as long as the .dll file is with it).

One issue I did notice (and this is not a problem from YMD - more of a quirk the way yuzu works). While I was deleting mods and testing YMD - I noticed that after the mods are 'installed', the next time I ran yuzu, the mods did not show on the main game listing page (in the Add-Ons column - it still only showed game updates that are installed.) But If I right click and goto properties, then the mods appear there in the Add-ons tab. But if no change is made to enable or disable, then the mods will still not show on the main game list. For each game, there has to be a status change of one mod in order for all mods to display on the main game list.

So for example Metroid has 3 'mods' - Update 1.0.2, Disable Bloom and Disable FXAA. After mods are installed, only the Update 1.0.2 shows next to Metroid on main game list - you have to go into properties and then check or uncheck a mod to get them all to actually show on the main game list page. (even if you simply uncheck the update)

I don't think this has anything to do with how YMD works, it's more a quirk with how yuzu reads and interacts with the mods. I just thought it was interesting.

Anyway, thanks again for fixing this issue! I think you would be ok to push into the latest release. Looking forward to future updates!

amakvana commented 2 years ago

That did it!! Awesome, thanks so much!

Excellent! I shall push over the Easter Holidays when I am back

For kicks - I also tested a bit with placement of the YMD.exe and dll files.. I deleted all the mods (zip and extractions) and placed YMD and dll in the folder you recommended where yuzu.exe is [...] So it appears that placement of YMD.exe is not super critical (as long as the .dll file is with it).

So if you use EzYuzu, you can create portable copies of Yuzu that can run off thumb drives, etc. Placing YMD alongside yuzu.exe allows portable versions of Yuzu to also get mods extracted into the correct directories.

One issue I did notice (and this is not a problem from YMD - more of a quirk the way yuzu works).

I've noticed this too, consider opening up an issue on the yuzu git and see if they can resolve

amakvana commented 2 years ago

Closed - Fixed in v1.1.0.0 https://github.com/amakvana/YuzuModDownloader/releases/latest