[osu!]難易度ごとに異なる背景画像を使用しているMapsetをアップした際に、Web上で表示される背景画像を特定の難易度のものにする方法[備忘録]
結論
初回アップロード時に、Web上で表示させたい背景画像を使用している難易度だけの状態にしてからアップロードする。
という方法が最も確実だと思われます。
もう既に複数の難易度を含んだ状態で初回アップロードをしてしまった!という方は、以下の方法で特定の難易度の背景画像をWeb上で表示させることが出来ます。
これを行う前にエディット画面から、「ファイル→パッケージに書き出し」を行って、必ずバックアップを取ってください。
Web上で表示させたい背景画像を使用している難易度だけの状態にするため、他の難易度は一旦別のどこかに移動しておき、その状態で譜面をアップロードしなおす。
1.で除外しておいたそれぞれの難易度をメモ帳等のテキストエディタで開き、「BeatmapID:xxxxxx」の部分を0に書き換える。
1.で除外しておいたそれぞれの難易度の.osuファイル名に含まれる難易度名の部分と、メモ帳等のテキストエディタで開いた中に記述されている「Version: 難易度名」の部分を、一旦全く別の文字列に変更する。
3.の難易度全てを元々のフォルダに戻す。
ゲーム内の選曲画面で全ての難易度が正しく読み込めているかを確認した上で譜面をアップロード。
この時点でWeb上で表示されている背景画像が希望のものになっていれば成功。あとはそれぞれの難易度をEdit画面から正しい難易度名に変更してアップロードし直せば完成。
仕組み
譜面をアップロードする際、ファイル名昇順でBeatmapIDが割り振られる仕組みになっています。
そしてMapsetのページで表示される背景画像は、そのMapset内で一番若いBeatmapIDを持つ難易度で使用されている背景画像が表示される仕様になっているようです。
Taikoであれば、基本的に「Kantan - Futsuu - Muzukashii - Oni - Inner Oni」という難易度名が一般的に使われます。
この難易度構成で初回のアップロードをしてしまうと、ファイル名昇順にした際に一番初めになる「Futsuu」で使用されている背景画像がWeb上で表示される背景画像となってしまいます。
先にWeb上で表示させたい背景画像を使用している難易度単体でアップロードすると、その難易度がMapset内で一番若いBeatmapIDを割り振られ、以降アップロードした譜面はその番号より後のBeatmapIDが割り振られます。
一番最初の結論の章で、「という方法が最も確実だと思われます。」と書いているのは、Web上で表示させたい背景画像を使用している難易度単体でアップしなくても、難易度名を「!」といったような、ファイル名昇順で一番初めに来るであろう名前にしてからアップすることでも一応対策可能だからです。
3.でそれぞれの難易度名を一旦別のものに変更するという面倒臭いことをしているのは、アップしたことのあるDiff名でそのままアップして直してしまうと、サーバー上に残っている以前のBeatmapIDがそのまま流用されてしまう可能性があるからです。
一旦別の難易度名にすることで、まだアップされたことのない新しい譜面という認識をさせ、新たなBeatmapIDを割り振ってもらうことを狙っています。
終わりに
osu!開発者のpeppyは数年ぐらい前にTwitter上で、「Web上のMapsetページのヘッダー画像の位置調整は早急に出来るようにしたい!」みたいなことを言ってたような気がするのですが、あれは幻だったんですかね…?
現在のosu!のEditに対してもいろいろ不満な点はあるんですが、こちらに関しては数年後には現在開発中のosu!lazerがメインになっていろいろ変わってるかもしれないので、それまで辛抱しましょう。
それではまた。
この記事が気に入ったらサポートをしてみませんか?