From 44eca39a2f8e6be8b5dece224872fe5222feefa7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Ho=C5=A1ek?= Date: Tue, 11 Oct 2005 14:22:45 +0000 Subject: [PATCH] * Fixed a few mistakes in the file formats documentation * Minor INSTALL rewrite SVN-Revision: 2833 --- INSTALL | 106 ++++++++++++++++++++++----------------- docs/fileformats/fileformats.xml | 28 ++++++----- 2 files changed, 75 insertions(+), 59 deletions(-) diff --git a/INSTALL b/INSTALL index a5859afd8..81b26021d 100644 --- a/INSTALL +++ b/INSTALL @@ -1,50 +1,61 @@ - - Install instructions for SuperTux - http://supertux.berlios.de/ -Last update: April 26, 2004 +Last update: October 11, 2005 by Ondra Hosek REQUIREMENTS ------------ SDL --- - "SuperTux" was programed using the "Simple DirectMedia Layer" - libraries by Sam Lantinga. This means that the game can - theoretically run under any environment that the SDL libraries support. - - (As of this program's release, this includes: Linux X11/DGA, - Win32 WinDIB/DirectX, BeOS BWindow, and Solaris X11, as well - as unofficually supported: Linux SVGAlib, IRIX 6.x X11, - FreeBSD 3.x X11, and MacOS.) - - The Simple DirectMedia Layer is required to compile this game. + The Simple DirectMedia Layer, a set of libraries made to simplify + access to multimedia functions of various platforms, is required + to compile this game. You can download the SDL libraries from: http://www.libsdl.org/ SDL_image --------- - SDL_image is also required. (It is used to load the PNG format images - that come with SuperTux!) - - SDL_mixer + SDL_image, an image-loading library based on SDL, is also required. + + You can download SDL_image from: + http://www.libsdl.org/projects/SDL_image/ + + OpenGL + ------ + OpenGL is a graphics library that your system should already + have (it is preinstalled on Windows and should be available + in your X11 distribution on Unix systems). + + To have the best performance possible, you should have an + accelerated graphics card and use its vendor's drivers. Currently, + only NVidia writes decent drivers for Linux, but since only + accelerated 2D is used, the performance on ATI or other graphics + cards shouldn't be significantly worse. + + You will need the OpenGL headers to compile SuperTux, so it is + advisable to first install Mesa (which should be included with your + X11 distribution) on Unix to get the headers and only then replace + the software rendering OpenGL library by installing the driver for + your graphics card. + + PhysicsFS --------- - Sound and music are available, but are not required (see below). - You will need the "SDL_mixer" library compiled and installed if - you want sound. + PhysicsFS provides a Quake 3-like data access method. + + You can get PhysicsFS and more information about it from: + http://icculus.org/physfs/ - OpenGL implementation (optional) - --------------------- - Mesa should be installed in order to compile, but it is painly - slow when running, so we advise you to install your videocard - drivers (of course, it has to be an accelerated videocard). - For linux, nvidia vendor is the only one that makes decent drivers. - But the ATI drivers should run with the same performance, since - it only uses accelerated 2d, not 3d. + Jam + --- + If you want to build SuperTux, you will need Jam, a build system by + Perforce. Extract the archive on your hard disk, run make and copy + the compiled binary (in the bin. directory) into your PATH + (e.g. /usr/bin). - Anyway, you can use the SDL frontend and you most likely won't - notice any difference. + You can download Jam from: + ftp://ftp.perforce.com/jam/ INSTALLING UNDER LINUX/UNIX @@ -53,30 +64,31 @@ INSTALLING UNDER LINUX/UNIX Note: Read this entire section before you start issuing commands! ----------------------------------------------------------------- - SuperTux uses a script that checks for dependency and disables - features, in case they are not found. - The script is the configure and you can specify a few stuff - like the directory to which you want to install SuperTux, - by giving the argument --prefix=/usr/local (ie). For more - informations, type './configure --help'. - (Note: SuperTux does not need to be installed in the system, + SuperTux uses a script that checks for dependencies and disables + features in case the requirements are not met. + The script is named configure and you can specify a few parameters + like the directory to which you want to install SuperTux + (by supplying the argument --prefix=/usr/local). For more + information, type './configure --help'. + (Note: SuperTux does not need to be installed on the system, you can run it from its own directory.) - If there isn't any configure script (ie. in case, you got it - via cvs), just run the autogen.sh script. + If no configure script exists (e.g. in case you've retrieved SuperTux + from SVN), just run the autogen.sh script. You'll need autoconf + for this. - To compile it, a 'make' is enough. - Type 'make install' (as root) to copy it into the system. - (default directory is /usr/local, see above how to change - this.) + To compile SuperTux, a 'jam' is enough. + Type 'jam install' (as root) to copy it into the system. + (By default, SuperTux installs itself into /usr/local, see above how + to change this behaviour.) So, in short, just type: sh autogen.sh (in case there isn't any configure file already) sh configure - make + jam - And in case you want to copy SuperTux to the system: - make install (as root) + And in case you want to install SuperTux into the system: + jam install (as root) ICON FILE @@ -84,5 +96,5 @@ ICON FILE A 32x32, XPM-format icon file is available if you wish to use an icon for a menu entry for this game. - The file is "supertux.xpm", and can be found at the data/images/ - directory. + The file is "supertux.xpm", and can be found in the + data/images/engine/icons/ directory. diff --git a/docs/fileformats/fileformats.xml b/docs/fileformats/fileformats.xml index 8f4a18e10..04daaec71 100644 --- a/docs/fileformats/fileformats.xml +++ b/docs/fileformats/fileformats.xml @@ -29,13 +29,13 @@ Suite 330, Boston, MA 02111-1307, USA. SuperTux File Format Documentation OndraHosek -This document serves the simple purpose of a reference for the files specific to SuperTux (levels, worldmaps, ...). Some of these files can be modified using an editor such as +This document serves the simple purpose of a reference for the files specific to SuperTux (levels, worldmaps, ...). Some of these files can be modified using an editor such as Flexlay. Brackets, brackets, brackets (About the Language) As you might have already noticed, the SuperTux definition files (just about for everything) are full of brackets ('(' and ')'). I know that BASIC programmers already freak out when seeing the vast amount of brackets used in C. The truth is that you can never have too many brackets. (Okay, that's a lie, but I don't know how lenient your compiler is.) -"That Crazy File Format" used by SuperTux is Lisp. In most of its implementations, it is used as a programming language, but the devs simply thought why not to implement it as a data storage language. And so, the SuperTux data language, nearly fully based on Lisp, was born. +"That Crazy File Format" used by SuperTux is Lisp. In most of its implementations, it is used as a programming language, but the devs simply thought why not to implement it as a data storage language. And so, the SuperTux data language, nearly fully based on Lisp, was born. Basic Syntax -So now you expect me to teach you Lisp. "You'd like that, wouldn't ya?" Okay, okay, let me teach you a bit. +So now you expect me to teach you Lisp. "You'd like that, wouldn't ya?" Okay, okay, let me teach you a bit. Language syntax is (nearly) always best consumable when demonstrated on an example, like so: (supertux-lisp-example ; This is a comment. It is initiated by a semi-colon. (Yes, you un-believer.) @@ -69,7 +69,7 @@ Suite 330, Boston, MA 02111-1307, USA. (sector ;; A level is divided into independent sectors that can be connected ;; by doors. - (name "main") ;; Tux begins in the sector named "main". + (name "main") ;; Tux begins in the sector named "main". (music "Ondras_chipdisko.mod") ;; Name of the music file. See the data/music/ directory. @@ -77,8 +77,8 @@ Suite 330, Boston, MA 02111-1307, USA. ;; apply the level design correctly). (tilemap ;; Here come the files. - (layer "background" ;; Currently, there are three layer types: "background", - ;; "interactive" and "foreground". + (layer "background" ;; Currently, there are three layer types: "background", + ;; "interactive" and "foreground". (solid #f) ;; Will Tux collide with tiles in this tilemap? @@ -255,10 +255,7 @@ Suite 330, Boston, MA 02111-1307, USA. Worldmaps -Worldmaps are basically level files with a few nuances. - -Basic worldmap syntax -It's time for a hands-on example. Let's just picture somebody with the idea to write a level set that takes place in London (represented by a lonely island): +Worldmaps are basically level files with a few nuances. To explain the syntax, let's just picture somebody with the idea to write a level set that takes place in London (represented by a lonely island): (supertux-worldmap (properties ;; Global worldmap properties. (name (_ "London")) ;; Name of the worldmap @@ -306,14 +303,21 @@ Suite 330, Boston, MA 02111-1307, USA. (teleport-to-y 1) ) ) - +Level subsets +Whilst creating a worldmap is optional, you'll need to write a level subset file to make your level package to appear in the contribs menu (or, ironically, inhibiting this behaviour). A file containing a level subset is called info and lies in data/levels/<subset_name>. +(supertux-level-subset + (title "Domain of the Hosek siblings") ;; Give your levelset a nice name... + (description "Levels by Ondra and Klara, the Hosek siblings") ;; ... and a short description. + (hide-from-contribs #f) ;; Set to true if you don't want your levelset to appear in the "Contrib Levels" menu. +) + +