Hello community,
here is the log from the commit of package frozen-bubble
checked in at Wed Oct 3 00:52:44 CEST 2007.
--------
--- frozen-bubble/frozen-bubble.changes 2007-09-10 19:37:14.000000000 +0200
+++ /mounts/work_src_done/STABLE/frozen-bubble/frozen-bubble.changes 2007-09-30 21:11:56.618570000 +0200
@@ -1,0 +2,10 @@
+Sun Sep 30 21:11:24 CEST 2007 - sndirsch@suse.de
+
+- added -server subpackage and a lot of patches by Dirk Stoecker
+
+-------------------------------------------------------------------
+Fri Sep 21 09:00:47 CEST 2007 - sndirsch@suse.de
+
+- make no use of %optipng macro on openSUSE 10.2 (Bug #326968)
+
+-------------------------------------------------------------------
New:
----
dot_green.png
dot_red.png
enablechatbuttons.diff
fb_config.diff
fb_CVS_2007-02-21.diff
fb_fixed_de_texts.diff
fb_keys_de.diff
fb_keys.diff
fb_net_discover.pm
fb_networking.diff
fb-server
fixchainreaction_graphicslevel0.diff
fixgeolocprivate.diff
fixoverlongchatmessage.diff
othergamedefaults.diff
otherlimits.diff
showdropdown.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ frozen-bubble.spec ++++++
--- /var/tmp/diff_new_pack.Zs7273/_old 2007-10-03 00:52:29.000000000 +0200
+++ /var/tmp/diff_new_pack.Zs7273/_new 2007-10-03 00:52:29.000000000 +0200
@@ -11,7 +11,8 @@
# norootforbuild
Name: frozen-bubble
-BuildRequires: Mesa-devel SDL_Pango-devel SDL_image-devel SDL_perl pango-devel update-desktop-files
+BuildRequires: Mesa-devel pango-devel
+%if 0%{?suse_version}
%if %suse_version > 1020
BuildRequires: optipng
%endif
@@ -20,21 +21,46 @@
%else
BuildRequires: SDL-devel SDL_mixer
%endif
-URL: http://www.frozen-bubble.org/
+BuildRequires: SDL_Pango-devel SDL_image-devel SDL_perl update-desktop-files
+%endif
+%if 0%{?fedora_version}
+Requires: perl-SDL >= 2.1.3
+BuildRequires: SDL_Pango-devel SDL_mixer-devel glib2-devel perl-SDL >= 2.1.3
+BuildRequires: gettext
+%endif
+Url: http://www.frozen-bubble.org/
License: GPL v2 or later
Group: Amusements/Games/Action/Arcade
Requires: perl = %{perl_version}
Requires: SDL_perl
Requires: CheckHardware
-Autoreqprov: on
+AutoReqProv: on
Version: 2.1.0
-Release: 74
+Release: 80
Summary: Puzzle with Bubbles
Source: %{name}-%{version}.tar.bz2
Source1: %name.desktop
Source2: %name.png
Source3: suse_frozen2.png
+Source4: fb_net_discover.pm
+Source5: fb-server
+Source6: dot_red.png
+Source7: dot_green.png
+Patch0: fb_CVS_2007-02-21.diff
+Patch1: fb_config.diff
+Patch2: fb_fixed_de_texts.diff
+Patch3: fb_keys.diff
+Patch4: fb_networking.diff
+Patch5: fb_keys_de.diff
+Patch6: otherlimits.diff
+Patch7: enablechatbuttons.diff
+Patch8: fixgeolocprivate.diff
+Patch9: fixoverlongchatmessage.diff
+Patch10: othergamedefaults.diff
+Patch11: showdropdown.diff
+Patch12: fixchainreaction_graphicslevel0.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Requires: %{name}-server = %{version}
%description
Shoot up bubbles. Similar to the console game Puzzle-Bobble.
@@ -45,8 +71,35 @@
--------
Guillaume Cottenceau
+%package server
+Summary: Puzzle with Bubbles - Server
+Group: Amusements/Games/Action/Arcade
+AutoReqProv: on
+
+%description server
+Server for frozen-bubble.
+
+
+
+Authors:
+--------
+ Guillaume Cottenceau
+
%prep
%setup
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3
+%patch4
+%patch5
+%patch6
+%patch7
+%patch8 -p1
+%patch9 -p1
+%patch10
+%patch11
+%patch12
%build
make OPTIMIZE="$RPM_OPT_FLAGS" PREFIX=/usr INSTALLDIRS=vendor DATADIR=/usr/share LIBDIR=%{_libdir}
@@ -54,16 +107,25 @@
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr DATADIR=/usr/share LIBDIR=%{_libdir}
+%if 0%{?suse_version}
%perl_process_packlist
+%endif
rm $RPM_BUILD_ROOT%{perl_vendorarch}/auto/fb_c_stuff/.packlist
rm $RPM_BUILD_ROOT/var/adm/perl-modules/frozen-bubble
+cp %{SOURCE4} $RPM_BUILD_ROOT%{perl_vendorarch}
+mkdir -p $RPM_BUILD_ROOT/etc/init.d
+cp %{SOURCE5} $RPM_BUILD_ROOT/etc/init.d
+cp %{SOURCE6} %{SOURCE7} $RPM_BUILD_ROOT/usr/share/frozen-bubble/gfx/
mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps/
install -m 644 $RPM_SOURCE_DIR/%name.png $RPM_BUILD_ROOT/usr/share/pixmaps
+%if 0%{?suse_version}
%suse_update_desktop_file -i %name Game ArcadeGame
+%endif
chmod 644 $RPM_BUILD_ROOT/usr/share/man/man6/frozen-bubble.6 \
$RPM_BUILD_ROOT/usr/share/man/man6/frozen-bubble-editor.6
+mkdir -p $RPM_BUILD_ROOT/usr/sbin/
+ln -s /etc/init.d/fb-server $RPM_BUILD_ROOT/usr/sbin/rcfb-server
%if %suse_version > 1020
-
%optipng $RPM_BUILD_ROOT
%endif
@@ -79,17 +141,29 @@
%{perl_vendorarch}/fb_net.pm
%{perl_vendorarch}/fb_stuff.pm
%{perl_vendorarch}/fbsyms.pm
+%{perl_vendorarch}/fb_net_discover.pm
/usr/bin/frozen-bubble
/usr/bin/frozen-bubble-editor
-%{_libdir}/frozen-bubble/fb-server
/usr/share/frozen-bubble/
%attr (644,root,root) %{_mandir}/man6/frozen-bubble.6.gz
%attr (644,root,root) %{_mandir}/man6/frozen-bubble-editor.6.gz
/usr/share/applications/%name.desktop
/usr/share/locale/*/LC_MESSAGES/*.mo
/usr/share/pixmaps/%name.png
+%exclude /usr/share/frozen-bubble/gfx/gen
+%files server
+%defattr(-, root, root)
+%doc AUTHORS COPYING README
+%defattr(755, root, root)
+%{_libdir}/frozen-bubble/fb-server
+/etc/init.d/fb-server
+/usr/sbin/rcfb-server
%changelog
+* Sun Sep 30 2007 - sndirsch@suse.de
+- added -server subpackage and a lot of patches by Dirk Stoecker
+* Fri Sep 21 2007 - sndirsch@suse.de
+- make no use of %%optipng macro on openSUSE 10.2 (Bug #326968)
* Mon Sep 10 2007 - sndirsch@suse.de
- make use of %%optipng macro (Bug #309087)
* Mon Dec 18 2006 - sndirsch@suse.de
++++++ enablechatbuttons.diff ++++++
--- /usr/bin/frozen-bubble 2007-03-08 10:27:46.000000000 +0100
+++ frozen-bubble 2007-04-30 21:58:35.000000000 +0200
@@ -3742,6 +3742,10 @@
$no_echo or play_sound('typewriter');
}
}
+ else
+ {
+ handle_whenever_events($params->{event}->key_sym);
+ }
}
}
if ($action eq 'gettext') {
++++++ fb_config.diff ++++++
diff -ubr frozen-bubble-2.1.0/frozen-bubble frozen-bubble-2.1.0d/frozen-bubble
--- frozen-bubble-2.1.0/frozen-bubble 2006-11-23 22:45:46.000000000 +0100
+++ frozen-bubble-2.1.0d/frozen-bubble 2007-01-17 08:58:28.000000000 +0100
@@ -44,7 +44,8 @@
%sticking_bubble $time %imgbin $TIME_HURRY_WARN $TIME_HURRY_MAX $TIMEOUT_PINGUIN_SLEEP $FREE_FALL_CONSTANT @joysticks $joysticksinfo
$direct @PLAYERS @ALL_PLAYERS %levels $display_on_app_disabled $total_time $time_1pgame $time_netgame $fullscreen $rcfile %hiscorefiles
$HISCORES $HISCORES_MPTRAIN $HISCORES_MPTRAIN_CHAINREACTION
- $lev_number $playermalus $mptrainingdiff $loaded_levelset $direct_levelset $chainreaction %chains %img_mini $frame $sock $gameserver $mynick);
+ $lev_number $playermalus $mptrainingdiff $loaded_levelset $direct_levelset $chainreaction %chains %img_mini $frame $sock $gameserver $mynick
+ $mylatitude $mylongitude);
use Getopt::Long;
use Data::Dumper;
@@ -1371,7 +1373,7 @@
$mixer->playing_music and $mixer->halt_music;
$app->delay(10) while $mixer->playing_music; #- mikmod will segfault if we try to load a music while old one is still fading out
}
- $mixer_enabled = undef;
+ $mixer_enabled = 0;
}
}
if ($mixer_enabled && $mixer && $keypressed eq $KEYS->{misc}{toggle_music}) {
@@ -1412,7 +1414,7 @@
$event->pump;
while ($event->poll != 0) {
if ($event->type == SDL_QUIT) {
- exit 0;
+ cleanup_and_exit();
}
my $keypressed = extended_keypress($event);
handle_whenever_events($keypressed);
@@ -1426,7 +1428,7 @@
while (1) {
while ($event->poll != 0) {
if ($event->type == SDL_QUIT) {
- exit 0;
+ cleanup_and_exit();
}
my $keypressed = extended_keypress($event);
if ($keypressed) {
@@ -1499,7 +1501,7 @@
$event->pump;
while ($event->poll != 0) {
if ($event->type == SDL_QUIT) {
- exit 0;
+ cleanup_and_exit();
}
my $keypressed = extended_keypress($event);
if ($keypressed) {
@@ -1589,7 +1591,7 @@
}
}
if ($event->type == SDL_QUIT) {
- exit 0;
+ cleanup_and_exit();
}
}
@@ -1840,7 +1842,7 @@
$event->pump;
while ($event->poll != 0) {
if ($event->type == SDL_QUIT) {
- exit 0;
+ cleanup_and_exit();
}
if ($event->type == SDL_KEYDOWN && $event->key_sym == SDLK_ESCAPE) {
die 'new_game';
@@ -2418,7 +2420,7 @@
while ($event->poll != 0) {
if ($event->type == SDL_QUIT
|| $event->type == SDL_KEYDOWN && $event->key_sym == SDLK_ESCAPE) {
- exit 0;
+ cleanup_and_exit();
}
}
put_image($imgbin{loading_step}, 100 + $init_step*12, 10);
@@ -2713,8 +2715,8 @@
print_step('] ');
if ($mixer eq 'SOUND_DISABLED') {
- $mixer_enabled = $mixer = undef;
- } else {
+ $mixer_enabled = 0; $mixer = undef;
+ } elsif (!defined($mixer_enabled) || $mixer_enabled) {
$mixer_enabled = init_sound();
}
@@ -3806,7 +3806,6 @@
return 1;
}
-our ($mylatitude, $mylongitude);
sub smg_choose_game() {
my @actions = ({ name => t("Chat"), action => 'CHAT', selected => 1 },
{ name => t("Create new game"), action => 'CREATE' });
@@ -4104,7 +4103,7 @@
$event->pump;
while ($event->poll != 0) {
if ($event->type == SDL_QUIT) {
- exit 0;
+ cleanup_and_exit();
}
my $k;
if ($event->type == SDL_KEYDOWN) {
@@ -4813,6 +4815,10 @@
$to_wait > 0 and fb_c_stuff::fbdelay($to_wait);
}
+sub cleanup_and_exit {
+ save_config();
+ exit 0;
+}
#- ----------- menu stuff -------------------------------------------------
@@ -4842,7 +4848,11 @@
nextkey:
}
}
- my $dump = Data::Dumper->Dump([$fullscreen, $graphics_level, $mynick, $KEYS_], [qw(fullscreen graphics_level mynick KEYS)]);
+ my $dump = Data::Dumper->Dump([$fullscreen, $graphics_level,
+ $mynick, $music_disabled, $mixer_enabled, $mylatitude, $mylongitude,
+ $KEYS_],
+ [qw(fullscreen graphics_level mynick music_disabled mixer_enabled
+ mylatitude mylongitude KEYS)]);
$dump =~ s/'SDLK_(\w+)'/SDLK_$1/g;
output($rcfile, $dump);
}
@@ -5118,13 +5128,13 @@
handle_whenever_events($keypressed);
if ($keypressed eq SDLK_ESCAPE) {
- exit 0;
+ cleanup_and_exit();
}
$synchro_ticks = $app->ticks; #- avoid stopping candy
$time_counter = 0; #- reset counter for demos
}
if ($event->type == SDL_QUIT) {
- exit 0;
+ cleanup_and_exit();
}
}
@@ -5275,7 +5285,7 @@
$event->pump;
while ($event->poll != 0) {
if ($event->type == SDL_QUIT) {
- exit 0;
+ cleanup_and_exit();
}
if (extended_keypress($event)) {
last blacken;
++++++ fb_CVS_2007-02-21.diff ++++++
++++ 2842 lines (skipped)
++++++ fb_fixed_de_texts.diff ++++++
diff -ubr frozen-bubble-2.1.0/po/de.po frozen-bubble-2.1.0d/po/de.po
--- frozen-bubble-2.1.0/po/de.po 2006-11-12 13:33:48.000000000 +0100
+++ frozen-bubble-2.1.0d/po/de.po 2007-01-16 21:18:06.000000000 +0100
@@ -202,7 +202,7 @@
#: ../frozen-bubble:3324
msgid "*** No server found, created server for local network game"
-msgstr "*** Es konnte kein Server gefunden werden, Server für lokales Netzwerk Spiel "
+msgstr "*** Es konnte kein Server gefunden werden, Server für lokales Netzwerkspiel "
"wurde erstellt"
#: ../frozen-bubble:3340
@@ -219,12 +219,12 @@
#: ../frozen-bubble:3354
msgid "*** Verify your network setup or retry later"
-msgstr "*** Netzwerk Konfiguration überprüfen oder später nochmal probieren"
+msgstr "*** Netzwerkkonfiguration überprüfen oder später nochmal probieren"
#: ../frozen-bubble:3393
#, perl-format
msgid "Available players: %s (playing: %s) Ping: %sms"
-msgstr "Bereite Spieler: %s (davon spielen: %s) Ping: %sms"
+msgstr "Bereite Spieler: %s (spielend: %s) Ping: %sms"
#: ../frozen-bubble:3441
msgid "*** No available game server"
@@ -232,7 +232,7 @@
#: ../frozen-bubble:3442
msgid "*** Please retry later or try a local network game (lan game)"
-msgstr "*** Bitte später nochmal probieren oder ein lokales Netzwerk Spiel starten"
+msgstr "*** Bitte später nochmal probieren oder ein lokales Netzwerkspiel starten"
#: ../frozen-bubble:3448
msgid "*** Please choose a server"
@@ -330,7 +330,7 @@
msgid ""
"*** hostip.info doesn't know the geographical location of your IP address"
msgstr ""
-"*** hostip.info konnten keine geographischen Position zu deiner IP Adresse "
+"*** hostip.info konnte keine geographische Position zu deiner IP Adresse "
"ermitteln"
#: ../frozen-bubble:3874
@@ -338,12 +338,12 @@
"*** If you want that your location appears on the map, fix your entry at "
"http://hostip.info/"
msgstr ""
-"*** Wenn die geographischen Position auf der Karte angezeigt werden soll, "
+"*** Soll Ihre Position auf der Karte erscheinen, "
"muss der Eintrag auf http://hostip.info/ berichtigt werden"
#: ../frozen-bubble:3881
msgid "*** hostip.info didn't reply within 5 seconds, giving up"
-msgstr "*** hostip.info hat nicht innerhalb von 5 Sekundne geantwortet, Abbruch"
+msgstr "*** hostip.info hat nicht innerhalb von 5 Sekunden geantwortet, Abbruch"
#: ../frozen-bubble:3895 ../frozen-bubble:4125 ../frozen-bubble:4137
#: ../frozen-bubble:4171 ../frozen-bubble:4249 ../frozen-bubble:4369
@@ -468,7 +468,7 @@
msgid ""
"*** Can't set a victories limit, as a player is using a too old version of "
"Frozen-Bubble"
-msgstr "Gewinnpunkte Limit kann nicht gestetzt werden, weil einer der Spieler eine zu alte Frozen-Bubble Version benutzt"
+msgstr "Gewinnpunkte Limit kann nicht gesetzt werden, weil einer der Spieler eine zu alte Frozen-Bubble Version benutzt"
#: ../frozen-bubble:4152 ../frozen-bubble:4365 ../frozen-bubble:4370
#, perl-format
@@ -507,7 +507,7 @@
#, perl-format
msgid ""
"*** Victories limit reset, %s is using a too old version of Frozen-Bubble"
-msgstr "*** Gewinnpunkte Limit zurückgesetzt, ,%s benutzt eine zu alte Version von Frozen-Bubble"
+msgstr "*** Gewinnpunkte Limit zurückgesetzt, %s benutzt eine zu alte Version von Frozen-Bubble"
#: ../frozen-bubble:4260
msgid "*** Game creator left the game..."
++++++ fb_keys_de.diff ++++++
--- po/de.po_ 2007-01-17 09:59:04.000000000 +0100
+++ po/de.po 2007-01-17 10:13:59.000000000 +0100
@@ -603,45 +603,55 @@
msgid "Please enter new keys:"
msgstr "Bitte neue Tasten eingeben:"
-#: ../frozen-bubble:4654
-msgid "Player 1; turn left?"
-msgstr "Spieler 1; nach links?"
-
-#: ../frozen-bubble:4655
-msgid "Player 1; turn right?"
-msgstr "Spieler 1; nach rechts?"
-
-#: ../frozen-bubble:4656
-msgid "Player 1; fire?"
-msgstr "Spieler 1; schiessen?"
-
-#: ../frozen-bubble:4657
-msgid "Player 1; center?"
-msgstr "Spieler 1; zentrieren?"
-
-#: ../frozen-bubble:4659
-msgid "Player 2; turn left?"
-msgstr "Spieler 2; nach links?"
-
-#: ../frozen-bubble:4660
-msgid "Player 2; turn right?"
-msgstr "Spieler 2; nach rechts?"
-
-#: ../frozen-bubble:4661
-msgid "Player 2; fire?"
-msgstr "Spieler 2; schiessen?"
-
-#: ../frozen-bubble:4662
-msgid "Player 2; center?"
-msgstr "Spieler 2; zentrieren?"
-
-#: ../frozen-bubble:4664
-msgid "Toggle fullscreen?"
-msgstr "Auf Vollbild umschalten?"
-
-#: ../frozen-bubble:4665
-msgid "Chat (net/lan game)?"
-msgstr "Chat (Internet/Netzwerk Spiel)?"
+#: ../frozen-bubble:4893
+#, perl-format
+msgid "Player 1; turn left (%s)?"
+msgstr "Spieler 1; nach links (%s)?"
+
+#: ../frozen-bubble:4894
+#, perl-format
+msgid "Player 1; turn right (%s)?"
+msgstr "Spieler 1; nach rechts (%s)?"
+
+#: ../frozen-bubble:4895
+#, perl-format
+msgid "Player 1; fire (%s)?"
+msgstr "Spieler 1; schiessen (%s)?"
+
+#: ../frozen-bubble:4896
+#, perl-format
+msgid "Player 1; center (%s)?"
+msgstr "Spieler 1; zentrieren (%s)?"
+
+#: ../frozen-bubble:4898
+#, perl-format
+msgid "Player 2; turn left (%s)?"
+msgstr "Spieler 2; nach links (%s)?"
+
+#: ../frozen-bubble:4899
+#, perl-format
+msgid "Player 2; turn right (%s)?"
+msgstr "Spieler 2; nach rechts (%s)?"
+
+#: ../frozen-bubble:4900
+#, perl-format
+msgid "Player 2; fire (%s)?"
+msgstr "Spieler 2; schiessen (%s)?"
+
+#: ../frozen-bubble:4901
+#, perl-format
+msgid "Player 2; center (%s)?"
+msgstr "Spieler 2; zentrieren (%s)?"
+
+#: ../frozen-bubble:4903
+#, perl-format
+msgid "Toggle fullscreen (%s)?"
+msgstr "Vollbild (%s)?"
+
+#: ../frozen-bubble:4904
+#, perl-format
+msgid "Chat in net game (%s)?"
+msgstr "Chat im Netzspiel (%s)?"
#: ../frozen-bubble:4667
msgid "Thanks!"
++++++ fb_keys.diff ++++++
--- frozen-bubble.orig 2007-01-17 09:40:10.000000000 +0100
+++ frozen-bubble 2007-01-17 09:40:19.000000000 +0100
@@ -4879,18 +4879,18 @@
my $change_keys = sub {
ask_from({ intro => [ t("Please enter new keys:") ],
entries => [
- { 'q' => t("Player 1; turn left?"), 'a' => \$KEYS->{p1}{left}, f => 'ONE_CHAR' },
- { 'q' => t("Player 1; turn right?"), 'a' => \$KEYS->{p1}{right}, f => 'ONE_CHAR' },
- { 'q' => t("Player 1; fire?"), 'a' => \$KEYS->{p1}{fire}, f => 'ONE_CHAR' },
- { 'q' => t("Player 1; center?"), 'a' => \$KEYS->{p1}{center}, f => 'ONE_CHAR' },
+ { 'q' => t("Player 1; turn left (%s)?",keysym_to_char($KEYS->{p1}{left})), 'a' => \$KEYS->{p1}{left}, f => 'ONE_CHAR' },
+ { 'q' => t("Player 1; turn right (%s)?",keysym_to_char($KEYS->{p1}{right})), 'a' => \$KEYS->{p1}{right}, f => 'ONE_CHAR' },
+ { 'q' => t("Player 1; fire (%s)?",keysym_to_char($KEYS->{p1}{fire})), 'a' => \$KEYS->{p1}{fire}, f => 'ONE_CHAR' },
+ { 'q' => t("Player 1; center (%s)?",keysym_to_char($KEYS->{p1}{center})), 'a' => \$KEYS->{p1}{center}, f => 'ONE_CHAR' },
{ f => 'SPACE' },
- { 'q' => t("Player 2; turn left?"), 'a' => \$KEYS->{p2}{left}, f => 'ONE_CHAR' },
- { 'q' => t("Player 2; turn right?"), 'a' => \$KEYS->{p2}{right}, f => 'ONE_CHAR' },
- { 'q' => t("Player 2; fire?"), 'a' => \$KEYS->{p2}{fire}, f => 'ONE_CHAR' },
- { 'q' => t("Player 2; center?"), 'a' => \$KEYS->{p2}{center}, f => 'ONE_CHAR' },
+ { 'q' => t("Player 2; turn left (%s)?",keysym_to_char($KEYS->{p2}{left})), 'a' => \$KEYS->{p2}{left}, f => 'ONE_CHAR' },
+ { 'q' => t("Player 2; turn right (%s)?",keysym_to_char($KEYS->{p2}{right})), 'a' => \$KEYS->{p2}{right}, f => 'ONE_CHAR' },
+ { 'q' => t("Player 2; fire (%s)?",keysym_to_char($KEYS->{p1}{fire})), 'a' => \$KEYS->{p2}{fire}, f => 'ONE_CHAR' },
+ { 'q' => t("Player 2; center (%s)?",keysym_to_char($KEYS->{p1}{center})), 'a' => \$KEYS->{p2}{center}, f => 'ONE_CHAR' },
{ f => 'SPACE' },
- { 'q' => t("Toggle fullscreen?"), 'a' => \$KEYS->{misc}{fs}, f => 'ONE_CHAR' },
- { 'q' => t("Chat (net/lan game)?"), 'a' => \$KEYS->{misc}{chat}, f => 'ONE_CHAR' },
+ { 'q' => t("Toggle fullscreen (%s)?",keysym_to_char($KEYS->{misc}{fs})), 'a' => \$KEYS->{misc}{fs}, f => 'ONE_CHAR' },
+ { 'q' => t("Chat in net game (%s)?",keysym_to_char($KEYS->{misc}{chat})), 'a' => \$KEYS->{misc}{chat}, f => 'ONE_CHAR' },
],
outro => t("Thanks!"),
erase_background => $back_start
++++++ fb_networking.diff ++++++
--- frozen-bubble 2007-01-17 09:42:16.000000000 +0100
+++ u/frozen-bubble 2007-01-17 09:41:58.000000000 +0100
@@ -62,6 +62,7 @@
use fb_stuff;
use fb_net;
+use fb_net_discover;
use fbsyms;
use FBLE;
@@ -3503,6 +3504,7 @@
}
my @sorted_servers;
+ my $offset = 0;
my $redraw = sub {
my $drect = SDL::Rect->new(-width => 640, -height => $smg_statusy-$smg_lineheight*5, -x => 0, '-y' => 0);
$imgbin{back_netgame}->blit($drect, $app, $drect);
@@ -3514,13 +3516,19 @@
$parts{$_}{xpos} = 640 - $parts{$_}{xpos} - $parts{$_}{width} foreach keys %parts;
}
my $y = $smg_starty;
- foreach my $server (@sorted_servers) {
+ my @show_servers = @sorted_servers;
+ my $ofs = @show_servers-$max_lines;
+ $ofs = 0 if $ofs < 0;
+ $offset = $ofs if $offset > $ofs;
+ splice(@show_servers, 0, $offset) if $offset;
+ splice(@show_servers, 18) if $ofs-$offset;
+ foreach my $server (@show_servers) {
if ($server->{selected}) {
put_image($imgbin{highlight_server}, 6, $y-1);
}
exists $imgbin{flag}{$server->{language}} and put_image($imgbin{flag}{$server->{language}}, $parts{flag}{xpos}, $y);
print_('netdialogs', $app, $parts{name}{xpos}, $y, $server->{name}, $parts{name}{width}, $is_rtl ? 'right' : 'left'); #- ASCII
- my $details = t("Available players: %s (playing: %s) Ping: %sms", i18n_number($server->{players}), i18n_number($server->{playing}), i18n_number($server->{ping}));
+ my $details = t("Available players: %s (playing: %s) Ping: %sms", i18n_number($server->{free}), i18n_number($server->{playing}), i18n_number($server->{ping}));
print_('netdialogs', $app, $parts{details}{xpos}, $y, $details, $parts{details}{width});
my $pingimg = $server->{ping} < 80 ? "ping_low" : $server->{ping} < 200 ? "ping_mid" : "ping_high";
put_image($imgbin{$pingimg}, $is_rtl ? $parts{details}{xpos} + $parts{details}{width} - width('netdialogs', $details) - 17
@@ -3531,59 +3539,40 @@
$app->flip();
};
- my @scanned_servers;
+ my @potential_servers;
foreach my $server (@servers) {
- if (!$server->{disabled}) {
- my $ret = fb_net::connect($server->{host}, $server->{port});
- if (!$ret->{ping}) {
- $server->{disabled} = $ret->{failure};
- } else {
- ($server->{players}, undef, undef, $server->{playing}) = fb_net::list();
- }
- put_in_hash($server, $ret);
- fb_net::disconnect();
- push @scanned_servers, $server;
- my ($down, $available) = partition { $_->{disabled} } @scanned_servers;
- my $weightfunc = sub { my $base = $_[0]->{players} - $_[0]->{ping}/50; $_[0]->{playing} < 100 ? $base + $_[0]->{playing}/3 : $base - $_[0]->{playing}/3; };
- @sorted_servers = sort { $weightfunc->($b) <=> $weightfunc->($a) } @$available;
- if (@sorted_servers > $max_lines) {
- $#sorted_servers = $max_lines - 1;
- last;
- } else {
- $redraw->();
- }
+ if(!$$server{disabled}) {
+ push(@potential_servers, $server);
}
- $event->pump;
- while ($event->poll != 0) {
- if ($event->type == SDL_QUIT) {
- exit 0;
- }
- if ($event->type == SDL_KEYDOWN && $event->key_sym == SDLK_ESCAPE) {
- return 0;
- }
- }
- }
- foreach (difference2(\@servers, \@sorted_servers)) {
- $_->{disabled} = 1; #- disable slow servers if there are a lot of them
- }
-
- if (@servers == 0 || every { $_->{disabled} } @servers) {
- smg_add_status_msg(t("*** No available game server"),
- t("*** Please retry later or try a local network game (lan game)"));
- grab_key();
- return 0;
}
+ my $discover = fb_net_discover->new(@potential_servers);
+ my $looped = 0;
+ my $init = 0;
+ while(1) {
+ if($discover->pending())
+ {
+ $discover->work(0.1); # do networking stuff for 100ms
+ ++$looped;
+ my @found_servers = $discover->found();
+ my $weightfunc = sub { my $base = $_[0]->{free} - $_[0]->{ping}/50; $_[0]->{playing} < 100 ? $base + $_[0]->{playing}/3 : $base - $_[0]->{playing}/3; };
+ @sorted_servers = sort { $weightfunc->($b) <=> $weightfunc->($a) } @found_servers;
+ $redraw->();
+ # wait a bit or user onfusion will be large (jumping cursor)
+ if($looped >= 15 && @servers && !$init)
+ {
+ $init = 1;
$sorted_servers[0]->{selected} = 1;
-
smg_add_status_msg(t("*** Please choose a server"));
$redraw->();
-
- while (1) {
+ }
+ }
$event->pump;
while ($event->poll != 0) {
if ($event->type == SDL_QUIT) {
- exit 0;
+ cleanup_and_exit();
}
+ elsif($init)
+ {
my $k = extended_keypress($event);
if ($k) {
if ($k eq SDLK_ESCAPE()) {
@@ -3597,6 +3586,7 @@
&& !$sorted_servers[$::i+1]->{disabled}) {
$sorted_servers[$::i]->{selected} = 0;
$sorted_servers[$::i+1]->{selected} = 1;
+ ++$offset if $::i+1 >= $offset+$max_lines;
play_sound('menu_change');
goto done;
}
@@ -3610,6 +3600,7 @@
if ($sorted_servers[$::i]->{selected}) {
$sorted_servers[$::i]->{selected} = 0;
$sorted_servers[$::i-1]->{selected} = 1;
+ $offset = $::i-1 if $::i-1 < $offset;
play_sound('menu_change');
}
} @sorted_servers;
@@ -3625,7 +3616,15 @@
}
$redraw->();
}
- fb_c_stuff::fbdelay($TARGET_ANIM_SPEED);
+ }
+ fb_c_stuff::fbdelay($TARGET_ANIM_SPEED) if $init;
+ }
+
+ if (@servers == 0 || every { $_->{disabled} } @servers) {
+ smg_add_status_msg(t("*** No available game server"),
+ t("*** Please retry later or try a local network game (lan game)"));
+ grab_key();
+ return 0;
}
ok_smg_choose_server:
@@ -3634,6 +3633,7 @@
fb_net::connect($server);
if (!fb_net::isconnected()) {
smg_add_status_msg(t("*** Impossible to connect to specified server, going back to server list"));
+ $server->{selected} = 0;
return smg_choose_server(@servers);
}
smg_add_status_msg(t("*** Connected to server '%s'", $server->{name}));
@@ -4605,6 +4605,7 @@
$smg_status_message_offsetpage = 1;
if ($gameserver) {
my ($host, $port) = $gameserver =~ /(\S+):(\S+)/;
+ if(!$host) { $host = $gameserver; $port = 1511; }
fb_net::connect($host, $port);
if (!fb_net::isconnected()) {
smg_add_status_msg(t("*** Cannot connect to specified gameserver, fallbacking to contacting master server"));
++++++ fixchainreaction_graphicslevel0.diff ++++++
--- frozen-bubble 2007-09-22 17:03:53.000000000 +0200
+++ /usr/bin/frozen-bubble 2007-09-11 19:25:44.000000000 +0200
@@ -786,7 +786,7 @@
}
#- prepare falling bubbles
- if ($graphics_level > 1) {
+ if ($graphics_level > 1 || $chainreaction) {
my $max_cy_falling = fold_left { $::b->{cy} > $::a ? $::b->{cy} : $::a } 0, @falling; #- I have a fold_left in my prog! :-)
my ($shift_on_same_line, $line) = (0, $max_cy_falling);
foreach (sort { $b->{cy}*8 + $b->{cx} <=> $a->{cy}*8 + $a->{cx} } @falling) { #- sort bottom-to-up / right-to-left
++++++ fixgeolocprivate.diff ++++++
diff -ur frozen-bubble-2.1.0/frozen-bubble frozen-bubble-2.1.0d/frozen-bubble
--- frozen-bubble-2.1.0/frozen-bubble 2007-08-01 11:19:07.000000000 +0200
+++ frozen-bubble-2.1.0d/frozen-bubble 2007-08-01 11:16:58.000000000 +0200
@@ -3859,7 +3859,7 @@
print_spot($_->[0], $_->[1], 'free') foreach @free_geolocs;
print_spot($_->[0], $_->[1], 'playing') foreach @playing_geolocs;
$back_selfspot = undef;
- if ($mylatitude && $index_selfspot >= 0) {
+ if ($mylatitude && !$private && $index_selfspot >= 0) {
print_spot($mylatitude, $mylongitude, 'free', $imgbin{netspot_self}[$index_selfspot], \$back_selfspot);
}
@@ -3891,7 +3891,7 @@
smg_printstatus();
};
my $print_selfspot = sub {
- if ($mylatitude) {
+ if ($mylatitude && !$private) {
$index_selfspot >= 0 and print_spot($mylatitude, $mylongitude, 'free', $imgbin{netspot_self}[$index_selfspot], \$back_selfspot);
$index_selfspot++;
if ($index_selfspot == @{$imgbin{netspot_self}}) {
@@ -4001,8 +4001,8 @@
fb_net::send_and_receive('NICK', $mynick);
- if ($pdata{gametype} eq 'net') {
- if (!defined($mylatitude) && !$private) {
+ if ($pdata{gametype} eq 'net' && !$private) {
+ if (!defined($mylatitude)) {
$erase->();
smg_add_status_msg(t("*** Please wait, retrieving your geographical location from http://hostip.info/..."));
eval {
++++++ fixoverlongchatmessage.diff ++++++
diff -u frozen-bubble-2.1.0_orig/frozen-bubble frozen-bubble-2.1.0/frozen-bubble
--- frozen-bubble-2.1.0_orig/frozen-bubble 2007-08-01 11:22:19.000000000 +0200
+++ frozen-bubble-2.1.0/frozen-bubble 2007-08-01 12:37:45.000000000 +0200
@@ -3061,6 +3061,11 @@
$TIME_HURRY_WARN = 250;
$TIME_HURRY_MAX = 375;
+ foreach(@ALL_PLAYERS)
+ {
+ $pdata{current_chat_messages}{$_} = undef;
+ }
+
my $backgr;
if (is_mp_game()) {
$pdata{p1}{chatting} and cleanup_chatting();
++++++ othergamedefaults.diff ++++++
--- /usr/bin/frozen-bubble 2007-08-01 12:47:21.000000000 +0200
+++ frozen-bubble 2007-08-12 18:53:07.000000000 +0200
@@ -4041,7 +4041,7 @@
my $relist;
my $can_start = 0;
my $joined_leader;
- my $chain_reaction_state = t("disabled");
+ my $chain_reaction_state = t("enabled");
my @victories_limits = ({ value => undef,
text => t("none (unlimited)") },
{ value => 1,
@@ -4070,7 +4070,7 @@
text => i18n_number(50) },
{ value => 100,
text => i18n_number(100) });
- my $victories_limit_index = 0;
+ my $victories_limit_index = 3;
my @history;
my $history_position;
$list->('first time');
++++++ otherlimits.diff ++++++
--- frozen-bubble 2007-09-12 08:07:57.000000000 +0200
+++ frozen-bubble.orig 2007-09-12 08:10:02.000000000 +0200
@@ -4077,10 +4077,24 @@
my $chain_reaction_state = t("enabled");
my @victories_limits = ({ value => undef,
text => t("none (unlimited)") },
+ { value => 1,
+ text => i18n_number(1) },
+ { value => 2,
+ text => i18n_number(2) },
{ value => 3,
text => i18n_number(3) },
+ { value => 4,
+ text => i18n_number(4) },
+ { value => 5,
+ text => i18n_number(5) },
{ value => 6,
text => i18n_number(6) },
+ { value => 7,
+ text => i18n_number(7) },
+ { value => 8,
+ text => i18n_number(8) },
+ { value => 9,
+ text => i18n_number(9) },
{ value => 10,
text => i18n_number(10) },
{ value => 20,
@@ -4110,9 +4124,16 @@
if ($action eq 'inc') {
$victories_limit_index++;
$victories_limit_index == @victories_limits and $victories_limit_index = 0;
- } else {
+ } elsif ($action eq 'dec') {
$victories_limit_index--;
$victories_limit_index == -1 and $victories_limit_index = @victories_limits - 1;
+ } else {
+ for (my $i = 0; $i <= $#victories_limits; ++$i) {
+ if((!$action && !$victories_limits[$i]{value}) ||
+ ($action && $victories_limits[$i]{value} && $victories_limits[$i]{value} eq $action)) {
+ $victories_limit_index = $i;
+ }
+ }
}
$actions[2]{name} = t("Victories limit: %s", $victories_limits[$victories_limit_index]{text});
$redraw->();
@@ -4446,6 +4467,11 @@
} });
} else {
+ if ($curaction->()->{action} eq 'SWITCH_VICTORIES_LIMIT') {
+ my $utf8char = fb_c_stuff::utf8key(evt($event));
+ $change_victories_limit->($utf8char) if defined $utf8char && $utf8char eq int($utf8char);
+ }
+
handle_whenever_events($k);
}
}
++++++ showdropdown.diff ++++++
--- ./frozen-bubble 2007-09-11 19:22:28.000000000 +0200
+++ frozen-bubble 2007-09-11 19:20:20.000000000 +0200
@@ -903,6 +903,37 @@
print_('ingame', $background, $mp_train_xpos, $mp_train_ypos, t("%s'%s\"", i18n_number($m), i18n_number($s)), $imgbin{void_mp_training}->width, 'center');
}
+sub handle_progress($) {
+ if(defined($pdata{$::p}{newrootlast}))
+ {
+ if($pdata{$::p}{newroot} != $pdata{$::p}{newrootlast})
+ {
+ my $height = $imgbin{progress_red}->height+1;
+ my $xpos = $POS{$::p}{progress}{x};
+ my $ypos = $POS{$::p}{progress}{y};
+ put_image_to_background($imgbin{progress_green}, $xpos, $ypos + $pdata{$::p}{newrootlast}*$height);
+ put_image_to_background($imgbin{progress_red}, $xpos, $ypos + $pdata{$::p}{newroot}*$height);
+ $pdata{$::p}{newrootlast} = $pdata{$::p}{newroot};
+ }
+ }
+ else
+ {
+ my $height = $imgbin{progress_red}->height+1;
+ my $xpos = $POS{$::p}{progress}{x};
+ my $ypos = $POS{$::p}{progress}{y};
+ $pdata{$::p}{newrootlast} = 0;
+ my $drect = SDL::Rect->new(-width => $imgbin{progress_red}->width,
+ -height => $height*(1+$TIME_APPEARS_NEW_ROOT), -x => $xpos, '-y' => $ypos);
+ push @update_rects, $drect;
+
+ for(my $i = 0; $i <= $TIME_APPEARS_NEW_ROOT; ++$i)
+ {
+ put_image_to_background($imgbin{$i ? "progress_green" : "progress_red"},
+ $xpos, $ypos + $i*$height);
+ }
+ }
+}
+
sub handle_graphics($) {
my ($fun) = @_;
@@ -966,6 +997,8 @@
}
}
+ handle_progress($::p);
+
#- chat message in mp
if (is_mp_game() && $pdata{$::p}{chat_msg_delay}) {
$pdata{$::p}{chat_msg_delay}--;
@@ -2578,6 +2611,8 @@
$imgbin{back_paused} = add_image('back_paused.png');
push @{$imgbin{paused}}, add_image("pause_00$_.png") foreach '01'..'35';
$imgbin{lose} = add_image('lose_panel.png');
+ $imgbin{progress_red} = add_image('dot_red.png');
+ $imgbin{progress_green} = add_image('dot_green.png');
$imgbin{win_panel_1player} = add_image('win_panel_1player.png');
$imgbin{win_panel_p1_net} = add_image('win_panel_p1_net.png');
$imgbin{compressor_main} = add_image('compressor_main.png');
@@ -3130,6 +3165,11 @@
mp_train_print_time();
}
+ iter_players {
+ delete $pdata{$::p}{newrootlast};
+ handle_progress($::p);
+ };
+
is_1p_game() and print_compressor();
if (!$playdata) {
--- c_stuff/lib/fb_stuff.pm 2007-09-11 17:20:44.000000000 +0200
+++ fb_stuff.pm 2007-09-11 17:50:23.000000000 +0200
@@ -45,7 +45,9 @@
next_bubble => { x => 112, 'y' => 440 },
on_top_next_relpos => { x => -3, 'y' => -3 },
hurry => { x => 10, 'y' => 265 },
- scores => { x => 74, 'y' => 103 } },
+ scores => { x => 74, 'y' => 103 },
+ progress => { x => 447, 'y' => 28},
+ },
centerpanel => { x => 149, 'y' => 190 },
pause_clip => { x => 263, 'y' => 212 },
compressor_xpos => 318,
@@ -62,6 +65,7 @@
scores => { x => 160, 'y' => 11 },
chatting => { x => 70, 'y' => 465 },
left => { x => 30, 'y' => 40 },
+ progress => { x => 287, 'y' => 28 },
},
p1 => { left_limit => 354, right_limit => 610, top_limit => 40, 'initial_bubble_y' => 390,
canon => { x => 432, 'y' => 356 },
@@ -73,6 +78,7 @@
malus => { x => 331, 'y' => 402 },
scores => { x => 480, 'y' => 11 },
chatting => { x => 390, 'y' => 442 },
+ progress => { x => 345, 'y' => 28 },
},
centerpanel => { x => 153, 'y' => 190 },
);
@@ -89,6 +96,7 @@
scores => { x => 320, 'y' => 12 },
chatting => { x => 215, 'y' => 442 },
attackme => { x => 185, 'y' => 448 },
+ progress => { x => 447, 'y' => 28 },
},
rp1 => { left_limit => 20, right_limit => 148, top_limit => 19, 'initial_bubble_y' => 192,
canon => { x => 59, 'y' => 175 },
@@ -102,6 +111,7 @@
chatting => { x => 5, 'y' => 230 },
left => { x => 19, 'y' => 17 },
attack => { x => 25, 'y' => 213 },
+ progress => { x => 149, 'y' => 28 },
},
rp2 => { left_limit => 492, right_limit => 620, top_limit => 19, 'initial_bubble_y' => 192,
canon => { x => 531, 'y' => 175 },
@@ -115,6 +126,7 @@
chatting => { x => 460, 'y' => 230 },
left => { x => 491, 'y' => 17 },
attack => { x => 496, 'y' => 214 },
+ progress => { x => 483, 'y' => 28 },
},
rp3 => { left_limit => 20, right_limit => 148, top_limit => 247, 'initial_bubble_y' => 420,
canon => { x => 59, 'y' => 404 },
@@ -128,6 +141,7 @@
chatting => { x => 5, 'y' => 460 },
left => { x => 19, 'y' => 245 },
attack => { x => 24, 'y' => 442 },
+ progress => { x => 149, 'y' => 258 },
},
rp4 => { left_limit => 492, right_limit => 620, top_limit => 247, 'initial_bubble_y' => 420,
canon => { x => 531, 'y' => 404 },
@@ -141,6 +156,7 @@
chatting => { x => 460, 'y' => 460 },
left => { x => 491, 'y' => 245 },
attack => { x => 496, 'y' => 442 },
+ progress => { x => 483, 'y' => 258 },
},
centerpanel => { x => 149, 'y' => 190 },
);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org