I was hoping to use D2X-XL to play Descent 2 (and multiplayer games), but the fact that it's such a horrible Mac OS X citizen makes it very frustrating to use. Here are a few problems, and how I think they should be fixed:
1. First of all, D2X-XL still doesn't detect data files in the same folder as the GUI application when launching, even after I read a long discussion about this in another thread. It works if you put the data in /Applications/Games/D2X-XL/Data/ , but that's unacceptable if you like to have your games in a different location (I store mine in /Games/ ).
One of the programmers mentioned they were having trouble figuring out the current directory when launching the GUI application. There's no need to figure out the current directory. You can figure it out just from the executable location, like so:
My executable location (NOT the path to the GUI app) is /Games/D2X-XL/d2x-xl.app/Contents/MacOS/d2x-xl . To figure out where my data folder is, you just back up 3 levels from the executable, and you'll find the containing folder of the GUI app -- in this case, that would be /Games/D2X-XL/ . Then you would just have to search for a folder inside that path named Data, which would be /Games/D2X-XL/Data/ . So to recap, to find a Data folder in the same location as the GUI app, go to the executable location, go up three levels, and then look for a Data folder there.
(If you were to try using the current directory to find the location of the data folder, it wouldn't work, because GUI apps launch with a current directory of \"/\".)
2. If you use the Terminal application to change directory to the data folder, and then launch the d2x-xl executable from that location, player files are created inside the data folder. However, on next launch, those player files are not displayed in the choose player dialog on next launch -- if you attempt to create a player that has the same name as the one you created on last launch, D2X-XL will prevent you from doing so because a player with that name already exists, but still will not allow you to choose that player.
3. The config file and player files are stored inside the data folder (if launched from the command line), and stored in the same folder as the GUI app (if launched using the GUI app). In both cases, this behavior is wrong.
One (and only one) preference file should go inside ~/Library/Preferences/ , where ~ is the current user's home folder. This would probably be the config file, and ideally it should be named \"d2x-xl.cfg\" instead of \"descent.cfg\" so that it's easy to identify which application the preference file belongs to (since we do have other versions of d2x available for Mac OS X). The player files, player saved game files, and screenshot files should be stored inside ~/Library/Application Support/D2X-XL/ . This is where other files that aren't global application preferences should be stored for a good Mac OS X app. If the D2X-XL application support folder doesn't exist, it should be created.
If it's too complicated to separate out the config file from the player file/saved game files/screenshot files and store them in different locations, it's acceptable to just put them all in ~/Library/Preferences/D2X-XL/ instead. The D2X-XL preference folder also needs to be created if it doesn't exist.
4. Lastly, D2X-XL may not have backwards compatibility with the player files created with the other version of d2x for Mac OS X --
http://www.macupdate.com/info.php/id/13422 . If you put the player files in the proper location, D2X-XL will see them in the choose player dialog, but if you attempt to select them, it says there is a version mismatch and will not load them. If you delete the player file, create a player of the same name, and attempt to load one of the saved games from d2x, D2X-XL will recognize the name and show a screenshot of the level at the point where you saved, but will be unable to load the games because it can't find the mission \"descent\".
It looks like this might be related to not being able to find the Descent 1 mission files, but I've tried all the locations I can think of, and D2X-XL still is not able to find them. The only mission that shows up is Descent 2. I tried putting the mission files in the data folder, I tried putting a \"Missions\" folder inside the data folder, I tried putting a \"Missions\" folder at the same level as the \"Data\" folder, and I also tried these locations when launching from the command line. I even tried simply putting the \"Missions\" folder in the same location as the executable itself (inside the GUI app), all to no avail. The D2X-XL page (at
www.descent2.de) does not help in revealing where the mission files need to be located.
-- simX