aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-02-11 13:38:34 +0100
committermetamuffin <metamuffin@disroot.org>2025-02-11 13:38:34 +0100
commitb3ae58d1ab1f3b35b4a86234e424b3675af323e5 (patch)
tree6887335a582a9e947e060e5931e3f325d67aab17 /src
parentd8d00eb146241978ef21ed4d6c35ac9c68b1a86e (diff)
downloadunity-tools-b3ae58d1ab1f3b35b4a86234e424b3675af323e5.tar
unity-tools-b3ae58d1ab1f3b35b4a86234e424b3675af323e5.tar.bz2
unity-tools-b3ae58d1ab1f3b35b4a86234e424b3675af323e5.tar.zst
pub things and rename compression scheme to lowercase
Diffstat (limited to 'src')
-rw-r--r--src/main.rs4
-rw-r--r--src/serialized_file.rs26
-rw-r--r--src/unityfs.rs22
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!(),
}
}
}