]> Dogcows Code - chaz/yoink/blobdiff - README
readme edits
[chaz/yoink] / README
diff --git a/README b/README
index 39092e738866da52b9bcdede7322b63ee0e5ad6c..e86d9406e741a93d9b2697da41894a54dce54164 100644 (file)
--- a/README
+++ b/README
@@ -1,32 +1,62 @@
 
-Yoink is a game originally developed by Neil Carter for Mac OS X.  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
+--------------------------------------
 
-This version of the game uses rewritten code and modern frameworks to bring
-this simple, fast-moving action game to a wider audience.
+Contents:
+
+I.   Users
+  a)   General information
+  b)   Requirements
+  c)   License
+II.  Developers
+  a)   Notes regarding the code
+  b)   Sending patches
+III. Packagers
+  a)   The build system
+  b)   Targeting Win32
+
+
+I. Users
+--------
 
-The new code is released under the Simplified BSD License.  The old code and
-original resources are provided under the zlib/libpng License.  See COPYING
-for complete details.
+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.
 
-Dependencies:
+b) Requirements
 
 boost headers
-OpenGL (libGL, libGL or opengl32, glu32)
-libSDL
-libSDL_image (with libpng support)
-libSDL_sound (with libogg support)
-libopenal
-libalut
+libpng
+libvorbis
+Lua
+OpenAL
+OpenGL (including GLU)
+pkgconfig
+SDL
 
+c) 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 the
+file COPYING for complete details.  The full texts of applicable licenses
+can be found in doc/licenses/.
 
-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
+--------------
+
+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
+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.
 
@@ -35,13 +65,63 @@ This is the code directly in src/.  These classes reside in no 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.
+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.
 
 3. 3rd-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.
+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.
+
+b) Sending patches
+
+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:
+
+*  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
+   formatting.  In particular, use literal tabs with an assumed tabstop of
+   4 characters.  Also, 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.
+
+
 
This page took 0.019307 seconds and 4 git commands to generate.