gonyoさんの方式による値になります。(1)は、また順序が乱れてしまえばやりなおし。(2)はまだ使いものになるかな。全列車共通設定すれば、これの用はありません。設定する手間が省けるくらいかな)さてどうしましょう。gonyoさん式は利用初心者を誘導しやすくていいんですよね。個別調整を見せられるようにする?でも、あまりモーダルな作りにはしたくないのですよ、Simutrans的には。「gonyoさん式」とかいう分類に名前をつけないと、この先、話がややこしいですね。(C=sum(split)):。個別間隔式?というあたりかな。(TTT機能が働かなくなる)で、同じことができます。TTTのプログラム書いてる時間の方が長くなってます。私からのマップ公開はちょっと待ってください。表示だけならすぐに対処はできます。設定か固定値かで、表示する値をずらしてしまえば良いので。今のところ、根本の仕組みがまだ固定はされていない。(まだ変わる改善される可能性がある)ことと、バグがあるかもしれない、ということから、しばらくは今の表示のままとさせてください。「発車間際の駆け込み乗車は大変危険ですのでおやめください」とアナウンスし続けてください。:'(自分のTTTはまだ、0710以降のバージョンは少し眺めただけで、ほとんど触れることができてません。確かな確証がないまま、不用意な発言をしました。10%の許容によって、その駅の発車時刻が全体として後方にスライドするのでしたら自分の危惧している形にはならないと思われます。固定式ホームを使用している場合に1編成が遅延すると、その遅延が次に連鎖しやすい。遅延発車した列車は、翌周期も同じように遅延するため、遅延が拡大する傾向がある。行列発車(仮想連結)した列車が他の路線の周期を悪化させるリスクが高い。周期が守られずに、最初の設計と異なる順序で停車すると問題を広げる可能性がある。このあたりの問題が整理できていないままの発言でした。これらのリスクがあるのに、果たして遅延発車を認めていいのかと考えた訳です。代替案として示した±交互については、自分でも疑問です。厳密に均等な状態は漠然と危険だとかんがえたのでしょう。朝はいけません、考えなく発言してしまう。目を通させていただいた段階で、お話についていけませんが、取り急ぎお返事だけ。周期運行単独では、発車時間を制御する事は出来ても、着時間を安定して制御する事が出来ないため、どうしても問題が広がりやすいんですよね。余裕がないなら遅れる、時刻表上は余裕があるようでも、停車するホームがなければ到着は遅れてしまう...。うまく運用しきれないです。さんデータお借りしました。TTT導入前に路線設計を計画中です。追記--実験に協力したいのですが、0713は時刻表のクラッシュが多くてどうにも進みません。0..6(手写しのため、間違いがあるかもしれません)というものです。列車ソートは怖くて押せたものではありません。コードが読めれば(能力的な意味で)もっと、ましな報告できる?んですが、本当すいません。ソートについては、試験中は手作業で入れ替えでもと思うんです。言葉遊びですが、運行周期のほうは回転することが大事ですから、公倍数ではなく、gnyoさん方式のように公約数で管理するほうが向いているような気がします。まっさらなPak64入れて最初から開発してみます。期間が必要になると思います。無理なさらぬようお願い致します。09:08TTT-040をアップします。対応のja.tabもここに貼ります。前の版で紛れ込んだ細かいバグ(クラッシュの可能性あり)の除去ここのところの皆さんとの議論もふまえて、アシスタントに変更を加えた部分もあります。回復アシスタントからの「列車の遅延のリセット」「路線全体の遅延のリセット」は現在機能しません。路線管理ウィンドウや列車の詳細ダイアログからお願いします。表示する路線を追加した場合などに、時刻表での選択列車と、アシスタント内の対象列車が食い違っている場合があります。時刻表の中で列車を選びなおせばアシスタントにも反映されます。o_oさんのおっしゃってる所と問題が同一かはわかりませんが、ビルドによって時刻表ウィンドウがクラッシュするケースがときどき見られます。ある程度追ってはみたのですが、まだオリジナル側のバグなのかこちらのバグなのか切り分けがついていません。パッチを適用して、症状が変わるか見てみます。(それぞれのバイナリも作成できたらアップしようと思います。)ご不自由をおかけしていて申し訳ありませんが、実験にご協力をお願いいたします。10:10各環境で動作不安定の報告がされていますので、Simutrans本体のバグとTTTのバグを切り分けるため、Simutransのバージョンを変えたものバイナリとして作りました。(おそらくTTTのバグでしょうが、Simutrans本体の中にもポインタの扱いの怪しいコードがいくつかあるもので。TTT-040のあたった最新版です。(現時点のsvnのhead)http://ux.getuploader.com/wackdone_simutrans/download/17/simuwin-wackdone-120715-r5830.zip差し替え用のja.tabは、すぐ上の投稿からダウンロードしてください。手元では、VMの上で「起動すること」「これまでの全部盛りで作ったセーブデータがロードできること」は確認しています。これからエージングテストをかけます。これまでのバイナリで問題のあった方も、どうか一度だけで良いのでこれらのバージョンを試してみてください。17:56バイナリ版の作成など、本来こちらですべきところで、お手間をとっていただきありがとうございます。前のMapは個人使用前提のアドオンが含まれていて、お見せできたものではないので、新しいMapを作成し、似たような構造で線路だけ引いたデータをあげてみます。こちらの雰囲気をなんとなくつかんでいただこうかと、、。pak64バニラアドオンなし。駅配置や進行方向は未定。zip容量が変わらないのでそのままあげてみます。問題があればお知らせ下さい。ソートが安定してきましたが、計画時間が読み込まれていない場合にソートをかけるとクラッシュします。◆駅の一部を非表示にした状態で、路線の追加後、駅の表示を切り替えるときの挙動が正常ではありません。◆120715-r5830で混雑ログ(他は未確認)が翻訳されずに表示されます。◆確認になりますが、路線画面、右下2つ並んだ入力窓の下側は打ち込んだ数字が自動的に変化する仕様でしょうか?以上、確認宜しくお願いします。23:45いえいえ、バイナリの作成は無理のない範囲でやっていますのでお気になさらず。逆に、こちらのテストが充分でないのに更新版をアップしているのが申し訳ないのですが、そこらへんはフリーソフトということでご容赦を。問題のご報告を多数いただき、本当にありがとうございます。場合によっては、より使い易いように一部は機能をシュリンクという方向に努力していきたいと考えています。(特に、時刻表機能を追加したところから安定度が一気に悪化してきたので)バグのご報告ありがとうございます。◆計画時間でのソートが安定してきましたが、計画時間が読み込まれていない場合にソートをかけるとクラッシュします。◆駅の一部を非表示にした状態で、路線の追加後、駅の表示を切り替えるときの挙動が正常ではありません。以下の操作順でおかしくなることは確認しました。Shift+左クリック)これでも表示状態が戻らない駅があります。この問題は再現方法がわかったので対処いたします。これ以外にも全く違う操作や挙動があるようでしたら教えてください。◆120715-r5830で混雑ログ(他は未確認)が翻訳されずに表示されます。7月の最初に取得した翻訳ファイルを元にしてしまっていますので、最新の翻訳ファイルに追従できていません。どこかで最新版を取り入れようと思いますが、しばらくお待ちください。追加すれば、解決するかもしれません。(本流の翻訳が対応していなければ無理です。中の、右側中段にある入力フィールドのうち「設定開始/修正」と書かれたボタンの右にある数値入力のことで良いでしょうか?(つまり添付画像の中の赤太線で囲ったところでよいですかね。)自動的に変化するのは仕様ではなくバグです。時刻表表示ウィンドウの中の回復アシスタントで同じことができるようになってしまったので、この「路線編集」ウィンドウの中の操作を今後、残しておくか、このままか、などは悩んでいます。(ここにあると、かえって機能の意味を理解せずに使われてしまいそうなので、gonyoさん式の均等間隔運転へ導くようなものに変えた方がいいと考えています。)とり急ぎ、問題確認のむね連絡です。いずれも修正は少々お待ちください。路線を表示し、一部の編成のみが停車する駅を選んでソートをかけた場合にクラッシュする。従来の手順はもう少し確認してみます。◆ソート後に路線を追加すると、クラッシュするこれは、上と手順は似ていますが、エラーメッセージが表示されないまま停止します。されている駅を個別に隠す。この手順でもブレたような挙動を見せますが、もう一度押さないと隠れません。◆混雑ログは、表示の変更による物なら不自由もないので問題ありませんね。◆>添付画像の中の赤太線で囲ったところでよいですかね。入力して路線を切り替えただけで変更されますね。おまけ)新Mapの方は、交通事情がだいぶ違うので、貨物調整いらねーってなりそう。前のは、シティカーが出始めたあたりで、道路じゃ鉄鋼運べませんって年代でしたし。崖から崖へ勾配のない橋をかけられたら。02:44現象確認ありがとうございます。よる広域破壊が影響しているのではないかと思われます。TTTの方の怪しい部分を、よりチェックが固くできるよう書き直します。(機能面は変わらず、GUIのコンポーネントの記憶管理などを変更する(多分、記憶消費は増えてしまう))ですので、申し訳ないですが今は「怪しい機能は触らない」でお願いします。問題の起こる手順割り出しには力を注がないようお願いします。05:44了解しました。乗りかかった船だし、と思いましたが、一度PC修復かけて再設計が終わるまではTTTから離れることにします。22:05追記--確認のため、セキュリティソフトでフルスキャンをかけましたが、問題は発見されませんでした。設計変更を行うのであれば、TTT-035以降は、公開停止にしておくほうが良いのではないでしょうか。(まあ2000行くらい書きなおしているからしょうがいないか)というわけで、連休は明けてしまいましたが、TTT-041をリリースします。手元でいろいろ走らせる限りは、ソートの件なども含めてかなり安定してきています。過去のコードで正しさを追い切れなくなっていた部分は、思いっきり単純に書きなおしました。(今回はいじめればいじめる程、どこがまずいかログも出るはず)パッチはこの記事に添付。ja.tabは変更ありません。TTT-041/RRC-003/CWG-005/MIP-001となります。MIPの機能もよかったら使ってあげてください。(ロード時ポーズは入れていません。さん、せっかく御乗船(?)いただいたのに、待ちに入らせてしまいすみませんでした。いろいろなチェックをしてくださりありがとうございます。時刻表を入れたあたりから、機能拡張の勢いが止まらなくなって、コードの構造に無理が来ておりました。ソースファイル数と行数は増えてしまったのですが、構造がすっきりはしてきたので問題があっても対処しやすいようになっています。お時間が出来ましたら、お付き合いいただければと思います。出たログのスクリーンショットを撮影できる機能を作成中です。ダイアログ画面だけのショットにできれば、こちらにすぐに貼っていただけるかと。MIPに入れて全部盛りに組み込む予定ですが、完成までいましばらくお待ちください。18:59wackdoneさん、こんにちは。ttt-041で少し遊んでみて気になった事を書いておきます。]<1>アシスタントでナンバリングした後で一旦セーブしました。その後、起動してセーブファイルを読み込んだ後、ttt-040では時刻表を表示した瞬間に、ttt-041では時刻表のセルをクリックした後にisdigit()でVCのassertionが失敗しました。maxlen)関数の中でlabel_numberingに入っている文字列(数字)に終端NULLが無い場合がありました。0xcdになっています。ソースを追うとatoiに渡していますのでここでバッファオーバーランが発生する可能性が極めて高いです。ちなみに0xcdはVCがデバッグ時にまだ一度も書き込みが行われていない領域を識別しやすいように埋める値です。<2>時刻表のヘッダ部分の表示がおかしくなる。時刻表に表示されている路線を消しても(削除ではなくHIDE)行見出しが残るナンバリングしたあと編成を追加したからかも?<3>std::isdigit()などで定義が無いというエラーが出る。]<4>SCHEDULE_TIMETABLESCHEDULE_TIMETABLE_TTVSCHEDULE_TIMETABLE_TIMINGBARSCHEDULE_TIMETABLE_CONVOITIP全て指定しないでコンパイルするとエラーが大量に出る。1000.0;...クラス定義内でint以外の値を初期化できるのは確かC++11からだった気がします。最新のコンパイラでないとダメというのはキツイと思います。<6>fahrplan_gui.ccでVCにsnprintf()は無いというエラー。_snprintf_sならあります。メンバー初期化子リストで使用されました。いう警告が大量に出る。{}クラスBにAのthisを渡しても、まだAのオブジェクトは構築されてないので、BのコンストラクタでAのポインタを使ったら危険です。いう意味だと思われます。gccだと警告出ませんね。Bのコンストラクタでポインタだけ保管して、後で使うなら問題ないのかも知れませんが。*ts)でtiming_statsの定義はclassなのにstructキーワードが使われている。いうwarningが出る。<9>OVERRIDEがついているメンバ関数で「基本クラスの関数をオーバーライドしませんでした」と言うエラーが出る。これはVCだと仮想メンバ関数にのみ使えるようです。基本クラスの同じメンバ関数にvirtualが付いていないといけない。付けない方がいいかも。セーブデータと資料っぽいものを添付しておきます。現在準備中のTTT-042で安定しますyoyoさん、詳細なご報告ありがとうございます。環境や手間的な面で自分で試せていないところを試して頂くのは助かります。VC++でのビルド結果はありがたいです。とり急ぎ、簡単にリプライを。ら、崩壊しだしました。落ち着いてなおします。いいですか?Hideは列単位の表示を丸ごと切り替えているだけなので、gui_spreadsheet_tのバグの可能性もあります。現象再現させてみます。ctype.hがincludeされているのに甘えていましたね。他のソース見てみます。プリプロだった頃は遊べたものだけど今時のC++にはついていけてません、悪いとこあったらがんがん指摘してください。(コード量は大きいが便利になる)の二つのレベルで提案しようと考えています。採用されれば、セーブデータの互換性問題が解決するので価値あり)ですので、マクロによる振り分けの整理はこれに合わせる形で少しお待ちください。(定数クラスメンバー)の値定義ごめんなさい不精してるだけです。VC++だとだめということであれば、とりあえずdoubleのものだけでも.cc側へ移動します。気がしていたのですが。sprintfだけでした。(たしかANSIなので)バッファサイズが充分に確保できておりかつフォーマットが固定なので、sprintf()を使うようにします。インスタンス初期化完了前のメンバーインスタンスへthisを渡す今はたしかに「渡された側はポインタを保存するだけ」ですので問題は無いはずです。実現しようとしたのですが、これ封じるとコードが見辛くて仕方なくなるんですよね。側にも何かテンプレートでラップ入れてやってthisを胡麻化せれば、警告は消せるのかな?(gccのようなRTL解析だとすぐにバレそうな気がしますが。VC++の中ってどういう解析やっているのだろう?)何かinnerclassのスマートな実現方法があったらご教授お願いいたします。落ち着いたら潰せる範囲は潰してしまおうと思います。thisの先に触っていないというところまで解析しているということが判明。コード読み不十分ですが、gccの方が一枚上手なようです。最初structだった名残りですね。virtualにするかどうかの迷いが出ているのの表れですね。どこかでまとめて潰します。ミスはしていない(ただ勘違いしやすいかも)ので、当座の問題は無いと思われます。いただいた資料の方はこれから読ませて頂きます。ご指摘ありがとうございました。今後とも宜しくお願いいたします。warning潰しで一週間くらいかかってしまうかも。バイナリ(全部盛り)↓です。「バイナリファイルである」とzipファイルの中にマークさせています。これで、Windows上の展開でトラブルは無くなったんじゃないかと考えています。使って、表示の日本語化が上手くいったかどうか報告してくださると助かります。(詳細はなくても「上手くいってない」という情報だけでも助かるのです。簡単に一言だけでもいいので、どうかお願いします!)変更の概要:主にyoyoさんから頂いた問題修正と、時刻表の若干の機能追加です。ビルドでの問題が減っているはずです。編成の自動名前付けのコードが整いました。手元では上手くいってます。過去の問題のせいでセーブデータが壊れていると辛いかも。チェックを入れることで、一定間隔で表の内容を自動更新します。重すぎるようだったらコメントください。調整できるようにするか、1024msくらいまで広げるつもりです。これまで同様に路線に新たに編成が追加された場合などには追従できていません。編成が路線から抜けた場合や、削除された場合はある程度検出しますが、びっくりするような表示になる場合もあり得ます。このような操作をする場合は、時刻表を一度閉じて、作業後に再び開くことをお勧めします。04:38機能的には当初の目的は果たせてきた(ダイヤグラム表示はやめときます)ので、現状を整理します。当面はバグ修正メインでいきたいと思います。(最初の駅以外のポイントに)時間制御の仕様の変更と追加の案TTTの時間制御の根幹仕様についてですが、現状は以下のようになっています。値を入れてしまって勘違いする。積載が終るとそのまま出発するが、もし次の駅に計画時間が設定されている場合、この時間はこの区間だけを縛ることになる(問題というよりは、今はそういう仕様。使い方次第で便・不便がある)中継点の取り扱い案:中継点は時間を入れられるようにしたまま、運行でもこの時間を見るようにするべきでしょうね。前駅(あるいは中継点)出発時間と現在時間を見て、早着・遅刻があれば積算遅延時間に繰り込む。前駅出発時間を現在時間に更新するこれで、次の停車駅でこの中継点の区間も含めて早着・遅延制御がされるようになります。時刻表での表示が五月蝿くなりそうです。始点駅が中継点だった場合の取り扱いについては、まだ考えがまとめられていません。一つの可能性:計画時間設定の無い駅では、前駅出発時刻の更新も行わなくさせるという手が考えられます。するとどうなるか:計画時間の設定のある駅の間で、運行時間の評価が行われる。その間の駅は、TTT上は通過したかのように扱われる。なるように運行されるとなります。C→(D停車)→Aの時間が1000になるように調整されます。スケジュール全体にわたって値を設定しなくても、一部要所駅だけ設定してくだけで安定運行できます。(現実のスタフにあるような、一部の駅だけの発時指定みたいな感じです。一部区間はフリー運行(遅れようと早かろうと気にしない)、また別の区間は時間制御運行というハイブリッドなスケジュールが組めなくなります。(これのニーズがあるかはわかりませんが。