soukouki’s diary

誰かの役に立つ記事をかけたらいいなあ

pdfをネガポジ反転するワンライナー

ImageMagickを使ってpdfをネガポジ反転するワンライナー

270ページの文章の例。ページ数に合わせて269の部分を変える必要があります。

for i in {000..269}; do convert -density 300 "origin.pdf[$i]" -alpha remove -negate np${i}.png; done; convert np*.png np.pdf

一度にpdfをネガポジ反転したり、pngに変換するとメモリが足りなくなったので、1ページごとの処理にしています。

-density 300でdpiを上げています。

難点・要改善点

  • 文字埋め込みではなく画像になるのでファイルサイズが増大する
  • 画像の画質が荒い
  • 最後のconvertでpngをまとめる段階でメモリを大量に消費して、場合によっては失敗する

参考文献

PDFのネガポジ反転(白黒反転) Junichiro NIIMI https://jun-systems.info/articles/convert-negaposi-pdf/

ImageMagickでpdfファイルの1ページ目だけをjpegにする matoken https://matoken.org/blog/2021/03/16/make-the-first-page-of-the-pdf-file-jpeg-with-imagemagick/

imagemagicでpdfをjpgにconvertしたらbackgroundが黒くなるとき prex-uchida https://qiita.com/prex-uchida/items/8443c5350e80c25c4efa

また、今回のコードでは出てないですが、一回ハマったのでこちらも置いておきます。

ImageMagick7 の negate(ネガポジ変換)で透明になる件 yoya https://qiita.com/yoya/items/9301c447093354d92185

動作環境

$ neofetch
OS: Arch Linux x86_64
Shell: zsh 5.9

$ convert --version
Version: ImageMagick 7.1.0-57 (Beta) Q16-HDRI x86_64 20701 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenCL OpenMP(4.5)
Delegates (built-in): bzlib cairo djvu fontconfig freetype heic jbig jng jp2 jpeg jxl lcms lqr ltdl lzma openexr pangocairo png raqm raw rsvg tiff webp wmf x xml zip zlib
Compiler: gcc (12.2)

Simutrans-Extendedの機能・datパラメータ紹介(信号・信号扱所編)

soukouki.hatenablog.jp の信号・信号扱所編です。

https://forum.simutrans.com/index.php/topic,14848.0.html を翻訳・追記しました。

このガイドは、Simutrans-Extendedバージョン12.x以降にのみ適用されます。

Extendedで追加された機能の紹介

片方向信号

信号機は片方向信号となり、逆方向の列車の通過を防ぐことはできなくなりましたが、逆方向の列車が通過する際には無視されます。しかし、運転台信号、移動式閉塞、軌道回路閉塞の動作方法を使用すれば、双方向信号を作ることができます。

(訳者補足:片方向の信号の一方通行にする機能はなくなりました。一方通行標識を忘れるとデッドロックの原因になるので、慣れないうちは意識的に一方通行標識を置くようにしましょう。)

方向予約

(訳者注:このセクションは方向予約に関する解説を独立させたものです。翻訳元の文章では、軌道回路方式の説明の一部に入っていました。)

(訳者補足)Simutrans-Extendedではこれまでの線路の予約に加え、ある1方向に限定された閉塞の予約を行えるようになりました。

  • 方向予約は、閉塞予約表示(Pak128.Britain-Exではbキー)で青色で表示されます。
  • 方向予約は次の一方通行標識で終了します。
  • 方向予約のあるタイルは、同じ方向に進もうとする列車によって(通常の(赤)ブロック予約として)予約されることがあります。

信号扱所

信号機は、以前のバージョンのように、ただ設置するだけでは作れません。信号機を作るには、信号扱所が必要です。信号扱所とは現実世界では信号を制御する建物のことで、新しい技術により、より多くの信号の数や遠隔制御が可能な、より効率的な信号システムを実現することができるようになりました。Simutransでは、信号機は線路の近くに置かれるプレイヤーの建物としてコーディングされています。

