]> Dogcows Code - chaz/yoink/blobdiff - README
preliminary AM_SILENT_RULES support
[chaz/yoink] / README
diff --git a/README b/README
index 1b66b52090e3b2cf3222adcafd21d87ce764af73..529d3d695ba5e3700c2ed1af450b6564a14efa8a 100644 (file)
--- a/README
+++ b/README
 
-Yoink is a game originally developed by Neil Carter for Mac OS X.  You play
+Yoink - The alien-smashing action game
+--------------------------------------
+
+Contents:
+
+I.   Users
+  a)   General information
+  b)   Requirements
+  c)   License
+II.  Developers
+  a)   Notes regarding the code
+  b)   Porting
+III. Packagers
+  a)   The build system
+  b)   Targeting Win32
+
+
+I. Users
+--------
+
+a) General information
+
+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.
 
-This version of the game uses rewritten code and modern frameworks to bring
+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 Simplified BSD License.  The old code and
+b) Requirements
+
+boost headers
+libvorbis
+Lua
+OpenAL
+OpenGL
+SDL
+SDL_image (with libpng support)
+
+c) License
+
+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.
+for complete details.  The full texts of applicable licenses can be found
+in doc/licenses/.
+
+
+II. Developer
+-------------
+
+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.
+
+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.
+
+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.
+
+b) Porting
+
+Portability is a goal of this project.  To this end, Yoink is written in
+standard C++ and takes advantage of cross-platform libraries.  If code
+changes are required to cleanly build Yoink on your platform, please send
+back patches.
+
+
+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
+problems, especially any bugs which complicate packaging on certain
+systems, please 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.  You can get all the
+non-standard dependencies from the git repository at win32/win32-libs.zip.
+Just unzip the contents of that archive into your toolchain.  If everything
+goes smoothly, you should have a yoink.exe appropriate for the win32
+platform.  You can then build a complete installer using "make package" if
+you have nsis installed.
 
This page took 0.021298 seconds and 4 git commands to generate.