2025-03-30 17:49:45 -04:00
|
|
|
use binrw::binrw;
|
|
|
|
|
2025-04-11 10:32:52 -04:00
|
|
|
use crate::common::{
|
|
|
|
Position, read_packed_position, read_packed_rotation_float, write_packed_position,
|
|
|
|
write_packed_rotation_float,
|
|
|
|
};
|
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-04-11 10:32:52 -04:00
|
|
|
#[bw(map = write_packed_rotation_float)]
|
|
|
|
#[br(map = read_packed_rotation_float)]
|
|
|
|
pub rotation: f32,
|
2025-03-30 17:49:45 -04:00
|
|
|
pub dir_before_slip: u8,
|
|
|
|
pub flag1: u8,
|
2025-04-11 10:32:52 -04:00
|
|
|
pub flag2: u8,
|
2025-03-30 17:49:45 -04:00
|
|
|
pub speed: u8,
|
2025-05-01 23:20:56 -04:00
|
|
|
#[brw(pad_before = 1)] // padding
|
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,
|
|
|
|
}
|