ruv-it! | the desire of the muse
internet ranking | download | manual ir_guide faq | skin_extension bms_extension | links
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
으로 정의할 경우, 마디 안은 둘로 분할됩니다.
#001
FFAA
만큼이 롱노트로 이어지게 됩니다.

#00153:FFAAFFAA00000000
의 경우에는 동일하게 표시되는 것이 아니라 8개의 소절로 분할된 두개의 롱노트가 마디 안에 표시되게 됩니다.
#001
FFAA FFAA 0000 0000

#00153:01
#00253:AA

한 마디 전체를 차지하는 긴 롱노트가 됩니다.
#001 #002
01 AA (NOT BE PLAYED)

#00153:02
#00353:00FZ

#001 #002 #003
02 00 00FZ
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
#001
FFAA
만큼이 롱노트로 이어지게 됩니다.

#LNOBJ AA
#00113:FFFFAAFFAAFF000000

#001
FF FFAA FFAA FF00 0000
일반 노트와 롱노트가 섞인 구성입니다.
MGQ TYPE
최초로 제안된, RDM 1.2 이하에서 사용했다는 이유 때문에 지원하고 있습니다.
다른 BMS 플레이어들에서는 대부분 지원하지 않으므로, 가급적 사용하지 말아주시기 바랍니다.
헤더에 #LNTYPE 2를 기술합니다.
롱노트는 00 외의 노트가 연속해 쓰여지는 경우 계속 이어지다, 00이 출현한 시점에서 끊어진다.
전 마디의 끝이 00이 아니고, 마디의 처음이 00이 아닌 경우에는 마디에 걸쳐서 길게 이어진다.
롱노트를 정의할 때 그 하나의 길이는 정의한 노트 분할 수로 마디를 분할한 길이가 된다.
롱노트를 위해 정의되어 있는 채널 번호는 1P/5x, 2P/6x입니다.
#00153:FF00
#001
FF00

#00253:FFFF0000
#002
FFFF 0000
  

#00153:FF00FF0000000000
#001
FF00 FF00 0000 0000

©2001-2010. ruminity.
rhythm-it ; coded by nvu. / graphics by LDE, SHK. | ruv-it! ; coded by nvu. / graphics by nt02.
since May. 5. 2001.