public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Artur Frenszek-Iwicki <fedora@svgames.pl>
To: git-commits@fedoraproject.org
Subject: [rpms/tecnoballz] f44: Update to v0.93.1
Date: Sun, 13 Sep 2026 13:01:55 GMT	[thread overview]
Message-ID: <178930451543.1.12801613687258573424.rpms-tecnoballz-212589a3f3c0@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/tecnoballz
Branch : f44
Commit : 212589a3f3c010c695278f192202912a7a162339
Author : Artur Frenszek-Iwicki <fedora@svgames.pl>
Date   : 2026-08-30T15:55:00+02:00
Stats  : +242/-612 in 13 file(s)
URL    : https://src.fedoraproject.org/rpms/tecnoballz/c/212589a3f3c010c695278f192202912a7a162339?branch=f44

Log:
Update to v0.93.1

---
diff --git a/.gitignore b/.gitignore
index ad1cf20..9e8b1fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 tecnoballz-0.92.tgz
+/tecnoballz-0.93.1.tgz

diff --git a/sources b/sources
index 360d204..c140562 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-111022212bc77b7dfcb453eaa5eac751  tecnoballz-0.92.tgz
+SHA512 (tecnoballz-0.93.1.tgz) = a7e30d408f907b9b5bbbf20002088d3cb84b7ee22b92b8ebbe14ad056036ce291ecd61531402c876047f69f2068ce844c5351dbf9e29a240b321a6d365c3c1ea

diff --git a/tecnoballz-0.92-Makefile.patch b/tecnoballz-0.92-Makefile.patch
deleted file mode 100644
index 96283f2..0000000
--- a/tecnoballz-0.92-Makefile.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -dur tecnoballz-0.92.orig/Makefile.am tecnoballz-0.92/Makefile.am
---- tecnoballz-0.92.orig/Makefile.am	2005-07-21 19:43:03.000000000 +0200
-+++ tecnoballz-0.92/Makefile.am	2011-11-26 17:32:23.878188098 +0100
-@@ -1,5 +1,5 @@
- 
--gamesdir = $(prefix)/games
-+gamesdir = $(bindir)
- scoredir = /var/games/tecnoballz
- score = tecnoballz.hi
- 
-diff -dur tecnoballz-0.92.orig/src/Makefile.am tecnoballz-0.92/src/Makefile.am
---- tecnoballz-0.92.orig/src/Makefile.am	2007-10-31 08:35:29.000000000 +0100
-+++ tecnoballz-0.92/src/Makefile.am	2011-11-26 17:32:38.401341341 +0100
-@@ -1,6 +1,6 @@
- 
- NULL =
--gamesdir = $(prefix)/games
-+gamesdir = $(bindir)
- scoredir = /var/games/tecnoballz
- score = tecnoballz.hi
- 
-@@ -71,7 +71,7 @@
-   sprite_projectile.cc \
-   sprite_ship.cc \
-   sprite_wall.cc \
--  supervisor.c \
-+  supervisor.cc \
-   supervisor_bricks_level.cc \
-   supervisor_main_menu.cc \
-   supervisor_map_editor.cc \

