ふと、A21Cの京阪3000系(現8000系30番台)の速度を、速度2(一世代前の通勤車・近郊車レベル)から、速度3(特急車・新型車レベル)にあげてみたくなりました。
考えられる方法は2つ。
- 速度3の車両のモデルデータを、京阪3000系のモデルデータで上書きし、置き換え先の車両を使う
- バイナリを弄って、速度2のところを3に変える
結論から言うと、1.は、不完全ながらできました。2.は、うまくいきませんでした。
普通の編成構造の車両であれば、1.の方法でだいたい問題なくできます(置き換え先の車両は使えなくなりますが)。京阪3000系の場合は、編成構造が
[先頭車][中間車][ダブルデッカー][中間車][先頭車]
のため、同様の構造を持つ編成を使わないと、特にDD車が再現できないことになります。
そこで、ちょうどピッタリなのがE217系。速度3で、編成構造は上記と同じ。モデルデータを確認したところ、互換性があることがわかったので、さっそく置き換えてみました。
しかし、それではダメでした。なぜかというと、車両長が微妙に違うためです。モデルデータは、車両長までは管理していないのですね。E217系の方が車両が長いため、京阪3000系のモデルデータを適用すると、車両間の隙間がえらいことになってしまったのでした。
他に、同様のモデルデータを持つものが思い浮かばなかったので、とりあえず、DD車を除いて同様のデータ構造だった京成3000形に移してみました。そうすると、DD車はないものの、京阪3000系を、見た目も問題なく速度3で走らせることはできました。
でも、待てよ、と。どうせならバイナリで速度を指定している場所を書き換えれば一発じゃん。
ということで、バイナリエディタをダウンロードしてごそごそと。そして、A21Cの実行ファイルの中に、それらしいデータを見つけました。速度1の車両には01、速度2の車両には02、速度3の車両は03……。
これに違いないと信じ、02→03に書き換えて実行。
すると、使用する編成を選択する「車両入れ替え」のモードで、ちゃんと速度3と出てきました。
しかし、入れ替えを行って購入しようとすると、なぜか速度2と表示されます。
「いや、これは表示上だけの問題に違いない」と思って、購入して走らせてみると、残念ながら速度2のままなのでした。
プログラム上、すごく無駄なことをしていると思うのですが、どうも、車両入れ替え時の速度データとは別に、速度を管理している領域があるような感じです。それがどこにあるかは、残念ながらわかりませんでした。