physis/savedata/
dat.rs

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