Simon Bruder
240257197a
ddr::ssq::Row: Test negative intersection results
2020-07-23 12:53:40 +02:00
Simon Bruder
7700e511f9
ddr::ssq::Row: Return error on invalid player count
2020-07-23 12:37:29 +02:00
Simon Bruder
36d3b5b6bf
Test internal functionality of ddr::ssq
2020-07-05 09:28:38 +02:00
Simon Bruder
19eebdc345
Implement Deref for newtypes
2020-07-04 23:17:17 +02:00
Simon Bruder
d0d33de51e
Store time as u32
2020-06-30 12:48:47 +02:00
Simon Bruder
7e76a21609
Fix read_n_i32 function name
2020-06-30 12:21:11 +02:00
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
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
e7e4a85d70
Add tests for ssq::{Row, PlayerRow}
2020-06-26 23:48:53 +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
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
8319ee42d9
Initial commit
2020-06-22 20:39:20 +02:00