バグ:WSNシナリオ編集中にPyのファイル名をリネーム等するとArgumentエラー後強制終了

Issue #117 resolved
暗黒 騎士 created an issue

展開されたWSNシナリオの編集中、Pyスキンを選択している状態で、Pyのファイル名を変え、WSNシナリオを履歴から再読み込みすると XEditorがスキンを見失うのか強制終了→再起動しても前回のシナリオが自動的に読み込まれるので強制終了…と実質起動不可になるようです。 シナリオのフォルダ名をリネーム後、設定からPyを指定し直すことで直りました。 (バグ検証でリネームしたから起こったことでそもそも変えるなという話かもしれない)

2016-12-05 02:15:58 [Build: 2016-11-29 21:50:26 Debug (64-bit)] cwx\editor\gui\dwt\loader.d:145 [Argument not valid] java\lang\exceptions.d, 28: 0x00007FF696E2DEC3
0x00007FF696E2DD34
0x00007FF696E2DCE5
0x00007FF696DA3E73
0x00007FF696168964
0x00007FF69617EC8E
0x00007FF69616D111
0x00007FF695F49215
0x00007FF695F475E5
0x00007FF6962425BF
0x00007FF696242308
0x00007FF69561297B
0x00007FF695613687
0x00007FF69560D0EE
0x00007FF6956094F5
0x00007FF696231E56
0x00007FF6962572C9
0x00007FF696260B70
0x00007FF696B0DCAD
0x00007FF696B0D94B
0x00007FF695C91988
0x00007FF695C95580
0x00007FF6965E88D8
0x00007FF696F4BCE8
0x00007FF696F1C4B4
0x00007FF696D8B836
0x00007FF696D894CB
0x00007FF695CD8937
0x00007FF6968F8569
0x00007FF69701FCB2
0x00007FF69701FB6F
0x00007FF69701FC2C
0x00007FF69701FB6F
0x00007FF69701F989
0x00007FF6968F8C32
0x00007FF6970DCF19
0x00007FFA2D4D8364 in BaseThreadInitThunk
0x00007FFA2E2A5E91 in RtlUserThreadStart

Comments (5)

  1. k4nagatsuki repo owner

    ご報告ありがとうございます。スキンやエンジンが見つからない時にエラーを吐いて落ちるのは明らかにバグですね。

    手許で試してみたのですが、正常に動いてしまいます。エンジンのファイル名を変更するとスキンは見つかり(ディレクトリで探しているからか)、パスごと変更するとスキンが見えなくなるだけで動く、という事になります。これは正しい動作です。どうも何か他の問題がありそうです。

    このエラーログでは、シナリオを読み込み終えて開く段階でエラーが起きているという事しか分かりません。コンソール版で同じトラブルを発生させた時に表示される情報を教えていただけないでしょうか。

  2. 暗黒 騎士 reporter

    多分原因がわかりました。キャストの初期状態で行動力を変更しているのが原因ぽいです。能力変化系アイコンが抽出出来ない場合が想定されていないのかも?

  3. 暗黒 騎士 reporter

    エンジンのファイル名を変更するとスキンは見つかり(ディレクトリで探しているからか)

    あれ?こちらはリネームだけで見失ってしまう感じですね。

    オプションで「CardWirthPy.exeの場所」をドライブ:CardWirthPy\CardWirthPy.exeに設定しています。

  4. k4nagatsuki repo owner

    ありがとうございます。スキンなしの状態でのテストはさして熱心にしたわけではないので見逃してしまっていました。修正できたと思います。

    具体的にどこがエラーになっていたかというと、

    • 能力値修正のアイコンは1x1の位置(左上は0x0)のピクセルの色を透過色として使う
    • リソースが見つからない場合、cwxeditorは内部的に1x1サイズの空イメージを作成する
    • 透過色を取得しようとした時に横も縦もイメージサイズをオーバーするのでエラー

    という事でした。

    あれ?こちらはリネームだけで見失ってしまう感じですね。

    すみません、コードを見ても、エンジン本体がない場合はスキン探索をやめてしまうようですし、私が何か見間違えたのだと思います。

  5. Log in to comment