Dylan Smith
0f60b7c59a
fix infinite loop in ResourceManager, bump version to -dev2
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@184 127b21dd-08f5-0310-b4b7-95ae10353056
Oolite-Linux ============ This repository contains the files required to build Oolite for Linux, GNUstep and OpenGL. It should be easily portable to FreeBSD. 0. Pre-requisites - Objective-C. On Fedora Core, 'up2date -i gcc-objc' installs. - SDL Development libraries. (Currently used only for sound). Most distros have this pre-installed or as an easy-to-install package. Also, SDL_Mixer and SDL_Image are required (they are standard SDL libraries, but most Linux distros don't install them by default) - GNUstep Development libraries. I advise you build GNUstep from source since some prepackaged versions don't have a new enough NSOpenGLView. It builds easily from source so don't panic. Tip: Get the GNUstep Startup Version. Everything you need in one package. Make sure you do: PATH=$PATH:. before running make when you build GNUstep Startup, because it depends on running a shell script in the current directory. I'm not sure what the minimum hardware is, however decent OpenGL support is a must. I've only been able to personally test it on two machines - a 2GHz P4 with a GeForce 4ti and an old Compaq 733MHz P3 with ATi Radeon Mobility. It ran fine on both machines. I have heard reports of bad things happening with ATi graphics cards, but only off one person (textures didn't display), and another person with a Matrox graphics card had problems with the text. Building ======== Type: make If this fails and you're certain you have GNUstep's development stuff installed, make sure you have this in your .bashrc or equivalent: . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh GNUstep tells you this if you build it but you won't have been told if you've installed your distro's GNUstep binaries :-) Running ======= Type: openapp oolite or openapp oolite.debug if you built with 'make debug=yes'. Troubleshooting =============== I suggest you go through some of the GNUstep tutorials and make sure these build and run successfully to ensure your build and runtime environment is sane. Also, there's a little (and rather nasty) environment tester on ftp.alioth.net/oolite/gl-gnustep.tar.gz. If you're having problems I recommend you get this running first; it's relatively simple and should expose any problems your installation has without possible Oolite problems clouding your view. Is it borked for you? ===================== If you find it's borked, please post a message on the oolite-linux forum (see http://aegidian.org/bb). Please provide a backtrace if you have one, screenshots, and describe weirdness with sound. Also provide log messages from the console. Better still, if you have a fix, send us the patch! Modifications from Stock OSX Oolite =================================== Makefiles: GNUmakefile and GNUmakefile.postamble. The former controls compilation and linking, and the latter copies data files (PNG images, plists, dat files) into oolite.app/Contents/Resources. PlayerEntity_Additions.m, PlayerEntity_contracts.m, ShipEntity_AI.m - These just #include "PlayerEntity (contracts).m" etc. because spaces and brackets really suck in the Makefile and shell. #ifdefs - All over the code you'll see #ifdef GNUSTEP ... #else .... #endif If you grep for these, you can see where work has to be done. I've usually put a TODO: comment line in these (many of them are not filled in). I've not #ifdef'd out any methods - I've left at least a stub if there's nothing to put in there (for example, speech). Addition of Comparison.m/h from ObjectiveLib (see http://objectivelib.sourceforge.net). ObjectiveLib is an LGPL'd set of libraries to add functionality to GNUstep. Comparison.h/m implements a category of NSObject that adds isEqualTo:, isGreaterThan:, isGreaterThanOrEqualTo:, isLessThan:, isLessThanOrEqualTo:, isNotEqualTo: methods. It looked like a relatively simple category, so rather than creating a dependency on the whole of ObjectiveLib, I decided to just add these two files. Sound uses SDL instead of the AppKit's sound (the sound daemon crashes). Graphics use SDL instead of NSOpenGLView. Major tasks left ================ - Get rid of AppKit dependencies (in progress; moving to SDL). This will make the game portable to more platforms - in particular, GNUstep AppKit's OpenGL source is non-existent on Redmondware. Much of this work has been done. - Speech. This is a more 'who cares?' requirement. I don't know of a *nix open source speech synth. Notes for the terminally insane =============================== See PORTING.TXT - it's useful to read this if you're tinkering on Linux and not porting. It may save you grief.
Description
Languages
Objective-C
72%
C
19.2%
JavaScript
6.9%
Shell
0.7%
Makefile
0.4%
Other
0.8%