情報カードで改行を行わず、半角スペースで埋めることで改行の代わりにしている解説文がズレる

Issue #570 resolved
暗黒 騎士 created an issue

「一日冒険者しませんか?」というシナリオでは情報カードの解説文でマップがアスキーアートで表現されているのですが、Pyだとこれがズレているので気づきました。(1.28-1.50ではズレないのを確認)

いつもの確認用です。

https://bitbucket.org/akkw/cardwirthpy-reboot/downloads/Classic_test.zip

カード配布メニュー>情報カードの文字位置ズレ

また二つ上の「ダミーカードを99枚配布×3」を行うとPyだと数秒フリーズするのですが、1.50だと一瞬です(これは仕様上対処難しいでしょうか…)

Comments (2)

  1. k4nagatsuki repo owner

    pull request #2004

    ご報告ありがとうございます。カードの解説欄にも特殊な折り返しルールがあるようですね。

    メッセージコンテント等で表示されるメッセージの折り返しルールは、随分長い時間と試行錯誤を繰り返してかなりの程度まで合うようになっているのですが(成果はcw.util.txtwrap()関数に見る事ができます)、カードの解説も、完璧に合わせようとしたら同じくらいの苦労を強いられそうです。

    あれに合わせたせいでこれがまたおかしくなる、という事の繰り返しなので、今回のような、本当に困る事態が現れない限りはできるだけ手を出したくないところです。

    また二つ上の「ダミーカードを99枚配布×3」を行うとPyだと数秒フリーズするのですが、1.50だと一瞬です(これは仕様上対処難しいでしょうか…)

    イベント内で計算のためにダミーカードを取り回すような場合であれば改善しましたが、それでもイベントが終了して所持カードが確定した時点でファイルへの書き込みが発生します。この書き込みを速くするのは大変難しいです。

    理屈の上では、ファイルI/Oを処理する専用のスレッドを用意すれば、ある程度操作感を損なう事なくそのような処理を行う事ができるようになりますが、これは恐ろしく手がかかる上にしばらくは致命的なバグの温床となるはずなので、頭をよぎる事はあっても手を出してはいません。

    もしそのような仕組を作るとすれば、矛盾を避けるために単一のスレッドが全てのファイルI/Oを処理しなければならず、データが実際に書き込まれるまで保護する手段も講じなければいけません。

  2. 暗黒 騎士 reporter

    対応ありがとうございました。 そういえば0.12.2ぐらいの時はフォントを変えると違和感がありましたが、その辺の調節が完成しきったということなのか最近は気になった記憶がないですね。

    この書き込みを速くするのは大変難しいです。

    やはり大改造なしには難しいですか。自分では当面どうにもならなそうなので諦めることにします。

  3. Log in to comment