diff --git a/Cargo.lock b/Cargo.lock
index 62f45166a..9bea7dd46 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1863,7 +1863,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
 dependencies = [
  "cfg-if",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
@@ -2048,7 +2048,7 @@ dependencies = [
  "thiserror 2.0.11",
  "tokio",
  "vbsp",
- "vbsp-entities",
+ "vbsp-entities-css",
  "vmdl",
  "vmt-parser",
  "vpk",
@@ -3722,7 +3722,7 @@ dependencies = [
  "strafesnet_common",
  "strafesnet_deferred_loader",
  "vbsp",
- "vbsp-entities",
+ "vbsp-entities-css",
  "vmdl",
  "vpk",
 ]
@@ -4325,34 +4325,46 @@ dependencies = [
 
 [[package]]
 name = "vbsp"
-version = "0.7.0-pre"
-source = "sparse+https://git.itzana.me/api/packages/strafesnet/cargo/"
-checksum = "9d296ace1677a3871c2773997e8ff14557d79fc38d2f3764876221590e01f473"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81c85e45ea66731b6f70c91013ee6e42ce9b2349aa06eb6f43fa7b02c225b8d1"
 dependencies = [
  "ahash",
  "arrayvec",
  "binrw 0.14.1",
  "bitflags 2.8.0",
  "bv",
- "cgmath",
  "itertools 0.14.0",
  "lzma-rs",
  "num_enum",
  "serde",
  "static_assertions",
  "thiserror 2.0.11",
- "vdf-reader",
+ "vbsp-common",
+ "vdf-reader 0.3.0",
  "zip-lzma",
 ]
 
 [[package]]
-name = "vbsp-entities"
+name = "vbsp-common"
 version = "0.1.0"
-source = "sparse+https://git.itzana.me/api/packages/strafesnet/cargo/"
-checksum = "7e2dac7bd8d1d809f2092e0978a32bcefe546fea945841eeff45ce462c1b6886"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5407a8696cc6de4e9464595c7eb0ee9967008c68b8c156dd465733be28bc16eb"
+dependencies = [
+ "binrw 0.14.1",
+ "cgmath",
+ "serde",
+ "thiserror 2.0.11",
+]
+
+[[package]]
+name = "vbsp-entities-css"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e1f6595a0a6bb280281b8268d9db5b4bf162d91d03bc3723f45567fd59fa9"
 dependencies = [
  "serde",
- "vbsp",
+ "vbsp-common",
 ]
 
 [[package]]
@@ -4374,6 +4386,19 @@ dependencies = [
  "thiserror 1.0.69",
 ]
 
+[[package]]
+name = "vdf-reader"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c92e6cbd97e3aefd917c537080b085a4cb926461dddf98daab9a370972ffdfe"
+dependencies = [
+ "logos",
+ "miette",
+ "parse-display 0.9.1",
+ "serde",
+ "thiserror 2.0.11",
+]
+
 [[package]]
 name = "version-compare"
 version = "0.2.0"
@@ -4414,7 +4439,7 @@ dependencies = [
  "serde",
  "serde_repr",
  "thiserror 1.0.69",
- "vdf-reader",
+ "vdf-reader 0.2.0",
 ]
 
 [[package]]
diff --git a/lib/bsp_loader/Cargo.toml b/lib/bsp_loader/Cargo.toml
index 4fb1823b9..5233b04c6 100644
--- a/lib/bsp_loader/Cargo.toml
+++ b/lib/bsp_loader/Cargo.toml
@@ -13,7 +13,7 @@ authors = ["Rhys Lloyd <krakow20@gmail.com>"]
 glam = "0.30.0"
 strafesnet_common = { version = "0.6.0", path = "../common", registry = "strafesnet" }
 strafesnet_deferred_loader = { version = "0.5.0", path = "../deferred_loader", registry = "strafesnet" }
-vbsp = { version = "0.7.0-pre", registry = "strafesnet", default-features = false }
-vbsp-entities = { version = "0.1.0", registry = "strafesnet", default-features = false, features = ["css"]}
+vbsp = "0.8.0"
+vbsp-entities-css = "0.3.0"
 vmdl = "0.2.0"
 vpk = "0.2.0"
diff --git a/lib/bsp_loader/src/bsp.rs b/lib/bsp_loader/src/bsp.rs
index afbd2ff6e..5650c105a 100644
--- a/lib/bsp_loader/src/bsp.rs
+++ b/lib/bsp_loader/src/bsp.rs
@@ -1,6 +1,6 @@
 use std::borrow::Cow;
 
-use vbsp_entities::css::Entity;
+use vbsp_entities_css::Entity;
 
 use strafesnet_common::{map,model,integer,gameplay_attributes};
 use strafesnet_deferred_loader::deferred_loader::{MeshDeferredLoader,RenderConfigDeferredLoader};
@@ -182,7 +182,7 @@ pub fn convert<'a>(
 	for raw_ent in &bsp.entities{
 		match raw_ent.parse(){
 			Ok(Entity::Cycler(brush))=>add_brush(mesh_deferred_loader,&mut world_models,&mut prop_models,brush.model,brush.origin,brush.rendercolor,ATTRIBUTE_DECORATION),
-			Ok(Entity::EnvSprite(brush))=>add_brush(mesh_deferred_loader,&mut world_models,&mut prop_models,brush.model,brush.origin,brush.rendercolor.parse().unwrap_or(WHITE),ATTRIBUTE_DECORATION),
+			Ok(Entity::EnvSprite(brush))=>add_brush(mesh_deferred_loader,&mut world_models,&mut prop_models,brush.model,brush.origin,brush.rendercolor,ATTRIBUTE_DECORATION),
 			Ok(Entity::FuncBreakable(brush))=>add_brush(mesh_deferred_loader,&mut world_models,&mut prop_models,brush.model,brush.origin,brush.rendercolor,ATTRIBUTE_DECORATION),
 			Ok(Entity::FuncBrush(brush))=>add_brush(mesh_deferred_loader,&mut world_models,&mut prop_models,brush.model,brush.origin,brush.rendercolor,ATTRIBUTE_DECORATION),
 			Ok(Entity::FuncButton(brush))=>add_brush(mesh_deferred_loader,&mut world_models,&mut prop_models,brush.model,brush.origin,brush.rendercolor,ATTRIBUTE_DECORATION),
diff --git a/map-tool/Cargo.toml b/map-tool/Cargo.toml
index 96af1da25..5ca60c842 100644
--- a/map-tool/Cargo.toml
+++ b/map-tool/Cargo.toml
@@ -25,8 +25,8 @@ strafesnet_rbx_loader = { version = "0.6.0", path = "../lib/rbx_loader", registr
 strafesnet_snf = { version = "0.3.0", path = "../lib/snf", registry = "strafesnet" }
 thiserror = "2.0.11"
 tokio = { version = "1.43.0", features = ["macros", "rt-multi-thread", "fs"] }
-vbsp = { version = "0.7.0-pre", registry = "strafesnet", default-features = false }
-vbsp-entities = { version = "0.1.0", registry = "strafesnet", default-features = false, features = ["css"]}
+vbsp = "0.8.0"
+vbsp-entities-css = "0.3.0"
 vmdl = "0.2.0"
 vmt-parser = "0.2.0"
 vpk = "0.2.0"
diff --git a/map-tool/src/source.rs b/map-tool/src/source.rs
index 9bbd87e7d..89a7b0692 100644
--- a/map-tool/src/source.rs
+++ b/map-tool/src/source.rs
@@ -6,7 +6,7 @@ use futures::StreamExt;
 use strafesnet_bsp_loader::loader::BspFinder;
 use strafesnet_deferred_loader::loader::Loader;
 use strafesnet_deferred_loader::deferred_loader::{LoadFailureMode,MeshDeferredLoader,RenderConfigDeferredLoader};
-use vbsp_entities::css::Entity;
+use vbsp_entities_css::Entity;
 
 #[derive(Subcommand)]
 pub enum Commands{