投稿者 トピック: [102.2.2, r3190] ゲームの再開時に年代設定の有無が変わることがある  (参照数 2321 回)

z9999+

  • 管理人
  • 急行
  • *
  • 投稿: 366
どのリビジョンから問題が発生しているか検証していません。少なくとも102.2.2では発生します。

問題:
起動後に1度でも「新しいマップを作成する」ウィンドウの「年代設定を使用」ボタンをクリックすると、その後に「ゲームの再開」で読み込まれるセーブゲームの年代設定が、「年代設定を使用」ボタンの状態に変わってしまう。

修正パッチ案:
引用
Index: gui/welt.cc
===================================================================
--- gui/welt.cc   (リビジョン 3190)
+++ gui/welt.cc   (作業コピー)
@@ -420,8 +420,10 @@
       knr = sets->get_karte_nummer();   // otherwise using cancel would not show the normal generated map again
    }
    else if(komp==&use_intro_dates) {
-      sets->set_use_timeline( use_intro_dates.pressed^1 );
-      use_intro_dates.pressed = sets->get_use_timeline();
+      if(sets->get_use_timeline()&2) {
+         sets->set_use_timeline( sets->get_use_timeline()^1 );
+         use_intro_dates.pressed = sets->get_use_timeline()&1;
+      }
    }
    else if(komp==&allow_player_change) {
       sets->set_allow_player_change( allow_player_change.pressed^1 );

このパッチを適用すると、simconf.tabでuse_timelineを0か1に設定している場合には、「新しいマップを作成する」ウィンドウの「年代設定を使用」ボタンはクリックできなくなります。これは意図した動作です。
use_timelineが2か3に設定されている場合(3は102.2.2では使用不可)には、ボタンは正しく動作します。