Bug#786811: jessie-pu: package tecnoballz/0.93.1-4
Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu
Hello release team,
I would like to update the current version of tecnoballz in Jessie.
The game is affected by multiple gameplay issues that could impair the
fun and which I consider important enough for a targeted Jessie fix.
Three separate bug reports were reported against tecnoballz during the
freeze and those issues were later addressed by Bruno Ethvignot, the
upstream developer of tecnoballz. I can confirm that those patches fix
the reported bugs entirely.
* Fix multiple gameplay issues which could impair the fun.
* Add bouncer-restriction.patch.
Fix minimum distance of bouncers to walls in boss levels.
(Closes: #776262)
* gigablitz-gauge.patch: Fix gigablitz gauge was not working.
(Closes: #776342)
* right-click-game-over.patch: Fix right click game over bug.
(Closes: #776263)
Please find attached the debdiff against the current version in
Jessie.
Regards,
Markus
diff -Nru tecnoballz-0.93.1/debian/changelog tecnoballz-0.93.1/debian/changelog
--- tecnoballz-0.93.1/debian/changelog 2015-01-31 16:06:08.000000000 +0100
+++ tecnoballz-0.93.1/debian/changelog 2015-05-25 20:31:55.000000000 +0200
@@ -1,3 +1,16 @@
+tecnoballz (0.93.1-4+deb8u1) jessie; urgency=medium
+
+ * Fix multiple gameplay issues which could impair the fun.
+ * Add bouncer-restriction.patch.
+ Fix minimum distance of bouncers to walls in boss levels.
+ (Closes: #776262)
+ * gigablitz-gauge.patch: Fix gigablitz gauge was not working.
+ (Closes: #776342)
+ * right-click-game-over.patch: Fix right click game over bug.
+ (Closes: #776263)
+
+ -- Markus Koschany <apo@gambaru.de> Mon, 25 May 2015 20:24:06 +0200
+
tecnoballz (0.93.1-4) unstable; urgency=medium
* Depend on libsdl-mixer1.2 (>= 1.2.12-11) because the old dependency was
diff -Nru tecnoballz-0.93.1/debian/copyright tecnoballz-0.93.1/debian/copyright
--- tecnoballz-0.93.1/debian/copyright 2015-01-31 16:06:08.000000000 +0100
+++ tecnoballz-0.93.1/debian/copyright 2015-05-25 20:31:55.000000000 +0200
@@ -4,7 +4,7 @@
Source: http://linux.tlk.fr/games/TecnoballZ/download
Files: *
-Copyright: 1991-2014, TLK Games
+Copyright: 1991-2015, TLK Games
License: GPL-3+
Files: debian/*
@@ -13,7 +13,7 @@
2009, Barry deFreese <bdefreese@debian.org>
2011, Peter Pentchev <roam@ringlet.net>
2011, Ansgar Burchardt <ansgar@debian.org>
- 2014, Markus Koschany <apo@gambaru.de>
+ 2014-2015, Markus Koschany <apo@gambaru.de>
License: GPL-3+
License: GPL-3+
diff -Nru tecnoballz-0.93.1/debian/patches/bouncer-restriction.patch tecnoballz-0.93.1/debian/patches/bouncer-restriction.patch
--- tecnoballz-0.93.1/debian/patches/bouncer-restriction.patch 1970-01-01 01:00:00.000000000 +0100
+++ tecnoballz-0.93.1/debian/patches/bouncer-restriction.patch 2015-05-25 20:31:55.000000000 +0200
@@ -0,0 +1,30 @@
+From: Bruno Ethvignot <bruno@tlk.biz>
+Date: Sat, 21 Mar 2015 19:50:41 +0100
+Subject: bouncer restriction
+
+---
+ src/controller_paddles.cc | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/src/controller_paddles.cc b/src/controller_paddles.cc
+index b9f1706..35a12b1 100644
+--- a/src/controller_paddles.cc
++++ b/src/controller_paddles.cc
+@@ -57,8 +57,15 @@ controller_paddles::controller_paddles ()
+ width_maxi = 32 * resolution;
+ width_mini = 32 * resolution;
+ bottom_y_coord = (232 - 8) * resolution;
+- min_coordinate = 16 * resolution;
+- max_coordinate = 300 * resolution;
++ min_coordinate = 16;
++ if (resolution == 1)
++ {
++ max_coordinate = 303;
++ }
++ else
++ {
++ max_coordinate = 622;
++ }
+ }
+ else
+ {
diff -Nru tecnoballz-0.93.1/debian/patches/gigablitz-gauge.patch tecnoballz-0.93.1/debian/patches/gigablitz-gauge.patch
--- tecnoballz-0.93.1/debian/patches/gigablitz-gauge.patch 1970-01-01 01:00:00.000000000 +0100
+++ tecnoballz-0.93.1/debian/patches/gigablitz-gauge.patch 2015-05-25 20:31:55.000000000 +0200
@@ -0,0 +1,22 @@
+From: Bruno Ethvignot <bruno@tlk.biz>
+Date: Tue, 10 Feb 2015 17:27:03 +0100
+Subject: gigablitz gauge
+
+Forwarded: yes
+Bug: https://bugs.debian.org/776342
+---
+ src/right_panel_score.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/right_panel_score.cc b/src/right_panel_score.cc
+index fc77bf8..672e345 100644
+--- a/src/right_panel_score.cc
++++ b/src/right_panel_score.cc
+@@ -41,7 +41,6 @@ right_panel_score::right_panel_score ()
+ gigablitz_countdown = gauge_height;
+ delay_gigablitz_countdown = 0;
+ flip_white = false;
+- gauge_height = 0;
+ panel_width = 0;
+ }
+
diff -Nru tecnoballz-0.93.1/debian/patches/right-click-game-over.patch tecnoballz-0.93.1/debian/patches/right-click-game-over.patch
--- tecnoballz-0.93.1/debian/patches/right-click-game-over.patch 1970-01-01 01:00:00.000000000 +0100
+++ tecnoballz-0.93.1/debian/patches/right-click-game-over.patch 2015-05-25 20:31:55.000000000 +0200
@@ -0,0 +1,140 @@
+From: Bruno Ethvignot <bruno@tlk.biz>
+Date: Tue, 10 Feb 2015 17:31:03 +0100
+Subject: right click game over
+
+Forwarded: yes
+Bug: https://bugs.debian.org/776263
+---
+ include/sprite_ball.h | 1 +
+ src/controller_balls.cc | 45 ++-------------------------------------------
+ src/sprite_ball.cc | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 45 insertions(+), 43 deletions(-)
+
+diff --git a/include/sprite_ball.h b/include/sprite_ball.h
+index 83a5736..2f8e144 100644
+--- a/include/sprite_ball.h
++++ b/include/sprite_ball.h
+@@ -200,6 +200,7 @@ class sprite_ball:public sprite_object
+ void set_on_ejector (Uint32 eject_id, Uint32 otime = 1);
+ void disable_stick ();
+ void accelerate ();
++ void move_sticked_paddle(sprite_paddle * paddle);
+ virtual bool collision (sprite_object * sprite);
+
+ private:
+diff --git a/src/controller_balls.cc b/src/controller_balls.cc
+index 10844c9..2685166 100644
+--- a/src/controller_balls.cc
++++ b/src/controller_balls.cc
+@@ -232,6 +232,7 @@ controller_balls::check_outside_balls ()
+ num_of_sprites = 1;
+ ball->paddle_touched->stick_ball (ball);
+ ball->starts_again (ball->paddle_touched);
++ ball->move_sticked_paddle (paddle);
+ head_anim->start_interference ();
+ current_player->remove_life (1);
+ ships->force_explosion ();
+@@ -409,49 +410,7 @@ controller_balls::move_balls ()
+ }
+
+ /* displacement of the balls sticked to the paddle */
+- switch (ball->sticky_paddle_num)
+- {
+- case controller_paddles::BOTTOM_PADDLE:
+- j = (paddle->collision_width >> 1) -
+- ((ball->collision_width >> 1) + 1);
+- j += paddle->x_coord;
+- ball->x_coord = j;
+- j = (paddle->y_coord) - (ball->collision_height + 1);
+- ball->y_coord = j;
+- break;
+-
+- case controller_paddles::RIGHT_PADDLE:
+- j = (paddle->x_coord) - (ball->collision_width - 1);
+- ball->x_coord = j;
+- j =
+- (paddle->collision_height >> 1) -
+- ((ball->collision_height >> 1) + 1);
+- j += paddle->y_coord;
+- ball->y_coord = j;
+- break;
+-
+- case controller_paddles::TOP_PADDLE:
+- j =
+- (paddle->collision_width >> 1) -
+- ((ball->collision_width >> 1) + 1);
+- j += paddle->x_coord;
+- ball->x_coord = j;
+- j = (paddle->y_coord) + paddle->collision_height + 1;
+- ball->y_coord = j;
+- break;
+-
+- case controller_paddles::LEFT_PADDLE:
+- j = (paddle->x_coord) + (paddle->collision_width) + 1;
+- ball->x_coord = j;
+- j =
+- (paddle->collision_height >> 1) -
+- ((ball->collision_height >> 1) + 1);
+- j += paddle->y_coord;
+- ball->y_coord = j;
+- break;
+-
+- }
+-
++ ball->move_sticked_paddle (paddle);
+
+ if (--ball->viewfinder_delay < 0)
+ {
+diff --git a/src/sprite_ball.cc b/src/sprite_ball.cc
+index bd34e71..7f237e3 100644
+--- a/src/sprite_ball.cc
++++ b/src/sprite_ball.cc
+@@ -360,6 +360,48 @@ sprite_ball::accelerate ()
+ }
+ }
+
++/** Displacement of the balls sticked to the paddle
++ * */
++void
++sprite_ball::move_sticked_paddle (sprite_paddle * paddle)
++{
++ Sint32 j;
++ switch (sticky_paddle_num)
++ {
++ case controller_paddles::BOTTOM_PADDLE:
++ j = (paddle->collision_width >> 1) - ((collision_width >> 1) + 1);
++ j += paddle->get_x_coord ();
++ x_coord = j;
++ j = (paddle->get_y_coord ()) - (collision_height + 1);
++ y_coord = j;
++ break;
++
++ case controller_paddles::RIGHT_PADDLE:
++ j = (paddle->get_x_coord ()) - (collision_width - 1);
++ x_coord = j;
++ j = (paddle->collision_height >> 1) - ((collision_height >> 1) + 1);
++ j += paddle->get_y_coord ();
++ y_coord = j;
++ break;
++
++ case controller_paddles::TOP_PADDLE:
++ j = (paddle->collision_width >> 1) - ((collision_width >> 1) + 1);
++ j += paddle->get_x_coord ();
++ x_coord = j;
++ j = (paddle->get_y_coord ()) + paddle->collision_height + 1;
++ y_coord = j;
++ break;
++
++ case controller_paddles::LEFT_PADDLE:
++ j = (paddle->get_x_coord ()) + (paddle->collision_width) + 1;
++ x_coord = j;
++ j = (paddle->collision_height >> 1) - ((collision_height >> 1) + 1);
++ j += paddle->get_y_coord ();
++ y_coord = j;
++ break;
++ }
++}
++
+ /**
+ + * Check collision beetween a ball and another sprite.
+ + * Override sprite_object::collision(sprite_object *).
diff -Nru tecnoballz-0.93.1/debian/patches/series tecnoballz-0.93.1/debian/patches/series
--- tecnoballz-0.93.1/debian/patches/series 2015-01-31 16:06:08.000000000 +0100
+++ tecnoballz-0.93.1/debian/patches/series 2015-05-25 20:31:55.000000000 +0200
@@ -1,3 +1,6 @@
disable-Werror.patch
custom-CXXFLAGS.patch
manpage.patch
+gigablitz-gauge.patch
+right-click-game-over.patch
+bouncer-restriction.patch
Reply to: