physis/
dat.rs

1// SPDX-FileCopyrightText: 2025 Joshua Goins <josh@redstrate.com>
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4use binrw::binrw;
5
6#[binrw]
7#[derive(Debug)]
8#[brw(little)]
9pub enum DatFileType {
10    /// GEARSET.DAT
11    #[brw(magic = 0x006d0005u32)]
12    Gearset,
13}
14
15#[binrw]
16#[derive(Debug)]
17#[brw(little)]
18pub struct DatHeader {
19    pub file_type: DatFileType,
20    pub max_size: u32,
21    #[brw(pad_after = 4)] // empty bytes
22    pub content_size: u32,
23    #[br(temp)]
24    #[bw(calc = 0xFF)]
25    end_of_header: u8,
26}