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}