--- abe-1.1.orig/debian/abe.6 +++ abe-1.1/debian/abe.6 @@ -0,0 +1,113 @@ +.\" In .TH, FOO should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.\" +.\" This template provided by Tom Christiansen . +.\" +.TH abe 6 +.SH NAME +abe \- Abe's Amazing Adventure +.SH SYNOPSIS + +.PP +.B abe +[ +.BR --window +] +[ +.BR -e | --editor +] +[ +.BR -i | --intro +] +[ +.BR -g | --game +] +[ +.BR -t | --test +] +[ +.BR -s | --system +] +[ +.B --size # +] +[ +.BR -b | --bpp +] +[ +.BR --nosound +] +[ +.BR -? | -h | --help +] + +.SH DESCRIPTION +.\" Putting a newline after each sentence can generate better output. +An Adventure Game. + +Abe's Amazing Adventure! A Side Scrolling Game. + +Long years have passed since his friend disappeared. +Now Abe braves the deadly twisting passages of the great pyramid! +He seeks to free his friend and uncover the mystery of the depts. + +.SH OPTIONS + +.B --window +Run in windowed mode. + +.B -e | --editor +Skip the splash screen and run the editor. + +.B -i | --intro +Edit intro map. + +.B -g | --game +Skip the splash screen and run the game. + +.B -t | --test +Test video modes only. + +.B -s | --system +Use system memory instead of video(default) memory. + +.B --size # + Use this width/height for the video mode. + Modes: + 0: 320/ 200 (1.60) + 1: 320/ 240 (1.33) + 2: 640/ 400 (1.60) + 3: 640/ 480 (1.33) + 4: 800/ 600 (1.33) + 5: 1024/ 768 (1.33) + 6: 1280/1024 (1.25) + 7: 1600/1200 (1.33) + 8: 1280/ 768 (1.67) + 9: 1280/ 800 (1.60) + 10: 1440/ 900 (1.60) + 11: 1400/1050 (1.33) + +.B -b | --bpp # +Use this bpp for the video mode. + +.B --nosound +Don't use sound. + +.B -? | -h | --help +Show the help message. + +.SH AUTHOR +Gabor Torok + +Pedro Izecksohn + +Alex Clarck + +.SH HISTORY +The game is intended to show young people all the cool games they missed. + +.SH LICENCE +This is free software; you can redistribute it and/or modify +it under the terms specified in the GNU Public Licence (GPL). + + --- abe-1.1.orig/debian/watch +++ abe-1.1/debian/watch @@ -0,0 +1,3 @@ +version=3 +opts="uversionmangle=s/_/./g;" \ +http://sf.net/abe/abe-(.*)\.tar\.gz --- abe-1.1.orig/debian/control +++ abe-1.1/debian/control @@ -0,0 +1,27 @@ +Source: abe +Section: games +Priority: optional +Maintainer: Bart Martens +Build-Depends: cdbs, debhelper (>= 5), autotools-dev, libsdl1.2-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev, imagemagick, libxi-dev, libxmu-dev +Standards-Version: 3.8.0 +Homepage: http://abe.sourceforge.net/ + +Package: abe +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, abe-data (= ${source:Version}) +Description: Side-scrolling game named "Abe's Amazing Adventure" + A scrolling, platform-jumping, key-collecting, ancient pyramid exploring game, + vaguely in the style of similar games for the Commodore+4. The game is + intended to show young people all the cool games they missed. + . + This package contains the architecture dependent files of the game. + +Package: abe-data +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Side-scrolling game named "Abe's Amazing Adventure" + A scrolling, platform-jumping, key-collecting, ancient pyramid exploring game, + vaguely in the style of similar games for the Commodore+4. The game is + intended to show young people all the cool games they missed. + . + This package contains the architecture independent data files. --- abe-1.1.orig/debian/menu +++ abe-1.1/debian/menu @@ -0,0 +1,3 @@ +?package(abe):needs="X11" section="Games/Adventure"\ + icon="abe.xpm"\ + title="Abe's Amazing Adventure" command="/usr/games/abe" --- abe-1.1.orig/debian/compat +++ abe-1.1/debian/compat @@ -0,0 +1 @@ +5 --- abe-1.1.orig/debian/abe.desktop +++ abe-1.1/debian/abe.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Encoding=UTF-8 +Name=Abe's Amazing Adventure +Comment=Side-scrolling game +TryExec=/usr/games/abe +Exec=/usr/games/abe +Categories=Game;AdventureGame; +Icon=/usr/share/pixmaps/abe.xpm +MimeType= --- abe-1.1.orig/debian/rules +++ abe-1.1/debian/rules @@ -0,0 +1,22 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/gnome.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk + +DEB_CONFIGURE_EXTRA_FLAGS += \ + --bindir=/usr/games \ + --with-data-dir=/usr/share/games/abe \ + +update-config:: + [ -e config.h.in.d-r-orig ] || cp -p config.h.in config.h.in.d-r-orig + [ -e tom4.bmp ] || tar xf images/images.tar tom4.bmp + [ -e tom4.xpm ] || convert -resize 24x32 tom4.bmp tom4.xpm + [ -e abe.xpm ] || sed -e "s/#000000/None/" < tom4.xpm > abe.xpm + +reverse-config:: + [ ! -e config.h.in.d-r-orig ] || mv config.h.in.d-r-orig config.h.in + rm -f tom4.bmp tom4.xpm abe.xpm + +clean:: + rm -f stamp-h.in --- abe-1.1.orig/debian/manpages +++ abe-1.1/debian/manpages @@ -0,0 +1 @@ +debian/abe.6 --- abe-1.1.orig/debian/abe.install +++ abe-1.1/debian/abe.install @@ -0,0 +1,3 @@ +debian/tmp/usr/games/abe usr/games/ +abe.xpm usr/share/pixmaps/ +debian/abe.desktop usr/share/applications/ --- abe-1.1.orig/debian/changelog +++ abe-1.1/debian/changelog @@ -0,0 +1,24 @@ +abe (1.1-3) unstable; urgency=low + + * debian/abe.6, debian/manpages: Added. Closes: #459374. + * debian/control: Standards-Version. + + -- Bart Martens Fri, 27 Jun 2008 20:21:58 +0200 + +abe (1.1-2) unstable; urgency=low + + * debian/patches/02_enter_keys.diff: Fixes enter key on some keyboards. + * debian/patches/03_truncate_menu.diff: Hides fixed settings. + * debian/patches/04_default_reso.diff: Detect and use screen resolution. + * debian/patches/05_cheat.diff: Secret cheat code, don't tell anyone. + * debian/control: Build-Depends: libxi-dev, libxmu-dev. + + -- Bart Martens Wed, 26 Dec 2007 11:51:08 +0100 + +abe (1.1-1) unstable; urgency=low + + * Initial package in Debian. Closes: #457744. + * debian/patches/01_resolutions.diff: Added resolutions. + + -- Bart Martens Tue, 25 Dec 2007 10:15:27 +0100 + --- abe-1.1.orig/debian/abe-data.install +++ abe-1.1/debian/abe-data.install @@ -0,0 +1,3 @@ +images usr/share/games/abe/ +maps usr/share/games/abe/ +sounds usr/share/games/abe/ --- abe-1.1.orig/debian/copyright +++ abe-1.1/debian/copyright @@ -0,0 +1,41 @@ +This package was debianized by Bart Martens on +Tue, 25 Dec 2007 10:15:27 +0100. + +It was downloaded from: + + http://abe.sourceforge.net/ + +Upstream authors: + + Gabor Torok + Pedro Izecksohn + Alex Clarck + +Copyright: + + Copyright (C) 2002-2005, Gabor Torok + Copyright (C) 2002-2005, Pedro Izecksohn + Copyright (C) 2002-2005, Alex Clarck + +License: + + 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 package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + +The Debian packaging is +Copyright (C) 2007-2008, Bart Martens +and is licensed under the GPL, see above. --- abe-1.1.orig/debian/patches/02_enter_keys.diff +++ abe-1.1/debian/patches/02_enter_keys.diff @@ -0,0 +1,47 @@ +Fixes the return/enter key on some keyboards. + + +diff -ruN -x '*.png' -x '*.jpg' -x '*.ogg' -x '*_image_archive' ../orig/abe-1.1/src/Editor.c ./src/Editor.c +--- ../orig/abe-1.1/src/Editor.c 2005-03-05 17:20:04.000000000 +0100 ++++ ./src/Editor.c 2007-12-26 11:52:21.000000000 +0100 +@@ -298,6 +298,7 @@ + cursor.dir = DIR_NONE; + map.redraw = 1; + break; ++ case SDLK_KP_ENTER: + case SDLK_RETURN: + setImage(edit_panel.level, edit_panel.image_index); + break; +diff -ruN -x '*.png' -x '*.jpg' -x '*.ogg' -x '*_image_archive' ../orig/abe-1.1/src/Game.c ./src/Game.c +--- ../orig/abe-1.1/src/Game.c 2005-03-05 17:20:04.000000000 +0100 ++++ ./src/Game.c 2007-12-26 11:51:59.000000000 +0100 +@@ -386,6 +386,7 @@ + game.keys++; + break; + #endif ++ case SDLK_KP_ENTER: + case SDLK_RETURN: + if(!game.end_game) { + if(!game.balloonTimer && game.balloons) { +diff -ruN -x '*.png' -x '*.jpg' -x '*.ogg' -x '*_image_archive' ../orig/abe-1.1/src/Icons.c ./src/Icons.c +--- ../orig/abe-1.1/src/Icons.c 2005-03-05 17:20:04.000000000 +0100 ++++ ./src/Icons.c 2007-12-26 11:52:55.000000000 +0100 +@@ -99,6 +99,7 @@ + icon_selection = -1; + goto escape; + case SDLK_SPACE: ++ case SDLK_KP_ENTER: + case SDLK_RETURN: + goto escape; + case SDLK_LEFT: +diff -ruN -x '*.png' -x '*.jpg' -x '*.ogg' -x '*_image_archive' ../orig/abe-1.1/src/Splash.c ./src/Splash.c +--- ../orig/abe-1.1/src/Splash.c 2005-03-05 17:20:04.000000000 +0100 ++++ ./src/Splash.c 2007-12-26 11:52:38.000000000 +0100 +@@ -40,6 +40,7 @@ + if(menu_y < 0) + menu_y = FONT_HEIGHT * (GOD_MODE ? 4 : 3); + break; ++ case SDLK_KP_ENTER: + case SDLK_RETURN: + case SDLK_SPACE: + map.quit = 1; --- abe-1.1.orig/debian/patches/01_resolutions.diff +++ abe-1.1/debian/patches/01_resolutions.diff @@ -0,0 +1,77 @@ +--- ../orig/abe-1.1/src/Main.c 2005-03-05 17:20:04.000000000 +0100 ++++ src/Main.c 2007-12-25 12:04:02.000000000 +0100 +@@ -84,7 +84,9 @@ + main(int argc, char *argv[]) + { + Uint32 flags = SDL_DOUBLEBUF; +- int i; ++ int i, j; ++ static int available_resolution_width [] = { 320, 320, 640, 640, 800, 1024, 1280, 1600, 1280, 1280, 1440, 1400, 0 }; ++ static int available_resolution_height[] = { 200, 240, 400, 480, 600, 768, 1024, 1200, 768, 800, 900, 1050, 0 }; + int w, h, bpp, n; + int hw_mem = 1; + int intro = 0; +@@ -129,43 +131,13 @@ + runmode = RUNMODE_GAME; + } else if(!strcmp(argv[i], "--size") && i < argc - 1) { + n = atoi(argv[i + 1]); +- switch (n) { +- case 0: +- w = 320; +- h = 200; +- break; +- case 1: +- w = 320; +- h = 240; +- break; +- case 2: +- w = 640; +- h = 400; +- break; +- case 3: +- w = 640; +- h = 480; +- break; +- case 4: +- w = 800; +- h = 600; +- break; +- case 5: +- w = 1024; +- h = 768; +- break; +- case 6: +- w = 1280; +- h = 1024; +- break; +- case 7: +- w = 1600; +- h = 1200; +- break; +- default: +- w = 640; +- h = 480; +- } ++ for( j = 0 ; available_resolution_width[j] != 0 ; j++ ) ++ if( j == n ) ++ { ++ w = available_resolution_width[j]; ++ h = available_resolution_height[j]; ++ break; ++ } + } else if((!strcmp(argv[i], "--bpp") || !strcmp(argv[i], "-b")) + && i < argc - 1) { + n = atoi(argv[i + 1]); +@@ -191,7 +163,11 @@ + printf + ("--size # Use this width/height for the video mode.\n"); + printf +- ("\tModes: 0-320/200 1-320/240 2-640/400 3-640/480 4-800/600 5-1024/768 6-1280/1024 7-1600/1200\n"); ++ ("\tModes:\n"); ++ for( j = 0 ; available_resolution_width[j] != 0 ; j++ ) ++ printf( "\t %2d: %4d/%4d (%1.2f)\n", j, ++ available_resolution_width[j], available_resolution_height[j], ++ (float)available_resolution_width[j] / (float)available_resolution_height[j] ); + printf("-b --bpp # Use this bpp for the video mode.\n"); + printf("--nosound Don't use sound.\n"); + printf("-? -h --help Show this help message.\n"); --- abe-1.1.orig/debian/patches/05_cheat.diff +++ abe-1.1/debian/patches/05_cheat.diff @@ -0,0 +1,83 @@ +--- ../orig/abe-1.1/src/Game.c 2005-03-05 17:20:04.000000000 +0100 ++++ src/Game.c 2008-01-24 10:55:01.000000000 +0100 +@@ -3,6 +3,7 @@ + #include + + Game game; ++static int cheat = 0; // 0=no, 1=yes + + // path_sprintf should not be used by other .c files, as it does not fit for them. + static void +@@ -381,6 +382,17 @@ + case SDLK_d: + debugMonsters(); + break; ++ case SDLK_c: ++ if( event->key.keysym.mod & ( KMOD_CTRL | KMOD_SHIFT | KMOD_ALT ) && getenv( "ABE_IS_CHEATING" ) ) ++ cheat = 1 - cheat; ++ if( cheat ) ++ { ++ game.lives = MAX_LIVES; ++ game.keys = MAX_KEYS; ++ game.balloons = MAX_BALLOONS; ++ game.health = MAX_HEALTH; ++ } ++ break; + #if GOD_MODE + case SDLK_k: + game.keys++; +@@ -390,6 +402,7 @@ + if(!game.end_game) { + if(!game.balloonTimer && game.balloons) { + playSound(BUBBLE_SOUND); ++ if( ! cheat ) + game.balloons--; + game.balloonTimer = BALLOON_RIDE_INTERVAL; + map.gravity = 0; +@@ -456,9 +469,11 @@ + + if(live) { + showMapStatus(live->monster->name); ++ if( ! cheat ) + game.health -= (live->monster->damage * (game.difficoulty + 1)); + } else { + showMapStatus("drowning!"); ++ if( ! cheat ) + game.health--; // water damage + show_effect = !(game.tick % 40); + } +@@ -489,6 +504,7 @@ + if(game.god_mode) + return; + ++ if( ! cheat ) + game.lives--; + + // Flash player. Don't move monsters during this. +@@ -691,6 +707,7 @@ + EMPTY_MAP; + map.image_index[LEVEL_FORE][key.pos_x + (key.pos_y * map.w)] = + img_door2; ++ if( ! cheat ) + game.keys--; + map.redraw = 1; + // always return 0 (block) so we don't fall into a door and get stuck there... (was a nasty bug) +@@ -771,7 +788,7 @@ + game.player_start_y = 28; + } + +- game.lives = 5; ++ game.lives = MAX_LIVES; + game.score = 0; + game.keys = 0; + game.balloons = 0; +--- ../orig/abe-1.1/src/Game.h 2005-03-05 17:20:04.000000000 +0100 ++++ src/Game.h 2008-01-24 10:45:45.000000000 +0100 +@@ -20,6 +20,7 @@ + + #define SPRING_JUMP 30 + ++#define MAX_LIVES 5 + #define MAX_HEALTH 100 + + // don't hold more than these... mainly b/c the gui can't handle it --- abe-1.1.orig/debian/patches/03_truncate_menu.diff +++ abe-1.1/debian/patches/03_truncate_menu.diff @@ -0,0 +1,10 @@ +--- ../orig/abe-1.1/src/Menu.c 2005-03-05 17:20:04.000000000 +0100 ++++ src/Menu.c 2008-01-24 08:05:59.000000000 +0100 +@@ -21,6 +21,7 @@ + {"audio", 0, {""}, 0}, + {"sound", 2, {"on", "off"}, 0}, + {"music", 2, {"on", "off"}, 0}, ++ {"", 0, {""}, 0}, // truncates the menu here + {"video", 0, {""}, 0}, + {"full screen", 2, {"on", "off"}, 0}, + {"background", 2, {"on", "off"}, 0}, --- abe-1.1.orig/debian/patches/04_default_reso.diff +++ abe-1.1/debian/patches/04_default_reso.diff @@ -0,0 +1,19 @@ +--- ../orig/abe-1.1/src/Main.c 2005-03-05 17:20:04.000000000 +0100 ++++ src/Main.c 2008-01-24 11:37:23.000000000 +0100 +@@ -113,6 +113,16 @@ + + atexit(SDL_Quit); + ++ SDL_VideoInfo *vid_info; ++ vid_info = (SDL_VideoInfo*) SDL_GetVideoInfo (); ++ if( vid_info ) ++ if( vid_info->current_w == 1440 && vid_info->current_h ==900 ++ || vid_info->current_w == 1400 && vid_info->current_h ==1050 ) ++ { ++ w = vid_info->current_w; ++ h = vid_info->current_h; ++ } ++ + for(i = 0; i < argc; i++) { + if(!strcmp(argv[i], "--window")) { + mainstruct.full_screen = 0;