2025-03-30 17:49:45 -04:00
|
|
|
use binrw::binrw;
|
|
|
|
|
2025-04-11 10:32:52 -04:00
|
|
|
use crate::common::{
|
2025-05-08 21:52:50 -04:00
|
|
|
Position, read_packed_position, read_quantized_rotation, write_packed_position,
|
|
|
|
write_quantized_rotation,
|
2025-04-11 10:32:52 -04:00
|
|
|
};
|
2025-03-30 17:49:45 -04:00
|
|
|
|
|
|
|
#[binrw]
|
|
|
|
#[derive(Debug, Clone, Default)]
|
2025-05-02 23:24:31 -04:00
|
|
|
pub struct Move {
|
2025-05-08 21:52:50 -04:00
|
|
|
#[br(map = read_quantized_rotation)]
|
|
|
|
#[bw(map = write_quantized_rotation)]
|
2025-04-11 10:32:52 -04:00
|
|
|
pub rotation: f32,
|
2025-05-08 21:52:50 -04:00
|
|
|
pub flag1: u16,
|
|
|
|
pub flag2: u16,
|
2025-04-11 10:32:52 -04:00
|
|
|
#[brw(pad_after = 4)] // empty
|
2025-03-30 17:49:45 -04:00
|
|
|
#[br(map = read_packed_position)]
|
|
|
|
#[bw(map = write_packed_position)]
|
|
|
|
pub position: Position,
|
|
|
|
}
|