Skip to content

Commit d8ed49a

Browse files
fix: remove manual type hash on assetbundle
it is now computed by rabex
1 parent c3aa6f0 commit d8ed49a

File tree

2 files changed

+24
-29
lines changed

2 files changed

+24
-29
lines changed

Cargo.lock

Lines changed: 11 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lib.rs

Lines changed: 13 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,9 @@ use log::warn;
1717
use memmap2::Mmap;
1818
use rabex::UnityVersion;
1919
use rabex::files::bundlefile::{self, BundleFileBuilder, BundleFileHeader, CompressionType};
20-
use rabex::files::serializedfile::SerializedType;
2120
use rabex::files::serializedfile::builder::SerializedFileBuilder;
2221
use rabex::files::{SerializedFile, serializedfile};
2322
use rabex::objects::pptr::PPtr;
24-
use rabex::objects::{ClassId, ClassIdType};
2523
use rabex::tpk::TpkTypeTreeBlob;
2624
use rabex::typetree::{TypeTreeNode, TypeTreeProvider};
2725
use rayon::iter::{IntoParallelIterator, ParallelIterator};
@@ -464,32 +462,19 @@ pub fn pack_to_asset_bundle(
464462
Ok(())
465463
})?;
466464

467-
let assetbundle_ty = env
468-
.tpk
469-
.get_typetree_node(AssetBundle::CLASS_ID, unity_version)
470-
.unwrap();
471-
let mut assetbundle_serialized_type =
472-
SerializedType::simple(ClassId::AssetBundle, Some(assetbundle_ty.into_owned()));
473-
assetbundle_serialized_type.m_OldTypeHash = [
474-
// TODO compute
475-
151, 218, 95, 70, 136, 228, 90, 87, 200, 180, 45, 79, 66, 73, 114, 151,
476-
];
477-
let ab_type_id = builder.add_type_uncached(assetbundle_serialized_type);
478-
builder.add_object_inner(
479-
&AssetBundle {
480-
m_Name: bundle_name.to_owned(),
481-
m_PreloadTable: Vec::new(),
482-
m_Container: container,
483-
m_MainAsset: AssetInfo::default(),
484-
m_RuntimeCompatibility: 1,
485-
m_AssetBundleName: bundle_name.to_owned(),
486-
m_IsStreamedSceneAssetBundle: false,
487-
m_PathFlags: 7,
488-
..Default::default()
489-
},
490-
1,
491-
ab_type_id,
492-
)?;
465+
builder._next_path_id = 1;
466+
builder.add_object(&AssetBundle {
467+
m_Name: bundle_name.to_owned(),
468+
m_PreloadTable: Vec::new(),
469+
m_Container: container,
470+
m_MainAsset: AssetInfo::default(),
471+
m_RuntimeCompatibility: 1,
472+
m_AssetBundleName: bundle_name.to_owned(),
473+
m_IsStreamedSceneAssetBundle: false,
474+
m_PathFlags: 7,
475+
..Default::default()
476+
})?;
477+
493478
builder.objects.sort_by_key(|(info, _)| info.m_PathID);
494479

495480
let mut out = Vec::new();

0 commit comments

Comments
 (0)