b m s / b m e e x t e n s i o n
Not Supported
/ 유니코드 대응
/ WAV
/ BMP
/ BPM
/ EXRANK, DEFEXRANK
/ Long Note
미대응 명령
BM98 - #EXTCHR / #VOLWAV / #xxx06 - FREEZONE / #MIDIFILE
BM98 beta - #xxx05
bemaniaDX - #VIDEOF/S, #VIDEOCOLORS, #VIDEODLY, #MAKER, #STP
DDR - #CDDA, #BACKBMP
MacBeat - #WAVCMD
nanasi-groove - #EXBPM, #OCT/FP, #OPTION, #EXWAV, #@BGA, #POORBGA, #SWBGA, #BANNER, #ARGB, #ELSE, #ENDRANDOM, #SWITCH, #SETSWITCH, #ENDSW, #CASE, #SKIP, #DEF
- 미대응 BMS 명령에 관한 자세한 설명은 여기에서 확인하실 수 있습니다.
유니코드 대응 (ruv-it! 2.0b2)
- BOM이 포함되어 있는 경우 BOM에 기록되어 있는 설정대로 텍스트 포맷을 읽어들입니다. (UTF-8/UTF-16LE/UTF-16BE 지원)
- BOM(Byte Order Mark)가 포함되어 있지 않은 경우 DBCS LeadByte 빈도에 따라 EUC-KR/Shift-JIS 코드 중 하나를 판별해 적용시킵니다.
물론 두 언어 코드의 코드 영역이 겹치기도 해서 잘못된 결과를 도출할 경우도 있습니다만, 어쩔 수 없....는 부분으로 해두겠습니다.
- 애석하게도 이러한 처리로 인해서 기타 언어 BMS 들의 CHARSET이 무시되는 문제가 생기게 되었습니다만
이러한 언어들의 경우에는 #CHARSET을 추가하는 것보다 유니코드 형식으로 저장해주시면 감사하겠습니다.
궁극적으로는 가급적 새롭게 만들어지는 BMS들은 UTF-8 포맷으로 저장되었으면, 하는 것이 개인적인 바램이긴 한데 어떻게 받아들여질지 모르겠네요.
WAV 확장 (#WAVxx / nazobmplay)
- 00~FZ까지의 575개의 WAV 파일을 사용할 수 있던 규격을 변경하여, 00~ZZ(1295개)까지 WAV할당이 가능하도록 변경하였습니다.
BMP 확장 (#BGAxx / nazobmplay)
- 00~FF까지의 256개의 BMP 파일을 사용할 수 있던 것에서, 00~ZZ(1295개)까지 BGA BMP 할당이 가능하도록 변경하였습니다.
RANK 확장 (#EXRANKxx, #DEFEXRANK / nanasi-groove)
- rub-y! 2.0 beta 3부터 지원됩니다.
#DEFEXRANK xxx.xx
판정 난이도를 #RANK보다 세밀하게 조정합니다.
xxx.xx에 넣는 값으로 #RANK가 NORMAL일 때에 대비한 판정폭을 기입합니다.
#RANK와 함께 지정된 경우에는 나중에 지정된 정의가 적용됩니다.
#RANK에 따라 설정되는 #EXRANK 난이도는 nanasi-groove와는 차이가 있습니다.
#EXRANKxx yyy.yyy
xx : 01~ZZ
yyy.yyy : #RANK가 NORMAL일 때에 대비한 판정폭을 기입합니다.
플레이 중에 판정난이도를 변경할 경우에 사용합니다.
변경 채널은 A0입니다.
확장BGA (#BGAxx / BM98de)
- BM98 de beta 버전에서 제안된 신규규격.
BGA를 스크롤해야할 때, 기존의 방식에서는 BMP 파일 여러개를 직접 조작해줘야만 했습니다.
그래서 큰 BMP 파일을 띄워두고 그 BMP 파일의 특정 영역만 화면에 찍는 것과 같은 기법을
사용하고 싶은 분들을 위해 지원되기 시작한 기능입니다.
형식은 다음과 같습니다.
#BGAxx dd x1 y1 x2 y2 dx dy
- xx / BMP 관련 채널(#xxx04, #xxx06, #xxx07)에서 사용할 BGA 번호입니다. (00-초기 MISS 스크린용 / 00~ZZ까지 1296개)
- dd / #BMP에서 로드한 서피스 번호입니다. (00~ZZ까지 256개)
- x1, y1, x2, y2 / 지정할 BGA 영역.
256x256보다 넓은 영역이 지정되면 256x256크기에 맞게 조정됩니다.
또 음수가 좌표에 지정되면 음수 좌표는 0, 0으로 무시됩니다.
x2, y2는 실제 BMP 좌표+1의 값을 갖게 되므로 주의해주세요.
- dx, dy / 출력될 BGA 위치.
음수 좌표인 경우 BGA의 왼편이 잘리게 되겠지요.
확장BPM (#BPMxx, #xxx08 / bemaniaDX, 1.3)
- 변속 BPM의 곡을 만드는 크리에이터라면, 기존의 BMS 규격의 BPM 변경 부분에 대해 아쉬운 부분도 있으셨으리라 생각합니다.
가능한 최대BPM이 255라는 것, 소수점 이하 단위는 지원하지 않는다는 것입니다.
- bemaniaDX에서 처음 제안된 #BPMxx 명령은 그러한 문제를 해결하기 위한 꽤 합리적인 제안으로 여겨졌고, 그에 따라 RDM1.3부터 확장BPM명령을 지원하고 있습니다.
- #BPM01 265.2
#01208:01
- BPM 부에 선언된 채널에 따라 BPM변경이 이루어집니다. 12번째 마디 도중에서 BPM을 265.2로 변경합니다.
롱노트 (#xxx5x, #xxx6x / MGQ, rhythm-it 1.0), (#LNOBJ / rhythm-it 1.61)
RDM TYPE (LNTYPE 1)
- MGQ의 방식은 롱노트 BMS를 작성하기가 상당히 번거롭다는 단점이 있습니다.
리듬잇 1.3부터 정식지원되기 시작한 RDM 타입의 롱노트 형식은 좀더 편하게 작성할 수 있도록 개선된 포맷입니다.
RDM이 제안하고 있는 포맷은 다음과 같습니다.
- 롱노트는 노트 XX가 지정된 시점에서 시작되어,
00 외의 노트가 출현하는 지점에서 끊어진다.
롱노트를 위해 정의되어 있는 채널 번호는 1P/5x, 2P/6x입니다.
MGQ 형식과의 호환을 위해, 헤더에 #LNTYPE 1을 기술합니다.
(1.7부터는 필요 없으나, 구 버전에서도 읽을 수 있게 하기 원한다면 기술합니다)
- #00153:FFAA
-
으로 정의할 경우, 마디 안은 둘로 분할됩니다.
만큼이 롱노트로 이어지게 됩니다.
- #00153:FFAAFFAA00000000
-
의 경우에는 동일하게 표시되는 것이 아니라 8개의 소절로 분할된 두개의 롱노트가 마디 안에 표시되게 됩니다.
-
#00153:01
#00253:AA
- 한 마디 전체를 차지하는 긴 롱노트가 됩니다.
#001 |
#002 |
|
|
01 |
AA (NOT BE PLAYED) |
-
#00153:02
#00353:00FZ
-
#001 |
#002 |
#003 |
| | |
02 |
00 |
00 | FZ |
02 |
두마디 반에 걸쳐 이어지는 긴 롱노트가 됩니다.
BMS CREATOR를 이용하는 유저라도 쉽게 사용할 수 있습니다.
RDM TYPE 2 (#LNOBJ)
- BMSCREATOR만으로 끝낼 수 있도록 한 더 쉬운 방법.
rhythm-it 1.61x부터 사용되고 있습니다.
- #LNOBJ의 명령으로 지정된 노트가 발견된 경우, 그 앞 노트부터 지정된 노트까지
롱노트로 처리합니다.
오브젝트 지정을 위해 헤더에 #LNOBJ xx 를 기술합니다.
#LNTYPE 헤더는 사용되지 않습니다.
LNOBJ에 지정된 노트의 WAV는 BGM으로 재생됩니다.
기존의 BMS 플레이어에서는 의도되지 않은 보면이 나오므로, 확장자를 BML로 맞춰주시길 권장합니다.
- #LNOBJ AA
#00113:FFAA
-
만큼이 롱노트로 이어지게 됩니다.
- #LNOBJ AA
#00113:FFFFAAFFAAFF000000
#001 |
|
FF |
FF | AA |
FF | AA |
FF | 00 |
00 | 00 |
일반 노트와 롱노트가 섞인 구성입니다.
MGQ TYPE
- 최초로 제안된, RDM 1.2 이하에서 사용했다는 이유 때문에 지원하고 있습니다.
다른 BMS 플레이어들에서는 대부분 지원하지 않으므로, 가급적 사용하지 말아주시기 바랍니다.
헤더에 #LNTYPE 2를 기술합니다.
- 롱노트는 00 외의 노트가 연속해 쓰여지는 경우 계속 이어지다, 00이 출현한 시점에서 끊어진다.
전 마디의 끝이 00이 아니고, 마디의 처음이 00이 아닌 경우에는 마디에 걸쳐서 길게 이어진다.
롱노트를 정의할 때 그 하나의 길이는 정의한 노트 분할 수로 마디를 분할한 길이가 된다.
롱노트를 위해 정의되어 있는 채널 번호는 1P/5x, 2P/6x입니다.
- #00153:FF00
-
- #00253:FFFF0000
-
- #00153:FF00FF0000000000
-
©2001-2010. ruminity.
rhythm-it ; coded by nvu. / graphics by LDE, SHK. | ruv-it! ; coded by nvu. / graphics by nt02.
since May. 5. 2001.
|