mirror of
https://github.com/redstrate/Physis.git
synced 2025-04-23 05:07:46 +00:00
38 lines
708 B
Rust
38 lines
708 B
Rust
|
// SPDX-FileCopyrightText: 2024 Joshua Goins <josh@redstrate.com>
|
||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||
|
|
||
|
use std::io::Cursor;
|
||
|
|
||
|
use crate::ByteSpan;
|
||
|
use binrw::binread;
|
||
|
use binrw::BinRead;
|
||
|
|
||
|
#[binread]
|
||
|
#[derive(Debug)]
|
||
|
#[brw(little)]
|
||
|
struct PhybHeader {
|
||
|
version: [u8; 4],
|
||
|
|
||
|
// TODO: this is definitely wrong
|
||
|
#[br(if(version[0] > 0))]
|
||
|
data_type: u32,
|
||
|
|
||
|
collision_offset: u32,
|
||
|
simulator_offset: u32
|
||
|
}
|
||
|
|
||
|
#[derive(Debug)]
|
||
|
pub struct Phyb {
|
||
|
|
||
|
}
|
||
|
|
||
|
impl Phyb {
|
||
|
/// Reads an existing ULD file
|
||
|
pub fn from_existing(buffer: ByteSpan) -> Option<Self> {
|
||
|
let mut cursor = Cursor::new(buffer);
|
||
|
let header = PhybHeader::read(&mut cursor).ok()?;
|
||
|
|
||
|
Some(Phyb{})
|
||
|
}
|
||
|
}
|