Terminus Est

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

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

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

I am hoping to help him build it 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

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

M: 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


  • test of email on changes *

( did it work?  :> ) ( For your edit, not mine, which makes sense. You should get an email for this one :-) )