mirror of
https://github.com/redstrate/Physis.git
synced 2025-04-22 20:57:46 +00:00
35 lines
695 B
Rust
35 lines
695 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);
|
|
PhybHeader::read(&mut cursor).ok()?;
|
|
|
|
Some(Phyb {})
|
|
}
|
|
}
|