́・ω・`)本当はExtendedに提出しないでおこうと思っていた機能を、ある程度は提出することにした。バージョン15.0のために、UIコードの特にテーブル関係で綺麗にデザインできるようになんとか書き換えたくて、そうすると色んな部分で競合発生しまくるので面倒。ぶりにSimutransのUIを見ると古臭ささと見にくさが非常に気になったのと、Ex15と私家版との差で14.0には実装されてない変更点がかなり多く、これがコードの競合の原因になっている。GLでのUIの機能拡張が進んでて、それをExtendedへの取り込めるなら取り込みたいとか難しい問題も出てきている。ひめしに(先輩方の忠言を無視して)コードをOTRP/MTICBの実験台にされ、スパゲティ化されて、プロジェクトのメンテもバグ修正も大変な状態にされたExtendedがあまりに可哀そうで不憫すぎる。バグ修正投稿したら普通にすぐに対応されたのでそういう気持ちがより強くなった。休止してる数か月とここ最近の海外の人達からの応援メッセージに励まされたなのでこれらの変更点は、Extendedに組み込まれるというか結構な進捗があって既にいくつか組み込まれました。́・ω・`)そこから必要な関数を引っ張ってきて、あとはUIにオプション追加ですぐに実装完了。́・ω・`)Ex15対応が忙しくなったタイミングだったみたい例えば、これまではどの路線のデータからこの情報にアクセスしても(a)「大阪駅で電車を待っている乗客は何人ですか?」というのを表示していた。あるカテゴリのその駅の待機量全部を拾っている。実際にその路線に乗るかは関係ない。それを(b)「大阪駅で"新快速"を待っている乗客は何人ですか?」というもうちょっと便利に使える値を拾うオプションが追加された。新快速は東西を往復しているので、2回大阪駅を通り、東へ向かう客と西へ向かう客が居る。同じ路線でもどっち向きに走っている編成に乗りたいかが異なる。́・ω・`)とは言え、現状が(a)なのだから、それが(b)にアップデートされるだけでも前進していることは間違いないよね。待機量に応じた横棒を表示して待機量の多さを見た目で補完できるようなもの。́・ω・`)それとこの表示の既存の問題として同じ駅を何度も経由する場合に同じ駅が何度も表示されてリストが混乱している、という問題があるのだけど上記3の機能を実装するなら、この問題は相反する。加えて乗客の行きたい方向によっても区別される必要もあると思っている。シミュトランス(≠ジムトランス)のコード知識から言えば、路線絞り込みは間違いなくできるのだけど同じ駅で路線内の運行の向きを考慮して待機数を出すのは、ちょっと手間がかかりすぎるかもしれない。次回以降それを掘り下げていきますか。#その2前回の続きで進捗状況...弄っているとバグが見つかって、表示がオーバーラップする場合があった。́・ω・`)直っただけ良かった。ついでだから枠組デザインに変わってちょびっと見やすくなったと思う。『バグが見つかっても自分じゃなおしません(だって取り込んだ人の責任でしょ)』ってスタンスなのがひめしというクズ日本人。小さなバグどころのレベルではない。奴らの尻拭いにらんらんや海外のコーダー達がこれまで一体何十時間費やしたか。それでも問題はほとんど除去されていない。らんらんだってじぇーむ寿司や他の人たちに一杯助けてもらっているけど、シムトラ学会などというイベント開いてそこで堂々とコードメンテナンスを海外の人らに丸投げ宣言して、有言実行してるのがひめしという奴。そのクズ行為を参加者に薦めている・・・。́・ω・`)今後そこらへんの事実を分かりやすくまとめていくので。́・ω・`)次はこれをどう味付けしていくか考えよう。今回はアイデアを練って実装作業を進めるところからやっていく。Extendedでは路線一覧にStandardには無いタブが追加されててそこから路線管理に便利な情報にアクセスできる。路線の各駅にどれだけ乗客や貨物が溜まっているかを一目でチェックできる。́・ω・`)まぁたくさんUI改変したものね。今の段階でExpert(仮)向けの追加機能を作っても、Ex15の進捗があった場合にまた競合の解消に苦しむことになるので、影響の少ないUIの改良を進めることにする。́・ω・`)もっと言えば駅番号や貨物の種類を表すの色の箱が配置されてるだけでもかなりグラフィカルになっている部類...とにかくSimutransは昔からウィンドウの見やすさが酷い。́・ω・`)「フォントのサイズ」とか「文字の太さ」とか「斜字」とかそういう根本的な部分を弄るのは現実的ではなく無理なので、できることをやっていくしかないのだけど。そりゃあ前世紀から続いていて、その開発も非常にゆっくりだから仕方ない。世界的に見ても超ドマイナーなので貢献者も少ない。改造できるかどうか分からないけど(Ex15の作業と並行して)進めてみようと思う。́・ω・`)なので、色々実装してみたいアイデアが溜まっていたところだったのだけど、中断してやりかけのEx15のUIの作業を進めてみる。́・ω・`)マスターで大丈夫なのにex15ブランチではコンパイル失敗する理由がよくわからない。́・ω・`)作業中の新スケジュールUI。デバッグモード?でUI上の各コンポーネントの枠線が表示される。これを参考にしつつUIのパーツを並べたり組み替えたりしていく。́・ω・`)1年間完全に停滞したし、将来のstandardからの組み込みや将来渡るコードの保守、都市回りの機能追加、道路回りの機能追加、こういった部分に甚大なダメージを与えた。それでもらんらんは奴らの尻拭いに何十時間も費やしたし、もちろん他のコーダーも。それでもまだ甚大な被害が残ってる。以前からアイデア自体はあったのだけど、とりまバグ修正の提出も終わったのでコーディングのリハビリ兼ねて、新しい統計表示を追加してみる。輸送断面?っていうの?駅間輸送密度表示を追加してみよう。なんちゃら線が赤字で廃線の危機、とかいう話題になるとこういう特定区間の輸送密度だのって話はでてくるからね。昨日の記事で書いたみたいに、結局これも別のUIを参考にして、あれができるならこれもできるんじゃないのっていう着想。部品をバラしてそれを集めて再構成し、別のUIを作りあげる。コーディング初心者はこの手法でどんどん小さなパッチを作って、コードに触れて理解を深めて着実にステップアップしていくのが大事。明らかに異常な遅延や迂回が発生しているかどうかの探知に使える程度で、らんらん的にあんまし要らない機能だったんだけど、今回は大変役に立ちました。́・ω・`)輸送密度っていうのはhttps://www.jrhokkaido.co.jp/corporate/region/pdf/koumoku/01_01.pdfこういう統計で、路線の各駅間でどれくらい利用されているのかっていう統計データ。路線全体の輸送密度なら、シミュトランス側は以前のらんらんのパッチで計測するようになりました。路線の総輸送キロを営業キロで割るだけだからね。́・ω・`)はぁまじくそげ路線の末端だけガラガラなんてことはよくあるし、そういうデータをプレイヤーがはっきり見れるに越したことないよね。これが見れない理由がない。́・ω・`)駅間のデータを全部記録してたらセーブデータがどれくらい大きくなるか、ちょっと分からないんだよね。らんらんは計算苦手なので。「運転時分履歴」で各駅間で計測時間を3回分保存してるくらいだから大丈夫よねっていう、これもほぼ他UIのパクりコピーだからいけるよね理論。計測で記録がちゃんとできていれば、記録したデータを使える形にして見やすく表示してやればいい。́・ω・`)おほーっ!!なんと、各路線で各貨物カテゴリ、各運賃クラス、分けて記録されます。グリーン車の各駅間利用率までしっかり確認できちゃう優れもの!!路線輸送密度と平均混雑(利用)率は駅間のデータを用いてちゃんと計測する必要があります。C駅こういう路線があったとする。AB間の乗車率が100%でBC間の乗車率が5%だった場合。AB間の乗車率が5%でBC間の乗車率が100%だった場合。距離を考慮しないで考えた場合1と2は同じ混雑(利用)率に見えてしまう。これに距離を掛け合わせることでこの路線がどれくらいの割合で埋まっているか、というのが分かるわけ。特定の区間だけ混んでるというのも明確に。ちなみに駅間混雑率が100%超えるとバーが紫色になるよ。Extendedプレイヤーならすぐ分かるだろうけど、バーとかは全部他のUIでも使ってるもの。全て既存のものの組み合わせ。あとはこの統計データのセーブデータへの読み書き処理と、画面の更新フラグと更新処理を実装するだけです。́・ω・`)本当になんでこれが無かったの。開発日誌2024年1月28日日曜日UI改修:テーブル表示にするだけの変更BeforeAfter以前に自分で作った関数に置き換えるだけなので5分でできる修正。これだけの変更でもずいぶん見やすさが変わるよね。プログラム改造のヒント:「何ができるか」を知っていると簡単な改造案件が見つかりやすい。「何ができるか」は『あれとこれを組み合わせれば』ってコードを見ずとも予想できる場合が多いよ。ExtendedのUIではこの手のテーブル式表示を増やしているので、ここやここもこのタイプにできそうだよね。́・ω・`)基本的にStandardのコードを改変してるだけだし。左側に縦線表示はできそうと思ったけど、現状のコードだと子コンポーネントから親コンポーネントのサイズが分からないので(テーブルサイズが固定ではなく、ダイアログサイズに合わせて変化する仕様なので)、縦の長さを適切に設定ができないと思う。́・ω・`)編成一覧(スケジュール一覧)とかね。本当はExtendedに提出しないでおこうと思っていた機能を、ある程度は提出することにした。らんらんはシーぷらぷらとかプログラムって何グラム?ってニンゲンたちにパッチの作り方を教えようと思う。思った以上に内容が多くなりそうだから記事を分割して投稿していくことにしたので、今回は触りだけになる。いいと思うので書きます。