diff options
author | metamuffin <metamuffin@disroot.org> | 2025-03-10 20:45:18 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-03-10 20:45:18 +0100 |
commit | 30bf5e07e52142a154a5660574213e59e0363ada (patch) | |
tree | a6a619a033269ab76650a820826255acafaa9b6c /src/bin/debug.rs | |
parent | 42a5916cf742779d016eeefd1c59efbdfab64feb (diff) | |
download | unity-tools-30bf5e07e52142a154a5660574213e59e0363ada.tar unity-tools-30bf5e07e52142a154a5660574213e59e0363ada.tar.bz2 unity-tools-30bf5e07e52142a154a5660574213e59e0363ada.tar.zst |
type graph
Diffstat (limited to 'src/bin/debug.rs')
-rw-r--r-- | src/bin/debug.rs | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/src/bin/debug.rs b/src/bin/debug.rs index 5da7c03..9004055 100644 --- a/src/bin/debug.rs +++ b/src/bin/debug.rs @@ -1,10 +1,12 @@ -use log::debug; use std::{ env::args, fs::File, io::{BufReader, Seek, SeekFrom}, }; -use unity_tools::{object::read_value, serialized_file::read_serialized_file, unityfs::UnityFS}; +use unity_tools::{ + serialized_file::{TypeTreeNode, read_serialized_file}, + unityfs::UnityFS, +}; fn main() -> anyhow::Result<()> { env_logger::init_from_env("LOG"); @@ -16,12 +18,8 @@ fn main() -> anyhow::Result<()> { continue; } let mut cab = fs.read(&node)?; - // let mut writer = File::create(format!("/tmp/{}", node.name))?; - // std::io::copy(&mut cab, &mut writer)?; - // continue; let file = read_serialized_file(&mut cab)?; - let e = file.endianness; for ob in file.objects { cab.seek(SeekFrom::Start(ob.data_offset))?; @@ -36,12 +34,12 @@ fn main() -> anyhow::Result<()> { // .expect("unknown type") &file.types[ob.type_id as usize] }; - // fn print_types(tt: &TypeTreeNode) { - // println!("{}", tt.type_string); - // for c in &tt.children { - // print_types(&c); - // } - // } + fn print_types(tt: &TypeTreeNode) { + println!("{}", tt.type_string); + for c in &tt.children { + print_types(&c); + } + } // fn print_crit_types(tt: &TypeTreeNode) { // let mut crit = tt.byte_size == -1 || tt.children.is_empty(); // for c in &tt.children { @@ -52,23 +50,23 @@ fn main() -> anyhow::Result<()> { // println!("{}", tt.type_string); // } // } - // if let Some(tree) = &typetree.type_tree { - // println!("{}", tree.type_string); - // print_crit_types(tree); - // print_types(tree); - // } + if let Some(tree) = &typetree.type_tree { + // println!("{}", tree.type_string); + // print_crit_types(tree); + print_types(tree); + } // eprintln!("{typetree:#?}"); - let value = read_value(typetree.type_tree.as_ref().unwrap(), e, &mut cab)?; + // let value = read_value(typetree.type_tree.as_ref().unwrap(), e, &mut cab)?; // if let Value::Object { class, .. } = &value { // println!("{class}") // } - debug!( - "{}", - serde_json::to_string_pretty(&value.to_json()).unwrap() - ) + // debug!( + // "{}", + // serde_json::to_string_pretty(&value.to_json()).unwrap() + // ) } // eprintln!("{:#?}", file.types); } |