雑多な報告・連絡用Issue(part8)

Issue #420 resolved
k4nagatsuki repo owner created an issue

簡単な報告だけするために新規にIssueを立てるのは躊躇する事があるという意見をいただいたので、返信を書くだけで済むように雑多連絡用としてこのIssueを立てておきます。

軽い連絡や報告など、自由に書き込んでください(ただし返信にはBitbucketのアカウントが必要)。

スレッドが長くなりすぎた場合はクローズして次の汎用Issueを立てます。


このIssueは#329 雑多な報告・連絡用Issue(part6)の続きです。

Comments (219)

  1. k4nagatsuki reporter

    ありがとうございます。pull request #1599で修正しました。

    配付された特殊技能カードをデッキに追加する処理が二重に動いていて、その戦闘中だけ使用回数が二倍になっていました。状況が限定される上に現象が見えづらいので発見されなかったんだと思います。

  2. Iraka.T

    修正対応ありがとうございます。

    なるほどたしかに、戦闘中にPCが技能カードを獲得するシナリオは見たことがありませんね。エネミーではありそうですが、発見するには死角が大きすますし。

  3. 暗黒 騎士
    CardWirthPy 1.1
    Build: 2016-10-10 20:45:07
    
    Traceback (most recent call last):
      File "cw\frame.pyo", line 1237, in FilterEvent
      File "wx\_core.pyo", line 4996, in GetEventObject
    wx._core.PyAssertionError: C++ assertion "GetEventHandler() == this" failed at ..\..\src\common\wincmn.cpp(478) in wxWindowBase::~wxWindowBase(): any pushed event handlers must have been removed
    Traceback (most recent call last):
      File "cw\frame.pyo", line 1237, in FilterEvent
      File "wx\_core.pyo", line 4996, in GetEventObject
    wx._core.PyAssertionError: C++ assertion "GetEventHandler() == this" failed at ..\..\src\common\wincmn.cpp(478) in wxWindowBase::~wxWindowBase(): any pushed event handlers must have been removed
    

    CWPyを誤って二重に起動し、宿選択ダイアログで「現在進行中」になっていることでそれに気付いて 両方(先に開いていた方はyado2パーティ画面)閉じたら久々にアセーションエラーが出たので一応報告しておきます(返信不要)

  4. Iraka.T

    貼り紙選択ダイアログで、終了済みシナリオと隠蔽シナリオの表示切り替えが正常に行われなくなっています。

    手元にあるだけ確認したのですが、cardwirthpy_20161009.zipから発生しているようです。

  5. k4nagatsuki reporter

    pull request #1607

    ありがとうございます。本当にリストを更新すべきかどうか判断する処理のバグです。修正しました。


    今更反応しますが、FilterEventはバグの巣窟と化していますね。しかも使い方が間違っているわけではなくwxPython内部でアサーションに失敗しています。

    もうFilterEventをやめて各々のダイアログでキー入力を取るべきなのかもしれません(すごく面倒なんだよなぁ)。

  6. 暗黒 騎士

    鈍足で進めていたスキンがやっと完成しそうなのですが、 以下の表現を思いついて実現できたはいいものの、仕様面で想定されているかちょっと微妙かなと思っています。

    • BGMのランダム再生(編集でOKするごとに変わる。到着イベントが都度実行されている?)
    • -3に宿帳とパーティ情報を置く(宿帳は加入させず閉じてもyado2に遷移する状態)

    進行中タスクが多い中お手数おかけして申し訳ありませんが、お手すきの時にでもチェックして頂けたらと思います。(問題ないようであればそのまま行きます)よろしくお願いします。

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

  7. k4nagatsuki reporter

    BGMは、エリアごとに到着イベントで鳴らしています。到着イベントの作り方次第でスキン作者が自由に鳴らす事が可能というのが仕様でOKです。

    マイナスIDのエリアで本来できる事以外の行動を取る事は想定されていません。それらはトレードや解散などを行うための特殊エリアで、遷移方法も特殊です(change_areaではなくchange_specialareaを使い、離脱時はclear_specialareaを使う)。ですので何が起こるか分かりません。充分な検討とテストをする必要がありますし、宿帳については明らかに改造が必要です(宿帳を操作した結果エリア移動が発生するため)。これについてはスキン機能の追加仕様として改めて提案していただく必要があります。

    しかしかっこいいスキンですねこれ。BloodWirthの時もそうでしたが、皆さんのセンスには驚かされるばかりです。

  8. Iraka.T

    Twitterのスクリーンショットなどで既知でしたが、実物を見ると音が違うこともあって別ゲーに迷い込んだようなドキドキ感がありますね。

    スキンによるYadoの拡張は私も希望があるのですが、場当たり的に要素を追加するのでなく、Py2に向けてスキン仕様をまとめて相談するissueなどあればいいのではないでしょうか。CWにない要素ですから、どこへ向かうべきかというのは、話し合っておかないと混沌を極めそうです。

  9. 暗黒 騎士

    ありがとうございます。

    後者は利便性の点から解散エリアをいっそパーティ編成エリアととらえて全てのコマンドを使えた方が便利かなぁというぐらいのアイディアだったので提案するほどではないですし、clear_specialarea未実行で遷移が起こっているのはヤバそうなので宿帳の方はカットする方向でいきたいと思います。

  10. k4nagatsuki reporter

    wiki・Issueなりで、まとめと個別の両方があった方がよさそうではありますね。

    気が向いたら提案を出していただければ、いつになるかはさておいて追い追い対応できると思います。

  11. salt

    デバッグモードのアイコン差し替えをしたいのですが、現状ではフォルダ内容の上書きしかないのでしょうか。 XEditorでアイコンのオーバーライドを使用しているので、Pyでも見た目が統一できるとありがたいです。

  12. k4nagatsuki reporter

    そのうちcwxeditor.exeの場所を正しく設定している場合はそこからアイコンを読み込むようにした方がよさそうですが、今のところはそうなっていません。

    とりあえずcwxeditorのresourceフォルダを元にデバッガ用のアイコンセットを作成するバッチファイルを作成してみましたので、お試しください。

    使い方は以下の通りです。

    1. cwxeditor.exeのあるフォルダにcreate_debuggericon.batを置く
    2. create_debuggericon.batをダブルクリックして実行する
    3. 確認メッセージのところでEnterを押す
    4. 正しく動けばDebuggerフォルダができているので、それをCWPyのData/Debuggerフォルダに上書きする。
  13. k4nagatsuki reporter

    よく考えるとData/Debugger以下は新しいバージョンを上書きするたびに元に戻ってしまうので、そのうちと言わずできるだけ早くcwxeditor/resourceを読みに行くようにした方がよさそうです。

    というわけで、pull request #1614で対応しました。cwxeditor.exeの場所が正しく指定されていれば、最新のテスト版はそこのresourceフォルダを読みに行きます。

  14. 暗黒 騎士

    Windows10の標準ツイッタークライアントと併用していて気付いたのですが、スタート画面で宿選択ダイアログを開く時、Py全体のウインドウの下にあるクライアントに表示されている画像が宿選択ダイアログの描画領域になぜか一瞬映ってしまうようです。実害は特になさそうですが、ぎょっとしたので報告まで。(返信不要)

  15. Iraka.T

    クラシックシナリオにNextとWsnのデータを混在させる試みをしている方がいらっしゃるのですが、こういったシナリオが登場することで問題が生じる可能性はないでしょうか。

    具体的に、クラシックシナリオでNextとWsnのパッケージを利用するサンプルシナリオが公開されています。手作業でデータバージョンの異なるファイルを混在させることで実現しているようです。

    検証をする時間が取れないのでしていませんが、たとえばクラシックシナリオでPy専用カードを配布する、Wsn.1でWsn.2以上のカードを配布する、といったことができてしまうかもしれません。これがいいことなのか悪いことなのか、よくわかりませんけれど。

  16. k4nagatsuki reporter

    ツイッタークライアント

    そういえばGyazoでダイアログを撮影すると一部コントロールが映らない(他アプリでも)などの問題を見たことがあります。私の経験から言うと、処理を軽くしようとかいろいろな目的で妙な独自処理を行うとその手の謎の現象が起こる事があるようです。CWPyで手を打たなくてもクライアント側の修正でそのうちよくなるかもしれません。


    クラシックシナリオにNextとWsnのデータを混在させる試み

    今のところはたまたま動いているようでも将来も動く保証は無いですね。そこを意識すると責任範囲が際限なく拡大し始めるので、保証しようにも現実的には無理だと思います。

    WSN形式の外の事については、自己責任で行う事は止められないが保証もできない、という立場を採らざるを得ないと思います。

    WSN形式内部については、2以降は各カードごとにバージョン情報がつくようになるので、バージョンの混在も問題なく行える可能性はあります。しかしこれもデバッグの手間が際限なく拡大していくはずなので、保証は無理ではないにしても難しいかもしれませんね。

    現実的には、Wsn.2の要素を使ったカードはCWPy 1では動かないようにシナリオ側で工夫するはずなので、実質問題は起こらないはずだ、というような運用になりそうですが。

  17. saki_cw

    現在、フルスクリーン化するにはF4を押す必要があります。 タブレットだとキーボードを呼び出すことに一手間かかるため、Nextと同様にフルスクリーンボタンを用意することは可能でしょうか。

    簡単にできるのなら自分で追加してみたいなーとも思ったりしました。

  18. k4nagatsuki reporter

    ステータスバーにはまだスペースの余裕があるので、タブレット用にフルスクリーン・画面拡大ボタンを設けるのはよい事だと思います。

    実は私がそのボタンを設けていない事には理由があって、誤操作でフルスクリーンにしてしまうといきなり画面を専有され、しかもその場でもう一度クリックして元に戻すというような事ができない点が問題だと思っています。しかしこの問題は、確認ダイアログを出したり、オプションでボタンを非表示にできるようにする事で解消できます。

    コーディングの難度としてはそこまででもない部類ではないかと思います。

    • 各種ステータスボタンはcw/sprite/statusbar.py内で定義されており、新しいボタンもここに追加する事になるはずです。
    • ボタンを押す処理はcw/eventhandler.pyのf4key_eventの処理とほぼ同じになるはずです。
    • Data/SkinBase/Resource/Image/Dialog以下にデフォルトアイコンを用意する必要があり、スキンの自動生成時に抽出する処理も必要になります。スキンの自動変換・リソースの抽出処理はcw/skin/convert.pyにあります。

    作業していただけるとしたらもちろん大歓迎です。分からない点は訊ねていただければ極力サポートさせていただきます。

  19. 権兵衛 七篠

    ....タッチパネル操作ですから、ボタンといわずピンチアウトなり
    何かタッチジェスチャでもすればいいんじゃないか、
    と思ったりする私は邪道でしょうか?こんばんわです、七篠権兵衛です。
    #Pygameやwxpythonにタッチ操作のライブラリがない、あたりでしょうか.....


    エンジンの改良に頼らず自助努力(または、外部ツール万歳)で考えるのだとしたら、
    ぱっと思いつくところでは、StrokesPlusやMouseGestureLのような
    マウスジェスチャの応用でF4キーをたたいたことには出来ないだろうか、とか。
    #タッチジェスチャをカスタマイズできるツールがあると最高なんですが、
     どうもめぼしいものがなかったりシェアウェアだったりでいまいち。

    あるいは、CWの画面フォーマットが4:3なのに対して
    ありがちなタブレットの画面はもう少し横の余るものだったかと記憶してるので、
    隙間にTouchKey押し込む、といった手法もありそうです。

  20. Iraka.T

    アルバムの情報ボタンが動作しなくなっています。

    Traceback (most recent call last):
      File "cw\dialog\select.pyo", line 2440, in OnClickInfoBtn
      File "cw\dialog\charainfo.pyo", line 402, in __init__
      File "cw\dialog\charainfo.pyo", line 95, in __init__
    AttributeError: 'StandbyCharaInfo' object has no attribute 'editpanel'
    
  21. k4nagatsuki reporter

    ありがとうございます。キャラクター情報解説の位置ずれ問題の対応と一緒にpull request #1633で修正しました。

  22. Iraka.T

    存在しないフラグを参照するカードの表示が、エンジンによって異なります。1.50では非表示、1.28、Py、Nextでは表示となります。

    これはPyで対策することが不可能な問題に見えますが……

    存在しないフラグを参照しているシナリオに問題がありますし、普通はエディタ作業中にフラグの参照が消えてしまうと思うのですが、なんとも気持ちの悪い仕様差を見つけてしまいました。背景セルはどのエンジンも表示されますのに。

  23. k4nagatsuki reporter

    ご報告ありがとうございます。

    1.50の互換性問題と思ってよさそうですね。1.20-1.50はデータバージョン4で見分けがつかないので、互換性DBの出番でしょうか。

    幸いな事に、エディタの仕様上実際にこの問題を発生させるのは簡単ではありません。個別に対応するとしても、シナリオ数はそんなに多くならないと思います。

  24. Iraka.T

    私も、おそらく現存する「遊ぶための」シナリオの中に、この問題が生じているものはないか、極めて少ないと思います。

    とある匿名企画でやりとりされているシナリオデータを見たところ、そういったシナリオが存在していたので、仕様差を見つけることになりました。

    私はXEditor以外でこのようなデータを作る方法を知りませんし、XEditorユーザーということはおそらくPyユーザーですから、バグに遭遇しやすいのは純粋な1.50ユーザーだけだと思います。

    (変数を削除しても即座にはその参照が消えないXEditorの仕様は、私にとってはありがたい仕様なのでできれば変わらないでほしいです)

  25. k4nagatsuki reporter

    cwxeditorは誤り検索でその手のデータに警告を出すので、対策を行うとしたら誤り検索がもっと確実に実行されるようにするなどですかね。

    例えば保存時に誤りがあったら警告するなどはずっと考えている事なのですが、パフォーマンスや鬱陶しさ(作りかけのシナリオでは散々な事になりそう)などを考えるとなかなか難しいところがあります。

    何はともあれ、実際にこの問題が起きているシナリオが発見されたら互換性DBで対策するという事にしておきましょう。

  26. tachi gigas

    恐れ入ります。少々手に負えなくなりまして、ご相談させて下さい。

    Pull Request #1630 で、 冒険の再開をやるとプレイヤーの状態が完全回復した状態(character.pyset_fullrecoveryが呼び出される)で再開されます。 data.pyの183行目、cw.cwpy.set_pcards()をコメントアウトすると正常な動作を確認しましたが、 このメソッドがどうしてset_fullrecoveryが呼び出すのか不明です。 raiseすると、thread.pyの1929行目から呼び出されています。どうしたものでしょう。

  27. k4nagatsuki reporter

    修正を試みていただいているようでありがとうございます。

    テキストセルの更新処理のため、シナリオ再開での背景再描画の時にPCがいる必要ができたので、PCの読み込みタイミングをシナリオ開始の前にしたのですが、そのせいでシナリオ開始直前の完全回復処理(これは念のためにやっていたと思う)が動いてしまっていますね。

    thread.pyの方の処理には冒険の再開を示すresumeフラグがあります。これを使って判断すればよくなると思います。

  28. tachi gigas

    pull request #1642

    なんかエンバグしそうで怖いですが、よろしくお願いします。

  29. tachi gigas

    マージ確認しました。お手数をおかけしました。此方でも、注意して遊びます。

  30. tachi gigas

    お疲れ様です。

    体調が優れないので報告だけ失礼します。すみません…。

    複数人パーティで最後尾ではないPCを仲間から外し、すぐ宿帳から編入させると再編入させたPCが表示されません。内部的には編入されてまして、パーティーを切り替えるなどすると再表示されます。

    CardWirthPy 1.1 Build: 2016-11-27 20:52:08

  31. k4nagatsuki reporter

    ありがとうございます。どうもパーティ解散エリアを抜ける時に歯抜けになったインデックスがちゃんと埋められていなかったようです。その結果、位置計算がおかしくなって他のPCに重なった位置に表示されてしまっていました。

    pull request #1650で修正できたと思います。

  32. tachi gigas

    対応ありがとうございました。

    急激に寒くなってたまりません。みなさまもご自愛くださいませ。

  33. Iraka.T

    空メッセージ(どれか一つを選択してください)で選択肢を選択するとログを吐いて動かなくなるようです

    Version : 1.1 / 2016-12-01 22:09:44
    DateTime: 2016-12-02 21:53:58
    Traceback (most recent call last):
      File "cw\thread.pyo", line 704, in run
      File "cw\thread.pyo", line 734, in _run
      File "cw\thread.pyo", line 743, in main_loop
      File "cw\eventhandler.pyo", line 96, in run
      File "cw\eventhandler.pyo", line 277, in lclick_event
      File "cw\sprite\card.pyo", line 1230, in lclick_event
      File "cw\event.pyo", line 557, in start
      File "cw\event.pyo", line 736, in start
      File "cw\event.pyo", line 793, in run
      File "cw\event.pyo", line 966, in action
      File "cw\content.pyo", line 3454, in action
      File "cw\thread.pyo", line 1619, in show_message
      File "cw\sprite\message.pyo", line 780, in __init__
    AttributeError: 'SelectWindow' object has no attribute 'specialchars'
    
  34. k4nagatsuki reporter

    ありがとうございます。pull request #1657で修正しました。

    シナリオ外部に持ち出したカードでメッセージ内に特殊文字を表示しつつ画面スケールを変更すると特殊文字が消えるというバグを直した時に、かえってバグを入れてしまったようです。

  35. 暗黒 騎士

    パーティ解散エリアでパーティを一人にして戦闘を行うとラウンドのPCの行動で拡大される時、選択したカードが表示されない現象が再発しているようです(おそらく7f1bba1の影響)

  36. k4nagatsuki reporter

    pull request #1669

    ありがとうございます。修正しました。

    PC順序の変更により表示レイヤが変更されるのですが、レイヤ情報の変数だけ更新して肝心のレイヤ変更処理を行っていませんでした。

  37. k4nagatsuki reporter

    ありがとうございます。

    これは仕様といえば仕様かもしれませんが、明らかに問題です。cwxeditorは変換の際に各素材をMaterial以下に移動しますが、JPY1のファイル指定には「シナリオのフォルダを起点にする」みたいなものがあるので、その時点で不整合が起きてしまいます。cwxeditorの仕様バグというべきです。

    というか、その辺のパスの修正は変換処理の中に入ってたはずだな……やっぱりただのバグか……ちょっとcwxeditorの方を調べてみます。

  38. k4nagatsuki reporter

    pull request #1670

    調査が迷走して遅くなってしまいましたが、やっと直りました。ファイルがMaterial以下へ移動した事自体は問題ではありませんでした。というのも、JPY1やJPDC内のファイルパスの指定は、エンジン付属のリソースを読み込む場合でもない限りはそのJPY1・JPDCファイル自身のパスを起点にするからです(マニュアルと食い違いますが、dirtype=4の場合ですらそうです)。

    では何が問題だったかというと、CWPyではData/Temp/.../ScenarioLog/TempFile内にあるJPDCの撮影データをJPY1の処理から探索しに行く時、そのデータがサブフォルダにあるとうまくいかない、というバグでした。全ての素材がMaterial以下に移動する事でそれが発覚した形ですが、これはクラシック→WSN形式変換以外でも発生します。

    最新のテスト版をお試しください。

  39. 暗黒 騎士

    お疲れ様です。修正を確認しました。

    上記シナリオではJpy1側のfile指定をMaterial/Skill反映.bmpにすることを提案したのですが、この修正で引っかからなくなるのは正常ということでいいのですよね…?

  40. k4nagatsuki reporter

    はい、正常です。

    具体的には次のように検索が働くはずです。

    1. 一時スキル画像.jpdcMaterial/にあるので、撮影結果はTempFile/Material/Skill反映.bmpに入る
    2. 加工_ぼかし.jpy1Material/にあるので、filename=Skill反映.bmpの実際の読み込み対象はMaterial/Skill反映.bmpになる
    3. Material/Skill反映.bmpはJPDCの撮影データなので、TempFile/Material/Skill反映.bmpが読み込まれる

    2.でfilename=Material/Skill反映.bmpになっていると、読み込み対象はTempFile/Material/Material/Skill反映.bmpとなり、正しく動かない事になります。

    今回のバグは、3.のところでTempFile/Material/Skill反映.bmpになるべきパスがTempFile/Skill反映.bmpになってしまう、というものでした。ここで余計なMaterialが一個あると、TempFile/Material/Skill反映.bmpとなって、たまたま正しい位置を指すようになる、という事になります。

  41. salt

    デバッグモードの簡易作成が動かなくなっている気がします。

    Traceback (most recent call last):
      File "cw\dialog\etc.pyo", line 392, in OnBotton
      File "cw\dialog\select.pyo", line 2117, in _create_debug
      File "cw\debug\charaedit.pyo", line 81, in __init__
      File "cw\debug\charaedit.pyo", line 229, in select_target
      File "cw\debug\charaedit.pyo", line 1097, in select_target
      File "cw\debug\charaedit.pyo", line 973, in _update_images
      File "cw\debug\charaedit.pyo", line 986, in _select_image
    AttributeError: 'CharaInfo' object has no attribute 'can_loaded_scaledimage'
    
  42. k4nagatsuki reporter

    ご報告ありがとうございます。ダイアログを開く事すらできなくなっていますね。どうして気づかなかった……。

    pull request #1672で修正しました。

  43. k4nagatsuki reporter

    バージョン1のリリースから4ヶ月ほど経ちますので、そろそろバージョン2のα版をリリースしてもいい時期ではないでしょうか。

    リリースといっても、以前のα版と同じく、月初めのスナップショットをフォント・スキンと共にアーカイブしたものを1.1の下にひっそり置いておくというようなものになります。

    他の話題の時に個別にお話させていただいた事ですが、バージョン2では@IrakaTさんのスキンBloodWirthと、@akkwさんのスキンJUDGMENTを同梱する事を考えていますので、α版でもこれらを同梱した方がいいかと思います。

    問題なければそのようにしますが、@IrakaTさん、@akkwさん、いかがでしょうか。

  44. Iraka.T

    BloodWirthの同梱については異存ありません。04_StartScenario.xmlを加えたものをαリリースまでに提出しますので、それを同梱してくださいませ。

    α版リリースする前に、CWPy2の正式リリースの目処についてお伺いします。CWPy2は何をもって正式版になりますか? WSN.2への機能追加は終了したということでしょうか?

    誤解でしたらご指摘ください。CWPy1は1.50の互換エンジンが完成したと見てリリースされ、以降の開発はWSN.2の策定と実装を中心に行われてきたと思います。私は、CWPy2はWSN.2の仕様が完成した後のリリースになると思っていました。

    これまではWSN.2に対応しつつもCWPy2ではなかったので、バージョン2と銘打たれるのはもっと遠い先のことかと思っていました。そのため、突然に感じて戸惑ってしまったようです。お答えさえいただければ内容によらず落ち着けます。

  45. k4nagatsuki reporter

    ありがとうございます。たぶん最初のα版は1月中くらいのリリースになって、次からは例によって毎月1日という事になると思います。

    CWPy2は何をもって正式版になりますか?

    これは、私にも分からないというのが正直なところです。実をいうとこれまでのリリースでも、「何を以って」という事ははっきりしていませんでした。「ある程度新機能も増えてきたし、一段落ついた。そろそろこれまでの成果をまとめて正式版にしよう」というのが、CWPyにおける「正式リリース」の立ち位置です。

    バージョン1(0.12.4)においても明確な指標があったわけではありません。互換エンジンの完成という意味では、私は一番最初の0.12.1の時にもそう思っていました。もちろん、互換性問題が永遠に完璧な解決にたどり着けない課題である事実を思えば、完成という言葉にも「ある程度の」という接頭辞をつけざるを得ないのですが。

    WSN.2への機能追加は終了したということでしょうか?

    これは、その他の機能と同様、終了しません。これまでのCWPyの開発では、各種リリース版の扱いは大体以下のようになっていました。バージョン2でもこうなるはずです。

    • α版 … デイリービルドをパッケージ化したもの。リリースされたからといって開発姿勢に変化はない。
    • β版 … 正式リリースへの目処をつけたバージョン。機能追加や変更はできるだけ行わない。また、WSN仕様は、仕様バグが見つからない限り手を入れない。
    • RC版 … 正式リリース候補。問題がなければそのまま正式版になる。最近はこの段階を省略している。

    私は、CWPy2はWSN.2の仕様が完成した後のリリースになると思っていました。

    実際にそうなると思います。ただ、「Wsn.2仕様の完成」も、単にどのへんで区切りをつけるか程度の問題なので、いつになるかは分かりません。

    個人的には#432は入れたいなぁと思っていますが。

  46. Iraka.T

    お答えありがとうございます。すっきりしました。

    α版リリースが行われるとWSN.2シナリオも発表しやすくなりますね。発表の際には、WSN.2には仕様変更の可能性があることなど注意書きが必要でしょうけれど。

  47. k4nagatsuki reporter

    ありがとうございます。では、両方同梱してα版をリリースさせていただきます。目処としては三が日中くらいでしょうか。cwxeditor 5のα版も同時になるでしょう。

    @IrakaTさんの04_StartScenario.xmlへの言及で思い出した事なのですが、宿の場面で始まるシナリオで最初に背景継承しているものがいくらかあったはずなので、JUDGMENTは宿画面に宿名とパーティ名を出しているのを、シナリオ開始エリアで消去した方がいいかもしれません。

    α版リリースが行われるとWSN.2シナリオも発表しやすくなりますね。

    そうした事を考えると、Wsn.2の現時点での機能についてちゃんとまとめた記事も作らないといけませんね。作りかけはあるのですが。

  48. Iraka.T

    スキンについて、古いバージョンのCWPyに追加されてしまうと問題のあるスキンが存在します。

    たとえばBloodWirthは宿画面で背景セルに前面レイヤを指定したり、評価条件によるキャラクター選択分岐を行っていますし、イベント内に<ContentsLine>が含まれています。そのため、WSN.1に対応していない0.12.3等のバージョンでは正常に動作しません。

    今後WSN.2の機能を利用したスキンが作られる可能性を考えると、そのようなスキンを弾くことができるCWPy1の正式版をリリースしておいたほうがいい気がします。

  49. k4nagatsuki reporter

    たしかに、シナリオの方にはバージョンチェックを設けましたが、スキンの方にはありません。データバージョンを見て、認知していないバージョンの場合は選択できないようにした方がよさそうです。issue #439を立てました。時間ができたら作業します。


    CWPy1系に対してそのような機能をつける事には、あまり意味は無いと思います。

    それを機能させるために、ユーザは新しいCWPy1をダウンロードする必要がありますが、大勢がアップデートする事は期待できません。結果、バージョンチェックありとなしの1系が世の中に混在する事になり、問題は余計にややこしくなります。

    これはスキンの配布側で注意を促すなどの方法でしか解決できないと思います。

  50. Iraka.T

    そうですね、同じバージョンで機能差があるというのは混乱の元かもしれません。

    スキン制作者としては、配布時の注意事項が増えるというのはなかなか好ましくないのですが、やむないのでしょう。

  51. k4nagatsuki reporter

    pull request #1687

    対応しました。

    スキン制作者としては、配布時の注意事項が増えるというのはなかなか好ましくないのですが、やむないのでしょう。

    バージョン2以降は本体側でチェックする事になるので、それを正式リリースさえしてしまえば、「バージョンn以降対応のスキン」という表記だけでよくなるかと思います。

  52. Iraka.T

    対応ありがとうございます。とはいえ、この機能が役に立つのはしばらく先になりますね。

    CWPy2向けのBloodWirth1.1を用意しました。α版リリースの際にはこちらを同梱してください。zipルート直下のReadMe.txtは単体配布用のものなので同梱不要です。

    https://app.box.com/s/rqotwic9qzwatv7urdaob3s14rtdj9od

    ところで、スキンを高解像度対応させるなら、やはりシナリオ同様*.x2.pngのように画像を用意するようになるのでしょうか。シナリオが綺麗になってもその他が引き伸ばされているとちぐはぐな感じが強いので、UI用の画像も高解像度に対応したいです。

  53. k4nagatsuki reporter

    ありがとうございます。来年早々にでもαリリースします。

    ところで、スキンを高解像度対応させるなら、やはりシナリオ同様*.x2.pngのように画像を用意するようになるのでしょうか。

    はい、そのまま.xNをつけたものを同じフォルダに入れてください。ただ、ろくにテストしていないです。

    今試しにテストしたらキャストカードの表示がバグった……修正してきます。

  54. k4nagatsuki reporter

    pull request #1689

    直りました。たぶん他にも問題が残っています。バグを踏んでしまったらお知らせいただければ助かります。

  55. Iraka.T

    ありがとうございます。高解像度用の画像はいちから作り直しなので、制作もバグ報告もゆっくりになると思いますが頑張ります。

  56. k4nagatsuki reporter

    今日の夕方頃にはα1を出そうと思います。

    BloodWirthの高解像度対応などもありますし、待ったをかけたいときはコメントください。

  57. Iraka.T

    αリリースお疲れ様です。

    BloodWirthの高解像度対応にはもうしばらくかかりそうです。来月には間に合うかもしれませんので、作業が終わりましたらまた報告しますね。

  58. Iraka.T

    BloodWirth1.1を自サイトで公開するのと同時に、CardWirthPy2α版への案内を記しました。文言などに問題がありましたらご指摘くださいませ。

    また、必要かはわかりませんが、CWPyα1をBoxにミラーアップロードしておきました。

    https://irakat.bitbucket.io/bloodwirth/

  59. Iraka.T

    再現の条件がわかりませんが、ログを吐いて止まったので報告します。

    Version : 2.0 Alpha 1 / 2017-01-03 20:03:17
    DateTime: 2017-01-04 01:25:54
    Traceback (most recent call last):
      File "cw\thread.pyo", line 704, in run
      File "cw\thread.pyo", line 734, in _run
      File "cw\thread.pyo", line 743, in main_loop
      File "cw\eventhandler.pyo", line 96, in run
      File "cw\eventhandler.pyo", line 277, in lclick_event
      File "cw\sprite\statusbar.pyo", line 1068, in lclick_event
      File "cw\battle.pyo", line 88, in start
      File "cw\battle.pyo", line 157, in run
      File "cw\character.pyo", line 977, in action
      File "cw\character.pyo", line 903, in use_card
      File "cw\event.pyo", line 1253, in start
      File "cw\event.pyo", line 736, in start
      File "cw\event.pyo", line 807, in run
      File "cw\event.pyo", line 1278, in run_exit
      File "cw\event.pyo", line 1485, in effect_cardmotion
      File "cw\effectmotion.pyo", line 102, in apply
      File "cw\effectmotion.pyo", line 259, in apply_charactercard
      File "cw\effectmotion.pyo", line 356, in animate
      File "cw\sprite\card.pyo", line 534, in update_image
      File "cw\image.pyo", line 976, in update
      File "cw\image.pyo", line 1043, in update_statusimg
    TypeError: 'Depth1Surface' object does not support indexing
    

    2度見ることができましたが、状況はどちらも画面を拡大した状態で、束縛効果のカードを敵に対して使用した瞬間(PCカードが拡大された時)でした。ただ、同じカードを同じ敵に使用しても、再現しない場合のほうが多いです。


    この報告とは直接関係ないのですが、カード使用時にキャストカードが拡大されるとき、カードの右辺と可変が1pxずつ欠けてしまうようなのですが、これは解消できないのでしょうか。

  60. 暗黒 騎士

    α1リリースお疲れ様です。

    2.0正式版が出てからでいいかとも思ったのですが、対応Verによる混乱もありそうなので勝手ながら現在公開されているスキン一覧を作ってみました。(なにか問題があればご指摘下さい。) http://www9.atwiki.jp/cwpy/pages/23.html

    そういえば現在の最新リリース版1.1ではEPとレベル上限上書きの件(f52fca3)が修正されていないと思うのですが、レベル上限の方は我々のスキンすべてで起こりえるはずなので1.1対応版を残される方は注意された方がよいかもしれません。

  61. Iraka.T

    暗黒騎士さんもWiki更新お疲れ様です。

    ご指摘を受けてBloodWirthの配布ページで1.1に不具合が見つかっている件を記し、CWPy2αへの移行を促してみました。またCWPy紹介ページでもCWPy2αについて触れておきました。

  62. k4nagatsuki reporter

    エラーはpull request #1701で修正できたと思います。pygame.Surfaceにスケール情報などをつけるためにサブクラスを作っているのですが、ステータスアイコンの表示判定でpygame.Surfaceのサブクラスを相手にしようとするとこの問題が起きてしまうようです。

    アイコンが高解像度化されていない場合や、高解像度対応前であれば、2色ビットマップをアイコンにでもしない限りこのバグは踏まないはずです。


    スキンのページやwikiページの作成ありがとうございます。一覧はユーザにとっても開発者にとってもありがたい存在ですね。

    システムクーポンの問題は、1.1の直下辺りにも書いておいた方がよさそうです。Wsn.2の新機能ページ(作りかけ)と一緒に更新しておきます。

  63. k4nagatsuki reporter

    書き忘れていました。

    カード使用時にキャストカードが拡大されるとき、カードの右辺と可変が1pxずつ欠けてしまうようなのですが、これは解消できないのでしょうか。

    調べてみたのですが、これはどうもpygame.image.smoothscale()の拡大アルゴリズムの問題のようです。充分に大きなサイズに拡大しないと右・下の1ピクセルが無視されたような結果になります。

    これを解消するには、拡大処理を再実装するなどの方法が必要そうですが、充分なクオリティと速度を両立させた実装を作るのはかなり難しいです。

  64. Iraka.T

    修正とお答えありがとうございます。

    これを解消するには、拡大処理を再実装するなどの方法が必要そうですが、充分なクオリティと速度を両立させた実装を作るのはかなり難しいです。

    ということであれば、無理に解消を目指さなくてもいいと思います。1px欠けが直っても、パフォーマンスが悪化してはプレイの快適さが損なわれてしまいますし、他に注力したほうがいいと思います。

  65. k4nagatsuki reporter

    pull request #1702

    どうも見てみて気に入らなかったので、無理な方法で問題の回避を試みてみました。カードを等倍以外で拡大する時は、右端・下端を1ピクセル延長(内容は端領域をコピー)してからpygame.transform.smoothscale()を行います。

    もちろん真っ当な方法ではないので、これによって他の問題が出たり、環境によって正しくない結果が出たりした場合はロールバックします。

    この処理がない場合、250%のような巨大なサイズに拡大しても、やはり端の部分は消えてしまうようです。しかしそのようなサイズの場合、この処理を入れると逆に右端・下端が少し膨れて見えるような気もします。どちらがマシかというと、個人的には消えるよりは膨れた方がマシです。

    とはいえ到底きれいなやり方とはいえないので、将来的には別の方法で解決したいところです。

  66. Iraka.T

    REPLACE_CARDREPLACE_POSITION.x2にすると位置がずれるようです。

    ところで、SkinBaseのblack.bmpwhite.bmpはスキン生成時にコピーされるだけで、プレイ中には参照されないのでしょうか? SkinBaseにあるからと消しておいたら暗転しなってしまっていました。

  67. k4nagatsuki reporter

    REPLACE_CARDREPLACE_POSITION.x2にすると位置がずれるようです。

    ありがとうございます。pull request #1704で修正しました。

    ところで、SkinBaseのblack.bmpwhite.bmpはスキン生成時にコピーされるだけで、プレイ中には参照されないのでしょうか? SkinBaseにあるからと消しておいたら暗転しなってしまっていました。

    これは当初からそういう仕様です。SkinBaseを作った当時はそこに全スキンから参照可能な素材を置くという考えがありませんでした。その後バージョンアップの都合を考えてResource以下だけはそういう仕様になりましたが、その他の素材はそうなっていません。

    その考えが頭に浮かばなかったわけではないのですが、他のエンジンとの兼ね合いなどを考えて躊躇してしまったのだと思います。<Skin>/Tableなどの内容は、CW側のData/Tableとできるだけ揃えた方が、ややこしい事にならないのではないか、という事です。


    となると、今度はBlack.bmpなどをなぜ入れたのが謎になってしまいます。で、思い出してみたのですが、どうもこれは1.20からのスキン生成に対応した時に入れてしまったようです(1.20にはblack.bmpwhite.bmpが入っていない)。軽率だったかもしれません。

  68. Iraka.T

    修正とお答えありがとうございます。Resource以下だけが参照される仕様でしたか。

    高解像度対応作業が思いの外さくさく進んでいるので、これを公開する時にまた追加しておきます。スキンリソースは終わって、シナリオのカードなど描き直しているところです。

  69. 暗黒 騎士

    Resource以下だけはそういう仕様になりましたが、その他の素材はそうなっていません。

    すいません、ということは攻略wikiの記述は嘘になってしまいますね。自分も誤解していたようです。 騙された方がいれば申し訳ないです。

  70. k4nagatsuki reporter

    お手数をおかけします。私の方でよく見て気づくべきところでした。

  71. 暗黒 騎士

    8日にビルドしていたバージョンでは無事なので多分Pygameの更新による影響だと思うのですが、 エフェブの撮影機能が機能しなくなっているようです。(じゃがさんの写真撮るだけなどで確認)

    Traceback (most recent call last):
      File "\cw\sprite\background.py", line 209, in load_surface
        image = cw.effectbooster.JpdcImage(mask, path, doanime=doanime).get_image()
      File "\cw\effectbooster.py", line 975, in __init__
        pygame.image.save(saveimage_noscale, path.encode(encoding))
    error: Couldn't open Data/Temp/Local/Yado/yado/ScenarioLog/TempFile/Material/bmp.bmp
    
  72. k4nagatsuki reporter

    ありがとうございます。どうもパスの文字コードの扱いが変わっているようですね。WindowsならSJISとして扱われていたのがUTF-8を受け付けるようになっています。

    pull request #1717で対応しました。

  73. Iraka.T

    スクリーンショットの保存に失敗するようになりました。cardwirthpy_20170112cの時点では発生しません。

  74. k4nagatsuki reporter

    ありがとうございます。pull request #1718で対処しましたが、どうも解せません。同じ関数呼び出しが方やUTF-8のみ受け付け、方やファイルシステムのエンコーディング(CP932)とは?

    今はちょっと時間がありませんが、後々調べる必要がありそうです。

  75. k4nagatsuki reporter

    ありがとうございます。α2からこちらのバージョンを同梱させていただきますね。

    全部パッケージ化すると50MB超えるので、もはや1~2MBは誤差の範囲内……だと思う。

    Classicスキンとかも全部高解像度化した方がよさそうなのですが、再現スキンといいつつ別世界化しそうなので、ちょっと迷い中です。メッセージ表示だけどうしても気になったので、特殊文字は拡大してしまいましたが。

  76. Num_400

    α版中にすみません。要望Issueを立てて良いか相談させて下さい。
    昨今多数のクーポン対応が行われていますが、現状のクーポン分岐では、クーポン分岐にクーポン分岐を重ねる多重構造になり、色々不便だと感じています。
    そこで多重化するクーポン分岐の簡略化はできないでしょうか?

    具体的に言うと、プラグラムで言うcase文のように、クーポン毎に分岐を作るような感じです。(CW的に表現するとステップ多岐分岐の変数がクーポン名になる感じ)

  77. k4nagatsuki reporter

    ご提案ありがとうございます。WSN追加案の一覧に追加しました。

    イメージとしてはこのような感じでしょうか。

    # 選択中のメンバがクーポン`_子供`を持っていれば最初の分岐先に、`_若者`は次の分岐先に……と分岐する
    分岐元
      ├_子供
      │   :
      ├_若者
      │   :
      ├_大人
      │   :
      ├_老人
      │   :
      └該当なし
          :
    

    イベントツリーの縦幅はあまり変わらなさそうですが、ツリーの見易さは格段によくなりそうです

  78. k4nagatsuki reporter

    @IrakaTさん

    メールフォームを使おうも思ったのですがやり取りができないのでここで(BitbucketのDMはどこに消えたんだろう)。BloodWirthを使っていて気づいたのですが、Button/RJUMP.x2.pngの向きが間違っているみたいです(左右逆になっている)。しばらく使ってみて、また何か見つけたらお知らせします。

  79. Num_400

    機能イメージありがとうございます。
    私の想像通りです。

    他にも書きたい事はあるのですが、それはIssueを立ててから考えたいです。
    Issueはどうしましょ。一介のユーザーが立てていいのでしょうか?

  80. k4nagatsuki reporter

    Issueはどうしましょ。一介のユーザーが立てていいのでしょうか?

    もちろんOKです。これが必要だ、と思ったものはどんどん立てて議論の俎上に載せてください。

  81. Iraka.T

    対象なしカードの使用時イベント内の効果コンテントで召喚獣を付与すると、使用時イベント終了時(?)に無効音が鳴って召喚獣が消えてしまいます。

    ちょっと時間がなくて詳しく調査できてないです。他の効果も打ち消されるかもしれません。使用者対象で何か効果が入っているカードなら同様に召喚獣を付与していても問題ありませんでした。

  82. 暗黒 騎士

    「不死は生者の玩具」というシナリオで、システム逃走wav→システム初期化wav→ウェイトを4回というツリーを組むことで タン、タン、タン…という階段の上り下りが表現されているのですが、Pyではシステム逃走wav→システム初期化wav間の実行が早すぎるのかこれが聞こえないようです。 次の再生までに少しウェイトを入れる事はできないでしょうか。

  83. k4nagatsuki reporter

    @IrakaTさん

    ありがとうございます。pull request #1724で修正しました。対象なしの時にはエリアイベントだけ発火してその後は何も起こらないのが正解なのですが、プレイヤーカードイベントの実装辺りでミスして何か起こるようになっていました。

    @akkwさん

    手許の1.50で試してみたのですが、やはりこのイベントでは音がほとんど消えてしまうようです。以前プレイした時には聞こえてきた気がするので、純粋な処理速度の問題だと思います。

    そうなると、これにどう対応するべきかは難問です。純粋に2つ音声再生が並んでいたらウェイトを入れるようにしても解決しません。例えばパッケージのコールを挟んでいたり、呼び出された先に音声があってたまたま連続で鳴ったりするような場合でも同じ問題が発生します。音声再生部分に手を入れて連続再生を抑制したりすると、何度も連続で音声を鳴らしたりしているようなイベントツリーで逆の問題が発生します。

    対応するとしたら互換性DBの出番かもしれませんが、汎用的な解決は難しい気がします。

  84. Iraka.T

    背景について、カラーセルの「加算」と「減算」で結果がおかしくなっているようです。

  85. k4nagatsuki reporter

    pull request #1725

    ありがとうございます。修正しました。プログラマ界の最適化に関する格言の第一が「最適化するな」だったりするのですが、そのとおり、安易なチューニングなどするものではありませんね。

  86. 暗黒 騎士

    手許の1.50で試してみたのですが、やはりこのイベントでは音がほとんど消えてしまうようです。

    クラシック形式で初期化が続いてる場合のみにしたらどうかと思いましたが、環境次第で1.50も全く鳴らなくなるのであれば そこまで拘る問題ではないですね。了解しました。

    http://ux.getuploader.com/ankkk/download/21/JUDGMENT_1.5.zip

    インストール系の新規アイコンに対応しましたのでよければα2に組み込みお願いします。 提供して頂いたoggに差し替えたら結構な減量になったのでついでに256色に減色した結果、 なんと容量が6.7MBから5.0MBまで減りました。(ヒエ~) ハルキゲニアさんありがとうございました。ただBGM1については印象が変わってしまうので差し替えませんでした。すいません。

  87. k4nagatsuki reporter

    CWでの1~2コンテントの処理がそんなに遅いわけがないので、遅延の理由を考えてみるに、たぶんMCI(winmm.dll)の内部で引っかかり発生していたのだと思います。

    その流れで1.28時代、一般にBGM再生に1秒近い遅延があった事も思い出しましたが、それに適応したシナリオへの対応も同様に筋が悪そうです。幸いこれまでプレイしていて気になった事はありません。

    JUDGMENTスキンの更新了解しました。α2から同梱させていただきます。ありがとうございます。

  88. Iraka.T

    バックログを表示している間ずっと、CPU負荷が高い状態になるようです。

    あまり長い時間表示することもないので気づきませんでしたが、バックログを表示したまま別作業を始めたところファンがうるさく鳴りはじめ、タスクマネージャで確認するとCWPyが原因でした。バックログから戻ると負荷は平常に下がります。

  89. ハルキゲニア

    JUDGMENTのBGM1別(頭を後ろに持っていきました)バージョンつくりました。

    BloodWirthのDefBattleつくってまました。

    倉庫に置いてます。

  90. 暗黒 騎士

    ありがとうございます。 折角作って頂いたのに申し訳ないんですが、 BGM1についてはフェード部分もアクセントになっているのでそのままでいいと思ってます。 ループさせようとしてもフェードアウト中のメイン旋律が不自然に切れてしまいますので…。 ついでに落とさせてもらいましたがBWの宿OGG、サガフロのまよいみたいな音色でかっこいいですね。

  91. k4nagatsuki reporter

    バックログを表示している間ずっと、CPU負荷が高い状態になるようです。

    ログ表示中に毎フレーム再描画が発生していました。pull request #1732で修正しました。ありがとうございます。

    むしろ30FPSの全画面再描画でよくこの程度の負荷で済んでたな……。

  92. Iraka.T

    @tekitoudesu さん、ありがとうございます。DefBattleとても格好良くていいですね。

    少しだけ音量を下げたいと思うのですが、oggはmp3と違って無劣化でこの作業を行うことができないんですね。oggを普段使用しないので、調べてはじめて知りました。

    できれば気持ち程度、音量を下げていただけないでしょうか。デフォルトなので極力、シナリオで用意される曲よりも派手にならないようにしたいのです。

    BloodWirthHomeのほうも格好良くて素敵です。ただ、この曲は拠点で何度も繰り返し聞くことになるので、地味で静かなmidiのままが好ましいと思いました。(ちなみにBloodWirthOpenとBloodWirthHomeはmidiの情報を見ると分かるのですがどちらもバッハのリュート曲です)


    修正お疲れ様です、ありがとうございます。負荷などなさそうな画面だったのでびっくりしましたね。

  93. Num_400

    ツイッターでPyのダウンロード先が分かり辛いという話が出てました。
    確かにその通りなのですけど、ずっと改善しなかったのは何か理由があってのことなのでしょうか?
    (確かPyは普及活動に積極的ではない、ということがどこかのIssueで書かれてた気がします)

  94. k4nagatsuki reporter

    正直に言ってしまいますと、自分にできる範囲でできる事をした結果が現状の有様です。

    分かりやすく使いやすいWebサイトのようなものへの取り組みは、私の持てる意欲と、おそらく能力の範囲をも超えています(目下のところ開発だけでも超え気味)。

    自分にならできるという方は、助けていただけるとありがたいのですが、贅沢は言えません。

    wikiは、誰でも編集できます。改良できるという方は、直接手を出していただいても構いません。


    ところで、同じような課題を解決するために作られたのが@akkwさんの攻略wikiなのですが、そちらの方は知られていないという事でしょうか?

    トップに「一般プレイヤーの方は攻略wikiへ」とリンクを置けば解決するのかもしれません。

  95. 暗黒 騎士

    「情報量が多い」「ダウンロードにスクロールする必要がある」というのが不評なようですので さしあたって最上位にダウンロードを置き、CW移行関係の説明を別に移すのはどうでしょう。 とりあえずやってみたので駄目っぽかったら戻して下さい。

  96. k4nagatsuki reporter

    ありがとうございます。本当に助かります。たしかにこちらの方がだいぶすっきりしていていいですね。ページ内リンクが切れているなどの小さな綻びだけ繕っておきました。

    他にも「ここはこうした方がいいんじゃ?」という方がいらっしゃったら、どんどん手を出していただけるとありがたいです。

  97. Iraka.T

    Homeのダウンロードリンクにアイコンを付けておきました。(何の装飾もなしに視線誘導するのはやはり無理だと感じたので)

    また同様にCWXEditorのHomeも編集しました。ダウンロードの見出しを目立つ位置に移動し、やはりアイコンを付けました。また、旧版ダウンロードリンクを消したりという勝手をしております。

  98. Num_400

    nagatsuki さん
    返信ありがとうございます。広報に対するリソース不足が原因なんですね。
    確かに、適材適所で攻略wiki側へ誘導を促すような仕組みが必要な気がします。

    暗黒騎士さん、Iraka.Tさん wikiの編集ありがとうございます。とても見やすいです。

    私も少し編集してみました。

    修正内容は、ダウンロードの欄には「ダウンロードに関する情報だけ」を載せることにしました。 攻略wikiは一番上に記載します。
    以下の文言はアップデート操作に関わる話なので、「エンジンのアップデート方法」という欄を作成し、そちらへ移動してみました。

    「フルバージョンであっても、設定やプレイデータは含まれていないため、ダウンロードし解凍した内容をそのまま上書きすれば更新が可能です。」

  99. Iraka.T

    BoxのBloodWirth_1.2.zipUpdateInfo.xmlを追加したものに更新しました。

    bmpからpngに差し替えたけど、上書きだけだとよろしくないなと思っていたところ、渡りに船の機能でした。ありがとうございます。

  100. k4nagatsuki reporter

    皆様ありがとうございます。お知らせを飛ばすリンクがまた切れているのですが(アンカー用のIDをつけられないせいで)、そもそも構成が変わったのでこのリンクは不要そうです。削除しておきます。

    BloodWirthも忘れずに更新しておきます。ありがとうございます。

  101. ハルキゲニア

    Iraka.Tさんの言う派手さの要因はオーディオなのでリバーブが派手にかかっている、サイドの音が大きい、ステレオ感が強い為だと思うので、音の大きさはあまり関係ないかと。

    おそらくmidiと比較して派手で浮いて聞こえるって事なのでしょうが、戦闘曲なので少々派手に作ってます。

    構想5分ほど、完成まで3時間、テーマは夜、吸血鬼、曲名にも入ってるバイオリン。 人ならざる者が踊るように戦ってるイメージですかね。

    普段は人間社会に溶け込み冒険者、いざ戦いとなれば血が騒ぐ、人のままではいられない、そんな感じの曲だと思ってもらえれば、納得いきませんか?

    midi主体のシナリオをプレイしたり、-1dbでノーマライズしたりと色々やってみましたが、小さくする必要は無いと思いました(逆に負ける)

    どうしても音を小さくしないといけないのであれば、どうせ素人が短時間で作った狂です、不採用で構いません。

  102. Iraka.T

    わかりました。もったいないのですが、スキンに入れることはやめておきます。せっかく作っていただいたのに、すみません。

    曲の雰囲気やイメージはとても好みです。ただデフォルトの素材と考えると少し違和感を感じて、自信を持って推すことをためらってしまうというだけの理由です。

    悪いのは私の耳と音色との相性(おそらく私の耳に刺激の強い周波数帯が厚い)なのだと思います。

  103. ハルキゲニア

    こちらこそ勝手してお騒がせしました。

    せっかく作ったんで2mixからやり直して、ウディタとかツクール等の素材として生まれ変わるとかありかしれません。

  104. Iraka.T

    デバッガや貼り紙選択ダイアログからエディタを開いた後、そのプロセスを終了させずにCWPyを終了させるとログを吐きます。これが発生してしまうと、エンジンから開いたエディタを閉じた後で、手作業でYado\宿名\.CardWirthPy.lockを削除してやらないと、宿が選択できなくなります。

    Exception in thread Thread-1:
    Traceback (most recent call last):
      File "threading.pyo", line 801, in __bootstrap_inner
      File "cw\thread.pyo", line 731, in run
      File "cw\util.pyo", line 3712, in acquire
      File "cw\util.pyo", line 3962, in clear_mutex
      File "cw\util.pyo", line 3881, in unlock
      File "cw\util.pyo", line 1733, in remove
      File "cw\util.pyo", line 1767, in remove_file
      File "cw\util.pyo", line 1767, in remove_file
      File "cw\util.pyo", line 1767, in remove_file
      File "cw\util.pyo", line 1767, in remove_file
      File "cw\util.pyo", line 1767, in remove_file
      File "cw\util.pyo", line 1772, in remove_file
    WindowsError: [Error 32] プロセスはファイルにアクセスできません。別のプロセスが使用中です。: u'path\\to\\cardwirthpy\\yado\\yadoname\\.CardWirthPy.lock'
    
  105. 暗黒 騎士

    通常状態のキャストにフォウの精神正常化で無効化音が鳴らないようです。 さかのぼってみましたが少なくとも0.12.3b/1.1でもそうなっているので仕様でしょうか?

  106. k4nagatsuki reporter

    pull request #1738

    サブプロセスにファイルハンドルが引き継がれてしまっていました。これは本来そうなっているべきではないので、ロック機構の変更で問題が発覚したのは不幸中の幸いというか、ラッキーでしたね。ご報告ありがとうございました。

    pull request #1739

    精神正常化は、CWPyの仕様といえば仕様ですが、つまりはいつもの仕様合わせの見落としですね。合わせました。

    しかしこの仕様の不一致は便利なので(無効音を鳴らさない手段の一つになる)、利用しているWsn.1シナリオが出現しない可能性が無いとは言えませんが……やっぱりあまりなさそうではあります。万が一あったら、Wsn.1の時に限り元通り鳴らすようにしましょう。

  107. 暗黒 騎士

    お疲れ様です。修正確認しました。

    立て続けに申し訳ないですが、最近入ったバグっぽいのが一件。(自分が入れたバグかと思って焦った)

    たとえば2番目のメンバが暗緑適性の祝福をかけると持続ラウンドが8・8・10・10・10・10となるようです。おそらくは1330933 あたりの変更の影響で、効果で自分が目標になった場合、効果適用の途中でもただちにその影響を受けてしまうという感じでしょうか。

  108. k4nagatsuki reporter

    pull request #1740

    修正しました。ありがとうございます。まさに仰る通りで、選択メンバのステータスは動的に変わっていくので計算の参照値を都度取得するように変えたのですが、効果値などの計算時点で取得するのでは動的過ぎた(一連の適用の途中は固定でなければならない)という感じです。

  109. req

    長月さん、お疲れ様です! ここ数日CWPyに触れていて質問が湧いたのでよろしいですか? 自分は2年以上CWから離れていたのもありとんちんかんなこと言ったらすみません。

    1.長月さん、宿とかの圧縮はしないで、とりあえずセル拡張、ステップ拡張とかだけして、 Nextのシナリオを動くようにしてしまいませんか? Wsn追加案:というのになるんですかね? セル拡張については課題#88見ました。自分もパーティメーカーをNext対応しようとして、 通称exintには少し苦労しました。結局宿とかの圧縮形式が分からないで、 Lynaさんに聞いても答えてくれず、挫折しましたけどね。 なぜNext対応してほしいかというと、昨日ティラノスクリプト(ティラノビルダーからティラノスクリプトを生成でもいいし手書きでもいい) をカードワースシナリオに全部は無理でも部分的にでもシナリオ形式にコンバートして読み物系のCWシナリオを 作成するツールの作成を模索し始めたことにあります。セル拡張があると少しはマシになるんですよね。

    2.今家にある古いメビウスノートに入れてある linuxBean 12.04 に CWPyをインストールしてみているところなのですが、 最初は勘違いしていて CardWirthPy_1.1.zip を解凍してそのまま持って行ってWineで起動を試してしまいました(^^;) https://bitbucket.org/k4nagatsuki/cardwirthpy-reboot/wiki/OtherOS みて、途中取得出来ずに sudo apt-get update するところはありましたが、順調に来ていて、 sudo easy_install http://svn.neotitans.net/lhafile/ のところで error: Unexpected HTML page found ... となってしまい、ググったら sudo easy_install -U setuptools すればいいとあったのでやってみたら Traceback (most recent call last): ・ File "/usr/local/bin/easy_install", line 9, in <module> ・ ・ load_entry_point('distribute', 'console_scripts', 'easy_install')() ・ File "/usr/local/lib/python2.7/dist-packages/setuptools-34.0.2-py2.7.egg/pkg_resources/init.py", line 560, in load_entry_point ・ ・ return get_distribution(dist).load_entry_point(group, name) ・ File "/usr/local/lib/python2.7/dist-packages/setuptools-34.0.2-py2.7.egg/pkg_resources/init.py", line 2641, in load_entry_point ・ ・ raise ImportError("Entry point %r not found" % ((group, name),)) ImportError: Entry point ('console_scripts', 'easy_install') not found とコンフリクト起こしました。Linuxは詳しくないので、これの解決策をご存じでしたらお教えください。 あとLinux素人としては思うのですが、Linux初心者でもインストール、プレイしやすいように Ubuntuソフトウェアセンターとか、.rpmパッケージとか.debパッケージにしたり出来ないのですか? もしくはWineで実行出来るように出来ませんか? Wineでの実行はpy2exeは出来ないのですね?pyinstallerとかは出来るそうなのですが、激遅だという記述を見ました。 py2exeをWineでも実行出来るような修正加えたのとかないんですかね?

    以上です(^^)

  110. k4nagatsuki reporter

    1.についてですが、issue #162があります。なぜ今までそれに手を付けてもいないかというと、技術的な面ではなく政治的な面で何が起こるか分からないからです。小さな可能性であっても手に負えない事態になるのは避けたいので、今のところ何もしない事にしています。技術調査もしていません。exintのような事もあったので、いざ調査したら思わぬ障害に突き当たる事も考えらないではないですが、根本的な問題は機能面・技術面ではないです。前進するのは難しいです。

    lhafileは、どうもライブラリの方の状況が変わっているっぽいですね……。たぶんSubversionで直接リポジトリをダウンロードしてインストールすればよさそうです。以下でどうでしょうか(svnが無い場合はapt-getでsubversionをインストール)。

    svn checkout http://svn.neotitans.net/lhafile/
    cd lhafile
    sudo python setup.py install
    

    WINEの互換性はすでにあちこちで実用されるくらいまで来ていたと思うのですが、動かないんでしょうか? 最近WINE 2.0が出たはずなので、それが各ディストリに入る頃には動くようになったりしないでしょうか。

  111. req

    自分も、Next 対応の基本的な部分は、技術的な問題でないだろうなあと思っていました!

    issue #162 見ました。思い出しました。バックアップという バランスブレーカーありましたね!こんなもの対応するのも 問題外だと思います。Next シナリオを作成している方々に調査 する必要はあると思いますが、本当にバックアップによる ゲームバランスの変化を考慮に入れてシナリオ作成しているのでしょうか? セル拡張とステップ拡張だけコンテントの追加・コンテントの機能拡張で 対応しておいて、Nextのシナリオのうちセルとステップしか変わって ないものはCWPyにシナリオコンバート出来るようにするとか 出来ないですかね?Nextのシナリオは圧縮かかってないですよね? 自分は政治的なことは分からないのでご提案してみました。

    CWPyは、今までのCW資産も継承しつつ、シナリオ作成者の興味をそそる新機能 を追加したりしていけばいいと思います。例えば、 ・カードのアイコン表示 ・時間が来たらリンク、コールするコンテントの追加 とか出来るのかとか有用なのかとか分かりませんが言ってみました。

    lhafileは今から試してみます(^o^) WINE 2.0は期待ですね!

  112. k4nagatsuki reporter

    Nextのシナリオのうちセルとステップしか変わって ないものはCWPyにシナリオコンバート出来るようにするとか 出来ないですかね?

    たぶんCWPyで行うよりは、私以外の誰かが変換ツールを提供する方が安全だと思います。また、シナリオもデフォルトでは圧縮される設定になっていたと思うので、シナリオによってプレイヤーの手間のかかりかたにむらがありそうです。

    CWPyは、今までのCW資産も継承しつつ、シナリオ作成者の興味をそそる新機能 を追加したりしていけばいいと思います。

    現状はそういう風に進んでいますね。すでに追加された機能の他、追加が考えられているものもまだ色々とあります。どんどんアイデアを提供していただければと思います。

  113. req

    シナリオもデフォルトで圧縮かかってるんですねー。 1.5.0に対して、セル拡張とステップ拡張までだったら、 多分CWIの流用とかでも対応出来そうなのですが、CWPyの方で これら追加されたコンテントを読み込んで実行出来ないといけません が、それは出来そうですか?自分がPythonのソースちゃんと読んで、 めればいいのですが、今までが型定義ありの言語しか触れてなく、 どうしてこのメソッドがここでコール出来るのかとか、この変数は 今どんな型しているのかとかがよく分からないのです。

  114. k4nagatsuki reporter

    同じような機能の追加はまだ一部ですね。最終的にはあらかた追加する事になるのでしょうが、変換の見込みが無いので、優先してやってはいません。すでに追加されたものの一覧はこの記事の末尾にあります

    Pythonは難しくはないですよ。私も動的型付けの言語はあまり触っておらず、本格的なアプリケーションに触れたのはCWPyが最初でした。プログラマであれば、気になった部分から手を付けていけば自然に使えるようになると思います。素直でよい言語です。

  115. req

    Python ってインテリセンスで、使えるメソッドとか型とかが分かったりすればなあなどと、軟弱プログラマー(かつブランク2年以上)は思ってしまったりしますが、CWPy のソース実行出来るところまで設定したので、長月さんの言葉信じて、Pythonぼちぼちやっていきます。 お返事ありがとうございます!

  116. k4nagatsuki reporter

    充分処理能力がある環境なら、IDEを使ってしまってもよいと思います。

    私は当初eclipseのpydevプラグインを使っていましたが、何か気に入らないことがあって(なんだっけ)PyCharmに乗り換えました。インタフェースが日本語化されていない事を除けば、いい環境だと思います。

  117. req

    ありがとうございます。 早速入れてみます! ソース間の移動とかも考えると、IDE欲しいところでした。 CWXEditor の方のD言語の方もIDE があって、GUI を簡単に配置・修正 出来るんですか?

  118. k4nagatsuki reporter

    いえ、エディタの方はいまでもテキストエディタで作っています。

    今はDにも実用可能なIDEがいくつかあるはずですが、ポトペタができるものは(遠い昔に開発が止まってるのを除いて)覚えがないですね。

  119. req

    そうなんですねー。

    というのも 課題 #98 はデータ構造も CWのデータにおけるデータバージョンのルールに則ったものに 見直して、CWPyで同じかそれを超えるような機能を実装して、 それをCWXEditorでシナリオに反映してあげればいいだけだと 思ったので。

    GUI簡単にいじれると他の開発者さんの参入もしやすいかなあと。

  120. k4nagatsuki reporter

    一覧はアイデアのメモと個別の実現状態へのリンクの便覧を兼ねています。そこに書いておけばいつか誰かやるかもしれない、という意味ではアイデアを追加しておく意味があります。

    アイデアを機能として実装するまでは、やはりきちんと議論しなくてはならないので、アイデアごとに個別のIssueを立てる事になります。当面議論を始めなくてもいいなら、そこまでやらなくてもいいと思います。

  121. req

    長月さん、開発お疲れ様です。

    lhafileは無事実行出来まして、 ./cardwirthpy.sh を実行しました。 そしたら cw/dialog/settings.py の3078行目

    の get_basefontface メソッドの

    face = cw.cwpy.rsrc.fontnames_init[fonttype]

    で、AttributeError: 'NoneType' object has no attribute 'rsrc'

    というエラーで落ちます。 代入または関数呼び出しが失敗、または予期しない結果を返したってことですよね。 まだソース追えないのでご報告します。

    あと、少し Windows以外のOSで動かす方法に修正加えておきました。

  122. req

    ちなみに↑のエラーはどんなものなんでしょうか? 何か取得・設定ミスか何かしているのでしょうか?

  123. k4nagatsuki reporter

    cw/__init__.pyモジュールにcwpy変数があり、それがcw.cwpyの実体です。それがまだ設定されていない時にget_basefontfaceが実行されたという事ですが、どうしてそうなったんだろう? ちょっと調べてみます。

  124. k4nagatsuki reporter

    pull request #1751

    スキンとWindowsフォントの両方が無い時に発生する問題だったようです。スキンの自動生成ダイアログにフォント設定があるのですが、そこで標準フォントを参照しようとしてエラーが起きています。

  125. req

    hg pull --update で最新取得して起動することを確認しました。 ありがとうございます(^^) これってClassicスキン位は一緒に持ってきたりは出来ないのですか?

  126. k4nagatsuki reporter

    Classicスキンはライセンスが異なるので、別配布になっています(groupAsk作成のリソースに「CardWirthでなら」自由という条件がついているので、フリーソフトウェアとして扱えない)。

    そういえばClassicスキンもバージョン管理する必要がありますし、それ自体のリポジトリを持つべきかもしれません。いずれそうしましょう。

  127. req

    Classicスキンにバージョンがあるとか初めて知りました!

    誰かが標準になるCC0のスキンか何かを提供してくれてそれを入れておくとか 出来るといいのですかね?

  128. k4nagatsuki reporter

    誰かが標準になるCC0のスキンか何かを提供してくれてそれを入れておくとか 出来るといいのですかね?

    画像はともかく、BGMや効果音は代えてしまうと違和感が大きいので、なかなか難しそうです。

    ……と、最近まで思っていたのですが、実はそれらをある程度差し替えても私自身はそんなに違和感なくプレイできるという事が分かってきたので、将来はそうしたものを作ってもよいかもしれません。もちろん非常に労力が必要なので、簡単ではありませんが。

  129. k4nagatsuki reporter

    CWPy 2α2・cwxeditor 5α2をリリースしました。

    Wsn.2のページは全然更新していないのですが、ちょっと時間が取れないので、週末辺り作業します。説明を書いたりスクリーンショットを貼ったりできる方は、手助けしていただけると助かります。

  130. k4nagatsuki reporter

    すみません、またギブアップ宣言です。開発の対応に追われすぎて生活が破綻しそうだと自覚したので、数日ほど休ませてください。

    質問される方が現れるなどしたら、できる方が代わりに対応していただけるととても助かります。

  131. req

    またということは、前にもギブアップ宣言があったのですか?

    ずっと一線で開発なさってこられた印象だったので驚きです。

    ゆっくりなさってください。

  132. k4nagatsuki reporter

    ぼちぼち復帰します。あまり敏速な反応は期待しないでください(特に平日は)。

    またということは、前にもギブアップ宣言があったのですか?

    前にもありました。無理をしても長続きしないので、きつい時は適当に逃げる事にしています。

  133. 暗黒 騎士

    お疲れ様です。

    しろねこさんが仰っていたのですが、スキンのYado2エリアで 適用範囲「パーティ全員」の効果コンテントが_1にしか適用されていないようです。 (-4_Campなどだと全員に適用されるのでナンバークーポンがないせい?)これは仕様になるでしょうか?

    それと事後報告になりますが、スキンの解説で「Postイベントコンテント」(ソースには「CWPyのメソッド実行用コンテント。シナリオでは使えない(スキン専用)。」ともあるのでメソッド実行用コンテントというべき?)に触れるようにしました。

    現在、MenuCardで直接commandを指定しているのは、元々のLogの人氏版だとすべてクリックイベントになっていたのを長月さんの方で簡略化できるようにしたというだけで、将来廃止されるような仕様変更ではない、という認識だったのですが、活用して良いテクニック(ツリーの後にダイアログ実行できるのは有益)として紹介しても問題ないでしょうか。 https://www9.atwiki.jp/cwpy/pages/29.html#id_b2164b63

    (重要ではないので返信はいつでも構いません)

  134. req

    ふと思ったのは、カードワースを初めて実行したときのBGM音量ってうるさくないですか?初期値変えたり出来ないのでしょうか?

  135. 暗黒 騎士

    初期設定はsettingのdef init_settingsで変えられます。 (自分も設定初期化して実行することが多々あってうるさいなと感じたのでLiteではマスターを0.5、MIDIは逆に小さいので1.0に変えました)

  136. req

    うるさいですよね!!新規参入組やカムバック組のためにも、CardWirthPy も 上記 PyLite での調整(MIDIも含む)に合わせてはと思います。CardWirthPy は CardWirth 1.50 と 99.9% の互換を目指すといっても、初回起動時のうるささまで引き継がないでいいと思うのですが、どうでしょうか?

    暗黒騎士 さんのご活躍、ここで や twitter で拝見しております!

  137. k4nagatsuki reporter

    しろねこさんが仰っていたのですが、スキンのYado2エリアで 適用範囲「パーティ全員」の効果コンテントが_1にしか適用されていないようです。 (-4_Campなどだと全員に適用されるのでナンバークーポンがないせい?)これは仕様になるでしょうか?

    宿では、何かあるたびにパーティの完全回復が走る事になっていますが、そのあたりの処理が絡んでいるのかもしれません。ちょっと時間がないので調べられませんが、これは意図した仕様ではないので、直せるようなら直してしまって構わないと思います(回復処理自体をなくすのは、宿からシナリオに入ったパーティは完全な状態だという前提が昔からあるので、ちょっと難しそう)。

    Postについては、イベントツリー内で使えるようにする事で事前に選択肢を出すなどの用途が考えられるため、将来もサポートしなくなったりはしないと思います。使っても構いません。


    音量について。全然気づいていませんでしたが確かに大きいですね。これは合わせていいと思います。Pull Requestをいただければマージします。

  138. req

    ご確認しますが、CardWirthPyの設定(詳細モード)のフォントタブ で、表示例が自分の環境では、フォント名やサイズ、太字、イタリックのチェックなどを触ったときに、一時的に MS UI Gothic になるのですが、これは放置でいいですか? 適用ボタン押したら戻るので実害ないですし。

  139. req

    長月さん お疲れ様です。

    Linuxで CardWirthPy 起動してフォントどういうのが入っているか見ていて思ったのですが、

    ・Glib-GObject-WARNING と Gtk-CRITICAL が出ます。アップデートマネージャーでカーネルなどは最新にしてみたのですが、GlibやGtkが更新されたかは確認していません。

    ・CWPyのランチャーアイコンを作って、./cardwirthpy.sh を実行していて、すぐには起動しなかったので連打してて思ったのですが、cardwirthpy って多重起動防止が入ってないことないですか?

    ・Linux用のCardWirthPyのランチャーアイコンがない(仮でWineのアイコンを表示している)です。Linuxは、CardWirthPy.ico がアイコンとして認識されないので、linuxBean に入っている mtPaint Graphic Editor で変換しようとしても、ico ファイルは対応してなく、Windows のペイントでとりあえず png に変換してみましたが、ペイントでは透明色情報が失われて、アイコンの背景が白になってしまっています。良ければ透明色情報も入っていて、ico→pngにしたファイルも追加されているといいかなと思いました。

    暗黒騎士さん お疲れ様です。

    JUDGMENTスキンは、BitBucketに置かないんですか? 自分はWindowsでは cwpy 2.0a2 で使用しているのですが、 wget でClassicやBloodWirthなどと同様に取得して、Linuxでも使おうと思って。 配布サイトは wget で取得できないというのがあって。 とりあえずは、配布サイトから取得して、上記 png アイコンと共にUSBメモリでLinuxに運んで使ってます。 もしBitBucketに置くときには、cardwirthpy-reboot フォルダで unzip して Data/Skin 下に解凍されると嬉しいです。

  140. 暗黒 騎士

    ご使用ありがとうございます。PyRのPR用フォークの方に1.5をアップロードしておきました。(前は両方で上げてたんですが、大して需要もないだろうしと思ってサボってました) すいませんが、自分の方でLinux環境がないのでどう解凍されるかについてはちょっと保証できません。

  141. req

    自分もzipをディレクトリ階層付きでまとめて圧縮して解凍した経験がほとんどないのでなんですが、BitBucketに置いてある、@IrakaT さんの MyWirth/BloodWirth_1.2.zip も、k4nagatsuki/cardwirthpy-reboot/downloads/skin_classic_20170101.zip もディレクトリ階層付きで圧縮されていたようなので、合わせた感じで出来るかなとも思います。まあ、cd Data\Skin してそこで解凍すればいい話ですけどね?

  142. k4nagatsuki reporter

    あまり時間が取れないので部分部分でお許しください。

    ご確認しますが、CardWirthPyの設定(詳細モード)のフォントタブ で、表示例が自分の環境では、フォント名やサイズ、太字、イタリックのチェックなどを触ったときに、一時的に MS UI Gothic になるのですが、これは放置でいいですか?

    実害はなさそうですが、その手の問題はできるだけ放置したくはないですね。Issueを立てて残しておいていただければ、そのうち対応できるかもしれません。

    ・Glib-GObject-WARNING と Gtk-CRITICAL が出ます。

    これはたしかwxPythonだかGTKだかのバグだったはずです。調べてどうにもならなそう(そして無害)だったので放置しています。

    cardwirthpy って多重起動防止が入ってないことないですか?

    CWPyではアプリケーション単位ではなく宿ごとにロックをかけています。

    アイコンについては、linux環境ではまだ何もしていません。これもよろしければIssueを立てておいてくださると助かります。

  143. req

    CWPyではアプリケーション単位ではなく宿ごとにロックをかけています。

    そうなんですね!と納得している部分もあるのですが、その反面、Windows10では2つ、linuxBeanでは6つ多重起動してしまった身としては、マルチOSのソース上問題なければ Mutex か何か使って入れたほうがよさそうな気がするのですが。特に Windows10 は多重起動してもタスクバーが起動した数に分かれないので、多重起動していて音とかが別々に鳴り出してバグだ!とかならないですかね?自分はそこまでは確認してないですが。

    その他の点は全て納得しました。

  144. k4nagatsuki reporter

    多重に起動する操作を行ったら、多重に起動するのが普通のアプリケーションです。問題は起動が遅い事であって多重起動できる事ではありません。

    CWで多重起動ができないのは、宿内で色々なファイルを個別に保存し、しかもそれが一貫していなければならないからです。同じようなタイミングで複数のセーブ処理が走るとデータの一貫性が失われて壊れてしまいます。ですから宿単位でのロックは必要です。

    逆にいうと、宿単位でロックができるのなら、多重起動を禁止する理由は特にありません。特にCWには最小化すると音が出なくなるという素晴らしい特徴がありますから、使わない画面は最小化しておけば邪魔になる事もありません。

    多重起動できるようにしておけば、イベント中でセーブができないファンタジー宿をとりあえず置いておいて学園を遊び始めたり、複数の宿を見比べながらゴシップを編集できたりと、色々な事ができるようになります。

  145. req

    多重起動できるようにしておけば、イベント中でセーブができないファンタジー宿をとりあえず置いておいて学園を遊び始めたり、複数の宿を見比べながらゴシップを編集できたりと、色々な事ができるようになります。

    なるほど、そういうメリットがあるんですね。そこまでディープに遊んだことないのでメリットに気づきませんでした。

  146. Num_400

    長月さん、一つ気がかりになったので質問させて下さい。
    Wsn.2の各新機能は何かテーマがあって実装されているのでしょうか?

    懸念しているのは、各新機能は特に深い理由がなく便利そうなので、五月雨的に実装されているんじゃないかということです。
    もしこの懸念が事実なら良くない状態だと思います。
    希望や提案がどんどん増えて、作業が溜まる一方だと思うのです。

    そこで今後はPyにも開発目標やマイルストーンを設定をしたらどうでしょうか?
    目標設定によりフォロワーは目標をクリアするための議題にのみ集中し、それから逸れる内容は保留にしやすくなります。

  147. Num_400

    とまあ上で開発目標と言いましたけど、営利組織じゃないので、フォロワー全員が納得できる目標を作るのは難しいよなぁ、とコメント書きながら頭悩ませ中。
    ざっくりした目標ではDL数を増やすとか、Py専用のシナリオを増やすとかでしょうか?

    考えてたら中身空っぽな提案な気がしてきた。。。

  148. k4nagatsuki reporter

    懸念しているのは、各新機能は特に深い理由がなく便利そうなので、五月雨的に実装されているんじゃないかということです。

    現状を見て分かる通り、まさにその通りです。これはテーマを設定するのが困難だという理由によります。CWは大きなプラットフォームで、内容は多岐に渡ります。どの方向を見ても「あった方がよい」と考えられるものが多数あります。ではどちらの方向を目指すと定めるか、となると、そもそも方向とはなんぞや?という所から話を始めなくてはなりません。

    効果コンテント周りの改善、というテーマはありえます。メッセージ周り、というテーマもありえます。しかしそれではテーマが細切れすぎるので、それではいっそイベントコンテント周り、とすると、今度は大きくなりすぎて元の木阿弥です。しかし新しいイベントコンテントの実装などを考えると、そういうテーマでもなければ順番が回ってこなかったりもします。

    テーマの設定というテーマ自体が、手に余っているというのが正直なところです。

    では現状の漠然とした方針はどんなものかというと、以下のようなものです。

    • 機能は手を付けられるものから実装する
    • 新機能の規模×数や時期を見計らってリリースを行う
    • すぐには手に負えない課題は溜めておく

    あまりよい方針ではありません。ご意見をいただいてどうにかした方がいい気がしてきましたが、どうすればよいのかとなると、かなり難しそうです。


    ちなみにここ数週間で私が一番時間を取られているのはこういうコメントを書く時間だったりします。これさえなければもっと色々できるのに、と思う事が多いです。

  149. Num_400

    ちなみにここ数週間で私が一番時間を取られているのはこういうコメントを書く時間だったりします。これさえなければもっと色々できるのに、と思う事が多いです。

    返信ありがとうございます。そして貴重なお時間申し訳ないです。
    現状のどこまでが長月さんの望む状態なのかどうしても気になってました。
    色々提案したり質問したりしたいですが、しばらくは静かにしてようと思います。

  150. k4nagatsuki reporter

    色々提案したり質問したりしたいですが、しばらくは静かにしてようと思います。

    いえ、それはしないよりはしていただいた方がいいかもしれません。

    • 待っていると、機会がいつ来るか分からない
    • 私以外の誰かが回答できるかもしれない(できる方は積極的にしていただけるとありがたい)
    • Issueを立てておけば忘れ去られるのを(ある程度)防げる

    というような事がありますので。

  151. Num_400

    お気遣いありがとうございます。
    急ぎの用件があるわけではないので、折を見てIssue立てます。

    うーん、でも長月さんのタスクを減らすには何が適切なんだろうか。。。

  152. k4nagatsuki reporter

    月初なので2α3をリリースしました。

    まだ紹介ページにα2の機能すら全部載せていない体たらくなのですが、例によって時間が無いので、すみませんが週末がんばります。

  153. 暗黒 騎士

    α3リリースお疲れ様です。

    まだテスト版とは言え、Pyの方は50MBもあるので独断で試験的にミラーさせて頂いていましたが、 α2は5ダウンロードとあまり分散効果は無かったようですし、毎回消して頂くのも面倒だろうなと思ったので、今回よりこちらのwikiページからのミラーは正式版のみにしようかと思います。

    攻略wikiの方では引き続きミラーさせて頂きますので、必要な方はそちらからご利用下さい。

  154. k4nagatsuki reporter

    いつもミラーありがとうございます。

    α2~3にかけて追加された機能を全部Wsn.2の紹介ページに載せました。いくつかの記事は@namereqさんに書いていただいたものです。ありがとうございます。

    縦長になってきたから仕様確定後は整理して目次でもつけた方がよさそう。

  155. req

    お疲れ様です。長月さん1つ教えてください。Pyってシナリオインストールをフォルダ階層付きで455シナリオインストール(鬼退治シナリオなのは内緒)したんですけど、フォルダがフラットになってフォルダ階層が無くなってどうしていいか分からないんですけど。

  156. 暗黒 騎士

    横からですが、シナリオインストール機能はフォルダを指定してそこにインストールするという思想なので、フォルダ階層がなくなるのは正常な挙動ではないでしょうか。 インストール機能についての課題は#192にあります。

  157. req

    フォルダを指定

    すみません、自分やり方分からなかったので、フォルダ指定とか何も考えず、Py起動していきなりD&Dしたんですけど、そんなものなんですか?出来れば階層が付いていれば階層付きのままインストール出来るのが理想なのですが。

  158. 暗黒 騎士

    scenarioに複数フォルダを作っていればどこにインストールするか候補の一覧が表示されると思います。 ディレクトリ構造ごとまとめて移行したい場合はWindowsでいうエクスプローラのようなファイラーでやった方が安全ですね。

  159. Iraka.T

    issue #192 があります。シナリオのインストールと整理機能については現在模索段階です。

  160. req

    ありがとうございます。そうなんですね、長月さんに手間かけさせずに済んでよかったです。って暗黒騎士さんの #192 と同じか。模索段階なんですね。ではそちらに階層付き要求でも出しておきます。

  161. hand.onlooker

    CWPyの当初の目標だった1.50エンジンとの互換が達成されていることと、開発者が増えてきたこと、長月さんの負担軽減のために、CWPy開発方針の策定は急務であると感じます。

    ひとつの方法論として、Wikipediaからインスパイアして、

    「CardWirthは何でないか」

    というissueを考えるのが良いかもしれません。

    これまでの長月さんの発言を見ていると、すくなくとも

    • CardWirthは動的ゲームでない

    という考えを持っておいでのようなので、それをあげておくのがいいかもしれません。

  162. tachi gigas

    恐れ入ります。ちょっと詰まりました。

    例えば烏間鈴女様の「遠き日の思い出」の切り替えのカードをクリックして、その後ろのカードが反転するとクリックしたカードの色反転が一部だけ解除されてしまいます。 pull request #1765 と同件なのは突き止めましたが、これはどこを修正すれば良いのでしょう?

  163. k4nagatsuki reporter

    修正を試みていただきありがとうございます。

    調べましたが、これはイベント実行時にカードの選択状態を解除する処理のあとに画面の再描画が行われていないのが原因です。

    clear_selectionの中に再描画を入れるべきかとも思いましたが、パフォーマンス上できるだけ再描画する箇所は絞り込むべきなので、このclear_selectionの呼び出しが終わった後で、cw.cwpy.selection.rect分の領域を再描画すればよいと思われます。

  164. k4nagatsuki reporter

    開発方針ですが、wikiに書いてある目標については、今読み返しても変わりはないと感じます。

    問題は目標ではなくプロセスです。根本的には私以外に最終的な意思決定をできる人間がまだいない、という事が問題なのですが、安易に意思決定者を増やせばいいというものではないので(それは破綻への近道)、しばらく我慢する必要がありそうです。

    「CardWirthは何でないか」

    これを明示するのは避けた方がいいと思います。その手の意見は人によって千差万別で、しかも流転します。そもそも全ての人に意見を聞けるわけでもありません。ですから、開発者の判断はかなりの程度恣意的にならざるを得ません。

    その判断をある時点で明文化してしまうと、たぶん後々、別の有力な意見とぶつかって障害と化します。将来、WSNの仕様策定者やCWユーザの圧倒的多数がCWでアクションゲームを作れるようにするべきと言い出すかもしれません。

  165. tachi gigas

    こうですかね。 pull request #1795

    助け船いただきありがとうございました。エンバグしないことを祈りつつ。

  166. hand.onlooker

    問題は目標ではなくプロセスです。根本的には私以外に最終的な意思決定をできる人間がまだいない、という事が問題なのですが、安易に意思決定者を増やせばいいというものではないので(それは破綻への近道)、しばらく我慢する必要がありそうです。

    わたしの考えは、(今のところ)これは長月さんのプロジェクトですので、意思決定者は長月さん一人ですし、我慢も必要ない、ほかの最終意思決定者は生まれようがない。なので判断基準をある程度明文化すべきというものです。

    Wikiにある方針は、ゲームバランスであるとかインターフェースの手触りといったゲーム体験のデザインについては何の情報もあたえてくれません。Wikiにある方針に補足する形で、WSN2か3までの短期的な目標を設定したほうが良いのではないかと。

    その判断をある時点で明文化してしまうと、たぶん後々、別の有力な意見とぶつかって障害と化します。将来、WSNの仕様策定者やCWユーザの圧倒的多数がCWでアクションゲームを作れるようにするべきと言い出すかもしれません。

    そうです。まさに有力な意見にぶつける(それで判断する)ための方針が必要と言っています。これからCWPyにかかわる人数が増えると、互いに相反する複数の有力意見がでてくるようになるからです。

    長月さんが新たな最終意思決定者を育てるより前に(わたし自身はそんな都合のいい存在は出てこないと考えていますが)、こうした有力意見で掲示板がパンク状態になるという危険性はかなりあるのではないかと思います。

    現在の方針に反するがどうしても欲しいアイデアが出てきたときは、そのときは方針の修正を考えるか、素直に別のプロジェクトにゆだねる。


    とはいえ、長月さんのおっしゃることはわかりました。合議制を維持して、ボトムアップによる開発を行う。可能な限り有力意見を取り入れるために「あらかじめ方針を与える」ということを避け、議論の中で合意点・妥結点を粘り強く探ることを理想とする、というわけですね。であるなら、その方針のもとでわたしにできることをするとします。

  167. k4nagatsuki reporter

    仰る通りだと思います。

    これまでIssueで書いてきた事を読んだ方には、私の姿勢は伝わっていると思います。しかし、後から来た方には過去のIssueのコメントなど読めたものではない事も分かります。これまでしばしば述べてきた具体的な指針は簡潔にまとめておく必要があります。

    問題は、それをまとめるのがまた一仕事で、性質上私にしかできない事なのですが……どうも、これまでの製作進行はその方面では失敗だったと言うしかないようです。挽回していく必要は感じます。

    ぼちぼちバージョン2のリリースを視野に入れるべき時が来ていると思うのですが、βリリースを予告する時「私としては正式リリースまでにこの機能は入れておきたい」という事は明記するつもりではあります。直近で出せる目標はそれになります。

    合議制を維持して、ボトムアップによる開発を行う。可能な限り有力意見を取り入れるために「あらかじめ方針を与える」ということを避け、議論の中で合意点・妥結点を粘り強く探ることを理想とする、というわけですね。

    まさにその通りです。これまではそれでまあまあ上手く回りました。できればこのやり方を続けたいですが、限界が来ている事はひしひしと感じています。

    私は自分が独裁者であり、その仕事は遅延しており、にも関わらず代わりはいないという現状を認めるしかなさそうです。

  168. req

    hg で特定のコミットだけマージとか出来ないんですか?非公式 タイマーフォークの方で、エディタで改善されそうな機能を実装した場合、pull request はしませんが、勝手に持って行って、バグ直して使ってもらっていいですから。

  169. k4nagatsuki reporter

    そういう時はブランチを切って部分的にマージする必要があるはずです。私はあまりそうした事を行わないので、Mercurialではこうする、と教える事ができません(えらく難しかった気がする)。必要になったら調べて行ってみてください。

  170. req

    自分の方はマージすればいいからいいのです。jinto_ さんとかが、改善点を挙げたとします。それをいいねと思って実装したとします。py xe の為になると思ったら使ってほしいのです。

  171. req

    Unofficial XE は PyLite XE になって、本家 XE を超える 機能を実現することを目指すことになったのは、告知を兼ねて書いておきます( アイディア募集中 、twitter で @name_req にダイレクトメールしていただいてもいいです。)が、置いといて、長月さんに1つご提案があります。

    長月さんが、いけると判断(これは微細な点を除いてです。)したら、議論すっとばして、1週間も待たず仮実装し、pull request して、マージせず 、 レビューアに、提案者や、一家言ある Iraka.T さんや センスの良い jinto_ さんなどを加えて、そこで長月さんが具体的説明をして、全員承認すればマージすればいいのです。

  172. k4nagatsuki reporter

    私が手続き(特に議論と合意)を重視している事はこれまで何度か書いたはずですが、一度でも読んでいただけましたか? その手続きを飛ばしてしまうと、仕様は混乱し、最終的にユーザが迷惑を被る事態を招きかねません。

    このご提案は手続きを実装の後に回せという事のようですが、大して時間の短縮にはならない上、作業が無駄になるリスクを考えると、余計に効率が悪化してしまうおそれがあるように思います。


    複数の仕様が乱立すると迷惑を被るのはユーザです(ちなみに同じ仕様を扱うソフトが乱立した場合は、ユーザは利益を得ます。Webブラウザを見てみてください)。その迷惑を軽減するため、仕様のバージョンについての情報の整理や告知はしっかりしていただくようお願いします。

    もちろんcwxeditor(いつの間にXEなんて略称が……)のライセンスにはそんな義務は書いてありませんから、これはあくまでもお願いです。

  173. hand.onlooker

    背景変更(セル貼り付け)実行時に、貼りつけられるセルが全て非表示(つまり、全てのセルがフラグに関連付けられていて、それらのフラグが全てfalse)であっても1フレームの処理時間がかかっているようなのが少し気になります。

  174. 暗黒 騎士

    戦闘中、召喚獣で自分を対象消去したあと、キャラクターが選択中だった行動が実行されるようになっているようです。 具体例としては「祈りしもの」で手に入る無垢の祈り(敵全体に必中で神聖属性の対象消去効果を持つ召喚獣を配布)で確認。

    恐らく41ec887のcw.animation.animate_sprite(owner, "deal", battlespeed=cw.cwpy.is_battlestatus())が原因であることは突き止めたのですが、なんでアニメ呼び出しでそうなるのかがよくわかりませんでした。

  175. k4nagatsuki reporter

    ご報告ありがとうございます。

    背景変更(セル貼り付け)実行時に、貼りつけられるセルが全て非表示(つまり、全てのセルがフラグに関連付けられていて、それらのフラグが全てfalse)であっても1フレームの処理時間がかかっているようなのが少し気になります。

    これは、背景の更新アニメーションが走るので、表示設定によっては1フレームどころでなく時間がかかりますね。そうならないようにする事は可能なのですが、調べてみたところ、1.50でも同じような挙動をするようです。一見したところ、合わせない事で事故が起きるような挙動ではないと思うのですが(この挙動を空白時間に利用しているシナリオなんて存在しないと思う)、どうしたものでしょう。

    戦闘中、召喚獣で対象消去されたあと、選択中の行動が実行されるようになっているようです。

    これはhideされたものがdealされて復活しているからのようです。実際にはスプライトレベルで画面から除去されているので、画面の外で復活します。行動可否判定に画面内にいるかどうかというものはないので、結果行動してしまいます。

    pull request #1797で修正しました。

  176. 暗黒 騎士

    is_vanishedみたいなので判定しているのかと思ったら隠しているだけだったんですね。 ありがとうございました。

  177. k4nagatsuki reporter

    私がエンジン・エディタ・シナリオ形式の開発に際してとっている態度について書きました

    「どんな機能が追加可能か」については、ちゃんと書いたのは初めてかもしれません。気づくのが遅すぎますが、これがはっきりしていない事でだいぶ混乱を招いてしまった感があります。申し訳ありません。

    @hand_cwさん、ご助言ありがとうございます。

  178. jinto_

    pyとXEditorは別のものという哲学があるのは分かるのですが、この二つを別にしていることで不親切なことになってる面もあると思います。
    個人的には、
    1.WikiにpyとXEditorのフルパックverも用意してほしい
    2.Py RebootとXEditorのBitbucketにそれぞれ行き来しやすいように分かりやすい位置にリンクを張ってほしい、です。
    どちらか一つでもいいです。

  179. req

    自分も jinto_ さんのご意見に賛成です。両方やったほうがいいと思います。1. は、Wsn.2 リリースのときにでもやったらいいと思います。

  180. k4nagatsuki reporter

    仰る通りです。少し手を入れてみました。

    よく考えると直接ダウンロードできるリンクを張らない理由が無いので(ちょっと面倒なくらい)、エンジンのすぐ下からcwxeditorをダウンロードできるようにしてみました。こんな感じでどうでしょうか。

  181. req

    自分はそうは思いません。エディタが32bit版で約6.1M、エンジンがどの位か見てませんが、十分できると思いますし、CardWirth UOPy ではやります。

  182. Num_400

    容量が厳しいというのはこのbitbucketに置く容量がないということでしょうか?

  183. k4nagatsuki reporter

    プランにもよりますが300MBまでだったはずです。

    と思ってCWPyのリポジトリのサイズを見たのですが450MBを超えてますね。しかもライセンスのページから容量に関する記述がなくなっています。無制限に使えるという事なんでしょうか?(それで大丈夫なんだろうか)

  184. Num_400

    適当な記事を検索したところ、リポジトリ容量を1G超えると
    「This repository's size is over 1 GB. Learn how to reduce your repository size.」
    なる警告文がbitbucketページ上部に出るそうです。 2Gを超えるとそれ以上使えないらしい?
    一次ソースではないので正誤は不明ですが、1G超えないのでしたら、フルパックを置いてみてはいかがでしょうか。

    私も公式サイトのようにフルパックの方がユーザーフレンドリーだと思います。

  185. k4nagatsuki reporter

    1GBとはまた増えましたねぇ。それなら大丈夫そうです。

    元々同じフォルダに置いても上手く動くように作っているつもりですし、そうしましょう。

  186. ハルキゲニア

    自作カードなんですが、秀麗を持つPCだと使い魔を召喚するようにしました。

    それで、同じカードを複数持っていて片方を破棄してから保存、その後カードを使うと召喚される使い魔の画像と音声が無くなる事があります。

    カードはSuccubusとIncubusの二つで、どちらも同じ使い魔を召喚します。

    宿のデータでは画像と音声共に残ってるので、使い魔の参照先が破棄したカードになっている可能性が?

    クリックで何枚でも入手できるようにした物を前回と同じ場所に置いてます。

  187. k4nagatsuki reporter

    ご報告ありがとうございます。これはissue #456#461で取り組んだバグと似た現象に見えます。

    最新のテスト版でも再現されるかどうか教えていただけないでしょうか。

    また、確実な再現方法が分かっていれば(どのタイミングでセーブし、どのタイミングでカードを破棄し、どのタイミングでカードを使うか等)、教えていただけると助かります。

  188. ハルキゲニア

    2種類のカードをそれぞれ3枚入手、保存してから3枚目をPCに持たせて残りの2枚を破棄してから保存、シナリオで使用すると画像と音が無い使い魔が召喚されるようです。

    テスト版のリンクが404です。

  189. ハルキゲニア

    再現した宿のデータを見たら、使い魔の画像と音が消えていました。

  190. k4nagatsuki reporter

    今のところ、カードを入手後シナリオの外に出なかった場合、シナリオの外に出てから保存後の手順を実行した場合、共に最新版では現象を再現できていません。

    おそらくこの現象が発生した場合、デバッガからカードを更新でもしない限り、消えた画像等は消えたままになると思います。もし最新のテスト版でこのバグが直っているとしても、新しく現象が発生しないという程度の直り方で、消えてしまった画像等は戻ってこないはずです(シナリオからの再入手かカードの更新が必要です)。

  191. Num_400

    バグ報告の中、横から失礼致します。フルパックの件はどうなりそうなのでしょうか。
    やはり置くには何か問題がありそうですか?

  192. ハルキゲニア

    1)Succubusを3枚入手、Incubusを3枚入手 2)宿へ帰還→宿で保存 3)Succubus1枚目と2枚目、Incubus1枚目と2枚目を破棄 4)宿で保存

    この手順で最新版でも使い魔の画像と音声が消えました。 スキンはclassicでテストしてます。

    カードを破棄した時に使い魔の画像と音だけ消してしまう? 共通の召喚獣を召喚するからなんでしょうか?

  193. ハルキゲニア

    使い魔が消えるのではなくて、1枚目のカードにしか使い魔の画像と音が保存されてないみたいです。

  194. Num_400

    ハルキゲニアさんの↑2手順を試したら私も再現しました。
    Build: 2017-03-21 22:14:34 のwin7環境で出ますね。

  195. k4nagatsuki reporter

    pull request #1805

    やっと直せました。確実な再現手順は以下の通りです。

    • 召喚獣を参照する複数のカードを入手
    • セーブ
    • 1枚目を宿で破棄
    • セーブ
    • シナリオへ入って召喚を行う

    これは、宿へ持ち帰った2枚め以降のカードが参照している召喚獣カード内の素材参照情報(ややこしいな)が1枚めと同じものになってしまう場合があるという問題です。そのため、1枚めを破棄すると2枚め以降の召喚獣カードが参照している素材が消えてしまいます。

    直ったと思うので、最新のテスト版をお試しください。

    https://bitbucket.org/k4nagatsuki/cardwirthpy-reboot/downloads/

  196. Num_400

    お疲れ様です。
    私の環境では、Build: 2017-03-25 23:07:41で再現しなくなったことを確認しました。

  197. k4nagatsuki reporter

    ご確認ありがとうございます。カードのやり取り・持ち帰り周りは本当にカオスなのでいつかなんとかしたいんですよねぇ。なんとかすると言うだけは簡単なんですが……。


    一件コメントを見逃していました。

    フルパックの件はどうなりそうなのでしょうか。 やはり置くには何か問題がありそうですか?

    今フルパックを作るとしたらCWPy 1 & cwxeditor 4のパックという事になるかと思うのですが、いかんせんリリースしてからだいぶ経つので、もう必要な人には行き渡っているのではないかと想像しています。今更あんな古いものを……という気持ちもちょっとあります(次のβ版も出ないうちから言えた事じゃないですが)。

    そういうわけで、次のバージョンからでいいのではないか、と私も思っています。

    やはり1&4もフルパックが必要だ、という意見が出たら、作ること自体には特に問題はないと思います。

  198. tachi gigas

    お疲れ様です。最近質問ばかりですみません。

    画面描写で処理速度の改善を色々されてるようなので質問ですが、背景変更について、例えば以下の切り替えがあったとします。

    chback ["White.bmp", "", 0, 0, 632, 420, false, "", 201, default], 5, DEFAULT
    wait 10
    chback ["Black.bmp", "", 0, 0, 632, 420, false, "", 0, default], 5, DEFAULT
    

    こちらでは画面全体が白くなった後黒背景に戻ります。

    この2番目の背景変更で、黒部分を以下のように分割すると、

    chback ["White.bmp", "", 0, 0, 632, 420, false, "", 201, default], 5, DEFAULT
    wait 10
    chback ["Black.bmp", "", 0, 0, 316, 420, false, "", 0, default] ["Black.bmp", "", 316, 0, 316, 420, false, "", 0, default], 5, DEFAULT
    

    画面全体が白くなった後黒背景になりません。この場合、2番目の背景変更で何でもいいので画面全体のセルを後ろに挟めば黒背景になるので、実害はないのですが、これは仕様だったりしますか?

    CardWirthPy 2.0 Alpha 3 Build: 2017-03-25 23:07:41

  199. k4nagatsuki reporter

    見たところ、これは仕様通りの動きだと思います。White.bmpのレイヤが201にあり、Black.bmp2件はレイヤ0のため、白背景の方がずっと手前に表示される事になります。

    画面全体のセルを挟めば黒背景になるというのは、おそらくそれによって背景非継承になったせいではないでしょうか。背景が継承されない条件は、全画面をぴったり覆う、フラグ無しで、ファイルが実在し、レイヤ0のイメージセルが背景リストの最初にある事です。

  200. tachi gigas

    ありがとうございました。背景非継承のことすっかり忘れてました。cwxeditor使ってると意識しづらいですね。

    そろそろ次スレの季節でしょうか。落ち着いた時にでもお手数ですがお願いします。

  201. k4nagatsuki reporter

    もうコメント216件ですか。早いものです。

    背景継承については、以前cwxeditorでちゃんと継承の有無が分かるようにした方がいいんじゃないか、という話が出た事があります。しかしいい感じの(さりげなくかつ分かりやすい)インタフェースが全然思いつかず今に至っています。そろそろなんとかした方がよさそうです。

  202. k4nagatsuki reporter

    part 9としてissue #497を立てました。今後のコメントはそちらの方にお願いします。

    このIssueは完了とします。

  203. Log in to comment