use crate::helper::Parser;
use crate::{Ascii, Result};
#[derive(Debug, Default)]
pub struct Apploader {
pub date: String,
pub entry_point: u32,
pub size: u32,
pub trailer_size: u32,
pub unknown: u32,
pub data: Vec<u8>,
}
impl Apploader {
pub fn from_binary<D: Parser>(input: &mut D) -> Result<Self> {
let date = input.str::<0x10, Ascii>()?;
let entry_point = input.bu32()?;
let size = input.bu32()?;
let trailer_size = input.bu32()?;
let unknown = input.bu32()?;
let data_size = (size + trailer_size) as usize;
let data = input.read_as_vec(data_size)?;
Ok(Self {
date,
entry_point,
size,
trailer_size,
unknown,
data,
})
}
}