X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=README;h=c834a3d451c345b7c4d5f1b341ffc3a85d47e485;hp=7dba1136d8414e16ee72605864eac17572ab483b;hb=1fb5f7e36af1a4de040bc2989133703b0e0d4a9f;hpb=5918751f97a3eb976a7b24647786109edc58234c diff --git a/README b/README index 7dba113..c834a3d 100644 --- a/README +++ b/README @@ -1,104 +1,139 @@ Yoink - The alien-smashing action game --------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Contents: I. Users a) General information b) Requirements - c) License -II. Developers + c) Installing + d) License +II. Developers and Packagers a) Notes regarding the code - b) Porting -III. Packagers - a) The build system - b) Help requested + b) Packaging + c) Sending patches 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. +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 -freealut +boost headers +libpng libvorbis Lua OpenAL -OpenGL +OpenGL (including GLU) +pkg-config SDL -SDL_image (with libpng support) -c) License +c) Installing +------------- -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. The full texts of applicable licenses can be found -in doc/licenses/. +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 -II. Developer -------------- +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 Moof. I've also made an effort to incorporate 3rd-party +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. 3rd-party code. +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 in the -COPYING file. This code resides in various namespaces and in various -subdirectories. +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: -b) Porting +* 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. -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. +* 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. -III. Packagers --------------- +c) Sending patches +------------------ -a) The build system +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: -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. +* 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. -b) Help requested +* 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 can create packages for your favorite platform, please send them -back to me and/or place the package in a public repository appropriate for -your distribution or platform. I would especially appreciate packages in -common formats such as deb, rpm, or OS X app bundles. +* If you want your name and contact information in the file AUTHORS, + please make it so in the patch you provide.