LoginSignup
0

More than 5 years have passed since last update.

posted at

BMS定義紹介~#TITLE編~

この記事は、BMS制作についてAdvent Calendar 2日目の記事です。

BMSの定義について書いていきたいと思います。

TITLEの定義

#TITLE bmsTitle
 string bmsTitle

 曲のタイトルを定義します。bmsTitleがいくつかの半角スペースから始まるとき、これをインデントとみなして半角スペースを無視します。例えば、半角スペースを□で可視化した時に、定義が#TITLE□□□□exampleであるとき、これは#TITLE□exampleと全く同じであるということです。

 規格に書かれてはいませんが、副題として以下のフォーマットが認められています。しかし、これらが複数用いられる場合や、#SUBTITLEの定義がある場合は無視されます。 よって、この方法での副題の定義は推奨されません。

Expression Remark
#TITLE main-sub- 半角ハイフン
#TITLE main~sub~ 全角チルダ
#TITLE main(sub) 半角丸括弧
#TITLE main[sub] 半角ブラケット/角括弧
#TITLE main<sub> 半角不等号/山括弧
#TITLE main"sub" ダブルクォーテーション

LR2における動作とバグ

bmsTitleにShiftJISの2Byte文字において、ASCII文字コード上で、-,(,),[,],<,>,"と同じコードが含まれる場合、パースエラーによって譜面が認識されなくなるバグが確認されています。

例えば、にゃ [あにゃざー]をbmsTitleとして指定した場合、のShiftJISコードが0x815bであるために、これをLR2が[を正しく解釈できずに譜面がLR2上に表示されないバグがあるようです。

ほかにも、にも同じようにASCIIコードを含んでいるために、パースエラーとなります。

【参考】

ちなみにこれは別のバグなのですが、一度パースエラーを起こしたファイルは、bmsTitleを正しく編集しても、ファイル名を変えないと認識されないようです。注意して下さい。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0