MelonSpeedruns / BotwRandomizer

GNU General Public License v3.0
56 stars 15 forks source link

I couldn't make it work on arch linux through wine nor via the python file in the sources #3

Closed dotRAW closed 2 years ago

dotRAW commented 2 years ago

Hello! First thanks for this tool!

I am not sure if porting it to GNU/linux is on the roadmap but I couldn't make it work on arch linux.

I'm using LUTRIS, and tried several runners (staging, lutris, tkg etc). It launches with lutris 6.0, but crashes midway through randomizing. Gives a corrupt graphic packs that allowed for starting the game but prevented me from using the very first pedestal in the starting cave (pressed A as requested by the prompt, where the tablet normally fits).

Is there any plan on supporting a linux version of the randomizer? Or at least provide build sources to allow us to compile on linux ? :)

P.S : here's the crash log from within wine if that is any help. EDIT: adding a txt of the backtrace copy-pasted below. backtrace.txt

Miepee commented 2 years ago

Haven't tried this much, but since this is all just a python script, have you tried actually using the source? Download the Source code to some folder and navigate to it. Install the python libs first (since you're on arch, install them from your repos and AUR instead of pip since pip can break things) and then execute python3 main.py, that should give you the UI-Window.

dotRAW commented 2 years ago

I'll do that! I assumed (probably foolishly) it was tailored for windows only seing the build.bat, I'll try the python method now. Thanks for the reply! I'll edit this comment with wether I manage to make it work or not! :)

dotRAW commented 2 years ago

Using python, I keep having that error message (or one very similar, in every case it's a "missing" .smubin somewhere that appears to cause the ruckus. The weird part of it is, manually browsing I found those .smubin to actually be there. Soooo, I'm a tad confused where the bug occurs in all that. Here is the copy-pasted end part of the error from the terminal.

File "/usr/lib/python3.9/shutil.py", line 265, in copyfile with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst: FileNotFoundError: [Errno 2] No such file or directory: '\home\jedd\.cemu\mlc01\usr\title\0005000c\101c9400\content\0010\Map\MainField\H-1\H-1_Dynamic.smubin' Aborted (core dumped)

nalyDylan commented 2 years ago

new_map_location = map_file.replace(dlcMainFieldPath.replace('/', '\\'), graphicPacksMainFieldPath.replace('/', '\\'))

It looks like the code changes forward slashes to backslashes and breaks compatibility with anything other than Windows on line 197 of main.py

This should fix it: https://github.com/MelonSpeedruns/BotwRandomizer/pull/13#issue-1066570912

nalyDylan commented 2 years ago

The randomizer compiles now but it freezes on the main menu for me, can anyone else confirm? --edit-- I ran the randomizer script in a Windows VM and then copied the graphicsPack folder back to my linux PC and it runs fine now, so, something is still up with the script

dotRAW commented 2 years ago

Still crashes here, any new ideas?

nalyDylan commented 2 years ago

Still crashes here, any new ideas?

Yah, check the linked pull request, it's working for me now with the newest changes there

dotRAW commented 2 years ago

Just did, still crashes with a missing attribute error

AttributeError: module 'sarc' has no attribute 'SARC' Aborted (core dumped)

Miepee commented 2 years ago

There's currently a C# rewrite in the works, which you can try at the rando discord server. If you dont want to join it, current testing windows version can be found here. .NET Core 6 on the wine prefix is required. I could generate seeds with it, haven't tested running them in Cemu tho.