use insim_core::{
binrw::{self, binrw},
string::{binrw_parse_codepage_string_until_eof, binrw_write_codepage_string},
};
use crate::identifiers::{ConnectionId, PlayerId, RequestId};
#[binrw]
#[derive(Debug, Clone, Default)]
#[cfg_attr(feature = "serde", derive(serde::Serialize))]
pub struct Iii {
pub reqi: RequestId,
pub ucid: ConnectionId,
#[brw(pad_after = 2)]
pub plid: PlayerId,
#[bw(write_with = binrw_write_codepage_string::<64, _>, args(false, 4))]
#[br(parse_with = binrw_parse_codepage_string_until_eof)]
pub msg: String,
}