Beatoraja追加スキン定義-csv





Beatoraja追加スキン定義-csv

BeatorajaではLR2のcsvスキンが流用可能ですが、そのままではBeatorajaで追加された機能は表示されず、完全互換ではありません。
忘備録としてBeatorajaで追加された機能のcsvコマンドを一部書き留めておきます。LR2のスキンを流用する際にcsvを少し書き換えると良いかもしれません。
また、自分なりに確認した範囲でまとめてますが、1年以上前でうろ覚えだし、検証不足だったり記載されていない仕様・パラメータ等が沢山あると思います。
(正直な所、こんな事する位なら専用のスキンを入手するなり0から作るなりした方が快適だし、LR2のスキンをBeatoraja用に書き換えて使う人なんて、自分位しかいないと思うのでかなり適当です…)

LR2のcsvスキンをある程度理解している事が前提なので、まずはこちらでcsvスキンについて把握する事をお勧めします。
OPやtimer、ボタンタイプ等のパラメータはこちらを参照してください。
色々追加されてますし、一部LR2で使えたタイマー等は適用されてません。あと、DST定義はOP3の次にオフセット番号が使用できるようになってます。
また、SCENEタイマー関係のコマンド等も互換性無く機能しない場合が多いです。

プログラム読める人はこちらのソースコードから各自読み解いた方が早いと思います。(そして分かりやすくまとめ、解説してください)

共通事項

まず初めに、csvをいじる前にlr2skinファイルを弄ります。
スキンの解像度の設定です。1がHD、2がFHD。カスタムオプションやカスタムファイルが書かれている前に追加するだけ。


選曲スキン

・・・結論から言うと、選曲スキンをまともに使えるようにするには修正があまりにも多すぎて0から作り直すレベルの労力を要しますw
余程のこだわりが無い限り大人しく既存の使うか、一から作り直した方が良いです。

ノーツチャート : #SRC_NOTECHART、#DST_NOTECHART

Beatorajaといえばコレ。ノーツ密度をグラフ化してくれます。


解説(基本的なSCR、DSTのパラメータは省略します)
#SRC_NOTECHART
grは111固定。x~timerまでのパラメータは0でOK。field_w、field_hがグラフの幅と高さの指定。start、endは基本0でOK。
delayはグラフが全部表示しきるまでの時間。
backtexOFFは背景(高密度域の背景が黄色っぽくなる)、0で背景有り、1でOFF
orderReverseを1にすると、LN(青)やSCR(赤)の棒グラフが上に寄る。
noGapを1にすると、棒グラフに横線が入り、ブロックに区切られて表示される。

#DST_NOTECHART
x、yで描画場所指定する位でしょうか。readOffsetは謎。省略しても特に問題ないっぽい?


BPMチャート : #SRC_BPMCHART、#DST_BPMCHART

Beatorajaといえばコレ(その2)。BPM変化をグラフ化してくれます。


解説(基本的なSCR、DSTのパラメータは省略します)
#SRC_NOTECHART
field_w、field_hがグラフの幅と高さの指定。delayはグラフが全部表示しきるまでの時間。
line_Widthは線の太さ。mainBPMColor~transitionLineColorはRGBの16進数(000000で黒、ffffffで白)
mainBPMColor : メインBPMの線の色
minBPMColor : 最小BPMの線の色
maxBPMColor : 最大BPMの線の色
otherBPMColor : その他BPMの線の色
stopLineColor : ストップ時の線の色
transitionLineColor : BPM変化時の縦線の色

#DST_NOTECHART
x、yで描画場所指定する位でしょうか。readOffsetは謎。省略しても特に問題ないっぽい?

フォルダランプバー : #SCR_BAR_GRAPH、#DST_BAR_GRAPH

Beatorajaといえばコレ(その3)。フォルダ内の曲のクリアランプ割合を棒グラフで表示するコマンドです。
便利そうに見えるアレです。


コマンドは以下のとおり。csvファイルのフォルダバーのコマンドの下に加えておけば良いでしょう。


解説(基本的なSCR、DSTのパラメータは省略します)
#SCR_BAR_GRAPH
重要なのはdix_xを11分割する事。上記の場合、1ピクセル幅で11個色を用意してます。左からNoPlay、Fail、Assist、L-Assist、Easy、Groove、Hard、Ex-Hard、Fullcombo、Perfect、Maxが
自動的に割り当てられます。div_yは点滅用に使用します。(Fullcombo~MAXを同じ色にすればFullcombo~Maxのランプを揃える事が出来ます。)

