mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
b499cf2c58
Included in the initial implementation is an entity browser which lists all entities in the client ECS, an entity component viewer which shows select components belonging to the selected entity including character state information, and a simple frame time graph. This MR also includes an extraction of the animation hot reloading code which has been reused for egui to allow for hot-reloading of the egui interface to allow rapid development of the UI with realtime feedback upon save as is the case with aninmations. This is feature-gated behind the `hot-egui` feature which is not enabled by default due to the extra startup time that it adds.
142 lines
5.4 KiB
TOML
142 lines
5.4 KiB
TOML
[package]
|
|
authors = ["Joshua Barretto <joshua.s.barretto@gmail.com>", "Imbris <imbrisf@gmail.com>"]
|
|
default-run = "veloren-voxygen"
|
|
edition = "2018"
|
|
name = "veloren-voxygen"
|
|
version = "0.10.0"
|
|
# 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
|
|
|
|
[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.
|
|
"""
|
|
runtimeLibs = ["libGL", "xorg.libX11", "xorg.libXcursor", "xorg.libXrandr", "xorg.libXi", "vulkan-loader", "vulkan-extension-layer"]
|
|
buildInputs = ["xorg.libxcb"]
|
|
|
|
[features]
|
|
hot-anim = ["anim/use-dyn-lib"]
|
|
hot-egui = ["voxygen-egui/use-dyn-lib", "egui"]
|
|
singleplayer = ["server"]
|
|
simd = ["vek/platform_intrinsics"]
|
|
tracy = ["profiling", "profiling/profile-with-tracy", "common-frontend/tracy", "client/tracy"]
|
|
plugins = ["client/plugins"]
|
|
egui-ui = ["voxygen-egui", "egui", "egui_wgpu_backend", "egui_winit_platform"]
|
|
|
|
# We don't ship egui with published release builds so a separate feature is required that excludes it.
|
|
default-publish = ["singleplayer", "native-dialog", "plugins", "simd"]
|
|
default = ["default-publish", "egui-ui"]
|
|
|
|
[dependencies]
|
|
client = {package = "veloren-client", path = "../client"}
|
|
common = {package = "veloren-common", path = "../common"}
|
|
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-systems = {package = "veloren-common-systems", path = "../common/systems"}
|
|
common-state = {package = "veloren-common-state", path = "../common/state"}
|
|
|
|
anim = {package = "veloren-voxygen-anim", path = "anim"}
|
|
i18n = {package = "veloren-i18n", path = "i18n"}
|
|
voxygen-egui = {package = "veloren-voxygen-egui", path = "egui", optional = true }
|
|
|
|
# Graphics
|
|
winit = {version = "0.25.0", features = ["serde"]}
|
|
wgpu = { version = "=0.8.0", features = ["trace", "cross"] }
|
|
wgpu-profiler = { git = "https://github.com/Imberflur/wgpu-profiler", tag = "wgpu-0.8" }
|
|
bytemuck = { version="1.4", features=["derive"] }
|
|
shaderc = "0.6.2"
|
|
|
|
# Ui
|
|
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"}
|
|
euc = "0.5.0"
|
|
iced = {package = "iced_native", git = "https://github.com/Imberflur/iced", tag = "winit-0.25"}
|
|
iced_winit = {git = "https://github.com/Imberflur/iced", tag = "winit-0.25"}
|
|
window_clipboard = "0.2"
|
|
glyph_brush = "0.7.0"
|
|
keyboard-keynames = { git = "https://gitlab.com/Frinksy/keyboard-keynames.git", rev = "9ae8f89014d0b0c5b61d0e821c5aeb6140c5c0dc" }
|
|
|
|
# EGUI
|
|
egui = {version = "0.12", optional = true }
|
|
egui_wgpu_backend = {git = "https://github.com/hasenbanck/egui_wgpu_backend.git", rev = "63a002c6a9b6c016e45806dd065864431caab621", optional = true }
|
|
egui_winit_platform = {version = "0.8", optional = true }
|
|
|
|
# ECS
|
|
specs = {git = "https://github.com/amethyst/specs.git", rev = "f985bec5d456f7b0dd8aae99848f9473c2cd9d46"}
|
|
specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "8be2abcddf8f524cb5876e8dd20a7e47cfaf7573" }
|
|
|
|
# Mathematics
|
|
vek = {version = "=0.14.1", features = ["serde"]}
|
|
|
|
# Controller
|
|
gilrs = {version = "0.8.0", features = ["serde-serialize"]}
|
|
|
|
# Singleplayer
|
|
server = {package = "veloren-server", path = "../server", optional = true}
|
|
|
|
# Utility
|
|
backtrace = "0.3.40"
|
|
bincode = "1.3.1"
|
|
chrono = { version = "0.4.9", features = ["serde"] }
|
|
cpal = "0.13"
|
|
comma = "0.1"
|
|
copy_dir = "0.1.2"
|
|
crossbeam-utils = "0.8.1"
|
|
crossbeam-channel = "0.5"
|
|
# TODO: remove
|
|
directories-next = "2.0"
|
|
dot_vox = "4.0"
|
|
enum-iterator = "0.6"
|
|
futures-executor = "0.3"
|
|
guillotiere = "0.6"
|
|
hashbrown = {version = "0.11", features = ["rayon", "serde", "nightly"]}
|
|
image = {version = "0.23.12", default-features = false, features = ["ico", "png"]}
|
|
lazy_static = "1.4.0"
|
|
native-dialog = { version = "0.5.2", optional = true }
|
|
num = "0.4"
|
|
ordered-float = { version = "2.0.1", default-features = false }
|
|
rand = "0.8"
|
|
rayon = "1.5"
|
|
rodio = {version = "0.14", default-features = false, features = ["vorbis"]}
|
|
ron = {version = "0.6", default-features = false}
|
|
serde = {version = "1.0", features = [ "rc", "derive" ]}
|
|
strum = "0.20"
|
|
strum_macros = "0.20"
|
|
treeculler = "0.2"
|
|
tokio = { version = "1", default-features = false, features = ["rt-multi-thread"] }
|
|
num_cpus = "1.0"
|
|
# vec_map = { version = "0.8.2" }
|
|
# inline_tweak = "1.0.2"
|
|
itertools = "0.10.0"
|
|
|
|
# Tracy
|
|
tracing = "0.1"
|
|
profiling = { version = "1.0.1", default-features = false, optional = true }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
dispatch = "0.1.4"
|
|
# This needs to be backdated for the OSX build, potentially because the SDK is not OSX 11.0 compatible yet.
|
|
# This line should be removed when possible because coreaudio-sys is not a direct dep of voxygen.
|
|
coreaudio-sys = { version = "=0.2.8", default-features = false }
|
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
|
winres = "0.1"
|
|
|
|
[dev-dependencies]
|
|
criterion = "0.3"
|
|
world = {package = "veloren-world", path = "../world"}
|
|
rayon = "1.5.0"
|
|
|
|
[[bench]]
|
|
harness = false
|
|
name = "meshing_benchmark"
|