Commit graph

28 commits

Author SHA1 Message Date
Simon Bruder d8af20a703
Fix difficulty mapping 2020-06-30 09:53:33 +02:00
Simon Bruder b49425751e
Add musicdb support to ddr2osu 2020-06-30 09:37:27 +02:00
Simon Bruder dc02995496
Move reading musicdb to own function 2020-06-30 08:31:07 +02:00
Simon Bruder 63d75fd6b6
Implement support for musicdb 2020-06-28 20:22:31 +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 e64ae362ef
Add unarc mode 2020-06-27 17:15:37 +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 e7e4a85d70
Add tests for ssq::{Row, PlayerRow} 2020-06-26 23:48:53 +02:00
Simon Bruder 7bbc416ac6
Add tests for part of utils 2020-06-26 23:48:34 +02:00
Simon Bruder 4f6c971ec7
Fix difficulty names
Expert ↔ Challenge
2020-06-26 21:21:38 +02:00
Simon Bruder b7f60302ee
Implement freeze 2020-06-26 21:16:09 +02:00
Simon Bruder dc27f999c5
Implement Display for ddr::ssq::Row
This makes debugging easier
2020-06-26 21:11:45 +02:00
Simon Bruder 60b74c7e97
Move join_display_values to utils 2020-06-26 21:10:51 +02:00
Simon Bruder 00b8c54022
Add context to errors 2020-06-26 13:44:11 +02:00
Simon Bruder 7d7fe618f0
Do not use log for errors 2020-06-26 13:43:54 +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 2b0b66ddca
Use unwrap() for writing to cursor
Writing to cursors should never fail
2020-06-25 18:47:11 +02:00
Simon Bruder 8c8f954bbe
Use Option instead of Result where applicable 2020-06-25 13:25:47 +02:00
Simon Bruder e921a150e1
Add error handling for unsupported audio formats 2020-06-25 00:04:10 +02:00
Simon Bruder 8afe245e05
Deduplicate unxwb code 2020-06-24 17:38:46 +02:00
Simon Bruder 7dbb8c1e62
Use std::fs::{read, write} for file operations 2020-06-24 17:20:38 +02:00
Simon Bruder 0c24fd0847
Better handling of anonymous sounds in wave banks 2020-06-23 20:16:51 +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 8556a4390f
Try to use second sound if sound not found
In wave banks with two entries the second sound should be the full song.
2020-06-23 14:34:49 +02:00
Simon Bruder a1ba24bc87
xact3::xwb: Number sounds when no names are found
This is a workaround as in the long run names should be read from the
corresponding sound bank.
2020-06-23 14:32:00 +02:00
Simon Bruder dbc42a4083
xact3::xwb: Log segment lengths for debugging 2020-06-23 13:19:19 +02:00
Simon Bruder 8319ee42d9
Initial commit 2020-06-22 20:39:20 +02:00