bd05038886201b7330ff66ad1c62266985be565d
[chaz/yoink] / README
1
2 Yoink - The alien-smashing action game
3 --------------------------------------
4
5 Contents:
6
7 I. Users
8 a) General information
9 b) Requirements
10 c) License
11 II. Developers
12 a) Notes regarding the code
13 b) Sending patches
14 III. Packagers
15 a) The build system
16 b) Targeting Win32
17
18
19 I. Users
20 --------
21
22 a) General information
23
24 Yoink is a game created by Neil Carter for Mac OS. You play the part of a
25 flying alien heroine who must defend her home on Earth from other airborne
26 alien invaders.
27
28 This version of the game uses all new code and modern frameworks to bring
29 this simple, fast-moving action game to a wider audience.
30
31 b) Requirements
32
33 boost headers
34 libpng
35 libvorbis
36 Lua
37 OpenAL
38 OpenGL
39 pkgconfig (build-time dependency)
40 SDL
41
42 c) License
43
44 The new code is released under the 2-clause BSD license. The old code and
45 original resources are provided under the zlib/libpng License. See the
46 file COPYING for complete details. The full texts of applicable licenses
47 can be found in doc/licenses/.
48
49
50 II. Developers
51 --------------
52
53 a) Notes regarding the code
54
55 The code is a complete rewrite, containing none of the original code. I've
56 made some effort to put the more generic or reusable code into a separate
57 library called Moof. I've also made an effort to incorporate 3rd-party
58 code that happened to fit well into what I needed. So, generally, the
59 source code is separated into these three categories:
60
61 1. Yoink-specific code.
62
63 This is the code directly in src/. These classes reside in no namespace.
64
65 2. Reusable code.
66
67 Currently, the code is in src/Moof/, and it is compiled as a convenience
68 library. These classes and helper functions reside in the Mf namespace.
69 Since I wrote this code alongside the Yoink-specific stuff, there is
70 somewhat of a blurry line between the two categories, unfortunately.
71
72 3. 3rd-party code.
73
74 This is made up of free code from other projects or libraries (aside from
75 the explicit dependencies above), the licenses of which are also in the
76 COPYING file. This code resides in various namespaces and in various
77 subdirectories.
78
79 b) Sending patches
80
81 I'll gladly entertain patches if you want to fix bugs or whatnot. Just
82 email me your stuff or tell me where to pull from (git). If you're
83 interested in that, please observe the following:
84
85 * Stick to the coding style of the source code files you edit. Follow the
86 general style of method and variable naming, as well as white spacing
87 formatting. In particular, use literal tabs with an assumed tabstop of
88 4 characters. Also, limit line lengths to 75 characters.
89
90 * For legal reasons, don't include other peoples' code with your patch.
91 You must also agree to license your changes according to the same terms
92 and conditions as the files you edit, usually the 2-clause BSD license.
93
94 * If you want to add your contact information to the file AUTHORS, please
95 just do it in the patch you provide.
96
97
98 III. Packagers
99 --------------
100
101 a) The build system
102
103 You can probably tell that the build system of this package is built from
104 autoconf and automake. It should be fairly sane. If you find any build
105 system problems or code which doesn't compile cleanly on your platform,
106 feel free to send back patches.
107
108 b) Targeting Win32
109
110 If you have a working mingw32 toolchain with all the dependencies, you can
111 build a win32 binary using a command such as this:
112
113 ./configure --host=mingw32 --prefix=/usr/mingw32/usr
114
115 where mingw32 is the correct name of your toolchain and the prefix points
116 to the installation of your toolchain. I maintain an archive of most of
117 the dependencies. The package is in the git repository; just unzip it onto
118 your toolchain and configure/compile. If everything goes smoothly, you
119 should have a new, shiny yoink.exe. You can then build a complete
120 installer using "make package" if you have nsis installed.
121
122 I haven't tried building with cygwin or mingw32 on an actual Windows
123 machine, let alone VS. You're on your own if you go that route.
124
This page took 0.035383 seconds and 4 git commands to generate.