Japanese Simutrans Forum

開発 => プログラム => トピック開設者: wackdone さんの発言 2012/07/01 09:10

トピック名: CWG - 周期時間で制御できる信号システム
投稿者: wackdone さんの発言 2012/07/01 09:10
道路信号機のように開通と抑止を周期時間を設定して制御できる信号システムを追加し ました。

gonyoさんのトピック:
http://forum.japanese.simutrans.com/index.php?topic=477.0
で提案されていたものです。

動作や考え方、応用方法などはそちらのトピックでお願いいたします。
こちらでは、試しに作ったパッチを公開します。

現在の最新パッチは返信#6です。

Windows用バイナリは「全部盛り」と称してTTTあるいはRRCのトピックのほうで公開しています。
トピック名: CWG-001
投稿者: wackdone さんの発言 2012/07/01 09:19
最初のバージョンです。
テストはあまり充分ではありませんが、添付画像のように時間で開通したところから列車が出ていくようになっています。
(ドキュメントにも書きましたが仮に作ったpakの絵はpak128の private_way のものなので、見た目は悪いです)

自分で少し使ってみて感じたのは、やはり
  TTT よりずっと気楽だ!
ということですかね。
これはシンプルなので、組み合わせ次第でいろいろと応用ができるんじゃないかな?

とりあえず、パッチをアップします。
バイナリは、これ単体に対応したもの、TTTやroutecostと組み合わせたもの、どちらがいいですか?
みなさん、ご希望を言っていただければと。
トピック名: Re:周期時間で制御できる信号システム
投稿者: gonyo さんの発言 2012/07/01 13:40
windows  pak64でやったところ動きませんでした
patch当ててもpakファイルにCWG_sample_gates_64を入れ るとsimutransが起動できません。
128ならいけるのかな? それとも私がなんか間違えたのかもしれない
トピック名: Windows用バイナリ (Re:周期時間で制御できる信号システム)
投稿者: wackdone さんの発言 2012/07/01 20:31
再度実験してみましたが、こちらの手元ではWinXPの上で、pak64で動いています。
起動しないというのはかなりの環境違いかも。こちらのpak作るのに使ったmakeobjが新しすぎるとか。
起動しなかった時に出ているメッセージがわかると助かります。
(もしくは、何も言わずにいきなりクラッシュですか?)

とりあえず、exeを作って簡単な動作確認をしたものをアップします。
http://ux.getuploader.com/wackdone_simutrans/download/6/simuwin-cwg-a001.zip

CWGのみ有効な実行バイナリです。
のちほど、TTTやRouteCost(RRC)もあわせてバイナリにします。
トピック名: CWG-002
投稿者: wackdone さんの発言 2012/07/01 20:37
パッチの新しいバージョンです。
機能や使い方は変わっていませんが、pak64時に特にGUIが酷かったのを修正しました。
トピック名: CWG-003
投稿者: wackdone さんの発言 2012/07/02 16:46
最新版です。RouteCostのトピックの方で、kanedaiさんにご指摘いただいた
「一方通行が使えない」 という問題に対処しました。

(無理して改造したのが祟ってきてますかね。roadsignまわりを全部書きなおしたくなる)

バイナリはのちほど作成してRouteCostのトピックの方に示します。
トピック名: CWG-004
投稿者: wackdone さんの発言 2012/07/10 19:03
最新のCWGのパッチを添付します。
バイナリはのちほど、TTTの最新版とともに全部盛りにします。
(空が真っ暗になるまでには多分、間に合います)

今回の変更点は、TTTのトピックの中でo_oさんにご指摘いただいた
  踏切の上に設置された鉄道信号が機能しない
という不具合の修正です。

この結果、残念ですが CWG のゲートを、線路や道路の曲がっている部分に建てられなくなりました。

Simutransオリジナルのデータ構造にもう1ビットも余っておらず、それも
「踏切を示すビットと曲り角を示すビットが同時に立っていたら、そこにはwaygateがある」
というぎりぎりのハックでしのいでますので、今後、この仕様を変更するつもりはありません。
(weg_tという道や線路1マスにつき1インスタンスというオブジェクトなので、1bit(実際には32bit増える)追加した結果、
線路と道路の数×4バイトという記憶量増加は避けるべきだと考えています。)


以前のバージョン(CWG-003以前)でこのような設置をしている場合、ファイルのロードはできるはずですが、
先々で不可解な事が置きる可能性がありますので、申し訳ないですが直線部分に移設してください。

なおニーズがあるようであれば、駅の先端部分に設置しても使えるようにする (今だと、出発側のゲートなのに
閉まっていると入線できなくなる) など、ご要望をお知らせいただければと思います。

また予想外の位置に設置できてしまった、あるいは設置できて当然なはずなのに設置できない、などございましたら
お知らせください。 (組み合わせが多すぎてテストしきれていません。)

o_oさん、問題をご報告くださりありがとうございました。
トピック名: CWG-005
投稿者: wackdone さんの発言 2012/07/14 04:35
CWGの最新版 CWG-005です。パッチをこの投稿に添付いたします。
(バイナリは次の全部盛りのタイミングで。)
また、zip内のドキュメント(README_CWG_ja.txt)に使用上の注意などを追記しています。

みなさまのおかげで、このCWGが一番熟れてきたように感じます。
もしかしたら、本家採用に最も近い位置にいるのはこのパッチかもしれません。

引き続き、ご試用のほどお願いいたします。