Commit Graph

13 Commits (73dea88f7d7a9df8c275c0f21e755b152e64adf3)

Author SHA1 Message Date
Simon Bruder 73dea88f7d
Refactor osu beatmap
It now uses the builder pattern and has tests and some documentation.
2020-08-07 12:37:57 +02:00
Simon Bruder f1d460cffe
ddr::ssq::Difficulty: Refactor and rename to Level
* New name reflects contents better
 * Uses explicit functions instead of Into for only converting the
   difficulty
 * Uses errors instead of defaults for invalid values
 * Difficulty mapping is separate function
 * Simplified tests
2020-07-23 15:36:22 +02:00
Simon Bruder 19eebdc345
Implement Deref for newtypes 2020-07-04 23:17:17 +02:00
Simon Bruder 0ea4a20326
Avoid match for error handling where it makes sense 2020-07-04 20:53:21 +02:00
Simon Bruder d0d33de51e
Store time as u32 2020-06-30 12:48:47 +02:00
Simon Bruder b49425751e
Add musicdb support to ddr2osu 2020-06-30 09:37:27 +02:00
Simon Bruder 56d36f2732
Avoid truncation
Error where truncation can occurr and prevent truncation in the future
by using `type::from()` (which checks for truncation) instead of `as
type` (which doesn’t).
2020-06-27 19:43:50 +02:00
Simon Bruder bfd8ee75ed
Lower default osu hp drain
DDR stepcharts are harder due to how they are played. That means that a
hard DDR chart will have much less notes than a hard mania chart. Since
osu does not know that, giving it a (mania typical) hp drain will be
extremely hard with a DDR chart.
2020-06-27 10:59:53 +02:00
Simon Bruder e3715c775b
Use same hitsound for holds and notes 2020-06-27 10:59:26 +02:00
Simon Bruder 5a77d86fe7
Switch from nom to custom parser
The reason for the switch is mostly related to error handling (and me
being unable to unterstand how nom does it). Using byteorder and a few
handwritten helper functions for parsing makes error handling much
easier. It also allows me to return more helpful error messages.
2020-06-26 13:25:21 +02:00
Simon Bruder 8c8f954bbe
Use Option instead of Result where applicable 2020-06-25 13:25:47 +02:00
Simon Bruder 3dc24d58b5
Remove offset option
All tested charts do not have an offset. The former offset
implementation (which was not working) just cancelled out at charts with
a specific bpm value.
2020-06-23 17:31:03 +02:00
Simon Bruder 8319ee42d9
Initial commit 2020-06-22 20:39:20 +02:00