Beatsaber Rust Utilities: A Beatsaber V3 parsing library.
beatsaber beatmap
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Added `bevy_reflect` feature flag.

+679 -4
+531
Cargo.lock
··· 3 3 version = 4 4 4 5 5 [[package]] 6 + name = "assert_type_match" 7 + version = "0.1.1" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" 10 + dependencies = [ 11 + "proc-macro2", 12 + "quote", 13 + "syn", 14 + ] 15 + 16 + [[package]] 17 + name = "autocfg" 18 + version = "1.5.0" 19 + source = "registry+https://github.com/rust-lang/crates.io-index" 20 + checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 21 + 22 + [[package]] 23 + name = "bevy_macro_utils" 24 + version = "0.16.1" 25 + source = "registry+https://github.com/rust-lang/crates.io-index" 26 + checksum = "052eeebcb8e7e072beea5031b227d9a290f8a7fbbb947573ab6ec81df0fb94be" 27 + dependencies = [ 28 + "parking_lot", 29 + "proc-macro2", 30 + "quote", 31 + "syn", 32 + "toml_edit", 33 + ] 34 + 35 + [[package]] 36 + name = "bevy_platform" 37 + version = "0.16.1" 38 + source = "registry+https://github.com/rust-lang/crates.io-index" 39 + checksum = "f7573dc824a1b08b4c93fdbe421c53e1e8188e9ca1dd74a414455fe571facb47" 40 + dependencies = [ 41 + "cfg-if", 42 + "foldhash", 43 + "hashbrown", 44 + "portable-atomic", 45 + "portable-atomic-util", 46 + "serde", 47 + "spin", 48 + ] 49 + 50 + [[package]] 51 + name = "bevy_ptr" 52 + version = "0.16.1" 53 + source = "registry+https://github.com/rust-lang/crates.io-index" 54 + checksum = "df7370d0e46b60e071917711d0860721f5347bc958bf325975ae6913a5dfcf01" 55 + 56 + [[package]] 57 + name = "bevy_reflect" 58 + version = "0.16.1" 59 + source = "registry+https://github.com/rust-lang/crates.io-index" 60 + checksum = "daeb91a63a1a4df00aa58da8cc4ddbd4b9f16ab8bb647c5553eb156ce36fa8c2" 61 + dependencies = [ 62 + "assert_type_match", 63 + "bevy_platform", 64 + "bevy_ptr", 65 + "bevy_reflect_derive", 66 + "bevy_utils", 67 + "derive_more", 68 + "disqualified", 69 + "downcast-rs", 70 + "erased-serde", 71 + "foldhash", 72 + "serde", 73 + "thiserror", 74 + "variadics_please", 75 + ] 76 + 77 + [[package]] 78 + name = "bevy_reflect_derive" 79 + version = "0.16.1" 80 + source = "registry+https://github.com/rust-lang/crates.io-index" 81 + checksum = "40ddadc55fe16b45faaa54ab2f9cb00548013c74812e8b018aa172387103cce6" 82 + dependencies = [ 83 + "bevy_macro_utils", 84 + "proc-macro2", 85 + "quote", 86 + "syn", 87 + "uuid", 88 + ] 89 + 90 + [[package]] 91 + name = "bevy_utils" 92 + version = "0.16.1" 93 + source = "registry+https://github.com/rust-lang/crates.io-index" 94 + checksum = "94f7a8905a125d2017e8561beefb7f2f5e67e93ff6324f072ad87c5fd6ec3b99" 95 + dependencies = [ 96 + "bevy_platform", 97 + ] 98 + 99 + [[package]] 100 + name = "bitflags" 101 + version = "2.9.1" 102 + source = "registry+https://github.com/rust-lang/crates.io-index" 103 + checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" 104 + 105 + [[package]] 6 106 name = "bsru" 7 107 version = "0.1.0" 8 108 dependencies = [ 109 + "bevy_reflect", 9 110 "serde", 10 111 "serde_json", 11 112 "simple-easing", 12 113 ] 13 114 14 115 [[package]] 116 + name = "bumpalo" 117 + version = "3.19.0" 118 + source = "registry+https://github.com/rust-lang/crates.io-index" 119 + checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" 120 + 121 + [[package]] 122 + name = "cfg-if" 123 + version = "1.0.1" 124 + source = "registry+https://github.com/rust-lang/crates.io-index" 125 + checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" 126 + 127 + [[package]] 128 + name = "derive_more" 129 + version = "1.0.0" 130 + source = "registry+https://github.com/rust-lang/crates.io-index" 131 + checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" 132 + dependencies = [ 133 + "derive_more-impl", 134 + ] 135 + 136 + [[package]] 137 + name = "derive_more-impl" 138 + version = "1.0.0" 139 + source = "registry+https://github.com/rust-lang/crates.io-index" 140 + checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" 141 + dependencies = [ 142 + "proc-macro2", 143 + "quote", 144 + "syn", 145 + ] 146 + 147 + [[package]] 148 + name = "disqualified" 149 + version = "1.0.0" 150 + source = "registry+https://github.com/rust-lang/crates.io-index" 151 + checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd" 152 + 153 + [[package]] 154 + name = "downcast-rs" 155 + version = "2.0.1" 156 + source = "registry+https://github.com/rust-lang/crates.io-index" 157 + checksum = "ea8a8b81cacc08888170eef4d13b775126db426d0b348bee9d18c2c1eaf123cf" 158 + 159 + [[package]] 160 + name = "equivalent" 161 + version = "1.0.2" 162 + source = "registry+https://github.com/rust-lang/crates.io-index" 163 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 164 + 165 + [[package]] 166 + name = "erased-serde" 167 + version = "0.4.6" 168 + source = "registry+https://github.com/rust-lang/crates.io-index" 169 + checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" 170 + dependencies = [ 171 + "serde", 172 + "typeid", 173 + ] 174 + 175 + [[package]] 176 + name = "foldhash" 177 + version = "0.1.5" 178 + source = "registry+https://github.com/rust-lang/crates.io-index" 179 + checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 180 + 181 + [[package]] 182 + name = "getrandom" 183 + version = "0.3.3" 184 + source = "registry+https://github.com/rust-lang/crates.io-index" 185 + checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" 186 + dependencies = [ 187 + "cfg-if", 188 + "libc", 189 + "r-efi", 190 + "wasi", 191 + ] 192 + 193 + [[package]] 194 + name = "hashbrown" 195 + version = "0.15.4" 196 + source = "registry+https://github.com/rust-lang/crates.io-index" 197 + checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" 198 + dependencies = [ 199 + "equivalent", 200 + "serde", 201 + ] 202 + 203 + [[package]] 204 + name = "indexmap" 205 + version = "2.10.0" 206 + source = "registry+https://github.com/rust-lang/crates.io-index" 207 + checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" 208 + dependencies = [ 209 + "equivalent", 210 + "hashbrown", 211 + ] 212 + 213 + [[package]] 15 214 name = "itoa" 16 215 version = "1.0.15" 17 216 source = "registry+https://github.com/rust-lang/crates.io-index" 18 217 checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 19 218 20 219 [[package]] 220 + name = "js-sys" 221 + version = "0.3.77" 222 + source = "registry+https://github.com/rust-lang/crates.io-index" 223 + checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 224 + dependencies = [ 225 + "once_cell", 226 + "wasm-bindgen", 227 + ] 228 + 229 + [[package]] 230 + name = "libc" 231 + version = "0.2.174" 232 + source = "registry+https://github.com/rust-lang/crates.io-index" 233 + checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" 234 + 235 + [[package]] 236 + name = "lock_api" 237 + version = "0.4.13" 238 + source = "registry+https://github.com/rust-lang/crates.io-index" 239 + checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" 240 + dependencies = [ 241 + "autocfg", 242 + "scopeguard", 243 + ] 244 + 245 + [[package]] 246 + name = "log" 247 + version = "0.4.27" 248 + source = "registry+https://github.com/rust-lang/crates.io-index" 249 + checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 250 + 251 + [[package]] 21 252 name = "memchr" 22 253 version = "2.7.5" 23 254 source = "registry+https://github.com/rust-lang/crates.io-index" 24 255 checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" 25 256 26 257 [[package]] 258 + name = "once_cell" 259 + version = "1.21.3" 260 + source = "registry+https://github.com/rust-lang/crates.io-index" 261 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 262 + 263 + [[package]] 264 + name = "parking_lot" 265 + version = "0.12.4" 266 + source = "registry+https://github.com/rust-lang/crates.io-index" 267 + checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" 268 + dependencies = [ 269 + "lock_api", 270 + "parking_lot_core", 271 + ] 272 + 273 + [[package]] 274 + name = "parking_lot_core" 275 + version = "0.9.11" 276 + source = "registry+https://github.com/rust-lang/crates.io-index" 277 + checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" 278 + dependencies = [ 279 + "cfg-if", 280 + "libc", 281 + "redox_syscall", 282 + "smallvec", 283 + "windows-targets", 284 + ] 285 + 286 + [[package]] 287 + name = "portable-atomic" 288 + version = "1.11.1" 289 + source = "registry+https://github.com/rust-lang/crates.io-index" 290 + checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" 291 + 292 + [[package]] 293 + name = "portable-atomic-util" 294 + version = "0.2.4" 295 + source = "registry+https://github.com/rust-lang/crates.io-index" 296 + checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" 297 + dependencies = [ 298 + "portable-atomic", 299 + ] 300 + 301 + [[package]] 27 302 name = "proc-macro2" 28 303 version = "1.0.95" 29 304 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 42 317 ] 43 318 44 319 [[package]] 320 + name = "r-efi" 321 + version = "5.3.0" 322 + source = "registry+https://github.com/rust-lang/crates.io-index" 323 + checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 324 + 325 + [[package]] 326 + name = "redox_syscall" 327 + version = "0.5.13" 328 + source = "registry+https://github.com/rust-lang/crates.io-index" 329 + checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" 330 + dependencies = [ 331 + "bitflags", 332 + ] 333 + 334 + [[package]] 335 + name = "rustversion" 336 + version = "1.0.21" 337 + source = "registry+https://github.com/rust-lang/crates.io-index" 338 + checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" 339 + 340 + [[package]] 45 341 name = "ryu" 46 342 version = "1.0.20" 47 343 source = "registry+https://github.com/rust-lang/crates.io-index" 48 344 checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 49 345 50 346 [[package]] 347 + name = "scopeguard" 348 + version = "1.2.0" 349 + source = "registry+https://github.com/rust-lang/crates.io-index" 350 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 351 + 352 + [[package]] 51 353 name = "serde" 52 354 version = "1.0.219" 53 355 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 84 386 version = "1.0.1" 85 387 source = "registry+https://github.com/rust-lang/crates.io-index" 86 388 checksum = "832ddd7df0d98d6fd93b973c330b7c8e0742d5cb8f1afc7dea89dba4d2531aa1" 389 + 390 + [[package]] 391 + name = "smallvec" 392 + version = "1.15.1" 393 + source = "registry+https://github.com/rust-lang/crates.io-index" 394 + checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 395 + 396 + [[package]] 397 + name = "spin" 398 + version = "0.9.8" 399 + source = "registry+https://github.com/rust-lang/crates.io-index" 400 + checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 401 + dependencies = [ 402 + "portable-atomic", 403 + ] 87 404 88 405 [[package]] 89 406 name = "syn" ··· 97 414 ] 98 415 99 416 [[package]] 417 + name = "thiserror" 418 + version = "2.0.12" 419 + source = "registry+https://github.com/rust-lang/crates.io-index" 420 + checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" 421 + dependencies = [ 422 + "thiserror-impl", 423 + ] 424 + 425 + [[package]] 426 + name = "thiserror-impl" 427 + version = "2.0.12" 428 + source = "registry+https://github.com/rust-lang/crates.io-index" 429 + checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" 430 + dependencies = [ 431 + "proc-macro2", 432 + "quote", 433 + "syn", 434 + ] 435 + 436 + [[package]] 437 + name = "toml_datetime" 438 + version = "0.6.11" 439 + source = "registry+https://github.com/rust-lang/crates.io-index" 440 + checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" 441 + 442 + [[package]] 443 + name = "toml_edit" 444 + version = "0.22.27" 445 + source = "registry+https://github.com/rust-lang/crates.io-index" 446 + checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" 447 + dependencies = [ 448 + "indexmap", 449 + "toml_datetime", 450 + "winnow", 451 + ] 452 + 453 + [[package]] 454 + name = "typeid" 455 + version = "1.0.3" 456 + source = "registry+https://github.com/rust-lang/crates.io-index" 457 + checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" 458 + 459 + [[package]] 100 460 name = "unicode-ident" 101 461 version = "1.0.18" 102 462 source = "registry+https://github.com/rust-lang/crates.io-index" 103 463 checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" 464 + 465 + [[package]] 466 + name = "uuid" 467 + version = "1.17.0" 468 + source = "registry+https://github.com/rust-lang/crates.io-index" 469 + checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" 470 + dependencies = [ 471 + "getrandom", 472 + "js-sys", 473 + "wasm-bindgen", 474 + ] 475 + 476 + [[package]] 477 + name = "variadics_please" 478 + version = "1.1.0" 479 + source = "registry+https://github.com/rust-lang/crates.io-index" 480 + checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" 481 + dependencies = [ 482 + "proc-macro2", 483 + "quote", 484 + "syn", 485 + ] 486 + 487 + [[package]] 488 + name = "wasi" 489 + version = "0.14.2+wasi-0.2.4" 490 + source = "registry+https://github.com/rust-lang/crates.io-index" 491 + checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" 492 + dependencies = [ 493 + "wit-bindgen-rt", 494 + ] 495 + 496 + [[package]] 497 + name = "wasm-bindgen" 498 + version = "0.2.100" 499 + source = "registry+https://github.com/rust-lang/crates.io-index" 500 + checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 501 + dependencies = [ 502 + "cfg-if", 503 + "once_cell", 504 + "rustversion", 505 + "wasm-bindgen-macro", 506 + ] 507 + 508 + [[package]] 509 + name = "wasm-bindgen-backend" 510 + version = "0.2.100" 511 + source = "registry+https://github.com/rust-lang/crates.io-index" 512 + checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 513 + dependencies = [ 514 + "bumpalo", 515 + "log", 516 + "proc-macro2", 517 + "quote", 518 + "syn", 519 + "wasm-bindgen-shared", 520 + ] 521 + 522 + [[package]] 523 + name = "wasm-bindgen-macro" 524 + version = "0.2.100" 525 + source = "registry+https://github.com/rust-lang/crates.io-index" 526 + checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 527 + dependencies = [ 528 + "quote", 529 + "wasm-bindgen-macro-support", 530 + ] 531 + 532 + [[package]] 533 + name = "wasm-bindgen-macro-support" 534 + version = "0.2.100" 535 + source = "registry+https://github.com/rust-lang/crates.io-index" 536 + checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 537 + dependencies = [ 538 + "proc-macro2", 539 + "quote", 540 + "syn", 541 + "wasm-bindgen-backend", 542 + "wasm-bindgen-shared", 543 + ] 544 + 545 + [[package]] 546 + name = "wasm-bindgen-shared" 547 + version = "0.2.100" 548 + source = "registry+https://github.com/rust-lang/crates.io-index" 549 + checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 550 + dependencies = [ 551 + "unicode-ident", 552 + ] 553 + 554 + [[package]] 555 + name = "windows-targets" 556 + version = "0.52.6" 557 + source = "registry+https://github.com/rust-lang/crates.io-index" 558 + checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 559 + dependencies = [ 560 + "windows_aarch64_gnullvm", 561 + "windows_aarch64_msvc", 562 + "windows_i686_gnu", 563 + "windows_i686_gnullvm", 564 + "windows_i686_msvc", 565 + "windows_x86_64_gnu", 566 + "windows_x86_64_gnullvm", 567 + "windows_x86_64_msvc", 568 + ] 569 + 570 + [[package]] 571 + name = "windows_aarch64_gnullvm" 572 + version = "0.52.6" 573 + source = "registry+https://github.com/rust-lang/crates.io-index" 574 + checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 575 + 576 + [[package]] 577 + name = "windows_aarch64_msvc" 578 + version = "0.52.6" 579 + source = "registry+https://github.com/rust-lang/crates.io-index" 580 + checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 581 + 582 + [[package]] 583 + name = "windows_i686_gnu" 584 + version = "0.52.6" 585 + source = "registry+https://github.com/rust-lang/crates.io-index" 586 + checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 587 + 588 + [[package]] 589 + name = "windows_i686_gnullvm" 590 + version = "0.52.6" 591 + source = "registry+https://github.com/rust-lang/crates.io-index" 592 + checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 593 + 594 + [[package]] 595 + name = "windows_i686_msvc" 596 + version = "0.52.6" 597 + source = "registry+https://github.com/rust-lang/crates.io-index" 598 + checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 599 + 600 + [[package]] 601 + name = "windows_x86_64_gnu" 602 + version = "0.52.6" 603 + source = "registry+https://github.com/rust-lang/crates.io-index" 604 + checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 605 + 606 + [[package]] 607 + name = "windows_x86_64_gnullvm" 608 + version = "0.52.6" 609 + source = "registry+https://github.com/rust-lang/crates.io-index" 610 + checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 611 + 612 + [[package]] 613 + name = "windows_x86_64_msvc" 614 + version = "0.52.6" 615 + source = "registry+https://github.com/rust-lang/crates.io-index" 616 + checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 617 + 618 + [[package]] 619 + name = "winnow" 620 + version = "0.7.11" 621 + source = "registry+https://github.com/rust-lang/crates.io-index" 622 + checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" 623 + dependencies = [ 624 + "memchr", 625 + ] 626 + 627 + [[package]] 628 + name = "wit-bindgen-rt" 629 + version = "0.39.0" 630 + source = "registry+https://github.com/rust-lang/crates.io-index" 631 + checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" 632 + dependencies = [ 633 + "bitflags", 634 + ]
+4
Cargo.toml
··· 3 3 version = "0.1.0" 4 4 edition = "2024" 5 5 6 + [features] 7 + bevy_reflect = ["dep:bevy_reflect"] 8 + 6 9 [dependencies] 10 + bevy_reflect = { version = "0.16.1", optional = true, default-features = false } 7 11 serde = { version = "1.0.219", features = ["derive"] } 8 12 serde_json = "1.0.140" 9 13 simple-easing = "1.0.1"
+5
src/difficulty.rs
··· 12 12 13 13 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 14 14 #[serde(rename_all = "camelCase")] 15 + #[cfg_attr( 16 + feature = "bevy_reflect", 17 + derive(bevy_reflect::Reflect), 18 + reflect(Debug, Clone, PartialEq) 19 + )] 15 20 pub struct Difficulty { 16 21 pub version: String, 17 22 pub bpm_events: Vec<BpmEvent>,
+10
src/difficulty/gameplay_event.rs
··· 2 2 use serde::{Deserialize, Serialize}; 3 3 4 4 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 5 + #[cfg_attr( 6 + feature = "bevy_reflect", 7 + derive(bevy_reflect::Reflect), 8 + reflect(Debug, Clone, PartialEq) 9 + )] 5 10 pub struct LaneRotationEvent { 6 11 #[serde(rename = "b")] 7 12 pub beat: f32, ··· 14 19 impl_timed!(LaneRotationEvent::beat); 15 20 16 21 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 22 + #[cfg_attr( 23 + feature = "bevy_reflect", 24 + derive(bevy_reflect::Reflect), 25 + reflect(Debug, Clone, PartialEq) 26 + )] 17 27 pub struct BpmEvent { 18 28 #[serde(rename = "b")] 19 29 pub beat: f32,
+25
src/difficulty/lightshow/basic.rs
··· 3 3 use serde::{Deserialize, Serialize}; 4 4 5 5 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 6 + #[cfg_attr( 7 + feature = "bevy_reflect", 8 + derive(bevy_reflect::Reflect), 9 + reflect(Debug, Clone, PartialEq) 10 + )] 6 11 pub struct BasicEvent { 7 12 #[serde(rename = "b")] 8 13 pub beat: f32, ··· 18 23 impl_timed!(BasicEvent::beat); 19 24 20 25 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 26 + #[cfg_attr( 27 + feature = "bevy_reflect", 28 + derive(bevy_reflect::Reflect), 29 + reflect(Debug, Clone, PartialEq) 30 + )] 21 31 pub struct Waypoint { 22 32 #[serde(rename = "b")] 23 33 pub beat: f32, ··· 32 42 impl_timed!(Waypoint::beat); 33 43 34 44 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 45 + #[cfg_attr( 46 + feature = "bevy_reflect", 47 + derive(bevy_reflect::Reflect), 48 + reflect(Debug, Clone, PartialEq) 49 + )] 35 50 pub struct ColorBoostEvent { 36 51 #[serde(rename = "b")] 37 52 pub beat: f32, ··· 45 60 /// More info [here](https://bsmg.wiki/mapping/map-format/lightshow.html#special-event-keywords). 46 61 #[doc(alias = "KeywordEvent")] 47 62 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 63 + #[cfg_attr( 64 + feature = "bevy_reflect", 65 + derive(bevy_reflect::Reflect), 66 + reflect(Debug, Clone, PartialEq) 67 + )] 48 68 pub struct SpecialEvent { 49 69 #[serde(rename = "d")] 50 70 pub keywords: Option<Vec<Keyword>>, ··· 53 73 /// Allows basic event lanes to be overridden with environment-specific behaviour, using secret keys. 54 74 /// More info [here](https://bsmg.wiki/mapping/map-format/lightshow.html#special-event-keywords). 55 75 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 76 + #[cfg_attr( 77 + feature = "bevy_reflect", 78 + derive(bevy_reflect::Reflect), 79 + reflect(Debug, Clone, PartialEq) 80 + )] 56 81 pub struct Keyword { 57 82 #[serde(rename = "k")] 58 83 pub keyword: String,
+15
src/difficulty/lightshow/color.rs
··· 6 6 use serde::{Deserialize, Serialize}; 7 7 8 8 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 9 + #[cfg_attr( 10 + feature = "bevy_reflect", 11 + derive(bevy_reflect::Reflect), 12 + reflect(Debug, Clone, PartialEq) 13 + )] 9 14 pub struct ColorEventBox { 10 15 #[serde(rename = "b")] 11 16 pub beat: f32, ··· 18 23 impl_timed!(ColorEventBox::beat); 19 24 20 25 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 26 + #[cfg_attr( 27 + feature = "bevy_reflect", 28 + derive(bevy_reflect::Reflect), 29 + reflect(Debug, Clone, PartialEq) 30 + )] 21 31 pub struct ColorEventGroup { 22 32 #[serde(rename = "f")] 23 33 pub filter: Filter, ··· 54 64 } 55 65 56 66 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 67 + #[cfg_attr( 68 + feature = "bevy_reflect", 69 + derive(bevy_reflect::Reflect), 70 + reflect(Debug, Clone, PartialEq) 71 + )] 57 72 pub struct ColorEventData { 58 73 #[serde(rename = "b")] 59 74 pub beat_offset: f32,
+5
src/difficulty/lightshow/filter.rs
··· 4 4 5 5 /// Controls which light indices are affected by event boxes. 6 6 #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] 7 + #[cfg_attr( 8 + feature = "bevy_reflect", 9 + derive(bevy_reflect::Reflect), 10 + reflect(Debug, Clone, PartialEq) 11 + )] 7 12 pub struct Filter { 8 13 // V3.0: 9 14 #[serde(rename = "f")]
+15
src/difficulty/lightshow/rotation.rs
··· 6 6 use serde::{Deserialize, Serialize}; 7 7 8 8 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 9 + #[cfg_attr( 10 + feature = "bevy_reflect", 11 + derive(bevy_reflect::Reflect), 12 + reflect(Debug, Clone, PartialEq) 13 + )] 9 14 pub struct RotationEventBox { 10 15 #[serde(rename = "b")] 11 16 pub beat: f32, ··· 18 23 impl_timed!(RotationEventBox::beat); 19 24 20 25 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 26 + #[cfg_attr( 27 + feature = "bevy_reflect", 28 + derive(bevy_reflect::Reflect), 29 + reflect(Debug, Clone, PartialEq) 30 + )] 21 31 pub struct RotationEventGroup { 22 32 #[serde(rename = "f")] 23 33 pub filter: Filter, ··· 58 68 } 59 69 60 70 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 71 + #[cfg_attr( 72 + feature = "bevy_reflect", 73 + derive(bevy_reflect::Reflect), 74 + reflect(Debug, Clone, PartialEq) 75 + )] 61 76 pub struct RotationEventData { 62 77 #[serde(rename = "b")] 63 78 pub beat_offset: f32,
+15
src/difficulty/lightshow/translation.rs
··· 6 6 use serde::{Deserialize, Serialize}; 7 7 8 8 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 9 + #[cfg_attr( 10 + feature = "bevy_reflect", 11 + derive(bevy_reflect::Reflect), 12 + reflect(Debug, Clone, PartialEq) 13 + )] 9 14 pub struct TranslationEventBox { 10 15 #[serde(rename = "b")] 11 16 pub beat: f32, ··· 18 23 impl_timed!(TranslationEventBox::beat); 19 24 20 25 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 26 + #[cfg_attr( 27 + feature = "bevy_reflect", 28 + derive(bevy_reflect::Reflect), 29 + reflect(Debug, Clone, PartialEq) 30 + )] 21 31 pub struct TranslationEventGroup { 22 32 #[serde(rename = "f")] 23 33 pub filter: Filter, ··· 57 67 } 58 68 59 69 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 70 + #[cfg_attr( 71 + feature = "bevy_reflect", 72 + derive(bevy_reflect::Reflect), 73 + reflect(Debug, Clone, PartialEq) 74 + )] 60 75 pub struct TranslationEventData { 61 76 #[serde(rename = "b")] 62 77 pub beat_offset: f32,
+25
src/difficulty/playfield.rs
··· 2 2 use serde::{Deserialize, Serialize}; 3 3 4 4 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 5 + #[cfg_attr( 6 + feature = "bevy_reflect", 7 + derive(bevy_reflect::Reflect), 8 + reflect(Debug, Clone, PartialEq) 9 + )] 5 10 pub struct Note { 6 11 #[serde(rename = "b")] 7 12 pub beat: f32, ··· 64 69 } 65 70 66 71 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 72 + #[cfg_attr( 73 + feature = "bevy_reflect", 74 + derive(bevy_reflect::Reflect), 75 + reflect(Debug, Clone, PartialEq) 76 + )] 67 77 pub struct Bomb { 68 78 #[serde(rename = "b")] 69 79 pub beat: f32, ··· 76 86 impl_timed!(Bomb::beat); 77 87 78 88 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 89 + #[cfg_attr( 90 + feature = "bevy_reflect", 91 + derive(bevy_reflect::Reflect), 92 + reflect(Debug, Clone, PartialEq) 93 + )] 79 94 pub struct Wall { 80 95 #[serde(rename = "b")] 81 96 pub beat: f32, ··· 94 109 impl_duration!(Wall::beat, duration: duration); 95 110 96 111 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 112 + #[cfg_attr( 113 + feature = "bevy_reflect", 114 + derive(bevy_reflect::Reflect), 115 + reflect(Debug, Clone, PartialEq) 116 + )] 97 117 pub struct Arc { 98 118 #[serde(rename = "b")] 99 119 pub beat: f32, ··· 136 156 } 137 157 138 158 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 159 + #[cfg_attr( 160 + feature = "bevy_reflect", 161 + derive(bevy_reflect::Reflect), 162 + reflect(Debug, Clone, PartialEq) 163 + )] 139 164 pub struct Chain { 140 165 #[serde(rename = "b")] 141 166 pub beat: f32,
+19 -4
src/info.rs
··· 1 1 use crate::loose_enum; 2 2 use serde::{Deserialize, Serialize}; 3 - use serde_json::Value; 4 3 5 4 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 5 + #[cfg_attr( 6 + feature = "bevy_reflect", 7 + derive(bevy_reflect::Reflect), 8 + reflect(Debug, Clone, PartialEq) 9 + )] 6 10 pub struct Beatmap { 7 11 #[serde(rename = "_version")] 8 12 pub version: String, ··· 37 41 /// Only present in info file V2.1 or higher. 38 42 #[serde(rename = "_environmentNames")] 39 43 pub environments: Option<Vec<Environment>>, 40 - #[serde(rename = "_colorSchemes")] 41 - /// Only present in info file V2.1 or higher. 42 - pub color_schemes: Option<Vec<Value>>, // Todo 44 + // Todo 45 + // #[serde(rename = "_colorSchemes")] 46 + // /// Only present in info file V2.1 or higher. 47 + // pub color_schemes: Option<Vec<Value>>, 43 48 #[serde(rename = "_difficultyBeatmapSets")] 44 49 pub difficulty_sets: Vec<DifficultySet>, 45 50 } ··· 107 112 } 108 113 109 114 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 115 + #[cfg_attr( 116 + feature = "bevy_reflect", 117 + derive(bevy_reflect::Reflect), 118 + reflect(Debug, Clone, PartialEq) 119 + )] 110 120 pub struct DifficultySet { 111 121 #[serde(rename = "_beatmapCharacteristicName")] 112 122 pub characteristic: Characteristic, ··· 131 141 } 132 142 133 143 #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 144 + #[cfg_attr( 145 + feature = "bevy_reflect", 146 + derive(bevy_reflect::Reflect), 147 + reflect(Debug, Clone, PartialEq) 148 + )] 134 149 pub struct DifficultyInfo { 135 150 #[serde(rename = "_difficulty")] 136 151 pub name: String,
+10
src/utils.rs
··· 12 12 } 13 13 ) => { 14 14 #[derive(Debug, Clone, Eq, PartialEq)] 15 + #[cfg_attr( 16 + feature = "bevy_reflect", 17 + derive(bevy_reflect::Reflect), 18 + reflect(Debug, Clone, PartialEq) 19 + )] 15 20 $(#[$outer])* 16 21 pub enum $name { 17 22 $( ··· 76 81 } 77 82 ) => { 78 83 #[derive(Debug, Clone, Eq, PartialEq)] 84 + #[cfg_attr( 85 + feature = "bevy_reflect", 86 + derive(bevy_reflect::Reflect), 87 + reflect(Debug, Clone, PartialEq) 88 + )] 79 89 $(#[$outer])* 80 90 pub enum $name { 81 91 $(