Running Oolite-Mac

From Elite Wiki
Revision as of 14:45, 5 September 2007 by Ahruman (talk | contribs) (Building Oolite from source: Updated details of build process info.)

Overview

Oolite was originally developed for OS X, and as such, OS X is Oolite's home operating system. The OS X version can be considered the reference version for all other ports. It has some specific Mac OS X only support such as speech synthesis, iTunes integration and Growl integration. Joysticks are not directly supported - however, there are programs that convert joystick inputs into mouse and keyboard inputs, and these programs are reported to work well with Oolite.

Getting and installing the game

You can get the game from any of three mirrors. There are two versions of the game - a PowerPC version, and a universal binary version. The latter will run on the new Core Duo Macs as well as the PowerPC Macs. To download the PowerPC version, use one of these links:

The Universal Binary is 200 kilobytes larger, and may be downloaded with these links:

Universal binaries need OS X 10.4 or later on all platforms; PowerPC binaries run on Mac OS X 10.3 as well as 10.4.

Installation is the standard method of dragging the Oolite folder to your Applications or Games folder.

Notes for Core Duo users

Oolite V1.62 runs fine on MacBook Pro Core Duo with no known crashes or issues.

Installing OXPs (add ons)

In the Oolite folder that you dragged from the disk image, you will find an Oolite application and an AddOns folder. Place OXPs in the AddOns folder, and they will be loaded the next time you start the game.

Building Oolite from source

To start, you will need the newest version of Xcode from the Apple Developer Connection. You will need an ADC membership to obtain Xcode by download; however, the free online membership is sufficient. You will also need to ensure you have installed the Mac OS X 10.3 and Mac OS X 10.4 Universal SDKs, which are available through the Xcode Tools installer. Lastly, you will require the Subversion version control tool; an up-to-date binary is available here.

The source code and data files are available from the oolite-linux BerliOS project. Don't be confused by the name 'oolite-linux'; the repo is called that because it’s where the repository moved after GUSTO was complete. The SVN url for 1.65 is:

svn://svn.berlios.de/oolite-linux/tags/v165-final

You can also get the latest work-in-progress from:

svn://svn.berlios.de/oolite-linux/trunk

To download the source with Subversion, the quickest way to do it is to open a Terminal window, and run the following command:

svn checkout svn://svn.berlios.de/oolite-linux/trunk

To build the trunk, you will need to install some additional files. First, you will need the source release of libpng. This will decompress as a folder called “libpng-1.2.16” or similar. (Note: at the time of writing the latest version of libpng, 1.2.18, causes a build error and crashes at runtime. Version 1.2.16, available from the libpng SourceForge project, is recommended.) Rename it to “libpng” and move it to deps/Cross-platforms-deps in the Oolite repository. Second, in order to build the “Deployment – Test Release” target, you will need the Smart Crash Reports SDK. This is distributed with the Smart Crash Reports installer, available from smartcrashreports.com; after installing, the SDK will appear as a folder called “Smart Crash Reports SDK” on the desktop. Move this folder, without renaming it, into deps/Cocoa-deps in the Oolite repository. If you don’t want Smart Crash Reports installed, you can remove it from ~/Library/Input Managers/. These steps do not need to be repeated after updating the repository using the svn update command.

It should now be possible to build Oolite. The project contains three targets: Build All, Oolite and libpng-custom. The Oolite target will build the Oolite application and Spotlight indexer. The Build All target will build the Oolite target, and also the Debug.oxp subproject, and copy Debug.oxp into the AddOns folder in the build results folder. The libpng-custom target builds libpng and is automatically built by the Oolite target, so it shouldn’t need to be touched directly.

Building the Build All target will result in the following being created in the build results folder: AddOns, Debug.oxp, libjs.a, libpng.a, Oolite.app (or OoliteDev.app for the Development configuration) and Oolite.mdimporter. AddOns contains a copy of Debug.oxp. Oolite.app contains a copy of Oolite.mdimporter, and libjs.a and libpng.a are linked into the Oolite executable. Debug.oxp, libjs.a, libpng.a and Oolite.mdimporter can thus be considered side effects of the build process. Building the Oolite target produces libjs.a, libpng.a, Oolite.app or Oolitedev.app and Oolite.mdimporter, but not AddOns and Debug.oxp.