diff options
author | metamuffin <metamuffin@disroot.org> | 2025-02-11 13:38:34 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-02-11 13:38:34 +0100 |
commit | b3ae58d1ab1f3b35b4a86234e424b3675af323e5 (patch) | |
tree | 6887335a582a9e947e060e5931e3f325d67aab17 | |
parent | d8d00eb146241978ef21ed4d6c35ac9c68b1a86e (diff) | |
download | unity-tools-b3ae58d1ab1f3b35b4a86234e424b3675af323e5.tar unity-tools-b3ae58d1ab1f3b35b4a86234e424b3675af323e5.tar.bz2 unity-tools-b3ae58d1ab1f3b35b4a86234e424b3675af323e5.tar.zst |
pub things and rename compression scheme to lowercase
-rw-r--r-- | src/main.rs | 4 | ||||
-rw-r--r-- | src/serialized_file.rs | 26 | ||||
-rw-r--r-- | src/unityfs.rs | 22 |
3 files changed, 25 insertions, 27 deletions
diff --git a/src/main.rs b/src/main.rs index 4d91578..beab8a1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,7 +7,7 @@ fn main() -> anyhow::Result<()> { let mut fs = UnityFS::open(file)?; for node in fs.nodes().to_vec() { - if node.name.ends_with(".resource") || node.name.ends_with("resS") { + if node.name.ends_with(".resource") || node.name.ends_with(".resS") { continue; } let cab = fs.read(&node)?; @@ -16,8 +16,6 @@ fn main() -> anyhow::Result<()> { // continue; let file = read_serialized_file(cab)?; - eprintln!("{file:#?}"); - } Ok(()) diff --git a/src/serialized_file.rs b/src/serialized_file.rs index becf1d7..f32b3a3 100644 --- a/src/serialized_file.rs +++ b/src/serialized_file.rs @@ -3,7 +3,7 @@ use crate::{ helper::{AlignExt, Endianness, ReadExt}, }; use anyhow::Result; -use log::{debug, trace}; +use log::{debug, info, trace}; use std::io::{Cursor, Read, Seek}; #[derive(Debug)] @@ -32,24 +32,24 @@ pub struct SeralizedType { #[derive(Debug)] pub struct ObjectInfo { - path_id: i64, - data_offset: u64, - data_size: u32, - type_id: i32, + pub path_id: i64, + pub data_offset: u64, + pub data_size: u32, + pub type_id: i32, } #[derive(Debug)] pub struct Script { - file_index: u32, - identifier: i64, + pub file_index: u32, + pub identifier: i64, } #[derive(Debug)] pub struct External { - something: String, - guid: u128, - r#type: i32, - path_name: String, + pub something: String, + pub guid: u128, + pub r#type: i32, + pub path_name: String, } #[derive(Debug)] @@ -67,7 +67,7 @@ pub fn read_serialized_file(mut file: impl Read + Seek) -> Result<SerializedFile let format = file.read_u32_be()?; let mut data_offset = file.read_u32_be()? as u64; - debug!("format={format}"); + info!("File format version: {format}"); assert!(format >= 9); let e = match file.read_u32_be()? { @@ -88,7 +88,7 @@ pub fn read_serialized_file(mut file: impl Read + Seek) -> Result<SerializedFile let generator_version = file.read_cstr()?; let target_platform = file.read_u32_le()?; - debug!("generator_version={generator_version:?}"); + info!("Generator version: {generator_version:?}"); debug!("target_platform={target_platform}"); let has_type_trees = file.read_u8()? != 0; diff --git a/src/unityfs.rs b/src/unityfs.rs index f9a8d34..d7659b8 100644 --- a/src/unityfs.rs +++ b/src/unityfs.rs @@ -248,32 +248,32 @@ impl<T: Seek + Read> Seek for NodeReader<'_, T> { #[derive(Debug, Clone, Copy, PartialEq)] enum CompressionScheme { None, - LZMA, - LZ4, - LZ4HC, - LZHAM, + Lzma, + Lz4, + Lz4hc, + Lzham, } impl CompressionScheme { pub fn from_flag_num(n: u8) -> Option<CompressionScheme> { Some(match n & 0x3f { 0 => CompressionScheme::None, - 1 => CompressionScheme::LZMA, - 2 => CompressionScheme::LZ4, - 3 => CompressionScheme::LZ4HC, - 4 => CompressionScheme::LZHAM, + 1 => CompressionScheme::Lzma, + 2 => CompressionScheme::Lz4, + 3 => CompressionScheme::Lz4hc, + 4 => CompressionScheme::Lzham, _ => return None, }) } pub fn decompress(&self, block: Vec<u8>, decomp_size: usize) -> Result<Vec<u8>> { match self { CompressionScheme::None => Ok(block), - CompressionScheme::LZMA => { + CompressionScheme::Lzma => { let mut r = lzma::Reader::from(Cursor::new(block))?; let mut buf = Vec::new(); r.read_to_end(&mut buf)?; Ok(buf) } - CompressionScheme::LZ4HC | CompressionScheme::LZ4 => { + CompressionScheme::Lz4hc | CompressionScheme::Lz4 => { Ok(lz4_flex::block::decompress(&block, decomp_size)?) } // CompressionScheme::LZ4HC | CompressionScheme::LZ4 => { @@ -281,7 +281,7 @@ impl CompressionScheme { // Ok(lz4::block::decompress(&block, Some(decomp_size as i32))?) // Ok(lz4::block::decompress(&block, None)?) // } - CompressionScheme::LZHAM => todo!(), + CompressionScheme::Lzham => todo!(), } } } |