-
-
Notifications
You must be signed in to change notification settings - Fork 496
Description
Background
At the moment, OpenXRay only provides CLI builds for macOS. However, app bundles are preferable on Mac.
I maintain a script for macOS that will perform the following actions:
- Install Homebrew and the required dependencies
- Clone the OpenXRay repo recursively
- Compile
- If detected, copy the Call of Pripyat game data to the Application Support folder
- Copy
/res/fxgame.ltxand/res/gamedata/to the game data folder in Application Support (I don't know ifopenxray_plus.ltxis required or not) - Create an app bundle structure
- Copy the exe and libraries to the appropriate places in the bundle
- Fix the rpath on the exe for several dylibs
- Create
Info.plistandPkginfofiles - Get an icon from
macosicons.com
This script works well for those who can/will compile from source themselves. But it has an issue that should be addressed before a general release.
Issue
The problem is the step where /res/fxgame.ltx and /res/gamedata/ should be copied from the source to the application support folder.
If OpenXRay released an app bundle, the installation scenario should be:
- User downloads app bundle
- If the user runs it without game data in the app support folder, a popup tells them to copy the game data there.
- The user buys the game off steam or gog or wherever, and copies the game data over
- The game should now run
It's not reasonable to expect the user to download the repo and copy /res/fxgame.ltx and /res/gamedata/ over.
Potential solution
Ideally fxgame.ltx and gamedata/ should be distributed within the app bundle. But this would mean that the game knows where to look for them, and that they might not be in the game data folder in application support.
The structure of the app bundle should look like this:
OpenXRay.app/
|
- Contents/
|
- libs/
- All the dylibs and .a files go here
|
- MacOS/
- The xr_3da executable goes here
|
- Resources/
- The .icns file and any additional resource files go here
|
- Info.plist
|
- Pkginfo
Note: libs above is usually called Frameworks, but I use dylibbundler which creates a libs folder by default. Doesn't affect anything.
My suggestion is for the game to first search for fxgame.ltx and gamedata in the game data folder ~/Library/Application Support/GSC Game World/S.T.A.L.K.E.R. - Call of Pripyat/, and if is not found then search in ../Resources
Metadata
Metadata
Assignees
Type
Projects
Status