]> Dogcows Code - chaz/yoink/blobdiff - README
use only triangles; no quads
[chaz/yoink] / README
diff --git a/README b/README
index 7994e6958c1f8c67f0c3aace1368d2c8e0118d3a..c834a3d451c345b7c4d5f1b341ffc3a85d47e485 100644 (file)
--- a/README
+++ b/README
@@ -1,25 +1,25 @@
 
 Yoink - The alien-smashing action game
---------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Contents:
 
 I.   Users
   a)   General information
   b)   Requirements
-  c)   License
-II.  Developers
+  c)   Installing
+  d)   License
+II.  Developers and Packagers
   a)   Notes regarding the code
-  b)   Sending patches
-III. Packagers
-  a)   The build system
-  b)   Targeting Win32
+  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
@@ -29,6 +29,7 @@ This version of the game uses all new code and modern frameworks to bring
 this simple, fast-moving action game to a wider audience.
 
 b) Requirements
+---------------
 
 boost headers
 libpng
@@ -36,90 +37,103 @@ libvorbis
 Lua
 OpenAL
 OpenGL (including GLU)
-pkgconfig
+pkg-config
 SDL
 
-c) License
+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
+----------
 
 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 the
-file COPYING for complete details.  The full texts of applicable licenses
-can be found in doc/licenses/.
+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.
 
 
-II. Developers
---------------
+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 Moof.  I've also made an effort to incorporate 3rd-party
+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 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, unfortunately.
+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. 3rd-party code.
+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 in the
-COPYING file.  This code resides in various namespaces and in various
-subdirectories.
+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.
 
-b) Sending patches
+*  The configure script supports most of the useful options that an
+   autoconf-generated script would have, and the makefile supports DESTDIR.
 
-I'll gladly entertain patches if you want to fix bugs or whatnot.  Just
-email me your stuff or tell me where to pull from (git).  If you're
-interested in that, please observe the following:
+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 spacing
+   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, limit line lengths to 75 characters.
+   4 characters.  Also, try to limit line lengths to 75 characters.
 
 *  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.
 
 *  If you want your name and contact information in the file AUTHORS,
-   please just add it in the patch you provide.
-
-
-III. Packagers
---------------
-
-a) The build system
-
-You can probably tell that the build system of this package is built from
-autoconf and automake.  It should be fairly sane.  If you find any build
-system problems or code which doesn't compile cleanly on your platform,
-feel free to send back patches.
-
-b) Targeting Win32
-
-If you have a working mingw32 toolchain with all the dependencies, you can
-build a win32 binary using a command such as this:
-
-./configure --host=mingw32 --prefix=/usr/mingw32/usr
-
-where mingw32 is the correct name of your toolchain and the prefix points
-to the installation of your toolchain.  I maintain an archive of most of
-the dependencies.  The package is in the git repository; just unzip it onto
-your toolchain and configure/compile.  If everything goes smoothly, you
-should have a new, shiny yoink.exe.  You can then build a complete
-installer using "make package" if you have nsis installed.
-
-I haven't tried building with cygwin or mingw32 on an actual Windows
-machine, and I certainly haven't tried to do it with Visual Studio.  You're
-on your own if you go that route.
+   please make it so in the patch you provide.
 
This page took 0.021596 seconds and 4 git commands to generate.