「BMS規格」の編集履歴(バックアップ)一覧はこちら

BMS規格」(2018/01/28 (日) 21:29:04) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

&italic(){注:この記事は書きかけです。} #contents() BMSの仕様について書いたページです。記事作成にあたってhitkey氏の[[BMS Command Memo>>http://goo.gl/zsHgms]]を大いに参考にさせていただきました。 BMSの仕様について解説するページであり、BMS作成講座とは区別をつけていますのでその点はご了承ください。 *基本 BMSは主に、 +&bold(){BMSファイル(〜.bms、〜.bme、〜.bmlなど)} +&bold(){音声データ(〜.wavまたは〜.oggファイルの集まり)} +&bold(){BGAデータ(〜.bmpや〜.pngなどの画像データの集まりか、あるいは〜.mpegなどの映像データ)} からなる。だいたいの場合、これらのデータは一つのフォルダにまとめられ、「BMSをダウンロードする」「BMSを発表する」などといったらこのフォルダ単位で扱われる。中には3.が無くて演奏データだけだったり、2.が無くてBGAデータだけだったり、1.2.3.に加えてテキストファイル(Readme)が同梱されているものも普通にあるが、BMSプレーヤー側が「BMSデータ」と認識して読み込むのは基本的にこの3つである。 BMSファイルはおおよそ次のような要素から構成されている。 *---------------------- HEADER FIELD #PLAYER 1 #GENRE Trance ・・・ #TOTAL 400 %URL #WAV01 kick1.wav #WAV02 vocal1.wav ・・・ #WAVF7 bgm5.wav #BMP01 white.bmp #BMP02 aa.bmp ・・・ #BMPFF fin.bmp *---------------------- MAIN DATA FIELD #00101:4F #00104:0102030401020304 #00111:01010101 ・・・ #07115:D2 - 行頭に必ず書く記号は&bold(){#}、&bold(){%}、&bold(){*}の3種類。 -- このうち最も重要なのが#から始まるコマンド。ヘッダや譜面データを記述するのに使われる。 -- %から始まるコマンドはBMSデータと直接関係はないが、作者のサイトやアドレスを補足するのに使われる。 -- *から始まる文はコメントと見なされ、BMSの実データとして読み込まれない。 - #PLAYERや#WAV??などは「ヘッダ」と呼ばれるデータで、主にBMSに関する基本的な情報(曲タイトルやBPMなど)を設定したり、プレーヤー上で使用する音声ファイルやBGAファイルを指定したりする。 - #00101:〜などの文字列はメインデータで、実際の譜面データが記録されており、プレーヤーはこのデータに沿って音を鳴らしたりノーツを配置したりBGA画像を表示したりする。 BMSプレーヤーが実際の譜面データを読み込むおおまかな流れとしては、 #WAV01 kick1.wav でプレーヤーに「kick1.wavを『データ01』として扱うんだな」と認識させ、 #00111:01010101 でプレーヤーに「1小節目で一番左端の白鍵盤のレーンにデータ01(つまりkick1.wav)が鳴るオブジェを4分音符の間隔で4つ落とせ」と命令している。 (文字で説明するより見たほうが早いんだけど、それっぽい画像が見つからないので誰か用意してくださいorz) BMSファイルには幾つかの形式がある。基本はどれも上に示したような書き方だが、使えるコマンドやチャンネル(メインデータの項で解説)が増えているのでそれぞれ別の項目として解説していこうと思う。 *BMS ファイル形式は&bold(){〜.bms}。やねうらお氏が開発したフォーマットであり、最初に作られたBMS形式である。 **ヘッダ ヘッダに記述するデータ。"&bold(){#コマンド パラメータ}"の形で書く。 ***#PLAYER プレイヤー数(プレイスタイル)を指定する。 - 1〜4の数字を指定する。数字の意味は以下のとおり -- 1:シングルプレイ -- 2:カップルプレイ -- 3:ダブルプレイ -- 4:バトルプレイ 例) #PLAYER 1 - 省略(何も書かない)時は#PLAYER 1(シングルプレイ)とみなされる。 // - 名無しBMSプレーヤは無視するらしい。 ***#GENRE 曲のジャンル名を文字列で指定する。 例) #GENRE HIPHOP - 省略時は空白になる。 ***#TITLE 曲のタイトル名を文字列で指定する。 例) #TITLE cruse ***#ARTIST 作曲者名を文字列で指定する。 例) #ARTIST gomd ***#BPM 曲のテンポの速さを数字で指定する。 例) #BPM 120 - 省略時は#BPM 130と見なされる。(ナナシグルーヴでは150) // - 小数点以下2ケタまで有効? ***#PLAYLEVEL 難易度を数字で指定する。 例) #PLAYLEVEL 5 - 省略時は#PLAYLEVEL 3とみなされる。 - 0を指定することも可能。その場合プレーヤーによっては「?」と表示される。 ***#RANK 判定の辛さを数字で指定する。 - 0〜4の数字で指定 -- 0:veryhard -- 1:hard -- 2:normal -- 3:easy -- 4:very easy 例) #RANK 3 - あくまでも相対的な辛さであり、同じRANKでもプレーヤーによって実際の判定は変わってくる。 ***#VOLWAV BMS全体の音量の大きさを数字で指定する。 - 単位は%。 例)元の音量の150%(1.5倍)の大きさにする #VOLWAV 150 ***#TOTAL ゲージの増加のしやすさを数字で指定する。 - 設定した値=「全ノーツで最も良い判定を取った時のゲージの増加量」になる。 - 数字が大きいほどゲージの増加量が大きくなる。 例) #TOTAL 300 - 省略時にもTOTALは割り当てられるが、その値はプレーヤーによって異なる。 -- TOTAL値を設定してもプレーヤー側のゲージ増加量の計算のしかたが違えば、当然ゲージの増加量はプレーヤーによって変わってくる。再現性を考えるなら「△△のプレイヤー推奨」とか書くのがいいかも。 ***#WAV?? 音声ファイル定義。繰り返し使う。 - ?には&bold(){0〜9、A〜F}までの文字を1つ入れる。ただし&bold(){00は使えない。} - パラメータには&bold(){音声ファイルの名前.wav}を指定する。 -- &bold(){実際のファイルの拡張子が.oggでも定義では.wavを使用する。}なぜこのような仕様になっているのかは謎。というか誰か教えて下さい。 例)データ01にkick1.wavを指定 #WAV01 kick1.wav - データ(01)と音声ファイル(kick1.wav)は1対1に対応しており、1つのデータに複数の音声ファイルを定義することはできない。 #WAV01 kick1.wav #WAV01 bass1.wav (データがかぶるのでダメ) #WAV02 bass1.wav (番号を変えればOK) - データは01〜FFなので、使える音声定義は最大で255となる。つまり最大255個の音声ファイルを扱える。 -- 拡張版では01〜FZ(575個)あるいは01〜ZZ(1295個)まで定義できるようになった。 - 指定した音声ファイルはBMSファイルと同じディレクトリ(フォルダ)内に置かないと読み込めない。指定した音声ファイルが見つからない場合は音の鳴らないデータとなる。(プレーヤーによって違う?要検証) - メインデータの項目を見ればわかると思うが、#WAV00はオブジェ間の空白を表すものとなるため使えない。 // 同時発音数と1つの音声ファイルの複数定義について言及 ***#MIDIFILE MIDIファイルをBGMとして指定する。 例) #MIDIFILE bgm.mid - 現在はほとんど使われていない。 ***#BMP?? BGAに使う画像ファイル定義。繰り返し使う。 - ?には&bold(){0〜9、A〜F}までの文字を1つ入れる。 - パラメータには&bold(){画像ファイルの名前.bmp}を指定する。 -- &bold(){実際のファイルの拡張子が.pngだろうが.jpegだろうが定義では.bmpを使用する。}なぜこのような仕様になっているのかは謎。というか誰か教えて下さい。 例)データ01に画像ファイルwhite.bmpを指定 #BMP01 white.bmp - #BMP00にはミスレイヤー(プレイ中にミスした時に表示する画像)を指定する。(#WAV00と違うとこ) -- 使えるデータは00〜FFの256個(拡張版では00〜FZ、00〜ZZまで) - 指定した画像ファイルはBMSファイルと同じディレクトリ(フォルダ)内に置く必要がある。 - BGAを使わないのであれば定義しなくてよい。まるごととばしてもOK **メインデータ 譜面にオブジェを配置したり、小節線の長さを決めたりするデータ。"&bold(){#XXXYY:パラメータ}"の形で書く。ヘッダと違い":"記号が間に入るので注意。 - XXX:何小節目のデータかを数字3ケタで指定する。 - YY:「&bold(){チャンネル}」と呼ばれる、パラメータの役割を決める2ケタの数字(拡張版ではアルファベットも含む)を指定する。 -- 01:BGM(自動的に再生する音データ)を配置する -- 02:1小節の長さを変える -- 03:BPMを変える。(BPM1〜255まで) -- 04:BGA(真ん中で動いてるパラパラアニメのやつ)を配置する -- 05:オブジェ(譜面で上から降ってくるやつ)の画像を変更する -- 06:ミスレイヤー(POOR判定時に出てくる画像のこと)を変更する -- 07:スプライト画像(BGAの上に重ねて表示する)を配置する。 -- 11〜17:シングルプレイ時に各レーンに降ってくるオブジェを配置する(ダブルプレイでは左側のレーン) -- 21〜27:ダブルプレイ時に右側の各レーンに降ってくるオブジェを配置する - パラメータ:チャンネルによって書くことが変わったりするが、基本的にはヘッダの&bold(){#WAV??}や&bold(){#BMP??}で定義したデータをすきまなく書き並べる。 例)1小節目、左端の鍵盤にデータ01、02、A7、05を4分間隔で配置する #00111:0102A705 - パラメータのデータの数がn個のとき、配置はn分音符の間隔になると考えてよい。 #00111:0101010101010101 この場合は8分間隔(縦連打に近い)になり、 #00111:010101010101 この場合は6分間隔(跳ねリズム)になる。 - データを何も置かない部分(休符)は00として表現できる。 #00111:0101010001010100 この場合は三連打が2回降ってくる。"01 01 01 00 01 01 01 00"と分けて考えれば多少把握しやすくなると思う。 小節を増やしたい場合は順次#00211:〜、#00311:〜と書いていけばよい。また他の鍵盤にオブジェを置いたりBGMを設定する場合は#00112:〜、#00101:〜といった感じで追加する。メインデータではこれら3要素を組み合わせて譜面を作っていく。 #00101:01 #00111:0000000000000000000000000000001A #00113:00000000000J0K1M #00114:0000000000000I0000000000000L0000 #00115:0H #00212:0O2Q0000 #00214:000P000R00000000 #00216:0000001S ・・・ まるごとデータがないとそのチャンネルは空白として扱われる。例えば上記のデータでは#00211:〜がないので左端の鍵盤には2小節目は何も降ってこないことになる。 // 各チャンネルの説明 // *拡張定義 // **ヘッダ // ***#MAKER // ***#BPM?? // ***#EXBPM // ***#DEFXRANK // ***#EXRANK // ***#LNTYPE // ***#LNOBJ // ***#OCT/FP // ***#OPTION // ***#TEXT // ***#COMMENT // ***#WAV?? (拡張版) // ***#WAVCMD // ***#EXWAV // ***#CDDA // ***#BMP?? (拡張版) // ***#EXBMP // ***#BGA // ***#@BGA // ***#BACKBMP // ***#POORBGA // ***#SWBGA // ***#BANNER // ***#ARGB // ***#STAGEFILE // ***#VIDEOFILE // ***#VIDEOf/s // ***#VIDEOCOLORS // ***#VIDEODLY // ***#STOP?? // ***#STP // ***#ExtChr // ***#RANDOM // ***#IF // ***#ENDIF // ***#SETRANDOM // ***#ELSE // ***#ENDRANDOM // ***#SWITCH // ***#SETSWITCH // ***#ENDSW // ***#CASE // ***#SKIP // ***#DEF // ***#path_wav // ***#MATERIALSWAV // ***#MATERIALSBMP // ***#CHARFILE // ***#DIVIDEPROP // ***#SONG // ***%URL // ***%MAIL // ***Materials // *BME // *BML // *BMX *参考リンク BMS Command Memo:[[(短縮URL)>http://goo.gl/ArYbSa]] BMS形式(音ゲー作成マニュアル):http://www.charatsoft.com/develop/otogema/page/04bms/bms.htm wiki.bms.ms(WebArchive):http://web.archive.org/web/20070619021620/http://wiki.bms.ms/Bms:Format BMS制作のすすめ:http://www9.atwiki.jp/coolnaurl/ *コメント欄 #comment_num2
&italic(){注:この記事は書きかけです。} #contents() BMSの仕様について書いたページです。記事作成にあたってhitkey氏の[[BMS Command Memo>>http://goo.gl/zsHgms]]を大いに参考にさせていただきました。 BMSの仕様について解説するページであり、BMS作成講座とは区別をつけていますのでその点はご了承ください。 *基本 BMSは主に、 +&bold(){BMSファイル(〜.bms、〜.bme、〜.bmlなど)} +&bold(){音声データ(〜.wavまたは〜.oggファイルの集まり)} +&bold(){BGAデータ(〜.bmpや〜.pngなどの画像データの集まりか、あるいは〜.mpegなどの映像データ)} からなる。だいたいの場合、これらのデータは一つのフォルダにまとめられ、「BMSをダウンロードする」「BMSを発表する」などといったらこのフォルダ単位で扱われる。中には3.が無くて演奏データだけだったり、2.が無くてBGAデータだけだったり、1.2.3.に加えてテキストファイル(Readme)が同梱されているものも普通にあるが、BMSプレーヤー側が「BMSデータ」と認識して読み込むのは基本的にこの3つである。 BMSファイルはおおよそ次のような要素から構成されている。 *---------------------- HEADER FIELD #PLAYER 1 #GENRE Trance ・・・ #TOTAL 400 %URL #WAV01 kick1.wav #WAV02 vocal1.wav ・・・ #WAVF7 bgm5.wav #BMP01 white.bmp #BMP02 aa.bmp ・・・ #BMPFF fin.bmp *---------------------- MAIN DATA FIELD #00101:4F #00104:0102030401020304 #00111:01010101 ・・・ #07115:D2 - 行頭に必ず書く記号は&bold(){#}、&bold(){%}、&bold(){*}の3種類。 -- このうち最も重要なのが#から始まるコマンド。ヘッダや譜面データを記述するのに使われる。 -- %から始まるコマンドはBMSデータと直接関係はないが、作者のサイトやアドレスを補足するのに使われる。 -- *から始まる文はコメントと見なされ、BMSの実データとして読み込まれない。 - #PLAYERや#WAV??などは「ヘッダ」と呼ばれるデータで、主にBMSに関する基本的な情報(曲タイトルやBPMなど)を設定したり、プレーヤー上で使用する音声ファイルやBGAファイルを指定したりする。 - #00101:〜などの文字列はメインデータで、実際の譜面データが記録されており、プレーヤーはこのデータに沿って音を鳴らしたりノーツを配置したりBGA画像を表示したりする。 BMSプレーヤーが実際の譜面データを読み込むおおまかな流れとしては、 #WAV01 kick1.wav でプレーヤーに「kick1.wavを『データ01』として扱うんだな」と認識させ、 #00111:01010101 でプレーヤーに「1小節目で一番左端の白鍵盤のレーンにデータ01(つまりkick1.wav)が鳴るオブジェを4分音符の間隔で4つ落とせ」と命令している。 (文字で説明するより見たほうが早いんだけど、それっぽい画像が見つからないので誰か用意してくださいorz) BMSファイルには幾つかの形式がある。基本はどれも上に示したような書き方だが、使えるコマンドやチャンネル(メインデータの項で解説)が増えているのでそれぞれ別の項目として解説していこうと思う。 *BMS ファイル形式は&bold(){〜.bms}。やねうらお氏が開発したフォーマットであり、最初に作られたBMS形式である。 **ヘッダ ヘッダに記述するデータ。"&bold(){#コマンド パラメータ}"の形で書く。 ***#PLAYER プレイヤー数(プレイスタイル)を指定する。 - 1〜4の数字を指定する。数字の意味は以下のとおり -- 1:シングルプレイ -- 2:カップルプレイ -- 3:ダブルプレイ -- 4:バトルプレイ 例) #PLAYER 1 - 省略(何も書かない)時は#PLAYER 1(シングルプレイ)とみなされる。 // - 名無しBMSプレーヤは無視するらしい。 ***#GENRE 曲のジャンル名を文字列で指定する。 例) #GENRE HIPHOP - 省略時は空白になる。 ***#TITLE 曲のタイトル名を文字列で指定する。 例) #TITLE cruse ***#ARTIST 作曲者名を文字列で指定する。 例) #ARTIST gomd ***#BPM 曲のテンポの速さを数字で指定する。 例) #BPM 120 - 省略時は#BPM 130と見なされる。(ナナシグルーヴでは150) // - 小数点以下2ケタまで有効? ***#PLAYLEVEL 難易度を数字で指定する。 例) #PLAYLEVEL 5 - 省略時は#PLAYLEVEL 3とみなされる。 - 0を指定することも可能。その場合プレーヤーによっては「?」と表示される。 ***#RANK 判定の辛さを数字で指定する。 - 0〜4の数字で指定 -- 0:veryhard -- 1:hard -- 2:normal -- 3:easy -- 4:very easy 例) #RANK 3 - あくまでも相対的な辛さであり、同じRANKでもプレーヤーによって実際の判定は変わってくる。 ***#VOLWAV BMS全体の音量の大きさを数字で指定する。 - 単位は%。 例)元の音量の150%(1.5倍)の大きさにする #VOLWAV 150 ***#TOTAL ゲージの増加のしやすさを数字で指定する。 - 設定した値=「全ノーツで最も良い判定を取った時のゲージの増加量」になる。 - 数字が大きいほどゲージの増加量が大きくなる。 例) #TOTAL 300 - 省略時にもTOTALは割り当てられるが、その値はプレーヤーによって異なる。 -- TOTAL値を設定してもプレーヤー側のゲージ増加量の計算のしかたが違えば、当然ゲージの増加量はプレーヤーによって変わってくる。再現性を考えるなら「△△のプレイヤー推奨」とか書くのがいいかも。 ***#WAV?? 音声ファイル定義。繰り返し使う。 - ?には&bold(){0〜9、A〜F}までの文字を1つ入れる。ただし&bold(){00は使えない。} - パラメータには&bold(){音声ファイルの名前.wav}を指定する。 -- &bold(){実際のファイルの拡張子が.oggでも定義では.wavを使用する。}なぜこのような仕様になっているのかは謎。というか誰か教えて下さい。 例)データ01にkick1.wavを指定 #WAV01 kick1.wav - データ(01)と音声ファイル(kick1.wav)は1対1に対応しており、1つのデータに複数の音声ファイルを定義することはできない。 #WAV01 kick1.wav #WAV01 bass1.wav (データがかぶるのでダメ) #WAV02 bass1.wav (番号を変えればOK) - データは01〜FFなので、使える音声定義は最大で255となる。つまり最大255個の音声ファイルを扱える。 -- 拡張版では01〜FZ(575個)あるいは01〜ZZ(1295個)まで定義できるようになった。 - 指定した音声ファイルはBMSファイルと同じディレクトリ(フォルダ)内に置かないと読み込めない。指定した音声ファイルが見つからない場合は音の鳴らないデータとなる。(プレーヤーによって違う?要検証) - メインデータの項目を見ればわかると思うが、#WAV00はオブジェ間の空白を表すものとなるため使えない。 // 同時発音数と1つの音声ファイルの複数定義について言及 ***#MIDIFILE MIDIファイルをBGMとして指定する。 例) #MIDIFILE bgm.mid - 現在はほとんど使われていない。 ***#BMP?? BGAに使う画像ファイル定義。繰り返し使う。 - ?には&bold(){0〜9、A〜F}までの文字を1つ入れる。 - パラメータには&bold(){画像ファイルの名前.bmp}を指定する。 -- &bold(){実際のファイルの拡張子が.pngだろうが.jpegだろうが定義では.bmpを使用する。}なぜこのような仕様になっているのかは謎。というか誰か教えて下さい。 例)データ01に画像ファイルwhite.bmpを指定 #BMP01 white.bmp - #BMP00にはミスレイヤー(プレイ中にミスした時に表示する画像)を指定する。(#WAV00と違うとこ) -- 使えるデータは00〜FFの256個(拡張版では00〜FZ、00〜ZZまで) - 指定した画像ファイルはBMSファイルと同じディレクトリ(フォルダ)内に置く必要がある。 - BGAを使わないのであれば定義しなくてよい。まるごととばしてもOK **メインデータ 譜面にオブジェを配置したり、小節線の長さを決めたりするデータ。"&bold(){#XXXYY:パラメータ}"の形で書く。ヘッダと違い":"記号が間に入るので注意。 - XXX:何小節目のデータかを数字3ケタで指定する。 - YY:「&bold(){チャンネル}」と呼ばれる、パラメータの役割を決める2ケタの数字(拡張版ではアルファベットも含む)を指定する。 -- 01:BGM(自動的に再生する音データ)を配置する -- 02:1小節の長さを変える -- 03:BPMを変える。(BPM1〜255まで) -- 04:BGA(真ん中で動いてるパラパラアニメのやつ)を配置する -- 05:オブジェ(譜面で上から降ってくるやつ)の画像を変更する -- 06:ミスレイヤー(POOR判定時に出てくる画像のこと)を変更する -- 07:スプライト画像(BGAの上に重ねて表示する)を配置する。 -- 11〜17:シングルプレイ時に各レーンに降ってくるオブジェを配置する(ダブルプレイでは左側のレーン) -- 21〜27:ダブルプレイ時に右側の各レーンに降ってくるオブジェを配置する - パラメータ:チャンネルによって書くことが変わったりするが、基本的にはヘッダの&bold(){#WAV??}や&bold(){#BMP??}で定義したデータをすきまなく書き並べる。 例)1小節目、左端の鍵盤にデータ01、02、A7、05を4分間隔で配置する #00111:0102A705 - パラメータのデータの数がn個のとき、配置はn分音符の間隔になると考えてよい。 #00111:0101010101010101 この場合は8分間隔(縦連打に近い)になり、 #00111:010101010101 この場合は6分間隔(跳ねリズム)になる。 - データを何も置かない部分(休符)は00として表現できる。 #00111:0101010001010100 この場合は三連打が2回降ってくる。"01 01 01 00 01 01 01 00"と分けて考えれば多少把握しやすくなると思う。 小節を増やしたい場合は順次#00211:〜、#00311:〜と書いていけばよい。また他の鍵盤にオブジェを置いたりBGMを設定する場合は#00112:〜、#00101:〜といった感じで追加する。メインデータではこれら3要素を組み合わせて譜面を作っていく。 #00101:01 #00111:0000000000000000000000000000001A #00113:00000000000J0K1M #00114:0000000000000I0000000000000L0000 #00115:0H #00212:0O2Q0000 #00214:000P000R00000000 #00216:0000001S ・・・ まるごとデータがないとそのチャンネルは空白として扱われる。例えば上記のデータでは#00211:〜がないので左端の鍵盤には2小節目は何も降ってこないことになる。 // 各チャンネルの説明 // *拡張定義 // **ヘッダ // ***#MAKER // ***#BPM?? // ***#EXBPM // ***#DEFXRANK // ***#EXRANK // ***#LNTYPE // ***#LNOBJ // ***#OCT/FP // ***#OPTION // ***#TEXT // ***#COMMENT // ***#WAV?? (拡張版) // ***#WAVCMD // ***#EXWAV // ***#CDDA // ***#BMP?? (拡張版) // ***#EXBMP // ***#BGA // ***#@BGA // ***#BACKBMP // ***#POORBGA // ***#SWBGA // ***#BANNER // ***#ARGB // ***#STAGEFILE // ***#VIDEOFILE // ***#VIDEOf/s // ***#VIDEOCOLORS // ***#VIDEODLY // ***#STOP?? // ***#STP // ***#ExtChr // ***#RANDOM // ***#IF // ***#ENDIF // ***#SETRANDOM // ***#ELSE // ***#ENDRANDOM // ***#SWITCH // ***#SETSWITCH // ***#ENDSW // ***#CASE // ***#SKIP // ***#DEF // ***#path_wav // ***#MATERIALSWAV // ***#MATERIALSBMP // ***#CHARFILE // ***#DIVIDEPROP // ***#SONG // ***%URL // ***%MAIL // ***Materials // *BME // *BML // *BMX *参考リンク BMS Command Memo:[[(短縮URL)>http://goo.gl/ArYbSa]] BMS形式(音ゲー作成マニュアル):http://www.charatsoft.com/develop/otogema/page/04bms/bms.htm wiki.bms.ms(WebArchive):http://web.archive.org/web/20070619021620/http://wiki.bms.ms/Bms:Format BMS関連資料:http://unhappyangel.tripod.com/bms/ BMS制作のすすめ:http://www9.atwiki.jp/coolnaurl/ *コメント欄 #comment_num2

表示オプション

横に並べて表示:
変化行の前後のみ表示: