2019-01-02 21:25:01 +00:00
|
|
|
[package]
|
2024-05-16 08:40:15 +00:00
|
|
|
authors = [
|
|
|
|
"Joshua Barretto <joshua.s.barretto@gmail.com>",
|
|
|
|
"Imbris <imbrisf@gmail.com>",
|
|
|
|
]
|
2019-05-27 20:51:42 +00:00
|
|
|
default-run = "veloren-voxygen"
|
2022-01-26 13:38:47 +00:00
|
|
|
edition = "2021"
|
2020-08-31 15:26:46 +00:00
|
|
|
name = "veloren-voxygen"
|
2024-03-29 23:10:54 +00:00
|
|
|
version = "0.16.0"
|
2020-01-09 06:05:20 +00:00
|
|
|
# Cargo thinks it should build the voxygen binary even when a specific bench is specified for building
|
|
|
|
# Uncomment below and comment out default-run if you want to avoid this
|
|
|
|
# autobins = false
|
2019-01-02 21:25:01 +00:00
|
|
|
|
2021-04-16 15:09:51 +00:00
|
|
|
[package.metadata.nix]
|
|
|
|
build = true
|
|
|
|
app = true
|
|
|
|
desktopFile = "./assets/voxygen/net.veloren.veloren.desktop"
|
|
|
|
longDescription = """
|
|
|
|
Veloren is a multiplayer voxel RPG written in Rust.
|
|
|
|
It is inspired by games such as Cube World, Legend of Zelda: Breath of the Wild, Dwarf Fortress and Minecraft.
|
|
|
|
|
|
|
|
This package includes the official client, Voxygen.
|
|
|
|
"""
|
|
|
|
|
2019-01-07 21:10:31 +00:00
|
|
|
[features]
|
2020-08-31 15:26:46 +00:00
|
|
|
hot-anim = ["anim/use-dyn-lib"]
|
2021-07-04 09:47:18 +00:00
|
|
|
hot-egui = ["voxygen-egui/use-dyn-lib", "egui"]
|
2021-06-27 18:34:32 +00:00
|
|
|
hot-reloading = ["common/hot-reloading"]
|
2019-10-11 12:19:55 +00:00
|
|
|
singleplayer = ["server"]
|
2020-09-29 12:29:18 +00:00
|
|
|
simd = ["vek/platform_intrinsics"]
|
2023-03-07 05:55:36 +00:00
|
|
|
tracy = ["common-frontend/tracy", "client/tracy"]
|
2024-05-16 08:40:15 +00:00
|
|
|
tracy-memory = ["tracy"] # enables heap profiling with tracy
|
2024-02-24 14:55:48 +00:00
|
|
|
plugins = ["client/plugins", "common-assets/plugins", "server/plugins"]
|
2021-07-04 09:47:18 +00:00
|
|
|
egui-ui = ["voxygen-egui", "egui", "egui_wgpu_backend", "egui_winit_platform"]
|
2024-01-07 16:51:44 +00:00
|
|
|
shaderc-from-source = ["shaderc/build-from-source"]
|
2022-08-15 15:58:37 +00:00
|
|
|
discord = ["discord-sdk"]
|
2022-12-15 16:19:49 +00:00
|
|
|
bin_img-export = ["common-assets"]
|
2019-01-07 21:10:31 +00:00
|
|
|
|
2021-06-26 15:43:39 +00:00
|
|
|
# We don't ship egui with published release builds so a separate feature is required that excludes it.
|
2024-05-16 08:40:15 +00:00
|
|
|
default-publish = [
|
|
|
|
"singleplayer",
|
|
|
|
"native-dialog",
|
|
|
|
"plugins",
|
|
|
|
"discord",
|
|
|
|
"simd",
|
|
|
|
]
|
2022-06-04 01:25:17 +00:00
|
|
|
# Temp for bug on current wgpu version that has access violation in vulkan when constructing egui pipeline
|
2024-01-07 16:51:44 +00:00
|
|
|
default-no-egui = ["default-publish", "hot-reloading", "shaderc-from-source"]
|
2022-06-04 01:25:17 +00:00
|
|
|
default = ["default-no-egui", "egui-ui"]
|
2019-01-07 21:10:31 +00:00
|
|
|
|
2019-01-02 21:25:01 +00:00
|
|
|
[dependencies]
|
2024-05-16 08:40:15 +00:00
|
|
|
client = { package = "veloren-client", path = "../client" }
|
|
|
|
common = { package = "veloren-common", path = "../common" }
|
|
|
|
common-assets = { package = "veloren-common-assets", path = "../common/assets", optional = true } # img-export
|
|
|
|
common-base = { package = "veloren-common-base", path = "../common/base" }
|
|
|
|
common-ecs = { package = "veloren-common-ecs", path = "../common/ecs" }
|
|
|
|
common-frontend = { package = "veloren-common-frontend", path = "../common/frontend" }
|
|
|
|
common-net = { package = "veloren-common-net", path = "../common/net" }
|
|
|
|
common-state = { package = "veloren-common-state", path = "../common/state" }
|
|
|
|
common-systems = { package = "veloren-common-systems", path = "../common/systems" }
|
|
|
|
|
|
|
|
anim = { package = "veloren-voxygen-anim", path = "anim" }
|
|
|
|
i18n = { package = "veloren-client-i18n", path = "../client/i18n" }
|
|
|
|
i18n-helpers = { package = "veloren-voxygen-i18n-helpers", path = "i18n-helpers" }
|
|
|
|
voxygen-egui = { package = "veloren-voxygen-egui", path = "egui", optional = true }
|
2020-06-17 07:49:14 +00:00
|
|
|
|
2019-01-02 21:25:01 +00:00
|
|
|
# Graphics
|
2024-05-16 08:40:15 +00:00
|
|
|
winit = { version = "0.28.6", features = ["serde"] }
|
|
|
|
wgpu = { version = "0.18.0", default-features = false, features = [
|
|
|
|
"trace",
|
|
|
|
"spirv",
|
|
|
|
"glsl",
|
|
|
|
] }
|
2021-08-17 22:15:29 +00:00
|
|
|
wgpu-profiler = "0.15.0"
|
2024-05-16 08:40:15 +00:00
|
|
|
bytemuck = { version = "1.7", features = ["derive"] }
|
2024-01-07 16:51:44 +00:00
|
|
|
# shaderc = "0.8.0"
|
|
|
|
# Working around a current bug in shaderc that causes it to use the system installation even if we specify compile from source
|
|
|
|
shaderc = { git = "https://github.com/pythonesque/shaderc-rs", rev = "f2605a02062834019bedff911aee2fd2998c49f9" }
|
2019-01-02 22:08:13 +00:00
|
|
|
|
2019-12-15 17:13:52 +00:00
|
|
|
# Ui
|
2024-05-16 08:40:15 +00:00
|
|
|
conrod_core = { git = "https://gitlab.com/veloren/conrod.git", branch = "copypasta_0.7" }
|
|
|
|
conrod_winit = { git = "https://gitlab.com/veloren/conrod.git", branch = "copypasta_0.7" }
|
2021-03-09 23:41:56 +00:00
|
|
|
euc = "0.5.0"
|
2024-05-16 08:40:15 +00:00
|
|
|
iced = { package = "iced_native", git = "https://github.com/Imberflur/iced", tag = "veloren-winit-0.28" }
|
|
|
|
iced_winit = { git = "https://github.com/Imberflur/iced", tag = "veloren-winit-0.28" }
|
2020-05-29 04:40:22 +00:00
|
|
|
glyph_brush = "0.7.0"
|
2023-08-23 04:45:36 +00:00
|
|
|
# https://gitlab.com/Frinksy/keyboard-keynames/-/merge_requests/8
|
|
|
|
keyboard-keynames = { git = "https://gitlab.com/Imbris/keyboard-keynames.git", tag = "veloren-winit-0.28" }
|
2021-07-04 09:47:18 +00:00
|
|
|
# EGUI
|
2024-05-16 08:40:15 +00:00
|
|
|
egui = { version = "0.23", optional = true }
|
2021-08-17 22:15:29 +00:00
|
|
|
egui_wgpu_backend = { git = "https://github.com/hasenbanck/egui_wgpu_backend.git", rev = "34691d4e9149deb9cd0bb8cbb5a56bffebf47588", optional = true }
|
|
|
|
egui_winit_platform = { version = "0.20", optional = true }
|
2021-07-04 09:47:18 +00:00
|
|
|
|
2019-03-19 14:12:42 +00:00
|
|
|
# ECS
|
2023-05-10 08:33:01 +00:00
|
|
|
specs = { workspace = true, features = ["serde", "storage-event-control"] }
|
2019-03-19 14:12:42 +00:00
|
|
|
|
2019-01-02 22:08:13 +00:00
|
|
|
# Mathematics
|
2023-05-10 08:33:01 +00:00
|
|
|
vek = { workspace = true }
|
2023-01-20 01:28:28 +00:00
|
|
|
levenshtein = "1.0.5"
|
2019-01-07 21:10:31 +00:00
|
|
|
|
2020-03-10 21:00:13 +00:00
|
|
|
# Controller
|
2024-05-16 08:40:15 +00:00
|
|
|
gilrs = { version = "0.10.0", features = ["serde-serialize"] }
|
2020-03-10 21:00:13 +00:00
|
|
|
|
2019-09-15 20:41:47 +00:00
|
|
|
# Singleplayer
|
2024-05-16 08:40:15 +00:00
|
|
|
server = { package = "veloren-server", path = "../server", optional = true, default-features = false, features = [
|
|
|
|
"worldgen",
|
|
|
|
] }
|
2019-06-04 19:57:13 +00:00
|
|
|
|
2022-09-03 21:22:28 +00:00
|
|
|
# CLI
|
2023-05-10 08:33:01 +00:00
|
|
|
clap = { workspace = true }
|
2022-09-03 21:22:28 +00:00
|
|
|
|
2019-01-07 21:10:31 +00:00
|
|
|
# Utility
|
2024-05-16 08:40:15 +00:00
|
|
|
assets_manager = { version = "0.11", features = ["ab_glyph"] }
|
2020-08-31 15:26:46 +00:00
|
|
|
backtrace = "0.3.40"
|
2023-05-10 08:33:01 +00:00
|
|
|
chrono = { workspace = true }
|
2023-05-04 08:44:07 +00:00
|
|
|
chumsky = "0.9"
|
2023-05-10 08:33:01 +00:00
|
|
|
crossbeam-utils = { workspace = true }
|
|
|
|
crossbeam-channel = { workspace = true }
|
2020-11-06 13:14:54 +00:00
|
|
|
directories-next = "2.0"
|
2023-01-22 17:00:39 +00:00
|
|
|
dot_vox = "5.1"
|
2022-07-02 01:22:41 +00:00
|
|
|
guillotiere = "0.6.2"
|
2023-05-10 08:33:01 +00:00
|
|
|
hashbrown = { workspace = true }
|
2024-05-16 08:40:15 +00:00
|
|
|
image = { workspace = true, features = ["ico"] }
|
2023-05-10 08:33:01 +00:00
|
|
|
lazy_static = { workspace = true }
|
2024-05-20 11:08:14 +00:00
|
|
|
native-dialog = { version = "0.7.0", optional = true }
|
2023-05-10 08:33:01 +00:00
|
|
|
num = { workspace = true }
|
|
|
|
ordered-float = { workspace = true }
|
|
|
|
rand = { workspace = true }
|
|
|
|
rand_chacha = { workspace = true }
|
|
|
|
rayon = { workspace = true }
|
2024-05-20 11:14:00 +00:00
|
|
|
rodio = { version = "0.18", default-features = false, features = ["vorbis"] }
|
2023-05-10 08:33:01 +00:00
|
|
|
ron = { workspace = true }
|
2024-05-16 08:40:15 +00:00
|
|
|
serde = { workspace = true, features = ["rc"] }
|
2023-05-10 08:33:01 +00:00
|
|
|
slab = { workspace = true }
|
|
|
|
strum = { workspace = true }
|
|
|
|
tracing = { workspace = true }
|
2024-05-20 11:17:21 +00:00
|
|
|
treeculler = "0.4"
|
2023-05-10 08:33:01 +00:00
|
|
|
tokio = { workspace = true, features = ["rt-multi-thread"] }
|
2021-01-13 13:16:22 +00:00
|
|
|
num_cpus = "1.0"
|
2023-05-10 08:33:01 +00:00
|
|
|
inline_tweak = { workspace = true }
|
|
|
|
itertools = { workspace = true }
|
2024-01-12 23:11:26 +00:00
|
|
|
sha2 = { workspace = true }
|
2024-03-22 17:59:14 +00:00
|
|
|
bitflags = { workspace = true, features = ["serde"] }
|
2019-10-02 14:24:21 +00:00
|
|
|
|
2022-08-15 15:58:37 +00:00
|
|
|
# Discord RPC
|
|
|
|
discord-sdk = { version = "0.3.0", optional = true }
|
2023-11-16 20:47:44 +00:00
|
|
|
enum-map = { workspace = true }
|
2022-08-15 15:58:37 +00:00
|
|
|
|
2020-01-07 05:45:43 +00:00
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
2020-07-07 09:16:15 +00:00
|
|
|
dispatch = "0.1.4"
|
2020-01-07 05:45:43 +00:00
|
|
|
|
2024-05-16 08:40:15 +00:00
|
|
|
[target.'cfg(target_family = "windows")'.build-dependencies]
|
2019-10-04 16:44:31 +00:00
|
|
|
winres = "0.1"
|
2020-01-09 06:05:20 +00:00
|
|
|
|
2024-05-16 08:40:15 +00:00
|
|
|
[target.'cfg(target_family = "windows")'.dependencies]
|
2022-07-04 07:15:18 +00:00
|
|
|
mimalloc = "0.1.29"
|
|
|
|
|
2021-09-02 23:07:07 +00:00
|
|
|
# Mumble
|
|
|
|
[target.'cfg(not(target_os="macos"))'.dependencies]
|
2023-07-17 08:47:26 +00:00
|
|
|
mumble-link = "0.2.0"
|
2021-09-02 23:07:07 +00:00
|
|
|
|
2020-01-09 06:05:20 +00:00
|
|
|
[dev-dependencies]
|
2024-05-16 08:40:15 +00:00
|
|
|
criterion = { version = "0.5.1", default-features = false, features = [
|
|
|
|
"rayon",
|
|
|
|
"cargo_bench_support",
|
|
|
|
] }
|
|
|
|
world = { package = "veloren-world", path = "../world" }
|
2023-05-10 08:33:01 +00:00
|
|
|
rayon = { workspace = true }
|
2020-01-09 06:05:20 +00:00
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
harness = false
|
2020-08-31 15:26:46 +00:00
|
|
|
name = "meshing_benchmark"
|
2022-12-15 16:19:49 +00:00
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
name = "img-export"
|
|
|
|
required-features = ["bin_img-export"]
|