信号扱所のリファレンスは建物・停留所編を参照してください。(訳者注:建物・停留所編はまだ翻訳していません。英語版は http://forum.simutrans.com/index.php?topic=15222.msg150137;topicseen#msg150137 を閲覧してください。)

また、信号と信号扱所を解説する動画(英語)もあります。https://www.youtube.com/watch?v=2XLi1tNaG28

信号現示

信号は、進行信号と代替経路を示す振り分け信号(進路表示機付き信号)のほかに、最大5つの画像をもつことができるようになりました。 通常の5つの現示は以下の通りです。

  • 停止
  • 警戒
  • 注意
  • 減速
  • 進行

他に追加できる表示として、以下のようなものがあります。

  • 誘導信号機や、許容信号機など、前方に列車が居ても無閉塞運転ができる進行現示(呼び出し)
  • 代替経路(振り分け信号)の進行・注意現示
  • 主経路(振り分け信号)の進行・注意現示
  • などなど・・・

表示の組み合わせ方の詳細は、この下のdatファイルのリファレンスに記述されています。

許容信号機

許容信号機を許容閉塞モードで動作させることができるようになりました。これは、軌道回路方式、双信閉塞方式、車内信号方式のいずれかを組み合わせるものです。線路の容量を増やすために使われる現実的な信号システムです。ロンドンの地下鉄では今でも使われていると思いますし、いずれにせよ、ごく最近まで使われていました。(訳者注:日本では線路容量を増やすために使われているという話は聞きません。信号機が故障した際に行われますが、衝突事故が発生したため禁止している事業者も存在します。)

許容信号機による閉塞方式では、停止信号で停止させられた列車は、前方の列車を見て停止できるほどゆっくり走れば、信号が危険であっても進むことができます。これは、信号が一方向の枝分かれのない区間を制御している場合にのみ可能です。

現実には、列車をこのように進行させるための「呼び出し」(call on)を示す補助信号アームが存在する場合と存在しない場合があります。has_call_on=1 は、そのようなアスペクトのためのグラフィックの存在を示します。 呼びかけの表示がない許容信号機もあります。この場合、列車が通過するときに警告現示を表示しつづけます。Pak128.Britain-Exには、このような方法で動作する地下の許容信号機があります。

Simutrans-Extendedでは、次の信号までの経路に分岐がない場合のみ、許容信号機が機能します。交差点がある場合、許容信号機は無効になり、通常の停止信号として機能します。Pak128.Britain-Exでは、この呼び出し信号の視認速度が低くなっているので、そのように機能しない場所に設置するのは実に不利なのです。

次の信号までの線路に分岐がないことを条件に、列車が信号で立ち止まると、呼び出しを行い、目視による走行方式で進行できるようになります。これにより、複数の列車が1つの区間に進入することが可能となり、例えば、混雑した貨物ループや低速高密度都市旅客線などで有効です。

振り分け信号は、先に分岐があることが想定されるため、許容信号機にはできません。ただし、将来的には、許容信号機として定義されていない信号機にも、軽機関車の動きや列車の分割・併合に対応するための呼び出し機能を持たせることが計画されています。

振り分け信号

振り分け信号がさらに進化しました。駅の別のプラットフォームへ列車を送る機能の他に、駅の使用中の線路から反対側の端まで、列車を迂回させるための空いている経路を探すこともできるようになりました。この機能は、駅の出口に設置された「振り分け終端」標識と一緒に使用されます。列車が振り分け信号に近づくと、その列車は目的地までの全行程、または「振り分け終端」標識のどちらか先に遭遇したほうの経路が示されます。

また、この信号は、振り分け信号として動作するか、通常の信号として動作するかで、異なるグラフィックスを持つことができるようになりました。

ステーション信号

working_method=time_interval(時間間隔方式) または working_method=time_interval_with_telegraph(電信時間間隔方式) と、 is_longblocksignal=1 を持つ信号は、駅タイルに置かれると、ステーション信号として動作します。

駅信号は、5分以内(または、simuconf.tab で時間間隔信号のために指定された他の間隔)に、どのプラットフォームからも同じ方向の列車が発車しなかった場合のみ、進行現示になります。 駅信号の定義は双方向性であり、どちらの方向でも動作するため、すべてのプラットフォームで1つの駅信号だけが必要です。

電信時間間隔方式でのステーション信号はさらに、(以前と同様に)方向予約を行うことができない限り、進行現示になることはありません。

原則的には、通常の時間間隔方式の駅信号は、駅より先のタイルが視認距離の分確保さ れるまでは発車されません。

ステーション信号は、小さな駅や単線の駅に最も適しています。大きな駅では、各ホームに一般的な信号機を設置したほうがよいでしょう。

また、ステーション信号は、駅に向かうための信号ではありません。振り分け信号が必要です。

さらに、駅信号の実現には、以下のパラメータを設定する必要があります。

is_longblocksignal=1
has_selective_choose=1
aspects=3

また、以下のようなグラフィックも必要です(詳細はリファレンスのグラフィックの項を見てください)。

  • 停止現示
  • 順方向への進行・注意現示
  • 逆方向への進行・注意現示

信号・運転方式の紹介

無閉塞運転

列車が発車すると、自動的に最初の運転方法となります。運転手は目で前方を確認し、線路が空いていることを確認します。この方法は、例えば都市部の路面電車に最適で、前方の列車に近づいて運転できます。

  • 列車は、視認距離内で停止するよりも速く走ることはできません。
  • この作業方法では、列車が動作するために全く信号が必要ありません。
  • デッドロックが発生しやすいです。
  • 列車が発車するときや、信号のないホームを離れるとき、あるいは working_method=drive_by_sight(無閉塞運転) と書かれた標識の前を通るとき、自動的に無閉塞運転になります。

また、無閉塞運転を解説する動画(英語)もあります。https://youtu.be/gLY-hW377LY

時間間隔方式

(訳者補足) 時間間隔法は、前方列車との間に十分な間隔を開けることで衝突を回避する運転方法です。この方式では、閉塞を使用せず、信号機をその向きで最後に通過した列車からの経過時間で信号現示が変わります。時間間隔法の信号機の間には、複数の編成が入れます。

(訳者補足) 時間間隔法では線路を予約しないため、単線での運行はできません。単線で運行したい場合は、電信時間間隔法を使用します。

  • 信号機はデフォルトで進行現示です。
  • 列車が通過すると、信号機は停止現示に変わります。
  • 列車が通過してから5分後に注意現示に戻ります。
  • 列車が通過してから10分後に信号は進行現示に戻ります。
  • 列車は注意現示の信号を、線路速度の半分または信号の視認速度の半分の、どちらか低い方の速度で通過しなくてはなりません。
  • 遠方信号は中継器として有効で、停止信号の視認距離を延長する役割を果たします。
  • この方式では、列車が前方の列車に追突した場合、両方の列車がしばらく停止した後、無閉塞運転で運転が続けられます。
  • 振り分け信号には振り分け機能がありますが、この方式では終着駅でのデッドロックに注意する必要があります。(訳者注:ホームが満線の場合、停止位置を指定しているホームに侵入し、デッドロックを引き起こします。)

電信時間間隔方式

(このセクションの全体はsou7による補足です。翻訳元の文章では省略されていました)

電信時間間隔法は、時間間隔法の動作に電信による経路の予約を追加したものです。列車が信号機を通過する前に、次の信号までの間に列車を妨げるような予約が存在しないことを確かめます。また、列車が信号機を通過すると、次の信号までの間に方向予約を行います。

  • 列車が通過する前に、経路が他の列車に予約されていないか確認をします。
  • 最後にその方向に列車が通過してから5分間は、その方向への通過はできません(停止現示)。
  • 最後にその方向に列車が通過してから5分後から10分後までは、注意現示での通過になります。
  • 列車が通過してから10分後以降は、進行現示での通過になります。
  • 列車は注意現示の信号を、線路速度の半分または信号の視認速度の半分の、どちらか低い方の速度で通過しなくてはなりません。
  • 遠方信号は中継器として有効で、停止信号の視認距離を延長する役割を果たします。
  • 列車が通過すると、方向予約を行います。
  • 時間間隔法と同じく、振り分け信号にはデッドロックに注意する必要があります。

スタフ閉塞方式

スタフ閉塞とは、線路の全区間を一本の列車しか通れないようにする方式です。スタフ(staff = スタッフ)と言っても、従業員ではなく棒のようなものです。

運転士がスタッフを所持している列車だけが区間に入ることができるという、非常にシンプルなシステムです。したがって、このシステムでは、すべての列車の出入り口は一つでなければならず、そうしないとスタフが間違った場所に置き去りにされてしまうことになります。これは、1つの列車しか走っていない路線全体(非常に基本的な鉄道で、列車の通常の経路ではなく、車庫からの出口に置かれる)か、内部に信号がない単線の行き止まり区間にしか、本当に役に立ちません。

Simutrans-Extendedでは、スタフ棚は1つの区間に1つ以上存在することもできますが、1つとして機能するためには互いにすぐに隣接するタイルに配置する必要があります。

また、列車が戻ってきて再びキャビネットに到達するまで(または現在と同じスケジュールの時点に到達するまで、どちらか早いほう)、列車の全ルートを予約することによって機能します。

タブレット閉塞方式

タブレット閉塞方式は、スタフ閉塞方式よりはるかに高度なシステムで、単線線路の制御にも使用できます。

実際の鉄道では、列車の運転士が区間に入る前に物理的なトークンを持つ必要があります。しかし、このトークンは1つではないため、多くの列車が一方向に次々と区間を通過することができます。トークンは1回に1つしか出せません。これは、区間の両端にある電信機によって確保されます。残りのトークンはタブレット箱にロックされます。これにより、複数の区間と複数の出入口ポイントを持つ単線路線の信号化が可能になります。

Simutrans-Extendedでは、列車は次の信号までしかルートを予約しませんが、次の信号を通過するまではルートを予約解除することはありません。

双信閉塞方式

双信閉塞方式とは、同じ閉塞内に同時に複数の列車が入らないようにする方式です。特に線路が2本以上ある路線で利用されています。

通常は、電話や電信を使って信号所間で連絡を取り合い、信号所にいる人間がすべてをチェックします。場合によっては、電気機械式や電気リレー式など、信号や地点が誤った時刻に移動しないよう、ある程度の保護が施されていることもあります。一般に2現示信号しかないのが特徴ですが、3現示信号も存在し、遠方の現示は次の信号所から制御されるため、「複合信号」(コード:is_presignal=1 and aspects=3)と呼ばれています。

通常の遠方信号は、同じ信号扱所によって制御されているすべての信号の現示を示します。これは、遠方信号は信号扱所が制御する「最初の」信号の前に置かれるべきことを意味します。もし信号機が制御している信号が危険現示である場合、遠方信号は注意現示になります。すべての信号が正常である場合のみ、遠方信号は正常を示します。

中間信号は、信号扱所を追加することなく、2つの信号場の間の区間を2つに分割することができます。

軌道回路方式

軌道回路閉塞の大きな特徴は、自動信号機であることと、単線の線路で動作することです。線路が自動的に列車を検知し、それをもとに信号が作動します。

信号と信号が交差していないまっすぐな線路では、信号の後ろのブロックに列車がいると、信号は自動的に注意現示に戻ります。次のブロックに列車がいなければ、信号は進行現示になります。ただし、国によっては、列車が接近するまで信号機は進行現示ではなく停止現示になることもあります (normal_danger=1 と併用)。線路回路閉塞の分岐点にある信号は半自動で、他の信号へのルートが予約されるまで停止現示のままとなります。

遠方信号は常に次の信号の状態を表すようになり、これまでの双信閉塞信号のように、すべての停止信号が同じ信号扱所で制御されるわけではありません。つまり、先のブロックが空いているかどうかだけでなく、その次のブロック(あるいは3つ目、4つ目のブロック)が空いているかどうかを1つの信号で表示する、複数の進行現示(多灯式の信号機による現示)が利用できるようになりました。

  • 列車が双方向信号を含む区間を予約するとき、方向予約を行います。
  • 軌道回路閉塞方式の双方向線(単線など)は、双方向信号を使う必要があります。

is_presignal=1が定義されている場合、aspects=2しか持つことができません。

車内信号方式

運転台信号は、軌道回路閉塞多灯式信号と全く同じように扱われますが、視認距離は無制限です。

ERTMS方式の信号でグラフィックに信号現示が見えない場合は、必要以上に先に予約するのを防ぐため、現示の種類を2にしておくことをお勧めします。(訳者注:ERTMSは、欧州鉄道交通管理システムの略で、ヨーロッパ全体で共通に使用できる信号保安システムです。)

移動閉塞方式

  • datファイルの max_distance_to_signalbox パラメータは、信号自体の間隔の最大値として使用されます(信号機の範囲は通常通り動作します)。
  • 信号と信号の間にこの最大距離以上のスペースがある場合、列車はその距離の終了した地点から無閉塞運転に戻ります。
  • 振り分け信号は、双信閉塞方式/軌道回路方式と同様に、閉塞全体が空いていないと列車を通過させません。
  • 終着駅でのデッドロックを防ぐために、上記のような振り分け信号の動作が必要です。移動閉塞信号を使用する場合は、必ず終着駅の手前で振り分け信号を使用してください。

datパラメータの紹介

信号機向けのdatパラメータ

全般

obj=roadsign
name=
copyright=
waytype=track
intro_year=
intro_month=
retire_year=
retire_month=
cost=
maintenance

この信号が1ヶ月にかかるシムクレジットの1/100の量。

signal_upgrade_cost

このシグナルにアップグレードするために必要なシムクレジットの1/100の量。指定しない場合のデフォルトは購入金額全額。

upgrade_group

本信号と同じアップグレードグループに属する別の信号は、以下の条件で自動的に本信号にアップグレードされます。

  1. 他の信号が廃止されている。
  2. この信号が建設可能であり、廃止されていない。
  3. 基盤となる線路が更新または交換されていること。

予測できない結果を避けるために、同じ信号グループ内の信号は機能的に同一であることを確認し、同様に、予測できない結果を避けるために、すべてのアップグレードグループ内の1つの信号だけが同時に最新であることを確認するように、十分に注意してください。

upgrade_group=4
working_method

この信号が使用する保安方法です。指定しない場合のデフォルトは軌道回路方式(track_circuit_block)です。無閉塞運転(drive_by_sight)を使用すると、この信号は通常の意味での信号ではなく、信号の終了標識になります (それ以降は無閉塞運転方式で列車が運転されます)。

working_method=drive_by_sight (無閉塞運転)
working_method=time_interval (時間間隔方式)
working_method=time_interval_with_telegraph (電信時間間隔方式)
working_method=one_train_staff (スタフ閉塞方式)
working_method=token_block (タブレット閉塞方式)
working_method=absolute_block (双信閉塞方式)
working_method=track_circuit_block (軌道回路方式・デフォルト)
working_method=cab_signalling (車内信号方式)
working_method=moving_block (移動閉塞方式)
is_signal

これが正常な信号であるかどうか。Standardと同様、is_presignal=1が定義されるのと同時に、is_signal=1を定義してはいけません。例外は複合信号の場合です(下記参照)。

is_signal=1
is_presignal

この信号は遠方信号または中継信号です(working methodに依存)。この信号が2つ以上の現示を持ち、working_method=absolute_block(双信閉塞方式) を使っている場合、複合信号として扱われます (つまり、遠方信号と停止信号の両方を同時に持つ信号です)。停止信号の部分は常に動作しますが、遠方信号の部分は列車のルート上の次の信号扱所が範囲内にある場合のみ動作します。信号が working_method=track_circuit_block(軌道回路方式) の場合、is_presignal=1aspects=2 の時のみ対応しています。

is_longblocksignal

このパラメータを持つ信号は、単一方向の信号であるにもかかわらず、両向きの軌道回路閉塞信号であったかのように方向予約を作成しようとします。

現在、このパラメータは電信時間間隔方式と、方向予約を提供する他の作業方法にのみ使用することができます。

このパラメータを電信無しの時間間隔方式と一緒に使用すると、この信号は「ステーション信号」になります。

is_longblocksignal=1
aspects

信号が持つ現示の種類 (デフォルトは遠方・中継信号を除く全ての信号で2、最大現示数は5)。

aspects=4
max_speed

列車がこの信号に安全に接近できる最高速度をkm/hで指定します。ある速度以上で信号が読みにくくなることをシミュレートするために使用します(指定しない場合のデフォルトは160)。

free_route

この信号は、振り分け信号です。

free_route=1
has_selective_choose

この信号が振り分け信号として動作しているとき、または通常信号として動作しているときに、特別なグラフィックスが提供されるかどうか。

has_selective_choose=1
permissive

この信号が 停止現示の場合、列車は無閉塞運転でこの信号の先に進むことができます。

has_call_on=1と一緒に使うことで、信号の先に列車が進んだときに特定のグラフィックを表示することができます。

permissive=1
has_call_on

信号が特定の「呼び出し」グラフィックが定義されているかどうか。

has_call_on=1
max_distance_to_signalbox

この信号を設置できる、信号所からの最大距離 (メートル)。ただし、working_method=moving_block(移動閉塞方式) の信号では、この項目で移動閉塞信号/ビーコン間の最大距離を指定します ( これ以上の距離があると、その距離を過ぎると列車は無閉塞運転に戻ります)。0 を指定すると、信号扱所までの距離が無限大になります。

signal_groups

これらの番号のいずれかが信号扱所のsignal_groupsのカンマ区切りリストで指定された番号と一致する場合、この信号はその信号扱所から作成できます。0(デフォルト)または1(既知のバグ)の場合、この信号機は信号扱所なしで構築できることを意味します。したがって、使用可能な最小値は2です。

signal_groups=2,5,17,24
allow_underground

この信号が地下、地上、またはその両方に建設される可能性があるかどうか。0は、地上にのみ建設可能であることを意味します。1は、地下にのみ建設可能であることを意味します。2は、地下と地上のどちらにも建設可能であることを意味します。デフォルトは2です。

intermediate_block

working_method=absolute_block(双信閉塞方式) とともに、この信号は「中間閉塞」信号であり、信号扱所および既存の信号機を交換せずに、半自動信号を使って2つの信号扱所の間の双信閉塞区間に追加の閉塞区間を挿入できます。

intermediate_block=1
normal_danger

この信号は、列車が通過した後、進行現示にリセットされません。working_method=track_circuit_block(軌道回路方式) または working_method=cab_signalling(車内信号方式) と組み合わせて、デフォルトで信号が注意現示でなければならない国をシミュレートするために使用されます。

normal_danger=1
double_block

working_method=absolute_block(双信閉塞方式), working_method=track_circuit_block(軌道回路方式), working_method=cab_signal(車内信号方式) でのみ使用できます。

この信号は Simutrans Standard の「プレシグナル」の機能に似ています。次の信号も進行現示の場合に限り、この信号も進行現示になります。これは、保安方法を変更したときに、新しい保安方法の信号がある場所とは別の位置で列車を停車させたい場合に特に便利です。

single_way

一方通行標識になります。

single_way=1
is_private

この標識の先の線路は、限られた会社にしか利用できなくなります。

is_private=1
end_of_choose

振り分け信号は、この信号までの駅を通過する経路を見つけることができます。

end_of_choose=1

グラフィック

上記のどのパラメータを含むかによって、グラフィックパラメータの順序が異なります。

Image[0]から順に、各現示数(2-5)において、各方向4種類の画像を以下の順番で定義します。代替経路は(代替)、主経路は(主)と省略しています。

  • 通常の信号
    • 2現示: 停止、進行
    • 3現示: 停止、進行、注意
    • 4現示: 停止、進行、注意、警戒
    • 5現示: 停止、進行、注意、警戒、減速
  • has_selective_choose=1が定義されている信号
    • 2現示: 停止、進行(代替)、進行(主)
    • 3現示: 停止、進行(代替)、注意(代替)、進行(主)、注意(主)
    • 4現示: 停止、進行(代替)、注意(代替)、警戒(代替)、進行(主)、注意(主)、警戒(主)
    • 5現示: 停止、進行(代替)、注意(代替)、警戒(代替)、減速(代替)、進行(主)、注意(主)、警戒(主)、減速(主)
  • has_call_on=1が定義されている信号
    • 2現示: 停止、進行、呼び出し
    • 3現示: 停止、進行、注意、呼び出し
    • 4現示: 停止、進行、注意、警戒、呼び出し
    • 5現示: 停止、進行、注意、警戒、減速、呼び出し
  • is_presignal=1aspects=2 の信号
    • 2現示: 注意、進行
  • ステーション信号は、これらのグラフィックス定義が必要になります
    • 3現示: 停止、進行(逆方向)、注意(逆方向)、進行(順方向)、注意(順方向)
    • (訳者注:inverseを逆方向、obverseを順方向と訳したんですが、この向きで合ってるかちょっと自信ないです。)

Pak128.Britain-Exでの例:4現示色灯式赤色振り分け信号

# 停止
Image[0]=images/signal-1-aspect-led-square-route-indicator-danger.1.2,42,-2  
Image[1]=images/signal-1-aspect-led-square-route-indicator-danger.1.0,-37,12  
Image[2]=images/signal-1-aspect-led-square-route-indicator-danger.1.1,-7,-18  
Image[3]=images/signal-1-aspect-led-square-route-indicator-danger.1.3,10,27  
# 進行(代替経路)
Image[4]=images/signal-1-aspect-led-square-route-indicator-clear.1.2,42,-2  
Image[5]=images/signal-1-aspect-led-square-route-indicator-clear.1.0,-37,12  
Image[6]=images/signal-1-aspect-led-square-route-indicator-clear.1.1,-7,-18  
Image[7]=images/signal-1-aspect-led-square-route-indicator-clear.1.3,10,27  
# 注意(代替)
Image[8]=images/signal-1-aspect-led-square-route-indicator-caution.1.2,42,-2  
Image[9]=images/signal-1-aspect-led-square-route-indicator-caution.1.0,-37,12  
Image[10]=images/signal-1-aspect-led-square-route-indicator-caution.1.1,-7,-18  
Image[11]=images/signal-1-aspect-led-square-route-indicator-caution.1.3,10,27  
# 警戒(代替経路)
Image[12]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.2,42,-2  
Image[13]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.0,-37,12  
Image[14]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.1,-7,-18  
Image[15]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.3,10,27  
# 進行(主経路)
Image[16]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.2,42,-2  
Image[17]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.0,-37,12  
Image[18]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.1,-7,-18  
Image[19]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.3,10,27  
# 注意(主経路)
Image[20]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.2,42,-2  
Image[21]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.0,-37,12  
Image[22]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.1,-7,-18  
Image[23]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.3,10,27  
# 警戒(主経路)
Image[24]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.2,42,-2  
Image[25]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.0,-37,12  
Image[26]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.1,-7,-18  
Image[27]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.3,10,27  
Icon=> images/signal-icons.6.8  
Cursor=images/signal-icons.6.9

信号扱所向けのdatパラメータ

信号ボックスは建物として扱われ、通常の建物パラメータが適用されます。

(訳者注:建物・停留所編はまだ翻訳していません。 http://forum.simutrans.com/index.php?topic=15222.msg150137#msg150137 を参照してください。)

全般

obj=building
type=signalbox
name=
copyright=
intro_year=
intro_month=
retire_year=
retire_month=
level=
cost=
maintenance=
population_and_visitor_demand_capacity=
employment_capacity=
mail_demand=
allow_underground

この建物が地下、地上、またはその両方のいずれに建設されるかを指定します。0は地下にのみ建設可能であることを意味します。1は、地下にのみ建設可能であることを意味します。2は、地下と地上のどちらにも建設可能であることを意味します。デフォルトは2です。

allow_underground=0 (地上のみ)
allow_underground=1 (地下のみ)
allow_underground=2 (地上にも地下にも)
signal_groups

信号と同様:上記参照

signal_groups=16,24
radius

この信号機に接続された信号を配置できる最大距離(メートル)。

capacity

この信号機に接続可能な信号の最大数

To be updated........(訳者注:2022年12月27日現在での翻訳元の更新日時は、2017年6月11日でした。)

Simutrans-Extendedの機能・datパラメータ紹介(産業・貨物編)

soukouki.hatenablog.jp の産業・貨物編です。

https://forum.simutrans.com/index.php/topic,15229.0.html を翻訳しました。

このガイドは、Simutrans-Extendedバージョン12.x以降にのみ適用されます。

Extendedで追加された機能の紹介

地域

これは、マップの一部を独自の名前を持つ独立した地域として定義することができるシステムです。現在のところ、次のようなものがあります。

  1. 町名
  2. 通り名/停留所名
  3. どのような市内建築物を建設できるか
  4. どのような産業を興すことができるのか

地域は現在、長方形を重ねただけの単純なシステムになっています。市区町村のリストを使って地域の市区町村名と通り名・丁目名を定義するには、次のように括弧内に数字を追加します。[ x ](実際は空白なし)をファイル名の最後、_[language]の部分の直前に追加します。

例えば、地域番号 1 の英語の都市リストには citylist[1]_en.txt を、地域番号 2 のフランス語の道路/停留所リストには streetlist[2]_fr.txt を使用します。地域固有のリストが定義されていない場合、基本リスト (すなわち、角括弧内の任意の番号のないもの) が使用されます。

産業のパラメータに対してのヒント

工場は、通常の市内建築物やプレイヤーの建物と多くのパラメータを共有しており、以下のリファレンス(当記事)にあるいくつかのパラメータは、datファイルのリファレンスを読むことを示唆する内容を含んでいます。建物と停留所編を読んで、全体像を把握することをお勧めします。

(訳者注: 現在、建物と停留所編はまだ翻訳していません。英語のリファレンスは https://forum.simutrans.com/index.php?topic=15222.msg150137#msg150137 にあります。)

それ以外では、工場はSimutrans ExtendedではSimutrans Standardとほぼ同じようにコード化されていますが、いくつかの相違点があります。

訪問者・居住者・労働者

訪問者、居住者、労働者のシステムは他の建物と同じです。したがって、建物と停留所編をお読みください。 (訳者注: 現在、まだ翻訳していません。)

バージョン11.x以前からあります。

貨物の収益について

貨物は、その移動距離に応じて複数の収益を持つことができます。 これは、その財が、指定された距離まで収益を上げ、次の指定された距離まで別の収益を上げる、というように指定されます。これにより、ある財を短距離か長距離のどちらか一方しか輸送できないようにすることが可能になります。

datパラメータの紹介

産業向けのdatパラメータ

全般

obj=factory
name=
copyright=
intro_year=
intro_month=
retire_year=
retire_month=
climates:{S}

この産業が建設可能な気候を カンマ区切りで列挙します。可能な気候は、以下の例の通りです。指定しない場合のデフォルトはすべての気候です。

climates=desert,tundra,tropic
climates=arctic
指定するときの名称 日本語名称 備考
desert 砂漠気候
tropic 熱帯気候
mediterran 地中海性気候
temperate 温暖気候
tundra ツンドラ気候
rocky ? 日本語訳不明
arctic 氷雪気候
water 海岸 沿岸部のみに生成されます
location:{S}

この産業が建設される可能性のある場所を指定します。

  • location=land
    • 市街地の外に建設されます。
    • 注意:location=land かつ climates=water の場合、海岸線にのみ建設されます。
  • location=city
    • 市街地内に建設されます。
  • location=water
    • 広い水面がある場所に建設されます。
distributionweight:{S}

このパラメータは、産業が表示される頻度を指定します。値が大きければ大きいほど、より頻繁に出現します。

max_distance_to_consumer:{E}

この数値はキロメートル単位で設定され、この産業が消費者から建設できる最大距離を指定します。

mapcolor:{S}

このテーブルに従って、ミニマップに表示するマップカラーを設定します。 指定する値は https://simutrans-germany.com/wiki/wiki/en_FactoryDef#The_Parameter_MapColor や日本語wiki https://japanese.simutrans.com/index.php?cmd=read&page=%A5%A2%A5%C9%A5%AA%A5%F3%B3%AB%C8%AF%2Fdat%A5%D5%A5%A1%A5%A4%A5%EB%B5%AD%BD%D2%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9%2Ffactory%28%BB%BA%B6%C8%29#k1e850f5 を参照してください。

upgrade[X]:{E}

(Xは0から始まる255以下の数字です。) 現在の工場が閉鎖されたときにアップグレードされる可能性のある工場のリストを指定します。

upgrade[0]=Bookshop1860
upgrade[1]=Bookshop1920
level:{M}

設定には多くの機能があり、その多くは他のパラメータで上書きすることができます。 主にsimuconf.tabで指定された乗数、またはSimutransにハードコードされた乗数と一緒に使用されます。

  1. 求人数、人数、郵便量のパラメータが指定されていない場合、simuconf.tabの乗算を使ってデフォルト値を設定します。
  2. 建物の上や下に通路を作る場合の通路のコストを計算します(simuconf.tab の値 cost_buy_land に建物のレベルを掛けた値の1/5)。
  3. simuconf.tab のパラメータ max_elevated_way_building_level を用いて,橋や高架を建設することができる建物の最大サイズ (サイズとは "level" の値です) を決めます。
regions:{E}

regions パラメータは、産業を構築することができる地域を設定します。これは、simuconf.tabで指定された地域の番号です。このパラメータを指定しない場合、産業はどの地域でも建設することができます。このパラメータは、すべての建物に適用されます。

regions=1,2,5

貨物の生産と消費

到着する貨物

これらのパラメータは、産業が生産するために必要な原材料を指定します。4つのパラメータは、産業が必要とする貨物の種類ごとにすべて必要です。パラメータの各セットは、0から始まる角括弧内に与えられたインデックス番号と関連付けられています(以下、Xで表されます)。

InputGood[0]=Bretter
InputCapacity[0]=32
InputFactor[0]=87   
InputSupplier[0]=2 
InputGood[1]=Stahl
InputCapacity[1]=16
InputFactor[1]=13
InputSupplier[1]=2
inputgood[X]:{S}

貨物の名前。

inputcapacity[X]:{S}

この貨物をどれだけ産業で保管できるか。

inputfactor[X]:{S}

生産されるものに対して、投入される貨物がどれだけ必要か(パーセントで指定します)。

inputsupplier[X]:{S}

供給元の数を指定します。もし0なら、目的の貨物を供給する各産業が供給者として選ばれます。

出荷する貨物

これらのパラメータは、その産業が製造する貨物を指定します。3つのパラメータはすべて、産業が生産する貨物の種類ごとに必要です。パラメータの各セットは、0から始まる角括弧内に与えられたインデックス番号に関連付けられています(以下、Xで表されます)。

OutputGood[0]=Moebel
OutputCapacity[0]=80
OutputFactor[0]=222
outputgood[X]:{S}

貨物の名前

outputcapacity[X]:{S}

この貨物をどれだけ産業で保管できるか

outputfactor[X]:{S}

生産品に対して原料がどれだけ必要かをパーセントで表したもの。

productivity:{S}

産業で生産される貨物の最小量を定義します。

range:{S}

産業界の実際の生産率がどの範囲にあるかを定義します。最小生産率はproductivity、最大生産率はproductivity+rangeの値になります。

electricity_amount:{S}

生産単位あたりの最大電力消費量。

electricity_proportion:{E}

産業が生産量に対して消費する電力の割合をパーセントで表したもの。100はSimutrans-Standardの値に相当します。これにより、異なる産業で同等の生産量に対して異なる量の電気を使用することができます。デフォルト:17

electricity_boost:{S}

電気が供給された場合の生産量の増加率を1/1000で指定します。デフォルトは1000。

passenger_demand:{S}

この産業が生産単位と時間あたりどれだけの乗客を要求するか。注意(2016/1/28現在):この設定は、まだ完全な産業ブースト機構ではないため、Simutrans Extendedから削除、置き換え、修正される可能性があります。

passenger_boost:{S}

乗客が到着した場合、生産量を1/1000単位で増加させます。デフォルトは0。

mail_demand:{S}

この産業が、生産単位と時間あたりどれだけの郵便物を要求するか。

mail_boost:{S}

メールが届いた場合の生産量の増加率を1/1000で指定します。デフォルトは0。

population_and_visitor_demand_capacity:{E}

この産業が必要とする訪問者の数を指定します。まだ完全に組み込まれた機能ではありませんが(2016/1/28現在)、この設定は最終的におそらく産業ブースト機構に干渉することになるでしょう。

employment_capacity:{E}

この産業が必要とする労働者の数を指定します。まだ完全に組み込まれた機能ではないのですが(2016/1/28現在)、この設定は最終的におそらく産業ブースト機構に干渉することになるでしょう。

max_distance_to_suppplier:{E}

このパラメータは、その産業がどの供給者からも離れることができる最大距離をキロメートル単位で設定します。しかし、この距離は、その産業の現在の地域に供給者が存在しない投入貨物については適用されません。

産業の増強(フィールドを使わないもの)

expand_probability:{S}

増強する確率です。10.000より大きい場合、生産中に常に拡大します。

expand_minimum:{S}

生産時の最小の増強率を指定します。

expand_range:{S}

この値から0までの間の乱数で生産量が増加します。

expand_times:{S}

この産業が発展する最大の回数を指定します。

フィールドを使う産業

(以下訳者より)

Standardからの変化はないので、日本語wikihttps://japanese.simutrans.com/index.php?cmd=read&page=%A5%A2%A5%C9%A5%AA%A5%F3%B3%AB%C8%AF%2Fdat%A5%D5%A5%A1%A5%A4%A5%EB%B5%AD%BD%D2%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9%2Ffactory%28%BB%BA%B6%C8%29#fe83d366 を参照してください。

翻訳元の記事では start_fields は書かれていませんでしたが、Pak128.Britain-Exに start_fields を指定している箇所がありました。恐らく記事が書かれた後に追加されたのだと思われます。

煙を使う産業

(以下訳者より)

同じくStandardからの変化はないので、日本語wikihttps://japanese.simutrans.com/index.php?cmd=read&page=%A5%A2%A5%C9%A5%AA%A5%F3%B3%AB%C8%AF%2Fdat%A5%D5%A5%A1%A5%A4%A5%EB%B5%AD%BD%D2%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9%2Ffactory%28%BB%BA%B6%C8%29#k35565c1 を参照してください。

グラフィック

工場のグラフィックは、通常の建物と同じようにコード化されていますが、最大4つの回転がありますが、サイズの制限はなく、アイコンとカーソルはありません。パラメータは以下の通りです。

(訳者注:建物・停留所編はまだ翻訳していません。 http://forum.simutrans.com/index.php?topic=15222.msg150137#msg150137 を参照してください。)

needs_ground=
animation_time=
seasons=
dims=
backimage[0][0][0][0][0][0]=
frontimage[0][0][0][0][0][0]=

貨物向けのdatパラメータ

全般

obj=good
name:{S}

貨物の名前。パックセットにどのような貨物を組み込むかは完全に自由ですが、3つの必須貨物は必ず作成する必要があります。それらは name=passagiere, name=post, name=noneです。「none」は実際の貨物ではなく(輸送できない)、他のすべてのパラメータを0に設定することができます。これはSimutransの設計によるものです。

metric:{S}

この貨物の1つの「単位」を、バレル、トン、または他の方法で何と呼ぶか。

metric=tonnen
metric=kilolitres
catg:{S}

0から7までの数字で、この貨物がどのカテゴリに属しているかを表します。catg=0を除いて、同じカテゴリーに属するすべての貨物は、同じ車両で輸送することができます。catg=0が指定された場合、それは「特殊貨物」とみなされ、その貨物を運ぶために、nameパラメータで特定される特殊車両が必要となります。 name=passagierename=postname=noneも特殊貨物として扱われるため、catg=0が必要であることに注意してください。

weight_per_unit:{S}

この商品の1つの「単位」の重さをKgで表します。metric=tonnesなどの重量単位が使われている場合は、必ずその重量をKg単位で入力してください。

mapcolor:{S}

このテーブルに従って、ミニマップに表示するマップカラーを設定します。 指定する値は https://simutrans-germany.com/wiki/wiki/en_FactoryDef#The_Parameter_MapColor や日本語wiki https://japanese.simutrans.com/index.php?cmd=read&page=%A5%A2%A5%C9%A5%AA%A5%F3%B3%AB%C8%AF%2Fdat%A5%D5%A5%A1%A5%A4%A5%EB%B5%AD%BD%D2%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9%2Ffactory%28%BB%BA%B6%C8%29#k1e850f5 を参照してください。

貨物の収益

各パラメータの組は、0から始まる角括弧内のインデックス番号と関連付けられています(以下、Xで表します)。 value[X] は、 to_distance[X] で設定された距離まで1キロメートルごとに支払われる実際のシムクレジットの1/100の量を定義します(キロメートルで指定されます)。 次のエントリは、そのキロメートル数までの値を定義します。最後のエントリは、無限の長さをシミュレートするために、to_distance[X]=0 という値を持つ必要があります。

例 この貨物の場合、最初の16kmは60c/km、次の32kmは50c/km、それ以降は47c/kmとなります。

value[0]=60
to_distance[0]=16

value[1]=50
to_distance[1]=32

value[2]=47
to_distance[2]=0

クラスについて

このセクションは、name=passagierename=post の場合にのみ使用されます。

number_of_classes=5
class_revenue_percent[0]=60
class_revenue_percent[1]=100
class_revenue_percent[2]=133
class_revenue_percent[3]=150
class_revenue_percent[4]=200
number_of_classes:{E}

この貨物が持つクラスの数。最大255個。

class_revenue_percent[X]

これは、この特定のクラスがどれだけの収益を生み出すかを計算するための修正値です。class_revenue_percent[X]=100 の場合、このクラスは value[X]のセクションで述べた収益の100%を生成することを意味します。

Simutrans-Extendedのdatパラメータ紹介(一部)

この記事はSimutrans Advent Calendarの11日目の記事です。

adventar.org

前座

soukouki.hatenablog.jp

本編

soukouki.hatenablog.jp 本当は全種類やりたかったんですが、さすがに大遅刻をかましているので諦めました。

soukouki.hatenablog.jp (2022-12-25)追加しました!

soukouki.hatenablog.jp (2022-12-28)追加しました!

datファイルのキーについて

最初はSimutrans-Extendedのソースコードを漁ってパラメータの一覧を書く予定だったんですが、全タイプに共通する部分と、obj=bridgeについて纏めただけでかなり疲れたので諦めました。全タイプに共通する処理の部分だけ載せておきます。

全タイプ共通

obj=<後述>

  • オブジェクトのタイプ
  • 設定できる値は次のどれか
    1. bridge
    2. building
    3. citycar
    4. crossing
    5. factory
    6. good
    7. ground
    8. ground_obj
    9. pedestrian
    10. pier (extで追加された橋脚ツール)
    11. roadsign
    12. menu
    13. cursor
    14. symbol
    15. smoke
    16. field
    17. misc (その他各オブジェクトに属さないもの)
    18. sound
    19. tree
    20. tunnel
    21. vehicle
    22. way-object
    23. way
  • name=<任意の文字列>
  • オブジェクトの名前です

cell_size=<整数>

  • オプショナル
    • デフォルトの値はmakeobjで指定した値
  • 画像のサイズを指定します
  • 普通はmakeobj pak128 hoge.pak hoge.datのようにmakeobjのコマンドラインでpakサイズを指定しますが、datファイル内でも指定できます。(cell_size側が優先されます)

copyright=<任意の文字列>

  • オプショナル
    • デフォルトの値は空文字列
  • 製作者の名前を指定します

Simutrans-Extendedの機能・datパラメータ紹介(軌道・車両編)

soukouki.hatenablog.jp の軌道・車両編です。

https://forum.simutrans.com/index.php/topic,15174.0.html を翻訳しました。

このガイドは、Simutrans-Extendedバージョン12.x以降にのみ適用されます。

Extendedで追加された機能の紹介

軌道の摩耗と更新

(このセクションの翻訳はちょっと自信ないです・・・)

各軌道は車両が通過するたびに摩耗します。軌道がどれだけ摩耗に耐えられるかは、軌道の.datファイルにwear_capacity=を使って設定します。デフォルトの値は100,000,000です。

また、各車両が通過するたびにどれだけ摩耗するかは、各車両の.datファイルでway_wear_factor=を使って設定できます。デフォルトでは、自動車(馬なども含む)と飛行機(地上では自動車のように振る舞う)は、最大軸重と推測した重量から、その4乗の値を使って摩耗を計算します。鉄道などの車両はデフォルトで2乗の値を(1乗にするべきかどうかはクエリで確認してください)、船などは通常、軌道を摩耗させないのでデフォルトで0になります。

摩耗量は、8tの標準的な車軸荷重の1万分の1で測定することを意図しています。つまり、軸重が8t、1車軸あたりの摩耗量は10000と指定されたとき、その車両が通った軌道の摩耗量は正確に1になります。

軌道の摩耗状態は、軌道情報ウィンドウとミニマップの新しい「軌道の状態」オーバーレイに表示されます。摩耗状態が設定した割合(デフォルトでは1/7、約14%、simuconf.tabで設定します)以下になると、軌道は自動更新されるか、プレイヤーの資金が不足した場合には劣化します。軌道が劣化すると制限速度が半分になり、さらに軌道の摩耗状態が0になると通行不能になります。

デフォルトでは、軌道は廃止されない限り同じ種類に自動更新され、その場合は現在利用可能な最も近い種類が選択されます。プレイヤーは、新しい種類の軌道を古い軌道の上にshiftキーを押しながらドラッグして、アップグレードする軌道の種類を手動で選択することができます。自動更新を無効にするには、shiftキーを押しながら軌道除去ツールを軌道の上にドラッグし、資金不足のときと同じように動作させます。

軌道の更新が必要で、そのための資金が不足している場合、プレイヤーは1ヶ月に1度警告を受けます。

モスボール軌道(廃線になって放置された軌道)を作成するには、以下の値を使用します。

cost=0
maintenance=0
topspeed=0
max_weight=0
wear_capacity=0

橋の上の軌道の更新

「軌道」と「橋」が分離され、橋全体を壊すことなく、橋の上にある軌道をアップグレードできるようになりました。これにより、橋の上にある軌道をより良いものに更新し、橋自体を維持することができます。もし、橋の画像に描かれた軌道の画像(例えば、木のデッキ)がある場合、has_own_way_graphics=1 を定義して、橋に描かれた軌道の画像を表示しないようにする必要があります。

水路の改善

船の挙動を改善するために、水路のデータファイルにいくつかのパラメータを入れることができます。max_vehicles_on_tile=の設定は、狭い水路を再現するために、重なっている船の数を制限します。また、max_altitude=は水路に特に有用です(水路だけでなく、すべての軌道に使用できます)。これは水路が海面からの高さを制限します(例えば、プレイヤーが山の上に水路を作ることを禁止できます)。

topspeed_gradient_1=topspeed_gradient_2= は坂道での速度制限を設定します。これは船が川を上るために閘門を通らなければならないことをシミュレートすることができますが、これはすべての軌道で使用することができます。0に設定すると、丘は登れなくなります。

これらはバージョン11.x以降で使用できます。

軌道の制約

軌道制約とは、特定の(通常は特殊な)軌道を適切な車両のみが使用できるようにする方法です。例えば、一部の地下鉄(ロンドン地下鉄など)には、普通の列車が通れないほど小さなトンネルがあります。その場合、普通の車両は地下鉄には入線できませんが、逆に地下鉄の車両は普通の線路に入線できます。また、交流電化された列車は直流電化された線路を走ることができない、またはその逆を行うなど、特定の種類の電化を行うために使用することができます。

車両と軌道の両方が軌道制約を持つことができます。軌道制約には、許可型と禁止型の2種類があります。各パックセットには、それぞれのタイプの軌道制約を最大8つまで持つことができます。

許容型の軌道制約では、適合する制約を持つ車両がその軌道を使用することを認めます。例えば、許容的な軌道制約は 直流電化のようなものです。直流電化された車両は直流電化された軌道だけを走れます。許容型の制約では、車両がその制約を持っている場合、軌道もその制約を持っていなければなりません。許容型の軌道制約では、制約のない車両がその軌道を使うことを止めることはありません。

禁止型の経路制約では、一致する制約を持たない車両がその経路を使用することを禁止します。例えば、禁止軌道制約は 「チューブ・トンネル」(ロンドンの狭い地下鉄のトンネル)となります。チューブ・トンネルにはチューブの大きさの車両しか入れません。禁止型の制約では、軌道に制約がある場合、車両はその制約を持たなければなりません。禁止された軌道制約を持つ車両は、一致する制約のない軌道の使用を禁止されることはありません。

軌道制約には番号が振られています。.datファイルに禁止軌道制1がある車両は、.datファイルに禁止軌道制約1がある軌道を使用することができるようになります。軌道制約の命名は、翻訳ファイルで実現されます。デフォルトでは、制約は 「Permissive X 」(Xは0から7までの数)と呼ばれます。翻訳ファイルは特定のパックセットの[ISO-LANGUAGE].tabファイル(英語の場合はen.tab)です(/simutrans/textディレクトリのものではありません)。

以下はPak128.Britain-Exの例です。

Permissive 1
DC Electrification
Permissive 2
AC Electrification
...
Prohibitive 1
Tube tunnels
Prohibitive 2
Tramway
...

車両の改造(アップグレード)

Simutrans-Extendedでは、他の車両に置き換えるだけでなく、車両を他の車両にアップグレードすることもできます。車両は元の車体を維持したまま、新しい種類に改造できます。これは、例えば、元の車両の大部分を残しながら、大幅に異なる特性を持たせるような車両の大改装を再現するのに有効です。アップグレードは、一般的に車両を新しく購入するよりも安価です。

アップグレード可能な車両を作成するには、現在の車両からアップグレード可能な車両を車両の.datファイルで指定する必要があります。例えば、Petts Co. Mark I 'busをPetts Co.のMark I-A 'busにアップグレードすることができます。Mark I-A 'bus、またはPetts Co. Mark I-B 'busにアップグレードできる場合、Mark Iの.datファイルには、Mark I-AとMark I-Bを指定する必要があります。また、特別なアップグレード価格を指定することができます。これは、プレイヤーがその車両にアップグレードするために支払う価格です。つまり、Mark I-Aの「バス」を新品から購入すると10,000cかかるが、それにアップグレードすると5,000cしかかからないとすると、Mark I-Bのアップグレード価格は5,000cと指定されることになるのです。

アップグレードでしか入手できない車両もあります。これは、新車から改造型が作られる例がなく、後年大幅に改造される車両を再現するためのものです。アップグレードでしか入手できない車両にアップグレードするために、プレイヤーが適切なタイプの車両をすべて持っているとは限らないので、パックセット/アドオン作者は、すべての時代で新品で購入できる車両が十分にあることを確認するように注意する必要があります。

ケータリング

Simutrans-Extendedでは、車列にケータリング車両を組み込むことができます。これは、列車の食堂車のように、乗客に食べ物や飲み物を提供するための車両です。ケータリングカーは、それ自体が収益源となることと、車列全体の快適性を高めるという2つの意味で有効です。

ケータリングのレベルは5段階あり、缶飲料やポテトチップスを販売するワゴンサービスから、船内で調理したばかりの豪華な食事までシミュレートすることができます。ケータリングレベルは1~5の数字で表され、1が最も低く、5が最も高くなります。ケータリングレベルを0と指定すると、ケータリングが全くないのと同じことになります。5以上の数字が指定された場合、5で切り捨てられます。

各レベルの意味は以下の通りです。

  • レベル1: ワゴンサービス(+5の快適度)
  • レベル2: ミニチュアビュッフェ(冷食のみ) (+10の快適度)
  • レベル3: 温かい食べ物を販売するビュッフェ (+16の快適度)
  • レベル4: 調理された食事 (座席でのサービスを含む可能性あり) (+20の快適度)
  • レベル5: プルマン式の豪華な食事。(+25の快適度)

旅程が長ければ長いほど(距離ではなく時間)、ケータリングは有用です(これはsimuconf.tabで調整可能です)。短距離の旅では、ケータリング車両は全く収益を上げません(車両全体の快適さには貢献しますが、短距離では快適度があまり重要ではありません)。Pak128.Britain-Exでは、乗車時間が45分以上の場合にケータリングが機能します。

距離が長くなればなるほど、ケータリング設備から得られる収益も大きくなります。 短距離の旅では、高いケータリングレベルの乗客から得られる収益は低いレベルの乗客が得られる収益より高くはなりません。長い旅では、ケータリングの上位レベルが下位レベルより多くの収入を得ることができます。

この機能を効果的に使用するために、ケータリングカーは普通の車よりも製造コストが高く、運行コストも高く、乗客数も少ない(ケータリング車両は同時に乗客を運ぶことができるが、そうする必要はない)ことに注意する必要があります。また、長距離車両の快適性レベルを調整する際には、長距離の旅にはケータリングが追加されることを考慮に入れ、それに応じて調整することを忘れないようにしましょう。ケータリング車両が得るケータリング収入は、ケータリング車両だけでなく、車列全体の乗客数に基づいています。

郵便車両には、ケータリングに相当するもの、つまり区分けを行う郵便車(取扱便車)があります。走行中の郵便局の車両には異なるレベルはなく、快適さは郵便には関係ありません。乗客のためのケータリング車両と同様に、車両全体の追加収入を得ることができ、短い旅程よりも長い旅程でより有用です(距離ではなく時間で測定されます)。Pak128.Britain-Exでは、90分以上運ばれた場合に追加収入を得られます。

カラーリング(livery)

Simutrans-Extendedでは、車両にさまざまな色の塗装を施せます。カラーリングはカラーリングスキームによって構成されています。

カラーリングスキーム内の個々のカラーリングは、導入日により区別されます。プレイヤーは車両に適用するカラーリングを選択し、現在の日付に従って適切なカラーリングが選択されます。カラーリングは、現在の日付が、そのスキームの中で最も早く導入されたカラーリングよりも遅い場合にのみ利用できます。スキーム自体には引退日があり、それを過ぎるとスキーム全体が利用できなくなります。車両は、手動でカラーリングを変更するまで、既存のカラーリングを保持します。将来のバージョンでは、オーバーホール時に自動的にカラーリングが変更される予定です(オーバーホールは将来的に導入される予定の機能です)。

datパラメータの紹介

特に指定がない場合は、全ての車両で全ての段落が使用可能です。

車両向けのdatパラメータ

全般

obj=vehicle
name=
copyright=
intro_year=
intro_month=
retire_year=
retire_month=
speed=
length=
weight=
sound=
waytype:{S}

この車両が走行可能な軌道 (軌道の制約についてのセクションも参照)

waytype=road
waytype=track
waytype=tram_track
waytype=monorail_track
waytype=maglev_track
waytype=narrowgauge_track
waytype=water
waytype=air
range: {E}

駅間距離の制限 (0に設定した場合は無制限)

(訳者コメント)例えば、機関車が無停車で走れる距離だったり、船が港によらずに走行できる距離だったりを指定します。

axles: {E}

車両についている車軸数です。軸重を計算するために利用されます。デフォルトは2です。

axle_load: {E}

もし、車両がある車軸に他の車軸よりも多くの重量があることが分かっている場合、axles=の代わりに軸重を個別に指定することができます。0を指定すると、車両は車軸の代わりに脚があるとみなされます(例:馬など)。

brake_force: {E}

この車両のブレーキ力をキロニュートン単位で指定します。指定しない場合のデフォルトは、車両の重量を基に計算されます。ゼロに設定すると、この車両はブレーキが付いていないことになります。

rolling_resistance: {E}

車両の転がり抵抗(キログラムあたりニュートン)を指定します。指定しない場合のデフォルトは車両の種類によって異なります。

air_resistance: {E}

この車両が移動するときに発生する空気抵抗のレベルです。物理エンジンに使用されます。車両が適切に流線型でない限り、空白にしておくことを推奨します(もし指定する場合は、以下の例の値を使用してください)。この値は、より高い精度を得るために、内部およびほとんどの標準的な物理計算で使用される値の100倍です。例えば、値が108の場合は1.08になります。デフォルトは車両の種類によって異なります。

way_wear_factor:{E}

車両がどれだけ軌道を摩耗させるかの度合い。摩耗は、標準的な車軸荷重8tの1万分の1で測定することを意図しています。

smoke:{S}

使用する煙の名前を指定します。

is_tall:{E}

この車両を背が高いと見なすかどうかを指定します。背の高い車両は、半分の高さしかない橋の下を通過することができません。これは、2階建てのバスや路面電車、帆船などに使用することを想定しています。1階建てのバスや路面電車に、ゲーム内での機能を持たせようというものです。 (訳者注:Simutrans-Extendedでは、高さ制限の低い立体交差を作れます。1階建ての車両は緩坂1段の隙間を通れます。)

is_tall=1
has_front_cab has_rear_cab:{E}

車両の両端に運転台があるかどうかを指定します。1の値は運転台があることを意味し、0の値は運転台がないことを意味します。運転台があるかないかで、その車両の端が先頭として機能するかどうかが決まります。パラメータを省略した場合、デフォルトは-1、つまりAUTOとなります。AUTOに設定されると、Simutransは制約、bidirectionalパラメータ、can_lead_from_rearパラメータ(現在では非推奨)を見て、自動的にどちらかの端に運転台を割り当てます。

自動運転席割り当ての表

状態 前方運転台 後方運転台
制約条件を指定しない場合
constraint[prev]=none
constraint[next]=none かつ can_lead_from_rear=1
constraint[next]=none かつ bidirectional=1
bidirectional:{E}

(鉄道車両のみ) 両方向に走行できるかどうかを指定します。

bidirectional=1
is_tilting:{E}

(鉄道車両のみ) この車両はカーブを走行する時に傾くため、通常の車両より約30%速くカーブを曲がれます。(いわゆる振り子式車両)

is_tilting=1
minimum_runway_length:{E}

(航空車両のみ) この車両が着陸または離陸できる最短の滑走路の長さ(メートル)。滑走路のメートル単位の距離は、特定のゲームに適用されるタイルあたりのメートル数で計算されます。デフォルトは0(任意の滑走路を使用可能)。

車両のコスト関連

cost:{S}

車両の価格(1/100シムクレジット単位)

runningcost:{S}

車両の1kmあたりの運行費(1/100シムクレジット単位)

fixed_maintenance:{E}

毎月の維持費(車両が移動しなくても毎月このコストがかかる) (1/100シムクレジット単位)

increase_maintenance_after_years:{E}

車両の引退日から何年後に維持費(固定費とキロメートルあたりの維持費の両方)が増加するかを指定します。デフォルト値はsimuconf.tabで設定されています。

years_before_maintenance_max_reached:{E}

車両のメンテナンスコストが増加し始めてから(上記の設定で)最大の値に達するまでの年数。この2つの日付の間で、メンテナンスコストは線形に増加します。デフォルト値はsimuconf.tabで設定されています。

increase_maintenance_by_percent:{E}

上記の設定で指定された日付以降に適用される、車両の基本メンテナンスレベルからの増加分をパーセントで指定します。デフォルト値はsimuconf.tabで設定されています。

動力付き車両

engine_type:{M}

Simutrans-Extendedで利用可能な様々なエンジンの種類。

engine_type=bio (動物や人など)
engine_type=sail
engine_type=steam
engine_type=diesel
engine_type=petrol
engine_type=turbine (ジェットエンジンやターボポップエアエンジンのような内燃タービン)
engine_type=electric
engine_type=hydrogene
engine_type=fuel_cell
engine_type=battery
power:{S}

In kw

tractive_effort:{E}

この車両の牽引力をキロニュートン単位で指定します。powerと同様に、または代わりに指定することができ、もう一方の値が計算されます。指定しない場合のデフォルトは、powerの計算式に従って計算されます。

gear:{S}

ディーゼルエンジンや電気モーターの正確なパワーを使用しながら、トランスミッションの非効率性を考慮した正しい出力パワーをシミュレートするためにExtendedで使用されます。 パーセンテージで使用します(gear=80 であれば80%)。デフォルトは100です。

貨物と旅客を運ぶ車両

freight:{S}

車両が搭載可能な貨物の種類

payload:{S}

この車両が運べる貨物の量。クラス以外の貨物(乗客と郵便物以外)に使われる。

payload[X]:{E}

freight=Passagiere または freight=Post の場合、1つの車両に複数のクラスの旅客または郵便物を搭載することができます。この項目で指定される量は、この特定のクラスで移動する旅客または郵便物のデフォルトの量です。もし、payload[3]= のみに任意の容量を持たせたい場合は、まず、前のエントリーをすべてリストアップする必要があることに注意してください (例参照)。

payload[0]=0
payload[1]=0
payload[2]=0
payload[3]=5
comfort:{E}

車両の快適性を設定します。0から255までの数字が使用可能で、乗客にのみ適用さ れます。このパラメータは単一クラスの車両に使用できますが、より多くのクラスがある車両は後述のcomfort[X]=バージョンを使用する必要があります。デフォルトは100です。

comfort[X]:{E}

上記の設定と同様、旅客が乗る車両にのみ適用されます。X は、快適性をどのクラスに適用するかを指定します。comfort[X]=は、payload[X]=と同様に1つ存在する必要があります。空のクラスには、快適性値0を定義することができます。

comfort[0]=0
comfort[1]=0
comfort[2]=0
comfort[3]=79
overcrowded_capacity:{E}

積載量に達したときの車両の追加容量。例えば、バスであれば定員を超えて乗れる人数。

catering_level:{E}

この車両がケータリングカーであるかどうか、またケータリングカーである場合はその装備の充実度を示します。0 から 5 の間の任意の数で、0 は非ケータリング車両、1 - 5 は徐々に良い装備/より豪華なケータリング施設となります。郵便車両でこの値が 0 より大きい場合、移動郵便局になります。旅客車、郵便車以外の車両に catering_level を設定しても、効果はありません。

min_loading_time max_loading_time:{E}

この車両が乗降あるいは荷物の積み下ろしをするのにかかる最小/最大時間(ゲーム秒単位、移動時間と同じスケールで測定されます)。車列の積み込み時間は、車列の中で最も積み込みの遅い車両の積み込み時間です。乗客/物資の乗降がない場合、積込時間は車列の中で最も長い最短積込時間となります。最大人数の乗客/物資が乗車/降車した場合、積込時間は車列内で最も長い最大積込時間となります。この2点間の数値は線形に補間されます。

mixed_load_prohibition:{E}

同じ商品カテゴリで異なる商品の積み込みを禁止すること。例えば、ばら積み貨車にこの設定があり、石炭を積んだ場合、完全に空になるまで石炭以外を積むことができません。空にした後、別のばら積み貨物を積むことができるようになります。

mixed_load_prohibition=1

車両のアップグレードと制約

available_only_as_upgrade:{E}

他の車両からのアップグレードとしてのみ利用可能であり、新車で購入することはできないかどうか。

available_only_as_upgrade=1
upgrade_price:{E}

他の車両からこの車両にアップグレードするために必要な価格 (1/100シムクレジット単位)。デフォルトはこの車両の購入価格と同じです。

upgrade[X]:{E}

(Xは0から始まる255以下の数字です。) 現在の車両がアップグレード可能な車両の一覧です。

upgrade[0]=petts-mk1a
upgrade[1]=petts-mk1b
constraint[prev][X] constraint[next][X]:{M}

(Xは0から始まる255以下の連続した数字です。) 現在の車両を前方または後方に連結しなければならない車両またはキーワードのリストです。 constraint[prev][X]=none または constraint[next][X]=none の場合、現在の車両の前後にはどの車両も連結できません。 Simutrans Experiementalに特有のconstraint[prev][0]=anyconstraint[next][0]=any(まさにこの構文)は、この車両が編成の前後にいてはいけない(この車両の後ろに別の車両がなければならない)ことを意味するものです。 指定がない場合は、どの車両も接続可能です。

constraint[prev][0]=Se_X2000_X2_1990
constraint[prev][1]=Se_X2000_UA2_1990
constraint[prev][2]=Se_X2000_UB2_1990
constraint[prev][3]=none

constraint[next][0]=Se_X2000_X2_1990
constraint[next][1]=Se_X2000_UA2_1990
constraint[next][2]=Se_X2000_UB2_1990
constraint[prev][0]=Se_Y1_1970
constraint[next][0]=any
way_constraint_permissive[X]=X:{E}

(Xは共に 0 から 7 までの同じ数字)車両に影響を与える許容型の軌道制約を番号で指定します。

way_constraint_permissive[0]=0
way_constraint_permissive[3]=3
way_constraint_prohibitive[X]=X{E}

(Xは共に 0 から 7 までの同じ数字) 車両に影響を与える禁止型の軌道制約を番号で指定すします。

way_constraint_prohibitive[2]=2
way_constraint_prohibitive[7]=7
許容制約と禁止制約の違い

許容制約と禁止制約は、軌道と一緒に使用されます。 例えば、Pak128.Britain-Ex-0.9.1の許容制約2は、「交流架空電化」として使用され、これはway_constraint_permissive[2]=2を指定した車両だけがway_constraint_permissive[2]=2も定義した軌道を移動できることを意味しています。同じように、禁止制約2は 「チューブ・トンネル」(都営大江戸線のように小さいトンネル)として使用され、way_constraint_prohibitive[2]=2で指定された軌道は、そのように指定された列車のみを受け入れます。

車両のカラーリング

liverytype[X]:{E}

(Xは0から始まり255以下の連続した数字) simuconf.datのliveryセクションで定義されたカラースキームの名前です。

liverytype[0]=BOAC-speedbird
liverytype[1]=Private-operator

グラフィックス

グラフィックス:{M}

liverytype[X]=が定義されていない場合、グラフィックの定義は現在のSimutrans Standardと同じになります(EmptyImage[E]=FreightImage[4][E]=)。しかし、liverytype[X]=が定義されている場合、グラフィックの定義も、方向表現の後に[X](ここで、X はliverytype[X]で指定された X と一致しなければなりません)を追加して変更されます。

EmptyImage[E][X]=

また、カラーリングは貨物の画像と組み合わせることもできます。

FreightImage[4][E][0]=

ここで、最初の数字(ここでは4)は貨物の種類を表す番号、2番目(ここでは0)はカラーリングのインデックスを表します。

以下は、グラフィックス定義部の例です。

liverytype[0]=BR-Early  
liverytype[1]=BR-Revised  
liverytype[2]=BR-Blue  
  
EmptyImage[E][0]=./images/br-cl47-green.0.0
EmptyImage[SE][0]=./images/br-cl47-green.0.1
# 中略
EmptyImage[NE][0]=./images/br-cl47-green.0.7  
  
EmptyImage[E][1]=./images/br-cl47-b.0
EmptyImage[SE][1]=./images/br-cl47-b.1
# 中略
EmptyImage[NE][1]=./images/br-cl47-b.7  
  
EmptyImage[E][2]=./images/br-cl47-green.1.0
EmptyImage[SE][2]=./images/br-cl47-green.1.1
# 中略
EmptyImage[NE][2]=./images/br-cl47-green.1.7

また、カラーリングを動作させるためには、simuconf.tabを変更する必要があります。上記の例では、simuconf.tabに以下のセクションが必要です。

########## Livery settings #########

livery_scheme[0] = British-Railways
retire_year[0] = 1986
retire_month[0] = 6

livery[0][0] = BR-Early
intro_year[0][0] = 1948
intro_month[0][0] = 1

livery[0][1] = BR-Revised
intro_year[0][1] = 1956
intro_month[0][1] = 2

livery[0][2] = BR-Blue
intro_year[0][2] = 1966
intro_month[0][2] = 6

軌道・橋・トンネルのdatパラメータ

全般

obj:{S}

軌道、橋、トンネルのどれなのかを定義します。

obj=way
obj=bridge
obj=tunnel
Name=
copyright=
intro_year=
intro_month=
retire_year=
retire_month=
cost=
maintenance=
topspeed:{M}

車両がこの軌道、橋、またはトンネルを走行する際の最高速度を指定します。橋やトンネルの場合、最高速度は橋/トンネルと道のどちらか低い方になることに注意する必要があります。

topspeed_gradient_1 topspeed_gradient_2:{E}

この軌道で車両が走行可能な坂道(1が半端な高さ/緩坂、2が全段/急坂)の速度(km/h)です。最高速度を0にすると、勾配は通行不能になります(河川で有効)

topspeed_gradient_1=
topspeed_gradient_2=
max_weight:{M}

軌道とトンネルの場合,その軌道/トンネルを横断できる車両の最大軸重をメートル・トン単位で規定します。橋の場合、橋を横断できる編成の最大重量(荷重を含む)を、ある瞬間に橋上にいることができる編成の最大割合で割った値を指定します。この設定は、架線のような軌道オブジェクトには影響しません。橋は、総重量制限と軌道からの車軸制限の両方を持つことができることに注意してください。デフォルトは4,294,967,295 トンです。

wear_capacity:{E} (軌道とトンネルのみ)この軌道やトンネルがどれだけの「摩耗」に耐えられるかです。摩耗量は、標準的な車軸荷重8tの1万分の1で測定されることを意図しています。指定しない場合のデフォルト値は100,000,000です。

waytype: {S}

どの軌道の種類で、したがってどの種類の車両がこの軌道を走行できるかを指定します。

waytype=road
waytype=track
waytype=tram_track
waytype=monorail_track
waytype=maglev_track
waytype=water (運河と河川)
waytype=air (滑走路と誘導路)
waytype=power (送電線)
way_constraint_permissive[X]=X:{E}

(X は共に 0 から 7 までの同じ数字) 車両に影響を与える許容型の軌道制約を番号で指定します。

way_constraint_permissive[0]=0
way_constraint_permissive[3]=3
way_constraint_prohibitive[X]=X{E}

(X は共に 0 から 7 までの同じ数字) 車両に影響を与える禁止型の軌道制約を番号で指定します。

way_constraint_prohibitive[2]=2
way_constraint_prohibitive[7]=7
system_type:{S}

system_type=の後に設定される値の結果は、この軌道がどのwaytypeであるかによって変わります。

  • 道路の場合
    • system_type=0 通常
    • system_type=1 高架
  • 鉄道の場合
    • system_type=0 通常
    • system_type=1 高架
    • system_type=7 路面電車の軌道
  • モノレールの場合
    • system_type=0 標準
    • system_type=1 高架
  • マグレブ(磁気浮上式鉄道、日本で言うリニモリニア新幹線など)の場合
    • system_type=0 標準
    • system_type=1 高架
  • 飛行機の場合
    • system_type=0 誘導路
    • system_type=1 滑走路
  • 船舶の場合
    • system_type=0 運河
    • system_type=1 高架運河
    • system_type=255 河川
upgrade_group:{E}

(軌道のみ) 0 から ?の間の値です。これは、アップグレードグループのすべてのメンバーが同じ高架構造を持ち、その上にある軌道だけが異なるという状況をシミュレートするために、高架の軌道とともに使用することを意図しています。これは、橋とその下の軌道のように、高架と軌道を分離することができないため、必要です。しかし、これはあらゆる種類の軌道に使用することができます。この値が指定されていないすべての軌道のデフォルトのグループは0です。

way_only_cost:{E}

(軌道のみ) 同じアップグレードグループ内で、ある軌道から別の軌道にアップグレードする場合、本体価格ではなく、この値を使用します。

has_own_way_graphics:{E}

(橋のみ) この橋の軌道グラフィックスを、橋のグラフイックに直接描かないかどうかを指定します。デフォルトは1です。

has_own_way_graphics=0
way:{E}

(橋のみ) has_own_way_graphics=0 と組み合わせた場合に、どの軌道を橋と一緒にデフォルトで構築するかを定義します。

max_length:{S}

橋の最大長をタイルで表します。

(訳者注: 翻訳元の文章ではmax_lenghtと誤記をするように記載がありましたが、Pak128.Britain-Exの.datファイルを見るとmax_lengthでも良いようです。ソースコードは確認していませんが、ドキュメントが書かれた後に正確な綴りでも指定できるように変更されたのだと思われます。)

max_height:{S}

(橋のみ) 橋の最大高さをタイルで指定します。1から7までの数字でなければなりません。

pillar_distance:{S}

(橋のみ)柱グラフィック間の距離をタイル単位で設定します。0 の場合はすべてのタイルに柱ができます。

pillar_asymmetric:{S}

(橋のみ) 橋の両端にある柱のグラフィックを削除します。柱がタイルの中央にない場合に使用します。

pillar_asymmetric=1
max_vehicles_on_tile:{E}

(水路のみ) 水路軌道 (河川や運河) で同時に走行できる車両の最大数の制限を設定できます。小さい運河や河川の限られた容量をシミュレートするのに便利です。デフォルトは251で、それ以上の値は指定しないでください。

max_altitude:{E}

この軌道が建設できる海抜の最大高度を設定します。特に運河に有効です。

グラフィックス:{S}

これはSimutrans Standardのようにコード化されています。雪の画像を得るには、[ 0 ][ 1 ]に置き換えます(例 Image[N][1]=):

軌道、橋、トンネルのグラフィックの例。

icon=> ./images/macadam_road.3.4  
cursor=./images/macadam_road.3.5  

Image[-][0]=./images/macadam_road.1.2
Image[N][0]=./images/macadam_road.1.5
Image[S][0]=./images/macadam_road.2.1
Image[E][0]=./images/macadam_road.2.2
Image[W][0]=./images/macadam_road.2.0
Image[NS][0]=./images/macadam_road.1.0
Image[EW][0]=./images/macadam_road.1.1
Image[NSE][0]=./images/macadam_road.0.2
Image[NSW][0]=./images/macadam_road.0.4
Image[NEW][0]=./images/macadam_road.0.1
Image[SEW][0]=./images/macadam_road.0.3
Image[NSEW][0]=./images/macadam_road.1.2
Image[NE][0]=./images/macadam_road.3.0
Image[SE][0]=./images/macadam_road.2.3
Image[NW][0]=./images/macadam_road.2.4
Image[SW][0]=./images/macadam_road.2.5
ImageUp[3][0]=./images/macadam_road.4.2  
ImageUp[6][0]=./images/macadam_road.4.3  
ImageUp[9][0]=./images/macadam_road.4.0  
ImageUp[12][0]=./images/macadam_road.4.1  
ImageUp2[3][0]=./images/macadam_road.1.3  
ImageUp2[6][0]=./images/macadam_road.1.4  
ImageUp2[9][0]=./images/macadam_road.0.0  
ImageUp2[12][0]=./images/macadam_road.0.5  
Diagonal[NE][0]=./images/macadam_road.3.6  
Diagonal[SE][0]=./images/macadam_road.0.6  
Diagonal[NW][0]=./images/macadam_road.1.6  
Diagonal[SW][0]=./images/macadam_road.2.6
cursor=images/iron-girder-bridge.4.1  
icon=> images/iron-girder-bridge.4.0  
BackImage[NS][0]=images/iron-girder-bridge.0.5,0,32  
FrontImage[NS][0]=images/iron-girder-bridge.1.5,0,32  
BackImage[EW][0]=images/iron-girder-bridge.0.4,0,32  
FrontImage[EW][0]=images/iron-girder-bridge.1.5,0,32  
BackStart[N][0]=images/iron-girder-bridge.0.0,0,32  
FrontStart[N][0]=images/iron-girder-bridge.1.0,0,32  
BackStart[S][0]=images/iron-girder-bridge.0.2,0,32  
FrontStart[S][0]=images/iron-girder-bridge.1.2,0,32  
BackStart[E][0]=images/iron-girder-bridge.0.1,0,32  
FrontStart[E][0]=images/iron-girder-bridge.1.1,0,32  
BackStart[W][0]=images/iron-girder-bridge.0.3,0,32  
FrontStart[W][0]=images/iron-girder-bridge.1.3,0,32  
BackRamp[N][0]=images/iron-girder-bridge.0.6  
BackRamp[S][0]=images/iron-girder-bridge.0.8  
BackRamp[E][0]=images/iron-girder-bridge.0.9  
BackRamp[W][0]=images/iron-girder-bridge.0.7  
FrontRamp[N][0]=images/iron-girder-bridge.1.6  
FrontRamp[S][0]=images/iron-girder-bridge.1.8  
FrontRamp[E][0]=images/iron-girder-bridge.1.9  
FrontRamp[W][0]=images/iron-girder-bridge.1.7  
backPillar[S][0]=images/iron-girder-bridge.4.3  
backPillar[W][0]=images/iron-girder-bridge.4.2  
BackImage2[NS][0]=images/iron-girder-bridge.2.5,0,32  
FrontImage2[NS][0]=images/iron-girder-bridge.3.5,0,32  
BackImage2[EW][0]=images/iron-girder-bridge.2.4,0,32  
FrontImage2[EW][0]=images/iron-girder-bridge.3.5,0,32  
BackStart2[N][0]=images/iron-girder-bridge.2.0,0,32  
FrontStart2[N][0]=images/iron-girder-bridge.3.0,0,32  
BackStart2[S][0]=images/iron-girder-bridge.2.2,0,32  
FrontStart2[S][0]=images/iron-girder-bridge.3.2,0,32  
BackStart2[E][0]=images/iron-girder-bridge.2.1,0,32  
FrontStart2[E][0]=images/iron-girder-bridge.3.1,0,32  
BackStart2[W][0]=images/iron-girder-bridge.2.3,0,32  
FrontStart2[W][0]=images/iron-girder-bridge.3.3,0,32  
BackRamp2[N][0]=images/iron-girder-bridge.2.6  
BackRamp2[S][0]=images/iron-girder-bridge.2.8  
BackRamp2[E][0]=images/iron-girder-bridge.2.9  
BackRamp2[W][0]=images/iron-girder-bridge.2.7  
FrontRamp2[N][0]=images/iron-girder-bridge.3.6  
FrontRamp2[S][0]=images/iron-girder-bridge.3.8  
FrontRamp2[E][0]=images/iron-girder-bridge.3.9  
FrontRamp2[W][0]=images/iron-girder-bridge.3.7  
backPillar2[S][0]=images/iron-girder-bridge.4.5  
backPillar2[W][0]=images/iron-girder-bridge.4.4
Image[-][0]=severn-tunnel.1.2  
Image[N][0]=severn-tunnel.1.5  
Image[S][0]=severn-tunnel.2.1  
Image[E][0]=severn-tunnel.2.2  
Image[W][0]=severn-tunnel.2.0  
Image[NS][0]=severn-tunnel.1.0  
Image[EW][0]=severn-tunnel.1.1  
Image[NSE][0]=severn-tunnel.0.2  
Image[NSW][0]=severn-tunnel.0.4  
Image[NEW][0]=severn-tunnel.0.1  
Image[SEW][0]=severn-tunnel.0.3  
Image[NSEW][0]=severn-tunnel.1.2  
Image[NE][0]=severn-tunnel.3.0  
Image[SE][0]=severn-tunnel.2.3  
Image[NW][0]=severn-tunnel.2.4  
Image[SW][0]=severn-tunnel.2.5  
ImageUp2[3][0]=severn-tunnel.1.3  
ImageUp2[6][0]=severn-tunnel.1.4  
ImageUp2[9][0]=severn-tunnel.0.0  
ImageUp2[12][0]=severn-tunnel.0.5  
ImageUp[3][0]=severn-tunnel.4.2  
ImageUp[6][0]=severn-tunnel.4.3  
ImageUp[9][0]=severn-tunnel.4.0  
ImageUp[12][0]=severn-tunnel.4.1  
  
# Front Images  
FrontImage[NSE][0]=severn-tunnel.3.2  
FrontImage[NSW][0]=severn-tunnel.3.4  
FrontImage[NEW][0]=severn-tunnel.3.1  
FrontImage[SEW][0]=severn-tunnel.3.3

(画像は翻訳元である https://forum.simutrans.com/index.php/topic,15174.0.html を参照してください。)