mirror of
https://github.com/redstrate/Physis.git
synced 2025-04-24 05:27:45 +00:00
Add PHYB module
This commit is contained in:
parent
05ccc566e9
commit
4fbd2cb668
2 changed files with 40 additions and 0 deletions
|
@ -150,3 +150,6 @@ pub mod skp;
|
|||
|
||||
/// Reading SCHD files
|
||||
pub mod schd;
|
||||
|
||||
/// Reading PHYB files
|
||||
pub mod phyb;
|
||||
|
|
37
src/phyb.rs
Normal file
37
src/phyb.rs
Normal file
|
@ -0,0 +1,37 @@
|
|||
// 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{})
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue