更新情報・連絡用~5th Season~
Comments (52)
-
reporter -
reporter 2021/09/11 CardWirth PyLite 5.0α3
- コモン関数のIFが正常に機能しなくなっていた(5.0αでのエンバグ)
返り値が正しくないことで、具体的にはPCMでダンジョンの階層表示が二桁にならない(03>3と表示される)などの問題が起きていたようです。エラーがでて止まるという問題ではなかったので見逃していました。
来月Reboot5.0が正式版になる見通しのようなので、次回はベータに移行します。
-
reporter 2021/10/18 CardWirth PyLite 5.0β1
- 防御力ボーナスおよびペナルティによるダメージの再現性を向上(Reboot5+α)
- 回避・抵抗・防御ボーナス+10修正における特殊式の厳密な実装と不正値の受け付け(CW準拠)
- レベルがマイナスのキャストにおいてCapが0以下になるようにした(CW準拠/正規範囲外)
- アイテムカードの最大使用回数が0でも残り使用回数が0以外であれば使用回数を表示する(CW準拠/Reboot5)
- 召喚獣においてモーションの属性による優先選択処理が機能していなかった (Reboot5)
Rebootの方でやっていた防御力合算式の仕様合わせですが、概ね大丈夫になったかな?という感じに落ち着いたのでリリースします。
個人的な見立てとしては、正規値の範囲内での結果は、以前を80%とすると98%ぐらいの精度で合致するようになったはずです。
11以上の不正値については、以前は行動力以外は強制的に丸められていたので再現度は0%でした。生の値を扱えるように直しましたが、厳密な適性の影響の調査をしていないので90%ぐらいだと考えています。(バイナリ改造シナリオ自体、数件しか確認していないので影響は軽微なはず)今月はPy5世代のCWXEditor-Classicをビルドする予定だったのですが、予想外に検証が長期化してくったくたに疲れてしまったので、延期させてください。
-
reporter 2021/10/23 CardWirth PyLite 5.0β1(03)
- 戦闘中、効果系カードの全体効果が有効でないターゲットが自動選択の対象から除外される(Reboot5)
- レベルによる手札枚数の下限値を5から0に変更(CW準拠)
- キャストが初期状態で意識不明の時、暴露・沈黙・魔法無効化・精神状態・能力変化が維持されるようにした(CW準拠)
- 暴露・沈黙・魔法無効化の解除モーションが意識不明を判定するようにした(CW準拠)
β1で取り込んだ範囲に不味い修正があったようなので更新します。このほか内部処理を若干調整(軽量化目的)していますが、分からない程度だと思います。(追記)自分で検証したところさらに漏れがあったので修正。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.0b_patch02.zip
-
reporter 2021/11/02 CardWirth PyLite 5.0β2
- デバッグモードの簡易登録でデフォルトネーム(冒険者)を入れる処理が重いため改善を試みる
- パーティが存在しない状態の宿でデバッグモード切り替えが無効になっていた
- キャラクター情報ダイアログの内部処理を整理、表示を高速化
- アルバム内のキャラクター情報ダイアログでデザインの変更(CW準拠)と背景色変更が出来るようにした
- 戦闘AIにおける回復モーションを含むカードの自動選択の挙動の再現性を向上 (Reboot5/CW準拠)
- Classicスキンの名称から(1.28base)を削除
- 高fpsモード(仮)を試験的に追加
本来はα中に入れておくべき変更量なのですが、セルフデバッグで目についた部分が結構あって、まぁいつも通り状況が違ってきたので直せる部分だけ直しました。スキンの名称はタイトルバーに表示されるので、「1.28互換のようだけど1.50シナリオ動くのか?」というような勘違いをされているのを見かけたので「その発想はなかったな……」と思ったのと、既にReboot側のCCライセンス問題も改善しているので元に戻しました。
高fpsモードを有効にすると60fps→80fpsになります。2倍解像度におけるパフォーマンスのテスト用に入れたので、正式版では削除するかもしれません。当然スペックが低いPCでは逆効果ですし、実験してみたい人だけ使って下さい。
-
reporter 来週Rebootの方が正式版となる見込みのようなので、こちらもそれを取り込んだβ3を出し、一ヶ月後(来年)ぐらいに正式リリースと考えています。場合によってはちょっとずれ込むかもしれません。
「特定シナリオのメニューカードがPyLiteでのみ多重に表示される」というようなツイートを見かけたのですが、自分の方では再現出来ていません。シナリオの挙動に影響する部分はいじっていないはずですが、最近は何も信じられないので、類似する現象を確認している方がいましたら報告いただけるとありがたいです。
-
reporter 2021/12/20 CardWirth PyLite 5.0β3
- CP932に変換できない文字を含むパスを持つファイルからの音声再生ができない(Reboot5)
- 宿に保存されたコモンの値が壊れている時でも停止しないようにする (Reboot5)
- 重傷判定を20%以下から1/5以下(少数切り捨て)に変更(Reboot5/CW準拠)
- パーソナルに入っているカードのスターを操作出来ない (Reboot5)
上記の通り、何もなければこれが最終テスト版になる予定です。今回取り込んだ修正はどれも小さな問題なのでβ2を使用中の方は正式版まで待ってもいいかもしれません。
-
reporter 2022/01/03 CWXEditor-Classic 5.0 64bit(正式版)
- 現行最新の8.0ブランチ(2020-12)を取り込み
- 64bitに移行
ようやくD言語のビルド環境を更新したのでPy5系に対応するCWXEditor 8.0に追い付きました。
なにもなければこのバージョンをPyLite5のフルパックに同梱予定です。
エンジン側は当面32bitのままなので悩んだのですが、利用状況やCWXEditor側の都合を鑑みて、今後はエディタは64bit版のみの提供とさせてください。クラシック形式のシナリオを編集する分には4.3でも十分かと思いますので、32bit系最終版として残しておきます。
1/5修正
本家CWXEditorと気軽に差し変えられるように独自パスになっていた部分を本家準拠に戻しました。
4系までのフルパックで同梱していたData>「x84」「x64」フォルダは今後使用しないので削除して問題ありません。
-
reporter 度々の更新ですいませんが、以前のようにD言語公式のDMDでビルドするとスピナ(能力値系の入力欄)が機能しないというバグが入ってしまうらしく、CWXEditor 8.0で使われているLDCでビルドし直しました。やはりこういう問題は自分で触らないとわからないので少し時間を置きます。
-
reporter 2022/01/13 CardWirth PyLite 5.0β4
- コモン関連コンテントが一部WSN4仕様で動作する(
#32WSN5版PCMが正常に動作しない) - 5.0 onlyのバージョン判定クーポンを追加
エディタの方は安定しているかと思うのですが、エンジンの方でクリティカルな問題が発覚したのでβ4をリリースします。
正式版のリリースは来週か再来週を予定しています。
- コモン関連コンテントが一部WSN4仕様で動作する(
-
reporter 2022/01/14 CardWirth PyLite 5.0RC(パッチ差分のみ)
- 起動時等にメイン画面が非アクティブになる(キャラクター情報ダイアログ高速化でのエンバグ)
- F8キー押下時、シナリオ中ではない場合はスキン直下ディレクトリのテキストを表示するようにした
最終チェックのつもりでシナリオを遊んでいたら、致命的ではないものの、β2から起動時に非アクティブになるバグが入っていた(一度クリックしないと動作を受け付けないのでストレス)のに気づいたのでさしあたり差分を作りました。スキンのReadmeを読む機能は以前から欲しいなと思っていて、6.0に繰り越すか悩みましたが、5.0の新機能も少ないので折角なので入れてしまいます。
-
reporter 2022/01/17 CardWirth PyLite 5.0RC(05) パッチ差分のみ
- エンジンのハングアップ時、エラーメッセージを表示するようにした(Reboot4)
- パーティデータが存在しない状態でシナリオ選択ダイアログを開くとフリーズする
- 不正なパーティデータが存在すると「冒険の再開」を開くとフリーズする
- 不正なパーティデータが前回起動時のデータである場合、エンジンを起動/宿を開くとフリーズする
PyRebootは4.0からエンジン側が検知できる状態でクラッシュした場合に直接エラーメッセージが表示されるようになっています。
それを今更ですが、移植しました(β中にやっておけば…)。今までエンジン由来なのかシナリオ由来なのか、またはプレイヤー側で不正なフォルダ操作をしてしまったのか、わかりにくいケースがあったと思うんですが、このエラーが出た場合は99%エンジン由来だとわかります。再現できなくても構わないのでエラーログを送っていただけるとありがたいです。不正なパーティデータ関連は宿の「Adventurer」フォルダに対応するファイルが見つからないだけでクラッシュしているのでそこを対策しました。ひとまず読み込みに失敗した場合は、読み込まずにyado1(パーティを開いていない状態の宿)に強制移動するようにしています。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.0b_patch07.zip
CardWirthの宿データはパーティやキャラクター単位をエクスプローラで直接移動できてしまうので、Pyでも同じ勝手でいじってしまって起動しなくなった!という人は結構見かけます。実際Py宿のファイル構造を理解していて、XMLの知識があればやれなくもないとは思いますが、Pyには普通に宿のキャラクターやカードを移動させる機能があるので、そちらでやる方が安全・確実です。
-
reporter 2022/01/23 CardWirth PyLite 5.0RC1(10)
- フレームスキップが発生するタイミングで、召喚獣の拡大アニメーション等が想定以上に高速に描画されていた
- 「カード使用前に空白時間」が有効な時、召喚獣の拡大アニメーションの表示ウェイトを増加した
- 中毒緩和および 麻痺緩和モーション付きのカードを重複選択されないようにした(CW準拠)
- デバッグモードで意識不明または初期状態で暴露かつ意識不明のエネミーカードの戦闘行動ダイアログを起動してから初めて開くと操作不能になる(4.1エンバグ)
- デバッグモードにおいて実際の最大レベルに関わらずレベル15までのレベル調節を可能にした(CW準拠)
えー、この有り様なので予定になかったRC版(最終評価テスト版)をリリースしました。正式版はさらに延期(2月上旬目標)となります。すいません。
-
reporter 2022/02/07 CardWirth PyLite 5.0(正式版)
- タイトルバーに表示されるデフォルト名をアプリケーション名から「カードワース」に変更(CW準拠)
- 各エンジンからスキンを自動生成する時、画面上のメッセージリストがずれる(Reboot3)
- 画面サイズを変更する際リバースカードの画像イメージが直ちに更新されない(Reboot4)
- 簡易登録やダイアログのボタン等にCW準拠のツールチップを追加
- 上記に伴い、バリアントからのスキン変換時、キーワードを追加するようにした
- 「デバッグメンバに指定する」にチェックが入っていない場合は能力型の変更ができないようにした(CW準拠)
正式版直前なのにまた色々と修正を入れてしまったので少し怖いのですが、流石にキリがないのでリリースします。
Classicスキンとスキン文言の追加等あるので差分を用意していません。必要な部分だけ更新したい場合は、実行ファイルだけではなくSkinbaseフォルダとSystemCoupons.xmlも上書きして下さい。また、既に各バリアントから自動生成したスキンを使っている場合、ツールチップはデフォルトのままとなります。細かい部分ですが、気になる場合はスキンを作り直すか、手動でskin.xmlにキーワードを追加してください。
https://w.atwiki.jp/pylite/pages/39.html
随分長いこと開発してる気がするなぁと思ったら4.0を出したのが2020年の1月なので今回2年もかかってるんですね。
今回はバグ報告してくれる方も増えて、3系や4系よりも自信をもってリリースに望むことができました。
ご協力ありがとうございました。今後もできる限り続けていきたいと思うのでよろしくお願いします。
-
reporter 2022/06/18 CardWirth PyLite 5.0 HOTFIX(パッチ差分)
- 特殊エリア内で背景再読込が発生した場合のレイヤ値加算処理の考慮漏れ(Reboot5.1)
- 未対応形式の宿データのエラーメッセージを変更
4ヵ月ぶりになります。特にバグ報告もなく、今回はかつてないほど安定しているのかなと安心してサボっていたのですが、Rebootの方で久々に更新があったので取り込んだパッチを出しておきます。キャンプ画面でセルのレイヤ機能を使用しているスキンという限定的なケースなので、必要な方以外は更新しなくても問題ないと思います。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.0hotfix02.zip
-
reporter 生存報告がてら。Rebootの方で来月目処に5.1リリース予定だそうです。
問題のエラーについてはPyLiteでは再現しないようなので、こちらでは少し様子を見たいと思います。
-
reporter 2023/09/06 CardWirth PyLite 5.0 HOTFIX(パッチ差分)
- 勇敢時に山札にあるスキルカード/100+山札にあるスキルカードの確率でスキルをドローできるようにした
- 「逃走」可能に設定されたエネミーの勇敢時に「逃走」カードを配布しないようにした(CW準拠)
- 特定条件下でMIDI音量設定が保存されない場合がある(Reboot5.2)
- 私物機能(パーソナル)において、レベル調節状態でも本来のレベルの所持可能枚数を維持するようにした
- WSN2:入れ子構造のイベントエラーに関するReboot5.1修正取り込み
Reboot側で見つかった仕様合わせの応急処置をしました(様子見で一年三ヶ月たってしまった)。
近いうちに5.1を出そうと思います。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.0hotfix03.zip
-
reporter 2023/09/12 CardWirth PyLite 5.1 β
- 色空間情報が付与された画像の透過表示がおかしくなる(
#35) - 各ダイアログの一覧表示の選択描画を高速化(宿選択以外は微向上程度)
- 宿選択ダイアログのページ移動でフォーカスが決定ボタンに再セットされ続ける
- オープニング画面のテキストセルなどで変数呼び出しをしているスキンでクラッシュする
- パーティ上下アニメーションのフレーム管理の誤り(2倍描画でガクついていた)
- デバッガでのコモン編集でエラーになる場合があった
- ユーティリティモードのデバッガではバトル・スタート・パッケージの実行を禁止する(CW準拠#14)
- WSNの追加オプションが有効ではない(クラシック形式タイプの)効果コンテントによって回避・抵抗属性のモーションが適応された場合、回避属性でもカードに設定された視覚効果を適用し、一次効果音→視覚効果となるようにした(CW準拠)
#35については大変お待たせしました。wxPython(Pyがダイアログに使用するライブラリ)を4にバージョンアップした影響で色んなところがエラー地獄となったため、その修正作業をしていたのですが、その中で良性の修正も結構加えることが出来ました。2倍描画・一覧表示メインで使用している場合は反応が少し良くなったと思います。
バグは大方取れてきたと思いますが、いきなり正式版を出す自信は無いので一先ずβ版をリリースします。CWXEditor-Classicの方については、オリジナルの5.1で変更点が全くない(バージョン表記だけが変わった)のでそのままで行きます。
5.0からの差分
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_V5.1beta_for5.0patch.zip
- 色空間情報が付与された画像の透過表示がおかしくなる(
-
reporter 2023/09/15 CardWirth PyLite 5.1 β2
- x倍表示用リソース(x.N)が用意されたシナリオを読み込めない場合があった
- 各ダイアログの不足していたショートカットを追加
2倍表示用画像があるシナリオが開けないというかなり不味いバグがあったので早めに更新します。URLに変更はありません。
-
reporter 2023/09/16 CardWirth PyLite 5.1 β2(01)
- 非イベント時にステータスバーが更新され続け、CPU使用率が上がる
β1でエンバグしてました……。よほど低スペックでないと動作に影響ないとは思いますが、確認していて直さないのは気持ち悪いのでひっそり修正しておきます。
-
reporter 2023/09/23 CardWirth PyLite 5.1 β3
- ユーティリティーモードのデバッガを開いた状態で宿に帰還し、タイトルに戻るとエラー
- スキンタイプ(種別)の異なるスキンを除外するようにした(Reboot仕様に合流)
- WSN2以降のWSN形式シナリオにおいて冒険の再開および宿からの直接ロードで背景を更新しないようにした
- 冒険の再開でエフェクトブースターが二重に実行されていた
- 高fpsモードの説明を補足
まだ品質的に微妙そうなのでデバッグを継続します。
23時追記:ダイアログでスクリーンショットを取る等すると出ているIconizeエラーを回避しました
-
reporter 2023/09/23 CardWirth PyLite 5.1 β4
- シナリオの読み込みに失敗時、操作不能になる場合があった
- カード名末尾に「.」を含むカードを入手し、シナリオを終了するとエラー(Reboot5.2)
- 防御力参照ダメージの計算式を変更(CW準拠)
カード名の問題はRebootではクラッシュしないエラーなのですが、こちらはクラッシュしてしまうため、取り急ぎ更新しました。
追記:書き忘れていましたが、防御力参照の新計算式はとしみつ氏の検証を参考にさせていただきました。こちら側の実装間違いがなければ残りの2%が埋まった感じです。これでようやく、根性で無理そうな未解明な部分はなくなったはずなので1.50と同じ土俵に立つことができます!
-
reporter 2023/09/27 CardWirth PyLite 5.1 β4(03)
- シナリオ選択ダイアログの拡張メニューにCAB圧縮機能を追加(Ctrl+Q)
- WXPython4移行の影響で解説ダイアログのスクロール量が極端に遅くなっていた(Reboot3)
- ハードコーディングされるテキストにおいてデバッグ/デバグの表記揺れをデバグに統一(CW準拠)
- 各ダイアログの個別/一覧切り替えボタンは非活性にしない
そろそろ安定してきたと思うので何もなければこれを正式版にしようと思います。
CAB圧縮機能は他のエンジンでも展開でき、Windowsの独自仕様なのに外部ツールを使わないと圧縮できない(ZIPは送る>圧縮(ZIP形式)フォルダーで可能)ので試験的につけてみたんですが、他でも書いた通りPyでは標準のZIPの方がパフォーマンスが高いので、使用状況によっては廃止するかもしれません。
-
reporter 2023/09/28 CardWirth PyLite 5.1 β4(07)
- 最小化でBGMが停止しない(Iconizedエラーの再回避)
- シナリオ選択ダイアログの拡張メニューをツリー中で右クリックすることでも開けるようにした
- CAB圧縮でサブフォルダが含まれるシナリオの圧縮に失敗する
- WSN2:キーコード所持分岐「戦闘中の手札」でアイテムカードが含まれないようにした
最終的な見直しをしている時に何年も保留中だった問題を思い出したので、結論を出しました。
正直、CardWirthの戦闘システムの全容を把握している人以外に説明できている自信はなく、そもそも大半の人にとってはどうでもいい部分だと思うのですが、実装意図を無告知で変えるのは不誠実だと思うのでなるべく説明してみます。
前提として、CardWirth 1.50のキーコード所持分岐「すべて」「アイテム」では実際には「戦闘中の手札」も検索範囲になることが知られています。これはアイテムカードのリストを戦闘中は手札リストとしてそのまま流用しているために起こっていることです。PyRebootの2以降ではこれを「アイテム(のみ)」「戦闘中の手札(アイテム含む)」に分離して、クラシック形式を読み込む際は両方にチェックが入った状態になるという変則的な解釈を入れています。このため、クラシック形式シナリオを読み込んだ際の挙動はどのエンジンでも変わりません。
問題となるのはWSN形式シナリオで「戦闘中の手札」のみを検索した場合と、コモンや選択カードなどと組み合わせた時の連鎖的な影響です。CardWirthの戦闘中の手札は「行動不能(麻痺等)になった」「アイテム入手コンテントの対象になった」「手札消去系(精神)モーションが適用」された場合に、アイテムカードと「使用中のカード」以外即時に破棄されるという複雑な仕様になっています。PyRebootの「戦闘中の手札(アイテム含む)」だけにチェックが入っている状態ではどうなるかというと、即時に手札消去を適用しておらず、判定時のみ「使用中のカード」以外破棄されたかのように偽装報告する仕様となっています。つまり、手札消去系モーションが適用されると手札にはアイテムカードが残っているにもかかわらずアイテムカードは不所持扱いになります。
これは元となるCardWirthの仕様に反しているだけではなく、無益な挙動です。この独自仕様を入れる理由として挙げられた「戦闘中、アイテムカードだけを検索したい」という状況は、1.50でも「行動不能状態・アイテムカード入手・手札消去モーション適用時」に行うことで達成することができます。得られた利益は非常に限定的です。一方で、「手札にあるスキルカードとアクションカードだけ」の検索は、アイテムカードが常に手札にあるという前提があるため、「戦闘中の手札(アイテム含まない)」がなければ達成することができません。そもそも、「戦闘中の手札」にアイテムが含まれなくても「アイテム」を同時に検索すれば「戦闘中の手札(アイテム含む)」とほとんど同じ効果を得ることができます。
5.0までのPyLiteでは「アイテム(戦闘中手札含む=1.50と同等の挙動)」「戦闘中手札(アイテム含む=Rebootと同等の挙動)」となっていました。この現状は仕様の混乱を招いているだけではなく、ユーザーにメリットがないので、せめても有益であるように戦闘中手札の方も変更することにします。
-
reporter 2023/09/28 CardWirth PyLite 5.1 β4(09)
- 「DefInn」を再生している時、サウンドフォント設定を変更すると無音になる(すり替えバグ再現時のエンバグ)
- シナリオ選択ダイアログのツリー上の右クリックでディレクトリ階層を戻す動作を無効化
軽微な変更ですが、うーん、やっぱりもう少し様子を見ます。
-
reporter 2023/09/30 CardWirth PyLite 5.1 β4(12)
キーボードショートカットの見直し・追加・バグ修正
- バトル中、戦闘行動選択フェーズにおいて、SHIFT+ENTERで戦闘開始できるようにした
- イベント中にESC/BACKキーの終了処理呼び出しを無効化(CW準拠、既存動作はSHIFT+CTRL+ESCに移動)
- 不完全だったPgUp/PgDn/F8キーの各ダイアログの対応を強化
- カード情報ダイアログを開いた時、「閉じる」にフォーカスが付いていない(CW準拠)
- キャラクター情報ダイアログのカードタブにおけるENTERとCTRL+ENTERの挙動が入れ替わっていた(CW準拠)
- キャラクター情報ダイアログのカードタブでスペースキーが機能していない(CW準拠)
- 戦闘行動選択ダイアログでDELETEキー押下時、自動で1番目のカード(通常はカード交換)を選択するようにした
キーボードショートカットをゲームパッドに割り振ってプレイしてみたところ、非常に操作しにくい&バグがあったのでできる範囲で改善してみました。
マウスメインで使用している方は更新しないでも大丈夫です。
-
reporter 2023/10/01 CardWirth PyLite 5.1 β5
- 使用時イベントで効果中断コンテントによるカード使用回数消費キャンセルを行った時、スキルカードが山札に戻らない(Reboot5.2)
- 最速以外でメッセージを表示中、ESCキーとスペースキーでメッセージを瞬間表示するようにした(CW準拠)
- キャラクター情報ダイアログの編集項目でENTER押下で閉じるが実行されていた(β4のエンバグ)
- WSN形式:逃走禁止バトルで戦闘開始ダイアログの縦幅が狭まっていた
Rebootの方でシナリオとカードの挙動に関わる修正があったので取り込みました。他の変更は軽微です。
-
reporter 2023/10/03 CardWirth PyLite 5.1 β5(07)
- カード操作系ダイアログのキー対応の追加(0~9キーでその場所にあるカードのフォーカスを取る、ENDキーでリスト内最後のカードを選択する)
- 手札1番目にあるカードの名前が「カード交換」であるなら、それがスキルやアクションカードであってもすり替えるようにした(
#29、CW準拠) - 「高fpsモード」を「加速モードβ」に改称し、背景変更系コンテントを60fpsで描画するようにした
β4から引き続きやっていたキー追加が一段落しました。0~9キーが反応すると逆に操作しにくいなどの意見もあると思うので要望が来たらオプション化も検討します。高fpsモードは加速モードのつもりはなく、将来的にはゲームスピードはそのままでアニメがなめらかになることを目指して実験しているのですが、現状単にカードアニメがマッハになる危険なオプションなので警告を強めました。
-
reporter 2023/10/07 CardWirth PyLite 5.1 β5(12)
- パーソナル有効時、キャンプモードでリバースカードの情報を見ようとするとエラー
- 効果音再生系コンテントにおいて、WSN形式シナリオでなければ1フレームのウェイトを挿入するようにした(CW準拠/
#29) - シナリオ選択ダイアログでESCキーをCW準拠の動作に戻した(強制閉じるはSHIFT+ESCに移動)
- メイン画面の数字キー対応を追加
- TimGM_A320_Mix.sf2の調整
- 冒険の再開と宿帳ダイアログでCTRL+ENTERでも情報ダイアログを開くようにした
- 情報カードダイアログでENTERキーでカードを見ようとするとエラー(Reboot側のバグ)
- 依然としてイベント終了時にテーブル・キャンプボタンが表示されていないことがある
シナリオをプレイする度にバグや未実装機能が見つかってどう考えても9日までに終わらなそうなので再度延期になりそうです。
サウンドフォントはDefinnで気になっていたフルートを差し替えました。
-
reporter 2023/10/11 CardWirth PyLite 5.1 β6
- 規格外カード適性の対応(CW1.28準拠/1.50非対応)
- 規格外効果範囲:「手動使用不可(2)」に仮対応(CW1.28準拠/1.50対応)
- 規格外モーション:カード交換配布モーションに対応(CW1.28準拠/1.50対応)
- 対象なしのカードは使用者にターゲットアイコンを表示しないようにした(CW準拠)
- レベルアップ判定時、9999点を超えるレベル上限を持っているとエラー
- 成功率修正における絶対効果判定を+-5以上から+-5のみに変更(6以上の不正値対応)
- サウンドフォントの微修正
カードを読み込めないバイナリ改変シナリオを見かけたので、ほぼその対応になります。無事読み込み・逆変換が通るようになり、1.50で行動キャンセルに同一IDを上書きされた逃走配布モーション以外には対応できたと思います。
サウンドフォントは「遺跡に咲く花」のダンジョン入ってすぐの曲でブライトネスの主張が大きめに感じたので少しボリュームを下げました。
-
reporter 2023/10/13 CardWirth PyLite 5.1 β6(03)
- 召喚獣カードにおいても「手動使用不可(2)」を考慮し、変換・逆変換されるようにした
- 効果範囲:「手動使用不可」において、効果目標内で有効判定を行ってから対象を外すようにした(CW準拠)
- 規格外カード適性:キャスト修正(キャラクターに付いている回避等の永続補正)のマイナス反転に対応(変換漏れ)
上記の対応漏れと指摘のあった部分の修正です。バイナリ改変系シナリオ以外では動作に影響はありません。
-
reporter 2023/10/13 CardWirth PyLite 5.1 β6(07)
- 戦闘時低確率だが、開発者エラーが出る場合がある
- 不正なXML(編集に失敗したスキンなど)を読み込んだ場合に開発者エラーが出るのを抑止した
- その他ログには出ない内部エラーを修正
昨日の処理でエンバグしてたようなので取り急ぎ修正版です。
-
バイナリ改変とかされてるデータって
破損データと判別つかなかったりしそうだとか
素人考えしちゃう今日この頃です、ご無沙汰しておりますです、
更新お疲れ様です、Markdown記法すっかり忘れた七篠権兵衛です(苦笑CardWirthPyLite_V5.1beta.zip(CardWirthPyLite_V5.1beta.zip)をダウンロードして
zipファイル展開しようとしたら(またはエンジン実行しようとしたら)
Microsoft Defenderでマルウェア判定されましたorz
ざっくり調べた範囲ですとPyInstallerなどで
exeファイル形式に変換する際に対策が可能そうです。
(「PyInstaller マルウェア」あたりで検索するといろいろ見つかります)ちなみに今回のCardWirthPyLite.exeをVIRUSTOTALに突っ込んだら
70件近いセキュリティソフトのうちMicro$oft他1件でマルウェア判定でした。
「WindowsによってPCが保護されました」はエンジン更新のたびに見かけてたんですが
更に厳しくなってきてるあたり、
セキュリティの重要さはわかるんだけどなんだかなぁ、という感じです。 -
reporter 七篠さんおひさです。
バイナリと言ってもCWのシナリオはC++BuilderのTMEMO、XML・INIファイルに近いテキストデータなので暗号化されていませんし、
制限外の値であること以外エディタでの出力と全く変わらないはずです。(書類の谷氏がCWEditorのバイナリ改変で無属性・必中属性・英雄型などを追加し、クーポン上限値を拡張したものが1.28として配布され、WirthBuilderでもCWXEditorでも同様に公式の制限以上に扱える上限を引き上げ、それが既成事実化的に定着してしまったという歴史的事実がありますが、やっていることは同じ)破損はバイト長を変えたり閉じタグがなかった場合とかには発生しますが。>Microsoft Defenderでマルウェア判定
うーん、自分もビルドした瞬間トロイと誤認隔離されてたのでMSに苦情は送った(9月)んですが、相変わらずですかぁ。
Py2exe使っただけでマルウェア認定してそうです。PyはPy2exeでコンパイルしている(Rebootはcx_freezeに移行)ので、デフォのコンパイラであるPyInstallerは使用していません。
Py2exeも問題多いので一時期移行は考えましたが、非常に低速らしいので今後も採用はしないと思われます。正直MSが悪いと思うんですが、ただでさえ傍流のエンジンがウイルス・マルウェア警告されてると使う気が起こらなくなりそうなのでなんとかできるならなんとかしたいところです。以下を試していただけないでしょうか。流石にデイリービルドではやらないですが、これで回避できるなら正式版は別配布することも考えます。
一部バンドルを解除したバージョン
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_51b_b2.zip
全部バンドルしてないバージョン
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_51b_b3.zip -
お返事ありがとうございます。
7zアーカイバでファイルを解凍して確認した結果
51b_b3では実行時にマルウェア判定になり、
51b_b2では問題なく実行できました。
(「WindowsによってPCが保護されました」も表示されませんでした)
念のため別のPCで実行したところ、
51b_b3、51b_b2、さらにV5.1betaもすべて判定されずに実行可能でした。
.....…なんだか「おま環」案件ぽくなってきた感もあります(悩 -
reporter こちらこそ試していただいてありがとうございます。
ううむ、意外な結果ですね。全展開のb3がアウトだったらb2もアウトだと予想してたのですが、
部分展開しているb2だけセーフとは……。この件に限らずですが、環境依存だとしても他の人もそうなる可能性が否定できない以上、善処できるに越したことはないのでおま環でもぜんぜん大丈夫です。
ともあれ効果があることがわかったので正式版ではb2を別配布してみようかと思います。 -
reporter 2023/10/31 CardWirth PyLite 5.1(正式版)
- 展開されていないWSN形式シナリオ(WSN/ZIP)で貼り紙の画像リソースが表示されていない場合がある(PyLite4.1のエンバグ)
- SkinBase前面希少アイコン2種をCW1.20準拠のものに差し替え
- キャラクター情報ダイアログを操作後エラーログが出力される場合がある
- 特殊クーポン「_年代成長禁止」を追加
- オプション「カードの希少度をアイコンで表示する」を廃止し、スキン側で設定できるようにした
- 最高適性ランクが出るのは行動力補正がかかる行動のみとした(CW準拠)
- フルパックにCardWirth1.28以降同梱されているシナリオを同梱
正式版です。度々延期してしまいましたが、当初の想定を遥かに上回り、現状できる範囲で多数の改良を入れられました。
3.0以降、様々な事情から安定性に欠いたものをリリースしていた自覚はあり、少ない利用者の方には内心申し訳ない気持ちだったのですが、今できるベストを尽くしたつもりです。バグ報告頂いた方、PyLiteでCardWirthを遊んでくれている方、すべてに感謝申し上げます。
エディタ側は去年から変動ありません(Verは同じです)。
-
reporter 2023/11/02 CardWirth PyLite 5.1c
- 「1bitBMP」をカード画像に含むカードを持つキャラクターもしくは暴露状態のエネミーカードをクリックすると確定でエラー
- 初回起動時などの宿帳ダイアログなどで入力遅延が発生した時、低頻度でランタイムエラーが発生してクラッシュする
上記致命的なバグを発見したため、急遽差し替えを行いました。ベストを尽くしてこのザマで面目ないです。
-
reporter Rebootで5.2リリースが確定したようですが、現在のところPyLiteに移植する必要があるのは「コモンのゼロ除算で内部エラー」という修正(そもそもゼロ除算しないようにシナリオを作らなければなりません)1件のみであるため、5.1を出したばかりということもあり、状況が変わらなければ5.2の即時リリースはこちらでは見合わせます。
-
reporter 2023/11/27 CardWirth PyLite 5.1 HOTFIX(パッチ差分)
- コモンのゼロ除算で内部エラー(Reboot5.2)
- 構造体を用いたコモン式の読み込みでエラー(暫定処置)
上記を含む、WSN形式の「コモン」でエラー落ちするケースを修正しました。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.1hotfix231127.zip
-
reporter 2023/11/28 CardWirth PyLite 5.1 HOTFIX2(パッチ差分)
- エフェクトブースターでdirtype=4を指定したJPYファイルから参照されている素材の持ち帰りに失敗する
これは「使用時イベントでエフェクトブースターのdirtype=4で演出を行うカード」を持ち帰った場合に素材が保存されていないというバグです。持ち帰り機能がPy専用かつdirtype=4を使うケースなので上記同様に影響範囲は少数と思われますが、必要な方はアップデートしてください。(エンジンだけではなくカード側もユーティリティモード等で更新する必要があります)
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.1hotfix231128.zip
-
reporter 2023/12/20 CardWirth PyLite 5.1 HOTFIX3(パッチ差分)
- 同行NPCのカード使用中に発火したイベントでキャスト離脱コンテントを実行した際エラーになる(Reboot5.2取り込み)
- ZIPアーカイブ内にsummary.wsm(CardWirth従来シナリオ)とsummary.xml(Py専用・WSN形式)が同時に含まれている場合、xml側を優先認識するようにした
後者は「風渡り PY」というシナリオのサブフォルダにNEXT仕様のsummary.wsmが含まれており、NEXTシナリオだと誤認識されているという特殊ケースで、
仕様としては正常に動いていた(ZIPではシナリオがフォルダ階層のどこに存在しているかわからないため)のですが、
NEXT形式シナリオを変換したもの、あるいはその逆を「同時同梱」で配布しているシナリオは結構存在している気もしますし、
Pyでは大抵の場合、WSN形式側が優先認識されることが期待されるはずなので仕様変更を実施しました。
なにか不都合が生じた場合はまた考えます。https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.1hotfix231220.zip
-
reporter 2024/01/16 CardWirth PyLite 5.1 HOTFIX4(パッチ差分)
- パーティ上下アニメーションの速度を4.x以前の速さに戻した
- メッセージのアップデート時、リストが存在しない場合はエラーを無視するようにした
- いくつかのReboot仕様変更の取り込み漏れを移植(スキン関連)
5.1でカードの上下アニメーションの速さをRebootの式に合わせたんですが、やはり違和感があるという意見を頂いたので以前の式に戻しました。
2番めはこちらの環境では再現しないのですが、メッセージ送りや選択肢を実行しただけでエラーとなる環境があるようなので、該当箇所のエラーを応急処置的に無視するようにしました。この症状が出ている環境の人はこれによって大分落ちにくくなるはずです。
仕様変更については破壊的仕様変更を含みますが、どれもしろねこ氏のスキンでしか影響がでないような問題なのでおそらく多くのユーザーには影響はありません。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.1hotfix240116.zip
-
reporter 2024/01/27 CardWirth PyLite 5.1 HOTFIX5(パッチ差分)
- スキン変換ダイアログで決定を押すとattributeエラーが出力される
- スキン変換ダイアログでSkinBaseのSkin.xmlに存在しない可能性のあるタグは読み飛ばすようにした
バリアントをスキンに変換しようとするとエラーが出てしまうのでアップデートを推奨します。
5.1でレアリティ表示をスキン依存の設定に分離した際、SkinBaseに設定保存用変数を追加し忘れていたことが原因だったのですが、そもそもskinbaseに変数が定義されていない程度でクラッシュするのは明らかにセーフティではないので、存在しないタグはスルーして変換できるようにしました。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.1hotfix240127.zip
1/27 23時追記:XMLの修正をミスしていたので差し替えました
-
reporter そろそろ修正が溜まってきたので2月下旬~3月を目処に5.2をリリースしようと思います。
-
reporter 2024/02/06 CardWirth PyLite 5.1 HOTFIX6(パッチ差分)
- 同行NPCがいる状態で荷物袋を開こうとするとエラー
1/16日のHOTFIX4でシステムレイヤ加算処理をRebootに合わせた結果、エンバグしていたようです。確定でエラーが出てしまうので、以降のHOTFIX版を使用されている方はアップデートを推奨します。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.1hotfix240206.zip
-
reporter 2024/03/17 CardWirth PyLite 5.1 HOTFIX7(パッチ差分)
- メッセージの描画範囲を削減することで高倍率表示時の負荷を軽減する(Reboot4合流)
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.1hotfix240317.zip
Python3逆移植の面倒さとライブラリのVer違いなどもあって延期していた遅延描画の合流に手を付けました。
これによってPyLite4-5系で起こっていた、高倍率表示時の環境や、シナリオによってカクつく問題を少し改善できた気がしないでもないんですが、デバッグする時間が取れないのでとりあえずHOTFIXで出します。例によって不具合あるかもしれないので試してみたい人向けです。5.2は4月に延期します。
-
reporter 4月と言っていましたが、存外忙しくてデバッグ時間を取れていなかったのでGW明けぐらいを目指します……。
-
reporter 2024/05/07 CardWirth PyLite 5.2(正式版)
- PgUp/PgDnキーをメイン画面で押し続けた動作が逆になっていた
- 設定ダイアログのレイアウト調整・オプション名の改称・ツールチップ解説の追加
- ステータスバーの設定と画面拡大ボタンの解説が表示されていない(HOTFIXエンバグ)
- ステータスバーの描画範囲を一部限定化(多少の負荷改善)
リリース直前でステータスバー(メイン画面下のグレーのライン)で解説が表示されたりされなかったりするバグを見つけて(そもそもRebootの現行Ver自体がエンバグしており正常な表示になっていない)少し遅れましたが、なんとかリリースできました。エンジンのみ・フル・差分・バンドルビルドの4つを毎回アップロードやり直しになるのはさすがに面倒だと感じたので、次回からはエンジンのみ・差分のどちらかの提供をやめるかもしれません。
Reboot側の表示バグについて覚書:長月さんの活動状況を踏まえて自分は今後PullRequestしませんが、他のフォークや自分で直したい人向けに情報を書いておきます。
class StatusBarPanel
のupdate_image
でlazydraw
するようにしたため財布や金庫の解説が表示されなくなっています。class SettingsButton
で解説を表示するためにUpdateを一旦キャッチするように変更したようですが、これはself.status != "normal"
だけでは不十分で「マウスの左ボタンを押した時(離す前)」のクリックアニメーションが表示されていません。class InfoCardsButton
Updateを横取りし忘れています。SettingsButton
と同じ処理を入れればいいと思います。
-
reporter 2024/6/12 CardWirth PyLite 5.2 HOTFIX(パッチ差分)
- マウス連打中にメッセージやセリフが消えないことがある(#41)
こちらの環境では再現できていないので、ちょっと修正が合っているか不明なのですが、取り急ぎ上記と同じ症状が出る方向けの修正版です。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.2hotfix240617.zip
-
reporter 2024/7/05 CardWirth PyLite 5.2 HOTFIX(パッチ差分)
- CardWirth1.28以降では付帯能力カード(回数無制限を含む)においても召喚獣消去モーションが有効判定される(CW準拠)
- クラシック形式とWSN形式の混在シナリオでwsm/widファイルを読み込もうとするとエラー(#42)
- 同一陣営内から既に「精神-正常状態」モーションのターゲットとして選択されている対象には無効判定を返す(CW準拠)
前者はXで指摘されていた件です。ちょっと細かい文脈は追えてないのですが、CWよりも不利に動いている付帯能力があるようです(埃まみれの虹の剣)。召喚獣消去は実際には付帯能力に対しては行われないため、逆に動かないほうがいいケースも存在するとは思いますが、召喚獣が動くか動かないかというのは戦闘バランスに大きな影響がありますし、PyLiteでは「回復選択済みの対象には有効判定を返さない」(ウンディーネが同一対象に多重発動しない)も合わせているので、当然これも合わせます。
7/6追記
上記#42でミスがあったため、再修正しました。
7/7追記
上記調査過程で「フォウ」も重複発動しないという挙動に気づいたため、肉体-回復・中毒緩和・麻痺緩和モーションに加えて「精神-正常状態」モーションにも同様の処理を入れました。念の為、正常状態に対する精神-激昂状態・魔法-暴露状態に対する暴露解除も再調査しましたが、やはりこれらは複数発動するようです。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.2hotfix240707.zip
-
reporter 2024/7/30 CardWirth PyLite 5.2 HOTFIX(パッチ差分)
- カード使用系ダイアログの表示位置が初期化されないタイミングがある(Reboot5.3)
- 通常の効果コンテント(「色反転と初期効果音の再生を行う」にチェックが入っていない)では回避属性の命中判定失敗時に「回避」ではなく「無効」効果音を鳴らす
細かいバグ修正の取り込みと、後者はCardWirthの仕様「効果コンテントの回避属性の命中判定失敗時には、システム・回避.wav「サッ」ではなくシステム・無効.wav「カキーン」が再生される」に対する仕様合わせです。従来のPyでは効果コンテントにおいても回避音が鳴っていました。
以前、Rebootの課題で指摘されていた仕様違いについては、通常の効果コンテントのみ一次効果音→視覚効果に処理順を変えるとともに、回避成功でも視覚効果アニメーションを行うようにしていたのですが、効果音の種別については「回避音の方が自然ではあるし、WSNの効果コンテントで回避タイプの攻撃をするカードの場合、無効音となるのは違和感あるのでは?」と思って見合わせていました。やっぱりこだわりがある人もいるっぽいのと、こうした妥協的実装は覚えているうちに修正しないと、なぜそうしたのか忘れてしまいそうなので、拡張オプションの「色反転と初期効果音の再生を行う」にチェックが入っていない場合に限り、完全に合わせることにしました。
「色反転と初期効果音の再生を行う」にチェックが入っている場合は、カード演出と同じ効果が期待されるはずなので、回避成功時「回避音+視覚効果アニメーションなし」となります。この変更でなにか既存のシナリオで不都合がある場合は、声を上げていただければ極力配慮したいと思います。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.2hotfix240730.zip
- Log in to comment
2021/08/13 CardWirth PyLite 5.0α2(03)
対象消去という稀な条件とはいえこちらでもフリーズするので、取り急ぎパッチを作りました。必要な方はPyLite5.0α2に上書きして下さい。
ある程度修正が貯まったらα3を出します。
https://bitbucket.org/akkw/cardwirthpy-lite/downloads/CardWirthPyLite_5.0a_patch03.zip