【原创】BMS文件结构解析
bms吧
全部回复
仅看楼主
level 1
SUMREEN 楼主
*开头表示注释,这行后面的字符串都忽略
空行*1
*---------------------- HEADER FIELD
空行*1
#PLAYER V-整数
{游戏模式,1-单人,2-双人单边,3-单人双边,4-9Key,5-13Key}
无空行
#GENRE V-字符串
{曲风}
无空行
#TITLE V-字符串
{游戏标题}
无空行
#ARTIST V-字符串
{Noter}
无空行
#BPM V-实数
{BPM标识}
无空行
#PLAYLEVEL V-整数
{星级}
无空行
#RANK V-整数
{难度等级,3-Easy,2-Normal,1-Hard,0-Very Hard}
无空行
#TOTAL V-整数
{音符总数}
无空行
#VOLWAV V-整数
{意义暂时不明}
无空行
#STAGEFILE S-字符串
{预览图文件路径(直接跟文件名,即相对路径,跟BMS文件在同一文件夹)}
空行*1
{块
#WAVXX S-字符串
XX-2位16进制数,标志此WAV项编号
S-文件路径(相对路径)
}
空行*1
{块
#BMPXX S-字符串
XX-2位16进制数,标识此图资源编号
S-文件路径(相对路径)
注:BPM00代表游戏时的LOGO
}
空行*2(其实我猜中间还有个东西,不过没发现)
{块
#BPMXX V-实数
XX-2位16进制数,标识此BPM标签编号
V-此标签代表的BPM数值
}
空行*1
{块
#STOPXX V-实数
XX-2位16进制数,标识此STOP标签编号
}
空行*1
{块
S-字符串
Expand信息,貌似没用
}
空行*3
*---------------------- MAIN DATA FIELD
空行*1
{块
   {块
   #PPPTT:V
   PPP=小节数
   TT=记录类型
      01=WAV资源放置编号,每一列分一行
      03=16进制数值BPM(当设置的BPM值小于256而且不是小数时)
      04=BGA
      06=POOR
      07=LAYER
      08=自定义BPM数值编号
      09=STOP,作用不明
      11~16+18~19=8个按键,18为最左,11~16一次向右,19为按键最后一列,数值代表
Key音WAV编号
      51~56+58~59=8个按键位置,对应长条的起始和终止点,跟上面的一样
   V:设字符串长度为A,则记录值将这个小节分为A/2个时间点,每个记录值以2位16进制数
存储,若为00则表示忽略
   }
每小节空行*1
}
文件结束
2010年03月18日 09点03分 1
level 0
一楼我的~~~~~
2010年03月18日 09点03分 2
level 1
插入…
2010年04月20日 13点04分 3
level 1
LZ强人,这个不如也发到浆糊吧:)
2010年05月06日 15点05分 4
level 1
请问我在sasakure的Pangaea文件的MAIN DATA FIELD部分还发现TT有02、31~39这几种类型,请问这是什么意思
2025年11月08日 13点11分 6
1