Yes, I've seen the same behaviour.

Attached is the short patch I used to fix it - it adds another variable
to store the -cr command-line option, and resets $chainreaction to it
when starting a new game.

-- 
Tim Retout <[EMAIL PROTECTED]>
diff -ru frozen-bubble-1.0.0/frozen-bubble frozen-bubble-1.0.0.new/frozen-bubble
--- frozen-bubble-1.0.0/frozen-bubble	2006-06-20 05:20:07.000000000 +0100
+++ frozen-bubble-1.0.0.new/frozen-bubble	2006-06-20 05:27:31.290491278 +0100
@@ -45,7 +45,7 @@
             %sticking_bubble $version $time %imgbin $TIME_HURRY_WARN $TIME_HURRY_MAX $TIMEOUT_PINGUIN_SLEEP $FREE_FALL_CONSTANT
             $direct @PLAYERS %levels $display_on_app_disabled $total_time $time_1pgame $fullscreen $rcfile $hiscorefile $HISCORES
             $total_launched_bubbles
-            $lev_number $playermalus $loaded_levelset $direct_levelset $chainreaction %chains %history);
+            $lev_number $playermalus $loaded_levelset $direct_levelset $chainreaction $chainreaction_default %chains %history);
 
 use Data::Dumper;
 
@@ -81,6 +81,7 @@
 @PLAYERS = qw(p1 p2);
 $playermalus = 0;
 $chainreaction = 0;
+$chainreaction_default = 0;
 
 $rcfile = "$ENV{HOME}/.fbrc";
 eval(cat_($rcfile));
@@ -137,7 +138,7 @@
 /-srand/ and srand 0;
 /-di/ and $direct = 1;
 /-so/ and $direct = 1, @PLAYERS = ('p1');
-/-cr/ || /-chain_reaction/ and $chainreaction = 1;
+/-cr/ || /-chain_reaction/ and $chainreaction_default = 1;
 /-cb/ || /-co/ and $colourblind = 1;
 /-pm\s*(-?[\d]+)/ || /-playermalus\s*(-?\d+)/ and $playermalus = $1;
 /-ls\s*(\S+)/ || /-levelset\s*(\S+)/ and $levels{current} = 1, $direct = 1, @PLAYERS = ('p1'), $direct_levelset = $1;
@@ -1668,6 +1669,7 @@
 
 sub new_game_once() {
     is_1p_game() && $levels{current} and choose_levelset();
+    $chainreaction = $chainreaction_default;
     if (is_2p_game() && $graphics_level > 1) {
 	my $answ;
 	ask_from({ intro => [ '2-PLAYER GAME', '', '', 'ENABLE CHAIN-REACTION?', '' ],

Reply via email to