phoenixlauncher / phoenix

A lightweight game launcher written in SwiftUI for macOS!
https://phoenixlauncher.app
MIT License
130 stars 11 forks source link

More Robust Emulator Support #179

Open WingofaGriffin opened 2 months ago

WingofaGriffin commented 2 months ago

Hey, found this via some threads and it looks like an awesome project!

I'd love to see some support for custom applications as launchers. I've seen some discussion on previous issues about this, but this app has the potential to be the best Apple native launcher for both traditional games, as well as emulation launching if given the ability to make a custom system with custom launch options. Even better if there are "community packages" that allow you to install configs provided by community members (like a JSON/YAML file or somethign maybe?). Essentially just add a custom system, add the launch command with the syntax, and bam.

Existing options like ES-DE, Pegasus, RetroHub, etc are fine, but all have their own quirks with Apple hardware as they were designed to be multiplatform. Phoenix really seems like the most "complete" project that is attempting this right now. I was considering learning Swift to build it myself, but would love to discuss first here.

Shock9616 commented 2 months ago

Hi thanks for the issue! I'm just wondering if you have found the "Platform is an emulator" option in the Platforms settings tab?

Screenshot 2024-08-30 at 4 20 43 PM

It allows you to select the emulator application to launch, as well as set custom launch options such as --fullscreen, which is pretty much exactly what you're asking for as far as I can tell. There's no way to export/import a config currently, but if you're interested in learning swift and taking a shot at implementing it we'd be happy to help and would welcome a PR!

WingofaGriffin commented 2 months ago

Oh this is great, apologies for not noticing that!

I will say that I am still having trouble with this feature not properly finding my rom files, plus it's also annoying that this feature only scans for games on launch. I imagine there may be some type of syntax error with the filenames? For example, "GoldenEye 007 (USA).z64" isn't able to be scanned. There should probably be a feature to ignore content in parenthesis.

Alternatively it would be nice to drag and drop files/folders into the category to import them in bulk instead of manually adding games, but I suppose that is a separate issue. Thanks for the help!

WingofaGriffin commented 2 months ago

Additionally retroarch requires a bit more customization with the custom argument section to get running properly. Definitely a more advanced feature that I might take a look at helping out with, but would be awesome to select a core directly and auto-populate the CLI arguments appropriately.

jmshgs commented 2 months ago

Yeah the detection thing does need work. Thanks for the suggestion of dropping the parenthesis. What do you mean by the drag and drop? It should already work:

https://github.com/user-attachments/assets/c1a63dc2-e888-4c37-a8a8-1146455b6173

WingofaGriffin commented 2 months ago

Yeah the detection thing does need work. Thanks for the suggestion of dropping the parenthesis. What do you mean by the drag and drop? It should already work: Recording.at.2024-09-03.11.35.33.mp4

Apologies I was not clear. When I was talking about drag and drop, it was to the side bar of the main screen, not the settings. Maybe this is just me being weird though in terms of the UX I expected.

WingofaGriffin commented 3 weeks ago

Hey @Shock9616 @jmshgs thanks for taking a look at this. New update has brought in some nice fixes and QoL changes.

I'm noticing that Retroarch is still requiring some custom CLI commands to get working. Happy to do that myself, but are there any plans to get that working natively?

Additionally, and probably worth separate issue threads, I've been having issues where the program wants to rescan and scrape any game files that I manually renamed as new entries, which is entirely wrong. This added with the poor detection support of ROM file names (region, version, etc) makes it frustrating to add retro games.

I really think this has the potential to be THE best game launcher on MacOS. I've tried multiple others and they all have their own issues. It would just be amazing to have this work seamlessly, especially as a native SwiftUI app. Let me know if I can help at all or if you want to connect on Discord or something.

jmshgs commented 3 weeks ago

You can join our discord at: https://discord.gg/S5Kje5WQ4R if you wanna talk more. Shock and I are both students and both pretty busy, so I don't think there's going to be another update coming for a bit unfortunately. But do join our discord to talk more in-depth about this, I like your ideas and can address them further on there! Really appreciate the hopefulness of this becoming the best game launcher for macOS, it's motivating for us!