Terminus Est
Terminus Est is John's awesome space shooter. See his Soloforge website.
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