phoenixlauncher / phoenix Goto Github PK
View Code? Open in Web Editor NEWA lightweight game launcher written in SwiftUI for macOS!
Home Page: https://phoenixlauncher.app
License: MIT License
A lightweight game launcher written in SwiftUI for macOS!
Home Page: https://phoenixlauncher.app
License: MIT License
when I tested #65 on a Mac running macOS 13.4, I found that when I first went into the app, I couldn't see game icons in the sidebar at all, even though the setting to show icons was enabled. It was because the icon size was being set to 0 by default for some reason.
This may've been fixed on the igdb branch but I'll have to check
idk what to say. phoenix needs tests because parts of it can be buggy at times
Games should be taggable as favourites so that they can be sorted to the top of the list like in Steam to make them easier to find
If you happen to speak a language that hasn't been added yet, we'd love to have you help us translate Phoenix to make it more accessible to more people! If you're at all interested in helping, hop on our Discord server and we'll help get you started!
This way user can see view offline. MarkdownUI looks trivially easy to use.
Icon images are currently loaded at full resolution, so if they are a bunch of high-res images the loading time can be pretty long. Proposed fix is to resize the icons to 48x48 when importing.
Right after the updater window, app crashes. Manually checking for updates does the same.
this would be done by using ⌘ + f
. when this is pressed the list will filter by whatever the user inputs.
https://github.com/magickworx/StarRatingViewSwiftUI
https://github.com/ForceGT/RatingViewSwiftUI
both good options
could go next to edit button or maybe below description
The list of platforms to add automatic detection for
Also add the ability to choose a non-standard path where games are stored
I have multiple versions of CrossOver.. as this is the way that many macgaming influencers suggest to do so that you can have one that's been patched with CXPatcher and one that hasn't.. and so you can also use older versions in case of regressions.
/Applications/_GAMING_WINDOWS
/Applications/_GAMING_WINDOWS/CrossOver 23.6 CXPatcher.app
/Applications/_GAMING_WINDOWS/CrossOver 23.6.app
/Applications/_GAMING_WINDOWS/CrossOver 23.7.app
As it is.. I checked the option to "auto detect crossover games" and browsed to /Applications/_GAMING_WINDOWS, from here I couldn't select any of my 3 custom-named CrossOver apps. Just selecting the folder seemed to have no effect and no games were detected after I closed and re-opened the launcher.
I also tried renaming one back to the standard "CrossOver.app" but I also couldn't select it.
There should probably be a "Auto-detect Now" kind of functionality so you don't have to restart the launcher..
It would be nice if you could just select multiple locations where to auto-detect games too. Maybe instead of picking the CrossOver.app you should allow us to provide the full path to the bottles themselves. CXPatcher has a toggle for using a different paths for its bottles so that they don't conflict with the unpatched version.
Also I noticed that when there are no games at all and there's only the placeholder game, trying to delete the placeholder game just crashes the app.
Anyway it's great to see you're actively working on this. Looking forward to using this in the future as a replacement for CrossOver's awful UI.
See video if this is unclear. When right-clicking a game in the sidebar to edit its icon and it isn't the currently selected game, the selected icon will temporarily be applied to both (resets on app restart) and is permanently applied to the selected game (not the one that I intended to change)
I'll just list them for simplicity, I would love to be able to use the app but these bugs make it too annoying.
Right now if a game's name is changed the game detail view will still be trying to view the old game after it's saved, causing a blank screen.
I know that at first glance this will feel very much out of scope. I just think this would be an awesome addition to your launcher and I've yet to see anything like this on Mac.
In the past I've implemented a quick-save / quick-load feature for different games that would essentially just map a hotkey or a CLI command to doing a backup or restore of the save files for specific games.
This would add quick-save/quick-load functionality to all the games that don't support it. Such as pretty much all roguelike/roguelite games.
I know I would use this a lot!
Once the main logic is setup, the only thing required is to know where each game saves its save games, which could be customized on a per-game basis and ideally would be auto-detected/guessed based on common save file locations.
Please consider adding this : )
I've made it so you can't have 2 games with the same name, but this isn't the best fix. We should add a unique ID field as a primary key because sorting by name like this: games.firstIndex(where: { $0.name == game.name })
is not the best practice.
Not saying we have to do this for every language, but I think it would be good to add the framework to allow for easy translation of the hard-coded text in the app (instructions, labels, etc.)
The way I propose we do this is similar to how it is done in Android Studio: where all hard-coded text is kept in a separate file and imported at runtime depending on the language setting. (See android studio documentation on string resources: https://developer.android.com/guide/topics/resources/string-resource) This way, a translator can just add the translations in the strings file without having to know where every hard-coded string is in the code, making contributing translations much more accessible for someone who isn't familiar with coding.
this might only be on my igdb branch, but honestly not sure
I mean...
options like:
on the igdb branch, occasionally the icon id is set incorrectly and changes the icon for multiple games. not sure if this happens with headers but given they have very similar functions I'd guess it does.
ok i've also done some investigating in the issue of the images not showing
when it was working correctly the images were written to: username/library/containers/phoenix/data/library/application support/phoenix/cachedImages
this was being written to because in
username/library/containers/phoenix/data/library/application support/phoenix
there is a games.json file which means this folder was being used for everything
now the games .json file and the logs are in
username/library/application support/phoenix
which is what should be happening imo but for some reason the files aren't writing there
here are some images showing the folders:
like "Steam (14)" or "Backlog (10)"
tasks are:
⌘ + f
to filter games list (#42)⌘ + n
to add a new game⌘ + e
to edit a game⌘ + p
to play a game⌘ + 1-4
to switch sorting categoriesWhat format do the icons have to have?
I tried .jpg and .png and various image sizes but the actual icon won't show up in the sidebar.
Thank for your help
because most macOS games are just .app files we could basically launch those like normal games to avoid the hassle of Steam opening. but this would mean that it wouldn't give achievements or log hours to Steam I think, so you'd probably want to make this a toggle like
"Launch Steam games without Steam" with a caption like "won't log hours or achievements to Steam"
Would work well alongside the cover grid view mode proposed in #59
The header image stays the same when switching between games
It'd be nice if the user could add custom platforms. For example, there is already a PS platform, but the user could delete that and separate it into PS1 and PS2. Then they could link emulators and commands for launching games in them to each so then when they select the platform as PS1, it could automatically create a command that opens the game in Duckstation or something
open -a "<app name>"
will come up with more later
Triggers an error: Uncaught (in promise) ReferenceError: url is not defined
arcade.stick.console
trophy
textformat.abc
calendar.badge.clock
code is messy. very messy :)
i'll be doing this on the igdb branch of my fork btw
when you switch between categories about twice the padding on the left of the games list gets doubled. not sure why atm.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.