X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=README;h=319344927c18dc23c143fa279a5c8dedc22e2e2a;hp=1b66b52090e3b2cf3222adcafd21d87ce764af73;hb=3f6e44698c38b74bb622ad81ea9d2daa636981d2;hpb=a891a2dcbbb63d9e771da6efff00a33da614e737 diff --git a/README b/README index 1b66b52..3193449 100644 --- a/README +++ b/README @@ -1,12 +1,110 @@ -Yoink is a game originally developed by Neil Carter for Mac OS X. You play +Yoink - The alien-smashing action game +-------------------------------------- + +Contents: + +I. Users + a) General information + b) Requirements + c) License +II. Developers + a) Notes regarding the code + b) Porting +III. Packagers + a) The build system + b) Targeting Win32 + + +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. -This version of the game uses rewritten code and modern frameworks to bring +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 Simplified BSD License. The old code and +b) Requirements + +boost headers +libpng +libvorbis +Lua +OpenAL +OpenGL +pkgconfig (build-time dependency) +SDL + +c) License + +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. +for complete details. The full texts of applicable licenses can be found +in doc/licenses/. + + +II. Developer +------------- + +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 +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. + +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. + +3. 3rd-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. + +b) Porting + +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. + + +III. Packagers +-------------- + +a) The build system + +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. + +b) Targeting Win32 + +If you have a working mingw32 toolchain with all the dependencies, you can +build a win32 binary using a command such as this: + +./configure --host=mingw32 --prefix=/usr/mingw32/usr + +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.