How to make Exult behave more like a native Mac OS X applica
Posted: Sat Dec 10, 2005 12:20 am
I've been thinking about what would have to happen to make Exult behave more like a native Mac OS X application. This mainly has to do with where the various directories are put. Most of this would probably just involve changing the default config file.
Background:
On the Mac, the executable and all necessary resource files are encapsulated in a single Application bundle, which is a special direcotry but appears to be a single double-clickable program to the user, and can be moved around without messing anything up. (It's a very object-oriented way of thinking about programs.)
Any file that is necessary to run the program but that shouldn't be bundled with it directly (like the original Ultima 7 data files - they can be run from multiple builds of Exult, for instance) go in one of three places, depending on how many people are to access it:
~/Library/Application Support/ (for a single user)
/Library/Application Support/ (for a single computer)
/Network/Library/Application Support/ (for network installs)
And, preferences (which must be safely deletable and the program will recreate it) go in ~/Library/Preferences . It looks like Exult already puts the config file here.
So, here's where I think the specific directories should go:
1. The data/ directory should move to Exult.app/Contents/Resources/data/
2. The ~/.exult save game folder should move to ~/Library/Application Support/Exult/Save/
3. The game's STATIC directory should go in an Exult/Game Data folder in either /Library/Application Support or ~/Library/Application Support. (if not too much trouble, it'd be nice if Exult would check for game data in both places - the user's own Library first, then the computer's Library folder.) So for example, 's static directory could go in /Library/Application\ Support/Exult/Game\ Data/Ultima7/ .
Then, if you want to make it truly Mac-like (and would require actual changes to Exult's executable, so this isn't so necessary): add an option to the Exult main menu called "Install Game Data" that opens a file picker to choose the game folder for either Ultima 7 or Serpent Isle and copy it to the necessary location for you. If this feature isn't important to any platform other than the Mac, I could write an Applescript to do the install. It could be included in the Exult.app bundle (in the same folder as the exult binary), and a menu item in Exult could launch it.
Regards,
Rich
Background:
On the Mac, the executable and all necessary resource files are encapsulated in a single Application bundle, which is a special direcotry but appears to be a single double-clickable program to the user, and can be moved around without messing anything up. (It's a very object-oriented way of thinking about programs.)
Any file that is necessary to run the program but that shouldn't be bundled with it directly (like the original Ultima 7 data files - they can be run from multiple builds of Exult, for instance) go in one of three places, depending on how many people are to access it:
~/Library/Application Support/ (for a single user)
/Library/Application Support/ (for a single computer)
/Network/Library/Application Support/ (for network installs)
And, preferences (which must be safely deletable and the program will recreate it) go in ~/Library/Preferences . It looks like Exult already puts the config file here.
So, here's where I think the specific directories should go:
1. The data/ directory should move to Exult.app/Contents/Resources/data/
2. The ~/.exult save game folder should move to ~/Library/Application Support/Exult/Save/
3. The game's STATIC directory should go in an Exult/Game Data folder in either /Library/Application Support or ~/Library/Application Support. (if not too much trouble, it'd be nice if Exult would check for game data in both places - the user's own Library first, then the computer's Library folder.) So for example, 's static directory could go in /Library/Application\ Support/Exult/Game\ Data/Ultima7/ .
Then, if you want to make it truly Mac-like (and would require actual changes to Exult's executable, so this isn't so necessary): add an option to the Exult main menu called "Install Game Data" that opens a file picker to choose the game folder for either Ultima 7 or Serpent Isle and copy it to the necessary location for you. If this feature isn't important to any platform other than the Mac, I could write an Applescript to do the install. It could be included in the Exult.app bundle (in the same folder as the exult binary), and a menu item in Exult could launch it.
Regards,
Rich