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. b) Requirements --------------- boost headers libpng libvorbis Lua OpenAL 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. 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 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 in the directory src. These classes reside in no explicit namespace. 2. Reusable code. 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. * 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 make it so in the patch you provide.