box.defで、MUSIC BOX毎にスキンを指定できるようにするのも良さそうですね。
まずは第1弾として、Config.iniのSystem/SkinPath でスキンを変更できるようにしました。
まだ本体動作中の動的な変更はできません。今後、CONFIGURATIONからスキンを変更できるようにし、更にbox.defでスキンを設定できるようにしていく予定です。
スキンファイル群は従来は以下のように格納されていましたが、
+System-+-Graphics-.... +-Sounds-....
今回の対応に伴って、スキンを例えば以下のように格納してください。
+System-+-SkinFiles.Default-+-Graphics-.... | +-Sounds-.... +-SkinFiles.DSP1----+-Graphics-.... | +-Sounds-.... +-SkinFiles.DSP2----+-Graqphics-.... | +-Sounds-.... +-SkinFiles.DWS-----+-Graphics.... +-Sounds-....
要するに、Systemの下に、SkinFiles.****というフォルダがあって、 その下にこれまでのスキンファイル群があるというイメージです。 (****のところには、スキン名が入ります。SkinFiles.Defaultには、初期スキンが入ります。)
Config.iniのSystem/SkinPathには、SkinFiles.DSP2などと指定してください。 (それとも、DSP2 だけの指定とした方がよかったですかね。)
もしSkinPathで指定したスキンが存在しない場合は、以下の優先順位でスキンを探して、自動で再設定します。
また、ここ最近の本体バージョンで追加したスキン画像パーツがなくても、エラーが出ないように回避処理を入れてます。その代わり、093にある新機能(簡易CONFIGとか、ソート画面とか)を使うと、画面が見にくい場合があります。
連休真っ盛りですが、お暇な方はどうぞ → tp://yyagi.com/DTXMania093_28195_20120502.zip
意外とあっさりと第2弾を作ることができました。CONFIGURATION画面でスキンを変更できます。 (CONFIG/System/Skinで変更した後、CONFIG画面を抜けると、スキンが変更されます。)
その他の動作仕様は、先の説明と同じです。
すみませんが、ちょっとお試しいただけますでしょうか → tp://yyagi.com/DTXMania093_28195_20120502_2.zip
仕事はやっ
出かける前なので少しだけテストしてみました。
ちゃんとスキン変更されます、これはイイ!
※Sounds周りは正常に切り替わっていないようです。
ご確認いただきありがとうございました。先の tp://yyagi.com/DTXMania093_28195_20120502_2.zip に、 tp://yyagi.com/DTXMania093_28195_20120503.zip を、上書きしてください。
これで問題なさそうでしたら、今晩からbox.defでのスキン指定対応に進みたいと思います。
ただ、ウチの環境限定かもしれませんが、特にDSP1のスキンで、タイトルからCONFIGに移るとBGMが局所ループします。どうもCONFIGへの遷移がDSP1スキンでだけ時間がかかっているっぽいのですが、いったいなぜなのやら。
特にDSP1のスキンで、タイトルからCONFIGに移るとBGMが局所ループします。
PCに負荷(HDDアクセス)をかけている場合にこちらもループする現象が発生しました。
(意図的にアンチウィルスソフトで検索をスタートしてから実行しました。)
上記の場合はどのスキンでも発生した為、読み込みに時間がかかる場合にループするようです。
box.defでスキンを指定できるようにしました。
box.def の #SKINPATH に、box.defからの相対パスを記載することで、box.def配下の曲データに対してスキンを変更できます。 一応サンプルを同梱しましたので、ご確認くださいませ。
tp://yyagi.com/DTXMania093_28195_20120504.zip
更新おつかれさまです!(データサイズがでかい(w)
box.def の #SKINPATH に、box.defからの相対パスを記載することで
曲box.defのあるフォルダにスキンを移動させて変更することは出来ましたが、Systemフォルダにあるスキンを指定することは出来ますか?(※)
box.defからの指定は、例えば特定のパックデータは譜面データとスキンを一つのフォルダ配下で管理するといった狙いでしょうか?
※
あまり需要はないかもしれませんが、後者のような使い方を想定して配布された場合でも、その「パックには他の(System配下にある)スキンに変更したい」というのを想定してみました。
Systemフォルダにあるスキンを指定することは出来ますか?
今のところ、できないと思ってください。(相対パス指定を駆使すれば指定できてしまいますが・・・)
box.defからの指定は、例えば特定のパックデータは譜面データとスキンを一つのフォルダ配下で管理するといった狙いでしょうか?
はい。正にその狙いです。 パックデータがSystem配下のスキンに依存してしまうと、そのスキンを入れてない方が困る(パック導入に一手間増えてしまう)でしょうから。
でも、本体とセットで配布するパックで、box.defとSystemとで同じスキンをダブって持つのも嫌でしょうし、また必ずスキン切替が発生してしまうのも嫌でしょうね。(後者については、サンプルでDSP1スキンを設定した上で、DSP1のMUSIC BOXに入っていただければ動作がわかると思います)
となると、(上述したとおりbox.defからSystemスキンを参照するのには問題があるので)、逆にSystem側からbox.defのスキンも使用できるようにする・・・つまり曲データフォルダの中のスキン情報もEnumerateして、CONFIG画面からあたかもSysytem配下のスキンとしてから選択できるようにするしかなさそうですね。ぬぬぬ。
box.defとSystemとで同じスキンをダブって持つのも嫌でしょうし、また必ずスキン切替が発生してしまうのも嫌でしょうね。
同じドラムサウンドを使っているものも纏めたいなぁと思ったくらいなのでストライクです(謎 ’その意味ではSSTはいいですよね
となるとスキン変更は次の4パターン(?)でしょうか。異議はなく、確認です。
1:System指定+box指定 '通常動作
2:System指定+box指定無効 'スキンを変更させたくない
3:box指定+他のbox指定有効 '気に入ったboxのを通常で仕様
4:box指定+他のbox指定無効 'さらに気に入った
System側から、box指定のスキンを使えるようにしました。 (Enumerate完了後にCONFIG画面で選択可能。ただしConfig.iniで最初から指定されているboxスキンは例外で、最初から選択可能)
昨日の tp://yyagi.com/DTXMania093_28195_20120504.zip に tp://yyagi.com/DTXMania093_28195_20120505.zip を上書きしてください。
System側とbox側とで同じ名前のスキンがある場合は、System側のスキンを使用します。 (box側は使われません。) サンプルのDTXFiles.DTX STARTER PACK内のSkinフォルダをDSP1にリネームし、また同box.def内の記述もDSP1に変更いただければ、この動作をご確認いただけます。
boxスキン無効化はまだ実現できてません。(機能実装はしていますが設定UI未実装・テスト未実施)
これで、必要な対応はすべて盛り込んだつもりです。動作確認をお願いできますでしょうか。 tp://yyagi.com/DTXMania093_28195_20120504.zip に tp://yyagi.com/DTXMania093_28195_20120506.zip を上書きください。(20120505のやつはあってもなくてもよいです)
問題なければ、本件対応完了といたしますが、何かあればコメントくださいませ。連休中に何度もご確認いただきありがとうございました。
おつかれさまです
最近とあるウィルスに感染し、バトルの末敗北を喫した為OSリカバリ中...
復旧したらテストさせていただきたいと思います(苦
遅くなりましたが確認させていただきました。
問題なく動作していると思います、対応おつかれさまです。
・テスト項目
(DTXMania093_28195_20120504.zip + DTXMania093_28195_20120506.zip を Ram diskにて単独展開してテスト)
System指定中の変更(Shift+F1によるbox内外それぞれ時の変更含む)
box指定中の変更(Shift+F1によるbox内外それぞれ時の変更含む)
box.defの意図的指定ミス等(0505では例外で落ちていたのに…(ぉ)
config.iniの意図的指定ミス等
094にて対応済み。
スキンをいくつか保存できるようにして、簡単に切りかえれるようにする。
現在はスキン変更は一つの対象フォルダのファイルを入れ替え→スキンの種類ごとにフォルダ(+設定ファイル)で管理、ゲーム中にも気軽に変更できるように。
(フォーラム ユーザフォーラム [#62433] からの引用。)