garcia / simfile

A modern simfile parsing & editing library for Python 3
MIT License
62 stars 7 forks source link

simfile.timing.engine: convert negative BPMs to warps internally #6

Open garcia opened 3 years ago

garcia commented 3 years ago

Related to #5. The timing engine should handle negative BPMs as if they were warps. The best way to do this is almost certainly to convert them to warps internally, rather than trying to design the engine's internal data structures around this archaic hack.

Right now TimingEngine is almost certainly prone to raising exceptions if given negative BPMs (I haven't tested it yet). At minimum, it won't correctly flag negative BPM warp regions as being un-hittable(). As such, this qualifies as a bug, although fixing it will likely constitute a feature release (and thus minor version bump) for #5.