# osu++ osu client written in c++ using sfml ## building ``` make ./target/osu++ ``` there's also a flake with a shell and package - if you know nix you know what to do with those ## dev `nix develop` if you're cool and use nix otherwise check `nix/shell.nix` for an up-to-date list of dependencies if you want to debug the macros (good luck keeping your sanity) run `make pp` to preprocess and format the files (output in preprocessed/) ## TODO - parser generator: - [ ] handle section-lists (e.g. TimingPoints or HitObjects) - [ ] learn and parse sliders - [ ] rename macros to look better (CONFIG -> PARSE, etc.) - [ ] get rid of STREAM_STRUCT_OPS - make the STRUCT and CONFIG macros generate stream ops themselves - [ ] numbered lists and colors - [ ] extract into standalone library with both native c and c++ support (?) ## license agpl3