*開頭表示注釋,這行后面的字符串都忽略
空行*1
*---------------------- HEADER FIELD
空行*1
#PLAYER V-整數(shù)
{游戲模式,1-單人,2-雙人單邊,3-單人雙邊,4-9Key,5-13Key}
無空行
#GENRE V-字符串
{曲風}
無空行
#TITLE V-字符串
{游戲標題}
無空行
#ARTIST V-字符串
{Noter}
無空行
#BPM V-實數(shù)
{BPM標識}
無空行
#PLAYLEVEL V-整數(shù)
{星級}
無空行
#RANK V-整數(shù)
{難度等級,3-Easy,2-Normal,1-Hard,0-Very Hard}
無空行
#TOTAL V-整數(shù)
{音符總數(shù)}
無空行
#VOLWAV V-整數(shù)
{意義暫時不明}
無空行
#STAGEFILE S-字符串
{預(yù)覽圖文件路徑(直接跟文件名,即相對路徑,跟BMS文件在同一文件夾)}
空行*1
{塊
#WAVXX S-字符串
XX-2位16進制數(shù),標志此WAV項編號
S-文件路徑(相對路徑)
}
空行*1
{塊
#BMPXX S-字符串
XX-2位16進制數(shù),標識此圖資源編號
S-文件路徑(相對路徑)
注:BPM00代表游戲時的LOGO
}
空行*2(其實我猜中間還有個東西,不過沒發(fā)現(xiàn))
{塊
#BPMXX V-實數(shù)
XX-2位16進制數(shù),標識此BPM標簽編號
V-此標簽代表的BPM數(shù)值
}
空行*1
{塊
#STOPXX V-實數(shù)
XX-2位16進制數(shù),標識此STOP標簽編號
}
空行*1
{塊
S-字符串
Expand信息,貌似沒用
}
空行*3
*---------------------- MAIN DATA FIELD
空行*1
{塊
{塊
#PPPTT:V
PPP=小節(jié)數(shù)
TT=記錄類型
01=WAV資源放置編號,每一列分一行
03=16進制數(shù)值BPM(當設(shè)置的BPM值小于256而且不是小數(shù)時)
04=BGA
06=POOR
07=LAYER
08=自定義BPM數(shù)值編號
09=STOP,作用不明
11~16+18~19=8個按鍵,18為最左,11~16一次向右,19為按鍵最后一列,數(shù)值代表
Key音WAV編號
51~56+58~59=8個按鍵位置,對應(yīng)長條的起始和終止點,跟上面的一樣
V:設(shè)字符串長度為A,則記錄值將這個小節(jié)分為A/2個時間點,每個記錄值以2位16進制數(shù)
存儲,若為00則表示忽略
}
每小節(jié)空行*1
}
文件結(jié)束