Help us understand the problem. What is going on with this article?

BMS定義紹介~#TITLE編~

More than 1 year has passed since last update.

この記事は、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を正しく編集しても、ファイル名を変えないと認識されないようです。注意して下さい。

waneeeen
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした