From d836e24357b81496c61f3cc9195ba36758523578 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 15 Mar 2025 15:18:40 +0100 Subject: more abstraction around unityfs to read multiple files from a single reader --- exporter/src/bin/gltf.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'exporter/src/bin/gltf.rs') diff --git a/exporter/src/bin/gltf.rs b/exporter/src/bin/gltf.rs index 86f48b4..544bd6f 100644 --- a/exporter/src/bin/gltf.rs +++ b/exporter/src/bin/gltf.rs @@ -23,8 +23,8 @@ use unity_tools::{ fn main() -> anyhow::Result<()> { env_logger::init_from_env("LOG"); - let file = || BufReader::new(File::open(args().nth(1).unwrap()).unwrap()); - let mut fs = UnityFS::open(file())?; + let file = BufReader::new(File::open(args().nth(1).unwrap()).unwrap()); + let fs = UnityFS::open(file)?; let cabfile = fs .find_main_file() @@ -54,7 +54,7 @@ fn main() -> anyhow::Result<()> { let go = file.read_object(ob)?.parse::()?; let mut global_transform = Affine3A::default(); for comp in go.components { - let ob = comp.load(&mut file)?; + let ob = comp.load(&mut file, None)?; match ob.class_name().unwrap().as_str() { "Transform" => { let mut tr = ob.parse::()?; @@ -68,7 +68,7 @@ fn main() -> anyhow::Result<()> { if tr.father.is_null() { break; } else { - tr = tr.father.load(&mut file)?; + tr = tr.father.load(&mut file, None)?; } } global_transform = @@ -79,7 +79,7 @@ fn main() -> anyhow::Result<()> { let mesh = import_mesh( &mut root, &mut buffer, - smr.mesh_renderer.mesh.load(&mut file)?, + smr.mesh_renderer.mesh.load(&mut file, None)?, )?; nodes.push(root.push(Node { mesh: Some(mesh), @@ -112,7 +112,7 @@ fn main() -> anyhow::Result<()> { bin: Some(Cow::Owned(buffer)), json: Cow::Owned(json_string.into_bytes()), }; - let writer = std::fs::File::create("triangle.glb").expect("I/O error"); + let writer = std::fs::File::create("/tmp/a.glb").expect("I/O error"); glb.to_writer(writer).expect("glTF binary output error"); Ok(()) -- cgit v1.2.3-70-g09d2