c35ae2da6828ae02b4758f508092d128c221a975
[chaz/yoink] / doc / yoink_readme.7
1 .\"
2 .\" Copyright (c) 2009-2011, Charles McGarvey
3 .\" All rights reserved.
4 .\"
5 .\" Distributable under the terms and conditions of the 2-clause BSD
6 .\" license; see the file COPYING for a complete text of the license.
7 .\"
8 .Dd June 14, 2011
9 .Dt YOINK_README 7
10 .Os
11 .Sh NAME
12 .Nm yoink_readme
13 .Nd general information about yoink
14 .Sh DESCRIPTION
15 Yoink is a game created by Neil Carter for Mac OS. You play the part of a
16 flying alien heroine who must defend her home on Earth from other airborne
17 alien invaders.
18 .Pp
19 This version of the game uses all new code and modern frameworks to bring
20 this simple, fast-moving action game to a wider audience.
21 .Ss INSTALLATION
22 Installing Yoink is simple. You can typically use commands such as these:
23 .Pp
24 .D1 cd /path/to/yoink
25 .D1 ./configure
26 .D1 make && make install
27 .Pp
28 This will install Yoink into the
29 .Pa /usr/local
30 directory. To run Yoink, issue the command:
31 .Pp
32 .D1 /usr/local/bin/yoink
33 .Pp
34 or just
35 .Nm yoink
36 if
37 .Pa /usr/local/bin
38 is already in your
39 .Ev PATH Ns .
40 See
41 .Xr yoink_install 7
42 for a more detailed discussion about the build system and a list of
43 required packages.
44 .Ss LICENSE
45 The new code is released under the 2-clause BSD license. The old code and
46 original resources are provided under the zlib/libpng License. See the
47 .Pa COPYING
48 file for complete details. The full texts of applicable licenses can be
49 found in
50 .Pa doc/licenses
51 within the Yoink package.
52 .Ss ABOUT THE CODE
53 The code is a complete rewrite, containing none of the original code. I've
54 made some effort to put the more generic or reusable code into a separate
55 library called libmoof. I've also made an effort to incorporate 3rd-party
56 code that happened to fit well into what I needed. So, generally, the
57 source code is separated into these three categories:
58 .Bl -enum
59 .It
60 Yoink-specific code. This is the code in the
61 .Pa src
62 directory. These classes reside in no explicit namespace.
63 .It
64 Reusable code. The code is in
65 .Pa src/moof Ns ,
66 and it is compiled as a convenience library. These classes and helper
67 functions reside in the moof namespace. Since I wrote this code alongside
68 the Yoink-specific stuff, there is somewhat of a blurry line between the
69 two categories, unfortunately.
70 .It
71 Third-party code. This is made up of free code from other projects or
72 libraries, the licenses of which are also noted in the
73 .Pa COPYING
74 file. This code resides in various namespaces and in various
75 subdirectories of
76 .Pa src Ns .
77 .El
78 .Ss PACKAGING
79 Here are some tips to help packagers:
80 .Bl -bullet
81 .It
82 The build scripts are written in Lua, so make sure the Lua interpreter is
83 installed. That shouldn't be a problem since Yoink depends on the Lua
84 library anyway.
85 .It
86 The
87 .Pa Makefile
88 will only work well with GNU make. On some systems, this is installed as
89 .Nm gmake Ns .
90 .It
91 The
92 .Pa configure
93 script supports most of the useful options that an Autoconf-generated
94 script would have, and the
95 .Pa Makefile
96 supports
97 .Ar DESTDIR Ns .
98 .El
99 .Pp
100 See
101 .Xr yoink_install 7
102 for a more detailed discussion about the build system.
103 .Ss SENDING PATCHES
104 I'll gladly entertain patches if you want to help out. Just email me your
105 stuff or tell me where to pull if you use git. If you're interested in
106 that, please observe the following:
107 .Bl -bullet
108 .It
109 Stick to the coding style of the source code files you edit. Follow the
110 general style of method and variable naming, as well as white space
111 formatting. In particular, use literal tabs with an assumed tabstop of 8
112 characters. Also, try to limit line lengths to 75 characters.
113 .It
114 For legal reasons, don't include other peoples' code with your patch. You
115 must also agree to license your changes according to the same terms and
116 conditions as the files you edit, usually the 2-clause BSD license.
117 .It
118 If you want your name and contact information in the
119 .Pa AUTHORS
120 file, please make it so in the patch you provide.
121 .El
122 .Sh SEE ALSO
123 .Xr yoinkrc 5 Ns ,
124 .Xr yoink 6
125 .Sh AUTHORS
126 .Bl -tag -width 2i -compact
127 .It An Charles McGarvey
128 .Mt chaz@dogcows.com
129 .El
This page took 0.033229 seconds and 3 git commands to generate.