summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntonio Rojas2020-05-01 18:23:29 +0000
committerAntonio Rojas2020-05-01 18:23:29 +0000
commit3ca43ebf33808f6de73cf5e1622e84f6fb655974 (patch)
tree1227ce5c0b94d7831c6df958e1e2bec9019dd80b
downloadaur-bomberclone.tar.gz
Dropped from repos
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD56
-rw-r--r--bomberclone-0.11.9-build-fix.patch444
3 files changed, 519 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..d995f0527e24
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,19 @@
+pkgbase = bomberclone
+ pkgdesc = Clone of the game Atomic Bomberman
+ pkgver = 0.11.9
+ pkgrel = 7
+ url = https://www.bomberclone.de/core.html
+ arch = x86_64
+ license = GPL
+ makedepends = gendesk
+ depends = sdl_mixer
+ depends = sdl_image
+ source = https://downloads.sourceforge.net/sourceforge/bomberclone/bomberclone-0.11.9.tar.gz
+ source = bomberclone-0.11.9-build-fix.patch
+ source = https://sourceforge.net/p/bomberclone/patches/9/attachment/snprintf.diff
+ sha256sums = 71eb2788f95c136fd3eecaee15d05a80dea07221b5b3530dc869e433e02ff68d
+ sha256sums = ee8bbff24f261951379ca55c510df04deb5a0fd17c2c3149b63bbcaf1cfb0549
+ sha256sums = 3df79e4c87f94d3a2065583fd92a5129e57f35bfb949c92870ed32968acfe54e
+
+pkgname = bomberclone
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..56fd4e5a4d60
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,56 @@
+# Maintainer: Alexander F. Rødseth <xyproto@archlinux.org>
+# Contributor: duck <duck@vmail.me>
+# Contributor: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: arjan <arjan@archlinux.org>
+# Contributor: Aurelien Foret <orelien@chez.com>
+
+pkgname=bomberclone
+pkgver=0.11.9
+pkgrel=7
+pkgdesc='Clone of the game Atomic Bomberman'
+arch=(x86_64)
+url='https://www.bomberclone.de/core.html'
+license=(GPL)
+depends=(sdl_mixer sdl_image)
+makedepends=(gendesk)
+source=("https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz"
+ bomberclone-0.11.9-build-fix.patch
+ 'https://sourceforge.net/p/bomberclone/patches/9/attachment/snprintf.diff')
+sha256sums=('71eb2788f95c136fd3eecaee15d05a80dea07221b5b3530dc869e433e02ff68d'
+ 'ee8bbff24f261951379ca55c510df04deb5a0fd17c2c3149b63bbcaf1cfb0549'
+ '3df79e4c87f94d3a2065583fd92a5129e57f35bfb949c92870ed32968acfe54e')
+
+prepare() {
+ cd "$pkgname-$pkgver"
+
+ # generate a desktop shortcut
+ gendesk -f -n --pkgname $pkgname --pkgdesc "$pkgdesc" --name BomberClone
+
+ # add build fix extracted from upstream CVS (fixes FS#26942)
+ patch -p0 -i ../bomberclone-0.11.9-build-fix.patch
+
+ # buffer overflow patch, ref FS#44387
+ patch -p0 -i ../snprintf.diff
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make CFLAGS="-O3 $(pkg-config --cflags --libs sdl) $CFLAGS -lm -w"
+}
+
+package() {
+ make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
+
+ # package desktop shortcut
+ install -Dm644 $pkgname-$pkgver/$pkgname.desktop \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+
+ # create a symlink to the icon
+ install -d "$pkgdir/usr/share/pixmaps"
+ ln -s "/usr/share/games/$pkgname/pixmaps/$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/bomberclone-0.11.9-build-fix.patch b/bomberclone-0.11.9-build-fix.patch
new file mode 100644
index 000000000000..85522d821f44
--- /dev/null
+++ b/bomberclone-0.11.9-build-fix.patch
@@ -0,0 +1,444 @@
+Index: src/bomb.c
+===================================================================
+RCS file: /cvs/bomberclone/src/bomb.c,v
+retrieving revision 1.71
+retrieving revision 1.72
+diff -u -r1.71 -r1.72
+--- src/bomb.c 11 May 2009 20:51:25 -0000 1.71
++++ src/bomb.c 28 Jan 2012 21:53:19 -0000 1.72
+@@ -1,4 +1,4 @@
+-/* $Id: bomb.c,v 1.71 2009-05-11 20:51:25 stpohle Exp $ */
++/* $Id: bomb.c,v 1.72 2012-01-28 21:53:19 steffen Exp $ */
+ /* everything what have to do with the bombs */
+
+ #include "bomberclone.h"
+@@ -503,17 +503,12 @@
+ * the bomb was kicked.. so move the bomb in the right way..
+ */
+ void bomb_kicked (_bomb * bomb) {
+- float dist, dX, dY, pX, pY;
++ float dX, dY, pX, pY;
+
+ pX = dX = bomb->dest.x - bomb->source.x;
+ pY = dY = bomb->dest.y - bomb->source.y;
+ if (pX < 0.0f) pX = -dX;
+ if (pY < 0.0f) pY = -dY;
+- if (pX == 0.0f) dist = pY;
+- else if (pY == 0.0f) dist = pX;
+- else {
+- dist = sqrtf (powf (pX,2) + powf (pY,2));
+- }
+
+ bomb->fdata += timediff; // * (SPECIAL_KICK_MAXDIST / dist);
+ if (bomb->fdata >= 1.0f) {
+Index: src/gfx.c
+===================================================================
+RCS file: /cvs/bomberclone/src/gfx.c,v
+retrieving revision 1.42
+retrieving revision 1.43
+diff -u -r1.42 -r1.43
+--- src/gfx.c 10 Oct 2009 09:43:55 -0000 1.42
++++ src/gfx.c 28 Jan 2012 21:53:19 -0000 1.43
+@@ -1,4 +1,4 @@
+-/* $Id: gfx.c,v 1.42 2009-10-10 09:43:55 stpohle Exp $ */
++/* $Id: gfx.c,v 1.43 2012-01-28 21:53:19 steffen Exp $ */
+ /* gfx.c */
+
+ #include "bomberclone.h"
+@@ -37,8 +37,7 @@
+ void
+ gfx_load_players (int sx, int sy)
+ {
+- float sfkt,
+- ssfkt;
++ float sfkt;
+ char filename[255];
+ int i,
+ r,
+@@ -47,7 +46,6 @@
+ SDL_Surface *tmpimage,
+ *tmpimage1;
+ sfkt = ((float) sx) / ((float) GFX_IMGSIZE);
+- ssfkt = ((float) GFX_SMALLPLAYERIMGSIZE_X) / ((float) GFX_IMGSIZE);
+
+ d_printf ("gfx_load_players (%d, %d)\n", sx, sy);
+
+@@ -72,10 +70,10 @@
+ gfx.players[i].ani.image = SDL_DisplayFormat (tmpimage1);
+ SDL_FreeSurface (tmpimage1);
+
+- /* calculate the numbers of images for the animation */
+- gfx.players[i].offset.x = (sx - gfx.players[i].ani.w) / 2;
+- gfx.players[i].offset.y = -sy;
+- SDL_FreeSurface (tmpimage);
++ /* calculate the numbers of images for the animation */
++ gfx.players[i].offset.x = (sx - gfx.players[i].ani.w) / 2;
++ gfx.players[i].offset.y = -sy;
++ SDL_FreeSurface (tmpimage);
+ }
+ }
+
+Index: src/gfxpixelimage.c
+===================================================================
+RCS file: /cvs/bomberclone/src/gfxpixelimage.c,v
+retrieving revision 1.13
+retrieving revision 1.14
+diff -u -r1.13 -r1.14
+--- src/gfxpixelimage.c 9 Apr 2005 18:22:41 -0000 1.13
++++ src/gfxpixelimage.c 28 Jan 2012 21:53:19 -0000 1.14
+@@ -1,4 +1,4 @@
+-/* $Id: gfxpixelimage.c,v 1.13 2005-04-09 18:22:41 stpohle Exp $ */
++/* $Id: gfxpixelimage.c,v 1.14 2012-01-28 21:53:19 steffen Exp $ */
+ /* gfx pixel manipulation and image manipulation */
+
+ #include "bomberclone.h"
+@@ -285,10 +285,6 @@
+ SDL_Surface *
+ makegray_image (SDL_Surface * org)
+ {
+- Uint32 rmask,
+- gmask,
+- bmask,
+- amask;
+ Uint32 pixel,
+ transpixel = 0;
+ SDL_Surface *dest;
+@@ -300,18 +296,6 @@
+ b,
+ gray;
+
+-#if SDL_BYTEORDER == SDL_BIG_ENDIAN
+- rmask = 0xff000000;
+- gmask = 0x00ff0000;
+- bmask = 0x0000ff00;
+- amask = 0x000000ff;
+-#else /* */
+- rmask = 0x000000ff;
+- gmask = 0x0000ff00;
+- bmask = 0x00ff0000;
+- amask = 0xff000000;
+-#endif /* */
+-
+ dest = SDL_CreateRGBSurface (SDL_SWSURFACE, org->w, org->h, org->format->BitsPerPixel,
+ org->format->Rmask, org->format->Gmask,
+ org->format->Bmask, org->format->Amask);
+Index: src/keyb.c
+===================================================================
+RCS file: /cvs/bomberclone/src/keyb.c,v
+retrieving revision 1.7
+retrieving revision 1.8
+diff -u -r1.7 -r1.8
+--- src/keyb.c 27 Jul 2008 11:24:37 -0000 1.7
++++ src/keyb.c 28 Jan 2012 21:53:19 -0000 1.8
+@@ -1,4 +1,4 @@
+-/* $Id: keyb.c,v 1.7 2008-07-27 11:24:37 stpohle Exp $
++/* $Id: keyb.c,v 1.8 2012-01-28 21:53:19 steffen Exp $
+ * keyb.c
+ */
+
+@@ -180,19 +180,13 @@
+ void keyb_config_joypad (int key) {
+ unsigned int n = 0;
+ SDL_Event event;
+- Uint8 *keys;
+- int keypressed = 0, done = 0, eventstate = 0, reorder = 0, i, j;
++ int done = 0, eventstate = 0, reorder = 0, i, j;
+
+ if (joy[0] == NULL || key < 0 || key >= BCK_max) return;
+
+ SDL_JoystickUpdate ();
+
+ menu_displaytext ("Joypad Config", "Please press the new key\nfor this function.");
+-
+- keys = SDL_GetKeyState (NULL);
+- if (keys[SDLK_RETURN] || keys[SDLK_ESCAPE])
+- keypressed = 1;
+-
+ timestamp = SDL_GetTicks (); // needed for time sync.
+
+ while (!reorder && !done && bman.state != GS_quit) {
+@@ -205,7 +199,6 @@
+ reorder = 0;
+ }
+
+- // eventstate = s_fetchevent (&event);
+ SDL_JoystickEventState ( SDL_QUERY ); // js
+ SDL_JoystickUpdate ();
+
+@@ -245,9 +238,7 @@
+ void keyb_config_readkey (int key) {
+ int newkey;
+ SDL_Event event;
+- Uint8 *keys;
+- int keypressed = 0,
+- done = 0,
++ int done = 0,
+ eventstate = 0,
+ reorder = 0;
+ newkey = 0;
+@@ -257,11 +248,6 @@
+ return;
+
+ menu_displaytext ("Keyboard Config", "Please press the new key\nfor this function.");
+-
+- keys = SDL_GetKeyState (NULL);
+- if (keys[SDLK_RETURN] || keys[SDLK_ESCAPE])
+- keypressed = 1;
+-
+ timestamp = SDL_GetTicks (); // needed for time sync.
+
+ while (!reorder && !done && bman.state != GS_quit) {
+Index: src/mapmenu.c
+===================================================================
+RCS file: /cvs/bomberclone/src/mapmenu.c,v
+retrieving revision 1.27
+retrieving revision 1.28
+diff -u -r1.27 -r1.28
+--- src/mapmenu.c 30 Jul 2006 11:44:58 -0000 1.27
++++ src/mapmenu.c 28 Jan 2012 21:53:19 -0000 1.28
+@@ -1,4 +1,4 @@
+-/* $Id: mapmenu.c,v 1.27 2006-07-30 11:44:58 stpohle Exp $ */
++/* $Id: mapmenu.c,v 1.28 2012-01-28 21:53:19 steffen Exp $ */
+ /* map/tileset selection menu */
+
+ #include "bomberclone.h"
+@@ -174,15 +174,14 @@
+ {
+ _keybinput ki;
+ SDL_Event event;
+- int x,
+- y,
++ int y,
+ eventstate,
+ done = 0;
+ char text[255];
+
+ // draw_menubox (WIN_X, WIN_Y);
+
+- x = gfx.res.x / 2;
++// x = gfx.res.x / 2;
+ y = gfx.res.y / 2 - WIN_Y / 2;
+
+ sprintf (text, "Map Settings");
+Index: src/menu.c
+===================================================================
+RCS file: /cvs/bomberclone/src/menu.c,v
+retrieving revision 1.53
+retrieving revision 1.54
+diff -u -r1.53 -r1.54
+--- src/menu.c 6 Feb 2006 21:18:01 -0000 1.53
++++ src/menu.c 28 Jan 2012 21:53:19 -0000 1.54
+@@ -1,4 +1,4 @@
+-/* $Id: menu.c,v 1.53 2006-02-06 21:18:01 stpohle Exp $
++/* $Id: menu.c,v 1.54 2012-01-28 21:53:19 steffen Exp $
+ * Menuhandling */
+
+ #include "basic.h"
+@@ -591,11 +591,10 @@
+ menuselect;
+ _charlist *selfile = flist;
+ _menu *menu;
+- _menuitem *dirmi;
+
+ flcnt = menu_create_dirlist (path, dirflags, flist, MAX_DIRENTRYS);
+ menu = menu_new (title, 300, 300);
+- dirmi = menu_create_list (menu, "Dir", -1, 50, 200, 200, flist, &selfile, 1);
++ menu_create_list (menu, "Dir", -1, 50, 200, 200, flist, &selfile, 1);
+ menu_create_button (menu, "OK", -1, 270, 150, 0);
+ menu_focus_id (menu, 1);
+
+Index: src/netsrvlist.c
+===================================================================
+RCS file: /cvs/bomberclone/src/netsrvlist.c,v
+retrieving revision 1.17
+retrieving revision 1.18
+diff -u -r1.17 -r1.18
+--- src/netsrvlist.c 7 Aug 2005 17:46:21 -0000 1.17
++++ src/netsrvlist.c 28 Jan 2012 21:53:19 -0000 1.18
+@@ -1,4 +1,4 @@
+-/* $Id: netsrvlist.c,v 1.17 2005-08-07 17:46:21 stpohle Exp $
++/* $Id: netsrvlist.c,v 1.18 2012-01-28 21:53:19 steffen Exp $
+ * netsrvlist.c - shows a list of possible servers.*/
+
+ #include "basic.h"
+@@ -124,7 +124,6 @@
+ _charlist *sel_entry = &srvlst_text[0];
+ _menu *menu;
+ _menuitem *srvlst_listmenu;
+- _menuitem *srvlst_entry;
+ SDL_Event event;
+
+ d_printf ("net_getserver\n");
+@@ -137,7 +136,7 @@
+
+ menu = menu_new ("Join a Game", 500, 400);
+ srvlst_listmenu = menu_create_list (menu, "Host a Game", -1, 50, 475, 250, srvlst_text, &sel_entry, 1);
+- srvlst_entry = menu_create_entry (menu, "IP :", -1, 320, 475, bman.servername, LEN_SERVERNAME+LEN_PORT + 2, MENU_entrytext, 2);
++ menu_create_entry (menu, "IP :", -1, 320, 475, bman.servername, LEN_SERVERNAME+LEN_PORT + 2, MENU_entrytext, 2);
+ menu_create_button (menu, "OK", -1, 350, 150, 0);
+ menu_focus_id (menu, 1);
+
+Index: src/network.c
+===================================================================
+RCS file: /cvs/bomberclone/src/network.c,v
+retrieving revision 1.79
+retrieving revision 1.80
+diff -u -r1.79 -r1.80
+--- src/network.c 12 Jan 2007 22:42:31 -0000 1.79
++++ src/network.c 28 Jan 2012 21:53:19 -0000 1.80
+@@ -1,4 +1,4 @@
+-/* $Id: network.c,v 1.79 2007-01-12 22:42:31 stpohle Exp $ */
++/* $Id: network.c,v 1.80 2012-01-28 21:53:19 steffen Exp $ */
+ /*
+ network routines.
+ */
+@@ -460,7 +460,6 @@
+ net_transmit_gamedata ()
+ {
+ int done = 0,
+- keypressed = 0,
+ x,
+ y, // network upload status for one step
+ p,
+@@ -621,12 +620,10 @@
+ if (keys[SDLK_ESCAPE] && event.type == SDL_KEYDOWN) {
+ done = 1;
+ bman.p_nr = -1;
+- keypressed = 1;
+ bman.state = GS_startup;
+ }
+
+- if (event.type == SDL_KEYUP)
+- keypressed = 0;
++// if (event.type == SDL_KEYUP)
+ }
+
+ timestamp = SDL_GetTicks (); // needed for time sync.
+Index: src/player.c
+===================================================================
+RCS file: /cvs/bomberclone/src/player.c,v
+retrieving revision 1.108
+retrieving revision 1.109
+diff -u -r1.108 -r1.109
+--- src/player.c 11 Oct 2009 17:14:47 -0000 1.108
++++ src/player.c 28 Jan 2012 21:53:19 -0000 1.109
+@@ -1,4 +1,4 @@
+-/* $Id: player.c,v 1.108 2009-10-11 17:14:47 stpohle Exp $
++/* $Id: player.c,v 1.109 2012-01-28 21:53:19 steffen Exp $
+ * player.c - everything what have to do with the player */
+
+ #include <SDL.h>
+@@ -120,7 +120,6 @@
+ {
+ int i,
+ x,
+- xs,
+ xe,
+ y,
+ ys,
+@@ -155,7 +154,6 @@
+ if (ye >= map.size.y)
+ ye = map.size.y - 1;
+ // redrawing of the stone
+- xs = x;
+ for (; x <= xe; x++)
+ for (y = ys; y <= ye; y++)
+ stonelist_add (x, y);
+@@ -445,7 +443,7 @@
+ void
+ player_move (int pl_nr)
+ {
+- int oldd, coll_speed;
++ int oldd;
+ _player *p = &players[pl_nr];
+
+ if (p->tunnelto > 0.0f) {
+@@ -460,7 +458,6 @@
+ player_animation (p);
+ oldd = p->d;
+ p->stepsleft = p->speed * timefactor;
+- coll_speed = p->collect_shoes;
+ do {
+ p->d = oldd;
+ } while ((p->stepsleft = stepmove_player (pl_nr)) > 0);
+@@ -677,9 +674,7 @@
+ player_calcpos ()
+ {
+ _player *pl;
+- int oldm,
+- oldd,
+- p;
++ int p;
+ float oldspeed;
+
+ for (p = 0; p < MAX_PLAYERS; p++) {
+@@ -687,8 +682,6 @@
+ if (PS_IS_netplayer (pl->state) && PS_IS_alife (pl->state) && pl->m != 0) {
+ player_animation (pl);
+ oldspeed = pl->speed;
+- oldm = pl->m;
+- oldd = pl->d;
+ if (pl->speed > 0.0) {
+ pl->speed *= timefactor;
+ stepmove_player (p);
+Index: src/single.c
+===================================================================
+RCS file: /cvs/bomberclone/src/single.c,v
+retrieving revision 1.86
+retrieving revision 1.87
+diff -u -r1.86 -r1.87
+--- src/single.c 19 Aug 2006 23:41:47 -0000 1.86
++++ src/single.c 28 Jan 2012 21:53:19 -0000 1.87
+@@ -1,4 +1,4 @@
+-/* $Id: single.c,v 1.86 2006-08-19 23:41:47 stpohle Exp $ */
++/* $Id: single.c,v 1.87 2012-01-28 21:53:19 steffen Exp $ */
+ /* single player */
+
+ #include "basic.h"
+@@ -711,7 +711,6 @@
+ _charlist nrplayerlist[MAX_PLAYERS + 1];
+ _charlist *selnrplayer = &nrplayerlist[bman.ai_players];
+ _menu *menu;
+- _menuitem *aiplayer = NULL;
+ SDL_Event event;
+
+ /* fill in the nrplayerlist */
+@@ -729,7 +728,7 @@
+ menu = menu_new ("Single Game", 380,240);
+
+ menu_create_text (menu, "numpl", 20, 50, 12, 2, COLOR_yellow, "Number of\nAI Players");
+- aiplayer = menu_create_list (menu, "AI Players", 40, 90, 50, 100, nrplayerlist, &selnrplayer, 3);
++ menu_create_list (menu, "AI Players", 40, 90, 50, 100, nrplayerlist, &selnrplayer, 3);
+
+ menu_create_button (menu,"Change Playernames" ,160, 50, 210, 4);
+
+Index: src/tileset.c
+===================================================================
+RCS file: /cvs/bomberclone/src/tileset.c,v
+retrieving revision 1.16
+retrieving revision 1.17
+diff -u -r1.16 -r1.17
+--- src/tileset.c 26 Sep 2004 02:28:07 -0000 1.16
++++ src/tileset.c 28 Jan 2012 21:53:19 -0000 1.17
+@@ -1,4 +1,4 @@
+-/* $Id: tileset.c,v 1.16 2004-09-26 02:28:07 stpohle Exp $ */
++/* $Id: tileset.c,v 1.17 2012-01-28 21:53:19 steffen Exp $ */
+ /* load and select tilesets */
+
+ #include "bomberclone.h"
+@@ -72,7 +72,6 @@
+ char tileset[LEN_TILESETNAME];
+ SDL_Surface *tmpimage,
+ *tmpimage1;
+- float sfkt;
+
+ d_printf ("Loading Tileset: %s\n", tilesetname);
+ strncpy (tileset, tilesetname, LEN_TILESETNAME);
+@@ -101,7 +100,6 @@
+
+ /* create Table of points */
+ scale (gfx.postab, gfx.block.x, 256);
+- sfkt = ((float) gfx.block.x) / ((float) GFX_IMGSIZE);
+
+ /* calculating the best offset for the field on the screen */
+ gfx.offset.x = (gfx.res.x - (gfx.block.x * map.size.x)) / 2;