-Excluding certain portions of this software as mentioned in the last section of
-this document, the software packaged and/or distributed alongside this file are
-licensed according to the following terms and conditions:
+Excluding certain portions of this software as mentioned later in this
+document, the software distributed alongside this file are licensed
+according to the following terms and conditions:
The Simplified BSD License
-Copyright © 2009, Charles McGarvey
+Copyright (c) 2009, Charles McGarvey
All rights reserved.
-Redistribution and use in source and binary forms, with or without
+Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
-1. Redistributions of source code must retain the above copyright notice,
+1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
---------------------------------------------------------------------------------
+---------------------------------------------------------------------------
-Portions of this software are owned by third parties and licensed under separate
-terms and conditions. These portions, although packaged together according to
-the distribution rights granted by their own individual licenses, are used and
-provided under their separate terms and conditions and therefore the above
-license can not necessarily be applied to such portions. Neither do the terms
-and conditions associated with the following portions necessarily apply to the
-files released under the above license. Please refer to the specific licenses
-used by each of the following portions to understand your rights of use and
-distribution of these portions.
+Portions of this software are owned by third parties and licensed under
+separate terms and conditions. These portions, although packaged together
+according to the distribution rights granted by their own individual
+licenses, are used and provided under their separate terms and conditions
+and therefore the above license can not necessarily be applied to such
+portions. Neither do the terms and conditions associated with the
+following portions necessarily apply to the files released under the above
+license. The texts of applicable licences can be found in doc/licenses/.
Portion: beatthecube.xm, nightfusion.xm
Source: http://8bitcollective.com/members/FearofDark/
-Copyright: © 2009, Stephen H. Johnston
+Copyright: (c) 2009, Stephen H. Johnston
License: CCPL-Attribution-ShareAlike-NonCommercial-2.5
Portion: ConvertUTF.{c,h}
Source: http://www.unicode.org/Public/PROGRAMS/CVTUTF/
-Copyright: © 2000-2004, Unicode, Inc.
+Copyright: (c) 2000-2004, Unicode, Inc.
License: see file comments
Portion: original image and sound resources
Source: http://www.nether.org.uk/bad_mac_code.html
-Copyright: © 2003, Neil Carter
+Copyright: (c) 2003, Neil Carter
License: zlib-libpng
Portion: cml
Source: http://www.cmldev.net/
-Copyright: © 2009, Jesse Anders
+Copyright: (c) 2009, Jesse Anders
License: Boost-1.0
Portion: fastevents.{c,h}
Source: http://www.gameprogrammer.com/fastevents/fastevents1.html
-Copyright: © 2002, Bob Pendleton
+Copyright: (c) 2002, Bob Pendleton
License: LGPL-2.1
Portion: stlplus
Source: http://stlplus.sourceforge.net/
-Copyright: © 1999-2004 Southampton University, 2004-2009 Andy Rushton
+Copyright: (c) 1999-2004 Southampton University, 2004-2009 Andy Rushton
License: BSD
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = data doc src extra
+SUBDIRS = data src
+EXTRA_DIST = extra
+if WIN32
+else
+ SUBDIRS += doc
+endif
run: all
$(MAKE) -C src run
$(MAKE) -C src debug
-if WIN32
-
-INSTALLER_NAME = yoinksetup-$(VERSION).exe
-
-.PHONY: package
-package: $(INSTALLER_NAME)
+.PHONY: docs package
-$(INSTALLER_NAME): all
- @echo "Creating win32 installer..."
- @(sh make-win32-installer.sh $(INSTALLER_NAME) 2> installer.log 1>&2 && \
- rm installer.log && echo "Done.") || \
- (echo "Installer compilation failed!"; \
- echo "Check installer.log for details."; exit 1)
+docs:
+ $(DOXYGEN)
+if WIN32
+package: all
+ $(MAKE) -C win32 installer
else
-if LINUX
-
-.PHONY: package
-package: rpm
-
-rpm: dist-bzip2
- @echo "Creating RPM package..."
- @($(RPMBUILD) -ba --nodeps extra/yoink.spec 2> rpmbuild.log 1>&2 && \
- rm rpmbuild.log && echo "Done.") || \
- (echo "rpmbuild failed!"; \
- echo "Check rpmbuild.log for details."; exit 1)
-
-endif
+package: dist-bzip2
endif
-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 - 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) Help requested
+
+
+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 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 BSD-2 license. The old code and original
-resources are provided under the zlib/libpng License. See COPYING for complete
-details.
-
-Dependencies:
+b) Requirements
-boost headers
+boost
+headers
freealut
libvorbis
Lua
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/.
+
-Notes regarding the code:
+II. Developer
+-------------
-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:
+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.
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 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.
+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) Help requested
+
+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.
AC_PROG_RANLIB
AM_PROG_CC_C_O
+AC_PATH_PROGS([DOXYGEN], [doxygen])
+AC_SUBST(DOXYGEN)
#
# Configure platform-specific stuff.
;;
*-linux-gnu*)
LINUX=yes
- AC_PATH_PROGS([RPMBUILD], [rpmbuild])
- AC_SUBST(RPMBUILD)
;;
esac
then
DATADIR="data"
else
- eval eval DATADIR="${datadir}/yoink"
+ eval eval DATADIR="${datadir}/$PACKAGE"
fi
AC_SUBST([DATADIR])
# Create the build files.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+if test x$WIN32 = xyes
+then
+ make_win32="win32/Makefile win32/build-installer.sh"
+else
+ make_doc="doc/Makefile doc/yoink.6"
+fi
+
AC_CONFIG_FILES([Makefile
data/Makefile
- doc/Makefile
- doc/yoink.6
- extra/Makefile
- extra/yoink.spec
- make-win32-installer.sh
- src/Makefile])
+ src/Makefile
+ $make_doc
+ $make_win32])
AC_CONFIG_HEADERS([src/config.h])
nobase_dist_pkgdata_DATA = @DATA_FILES@
-appsdir=$(prefix)/share/applications
+appsdir=$(datadir)/applications
dist_apps_DATA = yoink.desktop
-pixmapdir=$(prefix)/share/pixmaps
+pixmapdir=$(datadir)/pixmaps
dist_pixmap_DATA = yoink.png
man6_MANS = yoink.6
+EXTRA_DIST = licenses yoink.6
+++ /dev/null
-
-EXTRA_DIST = yoink.ebuild
-
+++ /dev/null
-Summary: Alien-smashing action game.
-Name: yoink
-Version: @VERSION@
-Release: 1
-License: BSD
-Group: Amusements/Games
-Source0: http://www.dogcows.com/yoink/%{name}-%{version}.tar.bz2
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-BuildRequires: boost-devel
-BuildRequires: freealut-devel
-BuildRequires: libvorbis-devel
-BuildRequires: lua-devel
-BuildRequires: mesa-libGL-devel
-BuildRequires: openal-devel
-BuildRequires: SDL-devel
-BuildRequires: SDL_image-devel
-Requires: freealut
-Requires: libvorbis
-Requires: lua
-Requires: openal
-Requires: SDL
-Requires: SDL_image
-%description
-Leap tall buildings! Crush stupid robots beneath your feet! Wield your
-extra-terrestrial powers in the defence of humanity, and send those alien
-invaders back from whence they came! This is Yoink.
-
-You play the part of a flying alien heroine who must defend her home on Earth
-from other airborne alien invaders. The game draws inspiration from classic
-arcade games like Joust, Bombjack, Rampage, and Defender--simple, fast-moving
-action.
-%prep
-%setup
-%build
-%configure
-make
-%install
-rm -rf $RPM_BUILD_ROOT
-%makeinstall
-%clean
-rm -rf $RPM_BUILD_ROOT
-%files
-%defattr(-,root,root)
-%{_bindir}/yoink
-%doc %{_mandir}/man6/*
-%doc AUTHORS ChangeLog COPYING README TODO
-%{_datadir}/yoink
-%{_datadir}/applications/*
-%{_datadir}/pixmaps/*
STRIP="@STRIP@"
# Anchor paths
-ROOT_DIR="$PWD"
+ROOT_DIR="$PWD/.."
# Stuff
COMPRESSION="/solid lzma"