-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
145 lines (116 loc) · 4.44 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
[package]
name = "sargerust"
version = "0.1.0"
edition = "2021"
description = "An open source MMORPG client"
publish = false
[lib]
name = "sargerust_android"
crate-type = ["cdylib"]
path = "src/android.rs"
[[bin]]
name = "sargerust"
path = "src/main.rs"
[workspace]
members = [
"sargerust-files",
"sargerust-files/sargerust-files-derive-parseable",
"mpq-rust",
"framexml-parser",
]
# Force release builds for rapier
[profile.dev.package.rapier3d]
opt-level = 3
codegen-units = 1
# Force release builds for glam
[profile.dev.package.glam]
opt-level = 3
codegen-units = 1
[profile.dev.package.parry3d]
opt-level = 3
codegen-units = 1
[profile.dist]
inherits = "release"
lto = "fat"
debug = 0
codegen-units = 1
[profile.dev-optimized]
inherits = "dev"
lto = "thin"
opt-level = 1
debug = 2
[profile.release]
lto = "thin"
opt-level = 3
debug = 2
[features]
tracy = ["tracy-client", "profiling/profile-with-tracy"]
tracy-memory = []
[build-dependencies]
anyhow = "1.0.95"
vergen-gitcl = { version = "1.0.2", features = [], default-features = false }
cc = "1.0.88" # https://github.com/nagisa/rust_tracy_client/issues/133
# Android specific dependencies
[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.14.1"
winit = { version = "0.30", features = ["android-game-activity"] }
[target.'cfg(not(target_os = "android"))'.dependencies]
winit = { version = "0.30" }
[dependencies]
# Logging, but getting rid of the regex feature/dependency for regex filters.
env_logger = { version = "0.11.3", default-features = false, features = ["auto-color", "humantime"] }
log = "0.4.21"
# Tracing / Profiling
tracy-client = { version = "0.18.0", optional = true } # https://github.com/nagisa/rust_tracy_client/tree/main/tracy-client -> tracy client 0.11.1
profiling = { version = "1.0.16", default-features = false }
wgpu-profiler = { version = "0.19.0", features = ["tracy"] }
# Error handling
anyhow = "1.0.95"
# For the asset graph implementation (RwLock<Option<Arc<T>>>)
arc-swap = "1.7.1"
# asset parsing
mpq = { path = "mpq-rust" } # mpq = "0.8"
image-blp = "1"
sargerust-files = { path = "sargerust-files", features = ["wotlk"] }
# To Track the entities/objects (i.e. NPCs, Mobs, Players)
hecs = "0.10.5"
# DBC reading
wow_dbc = { version = "0.3.0", features = ["wrath"] }
# CLI
clap = { version = "4.5.23", features = ["derive", "env"] }
# Standalone: Set the current time
chrono = "0.4.39"
# For the Rendering/Game Engine
# Linear algebra library
glam = { version = "0.28.0", features = ["approx"] }
# Renderer core
rend3 = { git = "https://github.com/MeFisto94/rend3-hp/", branch = "feature/custom-materials" }
# Programmable render list that dictates how the scene renders
rend3-routine = { git = "https://github.com/MeFisto94/rend3-hp/", branch = "feature/custom-materials" }
# For the custom materials
encase = "0.9.0"
encase_derive = "0.9.0"
encase_derive_impl = "0.9.0"
serde = { version = "1.0.193", features = ["derive"] }
wgpu = "23.0" # Needs to be in sync with rend3, used for custom materials.
rust-embed = "8.1.0"
# Framework that deals with the event loop, setting up the renderer, and platform differences.
rend3-framework = { git = "https://github.com/MeFisto94/rend3-hp/", branch = "feature/custom-materials" }
# Provides `block_on` to wait for futures from sync code
pollster = "0.3"
# collect_vec and other niceities
itertools = "0.14.0"
quick_cache = "0.6.10"
# Multiplayer/Networking
# "srp-fast-math" is not supported with the MSVC target. Also the version needs to match the version defined in the messages
wow_srp = { version = "0.7.0", default-features = false, features = ["tbc-header", "wrath-header", "srp-default-math"] }
wow_login_messages = { git = "https://github.com/gtker/wow_messages", features = ["sync"], rev = "d30a0aea8213e963534c638c8166cae0d36e9f9f" }
wow_world_messages = { git = "https://github.com/gtker/wow_messages", features = ["sync", "wrath", "print-testcase"], rev = "d30a0aea8213e963534c638c8166cae0d36e9f9f" }
# async
tokio = { version = "1.33.0", features = ["full"] }
# replacing RwLock<HashMap<_>>, especially in the resolvers, that had held a global hashmap lock when inserting, massively impacting parallelity
dashmap = "6.1.0"
# Physics Engine
rapier3d = { version = "0.23.0", features = ["simd-nightly"] }
# Caution: The convert-glam feature needs to match the glam version, otherwise it will cause duplicate dependencies in the tree
nalgebra = { version = "0.33.2", features = ["convert-glam028"] } # Match version with rapier3d.