#DST_BAR_GRAPH
x、yはバー画像の相対座標になります。w、hはそれぞれバーグラフの長さ、幅を表します。

曲バー定義 : #SRC_BAR_BODY

曲やフォルダバーの画像定義です。基本的にはLR2と同じ使い方です。
ただし、BeatorajaのIndex番号は以下のとおりです。難易度表で所持していない曲とかの定義を追加できます。
Index 0 : 曲
Index 1 : フォルダ
Index 2 : カスタムフォルダ(難易度表)、ライバル、ランダムセレクト
Index 3 : コース、段位
Index 4 : 未所持曲 ←new!!
Index 5 : ? ←良く分からん
Index 6 : System
Index 7 : ? ←良く分からん
Index 8 : ? ←良く分からん
Index 9 : ? ←良く分からん

バータイトルフォント定義 : #SRC_BAR_TITLE、#DST_BAR_TITLE

曲名やフォルダ名のフォント定義です。基本的にはLR2と同じ使い方です。
ただし、BeatorajaのIndex番号は以下のとおりです。難易度表で所持していない曲名のフォント定義を追加できます。
Index 3~10は省略可能、その場合は0か1が自動で割り当てられるらしい。
Index 0 : 通常
Index 1 : 新曲
Index 2 : 曲名(通常)
Index 3 : 曲名(新規
Index 4 : フォルダ名(通常)
Index 5 : フォルダ名(新規)
Index 6 : 難易度表 or HashBar
Index 7 : 段位(通常)
Index 8 : 曲名、段位(未所持)
Index 9 : コマンド、コンテナ・・・良く分からん
Index 10 : 検索>

クリアランプ定義 : #SRC_BAR_TITLE、#DST_BAR_LAMP、#SRC_BAR_MY_LAMP、#DST_BAR_MY_LAMP

曲やフォルダのクリアランプ定義です。基本的にはLR2と同じ使い方です。
ただし、BeatorajaのIndex番号は以下のとおりです。Exハードとか追加した方が良い。
これもFullcombo~MAXを同じ色にすればFullcombo~Maxのランプを揃える事が出来ます。
Index 1 : Fail
Index 2 : Easy
Index 3 : Groove
Index 4 : Hard
Index 5 : Ex-Hard
Index 6 : Fullcombo
Index 7 : Perfect
Index 8 : Max
Index 9 : Assist
Index 10 : L-Assist

クリアマークやOP表示 : #SRC_BUTTON、#DST_BUTTON

曲のクリアマークです。ボタンでtype370を使用している場合、ExハードやMAX等が追加されているため、
デフォルトスキン等で順番を確認し、各種ボタン画像・定義を修正した方が良いでしょう。
↓ボタン画像例(クリアマーク)


その他のテキスト、数字、ボタン関係 :

Fast/SlowやCB、所持曲数やフォルダパス、オプション設定の各種ボタン等、色々追加された数字定義や文字定義がありますので必要に応じて追加をお勧めします。
#SRC_NUMBERや#SRC_TEXTの使い方は同じ、こちらを参照して適時コマンドやパラメータを追加・修正して下さい。
OPパネルは1~3まで使用可能です(beatoraja0.7.6時点)

・・・冒頭でも言いましたが、選曲スキンをまともに使えるようにするには修正があまりにも多すぎて0から作り直すレベルの労力を要しますw
(正直、こうやって書いた所であまりにも無意味すぎて途中で後悔。)

プレイスキン

プレイスキンはノーツ等の基本的な部分は修正不要で使用できます。
選曲スキン同様にFast/SlowやCB、空プア、使用OP等をこちらを参照して追加や修正を行うと良い感じになるかと思います。

LN定義 : #SRC_HCN_START他

BeatorajaはLNもCN,HCNと設定があるためLN定義を追加しておくと良いかもしれません。
譜面によっては強制CN、HCNであったりするため、識別できるようにノーツ画像を分けておいた方がよいです。
パラメータは#SRC_NOTEと同じです。
#SRC_LN_BODY_ACTIVE : LNを押している時の胴体
#SRC_LN_BODY_INACTIVE : LNを押していない時の胴体
#SRC_LN_END : LNの終端
#SRC_LN_START : LNの始端
#SRC_HCN_BODY_INACTIVE : HCN判定前の胴体
#SRC_HCN_BODY_ACTIVE : HCNを押している時の胴体
#SRC_HCN_DAMAGE : HCNをミスっている時の胴体
#SRC_HCN_REACTIVE : HCNを再度押した時の胴体
#SRC_HCN_END : HCNの終端
#SRC_HCN_START : HCNの始点

ノーツチャート: #SRC_NOTECHART_1P、#DST_NOTECHART_1P

選曲スキンと同じパラメータです。…が、コマンドは#SRC_NOTECHART_1Pです。最後に_1Pが入りますので注意。
#SRC_NOTECHART_1PのIndexを0、1、2を指定する事でノーツ種類、判定、FastSlowが表示できます。



BPMチャート: #SRC_BPMCHART、#DST_BPMCHART

選曲スキンと同じです。省略

タイミングチャート: #SRC_TIMING_1P、#DST_TIMING_1P

ボタン押したタイミングを示すアレです。


#SRC_TIMING_1P
画像は参照しないのでindex、gr、xは0でOK。そしてyが無い事に注意。表示させる範囲(w、h)はSRCで定義します。
JudgewidthMillisは表示させる時間軸(上記は±150msの範囲)、lineWidthは線の幅、lineColorは線の色(RGBと透過率)の16進数
transparentは透過設定(0、1でON/OFF設定?)、drawDecayは減衰(線が徐々に短くなっていくやつ)

ゲージ: #SRC_GROOVEGAUGE、#DST_GROOVEGAUGE

基本的にはそのまま使えます。ExハードやL-Assistのゲージも色分けしたい場合、
こちらの「OPTION_GAUGE_EXについて」を参考にすれば分岐できるようです。

まずはゲージの画像を少し改造します。分岐用に画像を用意します。適当に既存のをコピペしてHSV色調整で色変えた物を3つ作りました。上からのノーマル&ハードゲージ用。イージー&アシストゲージ用。Exハード&ハザード用に使います。csv読み込みの仕様上、dixv=8指定なので、使わない部分も適当に作ります。



あとは上記リンクにそって、OP1~3なり#IF使うなりして条件毎に描画させればゲージごとに画像を変える事が出来ます。ただし、アシストとイージーはゲージの画像は同じになります。同様にハザードとExハードも同じ画像になります。どうしても切り分けたかったら、csvは諦めてjsonかluaで作り直すしかないかと思われます。
parts~endtimeはポップンみたいなゲージ作る時のパラメータらしいので、特に指定しなくても良いです。

その他のテキスト、数字、ボタン関係 :

Fast/Slowや緑数字、ジャッジカウンタのCBや空プア等色々追加できます。
こちらを参照して適時パラメータを修正して下さい。

リザルトスキン

リザルトスキンも基本的な部分は修正不要で使用できます。
選曲スキン、プレイスキン同様にFast/SlowやCB、空プア、使用OP等をこちらを参照して追加や修正を行うと良い感じになるかと思います。

ノーツチャート: #SRC_NOTECHART_1P、#DST_NOTECHART_1P

プレイスキンと同じコマンドを使用する事でリザルト画面にも表示できます。
試してませんが、おそらくBPMチャートも使用できるかと思います。

タイミングチャート: #SRC_TIMINGCHART_1P、#DST_TIMINGCHART_1P

各ノーツのタイミングの分布を表示でき、全体的なズレやバラつきが確認できます。
(下の画像は90度回転させて縦表示&反転させて表示してます。文字や数字は別途追加してます)


#SRC_TIMINGCHART_1P
画像は参照しないのでindex、gr、x、yは0でOK。表示させる範囲(w、h)はSRCで定義します。lineWidthは線の幅、graphColorは分布の色(RGBと透過率)の16進数。
PGColor~PRColorは各判定エリアの色
averageColorは平均値の線の色、devColorは標準偏差の線の色、drawAverageとdrawDevは平均値、標準偏差の線の表示有無(0でOFF、1でON)。



以上おしまい。書いてて思った・・・修正箇所多すぎて素直にbeatoraja用スキンを使った方が良いよな~・・・と。

inserted by FC2 system