109 lines
2.8 KiB
Plaintext
109 lines
2.8 KiB
Plaintext
|
|
libsdlgame
|
||
|
|
==========
|
||
|
|
|
||
|
|
libSDLGame is a C++ library for writing games in SDL. It has been tested
|
||
|
|
on Windows XP, Windows 7, Ubuntu Linux, and Mac OS X 10.5/10.6
|
||
|
|
|
||
|
|
Building
|
||
|
|
========
|
||
|
|
|
||
|
|
After making sure you have all the dependencies:
|
||
|
|
|
||
|
|
make OS=[mingw32|linux|macosx]
|
||
|
|
make OS=[mingw32|linux|macosx] install
|
||
|
|
|
||
|
|
You can do:
|
||
|
|
|
||
|
|
make CFG=[Debug|Release]
|
||
|
|
|
||
|
|
... to say whether you want a debug build or a release build. Debug builds have gstabs and gdb info, while Release builds are more optimized and stripped.
|
||
|
|
|
||
|
|
Using
|
||
|
|
=====
|
||
|
|
|
||
|
|
Include it with:
|
||
|
|
|
||
|
|
#include <libsdlgame/libsdlgame.h>
|
||
|
|
|
||
|
|
... and link it with:
|
||
|
|
|
||
|
|
SDL_CFLAGS=$(shell sdl-config --cflags)
|
||
|
|
SDL_LDFLAGS=$(shell sdl-config --libs)
|
||
|
|
ld -lsdlgame $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||
|
|
|
||
|
|
Demos
|
||
|
|
=====
|
||
|
|
|
||
|
|
There are various tiny demos in ./demos/. Type "make demos" to build them; if that fails, cd into each demo, and do "make".
|
||
|
|
|
||
|
|
Games using this engine
|
||
|
|
=======================
|
||
|
|
|
||
|
|
My spaceshooter demo's C++ port uses this engine (see akesterson/spaceshooter ).
|
||
|
|
|
||
|
|
Development Status
|
||
|
|
==================
|
||
|
|
|
||
|
|
libsdlgame is a pet project that I pick up from time to time. It is not
|
||
|
|
branched well, and may often have working code intermixed with broken code
|
||
|
|
in the default production branch.
|
||
|
|
|
||
|
|
I do my best to keep this code working, but your best bet to see which code is
|
||
|
|
working, until I get my act together, is to check 'make demos' to see
|
||
|
|
which demos compile and run.
|
||
|
|
|
||
|
|
More Specific Status
|
||
|
|
====================
|
||
|
|
|
||
|
|
In general, the following things work:
|
||
|
|
|
||
|
|
* Loading and looping background music from files
|
||
|
|
* Loading and playing sound effects from files
|
||
|
|
* Loading and animating sprites from files
|
||
|
|
* Managing multiple render viewports
|
||
|
|
* Managing a list of stateful actors on the screen
|
||
|
|
* On-screen menus and menu items (left/right selection options, on/off)
|
||
|
|
|
||
|
|
Dependencies
|
||
|
|
============
|
||
|
|
|
||
|
|
libsdlgame has a number of dependencies:
|
||
|
|
|
||
|
|
* GNU Compiler Collection (COMPLETELY UNTESTED on MSVC, Xcode, etc)
|
||
|
|
* GNU bintools
|
||
|
|
* GNU make
|
||
|
|
* libsdl
|
||
|
|
* zlib
|
||
|
|
* libpng
|
||
|
|
* libjpeg
|
||
|
|
* libtiff
|
||
|
|
* SDL_image
|
||
|
|
* libvorbis
|
||
|
|
* flac
|
||
|
|
* SDL_mixer
|
||
|
|
* freetype
|
||
|
|
* SDL_ttf
|
||
|
|
* SDL_gfx
|
||
|
|
* backtrace (for win32 targets - *nix/OS X targets don't need this)
|
||
|
|
|
||
|
|
The following dependencies are needed for some beta functionality, and may be supplanted/changed/completely replaced in the near future; they have been
|
||
|
|
removed from the default targets in 'make deps'.
|
||
|
|
|
||
|
|
* libxml2
|
||
|
|
* cmake
|
||
|
|
* ffmpeg
|
||
|
|
* SDL_ffmpeg
|
||
|
|
* yaml-cpp
|
||
|
|
|
||
|
|
Building Dependencies
|
||
|
|
=====================
|
||
|
|
|
||
|
|
On mingw32, you can use:
|
||
|
|
|
||
|
|
make OS=mingw32 deps
|
||
|
|
|
||
|
|
.. On linux targets, you can probably figure out how to install all of the required packages, but on Ubuntu you can do:
|
||
|
|
|
||
|
|
make OS=linux deps
|
||
|
|
|
||
|
|
There is no dependency makefile for Mac OS X; I obviously intended to make one, but never did. Regardless, homebrew or macports should have everything you need, if you don't want to install everything into your native OS X.
|