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}