diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2023-07-21 19:26:48 -0700 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2023-07-21 19:26:48 -0700 |
| commit | 6509824682ca126e58ffe8ebcc5f0eed1d832a6b (patch) | |
| tree | b46776f19146030f5c1670af5497c03f487eaf87 | |
| parent | cf5c2686d101d6c075020edb1ea8b82320e970d9 (diff) | |
| download | stallman-shooter-6509824682ca126e58ffe8ebcc5f0eed1d832a6b.tar.zst | |
Bring dependencies up to date, and use nix flakes.
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | Cargo.lock | 118 | ||||
| -rw-r--r-- | Cargo.nix | 153 | ||||
| -rw-r--r-- | Cargo.toml | 6 | ||||
| -rw-r--r-- | crates-io.nix | 1115 | ||||
| -rw-r--r-- | default.nix | 5 | ||||
| -rw-r--r-- | flake.lock | 25 | ||||
| -rw-r--r-- | flake.nix | 28 | ||||
| -rw-r--r-- | src/main.rs | 196 |
9 files changed, 314 insertions, 1334 deletions
@@ -1,5 +1,3 @@ /target/ **/*.rs.bk result -Cargo.lock -bullet_hell.nix diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..3f203e5 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,118 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "sdl2" +version = "0.35.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7959277b623f1fb9e04aea73686c3ca52f01b2145f8ea16f4ff30d8b7623b1a" +dependencies = [ + "bitflags", + "lazy_static", + "libc", + "sdl2-sys", +] + +[[package]] +name = "sdl2-sys" +version = "0.35.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3586be2cf6c0a8099a79a12b4084357aa9b3e0b0d7980e3b67aaf7a9d55f9f0" +dependencies = [ + "cfg-if", + "libc", + "version-compare", +] + +[[package]] +name = "stallman-shooter" +version = "1.0.0" +dependencies = [ + "rand", + "sdl2", + "sdl2-sys", +] + +[[package]] +name = "version-compare" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" diff --git a/Cargo.nix b/Cargo.nix deleted file mode 100644 index df855cb..0000000 --- a/Cargo.nix +++ /dev/null @@ -1,153 +0,0 @@ -# Generated by carnix 0.9.8: carnix generate-nix --standalone --src ./. -with import <nixpkgs> {}; -with buildRustCrateHelpers; -let inherit (lib.lists) fold; - inherit (lib.attrsets) recursiveUpdate; - cratesIO = (callPackage ./crates-io.nix { }); -in -rec { - crates = cratesIO // rec { -# stallman-shooter-1.0.0 - - crates.stallman_shooter."1.0.0" = deps: { features?(features_.stallman_shooter."1.0.0" deps {}) }: buildRustCrate { - crateName = "stallman-shooter"; - version = "1.0.0"; - authors = [ "Raymond Hogenson <rhogenson@posteo.net>" ]; - src = exclude [ ".git" "target" ] ./.; - dependencies = mapFeatures features ([ - (cratesIO.crates."rand"."${deps."stallman_shooter"."1.0.0"."rand"}" deps) - (cratesIO.crates."sdl2"."${deps."stallman_shooter"."1.0.0"."sdl2"}" deps) - (cratesIO.crates."sdl2_sys"."${deps."stallman_shooter"."1.0.0"."sdl2_sys"}" deps) - ]); - }; - features_.stallman_shooter."1.0.0" = deps: f: updateFeatures f (rec { - rand."${deps.stallman_shooter."1.0.0".rand}".default = true; - sdl2 = fold recursiveUpdate {} [ - { "${deps.stallman_shooter."1.0.0".sdl2}"."image" = true; } - { "${deps.stallman_shooter."1.0.0".sdl2}".default = (f.sdl2."${deps.stallman_shooter."1.0.0".sdl2}".default or false); } - ]; - sdl2_sys = fold recursiveUpdate {} [ - { "${deps.stallman_shooter."1.0.0".sdl2_sys}"."image" = true; } - { "${deps.stallman_shooter."1.0.0".sdl2_sys}".default = (f.sdl2_sys."${deps.stallman_shooter."1.0.0".sdl2_sys}".default or false); } - ]; - stallman_shooter."1.0.0".default = (f.stallman_shooter."1.0.0".default or true); - }) [ - (cratesIO.features_.rand."${deps."stallman_shooter"."1.0.0"."rand"}" deps) - (cratesIO.features_.sdl2."${deps."stallman_shooter"."1.0.0"."sdl2"}" deps) - (cratesIO.features_.sdl2_sys."${deps."stallman_shooter"."1.0.0"."sdl2_sys"}" deps) - ]; - - -# end - - }; - - stallman_shooter = crates.crates.stallman_shooter."1.0.0" deps; - __all = [ (stallman_shooter {}) ]; - deps.autocfg."0.1.5" = {}; - deps.bitflags."1.1.0" = {}; - deps.cfg_if."0.1.9" = {}; - deps.cloudabi."0.0.3" = { - bitflags = "1.1.0"; - }; - deps.fuchsia_cprng."0.1.1" = {}; - deps.lazy_static."1.3.0" = {}; - deps.libc."0.2.60" = {}; - deps.num."0.1.42" = { - num_integer = "0.1.41"; - num_iter = "0.1.39"; - num_traits = "0.2.8"; - }; - deps.num_integer."0.1.41" = { - num_traits = "0.2.8"; - autocfg = "0.1.5"; - }; - deps.num_iter."0.1.39" = { - num_integer = "0.1.41"; - num_traits = "0.2.8"; - autocfg = "0.1.5"; - }; - deps.num_traits."0.2.8" = { - autocfg = "0.1.5"; - }; - deps.rand."0.5.6" = { - rand_core = "0.3.1"; - cloudabi = "0.0.3"; - fuchsia_cprng = "0.1.1"; - libc = "0.2.60"; - winapi = "0.3.7"; - }; - deps.rand."0.6.5" = { - rand_chacha = "0.1.1"; - rand_core = "0.4.0"; - rand_hc = "0.1.0"; - rand_isaac = "0.1.1"; - rand_jitter = "0.1.4"; - rand_os = "0.1.3"; - rand_pcg = "0.1.2"; - rand_xorshift = "0.1.1"; - autocfg = "0.1.5"; - libc = "0.2.60"; - winapi = "0.3.7"; - }; - deps.rand_chacha."0.1.1" = { - rand_core = "0.3.1"; - autocfg = "0.1.5"; - }; - deps.rand_core."0.3.1" = { - rand_core = "0.4.0"; - }; - deps.rand_core."0.4.0" = {}; - deps.rand_hc."0.1.0" = { - rand_core = "0.3.1"; - }; - deps.rand_isaac."0.1.1" = { - rand_core = "0.3.1"; - }; - deps.rand_jitter."0.1.4" = { - rand_core = "0.4.0"; - libc = "0.2.60"; - winapi = "0.3.7"; - }; - deps.rand_os."0.1.3" = { - rand_core = "0.4.0"; - rdrand = "0.4.0"; - cloudabi = "0.0.3"; - fuchsia_cprng = "0.1.1"; - libc = "0.2.60"; - winapi = "0.3.7"; - }; - deps.rand_pcg."0.1.2" = { - rand_core = "0.4.0"; - autocfg = "0.1.5"; - }; - deps.rand_xorshift."0.1.1" = { - rand_core = "0.3.1"; - }; - deps.rdrand."0.4.0" = { - rand_core = "0.3.1"; - }; - deps.sdl2."0.32.2" = { - bitflags = "1.1.0"; - lazy_static = "1.3.0"; - libc = "0.2.60"; - num = "0.1.42"; - rand = "0.6.5"; - sdl2_sys = "0.32.6"; - }; - deps.sdl2_sys."0.32.6" = { - libc = "0.2.60"; - cfg_if = "0.1.9"; - }; - deps.stallman_shooter."1.0.0" = { - rand = "0.5.6"; - sdl2 = "0.32.2"; - sdl2_sys = "0.32.6"; - }; - deps.winapi."0.3.7" = { - winapi_i686_pc_windows_gnu = "0.4.0"; - winapi_x86_64_pc_windows_gnu = "0.4.0"; - }; - deps.winapi_i686_pc_windows_gnu."0.4.0" = {}; - deps.winapi_x86_64_pc_windows_gnu."0.4.0" = {}; -} @@ -4,14 +4,14 @@ version = "1.0.0" authors = ["Raymond Hogenson <rhogenson@posteo.net>"] [dependencies] -rand = "0.5.5" +rand = "0.8.5" [dependencies.sdl2] -version = "0.32.2" +version = "0.35.2" default-features = false features = ["image"] [dependencies.sdl2-sys] -version = "0.32.6" +version = "0.35.2" default-features = false features = ["image"] diff --git a/crates-io.nix b/crates-io.nix deleted file mode 100644 index e6605fc..0000000 --- a/crates-io.nix +++ /dev/null @@ -1,1115 +0,0 @@ -{ lib, buildRustCrate, buildRustCrateHelpers }: -with buildRustCrateHelpers; -let inherit (lib.lists) fold; - inherit (lib.attrsets) recursiveUpdate; -in -rec { - -# autocfg-0.1.5 - - crates.autocfg."0.1.5" = deps: { features?(features_.autocfg."0.1.5" deps {}) }: buildRustCrate { - crateName = "autocfg"; - version = "0.1.5"; - authors = [ "Josh Stone <cuviper@gmail.com>" ]; - sha256 = "1f3bj604fyr4xh08r357hs3hpdzapiqgccvmj1jpi953ffqrp09a"; - }; - features_.autocfg."0.1.5" = deps: f: updateFeatures f (rec { - autocfg."0.1.5".default = (f.autocfg."0.1.5".default or true); - }) []; - - -# end -# bitflags-1.1.0 - - crates.bitflags."1.1.0" = deps: { features?(features_.bitflags."1.1.0" deps {}) }: buildRustCrate { - crateName = "bitflags"; - version = "1.1.0"; - authors = [ "The Rust Project Developers" ]; - sha256 = "1iwa4jrqcf4lnbwl562a3lx3r0jkh1j88b219bsqvbm4sni67dyv"; - build = "build.rs"; - features = mkFeatures (features."bitflags"."1.1.0" or {}); - }; - features_.bitflags."1.1.0" = deps: f: updateFeatures f (rec { - bitflags."1.1.0".default = (f.bitflags."1.1.0".default or true); - }) []; - - -# end -# cfg-if-0.1.9 - - crates.cfg_if."0.1.9" = deps: { features?(features_.cfg_if."0.1.9" deps {}) }: buildRustCrate { - crateName = "cfg-if"; - version = "0.1.9"; - authors = [ "Alex Crichton <alex@alexcrichton.com>" ]; - sha256 = "13g9p2mc5b2b5wn716fwvilzib376ycpkgk868yxfp16jzix57p7"; - }; - features_.cfg_if."0.1.9" = deps: f: updateFeatures f (rec { - cfg_if."0.1.9".default = (f.cfg_if."0.1.9".default or true); - }) []; - - -# end -# cloudabi-0.0.3 - - crates.cloudabi."0.0.3" = deps: { features?(features_.cloudabi."0.0.3" deps {}) }: buildRustCrate { - crateName = "cloudabi"; - version = "0.0.3"; - authors = [ "Nuxi (https://nuxi.nl/) and contributors" ]; - sha256 = "1z9lby5sr6vslfd14d6igk03s7awf91mxpsfmsp3prxbxlk0x7h5"; - libPath = "cloudabi.rs"; - dependencies = mapFeatures features ([ - ] - ++ (if features.cloudabi."0.0.3".bitflags or false then [ (crates.bitflags."${deps."cloudabi"."0.0.3".bitflags}" deps) ] else [])); - features = mkFeatures (features."cloudabi"."0.0.3" or {}); - }; - features_.cloudabi."0.0.3" = deps: f: updateFeatures f (rec { - bitflags."${deps.cloudabi."0.0.3".bitflags}".default = true; - cloudabi = fold recursiveUpdate {} [ - { "0.0.3".bitflags = - (f.cloudabi."0.0.3".bitflags or false) || - (f.cloudabi."0.0.3".default or false) || - (cloudabi."0.0.3"."default" or false); } - { "0.0.3".default = (f.cloudabi."0.0.3".default or true); } - ]; - }) [ - (features_.bitflags."${deps."cloudabi"."0.0.3"."bitflags"}" deps) - ]; - - -# end -# fuchsia-cprng-0.1.1 - - crates.fuchsia_cprng."0.1.1" = deps: { features?(features_.fuchsia_cprng."0.1.1" deps {}) }: buildRustCrate { - crateName = "fuchsia-cprng"; - version = "0.1.1"; - authors = [ "Erick Tryzelaar <etryzelaar@google.com>" ]; - edition = "2018"; - sha256 = "07apwv9dj716yjlcj29p94vkqn5zmfh7hlrqvrjx3wzshphc95h9"; - }; - features_.fuchsia_cprng."0.1.1" = deps: f: updateFeatures f (rec { - fuchsia_cprng."0.1.1".default = (f.fuchsia_cprng."0.1.1".default or true); - }) []; - - -# end -# lazy_static-1.3.0 - - crates.lazy_static."1.3.0" = deps: { features?(features_.lazy_static."1.3.0" deps {}) }: buildRustCrate { - crateName = "lazy_static"; - version = "1.3.0"; - authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ]; - sha256 = "1vv47va18ydk7dx5paz88g3jy1d3lwbx6qpxkbj8gyfv770i4b1y"; - dependencies = mapFeatures features ([ -]); - features = mkFeatures (features."lazy_static"."1.3.0" or {}); - }; - features_.lazy_static."1.3.0" = deps: f: updateFeatures f (rec { - lazy_static = fold recursiveUpdate {} [ - { "1.3.0".default = (f.lazy_static."1.3.0".default or true); } - { "1.3.0".spin = - (f.lazy_static."1.3.0".spin or false) || - (f.lazy_static."1.3.0".spin_no_std or false) || - (lazy_static."1.3.0"."spin_no_std" or false); } - ]; - }) []; - - -# end -# libc-0.2.60 - - crates.libc."0.2.60" = deps: { features?(features_.libc."0.2.60" deps {}) }: buildRustCrate { - crateName = "libc"; - version = "0.2.60"; - authors = [ "The Rust Project Developers" ]; - sha256 = "1zklw10b6lwz6ldamxvdxr8gsxbqhphxhn8n5n5dndl7avafx49b"; - build = "build.rs"; - dependencies = mapFeatures features ([ -]); - features = mkFeatures (features."libc"."0.2.60" or {}); - }; - features_.libc."0.2.60" = deps: f: updateFeatures f (rec { - libc = fold recursiveUpdate {} [ - { "0.2.60".align = - (f.libc."0.2.60".align or false) || - (f.libc."0.2.60".rustc-dep-of-std or false) || - (libc."0.2.60"."rustc-dep-of-std" or false); } - { "0.2.60".default = (f.libc."0.2.60".default or true); } - { "0.2.60".rustc-std-workspace-core = - (f.libc."0.2.60".rustc-std-workspace-core or false) || - (f.libc."0.2.60".rustc-dep-of-std or false) || - (libc."0.2.60"."rustc-dep-of-std" or false); } - { "0.2.60".std = - (f.libc."0.2.60".std or false) || - (f.libc."0.2.60".default or false) || - (libc."0.2.60"."default" or false) || - (f.libc."0.2.60".use_std or false) || - (libc."0.2.60"."use_std" or false); } - ]; - }) []; - - -# end -# num-0.1.42 - - crates.num."0.1.42" = deps: { features?(features_.num."0.1.42" deps {}) }: buildRustCrate { - crateName = "num"; - version = "0.1.42"; - authors = [ "The Rust Project Developers" ]; - sha256 = "1632gczzrmmxdsj3jignwcr793jq8vxw3qkdzpdvbip3vaf1ljgq"; - dependencies = mapFeatures features ([ - (crates."num_integer"."${deps."num"."0.1.42"."num_integer"}" deps) - (crates."num_iter"."${deps."num"."0.1.42"."num_iter"}" deps) - (crates."num_traits"."${deps."num"."0.1.42"."num_traits"}" deps) - ]); - features = mkFeatures (features."num"."0.1.42" or {}); - }; - features_.num."0.1.42" = deps: f: updateFeatures f (rec { - num = fold recursiveUpdate {} [ - { "0.1.42".bigint = - (f.num."0.1.42".bigint or false) || - (f.num."0.1.42".default or false) || - (num."0.1.42"."default" or false); } - { "0.1.42".complex = - (f.num."0.1.42".complex or false) || - (f.num."0.1.42".default or false) || - (num."0.1.42"."default" or false); } - { "0.1.42".default = (f.num."0.1.42".default or true); } - { "0.1.42".num-bigint = - (f.num."0.1.42".num-bigint or false) || - (f.num."0.1.42".bigint or false) || - (num."0.1.42"."bigint" or false); } - { "0.1.42".num-complex = - (f.num."0.1.42".num-complex or false) || - (f.num."0.1.42".complex or false) || - (num."0.1.42"."complex" or false); } - { "0.1.42".num-rational = - (f.num."0.1.42".num-rational or false) || - (f.num."0.1.42".rational or false) || - (num."0.1.42"."rational" or false); } - { "0.1.42".rational = - (f.num."0.1.42".rational or false) || - (f.num."0.1.42".default or false) || - (num."0.1.42"."default" or false); } - { "0.1.42".rustc-serialize = - (f.num."0.1.42".rustc-serialize or false) || - (f.num."0.1.42".default or false) || - (num."0.1.42"."default" or false); } - ]; - num_integer."${deps.num."0.1.42".num_integer}".default = true; - num_iter."${deps.num."0.1.42".num_iter}".default = true; - num_traits."${deps.num."0.1.42".num_traits}".default = true; - }) [ - (features_.num_integer."${deps."num"."0.1.42"."num_integer"}" deps) - (features_.num_iter."${deps."num"."0.1.42"."num_iter"}" deps) - (features_.num_traits."${deps."num"."0.1.42"."num_traits"}" deps) - ]; - - -# end -# num-integer-0.1.41 - - crates.num_integer."0.1.41" = deps: { features?(features_.num_integer."0.1.41" deps {}) }: buildRustCrate { - crateName = "num-integer"; - version = "0.1.41"; - authors = [ "The Rust Project Developers" ]; - sha256 = "1y45nh9xlp2dra9svb1wfsy65fysm3k1w4m8jynywccq645yixid"; - build = "build.rs"; - dependencies = mapFeatures features ([ - (crates."num_traits"."${deps."num_integer"."0.1.41"."num_traits"}" deps) - ]); - - buildDependencies = mapFeatures features ([ - (crates."autocfg"."${deps."num_integer"."0.1.41"."autocfg"}" deps) - ]); - features = mkFeatures (features."num_integer"."0.1.41" or {}); - }; - features_.num_integer."0.1.41" = deps: f: updateFeatures f (rec { - autocfg."${deps.num_integer."0.1.41".autocfg}".default = true; - num_integer = fold recursiveUpdate {} [ - { "0.1.41".default = (f.num_integer."0.1.41".default or true); } - { "0.1.41".std = - (f.num_integer."0.1.41".std or false) || - (f.num_integer."0.1.41".default or false) || - (num_integer."0.1.41"."default" or false); } - ]; - num_traits = fold recursiveUpdate {} [ - { "${deps.num_integer."0.1.41".num_traits}"."i128" = - (f.num_traits."${deps.num_integer."0.1.41".num_traits}"."i128" or false) || - (num_integer."0.1.41"."i128" or false) || - (f."num_integer"."0.1.41"."i128" or false); } - { "${deps.num_integer."0.1.41".num_traits}"."std" = - (f.num_traits."${deps.num_integer."0.1.41".num_traits}"."std" or false) || - (num_integer."0.1.41"."std" or false) || - (f."num_integer"."0.1.41"."std" or false); } - { "${deps.num_integer."0.1.41".num_traits}".default = (f.num_traits."${deps.num_integer."0.1.41".num_traits}".default or false); } - ]; - }) [ - (features_.num_traits."${deps."num_integer"."0.1.41"."num_traits"}" deps) - (features_.autocfg."${deps."num_integer"."0.1.41"."autocfg"}" deps) - ]; - - -# end -# num-iter-0.1.39 - - crates.num_iter."0.1.39" = deps: { features?(features_.num_iter."0.1.39" deps {}) }: buildRustCrate { - crateName = "num-iter"; - version = "0.1.39"; - authors = [ "The Rust Project Developers" ]; - sha256 = "003j2hysdrkia435vxn38s1qs8cllrgk04l4aapb8hd0wci109mj"; - build = "build.rs"; - dependencies = mapFeatures features ([ - (crates."num_integer"."${deps."num_iter"."0.1.39"."num_integer"}" deps) - (crates."num_traits"."${deps."num_iter"."0.1.39"."num_traits"}" deps) - ]); - - buildDependencies = mapFeatures features ([ - (crates."autocfg"."${deps."num_iter"."0.1.39"."autocfg"}" deps) - ]); - features = mkFeatures (features."num_iter"."0.1.39" or {}); - }; - features_.num_iter."0.1.39" = deps: f: updateFeatures f (rec { - autocfg."${deps.num_iter."0.1.39".autocfg}".default = true; - num_integer = fold recursiveUpdate {} [ - { "${deps.num_iter."0.1.39".num_integer}"."i128" = - (f.num_integer."${deps.num_iter."0.1.39".num_integer}"."i128" or false) || - (num_iter."0.1.39"."i128" or false) || - (f."num_iter"."0.1.39"."i128" or false); } - { "${deps.num_iter."0.1.39".num_integer}"."std" = - (f.num_integer."${deps.num_iter."0.1.39".num_integer}"."std" or false) || - (num_iter."0.1.39"."std" or false) || - (f."num_iter"."0.1.39"."std" or false); } - { "${deps.num_iter."0.1.39".num_integer}".default = (f.num_integer."${deps.num_iter."0.1.39".num_integer}".default or false); } - ]; - num_iter = fold recursiveUpdate {} [ - { "0.1.39".default = (f.num_iter."0.1.39".default or true); } - { "0.1.39".std = - (f.num_iter."0.1.39".std or false) || - (f.num_iter."0.1.39".default or false) || - (num_iter."0.1.39"."default" or false); } - ]; - num_traits = fold recursiveUpdate {} [ - { "${deps.num_iter."0.1.39".num_traits}"."i128" = - (f.num_traits."${deps.num_iter."0.1.39".num_traits}"."i128" or false) || - (num_iter."0.1.39"."i128" or false) || - (f."num_iter"."0.1.39"."i128" or false); } - { "${deps.num_iter."0.1.39".num_traits}"."std" = - (f.num_traits."${deps.num_iter."0.1.39".num_traits}"."std" or false) || - (num_iter."0.1.39"."std" or false) || - (f."num_iter"."0.1.39"."std" or false); } - { "${deps.num_iter."0.1.39".num_traits}".default = (f.num_traits."${deps.num_iter."0.1.39".num_traits}".default or false); } - ]; - }) [ - (features_.num_integer."${deps."num_iter"."0.1.39"."num_integer"}" deps) - (features_.num_traits."${deps."num_iter"."0.1.39"."num_traits"}" deps) - (features_.autocfg."${deps."num_iter"."0.1.39"."autocfg"}" deps) - ]; - - -# end -# num-traits-0.2.8 - - crates.num_traits."0.2.8" = deps: { features?(features_.num_traits."0.2.8" deps {}) }: buildRustCrate { - crateName = "num-traits"; - version = "0.2.8"; - authors = [ "The Rust Project Developers" ]; - sha256 = "1mnlmy35n734n9xlq0qkfbgzz33x09a1s4rfj30p1976p09b862v"; - build = "build.rs"; - - buildDependencies = mapFeatures features ([ - (crates."autocfg"."${deps."num_traits"."0.2.8"."autocfg"}" deps) - ]); - features = mkFeatures (features."num_traits"."0.2.8" or {}); - }; - features_.num_traits."0.2.8" = deps: f: updateFeatures f (rec { - autocfg."${deps.num_traits."0.2.8".autocfg}".default = true; - num_traits = fold recursiveUpdate {} [ - { "0.2.8".default = (f.num_traits."0.2.8".default or true); } - { "0.2.8".std = - (f.num_traits."0.2.8".std or false) || - (f.num_traits."0.2.8".default or false) || - (num_traits."0.2.8"."default" or false); } - ]; - }) [ - (features_.autocfg."${deps."num_traits"."0.2.8"."autocfg"}" deps) - ]; - - -# end -# rand-0.5.6 - - crates.rand."0.5.6" = deps: { features?(features_.rand."0.5.6" deps {}) }: buildRustCrate { - crateName = "rand"; - version = "0.5.6"; - authors = [ "The Rust Project Developers" ]; - sha256 = "04f1gydiia347cx24n5cw4v21fhh9yga7dw739z4jsxzls2ss8w8"; - dependencies = mapFeatures features ([ - (crates."rand_core"."${deps."rand"."0.5.6"."rand_core"}" deps) - ]) - ++ (if kernel == "cloudabi" then mapFeatures features ([ - ] - ++ (if features.rand."0.5.6".cloudabi or false then [ (crates.cloudabi."${deps."rand"."0.5.6".cloudabi}" deps) ] else [])) else []) - ++ (if kernel == "fuchsia" then mapFeatures features ([ - ] - ++ (if features.rand."0.5.6".fuchsia-cprng or false then [ (crates.fuchsia_cprng."${deps."rand"."0.5.6".fuchsia_cprng}" deps) ] else [])) else []) - ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ - ] - ++ (if features.rand."0.5.6".libc or false then [ (crates.libc."${deps."rand"."0.5.6".libc}" deps) ] else [])) else []) - ++ (if kernel == "windows" then mapFeatures features ([ - ] - ++ (if features.rand."0.5.6".winapi or false then [ (crates.winapi."${deps."rand"."0.5.6".winapi}" deps) ] else [])) else []) - ++ (if kernel == "wasm32-unknown-unknown" then mapFeatures features ([ -]) else []); - features = mkFeatures (features."rand"."0.5.6" or {}); - }; - features_.rand."0.5.6" = deps: f: updateFeatures f (rec { - cloudabi."${deps.rand."0.5.6".cloudabi}".default = true; - fuchsia_cprng."${deps.rand."0.5.6".fuchsia_cprng}".default = true; - libc."${deps.rand."0.5.6".libc}".default = true; - rand = fold recursiveUpdate {} [ - { "0.5.6".alloc = - (f.rand."0.5.6".alloc or false) || - (f.rand."0.5.6".std or false) || - (rand."0.5.6"."std" or false); } - { "0.5.6".cloudabi = - (f.rand."0.5.6".cloudabi or false) || - (f.rand."0.5.6".std or false) || - (rand."0.5.6"."std" or false); } - { "0.5.6".default = (f.rand."0.5.6".default or true); } - { "0.5.6".fuchsia-cprng = - (f.rand."0.5.6".fuchsia-cprng or false) || - (f.rand."0.5.6".std or false) || - (rand."0.5.6"."std" or false); } - { "0.5.6".i128_support = - (f.rand."0.5.6".i128_support or false) || - (f.rand."0.5.6".nightly or false) || - (rand."0.5.6"."nightly" or false); } - { "0.5.6".libc = - (f.rand."0.5.6".libc or false) || - (f.rand."0.5.6".std or false) || - (rand."0.5.6"."std" or false); } - { "0.5.6".serde = - (f.rand."0.5.6".serde or false) || - (f.rand."0.5.6".serde1 or false) || - (rand."0.5.6"."serde1" or false); } - { "0.5.6".serde_derive = - (f.rand."0.5.6".serde_derive or false) || - (f.rand."0.5.6".serde1 or false) || - (rand."0.5.6"."serde1" or false); } - { "0.5.6".std = - (f.rand."0.5.6".std or false) || - (f.rand."0.5.6".default or false) || - (rand."0.5.6"."default" or false); } - { "0.5.6".winapi = - (f.rand."0.5.6".winapi or false) || - (f.rand."0.5.6".std or false) || - (rand."0.5.6"."std" or false); } - ]; - rand_core = fold recursiveUpdate {} [ - { "${deps.rand."0.5.6".rand_core}"."alloc" = - (f.rand_core."${deps.rand."0.5.6".rand_core}"."alloc" or false) || - (rand."0.5.6"."alloc" or false) || - (f."rand"."0.5.6"."alloc" or false); } - { "${deps.rand."0.5.6".rand_core}"."serde1" = - (f.rand_core."${deps.rand."0.5.6".rand_core}"."serde1" or false) || - (rand."0.5.6"."serde1" or false) || - (f."rand"."0.5.6"."serde1" or false); } - { "${deps.rand."0.5.6".rand_core}"."std" = - (f.rand_core."${deps.rand."0.5.6".rand_core}"."std" or false) || - (rand."0.5.6"."std" or false) || - (f."rand"."0.5.6"."std" or false); } - { "${deps.rand."0.5.6".rand_core}".default = (f.rand_core."${deps.rand."0.5.6".rand_core}".default or false); } - ]; - winapi = fold recursiveUpdate {} [ - { "${deps.rand."0.5.6".winapi}"."minwindef" = true; } - { "${deps.rand."0.5.6".winapi}"."ntsecapi" = true; } - { "${deps.rand."0.5.6".winapi}"."profileapi" = true; } - { "${deps.rand."0.5.6".winapi}"."winnt" = true; } - { "${deps.rand."0.5.6".winapi}".default = true; } - ]; - }) [ - (features_.rand_core."${deps."rand"."0.5.6"."rand_core"}" deps) - (features_.cloudabi."${deps."rand"."0.5.6"."cloudabi"}" deps) - (features_.fuchsia_cprng."${deps."rand"."0.5.6"."fuchsia_cprng"}" deps) - (features_.libc."${deps."rand"."0.5.6"."libc"}" deps) - (features_.winapi."${deps."rand"."0.5.6"."winapi"}" deps) - ]; - - -# end -# rand-0.6.5 - - crates.rand."0.6.5" = deps: { features?(features_.rand."0.6.5" deps {}) }: buildRustCrate { - crateName = "rand"; - version = "0.6.5"; - authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; - sha256 = "0zbck48159aj8zrwzf80sd9xxh96w4f4968nshwjpysjvflimvgb"; - build = "build.rs"; - dependencies = mapFeatures features ([ - (crates."rand_chacha"."${deps."rand"."0.6.5"."rand_chacha"}" deps) - (crates."rand_core"."${deps."rand"."0.6.5"."rand_core"}" deps) - (crates."rand_hc"."${deps."rand"."0.6.5"."rand_hc"}" deps) - (crates."rand_isaac"."${deps."rand"."0.6.5"."rand_isaac"}" deps) - (crates."rand_jitter"."${deps."rand"."0.6.5"."rand_jitter"}" deps) - (crates."rand_pcg"."${deps."rand"."0.6.5"."rand_pcg"}" deps) - (crates."rand_xorshift"."${deps."rand"."0.6.5"."rand_xorshift"}" deps) - ] - ++ (if features.rand."0.6.5".rand_os or false then [ (crates.rand_os."${deps."rand"."0.6.5".rand_os}" deps) ] else [])) - ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ - (crates."libc"."${deps."rand"."0.6.5"."libc"}" deps) - ]) else []) - ++ (if kernel == "windows" then mapFeatures features ([ - (crates."winapi"."${deps."rand"."0.6.5"."winapi"}" deps) - ]) else []); - - buildDependencies = mapFeatures features ([ - (crates."autocfg"."${deps."rand"."0.6.5"."autocfg"}" deps) - ]); - features = mkFeatures (features."rand"."0.6.5" or {}); - }; - features_.rand."0.6.5" = deps: f: updateFeatures f (rec { - autocfg."${deps.rand."0.6.5".autocfg}".default = true; - libc."${deps.rand."0.6.5".libc}".default = (f.libc."${deps.rand."0.6.5".libc}".default or false); - rand = fold recursiveUpdate {} [ - { "0.6.5".alloc = - (f.rand."0.6.5".alloc or false) || - (f.rand."0.6.5".std or false) || - (rand."0.6.5"."std" or false); } - { "0.6.5".default = (f.rand."0.6.5".default or true); } - { "0.6.5".packed_simd = - (f.rand."0.6.5".packed_simd or false) || - (f.rand."0.6.5".simd_support or false) || - (rand."0.6.5"."simd_support" or false); } - { "0.6.5".rand_os = - (f.rand."0.6.5".rand_os or false) || - (f.rand."0.6.5".std or false) || - (rand."0.6.5"."std" or false); } - { "0.6.5".simd_support = - (f.rand."0.6.5".simd_support or false) || - (f.rand."0.6.5".nightly or false) || - (rand."0.6.5"."nightly" or false); } - { "0.6.5".std = - (f.rand."0.6.5".std or false) || - (f.rand."0.6.5".default or false) || - (rand."0.6.5"."default" or false); } - ]; - rand_chacha."${deps.rand."0.6.5".rand_chacha}".default = true; - rand_core = fold recursiveUpdate {} [ - { "${deps.rand."0.6.5".rand_core}"."alloc" = - (f.rand_core."${deps.rand."0.6.5".rand_core}"."alloc" or false) || - (rand."0.6.5"."alloc" or false) || - (f."rand"."0.6.5"."alloc" or false); } - { "${deps.rand."0.6.5".rand_core}"."serde1" = - (f.rand_core."${deps.rand."0.6.5".rand_core}"."serde1" or false) || - (rand."0.6.5"."serde1" or false) || - (f."rand"."0.6.5"."serde1" or false); } - { "${deps.rand."0.6.5".rand_core}"."std" = - (f.rand_core."${deps.rand."0.6.5".rand_core}"."std" or false) || - (rand."0.6.5"."std" or false) || - (f."rand"."0.6.5"."std" or false); } - { "${deps.rand."0.6.5".rand_core}".default = true; } - ]; - rand_hc."${deps.rand."0.6.5".rand_hc}".default = true; - rand_isaac = fold recursiveUpdate {} [ - { "${deps.rand."0.6.5".rand_isaac}"."serde1" = - (f.rand_isaac."${deps.rand."0.6.5".rand_isaac}"."serde1" or false) || - (rand."0.6.5"."serde1" or false) || - (f."rand"."0.6.5"."serde1" or false); } - { "${deps.rand."0.6.5".rand_isaac}".default = true; } - ]; - rand_jitter = fold recursiveUpdate {} [ - { "${deps.rand."0.6.5".rand_jitter}"."std" = - (f.rand_jitter."${deps.rand."0.6.5".rand_jitter}"."std" or false) || - (rand."0.6.5"."std" or false) || - (f."rand"."0.6.5"."std" or false); } - { "${deps.rand."0.6.5".rand_jitter}".default = true; } - ]; - rand_os = fold recursiveUpdate {} [ - { "${deps.rand."0.6.5".rand_os}"."stdweb" = - (f.rand_os."${deps.rand."0.6.5".rand_os}"."stdweb" or false) || - (rand."0.6.5"."stdweb" or false) || - (f."rand"."0.6.5"."stdweb" or false); } - { "${deps.rand."0.6.5".rand_os}"."wasm-bindgen" = - (f.rand_os."${deps.rand."0.6.5".rand_os}"."wasm-bindgen" or false) || - (rand."0.6.5"."wasm-bindgen" or false) || - (f."rand"."0.6.5"."wasm-bindgen" or false); } - { "${deps.rand."0.6.5".rand_os}".default = true; } - ]; - rand_pcg."${deps.rand."0.6.5".rand_pcg}".default = true; - rand_xorshift = fold recursiveUpdate {} [ - { "${deps.rand."0.6.5".rand_xorshift}"."serde1" = - (f.rand_xorshift."${deps.rand."0.6.5".rand_xorshift}"."serde1" or false) || - (rand."0.6.5"."serde1" or false) || - (f."rand"."0.6.5"."serde1" or false); } - { "${deps.rand."0.6.5".rand_xorshift}".default = true; } - ]; - winapi = fold recursiveUpdate {} [ - { "${deps.rand."0.6.5".winapi}"."minwindef" = true; } - { "${deps.rand."0.6.5".winapi}"."ntsecapi" = true; } - { "${deps.rand."0.6.5".winapi}"."profileapi" = true; } - { "${deps.rand."0.6.5".winapi}"."winnt" = true; } - { "${deps.rand."0.6.5".winapi}".default = true; } - ]; - }) [ - (features_.rand_chacha."${deps."rand"."0.6.5"."rand_chacha"}" deps) - (features_.rand_core."${deps."rand"."0.6.5"."rand_core"}" deps) - (features_.rand_hc."${deps."rand"."0.6.5"."rand_hc"}" deps) - (features_.rand_isaac."${deps."rand"."0.6.5"."rand_isaac"}" deps) - (features_.rand_jitter."${deps."rand"."0.6.5"."rand_jitter"}" deps) - (features_.rand_os."${deps."rand"."0.6.5"."rand_os"}" deps) - (features_.rand_pcg."${deps."rand"."0.6.5"."rand_pcg"}" deps) - (features_.rand_xorshift."${deps."rand"."0.6.5"."rand_xorshift"}" deps) - (features_.autocfg."${deps."rand"."0.6.5"."autocfg"}" deps) - (features_.libc."${deps."rand"."0.6.5"."libc"}" deps) - (features_.winapi."${deps."rand"."0.6.5"."winapi"}" deps) - ]; - - -# end -# rand_chacha-0.1.1 - - crates.rand_chacha."0.1.1" = deps: { features?(features_.rand_chacha."0.1.1" deps {}) }: buildRustCrate { - crateName = "rand_chacha"; - version = "0.1.1"; - authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; - sha256 = "0xnxm4mjd7wjnh18zxc1yickw58axbycp35ciraplqdfwn1gffwi"; - build = "build.rs"; - dependencies = mapFeatures features ([ - (crates."rand_core"."${deps."rand_chacha"."0.1.1"."rand_core"}" deps) - ]); - - buildDependencies = mapFeatures features ([ - (crates."autocfg"."${deps."rand_chacha"."0.1.1"."autocfg"}" deps) - ]); - }; - features_.rand_chacha."0.1.1" = deps: f: updateFeatures f (rec { - autocfg."${deps.rand_chacha."0.1.1".autocfg}".default = true; - rand_chacha."0.1.1".default = (f.rand_chacha."0.1.1".default or true); - rand_core."${deps.rand_chacha."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_chacha."0.1.1".rand_core}".default or false); - }) [ - (features_.rand_core."${deps."rand_chacha"."0.1.1"."rand_core"}" deps) - (features_.autocfg."${deps."rand_chacha"."0.1.1"."autocfg"}" deps) - ]; - - -# end -# rand_core-0.3.1 - - crates.rand_core."0.3.1" = deps: { features?(features_.rand_core."0.3.1" deps {}) }: buildRustCrate { - crateName = "rand_core"; - version = "0.3.1"; - authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; - sha256 = "0q0ssgpj9x5a6fda83nhmfydy7a6c0wvxm0jhncsmjx8qp8gw91m"; - dependencies = mapFeatures features ([ - (crates."rand_core"."${deps."rand_core"."0.3.1"."rand_core"}" deps) - ]); - features = mkFeatures (features."rand_core"."0.3.1" or {}); - }; - features_.rand_core."0.3.1" = deps: f: updateFeatures f (rec { - rand_core = fold recursiveUpdate {} [ - { "${deps.rand_core."0.3.1".rand_core}"."alloc" = - (f.rand_core."${deps.rand_core."0.3.1".rand_core}"."alloc" or false) || - (rand_core."0.3.1"."alloc" or false) || - (f."rand_core"."0.3.1"."alloc" or false); } - { "${deps.rand_core."0.3.1".rand_core}"."serde1" = - (f.rand_core."${deps.rand_core."0.3.1".rand_core}"."serde1" or false) || - (rand_core."0.3.1"."serde1" or false) || - (f."rand_core"."0.3.1"."serde1" or false); } - { "${deps.rand_core."0.3.1".rand_core}"."std" = - (f.rand_core."${deps.rand_core."0.3.1".rand_core}"."std" or false) || - (rand_core."0.3.1"."std" or false) || - (f."rand_core"."0.3.1"."std" or false); } - { "${deps.rand_core."0.3.1".rand_core}".default = true; } - { "0.3.1".default = (f.rand_core."0.3.1".default or true); } - { "0.3.1".std = - (f.rand_core."0.3.1".std or false) || - (f.rand_core."0.3.1".default or false) || - (rand_core."0.3.1"."default" or false); } - ]; - }) [ - (features_.rand_core."${deps."rand_core"."0.3.1"."rand_core"}" deps) - ]; - - -# end -# rand_core-0.4.0 - - crates.rand_core."0.4.0" = deps: { features?(features_.rand_core."0.4.0" deps {}) }: buildRustCrate { - crateName = "rand_core"; - version = "0.4.0"; - authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; - sha256 = "0wb5iwhffibj0pnpznhv1g3i7h1fnhz64s3nz74fz6vsm3q6q3br"; - dependencies = mapFeatures features ([ -]); - features = mkFeatures (features."rand_core"."0.4.0" or {}); - }; - features_.rand_core."0.4.0" = deps: f: updateFeatures f (rec { - rand_core = fold recursiveUpdate {} [ - { "0.4.0".alloc = - (f.rand_core."0.4.0".alloc or false) || - (f.rand_core."0.4.0".std or false) || - (rand_core."0.4.0"."std" or false); } - { "0.4.0".default = (f.rand_core."0.4.0".default or true); } - { "0.4.0".serde = - (f.rand_core."0.4.0".serde or false) || - (f.rand_core."0.4.0".serde1 or false) || - (rand_core."0.4.0"."serde1" or false); } - { "0.4.0".serde_derive = - (f.rand_core."0.4.0".serde_derive or false) || - (f.rand_core."0.4.0".serde1 or false) || - (rand_core."0.4.0"."serde1" or false); } - ]; - }) []; - - -# end -# rand_hc-0.1.0 - - crates.rand_hc."0.1.0" = deps: { features?(features_.rand_hc."0.1.0" deps {}) }: buildRustCrate { - crateName = "rand_hc"; - version = "0.1.0"; - authors = [ "The Rand Project Developers" ]; - sha256 = "05agb75j87yp7y1zk8yf7bpm66hc0673r3dlypn0kazynr6fdgkz"; - dependencies = mapFeatures features ([ - (crates."rand_core"."${deps."rand_hc"."0.1.0"."rand_core"}" deps) - ]); - }; - features_.rand_hc."0.1.0" = deps: f: updateFeatures f (rec { - rand_core."${deps.rand_hc."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_hc."0.1.0".rand_core}".default or false); - rand_hc."0.1.0".default = (f.rand_hc."0.1.0".default or true); - }) [ - (features_.rand_core."${deps."rand_hc"."0.1.0"."rand_core"}" deps) - ]; - - -# end -# rand_isaac-0.1.1 - - crates.rand_isaac."0.1.1" = deps: { features?(features_.rand_isaac."0.1.1" deps {}) }: buildRustCrate { - crateName = "rand_isaac"; - version = "0.1.1"; - authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; - sha256 = "10hhdh5b5sa03s6b63y9bafm956jwilx41s71jbrzl63ccx8lxdq"; - dependencies = mapFeatures features ([ - (crates."rand_core"."${deps."rand_isaac"."0.1.1"."rand_core"}" deps) - ]); - features = mkFeatures (features."rand_isaac"."0.1.1" or {}); - }; - features_.rand_isaac."0.1.1" = deps: f: updateFeatures f (rec { - rand_core = fold recursiveUpdate {} [ - { "${deps.rand_isaac."0.1.1".rand_core}"."serde1" = - (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}"."serde1" or false) || - (rand_isaac."0.1.1"."serde1" or false) || - (f."rand_isaac"."0.1.1"."serde1" or false); } - { "${deps.rand_isaac."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}".default or false); } - ]; - rand_isaac = fold recursiveUpdate {} [ - { "0.1.1".default = (f.rand_isaac."0.1.1".default or true); } - { "0.1.1".serde = - (f.rand_isaac."0.1.1".serde or false) || - (f.rand_isaac."0.1.1".serde1 or false) || - (rand_isaac."0.1.1"."serde1" or false); } - { "0.1.1".serde_derive = - (f.rand_isaac."0.1.1".serde_derive or false) || - (f.rand_isaac."0.1.1".serde1 or false) || - (rand_isaac."0.1.1"."serde1" or false); } - ]; - }) [ - (features_.rand_core."${deps."rand_isaac"."0.1.1"."rand_core"}" deps) - ]; - - -# end -# rand_jitter-0.1.4 - - crates.rand_jitter."0.1.4" = deps: { features?(features_.rand_jitter."0.1.4" deps {}) }: buildRustCrate { - crateName = "rand_jitter"; - version = "0.1.4"; - authors = [ "The Rand Project Developers" ]; - sha256 = "13nr4h042ab9l7qcv47bxrxw3gkf2pc3cni6c9pyi4nxla0mm7b6"; - dependencies = mapFeatures features ([ - (crates."rand_core"."${deps."rand_jitter"."0.1.4"."rand_core"}" deps) - ]) - ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([ - (crates."libc"."${deps."rand_jitter"."0.1.4"."libc"}" deps) - ]) else []) - ++ (if kernel == "windows" then mapFeatures features ([ - (crates."winapi"."${deps."rand_jitter"."0.1.4"."winapi"}" deps) - ]) else []); - features = mkFeatures (features."rand_jitter"."0.1.4" or {}); - }; - features_.rand_jitter."0.1.4" = deps: f: updateFeatures f (rec { - libc."${deps.rand_jitter."0.1.4".libc}".default = true; - rand_core = fold recursiveUpdate {} [ - { "${deps.rand_jitter."0.1.4".rand_core}"."std" = - (f.rand_core."${deps.rand_jitter."0.1.4".rand_core}"."std" or false) || - (rand_jitter."0.1.4"."std" or false) || - (f."rand_jitter"."0.1.4"."std" or false); } - { "${deps.rand_jitter."0.1.4".rand_core}".default = true; } - ]; - rand_jitter."0.1.4".default = (f.rand_jitter."0.1.4".default or true); - winapi = fold recursiveUpdate {} [ - { "${deps.rand_jitter."0.1.4".winapi}"."profileapi" = true; } - { "${deps.rand_jitter."0.1.4".winapi}".default = true; } - ]; - }) [ - (features_.rand_core."${deps."rand_jitter"."0.1.4"."rand_core"}" deps) - (features_.libc."${deps."rand_jitter"."0.1.4"."libc"}" deps) - (features_.winapi."${deps."rand_jitter"."0.1.4"."winapi"}" deps) - ]; - - -# end -# rand_os-0.1.3 - - crates.rand_os."0.1.3" = deps: { features?(features_.rand_os."0.1.3" deps {}) }: buildRustCrate { - crateName = "rand_os"; - version = "0.1.3"; - authors = [ "The Rand Project Developers" ]; - sha256 = "0ywwspizgs9g8vzn6m5ix9yg36n15119d6n792h7mk4r5vs0ww4j"; - dependencies = mapFeatures features ([ - (crates."rand_core"."${deps."rand_os"."0.1.3"."rand_core"}" deps) - ]) - ++ (if abi == "sgx" then mapFeatures features ([ - (crates."rdrand"."${deps."rand_os"."0.1.3"."rdrand"}" deps) - ]) else []) - ++ (if kernel == "cloudabi" then mapFeatures features ([ - (crates."cloudabi"."${deps."rand_os"."0.1.3"."cloudabi"}" deps) - ]) else []) - ++ (if kernel == "fuchsia" then mapFeatures features ([ - (crates."fuchsia_cprng"."${deps."rand_os"."0.1.3"."fuchsia_cprng"}" deps) - ]) else []) - ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ - (crates."libc"."${deps."rand_os"."0.1.3"."libc"}" deps) - ]) else []) - ++ (if kernel == "windows" then mapFeatures features ([ - (crates."winapi"."${deps."rand_os"."0.1.3"."winapi"}" deps) - ]) else []) - ++ (if kernel == "wasm32-unknown-unknown" then mapFeatures features ([ -]) else []); - }; - features_.rand_os."0.1.3" = deps: f: updateFeatures f (rec { - cloudabi."${deps.rand_os."0.1.3".cloudabi}".default = true; - fuchsia_cprng."${deps.rand_os."0.1.3".fuchsia_cprng}".default = true; - libc."${deps.rand_os."0.1.3".libc}".default = true; - rand_core = fold recursiveUpdate {} [ - { "${deps.rand_os."0.1.3".rand_core}"."std" = true; } - { "${deps.rand_os."0.1.3".rand_core}".default = true; } - ]; - rand_os."0.1.3".default = (f.rand_os."0.1.3".default or true); - rdrand."${deps.rand_os."0.1.3".rdrand}".default = true; - winapi = fold recursiveUpdate {} [ - { "${deps.rand_os."0.1.3".winapi}"."minwindef" = true; } - { "${deps.rand_os."0.1.3".winapi}"."ntsecapi" = true; } - { "${deps.rand_os."0.1.3".winapi}"."winnt" = true; } - { "${deps.rand_os."0.1.3".winapi}".default = true; } - ]; - }) [ - (features_.rand_core."${deps."rand_os"."0.1.3"."rand_core"}" deps) - (features_.rdrand."${deps."rand_os"."0.1.3"."rdrand"}" deps) - (features_.cloudabi."${deps."rand_os"."0.1.3"."cloudabi"}" deps) - (features_.fuchsia_cprng."${deps."rand_os"."0.1.3"."fuchsia_cprng"}" deps) - (features_.libc."${deps."rand_os"."0.1.3"."libc"}" deps) - (features_.winapi."${deps."rand_os"."0.1.3"."winapi"}" deps) - ]; - - -# end -# rand_pcg-0.1.2 - - crates.rand_pcg."0.1.2" = deps: { features?(features_.rand_pcg."0.1.2" deps {}) }: buildRustCrate { - crateName = "rand_pcg"; - version = "0.1.2"; - authors = [ "The Rand Project Developers" ]; - sha256 = "04qgi2ai2z42li5h4aawvxbpnlqyjfnipz9d6k73mdnl6p1xq938"; - build = "build.rs"; - dependencies = mapFeatures features ([ - (crates."rand_core"."${deps."rand_pcg"."0.1.2"."rand_core"}" deps) - ]); - - buildDependencies = mapFeatures features ([ - (crates."autocfg"."${deps."rand_pcg"."0.1.2"."autocfg"}" deps) - ]); - features = mkFeatures (features."rand_pcg"."0.1.2" or {}); - }; - features_.rand_pcg."0.1.2" = deps: f: updateFeatures f (rec { - autocfg."${deps.rand_pcg."0.1.2".autocfg}".default = true; - rand_core."${deps.rand_pcg."0.1.2".rand_core}".default = true; - rand_pcg = fold recursiveUpdate {} [ - { "0.1.2".default = (f.rand_pcg."0.1.2".default or true); } - { "0.1.2".serde = - (f.rand_pcg."0.1.2".serde or false) || - (f.rand_pcg."0.1.2".serde1 or false) || - (rand_pcg."0.1.2"."serde1" or false); } - { "0.1.2".serde_derive = - (f.rand_pcg."0.1.2".serde_derive or false) || - (f.rand_pcg."0.1.2".serde1 or false) || - (rand_pcg."0.1.2"."serde1" or false); } - ]; - }) [ - (features_.rand_core."${deps."rand_pcg"."0.1.2"."rand_core"}" deps) - (features_.autocfg."${deps."rand_pcg"."0.1.2"."autocfg"}" deps) - ]; - - -# end -# rand_xorshift-0.1.1 - - crates.rand_xorshift."0.1.1" = deps: { features?(features_.rand_xorshift."0.1.1" deps {}) }: buildRustCrate { - crateName = "rand_xorshift"; - version = "0.1.1"; - authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; - sha256 = "0v365c4h4lzxwz5k5kp9m0661s0sss7ylv74if0xb4svis9sswnn"; - dependencies = mapFeatures features ([ - (crates."rand_core"."${deps."rand_xorshift"."0.1.1"."rand_core"}" deps) - ]); - features = mkFeatures (features."rand_xorshift"."0.1.1" or {}); - }; - features_.rand_xorshift."0.1.1" = deps: f: updateFeatures f (rec { - rand_core."${deps.rand_xorshift."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_xorshift."0.1.1".rand_core}".default or false); - rand_xorshift = fold recursiveUpdate {} [ - { "0.1.1".default = (f.rand_xorshift."0.1.1".default or true); } - { "0.1.1".serde = - (f.rand_xorshift."0.1.1".serde or false) || - (f.rand_xorshift."0.1.1".serde1 or false) || - (rand_xorshift."0.1.1"."serde1" or false); } - { "0.1.1".serde_derive = - (f.rand_xorshift."0.1.1".serde_derive or false) || - (f.rand_xorshift."0.1.1".serde1 or false) || - (rand_xorshift."0.1.1"."serde1" or false); } - ]; - }) [ - (features_.rand_core."${deps."rand_xorshift"."0.1.1"."rand_core"}" deps) - ]; - - -# end -# rdrand-0.4.0 - - crates.rdrand."0.4.0" = deps: { features?(features_.rdrand."0.4.0" deps {}) }: buildRustCrate { - crateName = "rdrand"; - version = "0.4.0"; - authors = [ "Simonas Kazlauskas <rdrand@kazlauskas.me>" ]; - sha256 = "15hrcasn0v876wpkwab1dwbk9kvqwrb3iv4y4dibb6yxnfvzwajk"; - dependencies = mapFeatures features ([ - (crates."rand_core"."${deps."rdrand"."0.4.0"."rand_core"}" deps) - ]); - features = mkFeatures (features."rdrand"."0.4.0" or {}); - }; - features_.rdrand."0.4.0" = deps: f: updateFeatures f (rec { - rand_core."${deps.rdrand."0.4.0".rand_core}".default = (f.rand_core."${deps.rdrand."0.4.0".rand_core}".default or false); - rdrand = fold recursiveUpdate {} [ - { "0.4.0".default = (f.rdrand."0.4.0".default or true); } - { "0.4.0".std = - (f.rdrand."0.4.0".std or false) || - (f.rdrand."0.4.0".default or false) || - (rdrand."0.4.0"."default" or false); } - ]; - }) [ - (features_.rand_core."${deps."rdrand"."0.4.0"."rand_core"}" deps) - ]; - - -# end -# sdl2-0.32.2 - - crates.sdl2."0.32.2" = deps: { features?(features_.sdl2."0.32.2" deps {}) }: buildRustCrate { - crateName = "sdl2"; - version = "0.32.2"; - authors = [ "Tony Aldridge <tony@angry-lawyer.com>" "Cobrand <cobrandw@gmail.com>" ]; - sha256 = "1jrr94ci07rc31mpmfykkg54ah4xf3l389gjsnr7h5x4jf8spwhk"; - libPath = "src/sdl2/lib.rs"; - dependencies = mapFeatures features ([ - (crates."bitflags"."${deps."sdl2"."0.32.2"."bitflags"}" deps) - (crates."lazy_static"."${deps."sdl2"."0.32.2"."lazy_static"}" deps) - (crates."libc"."${deps."sdl2"."0.32.2"."libc"}" deps) - (crates."num"."${deps."sdl2"."0.32.2"."num"}" deps) - (crates."rand"."${deps."sdl2"."0.32.2"."rand"}" deps) - (crates."sdl2_sys"."${deps."sdl2"."0.32.2"."sdl2_sys"}" deps) - ]); - features = mkFeatures (features."sdl2"."0.32.2" or {}); - }; - features_.sdl2."0.32.2" = deps: f: updateFeatures f (rec { - bitflags."${deps.sdl2."0.32.2".bitflags}".default = true; - lazy_static."${deps.sdl2."0.32.2".lazy_static}".default = true; - libc."${deps.sdl2."0.32.2".libc}".default = true; - num."${deps.sdl2."0.32.2".num}".default = (f.num."${deps.sdl2."0.32.2".num}".default or false); - rand."${deps.sdl2."0.32.2".rand}".default = true; - sdl2 = fold recursiveUpdate {} [ - { "0.32.2".c_vec = - (f.sdl2."0.32.2".c_vec or false) || - (f.sdl2."0.32.2".gfx or false) || - (sdl2."0.32.2"."gfx" or false); } - { "0.32.2".default = (f.sdl2."0.32.2".default or true); } - ]; - sdl2_sys = fold recursiveUpdate {} [ - { "${deps.sdl2."0.32.2".sdl2_sys}"."bundled" = - (f.sdl2_sys."${deps.sdl2."0.32.2".sdl2_sys}"."bundled" or false) || - (sdl2."0.32.2"."bundled" or false) || - (f."sdl2"."0.32.2"."bundled" or false); } - { "${deps.sdl2."0.32.2".sdl2_sys}"."gfx" = - (f.sdl2_sys."${deps.sdl2."0.32.2".sdl2_sys}"."gfx" or false) || - (sdl2."0.32.2"."gfx" or false) || - (f."sdl2"."0.32.2"."gfx" or false); } - { "${deps.sdl2."0.32.2".sdl2_sys}"."image" = - (f.sdl2_sys."${deps.sdl2."0.32.2".sdl2_sys}"."image" or false) || - (sdl2."0.32.2"."image" or false) || - (f."sdl2"."0.32.2"."image" or false); } - { "${deps.sdl2."0.32.2".sdl2_sys}"."mixer" = - (f.sdl2_sys."${deps.sdl2."0.32.2".sdl2_sys}"."mixer" or false) || - (sdl2."0.32.2"."mixer" or false) || - (f."sdl2"."0.32.2"."mixer" or false); } - { "${deps.sdl2."0.32.2".sdl2_sys}"."static-link" = - (f.sdl2_sys."${deps.sdl2."0.32.2".sdl2_sys}"."static-link" or false) || - (sdl2."0.32.2"."static-link" or false) || - (f."sdl2"."0.32.2"."static-link" or false); } - { "${deps.sdl2."0.32.2".sdl2_sys}"."ttf" = - (f.sdl2_sys."${deps.sdl2."0.32.2".sdl2_sys}"."ttf" or false) || - (sdl2."0.32.2"."ttf" or false) || - (f."sdl2"."0.32.2"."ttf" or false); } - { "${deps.sdl2."0.32.2".sdl2_sys}"."use-bindgen" = - (f.sdl2_sys."${deps.sdl2."0.32.2".sdl2_sys}"."use-bindgen" or false) || - (sdl2."0.32.2"."use-bindgen" or false) || - (f."sdl2"."0.32.2"."use-bindgen" or false); } - { "${deps.sdl2."0.32.2".sdl2_sys}"."use-pkgconfig" = - (f.sdl2_sys."${deps.sdl2."0.32.2".sdl2_sys}"."use-pkgconfig" or false) || - (sdl2."0.32.2"."use-pkgconfig" or false) || - (f."sdl2"."0.32.2"."use-pkgconfig" or false); } - { "${deps.sdl2."0.32.2".sdl2_sys}"."use_mac_framework" = - (f.sdl2_sys."${deps.sdl2."0.32.2".sdl2_sys}"."use_mac_framework" or false) || - (sdl2."0.32.2"."use_mac_framework" or false) || - (f."sdl2"."0.32.2"."use_mac_framework" or false); } - { "${deps.sdl2."0.32.2".sdl2_sys}".default = true; } - ]; - }) [ - (features_.bitflags."${deps."sdl2"."0.32.2"."bitflags"}" deps) - (features_.lazy_static."${deps."sdl2"."0.32.2"."lazy_static"}" deps) - (features_.libc."${deps."sdl2"."0.32.2"."libc"}" deps) - (features_.num."${deps."sdl2"."0.32.2"."num"}" deps) - (features_.rand."${deps."sdl2"."0.32.2"."rand"}" deps) - (features_.sdl2_sys."${deps."sdl2"."0.32.2"."sdl2_sys"}" deps) - ]; - - -# end -# sdl2-sys-0.32.6 - - crates.sdl2_sys."0.32.6" = deps: { features?(features_.sdl2_sys."0.32.6" deps {}) }: buildRustCrate { - crateName = "sdl2-sys"; - version = "0.32.6"; - authors = [ "Tony Aldridge <tony@angry-lawyer.com>" ]; - edition = "2018"; - sha256 = "1m3wligbxakzmnkbfs1q91n9b0wxfwi7zr3r17ib0lbbjf84qvj7"; - libPath = "src/lib.rs"; - libName = "sdl2_sys"; - build = "build.rs"; - dependencies = mapFeatures features ([ - (crates."libc"."${deps."sdl2_sys"."0.32.6"."libc"}" deps) - ]); - - buildDependencies = mapFeatures features ([ - (crates."cfg_if"."${deps."sdl2_sys"."0.32.6"."cfg_if"}" deps) - ]); - features = mkFeatures (features."sdl2_sys"."0.32.6" or {}); - }; - features_.sdl2_sys."0.32.6" = deps: f: updateFeatures f (rec { - cfg_if."${deps.sdl2_sys."0.32.6".cfg_if}".default = true; - libc."${deps.sdl2_sys."0.32.6".libc}".default = true; - sdl2_sys = fold recursiveUpdate {} [ - { "0.32.6".bindgen = - (f.sdl2_sys."0.32.6".bindgen or false) || - (f.sdl2_sys."0.32.6".use-bindgen or false) || - (sdl2_sys."0.32.6"."use-bindgen" or false); } - { "0.32.6".cmake = - (f.sdl2_sys."0.32.6".cmake or false) || - (f.sdl2_sys."0.32.6".bundled or false) || - (sdl2_sys."0.32.6"."bundled" or false); } - { "0.32.6".default = (f.sdl2_sys."0.32.6".default or true); } - { "0.32.6".flate2 = - (f.sdl2_sys."0.32.6".flate2 or false) || - (f.sdl2_sys."0.32.6".bundled or false) || - (sdl2_sys."0.32.6"."bundled" or false); } - { "0.32.6".pkg-config = - (f.sdl2_sys."0.32.6".pkg-config or false) || - (f.sdl2_sys."0.32.6".use-pkgconfig or false) || - (sdl2_sys."0.32.6"."use-pkgconfig" or false); } - { "0.32.6".tar = - (f.sdl2_sys."0.32.6".tar or false) || - (f.sdl2_sys."0.32.6".bundled or false) || - (sdl2_sys."0.32.6"."bundled" or false); } - { "0.32.6".unidiff = - (f.sdl2_sys."0.32.6".unidiff or false) || - (f.sdl2_sys."0.32.6".bundled or false) || - (sdl2_sys."0.32.6"."bundled" or false); } - ]; - }) [ - (features_.libc."${deps."sdl2_sys"."0.32.6"."libc"}" deps) - (features_.cfg_if."${deps."sdl2_sys"."0.32.6"."cfg_if"}" deps) - ]; - - -# end -# winapi-0.3.7 - - crates.winapi."0.3.7" = deps: { features?(features_.winapi."0.3.7" deps {}) }: buildRustCrate { - crateName = "winapi"; - version = "0.3.7"; - authors = [ "Peter Atashian <retep998@gmail.com>" ]; - sha256 = "1k51gfkp0zqw7nj07y443mscs46icmdhld442s2073niap0kkdr8"; - build = "build.rs"; - dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([ - (crates."winapi_i686_pc_windows_gnu"."${deps."winapi"."0.3.7"."winapi_i686_pc_windows_gnu"}" deps) - ]) else []) - ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([ - (crates."winapi_x86_64_pc_windows_gnu"."${deps."winapi"."0.3.7"."winapi_x86_64_pc_windows_gnu"}" deps) - ]) else []); - features = mkFeatures (features."winapi"."0.3.7" or {}); - }; - features_.winapi."0.3.7" = deps: f: updateFeatures f (rec { - winapi = fold recursiveUpdate {} [ - { "0.3.7".default = (f.winapi."0.3.7".default or true); } - { "0.3.7".impl-debug = - (f.winapi."0.3.7".impl-debug or false) || - (f.winapi."0.3.7".debug or false) || - (winapi."0.3.7"."debug" or false); } - ]; - winapi_i686_pc_windows_gnu."${deps.winapi."0.3.7".winapi_i686_pc_windows_gnu}".default = true; - winapi_x86_64_pc_windows_gnu."${deps.winapi."0.3.7".winapi_x86_64_pc_windows_gnu}".default = true; - }) [ - (features_.winapi_i686_pc_windows_gnu."${deps."winapi"."0.3.7"."winapi_i686_pc_windows_gnu"}" deps) - (features_.winapi_x86_64_pc_windows_gnu."${deps."winapi"."0.3.7"."winapi_x86_64_pc_windows_gnu"}" deps) - ]; - - -# end -# winapi-i686-pc-windows-gnu-0.4.0 - - crates.winapi_i686_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_i686_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate { - crateName = "winapi-i686-pc-windows-gnu"; - version = "0.4.0"; - authors = [ "Peter Atashian <retep998@gmail.com>" ]; - sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp"; - build = "build.rs"; - }; - features_.winapi_i686_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f (rec { - winapi_i686_pc_windows_gnu."0.4.0".default = (f.winapi_i686_pc_windows_gnu."0.4.0".default or true); - }) []; - - -# end -# winapi-x86_64-pc-windows-gnu-0.4.0 - - crates.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_x86_64_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate { - crateName = "winapi-x86_64-pc-windows-gnu"; - version = "0.4.0"; - authors = [ "Peter Atashian <retep998@gmail.com>" ]; - sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj"; - build = "build.rs"; - }; - features_.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f (rec { - winapi_x86_64_pc_windows_gnu."0.4.0".default = (f.winapi_x86_64_pc_windows_gnu."0.4.0".default or true); - }) []; - - -# end -} diff --git a/default.nix b/default.nix deleted file mode 100644 index cd61229..0000000 --- a/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ pkgs ? import <nixpkgs> {} }: - -((import ./Cargo.nix).stallman_shooter {}).override { - buildInputs = [ pkgs.SDL2 pkgs.SDL2_image ]; -} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..7d1d4c0 --- /dev/null +++ b/flake.lock @@ -0,0 +1,25 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1689935543, + "narHash": "sha256-6GQ9ib4dA/r1leC5VUpsBo0BmDvNxLjKrX1iyL+h8mc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e43e2448161c0a2c4928abec4e16eae1516571bc", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..540dad2 --- /dev/null +++ b/flake.nix @@ -0,0 +1,28 @@ +{ + description = "An RMS-themed bullet hell game."; + + outputs = { self, nixpkgs }: + let pkgs = nixpkgs.legacyPackages.x86_64-linux; in + rec { + + packages.x86_64-linux.stallman-shooter = pkgs.rustPlatform.buildRustPackage { + pname = "stallman-shooter"; + version = "1.0.0"; + + src = self; + + cargoLock = { + lockFile = ./Cargo.lock; + }; + + buildInputs = with pkgs; [ + SDL2 + SDL2_image + ]; + }; + + defaultPackage.x86_64-linux = packages.x86_64-linux.stallman-shooter; + + checks.build = packages.x86_64-linux.stallman-shooter; + }; +} diff --git a/src/main.rs b/src/main.rs index eccef92..59913c0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,14 +1,11 @@ -extern crate sdl2; -extern crate sdl2_sys; - -mod state; -mod player; mod constants; mod gates; +mod player; +mod state; -use state::Positioned; -use state::Drawable; use state::Bullet; +use state::Drawable; +use state::Positioned; enum FResult { Win, @@ -26,7 +23,12 @@ struct Textures<'a> { const DURATION: u32 = 1_000_000_000u32 / 60; -fn frame<T: state::Enemy<U>, U: state::Bullet>(canvas: &mut sdl2::render::WindowCanvas, state: &mut state::State<T, U>, events: &mut sdl2::event::EventPollIterator, textures: &Textures) -> FResult { +fn frame<T: state::Enemy<U>, U: state::Bullet>( + canvas: &mut sdl2::render::WindowCanvas, + state: &mut state::State<T, U>, + events: &mut sdl2::event::EventPollIterator, + textures: &Textures, +) -> FResult { let mut new_bullets = Vec::new(); let count = state.count; for enemy in state.enemies.iter_mut() { @@ -42,12 +44,24 @@ fn frame<T: state::Enemy<U>, U: state::Bullet>(canvas: &mut sdl2::render::Window Err(_) => { return FResult::Exit; } - Ok(_) => { } + Ok(_) => {} } if count % state.player.fire_rate as u64 == 0 { - state.player_bullets.push(state::PBullet::new(state.player.x, 0., state.player.y, -3.5)); + state.player_bullets.push(state::PBullet::new( + state.player.x, + 0., + state.player.y, + -3.5, + )); } - if state.bullets.iter().any(|bullet| state.player.overlaps(bullet)) || new_bullets.iter().any(|bullet| state.player.overlaps(bullet)) { + if state + .bullets + .iter() + .any(|bullet| state.player.overlaps(bullet)) + || new_bullets + .iter() + .any(|bullet| state.player.overlaps(bullet)) + { return FResult::Loss; } for enemy in state.enemies.iter_mut() { @@ -58,13 +72,17 @@ fn frame<T: state::Enemy<U>, U: state::Bullet>(canvas: &mut sdl2::render::Window } } } - state.enemies.retain(|enemy| state::Enemy::health(enemy) > 0.); + state + .enemies + .retain(|enemy| state::Enemy::health(enemy) > 0.); if state.enemies.len() == 0 { return FResult::Win; } state.bullets.retain(|bullet| !U::outside(bullet)); state.bullets.append(&mut new_bullets); - state.player_bullets.retain(|bullet| !state::PBullet::outside(bullet)); + state + .player_bullets + .retain(|bullet| !state::PBullet::outside(bullet)); for bullet in state.player_bullets.iter() { bullet.draw(canvas, &textures.pbullet); } @@ -76,22 +94,32 @@ fn frame<T: state::Enemy<U>, U: state::Bullet>(canvas: &mut sdl2::render::Window bullet.draw(canvas, &textures.ebullet); } canvas.set_draw_color(sdl2::pixels::Color::RGB(255, 0, 0)); - canvas.draw_rect(sdl2::rect::Rect::new(0, 0, (state.enemies[0].health() * constants::X_DIM as f64).round() as u32, 20)).unwrap(); + canvas + .draw_rect(sdl2::rect::Rect::new( + 0, + 0, + (state.enemies[0].health() * constants::X_DIM as f64).round() as u32, + 20, + )) + .unwrap(); state.count += 1; FResult::Nothing } -/* Why tf do I not need a lifetime here? */ fn get_surface(bytes: &[u8]) -> sdl2::surface::Surface { (unsafe { - let rw = sdl2_sys::SDL_RWFromMem(bytes.as_ptr() as *mut std::os::raw::c_void, bytes.len() as i32); + let rw = sdl2_sys::SDL_RWFromMem( + bytes.as_ptr() as *mut std::os::raw::c_void, + bytes.len() as i32, + ); let raw = sdl2_sys::image::IMG_Load_RW(rw, 1); if (raw as *mut ()).is_null() { Err("Returned null") } else { Ok(sdl2::surface::Surface::from_ll(raw)) } - }).unwrap() + }) + .unwrap() } fn get_player_surface() -> sdl2::surface::Surface<'static> { @@ -110,10 +138,18 @@ fn get_pbullet_surface() -> sdl2::surface::Surface<'static> { get_surface(include_bytes!("assets/player_pepp.png")) } -fn generic_message(canvas: &mut sdl2::render::WindowCanvas, event_pump: &mut sdl2::EventPump, image: &[u8], okay: sdl2::keyboard::Keycode, error: sdl2::keyboard::Keycode) -> Result<(), ()> { +fn generic_message( + canvas: &mut sdl2::render::WindowCanvas, + event_pump: &mut sdl2::EventPump, + image: &[u8], + okay: sdl2::keyboard::Keycode, + error: sdl2::keyboard::Keycode, +) -> Result<(), ()> { let surface = get_surface(image); let texture_creator = canvas.texture_creator(); - let texture = texture_creator.create_texture_from_surface(surface).unwrap(); + let texture = texture_creator + .create_texture_from_surface(surface) + .unwrap(); let frame_duration = std::time::Duration::new(0, DURATION); loop { let start = std::time::Instant::now(); @@ -121,7 +157,10 @@ fn generic_message(canvas: &mut sdl2::render::WindowCanvas, event_pump: &mut sdl canvas.present(); for event in event_pump.poll_iter() { match event { - sdl2::event::Event::KeyDown { keycode: Some(keycode), .. } => { + sdl2::event::Event::KeyDown { + keycode: Some(keycode), + .. + } => { if keycode == okay { return Ok(()); } @@ -129,10 +168,10 @@ fn generic_message(canvas: &mut sdl2::render::WindowCanvas, event_pump: &mut sdl return Err(()); } } - sdl2::event::Event::Quit {..} => { + sdl2::event::Event::Quit { .. } => { return Err(()); } - _ => { } + _ => {} } } match frame_duration.checked_sub(start.elapsed()) { @@ -142,28 +181,59 @@ fn generic_message(canvas: &mut sdl2::render::WindowCanvas, event_pump: &mut sdl } } -fn introduction(canvas: &mut sdl2::render::WindowCanvas, event_pump: &mut sdl2::EventPump) -> Result<(), ()> { - return generic_message(canvas, event_pump, include_bytes!("assets/introduction.png"), sdl2::keyboard::Keycode::Return, sdl2::keyboard::Keycode::Escape); +fn introduction( + canvas: &mut sdl2::render::WindowCanvas, + event_pump: &mut sdl2::EventPump, +) -> Result<(), ()> { + return generic_message( + canvas, + event_pump, + include_bytes!("assets/introduction.png"), + sdl2::keyboard::Keycode::Return, + sdl2::keyboard::Keycode::Escape, + ); } -fn loss(canvas: &mut sdl2::render::WindowCanvas, event_pump: &mut sdl2::EventPump) -> Result<(), ()> { - return generic_message(canvas, event_pump, include_bytes!("assets/loss.png"), sdl2::keyboard::Keycode::R, sdl2::keyboard::Keycode::Escape); +fn loss( + canvas: &mut sdl2::render::WindowCanvas, + event_pump: &mut sdl2::EventPump, +) -> Result<(), ()> { + return generic_message( + canvas, + event_pump, + include_bytes!("assets/loss.png"), + sdl2::keyboard::Keycode::R, + sdl2::keyboard::Keycode::Escape, + ); } -fn victory(canvas: &mut sdl2::render::WindowCanvas, event_pump: &mut sdl2::EventPump) -> Result<(), ()> { - return generic_message(canvas, event_pump, include_bytes!("assets/victory.png"), sdl2::keyboard::Keycode::R, sdl2::keyboard::Keycode::Escape); +fn victory( + canvas: &mut sdl2::render::WindowCanvas, + event_pump: &mut sdl2::EventPump, +) -> Result<(), ()> { + return generic_message( + canvas, + event_pump, + include_bytes!("assets/victory.png"), + sdl2::keyboard::Keycode::R, + sdl2::keyboard::Keycode::Escape, + ); } fn main() { let sdl_context = sdl2::init().unwrap(); let video_subsystem = sdl_context.video().unwrap(); - let window = video_subsystem.window("rust-sdl2 demo", constants::X_DIM, constants::Y_DIM).position_centered().build().unwrap(); + let window = video_subsystem + .window("rust-sdl2 demo", constants::X_DIM, constants::Y_DIM) + .position_centered() + .build() + .unwrap(); let mut canvas = window.into_canvas().build().unwrap(); let mut event_pump = sdl_context.event_pump().unwrap(); - + match introduction(&mut canvas, &mut event_pump) { - Ok(_) => { } + Ok(_) => {} Err(_) => { return; } @@ -176,37 +246,51 @@ fn main() { let ebullet_surface = get_ebullet_surface(); let pbullet_surface = get_pbullet_surface(); let texture_creator = canvas.texture_creator(); - let player_texture = texture_creator.create_texture_from_surface(player_surface).unwrap(); - let enemy_texture = texture_creator.create_texture_from_surface(enemy_surface).unwrap(); - let ebullet_texture = texture_creator.create_texture_from_surface(ebullet_surface).unwrap(); - let pbullet_texture = texture_creator.create_texture_from_surface(pbullet_surface).unwrap(); - let surfaces = Textures { player: player_texture, enemy: enemy_texture, pbullet: pbullet_texture, ebullet: ebullet_texture }; + let player_texture = texture_creator + .create_texture_from_surface(player_surface) + .unwrap(); + let enemy_texture = texture_creator + .create_texture_from_surface(enemy_surface) + .unwrap(); + let ebullet_texture = texture_creator + .create_texture_from_surface(ebullet_surface) + .unwrap(); + let pbullet_texture = texture_creator + .create_texture_from_surface(pbullet_surface) + .unwrap(); + let surfaces = Textures { + player: player_texture, + enemy: enemy_texture, + pbullet: pbullet_texture, + ebullet: ebullet_texture, + }; let frame_duration = std::time::Duration::new(0, DURATION); - 'running: loop { + loop { let start = std::time::Instant::now(); canvas.set_draw_color(sdl2::pixels::Color::RGB(255, 255, 255)); canvas.clear(); - match frame(&mut canvas, &mut state, &mut event_pump.poll_iter(), &surfaces) { - FResult::Loss => { - match loss(&mut canvas, &mut event_pump) { - Ok(_) => { - break; - } - Err(_) => { - break 'retry; - } + match frame( + &mut canvas, + &mut state, + &mut event_pump.poll_iter(), + &surfaces, + ) { + FResult::Loss => match loss(&mut canvas, &mut event_pump) { + Ok(_) => { + break; } - } - FResult::Win => { - match victory(&mut canvas, &mut event_pump) { - Ok(_) => { - break; - } - Err(_) => { - break 'retry; - } + Err(_) => { + break 'retry; } - } + }, + FResult::Win => match victory(&mut canvas, &mut event_pump) { + Ok(_) => { + break; + } + Err(_) => { + break 'retry; + } + }, FResult::Exit => { break 'retry; } |
