Terminus Est

From Bitpost wiki
Revision as of 19:15, 21 March 2006 by SquidBoy (talk | contribs)

Terminus Est is John's awesome space shooter. See his Soloforge website.

Mike is hoping to help John build Terminus under linux. Here's John's "getting started" list...

There is some stuff in here on getting set up to build SDL apps with
KDeveloper: http://gpwiki.org/index.php/SDL

You will need SDL, plus the SDL_image and SDL_gfx support libs.  
Available from: http://www.libsdl.org/index.php

And the FMOD sound system from http://www.fmod.org.

Typically I'll be using either Fedora or Gentoo during my porting effort.


FEDORA


1 Install SDL and fmod:

yum install SDL-devel
yum install SDL_gfx
yum install SDL_gfx-devel
yum install SDL_image
yum install SDL_image-devel
yum install fmod
yum install fmod-devel

Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf
Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf
Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf
Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf
Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at
Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4
Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 
Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf

Mike's comments will occasionally be marked in orange, John's comments in green, when we're not feeling lazy.

Huh. Does that yum app go out and get the latest version too? Slick. I will get some source control up and running today.

Yep it auto-updates everything to the latest stable versions, including tracking down dependencies.


2 Grab the source - John is using subversion - very l337!

yum install subversion
  Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1

cd development
mkdir terminus
cd terminus
svn checkout http://xxxxx/terminus/

and there it is!


3 Build it

sdl-config tells you what you need on the gcc command line:

[m@thedigitalmachine terminus]$ sdl-config --libs 
-L/usr/lib -lSDL -lpthread
[m@thedigitalmachine terminus]$ sdl-config --static-libs
-L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext

So let's try this:

g++ main.cpp -o main `sdl-config --cflags --static-libs`

Here's what we got so far:

 In file included from system.hpp:17,
                 from startup.hpp:8,
                 from main.cpp:8:
util/audio.hpp:82: error: syntax error before `*' token
util/audio.hpp:145: error: `FMOD_SOUND' was not declared in this scope

I looked at /usr/include/fmod/fmod.h and it looks like FMOD_SOUND has been replaced with FSOUND_SAMPLE? I could be wrong. I tried s/r and I'm getting errors on other FMOD_* defines. Time to do some research on fmod versions...

Hmmm... There are two versions of FMOD Ex, the C and the C++ version. I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW. Check and make sure that you have the C version of the lib installed too.

FYI, here is my linker options:

-lmingw32 -lSDLmain -lSDL -mwindows ../../Dev-Cpp/lib/libSDL_image.a ../../Dev-Cpp/lib/libfmodex.a ../../Dev-Cpp/lib/libSDL_gfx.a

Yep, you are right, I grabbed the fmod linux source and FMOD_SOUND is all over. I will compile and link it in myself.


Try this:

Download the linux tar.gz from http://www.fmod.org
Notice there is both a fmod.h and an fmod.hpp in the inc dir.
Put into the compile path, the compiler should compile in the correct one (fmod.h) since that is what is in my files.
There are two .03 files in the lib dir, is one of those the C version of the lib and the other the CPP?