debian/0000755000000000000000000000000011631243017007164 5ustar debian/control0000644000000000000000000000271211631242771010577 0ustar Source: gemdropx Section: games Priority: optional Maintainer: Christian T. Steigies Build-Depends: debhelper (>= 8.0.0), libsdl1.2-dev (>=1.2.2-3.1), libsdl-mixer1.2-dev (>=1.2.0-1.1) Standards-Version: 3.9.2 Homepage: http://www.newbreedsoftware.com/gemdropx Vcs-Git: git://git.debian.org/collab-maint/gemdropx.git Vcs-Browser: http://git.debian.org/?p=collab-maint/gemdropx.git;a=summary Package: gemdropx Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Gem Drop X is an interesting one-player puzzle game for X11 The game is played with YOU at the bottom of the screen. At the top is a random assortment of colored shapes ("gems"). As time goes on, more gems appear at the very top of the screen, pushing the rest downwards. The game is over when the gems reach the bottom. . It's your job to keep the screen from filling up. You do this by "grabbing" gems from the top of the screen, carrying them around, if need be, and "throwing" them back up. . If, when you throw some gems back up, you create a "match" of 3 or more gems in a vertical column, they disappear (with a cool little explosion). At this point, if there are any "matches" of the same gem to the left or right of this column, they disappear too! And so on. This is great for cool chain-reactions! You also get more points for the more gems that disappear in a match. (Matching four gives as many points as matching three twice, for example.) debian/compat0000644000000000000000000000000211630767536010402 0ustar 8 debian/menu0000644000000000000000000000024310766331250010057 0ustar ?package(gemdropx):\ needs="x11"\ section="Games/Blocks"\ title="Gem Drop X"\ command="/usr/games/gemdropx"\ icon="/usr/share/pixmaps/gemdropx-icon.xpm" debian/changelog0000644000000000000000000000753511631234645011057 0ustar gemdropx (0.9-6) unstable; urgency=low * repackage from scratch with dh * switch to debhelper 8 * switch to dpkg-source 3.0 (quilt) format * updated Standards-Version to 3.9.2 (no changes) * copyright: refer to GPL-2 and include detailed information from AUTHORS * add ${misc:Depends} to dependencies * upgrade watch file to version 3 format -- Christian T. Steigies Mon, 05 Sep 2011 23:04:37 +0200 gemdropx (0.9-5) unstable; urgency=low * change menu section to Games/Block, if my crystal ball is correct this (closes: #307133) * use debian/compat and use compat version 5 * add a desktop file * do not ignore make clean error * updated Standards-Version to 3.7.3 -- Christian T. Steigies Fri, 14 Mar 2008 00:08:28 +0100 gemdropx (0.9-4) unstable; urgency=low * updated watch file * updated Standards-Version to 3.7.0 (no changes) * use current debhelper -- Christian T. Steigies Thu, 4 May 2006 06:47:37 +0000 gemdropx (0.9-3) unstable; urgency=low * patch from Bill to honor "SDL_QUIT" events (closes: #299431) * copyright is with the author -- Christian T. Steigies Sat, 19 Mar 2005 00:08:30 +0100 gemdropx (0.9-2) unstable; urgency=low * use TARGET and CURDIR in rules * data files go in /usr/share/games/gemdropx * dh_compat=4 * dh_installman instead of dh_installmanpages * updated watch file (use ftp link instead of http) * install menu icon to /usr/share/pixmaps * updated Standards-Version to 3.6.1.0 (no changes) -- Christian T. Steigies Sun, 13 Mar 2005 15:42:20 +0100 gemdropx (0.9-1) unstable; urgency=low * recreated score and nosound patch from Zack * apply patch from Steve Kemp to fix buffer overflow (closes: #203244) -- Christian T. Steigies Mon, 28 Jul 2003 23:48:23 -0400 gemdropx (0.9-0) unstable; urgency=low * new upstream version * patch install rule in Makefile * need to re-add nosound patch -- Christian T. Steigies Mon, 17 Jun 2002 00:16:06 -0400 gemdropx (0.7-8) unstable; urgency=low * applied patch from Zack Weinberg which fixes: score problem, adds --nosound, better sound and joystick handling see source package for patch, thanks Zack! (closes: #115203) -- Christian T. Steigies Sun, 14 Oct 2001 00:48:12 -0400 gemdropx (0.7-7) unstable; urgency=low * Build-Depends on libsdl1.2-dev (>= 1.2.2-3.1), libsdl-mixer1.2-dev (>= 1.2.0-1.1) due to SDL overhaul -- Christian T. Steigies Wed, 10 Oct 2001 23:42:25 -0400 gemdropx (0.7-6) unstable; urgency=low * remove (unneeded) dh_suidregister from debian/rules * build with SDL1.2 * update standards version * do not ship INSTALL.txt -- Christian T. Steigies Mon, 16 Jul 2001 18:36:48 -0400 gemdropx (0.7-5) unstable; urgency=low * correct the description (closes: #76075) -- Christian T. Steigies Sat, 4 Nov 2000 01:46:28 +0100 gemdropx (0.7-4) unstable; urgency=low * use libSDL-mixer for sound * place icon for the menu system in /usr/X11R6/include/X11/pixmaps/ -- Christian T. Steigies Tue, 18 Jan 2000 23:30:21 +0100 gemdropx (0.7-3) unstable; urgency=low * README changed its name to README.txt, change the manpage accordingly * add a note to README.Debian that there might be a problem when using sawmill as the window manger (I could not reproduce this) closes: #54637 -- Christian T. Steigies Fri, 14 Jan 2000 10:45:12 +0100 gemdropx (0.7-2) unstable; urgency=low * use libsdl1.0, compiles now also on m68k -- Christian T. Steigies Tue, 11 Jan 2000 18:43:45 +0100 gemdropx (0.7-1) unstable; urgency=low * Initial Release. -- Christian T. Steigies Wed, 29 Dec 1999 01:03:27 +0100 debian/rules0000755000000000000000000000067611630776243010270 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ override_dh_auto_build: make SOUND=YES JOY=YES DATA_PREFIX=/usr/share/games/gemdropx override_dh_auto_install: dh_auto_install install -g root -o root -m 644 data/images/gemdropx-icon.xpm \ $(CURDIR)/debian/gemdropx/usr/share/pixmaps/ install -m 644 debian/gemdropx.desktop $(CURDIR)/debian/gemdropx/usr/share/applications debian/dirs0000644000000000000000000000016511631227354010060 0ustar usr/games usr/share/applications usr/share/games/gemdropx usr/share/doc/gemdropx usr/share/pixmaps usr/share/man/man6debian/watch0000644000000000000000000000021211631234511010207 0ustar # Compulsory line, this is a version 3 file version=3 ftp://ftp.billsgames.com/unix/x/gemdropx/src/gemdropx-(.*)\.tar\.gz debian uupdate debian/gemdropx.desktop0000644000000000000000000000040510766330320012405 0ustar [Desktop Entry] Version=1.0 Type=Application Name=Gem Drop X GenericName=gemdropx Comment=Grab the gems and throw them back up before they crush you Icon=gemdropx-icon.xpm Exec=gemdropx Terminal=false StartupNotify=false Categories=Application;Game;ArcadeGame; debian/source/0000755000000000000000000000000011630767536010504 5ustar debian/source/format0000644000000000000000000000001411630767536011712 0ustar 3.0 (quilt) debian/README.Debian0000644000000000000000000000156110662646545011250 0ustar gemdropx for Debian ------------------- If you are using sawmill as you window manager, there may be a problem activating the gemdropx window, Jim Jensen wrote: Still doesn't work - sounds like a bug in SDL. I would close the bug, and put a note in both Gemdropx and libSDL saying that the window manager must give the SDL-derived window focus even if it doesn't request it, in sawmill it is in Customize|focus|"Give focus to windows even if the haven't asked for it". While it is clearly not gemdropx's fault, I suspect that users will look in the gemdropx readme before going to SDL. See bug #54637 for more. opening joystick: No such file or directory is not a bug, you don't have a joystick (I don't have one either, maybe somebody can confirm that gemdropx works also with a joystick?) -- Christian T. Steigies , Fri, 14 Jan 2000 10:45:12 +0100 debian/docs0000644000000000000000000000002711630772003010037 0ustar AUTHORS.txt README.txt debian/copyright0000644000000000000000000000431511630775625011140 0ustar Format: http://dep.debian.net/deps/dep5 Upstream-Name: gemdropx Source: http://www.newbreed.com/gemdropx Files: * Copyright: 1997-2002 William (Bill) Kendrick License: GPL-2 Since v.0.7 Gem Drop X is distributed under the GNU GENERAL PUBLIC LICENSE. . On Debian GNU/Linux systems, the complete text of the GNU General Public License is found in `/usr/share/common-licenses/GPL-2'. Files: gemdropx.c Copyright: 1999 Matthew Rice Copyright: 1997-2002 William (Bill) Kendrick License: GPL-2 Files: data/images/* Copyright: 1999 Bernhard Trummer Copyright: 1997-1999 William (Bill) Kendrick License: GPL-2 Files: data/sound/*.wav Copyright: 1999 Justin C. Kibell and others License: GPL-2 Files: data/sound/2force.xm Copyright: 1998 Slowhand of Liquid Sounds 1033 Harrer Pal u.16 Budapest, Hungary Files: data/sound/hr_suds.xm Copyright: 1999 Zeek Bower License: Used with permission Files: data/sound/22drops.mod Copyright: 1994 Christian Funck (ISO of AXIS), 1994 Elsakkersstraat 12 5081 GN Hilvarenbeek, The Netherlands Files: data/sound/citron.mod Copyright: 1994 Juha Kujanpaa Marjamaentie 10 60510 Hyllykallio Finlandia http://www.jyu.fi/~jtkujanp/ Files: debian/* Copyright: 1999-2011 Christian T. Steigies License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". debian/patches/0000755000000000000000000000000011631235745010624 5ustar debian/patches/sdl-quit0000644000000000000000000000106011631235266012304 0ustar Description: sdl-quit Add SDL_QUIT event Author: William (Bill) Kendrick Bug-Debian: http://bugs.debian.org/299431 Reviewed-By: Christian T. Steigies Last-Update: 2005-03-19 --- gemdropx-0.9.orig/gemdropx.c +++ gemdropx-0.9/gemdropx.c @@ -1016,6 +1016,10 @@ void getkey(int handle_expose) key = event.key.keysym.sym; } + else if (event.type == SDL_QUIT) + { + key = SDLK_ESCAPE; + } else if (event.type == SDL_MOUSEBUTTONDOWN) { /* Mouse counts as keyboard: */ debian/patches/manpage-install0000644000000000000000000000304411631227401013612 0ustar Description: Upstream changes introduced in version 0.9-6 This patch has been created by dpkg-source during the package build. Here's the last changelog entry, hopefully it gives details on why those changes were made: . gemdropx (0.9-6) unstable; urgency=low . * repackage from scratch with dh * switch to debhelper 8 * switch to dpkg-source 3.0 (quilt) format * updated Standards-Version to 3.9.2 (no changes) * copyright: refer to GPL-2 and include detailed information from AUTHORS * add ${misc:Depends} to dependencies . The person named in the Author field signed this changelog entry. Author: Christian T. Steigies --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: , Bug: Bug-Debian: http://bugs.debian.org/ Bug-Ubuntu: https://launchpad.net/bugs/ Forwarded: Reviewed-By: Last-Update: --- a/Makefile +++ b/Makefile @@ -46,6 +46,8 @@ -mkdir $(DESTDIR)/usr/share/games/gemdropx/sounds -$(installdat) data/sounds/* $(DESTDIR)/usr/share/games/gemdropx/sounds/ -$(installbin) gemdropx $(DESTDIR)/usr/games/ + -$(installdat) gemdropx.6 $(DESTDIR)/usr/share/man/man6/ + nosound: make MIXER= NOSOUNDFLAG=NOSOUND JOY=$(JOY) debian/patches/buffer-overflow0000644000000000000000000000163711631235436013665 0ustar Description: check bounds of HOME environement variable After performing a minimal source code audit I noticed that gemdropx contains a lack of bounds checking on it's use of the HOME environmental variable. . As the game isn't setuid/setgid it's not a security issue, but it's probably something that should be fixed regardless. Author: Steve Kemp Bug-Debian: http://bugs.debian.org/203244 Reviewed-By: Christian T. Steigies Last-Update: 2003-07-28 --- gemdropx-0.9.orig/gemdropx.c +++ gemdropx-0.9/gemdropx.c @@ -2655,7 +2655,11 @@ int main(int argc, char * argv[]) /* Get max level: */ - sprintf(datafile, "%s/.gemdropx", getenv("HOME")); + if ( getenv("HOME" ) != NULL ) + { + memset(datafile, '\0', sizeof(datafile)); + snprintf(datafile,sizeof(datafile)-1, "%s/.gemdropx", getenv("HOME")); + } fi = fopen(datafile, "r"); if (fi != NULL) debian/patches/manpage0000644000000000000000000000600311631226322012145 0ustar Description: manpage Add a manpage for gemdropx. Author: Christian T. Steigies Last-Update: 1999-12-29 --- /dev/null +++ gemdropx-0.9/gemdropx.6 @@ -0,0 +1,112 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH GEMDROPX 6 "December 29, 1999" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +gemdropx \- an interesting one-player puzzle game for X-Window +.SH SYNOPSIS +.B gemdropx [--help] [--version] [--usage] [--nomusic] +.\"[DISPLAY] +.SH DESCRIPTION +This manual page was written for the Debian GNU/Linux distribution +because the original program does not have a manual page. +Instead, it has documentation in /usr/share/doc/gemdropx/README.txt.gz + +\fBgemdropx\fP is an interesting one-player puzzle game for X-Window. +It is a direct port of Gem Drop, an Atari 8-bit game written in Action! +(a very fast C- and Pascal-like compiled language for the Atari). The +concept of the game Gem Drop is based on an arcade game for the NeoGeo +system called "Magical Drop III" by SNK. + +If you're familiar with games like Jewels, Klax, Bust-A-Move or Tetris, +this game is similar to them all. I consider it closest to Klax. + +.SH OPTIONS +.TP +.B \--help +Show a quick help page. +.TP +.B \--version +Show version of program. +.TP +.B \--usage +Show the command line arguments which gemdropx accepts. +.TP +.B \--nomusic +Disable the music of the game (if sound was enabled during compile time). +.TP +.B \--nosound +Disable all sound (including music). +.\".TP +.\".B DISPLAY +.\"If you need to explicitely specify your X display's address, +.\"add your display's address. +.\"(Don't forget to append ":0.0" or whatever the appropriate value is +.\"after the address.) +.\" +.\".B gemdropx my.computer.net:0.0 + +.SH CONTROLS +.TP +.I Left/Right +Move left/right +.TP +.I K/L +Move left/right +.TP +.I Up/Down +Throw/Grab +.TP +.I A/Z +Throw/Grab +.TP +.I Return +Get more gems immediately +.TP +.I Space / P +Pause +.TP +.I S +Toggle sound +.TP +.I Q/Escape +Abort game + +.SH MOUSE +.TP +.I Click Left/Right of Man +Move left/right +.TP +.I Left-click Above Man +Grab +.TP +.I Right-click Above man +Throw + +.SH JOYSTICK +.TP +.I Left/Right +Move left/right +.TP +.I Button 1/2 +Throw/Grab +.TP +.I Button 3/4 +Get more gems immediately + +.SH AUTHOR +This manual page was written by Christian T. Steigies , +for the Debian GNU/Linux system (but may be used by others). debian/patches/makefile0000644000000000000000000000222111630777105012321 0ustar Description: modify install target in Makefile This patch adjusts the install target to Debian needs. . The person named in the Author field signed this changelog entry. Author: Christian T. Steigies Last-Update: 2011-09-05 --- a/Makefile +++ b/Makefile @@ -13,6 +13,8 @@ # Qt/Embedded Port: February 11, 2002 - February 12, 2002 # Added 'install' target (finally!): May 18, 2002 +installbin = install -g root -o root -m 755 +installdat = install -g root -o root -m 644 DATA_PREFIX=/usr/local/share/gemdropx SDL_CFLAGS := $(shell sdl-config --cflags) @@ -39,12 +41,11 @@ all: gemdropx install: - cp gemdropx /usr/local/bin/ - chmod 755 /usr/local/bin/gemdropx - -mkdir -p $(DATA_PREFIX) - chmod 755 $(DATA_PREFIX) - cp -R data/* $(DATA_PREFIX) - chmod -R a+rX $(DATA_PREFIX)/* + -mkdir $(DESTDIR)/usr/share/games/gemdropx/images + -$(installdat) data/images/* $(DESTDIR)/usr/share/games/gemdropx/images/ + -mkdir $(DESTDIR)/usr/share/games/gemdropx/sounds + -$(installdat) data/sounds/* $(DESTDIR)/usr/share/games/gemdropx/sounds/ + -$(installbin) gemdropx $(DESTDIR)/usr/games/ nosound: make MIXER= NOSOUNDFLAG=NOSOUND JOY=$(JOY) debian/patches/sound-and-score0000644000000000000000000000355611631235654013560 0ustar Description: fix score display and add nosound Print very large scores correctly and add a nosound option. Author: Zack Weinberg Bug-Debian: http://bugs.debian.org/115203 Reviewed-By: Christian T. Steigies Last-Update: 2001-10-14 --- gemdropx-0.9.orig/gemdropx.c +++ gemdropx-0.9/gemdropx.c @@ -29,6 +29,7 @@ #include #include #include +#include #ifndef EMBEDDED #include @@ -720,8 +721,6 @@ void setup(int argc, char * argv[]) /* Setup sound: */ - use_sound = 1; - #ifndef NOSOUND if (use_sound) { @@ -788,14 +787,13 @@ void setup(int argc, char * argv[]) void shownumber(int num, int x, int y) { int i; - char temp[15]; + char temp[11]; + /* 32-bit integer needs 10 characters, plus one for the null. */ SDL_Rect src, dest; - num = (num % 100000); + sprintf(temp, "%-10u", num); - sprintf(temp, "%d ", num); - - for (i = 0; i < 5; i++) + for (i = 0; i < 10; i++) { dest.x = x + i * 16; dest.y = y; @@ -1154,7 +1152,9 @@ int title(void) /* Draw the currently-selected level: */ updatelevel(); - + + /* Draw the score, so that it stays visible from a previous round. */ + drawscore(); /* Init. animation variables: */ @@ -2146,7 +2146,8 @@ void play() oact = 0 ; score = 0; - + drawscore(); + /* Draw you! */ drawyou(playerx); @@ -2562,7 +2563,8 @@ int main(int argc, char * argv[]) no_music = 0; - + use_sound = 1; + if (argc == 2) { /* --version or --help?? */ @@ -2630,6 +2632,11 @@ int main(int argc, char * argv[]) else if (strcmp(argv[1], "--nomusic") == 0) { no_music = 1; + } + else if (strcmp(argv[1], "--nosound") == 0) + { + use_sound = 0; + no_music = 1; } else if (strcmp(argv[1], "--usage") == 0) { debian/patches/series0000644000000000000000000000011211631235727012033 0ustar makefile buffer-overflow sound-and-score sdl-quit manpage manpage-install