X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=README;h=c834a3d451c345b7c4d5f1b341ffc3a85d47e485;hp=b645786aa9a59f10e8a0c50aa49c9f9e42a72fb7;hb=1fb5f7e36af1a4de040bc2989133703b0e0d4a9f;hpb=33842c860fe18ca8cf087905992885687434320c diff --git a/README b/README index b645786..c834a3d 100644 --- a/README +++ b/README @@ -1,47 +1,139 @@ -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 -OpenGL (libGL, libGL or opengl32, glu32) -SDL -SDL_image (with libpng support) -libvorbisfile +libpng +libvorbis +Lua OpenAL -freealut +OpenGL (including GLU) +pkg-config +SDL + +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. -Notes regarding the code: +d) License +---------- -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: +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. + + +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.