* Fixed a few mistakes in the file formats documentation
authorOndřej Hošek <ondra.hosek@gmail.com>
Tue, 11 Oct 2005 14:22:45 +0000 (14:22 +0000)
committerOndřej Hošek <ondra.hosek@gmail.com>
Tue, 11 Oct 2005 14:22:45 +0000 (14:22 +0000)
* Minor INSTALL rewrite

SVN-Revision: 2833

INSTALL
docs/fileformats/fileformats.xml

diff --git a/INSTALL b/INSTALL
index a5859af..81b2602 100644 (file)
--- 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.<platform> 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.
index 8f4a18e..04daaec 100644 (file)
@@ -29,13 +29,13 @@ Suite 330, Boston, MA 02111-1307, USA.
 <title>SuperTux File Format Documentation</title>
 <author><firstname>Ondra</firstname><surname>Hosek</surname></author>
 </articleinfo>
-<para>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 </para>
+<para>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.</para>
 <sect1><title>Brackets, brackets, brackets (About the Language)</title>
 <para>As you might have already noticed, the SuperTux definition files (just about for everything) are full of brackets ('(' and ')'). I know that <acronym>BASIC</acronym> 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.)</para>
-<para>&quot;That Crazy File Format&quot; 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.</para>
+<para>"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.</para>
 
 <sect2><title>Basic Syntax</title>
-<para>So now you expect me to teach you Lisp. &quot;You'd like that, wouldn't ya?&quot; Okay, okay, let me teach you a bit.</para>
+<para>So now you expect me to teach you Lisp. "You'd like that, wouldn't ya?" Okay, okay, let me teach you a bit.</para>
 <para>Language syntax is (nearly) always best consumable when demonstrated on an example, like so:
 <programlisting>(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 &quot;main&quot;.
+    (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: &quot;background&quot;,
-                                     ;; &quot;interactive&quot; and &quot;foreground&quot;.
+      (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.
 </sect1>
 
 <sect1><title>Worldmaps</title>
-<para>Worldmaps are basically level files with a few nuances.</para>
-
-<sect2><title>Basic worldmap syntax</title>
-<para>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):
+<para>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):
 <programlisting>(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)
   )
 )</programlisting></para>
-</sect2>
 
 </sect1>
 
+<sect1><title>Level subsets</title>
+<para>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 <code>info</code> and lies in <code>data/levels/&lt;subset_name&gt;.</code>
+<programlisting>(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.
+)</programlisting></para>
+</sect1>
+
 <!--
 
 TODO:
-* Level subset
 * Sprite definitions
 * Tile definitions