c) License
II. Developers
a) Notes regarding the code
- b) Porting
+ b) Sending patches
III. Packagers
a) The build system
- b) Help requested
+ 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.
+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
+pkgconfig (build-time dependency)
SDL
-SDL_image (with libpng support)
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. The full texts of applicable licenses can be found
-in doc/licenses/.
+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/.
-II. Developer
--------------
+II. Developers
+--------------
a) Notes regarding the code
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.
+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.
3. 3rd-party code.
COPYING file. This code resides in various namespaces and in various
subdirectories.
-b) Porting
+b) Sending patches
+
+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:
+
+* 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.
+
+* 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.
-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.
+* 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
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.
+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.
+
+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
-b) Help requested
+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.
-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.
+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.