debian/0000755000000000000000000000000012255750531007173 5ustar debian/xye-data.links0000644000000000000000000000026412255414515011752 0ustar /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf usr/share/xye/res/DejaVuSans-Bold.ttf /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf usr/share/xye/res/DejaVuSans.ttf debian/copyright0000644000000000000000000001155612255414515011135 0ustar This package was put together by Bart Martens on Thu, 06 Oct 2011 21:07:09 +0200. The upstream source code was downloaded from: http://xye.sourceforge.net/download.php The upstream tarball was repackaged to remove these files : res/DejaVuSans-Bold.ttf res/DejaVuSans.ttf The copyright and license information for most of the upstream source code, as found in the file COPYING : > Xye License (it is a PNG/ZLIB license) > > Copyright (c) 2006 Victor Hugo Soliz Kuncar > > This software is provided 'as-is', without any express or implied warranty. In > no event will the authors be held liable for any damages arising from the use > of this software. > > Permission is granted to anyone to use this software for any purpose, including > commercial applications, and to alter it and redistribute it freely, subject to > the following restrictions: > > 1. The origin of this software must not be misrepresented; you must not > claim that you wrote the original software. If you use this software in a > product, an acknowledgment in the product documentation would be appreciated > but is not required. > > 2. Altered source versions must be plainly marked as such, and must not be > misrepresented as being the original software. > > 3. This notice may not be removed or altered from any source distribution. Part of the upstream source code has this copyright and license information, as found in res/detailed_COPYING : > Ancestral Xye Skin > > Copyright (c) 2011 Miguel Angel Soliz Kuncar > > This resource is provided as-is, without any express or implied warranty. In no > event will the authors be held liable for any damages arising from the use of > them. > > Permission is granted to anyone to use this resource for any purpose, and to > alter it and redistribute it freely, subject to the following restrictions: > > 1. When publicly distributing the original resource or an altered version > of the resource as part of a software product, the source code of the software > must be made available and the software product must be in the public domain or > be released under a license that follows the Free Software definition and the > Open Source software definition as of September, 2011. The software product may > be used commercially. > > 2. The origin of this resource must not be misrepresented; you must not > claim that you are the original creator of the resource. If you use this > resource in a product, an acknowledgment in the product documentation would be > appreciated but is not required. > > 3. When publically distributing the original resource or an altered version > of it for third party use, this notice must be included unaltered in the > resource itself or as a separate file distributed with it. > > 4. Altered versions must be plainly marked as such, and must not be > misrepresented as being the original resource. > > The resource consists of the following files: > - detailed.xml > - detailed20.xml > - detailed30.xml > - detailed.png > - detailed_L.png > - detailed20.png > - detailed_L20.png > - detailed30.png > - detailed_L30.png > - detailed_icon.png The files in src/tinyxml/ have this copyright and license information : > www.sourceforge.net/projects/tinyxml > Original code (2.0 and earlier )copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com) > > This software is provided 'as-is', without any express or implied > warranty. In no event will the authors be held liable for any > damages arising from the use of this software. > > Permission is granted to anyone to use this software for any > purpose, including commercial applications, and to alter it and > redistribute it freely, subject to the following restrictions: > > 1. The origin of this software must not be misrepresented; you must > not claim that you wrote the original software. If you use this > software in a product, an acknowledgment in the product documentation > would be appreciated but is not required. > > 2. Altered source versions must be plainly marked as such, and > must not be misrepresented as being the original software. > > 3. This notice may not be removed or altered from any source > distribution. The file levels/Phipps.xye has this copyright and license information : > The Debian packaging is Copyright (C) 2011-2012 Bart Martens , Copyright (C) 2013 Andreas Rönnquist , and the license is the Xye License, see above. debian/watch0000644000000000000000000000015112255414515010220 0ustar version=3 opts=dversionmangle=s/\+dfsg$// \ http://sf.net/xye/xye-(\d.*)\.tar\.gz \ debian debian/repack debian/clean0000644000000000000000000000007012255414515010174 0ustar src/Makefile res/DejaVuSans.ttf res/DejaVuSans-Bold.ttf debian/xye.manpages0000644000000000000000000000001512255414515011510 0ustar debian/xye.6 debian/xye.menu0000644000000000000000000000021112255414515010657 0ustar ?package(xye):needs="X11" \ section="Games/Puzzles"\ title="puzzle game - get all the gems in the room" \ command="/usr/games/xye" debian/xye.install0000644000000000000000000000006412255414515011367 0ustar usr/games usr/share/applications/ usr/share/pixmaps debian/xye-data.install0000644000000000000000000000001712255414515012274 0ustar /usr/share/xye debian/README.source0000644000000000000000000000050512255414515011351 0ustar README.source ============= To get a new upstream release, please use uscan, which in its turn uses the repack script in the debian folder which removes the undistributable stuff in the upstream tarball. Unfortunately you cannot use git-import-orig directly to import a new version into the git repository, due to #635920. debian/patches/0000755000000000000000000000000012255662424010625 5ustar debian/patches/fix_i_redeclaration.patch0000644000000000000000000000247712255616375015656 0ustar Author: Bart Martens , Andreas Rönnquist Description: Fix problem where i was re-used incorrectly Declare a new variable instead of re-using i which breaks the surrounding loop, which also used i for variable name. --- a/src/editorsave.cpp +++ b/src/editorsave.cpp @@ -636,16 +636,16 @@ } saveColorStuff(file, board); - int j; + int i_redeclaration,j; file << "\t\n"; resetSavedPosition(); - for (i=0;iobjects[i][j],i,XYE_VERT-j-1); + for (i_redeclaration=0;i_redeclarationobjects[i_redeclaration][j],i_redeclaration,XYE_VERT-j-1); file << "\t\n"; file << "\t\n"; resetSavedPosition(); - for (i=0;iobjects[i][j],i,XYE_VERT-j-1); + saveNormalObject(file,editor::board->objects[i_redeclaration][j],i_redeclaration,XYE_VERT-j-1); } savePortals( file, editor::board); debian/patches/fix_segfault_on_wrong_folder_argument.patch0000644000000000000000000000422412255662424021475 0ustar Author: Víctor Hugo Solíz Kuncar Description: Fixes segfault when calling Xye with wrong folder argument Fixes a crash when calling Xye with a folder that doesn't contain any datafiles. This is already applied to the upsteam Subversion repository at http://sourceforge.net/p/xye/code/412/ . --- a/src/xye.cpp +++ b/src/xye.cpp @@ -27,6 +27,7 @@ #include "xyedit.h" #include "skins.h" #include +#include #define sz game::GRIDSIZE //typing game::GRIDSIZE is an annoyance @@ -213,7 +214,7 @@ // Class game methods. // -void game::InitGraphics() +bool game::InitGraphics() { xye::useDirectionSprites = options::xyeDirectionSprites; @@ -222,12 +223,22 @@ PlayerColor.b=options::Blue(); PlayerColor.unused=255; - GRIDSIZE=options::GetGridSize(); - SKIN=options::GetSpriteFile(); - - + GRIDSIZE = options::GetGridSize(); + const char *tm = options::GetSpriteFile(); + if ( tm == NULL ) { + printf("Error loading sprites file (Possibly wrong specified data folder?)\n"); + return false; + } + SKIN = tm; + ifstream f(tm); + if (! f.good()) { + printf("File does not exist: %s\n", tm); + f.close(); + return false; + } else { + f.close(); + } - const char *tm=SKIN.c_str(); printf("Loading %s\n",tm); sprites.sprites=IMG_Load(tm); { @@ -315,7 +326,8 @@ GameWidth=XYE_HORZ*GRIDSIZE+XYE_GAMEX+XYE_XTRA_X; GameHeight=XYE_VERT*GRIDSIZE+XYE_GAMEY+2*XYE_XTRA_Y+ GRIDSIZE+2+1+GRIDSIZE; - + + return true; } void game::CleanGraphics() @@ -386,7 +398,9 @@ - game::InitGraphics(); + if (! game::InitGraphics() ) { + return 1; + } if (!window::InitSDL()) return 0; printf("Setting video mode...\n"); --- a/src/xye.h +++ b/src/xye.h @@ -1434,7 +1434,8 @@ static void onMouseOut(); static void onMouseDown(int x,int y); static void onMouseUp(int x,int y); - static void InitGraphics(); + static bool InitGraphics(); + static void CleanGraphics(); static void loadGame(); debian/patches/copyright.diff0000644000000000000000000000151212255414515013462 0ustar Author: Bart Martens Description: Remove COPYING from build system Remove COPYING from build system, since it is automatically installed using the Debian automated systems. --- a/Makefile.in +++ b/Makefile.in @@ -41,7 +41,7 @@ bin_PROGRAMS = xye$(EXEEXT) subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS \ ChangeLog INSTALL NEWS config.guess config.sub depcomp \ install-sh missing mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -275,8 +275,7 @@ res/detailed_L20.png \ res/detailed_L30.png \ res/detailed_icon.png \ -res/default_icon.png \ -res/detailed_COPYING +res/default_icon.png pixmapsdir = $(datadir)/pixmaps pixmaps_DATA = pixmaps/xye.png debian/patches/fix_desktop_file.diff0000644000000000000000000000122712255414515014773 0ustar Author: Andreas Rönnquist Description: Fix desktop file Add required fields and remove unnecessary or invalid fields in the desktop file. Also remove the xdg-open she-bang which is invalid. --- a/xye.desktop +++ b/xye.desktop @@ -1,14 +1,12 @@ -#!/usr/bin/env xdg-open - [Desktop Entry] -Encoding=UTF-8 Exec=xye Type=Application -Categories=Application;Game;PuzzleGame +Categories=Application;Game; Name=Xye GenericName=Xye Comment=Solve puzzles and action challenges in order to get all the gems in the room. Terminal=false StartupNotify=false -Icon=xye.png +Icon=xye +Keywords=game;puzzle;logic;gems; MimeType=application/xye-xml debian/patches/series0000644000000000000000000000022412255616375012044 0ustar copyright.diff fix_i_redeclaration.patch fix_desktop_file.diff fix_sigabrt_on_string_length_error.patch fix_segfault_on_wrong_folder_argument.patch debian/patches/fix_sigabrt_on_string_length_error.patch0000644000000000000000000000111712255414515020777 0ustar Author: Andreas Rönnquist Description: Fix sigabrt on string length error Fixes program crashing when starting the program with any amount of arguments that isn't a filename - in some cases it would try to resize a string to a negative length. --- a/src/main.cpp +++ b/src/main.cpp @@ -87,7 +87,7 @@ while ( (i>=0) && (options::Dir[i]!= '\\') && (options::Dir[i]!= '/') ) { i--; } - options::Dir.resize(i); + options::Dir.resize(i+1); while (i>=0) { if (options::Dir[i]=='\\') { options::Dir[i] = '/'; debian/changelog0000644000000000000000000000663612255750477011071 0ustar xye (0.12.2+dfsg-2) unstable; urgency=low * Fix patch which didn't use the redeclared variable 'i' in all correct places, and rename it from g++-4.7.diff to fix_i_redeclaration.patch * debian/patches/fix_segfault_on_wrong_folder_argument.patch: Add patch derived from upstream subversion repo - Fixes segfault when calling Xye with wrong folder argument -- Andreas Rönnquist Sun, 22 Dec 2013 10:02:17 +0100 xye (0.12.2+dfsg-1) unstable; urgency=low * Imported Upstream version 0.12.2+dfsg * Adopt package under the Debian Games Team (Closes: #731790) * Refresh patches * Add script to repack and make uscan/watch use this * Update package descriptions (Fixes lintian warnings extended-description-is-probably-too-short and duplicate-short-description) * Update to Standards version 3.9.5 (No change required) * Upgrade to debhelper 9 * Enable hardening flags * Add description and author fields to patches * Add a man-page * Remove Debian-provided desktop file, and add patch fix_desktop_file.diff to instead use the upstream version, but patch it instead * Add a debian/README.source describing repack script and its usage * Add Vcs-Git and Vcs-Browser fields to debian/control * Upgrade to compat 9 * Add myself to debian/copyright for debian packaging * debian/patches/fix_sigabrt_on_string_length_error.patch: Add patch to fix segfault when specifying parameter -- Andreas Rönnquist Sun, 22 Dec 2013 00:39:10 +0100 xye (0.12.1+dfsg-5) unstable; urgency=low * QA upload, orphaning this package. * debian/rules: Added --with autotools_dev. Closes: #728010. -- Bart Martens Sun, 15 Dec 2013 13:37:37 +0100 xye (0.12.1+dfsg-4) unstable; urgency=low * debian/patches/g++-4.7.diff: Fixes FTBFS. Closes: #672088. -- Bart Martens Tue, 08 May 2012 19:04:04 +0000 xye (0.12.1+dfsg-3) unstable; urgency=low * debian/xye.install: Also install usr/games. Closes: #671742. -- Bart Martens Sun, 06 May 2012 15:31:24 +0000 xye (0.12.1+dfsg-2) unstable; urgency=low * debian/xye.install: Also install the .desktop file. Closes: #661310. -- Bart Martens Wed, 02 May 2012 19:36:24 +0000 xye (0.12.1+dfsg-1) unstable; urgency=low * New upstream release. * debian/patches/dfsg.diff: Removed. * debian/xye.desktop: Added. Closes: #661310. -- Bart Martens Tue, 01 May 2012 14:15:34 +0000 xye (0.11.2+dfsg-2) unstable; urgency=low * Replaced using "rm" in debian/rules by adding patch debian/patches/copyright.diff. Closes: #645404. -- Bart Martens Sat, 15 Oct 2011 18:12:58 +0200 xye (0.11.2+dfsg-1) unstable; urgency=low * Repackaged the upstream tarball to remove a few files. Closes: #645288. -- Bart Martens Fri, 14 Oct 2011 23:02:30 +0200 xye (0.11.2-1) unstable; urgency=low * New upstream release. * debian/copyright: Updated. -- Bart Martens Thu, 13 Oct 2011 21:14:33 +0200 xye (0.11.1-2) unstable; urgency=low * debian/control: xye depends on xye-data. Closes: #644855. * debian/control: xye-data is architecture "all". -- Bart Martens Sun, 09 Oct 2011 22:34:57 +0200 xye (0.11.1-1) unstable; urgency=low * Initial release. Closes: #644699. -- Bart Martens Thu, 06 Oct 2011 21:07:09 +0200 debian/source/0000755000000000000000000000000012255414515010472 5ustar debian/source/format0000644000000000000000000000001412255414515011700 0ustar 3.0 (quilt) debian/control0000644000000000000000000000452212255414515010600 0ustar Source: xye Section: games Priority: optional Maintainer: Debian Games Team Uploaders: Andreas Rönnquist Build-Depends: debhelper (>= 9.0.0), autotools-dev, libsdl1.2-dev, libsdl-image1.2-dev, libsdl-ttf2.0-dev Standards-Version: 3.9.5 Homepage: http://xye.sourceforge.net/ Vcs-Git: git://anonscm.debian.org/pkg-games/xye.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-games/xye.git;a=summary Package: xye Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, xye-data (= ${source:Version}) Description: puzzle game - get all the gems in the room Xye is a puzzle game in which the objective is to help a character that looks like a green circle to get all the gems in the room. This is, of course, not as easy as it sounds, Xye must solve all sorts of puzzles while at the same time avoiding all sorts of traps and beasts. . Xye is similar to other puzzle games like sokoban or boulderdash, yet it also includes some arcade elements. . Xye is a derivative of a classic windows game called Kye, which is the base of the gameplay experience and visual elements. Xye is able to play level files that were made for Kye and Sokoban. It is also able to play custom .xye files, a richer level format that allows the new objects and features, you can make these levels by hand or by using the built-in editor that comes with the game. Package: xye-data Architecture: all Depends: ${misc:Depends}, ttf-dejavu-core Description: data files for xye Xye is a puzzle game in which the objective is to help a character that looks like a green circle to get all the gems in the room. This is, of course, not as easy as it sounds, Xye must solve all sorts of puzzles while at the same time avoiding all sorts of traps and beasts. . Xye is similar to other puzzle games like sokoban or boulderdash, yet it also includes some arcade elements. . Xye is a derivative of a classic windows game called Kye, which is the base of the gameplay experience and visual elements. Xye is able to play level files that were made for Kye and Sokoban. It is also able to play custom .xye files, a richer level format that allows the new objects and features, you can make these levels by hand or by using the built-in editor that comes with the game. . This package contains the data files for the game Xye. debian/repack0000755000000000000000000000346112255414515010371 0ustar #!/bin/bash # debian/repack # Re-build the pristine upstream source to serve as the Debian upstream source set -o errexit set -o errtrace set -o nounset upstream_version="$2"; downloaded_file="$3"; package_name=$(dpkg-parsechangelog | sed -n -e 's/^Source: //p'); working_dir="$(mktemp -d -t)" function cleanup_exit() { exit_status=$? trap - ERR EXIT SIGTERM SIGHUP SIGINT SIGQUIT printf "Cleaning up the temporary directory...\n"; rm -rf "${working_dir}" printf "All done.\n\n"; exit $exit_status } trap "cleanup_exit" ERR EXIT SIGTERM SIGHUP SIGINT SIGQUIT upstream_filename="${package_name}_${upstream_version}.orig.tar.gz"; upstream_file="$(dirname "${downloaded_file}")/${upstream_filename}"; upstream_dirname="${package_name}-${upstream_version}.orig"; # Unpack the source printf "Unpacking pristine upstream source ${downloaded_file} : \n"; tar -xzf "${downloaded_file}" --directory "${working_dir}" upstream_source_dirname=$(ls -1 "${working_dir}") upstream_source_dir="${working_dir}/${upstream_source_dirname}"; target_filename="${package_name}_${upstream_version}+dfsg.orig.tar.gz"; target_working_file="${working_dir}/${target_filename}"; target_file="$(dirname "${downloaded_file}")/${target_filename}" repack_dir="${upstream_source_dir}.orig"; # Rename the upstream source directory mv "${upstream_source_dir}" "${repack_dir}"; # List of the files to remove files_to_remove=( res/DejaVuSans-Bold.ttf res/DejaVuSans.ttf ) # Remove the files: for f in "${files_to_remove[@]}" ; do rm "${repack_dir}"/$f; done printf "Rebuilding DFSG-free upstream source tarball:\n"; # Re-zip GZIP="--best" tar --directory "${working_dir}" -czf "${target_working_file}" "${upstream_dirname}" rm -v ${downloaded_file}; # Set the correct name (including the +dfsg stanza mv "${target_working_file}" "${target_file}"; debian/xye.60000644000000000000000000000213612255414515010070 0ustar .\" Manpage for xye .TH man 6 "14 Dec 2013" "0.12.2" "xye man page" .SH NAME xye \- puzzle game .SH DESCRIPTION Xye is a puzzle game in which the objective is to help a character that looks like a green circle to get all the gems in the room. This is, of course, not as easy as it sounds, Xye must solve all sorts of puzzles while at the same time avoiding all sorts of traps and beasts. Xye is similar to other puzzle games like sokoban or boulderdash, yet it also includes some arcade elements. Xye is a derivative of a classic windows game called Kye, which is the base of the gameplay experience and visual elements. Xye is able to play level files that were made for Kye and Sokoban. It is also able to play custom .xye files, a richer level format that allows the new objects and features, you can make these levels by hand or by using the built-in editor that comes with the game. Thanks to the SDL library, Xye is cross platform software, and there are versions available for Linux and windows, there are also ports for FreeBSD and it should be possible to compile it in other platforms as well. debian/compat0000644000000000000000000000000212255414515010370 0ustar 9 debian/rules0000755000000000000000000000035712255414515010257 0ustar #!/usr/bin/make -f #export DH_VERBOSE=1 %: dh $@ --with autotools_dev override_dh_auto_configure: touch res/DejaVuSans.ttf res/DejaVuSans-Bold.ttf dh_auto_configure -- $(shell dpkg-buildflags --export=configure) --bindir /usr/games