organize the source tree somewhat better
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@30 127b21dd-08f5-0310-b4b7-95ae10353056
This commit is contained in:
parent
23a66cd503
commit
3274cb3ea6
@ -4,35 +4,11 @@
|
|||||||
# to live (Contents/Resources)
|
# to live (Contents/Resources)
|
||||||
#
|
#
|
||||||
CONTENTS = Contents
|
CONTENTS = Contents
|
||||||
RESOURCES = Resources
|
CONTENTDIR=$(APP_NAME).app/$(CONTENTS)
|
||||||
GNUSTEP_OW = $(APP_NAME).app/Resources/Info-gnustep.plist
|
GNUSTEP_OW=$(APP_NAME).app/Resources/Info-gnustep.plist
|
||||||
INSTDIR = $(APP_NAME).app/$(CONTENTS)/$(RESOURCES)
|
|
||||||
AIDIR = $(INSTDIR)/AIs
|
|
||||||
CONFIGDIR = $(INSTDIR)/Config
|
|
||||||
IMAGEDIR = $(INSTDIR)/Images
|
|
||||||
TEXTUREDIR = $(INSTDIR)/Textures
|
|
||||||
SOUNDDIR = $(INSTDIR)/Sounds
|
|
||||||
MUSICDIR = $(INSTDIR)/Music
|
|
||||||
MODELDIR = $(INSTDIR)/Models
|
|
||||||
|
|
||||||
after-all::
|
after-all::
|
||||||
$(MKDIRS) $(APP_NAME).app/Contents
|
$(MKDIRS) $(APP_NAME).app/$(CONTENTS)
|
||||||
$(MKDIRS) $(INSTDIR)
|
$(CP) -r Resources $(CONTENTDIR)/Resources
|
||||||
$(MKDIRS) $(AIDIR)
|
$(CP) Resources/Info-Oolite.plist $(GNUSTEP_OW)
|
||||||
$(MKDIRS) $(CONFIGDIR)
|
|
||||||
$(MKDIRS) $(IMAGEDIR)
|
|
||||||
$(MKDIRS) $(TEXTUREDIR)
|
|
||||||
$(MKDIRS) $(SOUNDDIR)
|
|
||||||
$(MKDIRS) $(MUSICDIR)
|
|
||||||
$(MKDIRS) $(MODELDIR)
|
|
||||||
$(CP) splash.png $(IMAGEDIR)/splash.png
|
|
||||||
$(CP) splashback.png $(IMAGEDIR)/splashback.png
|
|
||||||
$(CP) cursor.png compass.png aegis.png reddot.png greendot.png zoom.png legend* solar.png $(IMAGEDIR)
|
|
||||||
$(CP) *.png $(TEXTUREDIR)
|
|
||||||
$(CP) *.aiff $(SOUNDDIR)
|
|
||||||
# $(CP) *.mp3 *.mid *.mov $(MUSICDIR)
|
|
||||||
$(CP) *AI.plist $(AIDIR)
|
|
||||||
$(CP) *.dat $(MODELDIR)
|
|
||||||
$(CP) *.plist $(CONFIGDIR)
|
|
||||||
$(CP) Info-Oolite.plist $(GNUSTEP_OW)
|
|
||||||
|
|
||||||
|
15
PORTING.TXT
15
PORTING.TXT
@ -68,4 +68,19 @@ The location of the exception is easily found by doing 'make debug=yes'
|
|||||||
and doing 'debugapp oolite.debug' and then looking at the line of code
|
and doing 'debugapp oolite.debug' and then looking at the line of code
|
||||||
it crashes in.
|
it crashes in.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Sound in general: gnustep_sndd crashes
|
||||||
|
|
||||||
|
Cause: Don't know, assume it's a bug in GNUstep.
|
||||||
|
|
||||||
|
This has been fixed by writing OOAlsaSound (for Linux) so that sound
|
||||||
|
is generated on a thread inside the game instead of using the sound
|
||||||
|
daemon. You'll have to implement your platform's specific equivalent
|
||||||
|
of ALSA. The file OOSound.m/h includes the correct source at compile
|
||||||
|
time; put your #ifdefs here and add your sound class to this so the
|
||||||
|
right one gets built.
|
||||||
|
|
||||||
|
The base NSSound loads AIFF files just fine so I only subclassed it and
|
||||||
|
overrode the playing methods.
|
||||||
|
|
||||||
|
106
README.TXT
106
README.TXT
@ -5,7 +5,9 @@ This repository contains the files required to build Oolite for Linux,
|
|||||||
GNUstep and OpenGL. It is possibly easily portable to FreeBSD. It
|
GNUstep and OpenGL. It is possibly easily portable to FreeBSD. It
|
||||||
won't yet work on Windows due to the lack of OpenGL support in the
|
won't yet work on Windows due to the lack of OpenGL support in the
|
||||||
Windows implementation of GNUstep. However, if this is fixed, it
|
Windows implementation of GNUstep. However, if this is fixed, it
|
||||||
will probably need very little effort to port.
|
will probably need very little effort to port. If you are considering
|
||||||
|
porting this to a platform other than Linux, please read PORTING.TXT
|
||||||
|
for the troubles that I've encountered - it may save you time.
|
||||||
|
|
||||||
0. Pre-requisites
|
0. Pre-requisites
|
||||||
|
|
||||||
@ -15,6 +17,63 @@ will probably need very little effort to port.
|
|||||||
since some prepackaged versions don't have a new enough NSOpenGLView.
|
since some prepackaged versions don't have a new enough NSOpenGLView.
|
||||||
It builds easily from source so don't panic.
|
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 wih onboard Intel graphics. 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://aegidean.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
|
Modifications from Stock OSX Oolite
|
||||||
===================================
|
===================================
|
||||||
|
|
||||||
@ -41,15 +100,17 @@ methods. It looked like a relatively simple category, so rather
|
|||||||
than creating a dependency on the whole of ObjectiveLib, I decided
|
than creating a dependency on the whole of ObjectiveLib, I decided
|
||||||
to just add these two files.
|
to just add these two files.
|
||||||
|
|
||||||
|
Addition of OOAlsaSound - The GNUstep sound daemon crashes with oolite,
|
||||||
|
so it was replaced with code that plays the sound on a separate thread
|
||||||
|
within the game. I have found ALSA to be poorly documented - there
|
||||||
|
are probably still problems with this code.
|
||||||
|
If you can do a better job *please do* and be sure to send me diffs.
|
||||||
|
I recommend you always use the latest svn head revision if you are going
|
||||||
|
to tinker with this. I won't feel in the least offended if you tell
|
||||||
|
me that my ALSA code is crap.
|
||||||
|
|
||||||
Major tasks left
|
Major tasks left
|
||||||
================
|
================
|
||||||
|
|
||||||
- Crashing: What's here crashes with depressing frequency. I tend
|
|
||||||
to get floating point exceptions mostly.
|
|
||||||
- Runtime error when pressing F2 when docked.
|
|
||||||
- Load New Commander file dialogue.
|
|
||||||
- Sound: The GNUstep sound server appears to have some inadequacies
|
|
||||||
at present - using some other library may be necessary.
|
|
||||||
- OpenGL....APPLE functions (optimizations) need a suitable replacement.
|
- OpenGL....APPLE functions (optimizations) need a suitable replacement.
|
||||||
- Full screen modes: not implemented at all at present, Carbon
|
- Full screen modes: not implemented at all at present, Carbon
|
||||||
API calls need replacing with the equivalent GNUstep or X Window System
|
API calls need replacing with the equivalent GNUstep or X Window System
|
||||||
@ -58,28 +119,9 @@ Major tasks left
|
|||||||
that I think is cross-platform.
|
that I think is cross-platform.
|
||||||
- Speech. This is a more 'who cares?' requirement. I don't know of
|
- Speech. This is a more 'who cares?' requirement. I don't know of
|
||||||
a *nix open source speech synth.
|
a *nix open source speech synth.
|
||||||
|
- Keyboard shortcuts (equivalent of Cmd-Q et al.)
|
||||||
|
|
||||||
Building
|
Notes for the terminally insane
|
||||||
========
|
===============================
|
||||||
Type:
|
See PORTING.TXT - it's useful to read this if you're tinkering on Linux
|
||||||
make.
|
and not porting. It may save you grief.
|
||||||
|
|
||||||
Running
|
|
||||||
=======
|
|
||||||
Type:
|
|
||||||
openapp oolite
|
|
||||||
|
|
||||||
or
|
|
||||||
openapp oolite.debug
|
|
||||||
if you built with 'make debug=yes'.
|
|
||||||
|
|
||||||
Suggestions
|
|
||||||
===========
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user