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?', '' ],