From 8027af5303064f2c98bd0c66e348970d4a62ca38 Mon Sep 17 00:00:00 2001 From: "Elijah C. Voigt" Date: Fri, 28 Jun 2024 22:02:01 -0700 Subject: [PATCH] Very basic entity file parsing Implements basic parsing for name, uuid, and transform. Eventually will add Gltf Scene and Parent attribution. Next need to convert these loaded values to entity components. Pretty sure it doesn't work, just that it compiles... --- Cargo.lock | 3 + Cargo.toml | 4 + assets/levels/00/entities/van.entity | 3 + assets/models/van.blend | Bin 0 -> 883252 bytes assets/models/van.glb | Bin 0 -> 15736 bytes src/main.rs | 3 + src/prelude.rs | 8 + src/save.rs | 232 +++++++++++++++++++++++++++ 8 files changed, 253 insertions(+) create mode 100644 assets/levels/00/entities/van.entity create mode 100644 assets/models/van.blend create mode 100644 assets/models/van.glb create mode 100644 src/save.rs diff --git a/Cargo.lock b/Cargo.lock index 11e1a71..e616d04 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -78,6 +78,9 @@ version = "0.1.0" dependencies = [ "bevy", "bevy_mod_picking", + "nom", + "thiserror", + "uuid", "wee_alloc", ] diff --git a/Cargo.toml b/Cargo.toml index 8db6bd7..fcad64a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,10 @@ edition = "2021" bevy = "0.13" wee_alloc = "*" bevy_mod_picking = "0.18" +thiserror = "1" +nom = "7" +# Entity Uuid parsing +uuid = "1.7.0" [profile.wasm-release] inherits = "release" diff --git a/assets/levels/00/entities/van.entity b/assets/levels/00/entities/van.entity new file mode 100644 index 0000000..8b156a7 --- /dev/null +++ b/assets/levels/00/entities/van.entity @@ -0,0 +1,3 @@ +name "van" +uuid 5c270e84-814c-4d51-9ccd-ab79d9e01f1d +transform translation 0.0 0.0 0.0 rotation 0.0 0.0 0.0 1.0 scale 1.0 1.0 1.0 \ No newline at end of file diff --git a/assets/models/van.blend b/assets/models/van.blend new file mode 100644 index 0000000000000000000000000000000000000000..e005a295f5ac9293fe7a884d45cf664bdd067fe9 GIT binary patch literal 883252 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 z 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℞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

