X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=README;h=e86d9406e741a93d9b2697da41894a54dce54164;hp=39092e738866da52b9bcdede7322b63ee0e5ad6c;hb=8148b51f1bec8f662672d3ca36eea1784991e5cc;hpb=d50942708db230dc5c43b8df89ede45525e1c394 diff --git a/README b/README index 39092e7..e86d940 100644 --- 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. + +