X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=README;h=c834a3d451c345b7c4d5f1b341ffc3a85d47e485;hp=bd05038886201b7330ff66ad1c62266985be565d;hb=c143f7e806766a73cd69dc6e084e977641019ce6;hpb=837bae9f2bf7b25e1d3d2625eeaf39c1d2f48827 diff --git a/README b/README index bd05038..c834a3d 100644 --- a/README +++ b/README @@ -1,25 +1,25 @@ 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) Sending patches -III. Packagers - a) The build system - b) Targeting Win32 + 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 @@ -29,96 +29,111 @@ 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 -pkgconfig (build-time dependency) +OpenGL (including GLU) +pkg-config SDL -c) License +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 the -file COPYING for complete details. The full texts of applicable licenses -can be found in doc/licenses/. +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 --------------- +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 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. +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) Sending patches +b) Packaging +------------ -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: +Here are some tips to help packagers: -* 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. +* 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. -* 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 to add your contact information to the file AUTHORS, please - just do it in the patch you provide. - - -III. Packagers --------------- - -a) The build system +* The makefile will probably only work well with GNU make. On some + systems, this is installed as gmake. -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. +* The configure script supports most of the useful options that an + autoconf-generated script would have, and the makefile supports DESTDIR. -b) Targeting Win32 +c) Sending patches +------------------ -If you have a working mingw32 toolchain with all the dependencies, you can -build a win32 binary using a command such as this: +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: -./configure --host=mingw32 --prefix=/usr/mingw32/usr +* 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. -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. +* 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. -I haven't tried building with cygwin or mingw32 on an actual Windows -machine, let alone VS. You're on your own if you go that route. +* If you want your name and contact information in the file AUTHORS, + please make it so in the patch you provide.