JTNDev / galaxy-integration-wii

MIT License
14 stars 1 forks source link

[Request] Find games in subfolders #8

Closed LeonardFiedrowicz closed 4 years ago

LeonardFiedrowicz commented 4 years ago

Can the limitation of all .wbfs files having to be in the same folder be removed? If I have to both name them after the game id and also all not have them in subfolders I have no easy way to know which file is which.

JTNDev commented 4 years ago

Yes I can implement that, but it doesn't have to be named after the Game ID, it has to be named after the name of the game. For example, "Super Mario Galaxy" not "RMGE01"

On Tue, Sep 10, 2019 at 12:28 PM LeonardFiedrowicz notifications@github.com wrote:

Can the limitation of all .wbfs files having to be in the same folder be removed? If I have to both name them after the game id and also all not have them in subfolders I have no easy way to know which file is which.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/JTNDev/galaxy-integration-wii/issues/8?email_source=notifications&email_token=AJ5LEJ5UC4ZVVRAPR47HNN3QI7DKHA5CNFSM4IVJ5SBKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HKP52QA, or mute the thread https://github.com/notifications/unsubscribe-auth/AJ5LEJ732AG4QVJCCREQAPDQI7DKHANCNFSM4IVJ5SBA .

LeonardFiedrowicz commented 4 years ago

Oh, I guess I misread that. After ripping the games they were automatically named after the game ID so I assumed it was that way. Thank you for trying to implement it ^^

LeonardFiedrowicz commented 4 years ago

The plugin actually already uses os.walk which works with subfolders. The plugin didnt work for me though because I changed the folder name. You can replace that with filename = os.path.expandvars(os.path.dirname(os.path.abspath(file)) + '\Index.txt') in line 39 of the backend.py Might need to try that out a bit more because now i get a different error.

JTNDev commented 4 years ago

Thanks for the help!

On Fri, Sep 13, 2019, 11:48 AM LeonardFiedrowicz notifications@github.com wrote:

The plugin actually already uses os.walk which works with subfolders. The plugin didnt work for me though because I changed the folder name. You can replace that with filename = os.path.expandvars(os.path.dirname(os.path.abspath(file)) + '\Index.txt') in line 39 of the backend.py

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/JTNDev/galaxy-integration-wii/issues/8?email_source=notifications&email_token=AJ5LEJ43P3G4UPWRBVTYGEDQJOY6JA5CNFSM4IVJ5SBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6VNUKI#issuecomment-531290665, or mute the thread https://github.com/notifications/unsubscribe-auth/AJ5LEJ5UE62QKPHSJ6RWKLDQJOY6JANCNFSM4IVJ5SBA .

LeonardFiedrowicz commented 4 years ago

Small correction I mean line 41 with this file = ElementTree.parse(os.path.expandvars(os.path.dirname(os.path.abspath(__file__)) + '\games.xml'))

LeonardFiedrowicz commented 4 years ago

Also, any idea how to get it working when not all games get recognized? Another thing, a user can enter the rom and dolphin path during the connect screen in the gog settings like how it is done with citra.

LeonardFiedrowicz commented 4 years ago

Also, you can read the title id from the game file directly (at least I tried it with .wbfs files) so you wouldn't need to rename the files. I don't know how well that works with other file formats though.

JTNDev commented 4 years ago

Sorry for the late response. I'm adding support for any folder name right now, and how were you able to get it to read the title ID?

LeonardFiedrowicz commented 4 years ago

with open(file_path, "rb") as f: f.seek(0x200) print(f.read(6))

That reads 6 bytes at adress 0x200 of the game file where for .wbfs files the title id is. I just noticed that that may only work for .wbfs files. It doesn't work for .gcz files for example.

LeonardFiedrowicz commented 4 years ago

A bit off-topic, I'm having a bit of troubling with updating game playtimes while GOG is running with my Cemu plugin. I want to have an infinite loop that checks every minute if the game time in some file is changed but it only does that until the calling function quits so about twice. Do you have an idea how to make it run until gog closes?

Also, might as well close the issue since it's not actually an issue anymore.

JTNDev commented 4 years ago

No, I have no clue. I'm actually having the exact same issue in the GameCube plugin

LeonardFiedrowicz commented 4 years ago

Please tell me if/when you do find a solution.