*開(kāi)頭表示注釋?zhuān)@行后面的字符串都忽略
空行*1
*---------------------- HEADER FIELD
空行*1
#PLAYER V-整數(shù)
{游戲模式,1-單人,2-雙人單邊,3-單人雙邊,4-9Key,5-13Key}
無(wú)空行
#GENRE V-字符串
{曲風(fēng)}
無(wú)空行
#TITLE V-字符串
{游戲標(biāo)題}
無(wú)空行
#ARTIST V-字符串
{Noter}
無(wú)空行
#BPM V-實(shí)數(shù)
{BPM標(biāo)識(shí)}
無(wú)空行
#PLAYLEVEL V-整數(shù)
{星級(jí)}
無(wú)空行
#RANK V-整數(shù)
{難度等級(jí),3-Easy,2-Normal,1-Hard,0-Very Hard}
無(wú)空行
#TOTAL V-整數(shù)
{音符總數(shù)}
無(wú)空行
#VOLWAV V-整數(shù)
{意義暫時(shí)不明}
無(wú)空行
#STAGEFILE S-字符串
{預(yù)覽圖文件路徑(直接跟文件名,即相對(duì)路徑,跟BMS文件在同一文件夾)}
空行*1
{塊
#WAVXX S-字符串

XX-2位16進(jìn)制數(shù),標(biāo)志此WAV項(xiàng)編號(hào)
S-文件路徑(相對(duì)路徑)
}
空行*1
{塊
#BMPXX S-字符串

XX-2位16進(jìn)制數(shù),標(biāo)識(shí)此圖資源編號(hào)
S-文件路徑(相對(duì)路徑)
注:BPM00代表游戲時(shí)的LOGO
}
空行*2(其實(shí)我猜中間還有個(gè)東西,不過(guò)沒(méi)發(fā)現(xiàn))
{塊
#BPMXX V-實(shí)數(shù)

XX-2位16進(jìn)制數(shù),標(biāo)識(shí)此BPM標(biāo)簽編號(hào)
V-此標(biāo)簽代表的BPM數(shù)值
}
空行*1
{塊
#STOPXX V-實(shí)數(shù)

XX-2位16進(jìn)制數(shù),標(biāo)識(shí)此STOP標(biāo)簽編號(hào)
}
空行*1
{塊
S-字符串

Expand信息,貌似沒(méi)用
}
空行*3
*---------------------- MAIN DATA FIELD
空行*1
{塊
  {塊
  #PPPTT:V
  PPP=小節(jié)數(shù)

  TT=記錄類(lèi)型
     01=WAV資源放置編號(hào),每一列分一行
     03=16進(jìn)制數(shù)值BPM(當(dāng)設(shè)置的BPM值小于256而且不是小數(shù)時(shí))
     04=BGA
     06=POOR
     07=LAYER
     08=自定義BPM數(shù)值編號(hào)
     09=STOP,作用不明
     11~16+18~19=8個(gè)按鍵,18為最左,11~16一次向右,19為按鍵最后一列,數(shù)值代表

Key音WAV編號(hào)
     51~56+58~59=8個(gè)按鍵位置,對(duì)應(yīng)長(zhǎng)條的起始和終止點(diǎn),跟上面的一樣


  V:設(shè)字符串長(zhǎng)度為A,則記錄值將這個(gè)小節(jié)分為A/2個(gè)時(shí)間點(diǎn),每個(gè)記錄值以2位16進(jìn)制數(shù)

存儲(chǔ),若為00則表示忽略
  }
每小節(jié)空行*1
}
文件結(jié)束