Files
itgmania212121/Docs/SimfileFormats/BMS/tmp.txt
T

187 lines
4.9 KiB
Plaintext
Raw Normal View History

2011-03-17 01:47:30 -04:00
BMS Format Specification(Remake version.)
Written in June 28th 2003.
original document written by Urao Yane.
edited by U(uhangel4u@yahoo.co.jp)
"BMS" means a Be-Music Source file. A file which has BMS suffix is regarded as the BMS file.
This file format was produced by Urao Yane and NBK in 1998.and It revised sometime.
And I adopted this file format to BM98, Delight Delight Reduplication, MixWaver, nazoBMPlay and so on.
Now,anyone can use this format freely.
BM98 Drink Edition
http://www5c.biglobe.ne.jp/~kbs/bm98/ (Japanese)
Delight Delight Reduplicaton
http://nickle.hey.to/ (Japanese)
MixWaver
http://hello.to/mixwaver/ (Korean)
nazoBMPlay
http://www.nothing.sh/nazobmplay/ (Japanese)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
<Command Line>
The line begining at '#' is the command line. All the rest are ignored (use for comments).
And this BMS file is compiled at runtime , so you can order any lines freely.
And there is no difference in the command line between using a capital letter or not.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
<Header>
#PLAYER [1-4]
#PLAYER 1
This data is for Single Play.
#PLAYER 2
This data is for Two Players.
#PLAYER 3
This data is for Double Play.
#PLAYER 4
This data is for Two Players.(Players will plays same sequence)
#GENRE xxxxxxxx
Definition of Genre.
#TITLE xxxxxxxx
Definition of Title.
#ARTIST xxxxxxxx
Definition of Artist.
#BPM xxx
Definition of BPM.(Beats Per Minite) at the top of music. default : 130 value type : double.
#MIDIFILE xxxxxxx.mid
Background music by MIDI.but,It's not recommend.
#PLAYLEVEL x
Information of Game Level for player.
#RANK [0-3]
judgement level.
x = 0 :very hard, 1: hard, 2: normal, 3: easy default : 2
#VOLWAV xxx
relative volume control (percentage)
#TOTAL xxx
increments of Groove Gauge
ex.
#TOTAL 120
It means when all sequence was played over great, Groove Gauge's value is 120%
#WAVxx yyyyyyyy.wav(or .mp3)
definition of Wave Data. xx : 01 to FZ(01-09-0A-0Z-10-1Z...) , yyyyyyyy.wav : wave file name
When use mp3 files,you need mp3 CODEC.
e.g.
#WAV01 HOUSE01.WAV // assign HOUSE01.WAV to 01 wav
#WAV02 HOUSE02.WAV // assign HOUSE02.WAV to 02 wav
#WAVFZ HOUSE03.mp3 // assign HOUSE03.mp3 to FZ wav
#BMPxx yyyyyyyy.bmp(or gif,jpg,png)
definition of Bitmap file. xx : 01 to FF(Hex) , yyyyyyyy.bmp : bitmap file name
Bitmap size must be 256 * 256.(max color 65536)
If you use "gif or jpg or png", with Susie Plug-in.
gif : ifgif.spi jpg : ifjpg.spi png : ifpng.spi
About Susie Plug-ins : http://www.digitalpad.co.jp/~takechin/
e.g.
#BMP01 HOUSE01.BMP // assign HOUSE01.BMP to 01 bitmap
#BMP02 HOUSE02.BMP // assign HOUSE02.BMP to 02 bitmap
#BMPEE HOUSE03.PNG // assign HOUSE03.PNG to EE bitmap
#StageFile xxxx.bmp(or gif,jpg,png)
Show assigned Picture when loading bitmaps,wavs and compiling bms.
#BPMxx yyy
Use to change BPM(Beats Per Minite). xx : 01 to ff(Hex)
But ,the bitmap defined by #BMP00 is something special.
This bitmap shows when a player do a poor play.
#STOPxx yyy
Use to stop sequence. xx : 01 to ff(Hex)
yyy : a quarter note = 48
an eighth note = 24
a whole note = 192
note / n = 192/n
#CDDA xx
Audio cds Track No.
#BackBMP xxxx.bmp(or gif,jpg,png)
Set BackGround Picture.(size:640*480)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
// a sample of random loading function
#random 2 // create a random number (1 or 2)
#if 1 // if the number was equal to 1 then...
#00111:31313131 // this is effective...
#endif
#if 2 // if the number was equal to 2 then...
#00113:32003232 // this is effective
#endif
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
<Channel Messages>
#aaabb:cccccccc
aaa: track number (from 000 to 999)
bb : channel number where you want to send message.(from 00 to FF)
cccccccc : <message>
<a brief Channel Number>
01 : BGM(background music by WAVE)
02 : shortening note.
03 : changing a Tempo[1-255]
04 : BGA(background animation)
06 : changing Poor-bitmap
07 : BGA Layer.
08 : Extended BPM(Use assigned of #BPMxx)
09 : Stop the sequence(Use assigned of #STOPxx)
11 to 19 : Object Channel of 1 player side
21 to 29 : Object Channel of 2 player side
31 to 39 : Can't show Object Channel of 1 player side
41 to 49 : Can't show Object Channel of 2 player side
51 to 59 : Long note Object Channel of 1 player side
61 to 69 : Long note Object Channel of 2 player side
<Example>
#00211:03030303
This means 4 objects at the left of 1 player side in 002 track.
This object is assigned to wave No.03 which was defined by #WAV03 xxxx.wav.
And this 4 objects are arranged evenly in this track.
Please try the following patterns.
#00211:0303030303
#00211:0303000303
#00211:010101
#00211:00020202
P.S.
#00202:0.5 : Track2 have Half length.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This document and this format is free!
I hope the day will come when my BMS format will use all over the world.
2010-01-26 21:00:30 -06:00
Urao Yane