X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=README;h=c834a3d451c345b7c4d5f1b341ffc3a85d47e485;hp=319344927c18dc23c143fa279a5c8dedc22e2e2a;hb=1fb5f7e36af1a4de040bc2989133703b0e0d4a9f;hpb=3f6e44698c38b74bb622ad81ea9d2daa636981d2 diff --git a/README b/README index 3193449..c834a3d 100644 --- a/README +++ b/README @@ -1,110 +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) Targeting Win32 + 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 libpng libvorbis Lua OpenAL -OpenGL -pkgconfig (build-time dependency) +OpenGL (including GLU) +pkg-config SDL -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) Porting +b) Packaging +------------ -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. +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. -III. Packagers --------------- +* The makefile will probably only work well with GNU make. On some + systems, this is installed as gmake. -a) The build system +* The configure script supports most of the useful options that an + autoconf-generated script would have, and the makefile supports DESTDIR. -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. +c) Sending patches +------------------ -b) Targeting Win32 +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: -If you have a working mingw32 toolchain with all the dependencies, you can -build a win32 binary using a command such as this: +* 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. -./configure --host=mingw32 --prefix=/usr/mingw32/usr +* 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. -where mingw32 is the correct name of your toolchain. You can get all the -non-standard dependencies from the git repository at win32/win32-libs.zip. -Just unzip the contents of that archive into your toolchain. If everything -goes smoothly, you should have a yoink.exe appropriate for the win32 -platform. You can then build a complete installer using "make package" if -you have nsis installed. +* If you want your name and contact information in the file AUTHORS, + please make it so in the patch you provide.