カスタムモードは、全ての種類のノートを自分で設定するモードである。
CarmVTRで対応していない形式のゲームや、自作のゲームを再現することが出来る。
また、用意されているゲームモードに、さらに自分で設定したノートを追加する事も出来る。
あらかじめ用意するものは以下である。
・使用するノートの画像ファイル(サイズは自由)
・背景の画像ファイル(512x384または指定したウィンドウの大きさと同じ)
また、カスタムモードで作成した設定をまとめたファイル用のアップローダーも用意している。
CarmVTRアップローダー (アップロードパスワードは111)
CarmVTRの画面サイズは512x384である。(画面サイズを変更する)
座標は左上が(0,0)、右下が(511,383)となる。
使用する画像は、その中心が座標の基準点になる。
画像の、真っ黒である部分(R=0 G=0 B=0)は、透過される。
透過とは、その部分は表示されないという事である。
処理の都合上、画像の周囲の余白は無いほうが良い。
このように、黒い画像の中にノートの画像があるよりも、(100x100)
このように、必要なぶんだけを切り取ってあるほうが良い。(40x20)
(ロングノートを使わない場合はこの事は考えなくても良い)
使用する画像は、全てbmpを推奨する。
一応jpgなども使う事が出来る。
カスタムモードを使用するには、譜面ファイルのゲーム種類の設定にて
と書く。(従来のゲームモードを使う場合は必要ない)
&mode=99
以後の様々な定義の記述は、全て「&seq」行よりも前に書くこと。
背景の画像を用意する。
背景とは、ノート以外が描かれた画像の事である。
512x384で作成する。
こういう画像が背景の画像である。
通常の、背景読み込みと同じようにと記述すること。
&backfile=(背景ファイル名)
背景画像を使わず、真っ黒でいい場合は、とだけ書く。
&backfile=
ノートの種類ごとに、その使用画像や座標などを設定する。
種類とは、同じ場所に同じ画像のノートが来る場合、それを1種類と数える。
例えば5KEYのゲームでは、
「1キー」「2キー」「3キー」「4キー」「5キー」「スクラッチ」
の、6種類のノートを設定する必要がある。
この場合、1キーと3キーの画像は同じだが、場所が違うので別々に数える。
ノートの設定の記述は以下である。
この&def行を、必要なだけ書く。
&def=ノート文字,最終座標X,最終座標Y,進行方向,画像ファイル名100300行まで書ける。
ノート文字
ノート文字とは、譜面データで使用するノート用の文字である。
例えば寺モードでは、1キーが「z」、2キーが「s」というように割り当てられ、それを譜面データとして記述した。
カスタムモードでは、この「z」「s」にあたる文字も、自分で設定する。これをノート文字と呼ぶ。
半角1文字か、全角1文字で指定する事を推奨する。
半角の記号は使わない事。
2文字以上でも良いが、部分一致で判断するため、
例えば「1」「2」「12」という3種類のノート文字を定義し、譜面データで「12」と書いた場合、「1」「2」「12」の全てが含まれるので、3種類ともノートが出てくる事になるので注意すること。
ノート文字は、あとで変更することも出来る。(STRCNG命令行)
最終座標X,Y
ノートが消える場所の事である。
進行方向
最終座標に向かって、ノートが動く方向である。
進行方向 説明 1 上から下へ移動 2 下から上へ移動 3 右から左へ移動 10 左から右へ移動 4 拡大(指モードのパネルと同じ)
・この方向で可能な設定 &m4speed=速度 このノートの移動速度(拡大する速度)を変更する。 2なら2倍になる。 これは譜面速度(&scroll_time)にさらに修正する。 譜面データの中に命令行として書く事も出来る。 M4SPEED/25 区間拡大移動(出現座標から最終座標まで、拡大しながら移動する)
→説明6 区間移動(出現座標から最終座標まで、本来のサイズで移動する)
→説明7 縮小
縮小(方向7)は、拡大(4)とは逆に、まずノートが大きく表示され、徐々に小さくなり、本来の大きさになった時に消えるノートである。
・この方向で可能な設定 &m7size=倍率 ノートが最初に何倍の大きさで表示されるかを指定する。 デフォルトは3。 &m7speed=速度 このノートの移動速度(縮小する速度)を変更する。 2なら2倍になる。 これは譜面速度(&scroll_time)にさらに修正する。 譜面データの中に命令行として書く事も出来る。 M7SIZE/3 M7SPEED/29 アニメーションノート(ノートが移動するのではなく、10個の画像を順番にパラパラ漫画のように表示する)
→説明17 移動せず、0.5秒だけ表示する
・この方向で可能な設定 &m17time=0.5 このノートの表示される時間を変更する。(単位は秒) 譜面データの中に命令行として書く事も出来る。 M17TIME/0.519 移動せず、0.5秒だけ表示する
17と19は全く同じ動作をするが、表示される時間を別々に設定して使い分けることが出来る。
・この方向で可能な設定 &m19time=0.5 このノートの表示される時間を変更する。(単位は秒) 譜面データの中に命令行として書く事も出来る。 M19TIME/0.518 円周ノート(画面に見えない円を置き、その円周上を動く)
→説明20 スーパー楕円軌道ノート(画面に見えないスーパー楕円を置き、その円周上を動く)
→説明
移動方向が4,5,6,7のノートは譜面速度(&scroll_time)の意味が変わり、「出現した瞬間から消える瞬間までの時間の半分」を示す。
0.5であれば表示されている時間は1秒となる。
実際にどれだけ移動しても1秒だけかかるので、距離が長いほど速くなる。
画像ファイル名
ノートの画像のファイル名である。
譜面ファイルと同じ場所に置くこと。
記述例
5キーのモードで、ノート文字は左からz,s,x,d,c。全て上から下に移動。
最終座標はX座標がそれぞれ30,50,70,90,110、Y座標は全て300。
&def=z, 30,300,1,白ノート.bmp &def=s, 50,300,1,青ノート.bmp &def=x, 70,300,1,白ノート.bmp &def=d, 90,300,1,青ノート.bmp &def=c,110,300,1,白ノート.bmp
ノートには色々な特殊な属性が用意されている。
&defの次に以下を付け足す事で利用する事が出来る。
&thisnote_nocnt=1 直前の&defで定義したノートは、コンボや得点を増やさない。
&thisnote_nocnt=-1 直前の&defで定義したノートは、コンボを1減らす。 (コンボ表示が0以下にならないよう注意)
&thisnote_nobomb=1 直前の&defで定義したノートは、爆発しない(コンボは増える)
&thisnote_roll=1 直前の&defで定義したノートは、自動的にくるくる回る。 回る速度は以下で指定する。 &rollspd=2 2の時2倍の速さで回る。
&thisnote_dep=1 直前の&defで定義したノートは、他のノートよりも奥に表示する。 &thisnote_dep=2 直前の&defで定義したノートは、他のノートよりも手前に表示する。
&thisnote_picpos=深度 直前の&defで定義したノートの最終座標は、 指定した深度のピクチャーの座標と常に同じになる。 ピクチャーが移動すればそれに合わせてノートの軌道も動く。 対象の深度にはピクチャーが表示されていなくてもよい。
&thisnote_apepos=深度 直前の&defで定義したノートの出現座標(&apepos)は、 指定した深度のピクチャーの座標と常に同じになる。
これらの設定は&def行1つごとにそれぞれ書くのが基本になるが、
同じ設定を何度も書かなくて済むように、まとめて設定する記述がある。
&def=z,100,100,1,note.bmp &def=x,100,100,1,note.bmp &def=c,100,100,1,note.bmp &thisnote_nocnt=1,2 このように、最後に「,2」を付け足すと、 直前の&def(ここではc)、その1つ前の&def(ここではx)の合計2つに対して 「&thisnote_nocnt=1」が設定される。 この方法が使えるのは、 &thisnote_nocnt &thisnote_nobomb &thisnote_roll &thisnote_dep &thisnote_picpos &thisnote_apepos の6種類である。
レールノートとは、決められた座標に表示されるのではなく、ノートの時間(タイミング)によって座標が変わるノートである。
レールノートを定義するには、まずこのように仮想の線を引く(表示はされない)。
この例では(100,100)から(300,100)に直線を引いている。
その上でノートを置く。
このようにノートを置くと、
z,,z,,z,z,z,,
左端から右端までがちょうど1小節の時間になるタイミングで配置される。
レールノートを記述するには、まず「&def」でノートを定義し、そのあと「&thisnote_rail」設定項を書く。
書式: &thisnote_rail=(開始X座標),(開始Y座標),(終了X座標),(終了Y座標) 例: &def=z,100,100,1,note.bmp &thisnote_rail=100,100,300,100 「z」のノートを、(100,100)-(300,100)の直線のレールノートに定義する。 なお、&def行の座標の指定は使われなくなる。
レールノートには直線ではなく曲線も使える。
中心X,Y、半径X,Yである仮想の円を置き、その円周上にノートを配置する。
この例では中心(200,200)、X半径100、Y半径100の円である。
また、開始角度を0度(真右)、終了角度を360度(右回りに1周して真右)、と決める。
この上でノートを置くと、
z,,z,,z,z,z,,
開始角度(0度)から終了角度(360度)までがちょうど1小節になるように配置される。
書式: &thisnote_rail=(中心X座標),(中心Y座標),(X半径),(Y半径),(開始角度),(終了角度) 角度とは、真右が0度で、右回りに数え、1周は360度である。 左回りの場合は「0から-360」、2周する場合は「0から720」のように指定する。 例: &def=z,100,100,1,note.bmp &thisnote_rail=200,200,100,100,0,360 「z」のノートを、中心(200,200),X半径100、Y半径100、角度0から360 の内容の 円周のレールノートに定義する。 &def行の座標の指定は使われなくなる。
CarmVTRのメニューでのロングノートの色設定によりロングノートの色を変更出来るが、譜面ファイル内でも設定出来、またノートごとに別々の色にする事も出来る。
&longcolor=RRGGBB この記述は、デフォルトで定義された全てのノートと、 ここまでで&defで定義されたノートのロングノートの色を 全て変更する。 ここから後に&defで定義されたノートには影響しない事に注意。 &theselongcolor=RRGGBB この記述は、ここから&defで定義されたノートの ロングノートの色を全て変更する。 &theselongcolor項は何度でも書けるので、ノートごとに別々の色にも出来る。
&theselongcolor=FF0000 &def=z,100,300,1,note.bmp &theselongcolor=00FF00 &def=x,100,300,1,note.bmp &theselongcolor=0000FF &def=c,100,300,1,note.bmp こう書けば、全て別々の色になる。
CarmVTRには様々なゲーム種類に様々なノートが初めから定義されているが、それらを利用する事も出来る。
基本的な記述は以下のようになる。
CarmVTRに定義されているノートの種類と、それを使うためのノート文字を指定する。
&def=(ノート文字) &thisnotetype=(ノート種類番号) この2行で一組となる 例: &def=k &thisnotetype=1 寺モードの1キーを、ノート文字「k」で利用する
この方法でノートを利用した場合、座標などを変更する事は出来ない。
ノート種別番号一覧
ノートの画像も定義されているものがそのまま使われるが、画像だけは自分で用意したものに変更が出来る。
&def=(ノート文字),,,,(ノート画像ファイル名) &thisnotetype=(ノート種類番号) カンマ「,」は4つ この2行で一組となる 例: &def=k,,,,note.bmp &thisnotetype=1 寺モードの1キーを、ノート文字「k」で利用する 画像はnote.bmpと差し替える
複数のゲームを混在させ、コンボを別々に数えたいような時には、グループ分けを利用する。
グループは、0〜9の範囲の数で表す。
ノートごとに、このグループを設定し、グループごとに別々にコンボ表示をする事が出来る。
また、あるグループのコンボ数を、別のグループのコンボ数に加算することも出来る(&givecombo項)
何も設定しなければ、全てのノートはグループ0であり、全てのグループのコンボはグループ0でまとめて数える。
まず、グループごとのコンボ表示をする座標を設定する。
譜面ファイルに、以下を必要なだけ記述する。
グループ0についての設定は出来ない。
&infogrpos=グループ番号,X座標,Y座標
グループ0のコンボ表示は、通常の情報表示の設定に従う。
それ以外のグループの表示は、使用フォント・形式・書式は通常の情報表示の設定に従う。
座標だけ変更出来るという事である。
ノートごとのグループの指定は、譜面データ(&seq)の中で、「G/」という行を書く事で行う。
G/1 ←ここからグループ1にする z,z,z,z, G/2 ←ここからグループ2にする x,x,x,x,
行データではなく拍データに書くことも出来る。
その場合、大カッコで囲んで記述する。
[G/1]z,x,c,v, 最初の「z」を含めてグループ1に変更する。 [G/1]を書いた拍全てに影響するので、 zx[G/1]cv, と書いたとしてもこれらは全てグループ1になる。
全く別の複数のゲームを混在させる場合、
グループごとに譜面データを独立させると分かりやすい。
G/1 ←ここからグループ1 B/1 @S ←今の時間を保存 z,z,z,z, x,x,x,x, c,c,c,c, G/2 ←ここからグループ2 @L ←保存した時間まで戻り、ここからグループ2の譜面データ s,s,s,s, d,d,d,d, f,f,f,f,
譜面速度の変更は、現在示されているグループにのみ適用される。
これにより、グループごとに譜面速度を別々にするという事が可能である。
G/1 ←グループ1 B/1 @S z,z,z,z, x,x,x,x, c,c,c,c, G/2 ←グループ2 @L C/0.4 ←グループ2だけ譜面速度を変更 s,s,s,s, d,d,d,d, f,f,f,f,
なお、譜面速度に変更があった時に「表示されているノートがスムーズに速度を変化する」「新しい譜面速度に応じてBPM表示が変化する」のは、グループ0にだけ起こる。
全てのコンボ数はグループ0で数えるが、そうではなく別のグループのコンボ数に加える事が出来る。
譜面ファイルに、以下を必要なだけ記述する。
&givecombo=与える側のグループ,与えられる側のグループ &givecombo=2,3 この例では、グループ2のコンボ数はグループ3で数える。 &givecombo=2,2 この例では、グループ2のコンボ数はグループ2自身で数える。
通常、ノートは画面の外に現れ、時間と共に画面の中に移動してくる。
これを、(SUDDENのように)最終座標にある程度近づいてから、はじめて表示するように出来る。
ノートの設定の際に、
このように、最後に1つ数字を付け加える。
&def=ノート文字,最終座標X,最終座標Y,進行方向,画像ファイル名,表示座標値
この数を表示座標値と呼び、単位はドット(ピクセル)である。
最終座標にこの値だけ近づいた時に、ノートははじめて表示されるようになる。
パネル形式のノートの場合、設定は無視される。
譜面データの途中でノート文字を変更する事が可能である。
譜面データにて以下を記述する。
複数のゲームを混在させる時、ノート用の文字が足りなくなるような場合に有用である。
STRCNG/変更するノート文字/変更後のノート文字 例: STRCNG/z/x ノート文字が「z」である全てのノート文字を「x」に変更する。
条件に合うノート文字を全て変更するので、結果的に2つのノートのノート文字列が同じになった場合、再び別々に戻すことは出来ない点に注意すること。
カスタムモード以外のゲーム種類でも、これらの機能を使用する事が出来る。
例えば、寺モードには8種類のノートが用意されているが、それに加えて、自分で定義したノートを使用する事になる。
元から用意されているノートのノート文字は変更出来ないので、重複しないように注意すること。
現在のバージョンでは、以下のノートは本来のゲーム種類でなければ利用が出来ない。
・竜巻モードのビーム
画面の大きさは512x384であるが、カスタムモードに限り、これを変更する事が可能である。
譜面ファイルのどこかに以下の記述をする事。
&window=横サイズ,縦サイズ
様々な制約や注意がある。
・横サイズと縦サイズは、いずれも128〜1024(ドット)の範囲である。
・通常よりも画面を小さくした場合、タイトル表示が正しくならない場合がある。タイトル画像の読み込みを使う事も考慮すること。
・背景に使う画像ファイルは、画面サイズと同じにする事。そうでない場合、自動的に画面に合うようにリサイズされる。
・CarmVTRの起動中に&windowの値を変更した場合、画面が正しく表示されなくなる場合がある。その場合、一度CarmVTRを終了すること。
小節線を使う場合、座標の指定が必要である。
小節線が消える瞬間の、線の両端の座標を指定する。
記述は以下である。
&line=左端のX座標,左端のY座標,右端のX座標,右端のY座標,進行方向,座標修正値
進行方向とはノートの場合と同じく、1=下、2=上、3=左 である。(左の時は「左端と右端」を「上の端と下の端」と読み替えること)
座標修正値とは、ノートの中心に小節線が引かれると見苦しいような場合に指定する。小節線を指定した値だけズラして表示する。単位はドットである。
上の画像の例での記述例
&line=30,300,320,300,1,0
・カスタムモードではパネル画像の読み込みは使えない。
パネルの画像を途中で変えたい場合は、その画像のノートとして別に設定する事。
ver1.42で出来るようになった。パネル画像の変更を参照
・スコアなどの表示が邪魔であれば、拡張機能の「情報表示座標の変更」で消すこと。