]> Dogcows Code - chaz/yoink/blobdiff - README
use only triangles; no quads
[chaz/yoink] / README
diff --git a/README b/README
index a8cfd9d525eb310c87115526553c62b49fc1d972..c834a3d451c345b7c4d5f1b341ffc3a85d47e485 100644 (file)
--- a/README
+++ b/README
 
-Yoink is a game originally developed by Neil Carter for Mac OS.  You play the
-part of a flying alien heroine who must defend her home on Earth from other
-airborne alien invaders.
+Yoink - The alien-smashing action game
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Contents:
+
+I.   Users
+  a)   General information
+  b)   Requirements
+  c)   Installing
+  d)   License
+II.  Developers and Packagers
+  a)   Notes regarding the code
+  b)   Packaging
+  c)   Sending patches
+
+
+I. Users
+========
+
+a) General information
+----------------------
+
+Yoink is a game created by Neil Carter for Mac OS.  You play the part of a
+flying alien heroine who must defend her home on Earth from other airborne
+alien invaders.
 
 This version of the game uses all new code and modern frameworks to bring
 this simple, fast-moving action game to a wider audience.
 
-The new code is released under the BSD-2 license.  The old code and original
-resources are provided under the zlib/libpng License.  See COPYING for complete
-details.
-
-Dependencies:
+b) Requirements
+---------------
 
 boost headers
-freealut
+libpng
 libvorbis
 Lua
 OpenAL
-OpenGL (libGL, libGL or opengl32, glu32)
+OpenGL (including GLU)
+pkg-config
 SDL
-SDL_image (with libpng support)
 
+c) Installing
+-------------
+
+To build and install Yoink yourself, you should first make sure you have
+all the required libraries.  Then, issue these commands at a command-line
+prompt:
+
+ cd /path/to/project
+ ./configure
+ make && make install
+
+where /path/to/project is the path to the directory where this file is.
+
+That will compile and install Yoink into the /usr/local directory.  To run
+Yoink, issue this command:
+
+ /usr/local/bin/yoink
+
+or just ``yoink'' if /usr/loca/bin is already in your PATH.  You can also
+install Yoink to a different directory or change a lot of build options
+using the configure script.  See ./configure --help and the file INSTALL
+for details.
+
+d) License
+----------
 
-Notes regarding the code:
+The new code is released under the 2-clause BSD license.  The old code and
+original resources are provided under the zlib/libpng License.  See file
+COPYING for complete details.  The full texts of applicable licenses can be
+found in doc/licenses.
 
-The code is a complete rewrite, containing none of the original code.  I've made
-some effort to put the more generic or reusable code into a separate library
-called Moof.  I've also made an effort to incorporate 3rd-party code that
-happened to fit well into what I needed.  So, generally, the source code is
-separated into these three categories:
+
+II. Developers and Packagers
+============================
+
+a) Notes regarding the code
+---------------------------
+
+The code is a complete rewrite, containing none of the original code.  I've
+made some effort to put the more generic or reusable code into a separate
+library called libmoof.  I've also made an effort to incorporate 3rd-party
+code that happened to fit well into what I needed.  So, generally, the
+source code is separated into these three categories:
 
 1. Yoink-specific code.
 
-This is the code directly in src/.  These classes reside in no namespace.
+This is the code in the directory src.  These classes reside in no explicit
+namespace.
 
 2. Reusable code.
 
-Currently, the code is in src/Moof/, and it is compiled as a convenience
-library.  These classes and other helper functions reside in the Mf namespace.
-Since I wrote this code alongside the Yoink-specific stuff, there is somewhat of
-a blurry line between the two categories.
+The code is in src/moof, and it is compiled as a convenience library.
+These classes and helper functions reside in the moof namespace.  Since I
+wrote this code alongside the Yoink-specific stuff, there is somewhat of a
+blurry line between the two categories, unfortunately.
+
+3. Third-party code.
+
+This is made up of free code from other projects or libraries (aside from
+the explicit dependencies above), the licenses of which are also noted in
+the file COPYING.  This code resides in various namespaces and in various
+subdirectories of src.
+
+b) Packaging
+------------
+
+Here are some tips to help packagers:
+
+*  The build scripts are written in Lua, so make sure the Lua interpreter
+   is installed.  That shouldn't be a problem since Yoink depends on the
+   Lua library anyway.
+
+*  The makefile will probably only work well with GNU make.  On some
+   systems, this is installed as gmake.
+
+*  The configure script supports most of the useful options that an
+   autoconf-generated script would have, and the makefile supports DESTDIR.
+
+c) Sending patches
+------------------
+
+I'll gladly entertain patches if you want to help out.  Just email me your
+stuff or tell me where to pull if you use git.  If you're interested in
+that, please observe the following:
+
+*  Stick to the coding style of the source code files you edit.  Follow the
+   general style of method and variable naming, as well as white space
+   formatting.  In particular, use literal tabs with an assumed tabstop of
+   4 characters.  Also, try to limit line lengths to 75 characters.
 
-3. 3rd-party code.
+*  For legal reasons, don't include other peoples' code with your patch.
+   You must also agree to license your changes according to the same terms
+   and conditions as the files you edit, usually the 2-clause BSD license.
 
-This is made up of free code from other projects or libraries (aside from the
-explicit dependencies above), the licenses of which are also in the COPYING
-file.  This code resides in various namespaces and in various subdirectories.
+*  If you want your name and contact information in the file AUTHORS,
+   please make it so in the patch you provide.
 
This page took 0.020245 seconds and 4 git commands to generate.