追加案: スキンのインストール機能
Issue #660
resolved
シナリオのように、スキンをドラッグ&ドロップしてインストールできれば便利そうです。
圧縮ファイルからもインストールできた方がいいでしょう。
Comments (5)
-
reporter -
reporter pull request #2279
追加しました。スキンに以下の情報を追加する事で既存スキンとの差分配布に対応します。ベースとなるスキンは
Name
とAuthor
に基づいて探索しますが、Type
が指定された場合はそれも一致するか調べます(指定しなかった場合はタイプ検査は無し)。<Property> ... <BaseSkin> <Name>Classic</Name> <Author></Author> <Type>MedievalFantasy</Type> </BaseSkin> </Property>
いくつか問題が残っています。
- インストール済みのスキンを置換する時、正しいパスを指定しているにもかかわらず
SHFileOperation
が0x7C
を返して失敗し、既存のスキンが削除できない事があります。困った事に確実に再現するわけではありません。ファイルIOの問題か、どこかでメモリアクセス違反を起こしていて不定値を参照しているのか不明です。さしあたりSkin.xml
をSkin.xml_removed
に改名してスキンリストから消し、後から削除する事で対処しています。 - 思ったより処理に時間がかかります。処理中の表示はもう少しよくしたいのですが、最終的な処理量を測るのが難しいので今のような表示にしています。
- 他の起動で参照されているスキンが削除される事がありますが、これはシナリオの移動など共々プロセス間でなんらかのやり取りをしないと対処できません。今は難しいです。この問題はエクスプローラなどでスキンを移動/削除した時にも発生するので、スキンが削除された時にうまくエラーを起こして落ちるといった方針(現状)の方がよいかと思います。
- インストール済みのスキンを置換する時、正しいパスを指定しているにもかかわらず
-
reporter pull request #2282
CWの歴史的な仕様上、Faceのみはユーザ固有のデータフォルダのように振る舞うので、置換時にその内容を取っておくようにしました。
-
reporter pull request #2284
常にプログレスダイアログを出すように進捗表示を変更しました。
-
reporter - changed status to resolved
実装済みなのでクローズします。
- Log in to comment
いくつか課題があります。
<Base><Name>Classic</Name><Author></Author></Base>
のようなパラメータを設け、Base
で指定されたスキンをコピーしてから上書きするような動作を用意した方がよさそうにも思えます。