diff --git a/tecnoballz-0.92-dependecies.patch b/tecnoballz-0.92-dependecies.patch
deleted file mode 100644
index daedc1c..0000000
--- a/tecnoballz-0.92-dependecies.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -dur tecnoballz-0.92.orig/configure.ac tecnoballz-0.92/configure.ac
---- tecnoballz-0.92.orig/configure.ac	2007-11-19 13:44:15.000000000 +0100
-+++ tecnoballz-0.92/configure.ac	2011-11-26 18:04:22.221420518 +0100
-@@ -50,23 +50,6 @@
- 
- LDFLAGS_="${LDFLAGS_save}"
- 
--AC_CHECK_LIB(vorbisfile, ov_raw_seek, [
--	MM_LIBS="${MM_LIBS} -lvorbisfile"
--],[
--	AC_MSG_ERROR(Could not find the vorbisfile lib : -lvorbisfile)
--])
--AC_CHECK_LIB(ogg, ogg_stream_packetin, [
--	MM_LIBS="${MM_LIBS} -logg"
--],[
--	AC_MSG_ERROR(Could not find the ogg lib : -logg)
--])
--AC_CHECK_LIB(smpeg, SMPEG_play, [
--	MM_LIBS="${MM_LIBS} -lsmpeg"
--],[
--	AC_MSG_ERROR(Could not find the smpeg lib : -lsmpeg)
--])
--AC_SUBST(MM_LIBS)
--
- AC_CHECK_LIB(mikmod, Player_Stop, [
- 	MIKMOD_LIBS="-lmikmod"
- 	MIKMOD_FLAGS="-pthread -D_REENTRANT"
-diff -dur tecnoballz-0.92.orig/src/Makefile.am tecnoballz-0.92/src/Makefile.am
---- tecnoballz-0.92.orig/src/Makefile.am	2007-10-31 08:35:29.000000000 +0100
-+++ tecnoballz-0.92/src/Makefile.am	2011-11-26 18:04:44.634636369 +0100
-@@ -9,7 +9,7 @@
- games_PROGRAMS = tecnoballz
- tecnoballz_SOURCES = $(SOURCES_MAIN) 
- tecnoballz_CXXFLAGS = -DDATADIR=\"$(datadir)/tecnoballz\" -DSCOREFILE=\"$(scoredir)/$(score)\" @XLIB_CFLAGS@ @SDL_CFLAGS@ @MIKMOD_FLAGS@ 
--tecnoballz_LDADD = @XLIB_LIBS@ @SDL_LIBS@ @MM_LIBS@ @MIKMOD_LIBS@ -L.
-+tecnoballz_LDADD = @XLIB_LIBS@ @SDL_LIBS@ @MIKMOD_LIBS@ -L.
- 
- SOURCES_MAIN = \
-   bitmap_data.cc \

diff --git a/tecnoballz-0.92-dropsgid.patch b/tecnoballz-0.92-dropsgid.patch
deleted file mode 100644
index 5664117..0000000
--- a/tecnoballz-0.92-dropsgid.patch
+++ /dev/null
@@ -1,201 +0,0 @@
-diff -up tecnoballz-0.92/include/handler_resources.h.sgid tecnoballz-0.92/include/handler_resources.h
---- tecnoballz-0.92/include/handler_resources.h.sgid	2007-10-09 07:46:24.000000000 +0200
-+++ tecnoballz-0.92/include/handler_resources.h	2007-12-21 11:16:40.000000000 +0100
-@@ -42,7 +42,6 @@ class handler_resources:public virtual t
-     static const char *folderdata;
-     static const char *folder_320;
-     static const char *folder_640;
--    static char *fnamescore;
-     static char tmp_filename[512];
-     static char pathstring[512];
-     static const Uint32 TEXTS_OFFSET = 2048;
-@@ -93,6 +92,8 @@ class handler_resources:public virtual t
-     static const Sint16 *zesinus360;
-     static const Uint32 color_gradations[180];
- 
-+    static char *fnamescore;
-+    static int score_fhand;
-   private:
-     /** Size last file loaded in memory */
-     Uint32 last_filesize_loaded;
-diff -up tecnoballz-0.92/src/handler_resources.cc.sgid tecnoballz-0.92/src/handler_resources.cc
---- tecnoballz-0.92/src/handler_resources.cc.sgid	2007-10-29 14:18:53.000000000 +0100
-+++ tecnoballz-0.92/src/handler_resources.cc	2007-12-21 11:16:40.000000000 +0100
-@@ -46,6 +46,7 @@
- #endif
- 
- char * handler_resources::fnamescore = SCOREFILE;
-+int handler_resources::score_fhand = -1;
- const char *
-   handler_resources::folder_640 = "hires/";
- const char *
-@@ -737,18 +738,54 @@ handler_resources::load_sinus ()
- char *
- handler_resources::load_high_score_file ()
- {
--  char* filedata = NULL;
-+  if (score_fhand == -1)
-+    return NULL;
-+
-+  /* read the size of the file */
-+  struct stat sb;
-+  if (fstat (score_fhand, &sb))
-+    {
-+      std::cerr << "(!)handler_resources::load_high_score_file() " <<
-+        "can't stat file " << fnamescore
-+        << "strerror:" << strerror (errno) << std::endl;
-+      return NULL;
-+    }
-+  /* save filesize */
-+  last_filesize_loaded = sb.st_size;
-+
-+  /* allocate memory require to load the filedata */
-+  char *buffer = NULL;
-   try
-+  {
-+    buffer = new char[sb.st_size];
-+  }
-+  catch (std::bad_alloc &)
-+  {
-+    std::cerr << "(!)handler_resources::load_high_score_file() " <<
-+      "not enough memory to allocate " <<
-+      sb.st_size << " bytes!" << std::endl;
-+    throw;
-+  }
-+
-+  /* read the file */
-+  if(lseek(score_fhand, 0, SEEK_SET) != 0)
-     {
--      filedata = load_file (fnamescore, &last_filesize_loaded);
-+      std::cerr <<  "(!)handler_resources::load_high_score_file() can't rewind file " <<
-+        fnamescore << "strerror:" << strerror (errno) << std::endl;
-+      delete buffer;
-+      return NULL;
-     }
--  catch (...)
-+
-+  if (read (score_fhand, buffer, sb.st_size) != sb.st_size)
-     {
--       std::cerr << "(!)handler_resources::load_high_score_file() " <<
--         "can't open the scores files!" << std::endl;
--       filedata = NULL;
-+      std::cerr << "(!)handler_resources::load_high_score_file() " <<
-+        "can't read file " << fnamescore
-+        << "strerror:" << strerror (errno) << std::endl;
-+      delete buffer;
-+      return NULL;
-     }
--  return filedata;
-+
-+  return buffer;
- }
- 
- /* 
-@@ -759,25 +796,18 @@ handler_resources::load_high_score_file 
- void
- handler_resources::save_high_score_file (char *buffer, Uint32 size)
- {
--#ifdef WIN32
--  /* set umask so that files are group-writable */
--  _umask (0002);
--#else
--  umask (0002);
--#endif
--  Sint32 fhand = open (fnamescore, O_WRONLY | O_CREAT, 00666);
--  if (fhand == -1)
-+  if (score_fhand == -1)
-+    return;
-+
-+  if(lseek(score_fhand, 0, SEEK_SET) != 0)
-     {
--      fprintf (stderr,
--               "handler_resources::saveScores(): file:%s / error:%s\n",
--               fnamescore, strerror (errno));
-+      fprintf(stderr,
-+              "handler_resources::saveScores() can't rewind file %s (%s)\n\n",
-+              fnamescore, strerror(errno));
-+      return;
-     }
--#ifdef WIN32
--  _write (fhand, buffer, size);
--#else
--  write (fhand, buffer, size);
--#endif
--  if (close (fhand) == -1)
-+
-+  if(write(score_fhand, buffer, size) != size)
-     {
-       fprintf (stderr,
-                "handler_resources::saveScores(): file:%s / error:%s\n",
-diff -up tecnoballz-0.92/src/main.cc.sgid tecnoballz-0.92/src/main.cc
---- tecnoballz-0.92/src/main.cc.sgid	2007-11-19 13:44:15.000000000 +0100
-+++ tecnoballz-0.92/src/main.cc	2007-12-21 11:17:38.000000000 +0100
-@@ -26,6 +26,8 @@
-  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  * MA  02110-1301, USA.
-  */
-+#include <unistd.h>
-+#include "../include/handler_resources.h"
- #include "../include/tecnoballz.h"
- #include "../include/handler_display.h"
- #include "../include/handler_audio.h"
-@@ -61,6 +63,19 @@ returnToMenu (void)
- Sint32
- main (Sint32 arg_count, char **arg_values)
- {
-+  gid_t realgid;
-+
-+  handler_resources::score_fhand = open(handler_resources::fnamescore, O_RDWR);
-+
-+  /* Figure out who we really are. */
-+  realgid = getgid();
-+
-+  /* This is where we drop our setuid/setgid privileges. */
-+  if (setresgid(-1, realgid, realgid) != 0) {
-+      perror("Could not drop setgid privileges.  Aborting.");
-+      exit(1);
-+  }
-+
-   /* GP2X or PSP port */
- #ifdef TECNOBALLZ_HANDHELD_CONSOLE
-   /* Use atexit() to call the return-to-menu function,
-@@ -71,7 +86,7 @@ main (Sint32 arg_count, char **arg_value
-   configuration.load ();
-   if (!configuration.scan_arguments (arg_count, arg_values))
-     {
--      return 0;
-+      goto main_exit;
-     }
-   if (tecnoballz::is_verbose)
-     {
-@@ -79,7 +94,6 @@ main (Sint32 arg_count, char **arg_value
-         << "TecnoballZ starts! " << std::endl 
-         << "================================" << std::endl;
-     }
--  Sint32 error = 0;
-   try
-     {
-       tecnoballz::first_init (&configuration);
-@@ -94,6 +108,8 @@ main (Sint32 arg_count, char **arg_value
-     {
-       std::cerr << "fatal error" << std::endl;
-       tecnoballz::release_all_objects (&configuration);
-+      if (handler_resources::score_fhand != -1)
-+        close(handler_resources::score_fhand);
-       throw;
-     }
-   if (tecnoballz::is_verbose)
-@@ -106,7 +122,12 @@ main (Sint32 arg_count, char **arg_value
-       std::cout << "TecnoballZ is finished! ========" << std::endl;
-     }
-   configuration.save ();
--  return error;
-+
-+main_exit:
-+  if (handler_resources::score_fhand != -1)
-+    close(handler_resources::score_fhand);
-+
-+  return 0;
- }
- 
- 

diff --git a/tecnoballz-0.92-gcc43.patch b/tecnoballz-0.92-gcc43.patch
deleted file mode 100644
index b4a7879..0000000
--- a/tecnoballz-0.92-gcc43.patch
+++ /dev/null
@@ -1,125 +0,0 @@
---- tecnoballz/tecnoballz/include/surface_sdl.h	2007/09/12 06:32:48	1.8
-+++ tecnoballz/tecnoballz/include/surface_sdl.h	2007/12/11 07:22:30	1.9
-@@ -1,15 +1,15 @@
--/** 
-- * @file surface_sdl.h 
-+/**
-+ * @file surface_sdl.h
-  * @brief an surface drawing surface
-  * @created 2007-02-15
-- * @date 2007-04-09
-+ * @date 2007-12-11
-  * @copyright 1991-2007 TLK Games
-  * @author Bruno Ethvignot
-- * @version $Revision: 1.8 $
-+ * @version $Revision: 1.9 $
-  */
--/* 
-+/*
-  * copyright (c) 1991-2007 TLK Games all rights reserved
-- * $Id: surface_sdl.h,v 1.8 2007/09/12 06:32:48 gurumeditation Exp $
-+ * $Id: surface_sdl.h,v 1.9 2007/12/11 07:22:30 gurumeditation Exp $
-  *
-  * TecnoballZ is free software; you can redistribute it and/or modify
-  * it under the terms of the GNU General Public License as published by
-@@ -26,50 +26,59 @@
-  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  * MA  02110-1301, USA.
-  */
--#ifndef __SURFACE_SDL__ 
-+#ifndef __SURFACE_SDL__
- #define __SURFACE_SDL__
- class surface_sdl;
- #include "../include/tecnoballz.h"
- 
- class surface_sdl:public virtual tecnoballz
--{
--
--protected:
--  SDL_Surface* surface;
--  /** The number of bytes used to represent each pixel in a surface */
--  Uint32 bytes_per_pixel;
--  char* pixel_data;
--
--public:
--  surface_sdl ();
--  surface_sdl (Uint32 w, Uint32 h, Uint32 depth);
--  ~surface_sdl ();
--  SDL_Surface* get_surface ();
--  char* get_pixel_data ();
--  char* get_pixel_data (Uint32 coord_x, Uint32 coord_x);
--  Uint32 get_row_size ();
--  Uint32 get_offset (Uint32 xcoord, Uint32 ycoord);
--  void clear (Uint32 color = 0);
--  void clear (Uint32 color, Uint32 xcoord, Uint32 ycoord, Uint32 w, Uint32 height);
--  Uint32 get_width ();
--  Uint32 get_height ();
--  Uint32 get_line_modulo (Uint32 w);
--  void lock_surface ();
--  void unlock_surface ();
--  void blit_to_surface (surface_sdl *dest);
--  void blit_to_surface (surface_sdl *dest, Uint32 xcoord, Uint32 ycoord, Uint32 w, Uint32 h);
--  void blit_to_surface (surface_sdl *dest, Uint32 x1, Uint32 y1, Uint32 x2, Uint32 y2, Uint32 w, Uint32 h);
--  void set_palette (SDL_Color *colors);
--  void set_palette (surface_sdl *dest);
--  void blit_surface (surface_sdl *dest, Uint32 x1, Uint32 y1, Uint32 x2, Uint32 y2, Uint32 w, Uint32 h);
--  void fill_shadow_rect (Uint32 xcoord, Uint32 ycoord, Uint32 w, Uint32 h);
--
--public:
--  void create_surface (Uint32 w, Uint32 h, Sint32 depth, Uint32 flags = SDL_ANYFORMAT, Uint32 red_mask = 0xf00, Uint32 green_mask = 0x0f0, Uint32 blue_mask = 0x00f, Uint32 alpha_mask = 0x00);
--  surface_sdl *cut_to_surface (Sint32 xcoord, Sint32 ycoord, Uint32 w,
--                               Uint32 h);
--  void cut_to_surface (surface_sdl *dest, Sint32 xcoord, Sint32 ycoord, Uint32 w, Uint32 h);
--};
--
-+  {
- 
-+  protected:
-+    SDL_Surface* surface;
-+    /** The number of bytes used to represent each pixel in a surface */
-+    Uint32 bytes_per_pixel;
-+    char* pixel_data;
-+
-+  public:
-+    surface_sdl ();
-+    surface_sdl (Uint32 w, Uint32 h, Uint32 depth);
-+    ~surface_sdl ();
-+    SDL_Surface* get_surface ();
-+    char* get_pixel_data ();
-+    char* get_pixel_data (Uint32 xcoord, Uint32 ycoord);
-+    Uint32 get_row_size ();
-+    Uint32 get_offset (Uint32 xcoord, Uint32 ycoord);
-+    void clear (Uint32 color = 0);
-+    void clear (Uint32 color, Uint32 xcoord, Uint32 ycoord, Uint32 w,
-+                Uint32 height);
-+    Uint32 get_width ();
-+    Uint32 get_height ();
-+    Uint32 get_line_modulo (Uint32 w);
-+    void lock_surface ();
-+    void unlock_surface ();
-+    void blit_to_surface (surface_sdl *dest);
-+    void blit_to_surface (surface_sdl *dest, Uint32 xcoord,
-+                          Uint32 ycoord, Uint32 w, Uint32 h);
-+    void blit_to_surface (surface_sdl *dest, Uint32 x1, Uint32 y1,
-+                          Uint32 x2, Uint32 y2, Uint32 w, Uint32 h);
-+    void set_palette (SDL_Color *colors);
-+    void set_palette (surface_sdl *dest);
-+    void blit_surface (surface_sdl *dest, Uint32 x1, Uint32 y1,
-+                       Uint32 x2, Uint32 y2, Uint32 w, Uint32 h);
-+    void fill_shadow_rect (Uint32 xcoord, Uint32 ycoord, Uint32 w,
-+                           Uint32 h);
-+
-+  public:
-+    void create_surface (Uint32 w, Uint32 h, Sint32 depth,
-+                         Uint32 flags = SDL_ANYFORMAT,
-+                         Uint32 red_mask = 0xf00,
-+                         Uint32 green_mask = 0x0f0,
-+                         Uint32 blue_mask = 0x00f,
-+                         Uint32 alpha_mask = 0x00);
-+    surface_sdl *cut_to_surface (Sint32 xcoord, Sint32 ycoord, Uint32 w,
-+                                 Uint32 h);
-+    void cut_to_surface (surface_sdl *dest, Sint32 xcoord,
-+                         Sint32 ycoord, Uint32 w, Uint32 h);
-+  };
- #endif
-

diff --git a/tecnoballz-0.92-gcc6-narrowing.patch b/tecnoballz-0.92-gcc6-narrowing.patch
deleted file mode 100644
index 20167c3..0000000
--- a/tecnoballz-0.92-gcc6-narrowing.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -durN tecnoballz-0.92/include/tiles_background.h tecnoballz-0.92.gcc6/include/tiles_background.h
---- tecnoballz-0.92/include/tiles_background.h	2007-09-25 07:43:20.000000000 +0200
-+++ tecnoballz-0.92.gcc6/include/tiles_background.h	2016-03-26 17:59:30.283777384 +0100
-@@ -47,7 +47,7 @@
-     static tiles_background* tiles_background_singleton;
-     static Sint32 table_pos1[16];
-     static Sint32 table_pos2[16];
--    static char couleurs[448];
-+    static unsigned char couleurs[448];
-     static const Sint32 TILES_32_WIDTH = 32;
-     static const Sint32 TILES_32_HEIGHT = 32;
-     static const Sint32 TILES_64_WIDTH = 64;
-diff -durN tecnoballz-0.92/src/tiles_background.cc tecnoballz-0.92.gcc6/src/tiles_background.cc
---- tecnoballz-0.92/src/tiles_background.cc	2007-09-25 07:43:20.000000000 +0200
-+++ tecnoballz-0.92.gcc6/src/tiles_background.cc	2016-03-26 18:41:12.767764934 +0100
-@@ -663,7 +663,7 @@
- 
-     }
-   palette_index = pal_index;
--  char *color = &couleurs[0];
-+  unsigned char *color = &couleurs[0];
-   unsigned char *colPT = (unsigned char *) (color) + pal_index;
-   SDL_Color *pal = display->get_palette ();
-   SDL_Color *lighted = pal + 1;
-@@ -702,7 +702,7 @@
-  * 4 * 4    : 16 composantes by palette
-  * 112 * 4  : 448 composantes
- */
--char
-+unsigned char
- tiles_background::couleurs[448] = {
-                                     0x00, 0x40, 0x20, 0x40, 0x00, 0x60, 0x40, 0x60, 0x00, 0x80, 0x60, 0x80,
-                                     0x00, 0xA0, 0x80, 0xA0, 0x00, 0x00, 0x20, 0x40, 0x00, 0x20,

diff --git a/tecnoballz-0.92-level_data.patch b/tecnoballz-0.92-level_data.patch
deleted file mode 100644
index b042abb..0000000
--- a/tecnoballz-0.92-level_data.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-#Description: Include levels-data.xml file in build.
-Index: tecnoballz-0.92/src/TecnoballZ/Makefile.am
-===================================================================
---- tecnoballz-0.92.orig/src/TecnoballZ/Makefile.am	2009-04-16 14:41:28.000000000 -0400
-+++ tecnoballz-0.92/src/TecnoballZ/Makefile.am	2009-04-16 14:41:48.000000000 -0400
-@@ -6,6 +6,7 @@
- dist_pkgdata_DATA = \
- 	cosinus128.list \
- 	gard_lissa.list \
-+	levels-data.xml \
- 	min60map.png \
- 	tableau.data \
-   tilemap-congratulation_20.data \

diff --git a/tecnoballz-0.92-texts_dir.patch b/tecnoballz-0.92-texts_dir.patch
deleted file mode 100644
index 21c2c76..0000000
--- a/tecnoballz-0.92-texts_dir.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-#Description: Include the texts subdir in the build.
-Index: tecnoballz-0.92/configure.ac
-===================================================================
---- tecnoballz-0.92.orig/configure.ac	2009-04-16 15:35:02.000000000 -0400
-+++ tecnoballz-0.92/configure.ac	2009-04-16 15:35:33.000000000 -0400
-@@ -81,5 +81,5 @@
- 
- 
- dnl  Output makefiles
--AC_OUTPUT(Makefile src/Makefile src/TecnoballZ/Makefile src/TecnoballZ/hires/Makefile src/TecnoballZ/lores/Makefile src/TecnoballZ/textures/Makefile src/TecnoballZ/musics/Makefile src/TecnoballZ/sounds/Makefile)
-+AC_OUTPUT(Makefile src/Makefile src/TecnoballZ/Makefile src/TecnoballZ/hires/Makefile src/TecnoballZ/lores/Makefile src/TecnoballZ/textures/Makefile src/TecnoballZ/musics/Makefile src/TecnoballZ/sounds/Makefile src/TecnoballZ/texts/Makefile)
- 
-Index: tecnoballz-0.92/src/TecnoballZ/Makefile.am
-===================================================================
---- tecnoballz-0.92.orig/src/TecnoballZ/Makefile.am	2009-04-16 15:35:46.000000000 -0400
-+++ tecnoballz-0.92/src/TecnoballZ/Makefile.am	2009-04-16 15:36:10.000000000 -0400
-@@ -1,6 +1,6 @@
- NULL =
- 
--SUBDIRS = lores hires textures sounds musics
-+SUBDIRS = lores hires textures sounds musics texts
- 
- pkgdatadir = $(datadir)/tecnoballz
- dist_pkgdata_DATA = \
-Index: tecnoballz-0.92/src/TecnoballZ/texts/Makefile.am
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ tecnoballz-0.92/src/TecnoballZ/texts/Makefile.am	2009-04-16 15:37:27.000000000 -0400
-@@ -0,0 +1,15 @@
-+NULL =
-+pkgdatadir = $(datadir)/tecnoballz/texts
-+dist_pkgdata_DATA = \
-+	main_menu_en.txt \
-+	main_menu_fr.txt \
-+	popup_menu_en.txt \
-+	popup_menu_fr.txt \
-+	scrolltext_en.txt \
-+	scrolltext_fr.txt \
-+	shop_en.txt \
-+	shop_fr.txt \
-+	short_info_messages_en.txt \
-+	short_info_messages_fr.txt \
-+	$(NULL)
-+

diff --git a/tecnoballz-0.92-tinyxml.patch b/tecnoballz-0.92-tinyxml.patch
deleted file mode 100644
index c4f55cc..0000000
--- a/tecnoballz-0.92-tinyxml.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From: Ansgar Burchardt <ansgar@debian.org>
-Date: Sun, 14 Aug 2011 14:08:35 +0200
-Subject: Use tinyxml system library
-Origin: vendor
-
---- tecnoballz.orig/include/handler_levels.h
-+++ tecnoballz/include/handler_levels.h
-@@ -32,7 +32,7 @@
- class handler_levels;
- 
- #include "../include/tecnoballz.h"
--#include "../include/tinyxml.h"
-+#include <tinyxml.h>
- #include <string.h>
- 
- typedef struct
---- tecnoballz.orig/include/tinystr.h
-+++ tecnoballz/include/tinystr.h
-@@ -34,6 +34,8 @@
-  * - added swap(), clear(), size(), capacity(), operator+().
-  */
- 
-+#error "Embedded copy of libtinyxml-dev should not be used."
-+
- #ifndef TIXML_USE_STL
- 
- #ifndef TIXML_STRING_INCLUDED
---- tecnoballz.orig/include/tinyxml.h
-+++ tecnoballz/include/tinyxml.h
-@@ -22,6 +22,7 @@
- distribution.
- */
- 
-+#error "Embedded copy of libtinyxml-dev should not be used."
- 
- #ifndef TINYXML_INCLUDED
- #define TINYXML_INCLUDED
---- tecnoballz.orig/src/Makefile.am
-+++ tecnoballz/src/Makefile.am
-@@ -9,7 +9,7 @@
- games_PROGRAMS = tecnoballz
- tecnoballz_SOURCES = $(SOURCES_MAIN) 
- tecnoballz_CXXFLAGS = -DDATADIR=\"$(datadir)/tecnoballz\" -DSCOREFILE=\"$(scoredir)/$(score)\" @XLIB_CFLAGS@ @SDL_CFLAGS@ @MIKMOD_FLAGS@ 
--tecnoballz_LDADD = @XLIB_LIBS@ @SDL_LIBS@ @MIKMOD_LIBS@ -L.
-+tecnoballz_LDADD = @XLIB_LIBS@ @SDL_LIBS@ @MIKMOD_LIBS@ -ltinyxml -L.
- 
- SOURCES_MAIN = \
-   bitmap_data.cc \
-@@ -81,9 +81,5 @@
-   tecnoballz.cc \
-   tiles_background.cc \
-   tilesmap_scrolling.cc \
--  tinyxml.cc \
--  tinyxmlerror.cc \
--  tinyxmlparser.cc \
--  tinystr.cc
-   $(NULL)
- 
---- tecnoballz.orig/src/handler_levels.cc
-+++ tecnoballz/src/handler_levels.cc
-@@ -29,7 +29,7 @@
- using namespace std;
- #include "../include/handler_levels.h"
- #include "../include/handler_resources.h"
--#include "../include/tinyxml.h"
-+#include <tinyxml.h>
- #include <string.h>
- #include <sstream>
- 
-@@ -143,7 +143,7 @@
-   Sint32 type = parent->Type ();
-   switch (type)
-     {
--    case TiXmlNode::ELEMENT:
-+    case TiXmlNode::TINYXML_ELEMENT:
-       {
-         string element = parent->Value ();
-         if (element == "level")
-@@ -221,7 +221,7 @@
-   string name;
-   switch (type)
-     {
--    case TiXmlNode::ELEMENT:
-+    case TiXmlNode::TINYXML_ELEMENT:
-       {
-         element = parent->ToElement ();
-         last_element = parent->Value ();
-@@ -290,7 +290,7 @@
-       break;
- 
- 
--    case TiXmlNode::TEXT:
-+    case TiXmlNode::TINYXML_TEXT:
-       text = parent->ToText ();
-       value_str = text->Value ();
- 

diff --git a/tecnoballz-0.93.1-Makefile.patch b/tecnoballz-0.93.1-Makefile.patch
new file mode 100644
index 0000000..cb7609d
--- /dev/null
+++ b/tecnoballz-0.93.1-Makefile.patch
@@ -0,0 +1,11 @@
+diff -dur tecnoballz-0.92.orig/src/Makefile.am tecnoballz-0.92/src/Makefile.am
+--- tecnoballz-0.92.orig/src/Makefile.am	2007-10-31 08:35:29.000000000 +0100
++++ tecnoballz-0.92/src/Makefile.am	2011-11-26 17:32:38.401341341 +0100
+@@ -1,6 +1,6 @@
+ 
+ NULL =
+-gamesdir = $(prefix)/games
++gamesdir = $(bindir)
+ scoredir = /var/games/tecnoballz
+ score = tecnoballz.hi
+ 

diff --git a/tecnoballz-0.93.1-dropsgid.patch b/tecnoballz-0.93.1-dropsgid.patch
new file mode 100644
index 0000000..bc43086
--- /dev/null
+++ b/tecnoballz-0.93.1-dropsgid.patch
@@ -0,0 +1,221 @@
+diff -rU3 tecnoballz-0.93.1--orig/include/handler_resources.h tecnoballz-0.93.1/include/handler_resources.h
+--- tecnoballz-0.93.1--orig/include/handler_resources.h	2014-09-30 12:20:25.000000000 +0200
++++ tecnoballz-0.93.1/include/handler_resources.h	2026-08-30 15:36:19.244329133 +0200
+@@ -43,7 +43,6 @@
+     static const char *folderdata;
+     static const char *folder_320;
+     static const char *folder_640;
+-    static const char *fnamescore;
+     static char tmp_filename[512];
+     static char pathstring[512];
+     static const Uint32 TEXTS_OFFSET = 2048;
+@@ -94,6 +93,8 @@
+     static const Sint16 *zesinus360;
+     static const Uint32 color_gradations[180];
+ 
++    static const char *fnamescore;
++    static int score_fhand;
+   private:
+     /** Size last file loaded in memory */
+     Uint32 last_filesize_loaded;
+diff -rU3 tecnoballz-0.93.1--orig/src/handler_resources.cc tecnoballz-0.93.1/src/handler_resources.cc
+--- tecnoballz-0.93.1--orig/src/handler_resources.cc	2014-09-30 12:20:26.000000000 +0200
++++ tecnoballz-0.93.1/src/handler_resources.cc	2026-08-30 15:56:37.927528542 +0200
+@@ -31,6 +31,7 @@
+ #include "../config.h"
+ #include <string>
+ #include <fstream>
++#include <unistd.h>
+ 
+ #ifndef DATADIR
+ #define DATADIR "/usr/share/games/tecnoballz"
+@@ -50,6 +51,7 @@
+ handler_resources::handler_resources_singleton = NULL;
+ 
+ const char * handler_resources::fnamescore = SCOREFILE;
++int handler_resources::score_fhand = -1;
+ const char *
+   handler_resources::folder_640 = "hires/";
+ const char *
+@@ -802,18 +804,54 @@
+ char *
+ handler_resources::load_high_score_file ()
+ {
+-  char* filedata = NULL;
++  if (score_fhand == -1)
++    return NULL;
++
++  /* read the size of the file */
++  struct stat sb;
++  if (fstat (score_fhand, &sb))
++    {
++      std::cerr << "(!)handler_resources::load_high_score_file() " <<
++        "can't stat file " << fnamescore
++        << "strerror:" << strerror (errno) << std::endl;
++      return NULL;
++    }
++  /* save filesize */
++  last_filesize_loaded = sb.st_size;
++
++  /* allocate memory require to load the filedata */
++  char *buffer = NULL;
+   try
++  {
++    buffer = new char[sb.st_size];
++  }
++  catch (std::bad_alloc &)
++  {
++    std::cerr << "(!)handler_resources::load_high_score_file() " <<
++      "not enough memory to allocate " <<
++      sb.st_size << " bytes!" << std::endl;
++    throw;
++  }
++
++  /* read the file */
++  if(lseek(score_fhand, 0, SEEK_SET) != 0)
+     {
+-      filedata = load_file (fnamescore, &last_filesize_loaded);
++      std::cerr <<  "(!)handler_resources::load_high_score_file() can't rewind file " <<
++        fnamescore << "strerror:" << strerror (errno) << std::endl;
++      delete buffer;
++      return NULL;
+     }
+-  catch (...)
++
++  if (read (score_fhand, buffer, sb.st_size) != sb.st_size)
+     {
+-       std::cerr << "(!)handler_resources::load_high_score_file() " <<
+-         "can't open the scores files!" << std::endl;
+-       filedata = NULL;
++      std::cerr << "(!)handler_resources::load_high_score_file() " <<
++        "can't read file " << fnamescore
++        << "strerror:" << strerror (errno) << std::endl;
++      delete buffer;
++      return NULL;
+     }
+-  return filedata;
++
++  return buffer;
+ }
+ 
+ /* 
+@@ -826,37 +864,29 @@
+ {
+   size_t left;
+   ssize_t bytes_written;
+-#ifdef WIN32
+-  /* set umask so that files are group-writable */
+-  _umask (0002);
+-#else
+-  umask (0002);
+-#endif
+-  Sint32 fhand = open (fnamescore, O_WRONLY | O_CREAT, 00666);
+-  if (fhand == -1)
++  if (score_fhand == -1)
++    return;
++
++  if(lseek(score_fhand, 0, SEEK_SET) != 0)
+     {
+-      fprintf (stderr,
+-               "handler_resources::save_high_score_file(): file:%s / error:%s\n",
+-               fnamescore, strerror (errno));
++      fprintf(stderr,
++              "handler_resources::save_high_score_file() can't rewind file %s (%s)\n\n",
++              fnamescore, strerror(errno));
++      return;
+     }
+   left = size;
+   while (left > 0)
+     {
+-#ifdef WIN32
+-      bytes_written = _write (fhand, buffer + size - left, left);
+-#else
+-      bytes_written = write (fhand, buffer + size - left, left);
++      bytes_written = write (score_fhand, buffer + size - left, left);
+       if (bytes_written == -1)
+         {
+           std::cerr << "(!)handler_resources::save_high_score_file():" <<
+              " filename: " << fnamescore << "; error: " << strerror (errno) << std::endl;  
+-          close (fhand);
+           return;
+         }
+         left -= bytes_written;
+     }
+-#endif
+-  if (close (fhand) == -1)
++  if (fsync (score_fhand) == -1)
+     {
+       fprintf (stderr,
+                "handler_resources::save_high_score_file(): file:%s / error:%s\n",
+diff -rU3 tecnoballz-0.93.1--orig/src/main.cc tecnoballz-0.93.1/src/main.cc
+--- tecnoballz-0.93.1--orig/src/main.cc	2014-09-30 12:20:26.000000000 +0200
++++ tecnoballz-0.93.1/src/main.cc	2026-08-30 15:35:44.490442215 +0200
+@@ -26,6 +26,8 @@
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+  * MA  02110-1301, USA.
+  */
++#include <unistd.h>
++#include "../include/handler_resources.h"
+ #include "../include/tecnoballz.h"
+ #include "../include/handler_display.h"
+ #include "../include/handler_audio.h"
+@@ -61,6 +63,19 @@
+ Sint32
+ main (Sint32 arg_count, char **arg_values)
+ {
++  gid_t realgid;
++
++  handler_resources::score_fhand = open(handler_resources::fnamescore, O_RDWR);
++
++  /* Figure out who we really are. */
++  realgid = getgid();
++
++  /* This is where we drop our setuid/setgid privileges. */
++  if (setresgid(-1, realgid, realgid) != 0) {
++      perror("Could not drop setgid privileges.  Aborting.");
++      exit(1);
++  }
++
+   /* GP2X or PSP port */
+ #ifdef TECNOBALLZ_HANDHELD_CONSOLE
+   /* Use atexit() to call the return-to-menu function,
+@@ -71,7 +86,7 @@
+   configuration.load ();
+   if (!configuration.scan_arguments (arg_count, arg_values))
+     {
+-      return 0;
++      goto main_exit;
+     }
+   if (tecnoballz::is_verbose)
+     {
+@@ -79,7 +94,6 @@
+         << "TecnoballZ starts! " << std::endl 
+         << "================================" << std::endl;
+     }
+-  Sint32 error = 0;
+   try
+     {
+       tecnoballz::first_init (&configuration);
+@@ -94,6 +108,8 @@
+     {
+       std::cerr << "fatal error" << std::endl;
+       tecnoballz::release_all_objects (&configuration);
++      if (handler_resources::score_fhand != -1)
++        close(handler_resources::score_fhand);
+       throw;
+     }
+   if (tecnoballz::is_verbose)
+@@ -106,7 +122,12 @@
+       std::cout << "TecnoballZ is finished! ========" << std::endl;
+     }
+   configuration.save ();
+-  return error;
++
++main_exit:
++  if (handler_resources::score_fhand != -1)
++    close(handler_resources::score_fhand);
++
++  return 0;
+ }
+ 
+ 

diff --git a/tecnoballz.spec b/tecnoballz.spec
index 11bcc88..da4b7b8 100644
--- a/tecnoballz.spec
+++ b/tecnoballz.spec
@@ -1,6 +1,6 @@
 Name: tecnoballz
-Version: 0.92
-Release: 49%{?dist}
+Version: 0.93.1
+Release: 1%{?dist}
 Summary: A Brick Busting game
 
 # Automatically converted from old format: GPLv3+ - review is highly recommended.
@@ -10,28 +10,12 @@ Source0: http://linux.tlk.fr/games/TecnoballZ/download/%{name}-%{version}.tgz
 Source1: %{name}.xpm
 Source2: %{name}.desktop
 # Andrea Musuruane
-# Fix dependencies
-Patch0: tecnoballz-0.92-dependecies.patch
-# Andrea Musuruane
 # Don't combine explicit and implicit rules for make 3.82
 # Set correct gamedir for Fedora
-Patch1: tecnoballz-0.92-Makefile.patch
-# Debian
-# Fix configure.ac Makefile.am to include missing files
-Patch2: tecnoballz-0.92-level_data.patch
-Patch3: tecnoballz-0.92-texts_dir.patch
-# Debian
-# Use tinyxml system library
-Patch4: tecnoballz-0.92-tinyxml.patch
-# Upstream CVS
-# Compile with gcc 4.3
-Patch5: tecnoballz-0.92-gcc43.patch
+Patch1: tecnoballz-0.93.1-Makefile.patch
 # Hans de Goede
 # Drop setgid privileges when not needed
-Patch6: tecnoballz-0.92-dropsgid.patch
-# Raphael Groner/Upstream GIT
-# Compile with gcc 6
-Patch7: tecnoballz-0.92-gcc6-narrowing.patch
+Patch6: tecnoballz-0.93.1-dropsgid.patch
 
 BuildRequires: make
 BuildRequires: gcc-c++
@@ -53,16 +37,7 @@ complete this great game. This game was ported from the Commodore Amiga.
 
 
 %prep
-%setup -q
-%patch -P0 -p1
-%patch -P1 -p1
-%patch -P2 -p1
-%patch -P3 -p1
-# Patch4 must be called after Patch0
-%patch -P4 -p1
-%patch -P5 -p2
-%patch -P6 -p1
-%patch -P7 -p1
+%autosetup -p1
 
 
 %build
@@ -98,6 +73,9 @@ install -p -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%
 
 
 %changelog
+* Sun Aug 30 2026 Artur Frenszek-Iwicki <fedora@svgames.pl> - 0.93.1-1
+- Update to v0.93.1
+
 * Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.92-49
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
 

                 reply	other threads:[~2026-09-13 13:01 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178930451543.1.12801613687258573424.rpms-tecnoballz-212589a3f3c0@fedoraproject.org \
    --to=fedora@svgames.pl \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox