parent
385e1f98e2
commit
0441a0d932
1 changed files with 10 additions and 5 deletions
|
@ -88,11 +88,11 @@ impl EntryHeader {
|
||||||
|
|
||||||
pub struct Bundle {
|
pub struct Bundle {
|
||||||
format: BundleFormat,
|
format: BundleFormat,
|
||||||
|
properties: Vec<Murmur64>,
|
||||||
_headers: Vec<EntryHeader>,
|
_headers: Vec<EntryHeader>,
|
||||||
files: Vec<BundleFile>,
|
files: Vec<BundleFile>,
|
||||||
name: String,
|
name: String,
|
||||||
unknown_1: u32,
|
unknown_1: u32,
|
||||||
unknown_header: [u8; 256],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Bundle {
|
impl Bundle {
|
||||||
|
@ -133,8 +133,10 @@ impl Bundle {
|
||||||
|
|
||||||
let num_entries = r.read_u32()? as usize;
|
let num_entries = r.read_u32()? as usize;
|
||||||
|
|
||||||
let mut unknown_header = [0; 256];
|
let mut properties = Vec::with_capacity(32);
|
||||||
r.read_exact(&mut unknown_header)?;
|
for prop in properties.iter_mut().take(32) {
|
||||||
|
*prop = Murmur64::from(r.read_u64()?);
|
||||||
|
}
|
||||||
|
|
||||||
let mut meta = Vec::with_capacity(num_entries);
|
let mut meta = Vec::with_capacity(num_entries);
|
||||||
for _ in 0..num_entries {
|
for _ in 0..num_entries {
|
||||||
|
@ -223,7 +225,7 @@ impl Bundle {
|
||||||
_headers: meta,
|
_headers: meta,
|
||||||
files,
|
files,
|
||||||
unknown_1,
|
unknown_1,
|
||||||
unknown_header,
|
properties,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -233,7 +235,10 @@ impl Bundle {
|
||||||
w.write_u32(self.format.into())?;
|
w.write_u32(self.format.into())?;
|
||||||
w.write_u32(self.unknown_1)?;
|
w.write_u32(self.unknown_1)?;
|
||||||
w.write_u32(self.files.len() as u32)?;
|
w.write_u32(self.files.len() as u32)?;
|
||||||
w.write_all(&self.unknown_header)?;
|
|
||||||
|
for prop in self.properties.iter() {
|
||||||
|
w.write_u64(**prop)?;
|
||||||
|
}
|
||||||
|
|
||||||
for meta in self._headers.iter() {
|
for meta in self._headers.iter() {
|
||||||
meta.to_writer(&mut w)?;
|
meta.to_writer(&mut w)?;
|
||||||
|
|
Loading…
Add table
Reference in a new issue