Eve-ning / reamberPy

Vertical Scrolling Rhythm Game Mapping Toolbox
https://eve-ning.github.io/reamberPy/
MIT License
21 stars 1 forks source link

Add BMS Support #20

Closed Eve-ning closed 3 years ago

Eve-ning commented 3 years ago

Include as many relevant documents/sites as possible to help me decipher the file format https://fileformats.fandom.com/wiki/Be-Music_Script

https://hitkey.nekokan.dyndns.info/cmds.htm

Eve-ning commented 3 years ago

obj: slash bms dls http://slash24th.web.fc2.com/nanidosp.htm

Eve-ning commented 3 years ago

Due to lack of interest in keysounding in competitive VSRG scene in general, keysound conversion will not be supported/negligible.

Eve-ning commented 3 years ago

Writing will also not be supported unless there's high demand.

kadoen commented 3 years ago

Seems like a couple of things break the BMSMap.readFile method:

I attach an example .bme that includes both. Starting BPM is defined as #BPM 175.89, and sample ZZ is called in many measures, starting at #03214 for example - I think BMS emulators just ignore the sample and treat it as a sound-less note.

A day later, I realized ZZ is treated as a special sample, as in #LNOBJ type LNs it usually marks the LN end time... so depending on the LN type it means one thing or another.

Eve-ning commented 3 years ago
  1. Changed BMS to cast BPM as floats (didn't know they could use floats)
  2. Allow conditional gets (sample will be None if sample isn't found)

fixed in branch 0.0.20

Will close this, feel free to open another issue, doing a bit of house keeping on old issues