diff options
author | metamuffin <metamuffin@disroot.org> | 2025-03-12 13:20:44 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-03-12 13:20:44 +0100 |
commit | 4906844cbfd2717a29b434fb7d8f90c5117fddd5 (patch) | |
tree | bf0e744dbe861b6e5688986eadfc555f3f2b2570 /src/bin/textures.rs | |
parent | 8bea7b0838ca83af9abf2ec64b679b98c92d472e (diff) | |
download | unity-tools-4906844cbfd2717a29b434fb7d8f90c5117fddd5.tar unity-tools-4906844cbfd2717a29b434fb7d8f90c5117fddd5.tar.bz2 unity-tools-4906844cbfd2717a29b434fb7d8f90c5117fddd5.tar.zst |
streaming large files
Diffstat (limited to 'src/bin/textures.rs')
-rw-r--r-- | src/bin/textures.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/bin/textures.rs b/src/bin/textures.rs index 4a35de7..5db888e 100644 --- a/src/bin/textures.rs +++ b/src/bin/textures.rs @@ -51,7 +51,7 @@ fn main() -> anyhow::Result<()> { let mut texture = Texture2D::from_value(value).unwrap(); if texture.image_data.len() == 0 { let ress = ress.as_mut().unwrap(); - ress.seek(SeekFrom::Start(texture.stream_data.offset as u64))?; + ress.seek(SeekFrom::Start(texture.stream_data.offset))?; ress.by_ref() .take(texture.stream_data.size as u64) .read_to_end(&mut texture.image_data)?; @@ -62,8 +62,10 @@ fn main() -> anyhow::Result<()> { ); match texture.to_image() { Ok(im) => { - im.save(&path).unwrap(); - println!("{path}"); + if !im.as_rgba32f().is_some() { + im.save(&path).unwrap(); + println!("{path}"); + } } Err(e) => warn!("{e}"), } |