INSTALL for Mad Bomber by Bill Kendrick bill@newbreedsoftware.com http://www.newbreedsoftware.com/madbomber/ February 24, 2002 REQUIREMENTS ------------ SDL --- "Mad Bomber" was programed using the "Simple Direct Media" layer libraries by Sam Lantinga. This means that the game can theoretically run under any environment that the SDL libraries support. You can download the SDL libraries from: http://www.libsdl.org/ SDL_Image --------- You will need the "SDL_Image" library compiled and installed. The SDL_Image library can be downloaded from: http://www.libsdl.org/projects/SDL_image/ SDL_Mixer --------- Sound and music are available, but are not required (see below). You will need the "SDL_Mixer" library compiled and installed. The SDL_Mixer library can be downloaded from: http://www.libsdl.org/projects/SDL_mixer/ Controls -------- The game can be played with a keyboard and/or a mouse. Eventually, I hope to support Atari 2600 paddles (which would simply be an variation of analog PC joystick support). COMPILING UNDER LINUX/UNIX -------------------------- ----------------------------------------------------------------- Note: Read this entire section before you start issuing commands! ----------------------------------------------------------------- The "Makefile" that comes with "Mad Bomber" assumes a number of defaults about your system. You can edit their values in the "Makefile" itself, or specify their values when you run the "make" command (ie, "make VARIABLE=value"). The things you will wish to edit are: DATA_PREFIX=/usr/share/madbomber/ This defines where the contents of "Mad Bomber"'s "data/" directory is to be found. The default assumes that you're going to install Mad Bomber globally. If you wish to install Mad Bomber elsewhere (say, in a user home directory because you don't have root access on the system), change this. For example, if you just want to leave the data where it is, try: DATA_PREFIX=$(PWD)/data BIN_PREFIX=/usr/local/bin/ This defines where the "install" target of the Makefile (see below) is to place the program. If you don't plan on running "make install", you don't need to worry about this value. To compile the game, type the command: make [ with whatever variable changes you want, if any ] If you decided that you wanted the data somewhere else, make sure to move it there. If you wanted it to be accessible to others (ie, you're an administrator installing a new game for your users), make sure to set the permissions for the files! (You'll also want to move the "madbomber" binary to somewhere globally accessible, and set its permissions, as well, of course!) Note: If you do not have the SDL mixer library, or wish to not compile sound support into the game, you can compile it like this: make nosound [ with whatever variable changes you want, if any ] To install the software (copy the data files to the location specified by "DATA_PREFIX" and copy the program itself to the location specified by "BIN_PREFIX", and set permissions), run: make install (You may need to do this as superuser ("root")). If you wish to return the directory to its distribution state, (remove the ".o" object files, and the "madbomber" executable program file), you can run: make clean COMPILING FOR WINDOWS USING A CROSS-COMPILER UNDER LINUX/UNIX ------------------------------------------------------------- ----------------------------------------------------------------- Note: Read this entire section before you start issuing commands! ----------------------------------------------------------------- Once you are set up to cross-compile (for example, you've installed the Xmingw32 cross compiler and set your $PATH variable correctly), to compile the game, type the command: make win32 This will re-run the "make" command, sending it some values which will replace the Linux-specific defaults in "Makefile". The resulting program will be called "madbomber.exe". The values which are altered when you make the "win32" target are: TARGET_LIBS= This removes the "-lpthreads" and "-ldl" libraries used under Linux. TARGET_DEF=WIN32 This causes a "WIN32" definition to be sent to the C compiler, which changes the source slightly to cross-compile for Windows. SDL_PREFIX=/usr/win32/ Depending on where the Win32 version of the SDL libraries are installed on your system, you may need to edit "Makefile" and change the "SDL_PREFIX" that gets sent in the "win32" make target. TARGET=madbomber.exe Since Win32 programs are named ".exe", this changes the target filename so that such a file is created. DATA_PREFIX= Since the Linux/Unix directory structure won't make sense on a Win32 box, the DATA_PREFIX is stripped. This means "madbomber.exe" must be run inside the directory containing it's "data/" subdirectory. If you wish to return the directory to its distribution state, (remove the ".o" object files, and the "madbomber.exe" executable program file), you can run: make clean COMPILING THE EMBEDDED VERSION ------------------------------ The embedded version uses a C '#define' called "EMBEDDED" to compile the game using sideways, quarter-sized graphics and mouse (stylus) input, and sideways keyboard control. Other differences currently include: * No sound (and, therefore, no sound settings or music) * No "Two Player Vs" mode * The zooming level number effect is removed (for CPU speed consideration) To build the embedded version, simply run: make embedded (Once SDL and SDL_image are ported to Zaurus and/or iPAQ-running-Linux, I'll add cross-compiling options to the Makefile. For now, you're on your own!) That's it!