8C 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 A2><{9 literal 0 HcmV?d00001 diff --git a/assets/models/van.glb b/assets/models/van.glb new file mode 100644 index 0000000000000000000000000000000000000000..84f68ea8a7a3797a4600b54629f711c78446fea9 GIT binary patch literal 15736 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 literal 0 HcmV?d00001 diff --git a/src/main.rs b/src/main.rs index 3a67267..2760d65 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,8 @@ pub(crate) mod editor; pub(crate) mod menu; /// Helper module containing common imports across the project pub(crate) mod prelude; +/// Level saving/loading logic +pub(crate) mod save; /// Window handling pub(crate) mod window; @@ -24,6 +26,7 @@ fn main() { .add_plugins(camera::CameraPlugin) .add_plugins(editor::EditorPlugin) .add_plugins(menu::MenuPlugin) + .add_plugins(save::SavePlugin) .add_plugins(window::WindowPlugin) .run(); } diff --git a/src/prelude.rs b/src/prelude.rs index c662a8a..82ff9e6 100644 --- a/src/prelude.rs +++ b/src/prelude.rs @@ -1,10 +1,18 @@ pub(crate) use bevy::app::AppExit; +pub(crate) use bevy::asset::AsyncReadExt; +pub(crate) use bevy::asset::{io::Reader, AssetLoader, LoadContext}; pub(crate) use bevy::input::common_conditions::input_just_pressed; pub(crate) use bevy::prelude::*; pub(crate) use bevy::render::camera::RenderTarget; +pub(crate) use bevy::utils::Uuid; +pub(crate) use bevy::utils::{thiserror::Error, BoxedFuture}; pub(crate) use bevy::window::PrimaryWindow; pub(crate) use bevy::window::WindowCloseRequested; pub(crate) use bevy::window::WindowRef; +pub(crate) use nom::bytes::complete::tag; +pub(crate) use nom::bytes::complete::take; +pub(crate) use nom::number::complete::float; +pub(crate) use nom::sequence::tuple; pub(crate) use crate::camera::*; pub(crate) use crate::conditions::*; diff --git a/src/save.rs b/src/save.rs new file mode 100644 index 0000000..c8f3384 --- /dev/null +++ b/src/save.rs @@ -0,0 +1,232 @@ +use nom::IResult; + +use crate::prelude::*; + +/// Menu Plugin; empty struct for Plugin impl +pub(crate) struct SavePlugin; + +impl Plugin for SavePlugin { + fn build(&self, app: &mut App) { + app.init_asset::() + .init_asset_loader::() + .add_systems(Startup, test_save_entity); + } +} + +#[derive(Asset, TypePath, Debug, Default)] +struct SaveEntity { + transform: Option, + name: Option, + uuid: Option, +} + +impl SaveEntity { + fn parse(s: &str) -> Result { + let lines = s.split('\n'); + let mut entity = SaveEntity { ..default() }; + lines.into_iter().for_each(|line| { + if let Ok(name) = parse_save_name(line) { + entity.name = Some(name); + } else if let Ok(transform) = parse_save_transform(line) { + entity.transform = Some(transform); + } else if let Ok(uuid) = parse_save_uuid(line) { + entity.uuid = Some(uuid); + } + }); + Ok(entity) + } +} + +#[derive(Error, Debug)] +enum SaveEntityParseError { + #[error("Failed to parse Uuid: {0}")] + Uuid(#[from] uuid::Error), + #[error("Failed to parse name")] + Name, + #[error("Failed to parse Transform")] + Transform, + #[error("Failed to parse Entity")] + Nom(nom::Err>>), +} + +// Convert Nom error to parse error +// https://stackoverflow.com/a/77974858/3096574 +impl From>> for SaveEntityParseError { + fn from(err: nom::Err>) -> Self { + SaveEntityParseError::Nom(err.map_input(|input| input.into())) + } +} + +fn parse_thing<'a>(s: &'a str, l: &'a str) -> IResult<&'a str, &'a str> { + tag(l)(s) +} + +fn parse_xyz<'a>(i: &'a str) -> IResult<&'a str, (f32, f32, f32)> { + tuple((float, take(1usize), float, take(1usize), float))(i) + .map(|(s, (x, _, y, _, z))| (s, (x, y, z))) +} + +fn parse_wxyz<'a>(i: &'a str) -> IResult<&'a str, (f32, f32, f32, f32)> { + tuple(( + float, + take(1usize), + float, + take(1usize), + float, + take(1usize), + float, + ))(i) + .map(|(s, (w, _, x, _, y, _, z))| (s, (w, x, y, z))) +} + +/// +/// ``` +/// let parsed = parse_save_transform("transform translation 1.0 2.0 3.0 rotation 1.0 0.0 0.0 0.0 scale 1.0 1.0 1.0").unwrap(); +/// let expected = Transform { translation: Vec3::new(1.0, 1.0, 1.0), rotation: Quat::from_xzyw(1.0, 0.0, 0.0, 0.0), scale: Vec3::ONE }; +/// +/// assert_eq!(parsed, expected); +/// ``` +/// +fn parse_save_transform(line: &str) -> Result { + let (rem, _) = tag("transform")(line)?; + + let mut transform = Transform::default(); + + let mut curr = rem.trim_start(); + for _ in 0..3 { + if let Ok((input, _)) = parse_thing(curr, "translation") { + let (rem, (x, y, z)) = parse_xyz(input.trim_start())?; + transform.translation = Vec3::new(x, y, z); + curr = rem.trim_start(); + } else if let Ok((input, _)) = parse_thing(curr.trim_start(), "rotation") { + let (rem, (x, y, z, w)) = parse_wxyz(input.trim_start())?; + transform.rotation = Quat::from_xyzw(x, y, z, w); + curr = rem.trim_start(); + } else if let Ok((input, _)) = parse_thing(curr.trim_start(), "scale") { + let (rem, (x, y, z)) = parse_xyz(input.trim_start())?; + transform.scale = Vec3::new(x, y, z); + curr = rem.trim_start(); + } else { + return Err(SaveEntityParseError::Transform); + } + } + + Ok(transform) +} + +/// +/// ``` +/// let parsed = parse_save_name("name asfd").unwrap(); +/// let expected = Name::new("asdf"); +/// +/// assert_eq!(parsed, expected); +/// ``` +/// +fn parse_save_name(line: &str) -> Result { + let (remainder, _) = tag("name")(line)?; + let n = remainder.trim().to_string(); + if n.len() == 0 { + Err(SaveEntityParseError::Name) + } else { + let name = Name::new(n); + Ok(name) + } +} + +/// +/// ``` +/// let parsed = parse_save_uuid("uuid 339dd18f-761a-4997-b515-ef57f4dc2447").unwrap(); +/// let expected = Uuid::parse_str("339dd18f-761a-4997-b515-ef57f4dc2447").unwrap(); +/// +/// assert_eq!(parsed, expected); +/// ``` +/// +fn parse_save_uuid(line: &str) -> Result { + let (remainder, _) = tag("uuid")(line)?; + let uuid = Uuid::try_parse(remainder.trim())?; + Ok(uuid) +} + +mod test { + use super::*; + + #[test] + fn test_parse_transform() { + let line = "transform translation 1.0 2.0 3.0 rotation 0.1 0.2 0.3 1.0 scale 1.1 1.2 1.3"; + let parsed = parse_save_transform(line).unwrap(); + let expected = Transform { + translation: Vec3::new(1.0, 2.0, 3.0), + rotation: Quat::from_xyzw(0.1, 0.2, 0.3, 1.0), + scale: Vec3::new(1.1, 1.2, 1.3), + }; + + assert_eq!(parsed, expected); + } + + #[test] + fn test_parse_name() { + { + let line = "name Van"; + let parsed = parse_save_name(line).unwrap(); + let expected = Name::new("Van"); + + assert_eq!(parsed, expected); + } + { + let line = "name Big Mike"; + let parsed = parse_save_name(line).unwrap(); + let expected = Name::new("Big Mike"); + + assert_eq!(parsed, expected); + } + } + + #[test] + fn test_parse_uuid() { + let line = "uuid 1c16ab9a-5f79-4340-8469-4086f69c64f2"; + let parsed = parse_save_uuid(line).unwrap(); + let expected = Uuid::parse_str("1c16ab9a-5f79-4340-8469-4086f69c64f2").unwrap(); + + assert_eq!(parsed, expected); + } +} + +#[derive(Default)] +struct SaveEntityLoader; + +#[derive(Error, Debug)] +enum SaveEntityLoaderError { + #[error("Could not load asset: {0}")] + Io(#[from] std::io::Error), + #[error("Could not parse entity: {0}")] + Parse(#[from] SaveEntityParseError), +} + +impl AssetLoader for SaveEntityLoader { + type Asset = SaveEntity; + type Settings = (); + type Error = SaveEntityLoaderError; + + fn load<'a>( + &'a self, + reader: &'a mut Reader, + _settings: &'a (), + _load_context: &'a mut LoadContext, + ) -> BoxedFuture<'a, Result> { + Box::pin(async move { + let mut bytes = Vec::new(); + reader.read_to_end(&mut bytes).await?; + + let s = std::str::from_utf8(bytes.as_slice()).unwrap(); + Ok(SaveEntity::parse(s)?) + }) + } + + fn extensions(&self) -> &[&str] { + &["entity"] + } +} + +fn test_save_entity(loader: Res, mut handle: Local>) { + *handle = loader.load("levels/00/entities/van.entity"); +}