Merge branch 'master' into physics

This commit is contained in:
yuni 2024-03-30 15:21:48 +01:00
commit a57b0808b6
3 changed files with 51 additions and 216 deletions

214
Cargo.lock generated
View file

@ -310,25 +310,6 @@ dependencies = [
"bevy_ecs", "bevy_ecs",
] ]
[[package]]
name = "bevy_animation"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa4ef4c35533df3f0c4e938cf6a831456ea563775bab799336f74331140c7665"
dependencies = [
"bevy_app",
"bevy_asset",
"bevy_core",
"bevy_ecs",
"bevy_hierarchy",
"bevy_math",
"bevy_reflect",
"bevy_render",
"bevy_time",
"bevy_transform",
"bevy_utils",
]
[[package]] [[package]]
name = "bevy_app" name = "bevy_app"
version = "0.13.0" version = "0.13.0"
@ -403,7 +384,6 @@ dependencies = [
"bevy_reflect", "bevy_reflect",
"bevy_transform", "bevy_transform",
"bevy_utils", "bevy_utils",
"oboe 0.5.0",
"rodio", "rodio",
] ]
@ -534,22 +514,6 @@ dependencies = [
"encase_derive_impl", "encase_derive_impl",
] ]
[[package]]
name = "bevy_gilrs"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96364a1875ee4545fcf825c78dc065ddb9a3b2a509083ef11142f9de0eb8aa17"
dependencies = [
"bevy_app",
"bevy_ecs",
"bevy_input",
"bevy_log",
"bevy_time",
"bevy_utils",
"gilrs",
"thiserror",
]
[[package]] [[package]]
name = "bevy_gizmos" name = "bevy_gizmos"
version = "0.13.0" version = "0.13.0"
@ -591,7 +555,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "031d0c2a7c0353bb9ac08a5130e58b9a2de3cdaa3c31b5da00b22a9e4732a155" checksum = "031d0c2a7c0353bb9ac08a5130e58b9a2de3cdaa3c31b5da00b22a9e4732a155"
dependencies = [ dependencies = [
"base64", "base64",
"bevy_animation",
"bevy_app", "bevy_app",
"bevy_asset", "bevy_asset",
"bevy_core", "bevy_core",
@ -650,7 +613,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7af89c7083830b1d65fcf0260c3d2537c397fe8ce871471b6e97198a4704f23e" checksum = "7af89c7083830b1d65fcf0260c3d2537c397fe8ce871471b6e97198a4704f23e"
dependencies = [ dependencies = [
"bevy_a11y", "bevy_a11y",
"bevy_animation",
"bevy_app", "bevy_app",
"bevy_asset", "bevy_asset",
"bevy_audio", "bevy_audio",
@ -659,7 +621,6 @@ dependencies = [
"bevy_derive", "bevy_derive",
"bevy_diagnostic", "bevy_diagnostic",
"bevy_ecs", "bevy_ecs",
"bevy_gilrs",
"bevy_gizmos", "bevy_gizmos",
"bevy_gltf", "bevy_gltf",
"bevy_hierarchy", "bevy_hierarchy",
@ -1507,7 +1468,7 @@ dependencies = [
"mach2", "mach2",
"ndk", "ndk",
"ndk-context", "ndk-context",
"oboe 0.6.1", "oboe",
"wasm-bindgen", "wasm-bindgen",
"wasm-bindgen-futures", "wasm-bindgen-futures",
"web-sys", "web-sys",
@ -1771,12 +1732,6 @@ dependencies = [
"miniz_oxide", "miniz_oxide",
] ]
[[package]]
name = "fnv"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]] [[package]]
name = "foreign-types" name = "foreign-types"
version = "0.5.0" version = "0.5.0"
@ -1861,40 +1816,6 @@ dependencies = [
"wasm-bindgen", "wasm-bindgen",
] ]
[[package]]
name = "gilrs"
version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0510502768c64b944bf4d1518ba36e2431c638ac996ebacb543a297b145f8300"
dependencies = [
"fnv",
"gilrs-core",
"log",
"uuid",
"vec_map",
]
[[package]]
name = "gilrs-core"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85c132270a155f2548e67d66e731075c336c39098afc555752f3df8f882c720e"
dependencies = [
"core-foundation",
"inotify",
"io-kit-sys",
"js-sys",
"libc",
"libudev-sys",
"log",
"nix",
"uuid",
"vec_map",
"wasm-bindgen",
"web-sys",
"windows 0.54.0",
]
[[package]] [[package]]
name = "gl_generator" name = "gl_generator"
version = "0.14.0" version = "0.14.0"
@ -2141,36 +2062,6 @@ version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a"
[[package]]
name = "inotify"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc"
dependencies = [
"bitflags 1.3.2",
"inotify-sys",
"libc",
]
[[package]]
name = "inotify-sys"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
dependencies = [
"libc",
]
[[package]]
name = "io-kit-sys"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "617ee6cf8e3f66f3b4ea67a4058564628cde41901316e19f559e14c7c72c5e7b"
dependencies = [
"core-foundation-sys",
"mach2",
]
[[package]] [[package]]
name = "itertools" name = "itertools"
version = "0.12.1" version = "0.12.1"
@ -2182,9 +2073,9 @@ dependencies = [
[[package]] [[package]]
name = "itoa" name = "itoa"
version = "1.0.10" version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]] [[package]]
name = "jni" name = "jni"
@ -2324,16 +2215,6 @@ dependencies = [
"redox_syscall 0.4.1", "redox_syscall 0.4.1",
] ]
[[package]]
name = "libudev-sys"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324"
dependencies = [
"libc",
"pkg-config",
]
[[package]] [[package]]
name = "linux-raw-sys" name = "linux-raw-sys"
version = "0.4.13" version = "0.4.13"
@ -2420,26 +2301,6 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "minimp3-sys"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e21c73734c69dc95696c9ed8926a2b393171d98b3f5f5935686a26a487ab9b90"
dependencies = [
"cc",
]
[[package]]
name = "minimp3_fixed"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42b0f14e7e75da97ae396c2656b10262a3d4afa2ec98f35795630eff0c8b951b"
dependencies = [
"minimp3-sys",
"slice-ring-buffer",
"thiserror",
]
[[package]] [[package]]
name = "miniz_oxide" name = "miniz_oxide"
version = "0.7.2" version = "0.7.2"
@ -2549,18 +2410,6 @@ dependencies = [
"jni-sys", "jni-sys",
] ]
[[package]]
name = "nix"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
dependencies = [
"bitflags 2.4.2",
"cfg-if",
"cfg_aliases",
"libc",
]
[[package]] [[package]]
name = "nom" name = "nom"
version = "7.1.3" version = "7.1.3"
@ -2605,17 +2454,6 @@ dependencies = [
"num-traits", "num-traits",
] ]
[[package]]
name = "num-derive"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]] [[package]]
name = "num-derive" name = "num-derive"
version = "0.4.2" version = "0.4.2"
@ -2745,17 +2583,6 @@ dependencies = [
"cc", "cc",
] ]
[[package]]
name = "oboe"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8868cc237ee02e2d9618539a23a8d228b9bb3fc2e7a5b11eed3831de77c395d0"
dependencies = [
"num-derive 0.3.3",
"num-traits",
"oboe-sys 0.5.0",
]
[[package]] [[package]]
name = "oboe" name = "oboe"
version = "0.6.1" version = "0.6.1"
@ -2765,18 +2592,9 @@ dependencies = [
"jni", "jni",
"ndk", "ndk",
"ndk-context", "ndk-context",
"num-derive 0.4.2", "num-derive",
"num-traits", "num-traits",
"oboe-sys 0.6.1", "oboe-sys",
]
[[package]]
name = "oboe-sys"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f44155e7fb718d3cfddcf70690b2b51ac4412f347cd9e4fbe511abe9cd7b5f2"
dependencies = [
"cc",
] ]
[[package]] [[package]]
@ -3162,7 +2980,6 @@ checksum = "3b1bb7b48ee48471f55da122c0044fcc7600cfcc85db88240b89cb832935e611"
dependencies = [ dependencies = [
"cpal", "cpal",
"lewton", "lewton",
"minimp3_fixed",
] ]
[[package]] [[package]]
@ -3274,9 +3091,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.114" version = "1.0.115"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
dependencies = [ dependencies = [
"itoa", "itoa",
"ryu", "ryu",
@ -3326,17 +3143,6 @@ dependencies = [
"autocfg", "autocfg",
] ]
[[package]]
name = "slice-ring-buffer"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7081c7e452cb62f5f0c32edd4e265391bdbb23e90905df8bb88a23d3b5166b77"
dependencies = [
"libc",
"mach2",
"winapi",
]
[[package]] [[package]]
name = "slotmap" name = "slotmap"
version = "1.0.7" version = "1.0.7"
@ -3661,12 +3467,6 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "vec_map"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
[[package]] [[package]]
name = "version_check" name = "version_check"
version = "0.9.4" version = "0.9.4"

View file

@ -11,26 +11,23 @@ rust-version = "1.76.0"
[dependencies] [dependencies]
regex = "1" regex = "1"
bevy = { version = "0.13.0", default-features = false, features = ["jpeg", "bevy_asset", "bevy_audio", "bevy_scene", "bevy_winit", "bevy_core_pipeline", "bevy_pbr", "bevy_gltf", "bevy_render", "bevy_text", "bevy_ui", "multi-threaded", "png", "vorbis", "x11", "tonemapping_luts"]}
bevy_embedded_assets = "0.10.2" bevy_embedded_assets = "0.10.2"
bevy_xpbd_3d = "0.4" bevy_xpbd_3d = "0.4"
[dependencies."bevy"] [features]
version = "0.13.0" dev = ["bevy/dynamic_linking"]
features = ["jpeg", "minimp3", "dynamic_linking"] # For debug builds
#features = ["jpeg", "minimp3"] # For release builds
# Enable a small amount of optimization in debug mode
[profile.dev] [profile.dev]
opt-level = 1 opt-level = 1
# Enable high optimizations for dependencies (incl. Bevy), but not for our code:
[profile.dev.package."*"] [profile.dev.package."*"]
opt-level = 3 opt-level = 3 # high optimizations for dependencies, but not for our code
[profile.release] [profile.release]
lto = true lto = true
opt-level = 'z' opt-level = 'z'
#opt-level = 3
codegen-units = 1 codegen-units = 1
incremental = false incremental = false
debug = false debug = false
strip = true

View file

@ -29,9 +29,30 @@ Key features:
# System Requirements # System Requirements
- A graphics card with vulkan support - Screen, keyboard, mouse
- Operating System: Linux, Windows, MacOS
- Ideally, a graphics card with vulkan support
If your GPU does not support vulkan, try rendering with OpenGL by setting the environment variable `WGPU_BACKEND` to `gl`, like:
```
WGPU_BACKEND=gl ./outfly
or
WGPU_BACKEND=gl cargo run
```
However, this may result in poor performance and visual glitches.
# Building # Building
## General notes
For development, it's recommended to use `--features dev` to enable dynamic linking, e.g. like this:
```
cargo [run|build] --features dev
```
## On Linux
To run the pre-compiled version on Arch Linux, you need some basic libs: To run the pre-compiled version on Arch Linux, you need some basic libs:
@ -65,6 +86,23 @@ cargo build --target=x86_64-pc-windows-gnu --release
More information here: https://bevy-cheatbook.github.io/setup/cross/linux-windows.html More information here: https://bevy-cheatbook.github.io/setup/cross/linux-windows.html
## Building on Mac OS
Install homebrew, and then get the following dependencies:
```
brew install pkg-config molten-vk rustup
rustup-init
```
Download, compile and run the game:
```
git clone [URL]
cd outfly
cargo run --release
```
# Credits # Credits
- https://pixabay.com/sound-effects/typosonic-typing-192811 - https://pixabay.com/sound-effects/typosonic-typing-192811