diff options
Diffstat (limited to 'src/to_clt')
-rw-r--r-- | src/to_clt/chat.rs | 16 | ||||
-rw-r--r-- | src/to_clt/env.rs | 44 | ||||
-rw-r--r-- | src/to_clt/hud.rs | 154 | ||||
-rw-r--r-- | src/to_clt/media.rs | 33 | ||||
-rw-r--r-- | src/to_clt/status.rs | 80 |
5 files changed, 0 insertions, 327 deletions
diff --git a/src/to_clt/chat.rs b/src/to_clt/chat.rs deleted file mode 100644 index 4d99853..0000000 --- a/src/to_clt/chat.rs +++ /dev/null @@ -1,16 +0,0 @@ -use super::*; - -#[mt_derive(to = "clt", repr = "u8")] -pub enum ChatMsgType { - Raw = 0, - Normal, - Announce, - System, -} - -#[mt_derive(to = "clt", repr = "u8")] -pub enum PlayerListUpdateType { - Init = 0, - Add, - Remove, -} diff --git a/src/to_clt/env.rs b/src/to_clt/env.rs deleted file mode 100644 index f242298..0000000 --- a/src/to_clt/env.rs +++ /dev/null @@ -1,44 +0,0 @@ -use super::*; - -#[mt_derive(to = "clt")] -pub struct ObjAdd; // TODO - -#[mt_derive(to = "clt")] -pub struct ObjMsg; // TODO - -#[mt_derive(to = "clt", repr = "u8", enumset)] -pub enum MapBlockFlag { - IsUnderground = 0, - DayNightDiff, - LightExpired, - NotGenerated, -} - -pub const ALWAYS_LIT_FROM: u16 = 0xf000; - -#[mt_derive(to = "clt")] -pub struct MapBlock { - pub flags: EnumSet<MapBlockFlag>, - pub lit_from: u16, - - #[mt(const8 = 2)] - #[serde(skip)] - pub param0_size: (), - - #[mt(const8 = 2)] - #[serde(skip)] - pub param12_size: (), - - #[serde(with = "serde_arrays")] - pub param_0: [u16; 4096], - #[serde(with = "serde_arrays")] - pub param_1: [u8; 4096], - #[serde(with = "serde_arrays")] - pub param_2: [u8; 4096], - - pub node_metas: HashMap<u16, NodeMeta>, - - #[mt(const8 = 2)] - #[serde(skip)] - pub version: (), -} diff --git a/src/to_clt/hud.rs b/src/to_clt/hud.rs deleted file mode 100644 index 3a29d7b..0000000 --- a/src/to_clt/hud.rs +++ /dev/null @@ -1,154 +0,0 @@ -use super::*; - -#[mt_derive(to = "clt", repr = "u32", enumset)] -pub enum HudStyleFlag { - Bold, - Italic, - Mono, -} - -#[mt_derive(to = "clt", repr = "u8", tag = "attribute", content = "value")] -pub enum HudChange { - Pos([f32; 2]) = 0, - Name(String), - Scale([f32; 2]), - Text(String), - Number(u32), - Item(u32), - Dir(u32), - Align([f32; 2]), - Offset([f32; 2]), - WorldPos([f32; 3]), - ZIndex(i32), - Text2(String), - Style(EnumSet<HudStyleFlag>), -} - -#[mt_derive(to = "clt", repr = "u8")] -pub enum HudType { - Image = 0, - Text, - Statbar, - Inv, - Waypoint, - ImageWaypoint, -} - -#[mt_derive(to = "clt")] -pub struct HudElement { - pub hud_type: HudType, - pub pos: [f32; 2], - pub name: String, - pub scale: [f32; 2], - pub text: String, - pub number: u32, - pub item: u32, - pub dir: u32, - pub align: [f32; 2], - pub offset: [f32; 2], - pub world_pos: [f32; 3], - pub z_index: i32, - pub text_2: String, - pub style: EnumSet<HudStyleFlag>, -} - -impl HudElement { - pub fn apply_change(&mut self, change: HudChange) { - use HudChange::*; - - match change { - Pos(v) => self.pos = v, - Name(v) => self.name = v, - Scale(v) => self.scale = v, - Text(v) => self.text = v, - Number(v) => self.number = v, - Item(v) => self.item = v, - Dir(v) => self.dir = v, - Align(v) => self.align = v, - Offset(v) => self.offset = v, - WorldPos(v) => self.world_pos = v, - ZIndex(v) => self.z_index = v, - Text2(v) => self.text_2 = v, - Style(v) => self.style = v, - } - } -} - -#[mt_derive(to = "clt", repr = "u32", enumset)] -pub enum HudFlag { - Hotbar, - HealthBar, - Crosshair, - WieldedItem, - BreathBar, - Minimap, - RadarMinimap, -} - -#[mt_derive(to = "clt", repr = "u16", tag = "attribute", content = "value")] -pub enum HotbarParam { - Size(#[mt(const16 = 4)] u32) = 0, - Image(String), - SelectionImage(String), -} - -#[mt_derive(to = "clt", repr = "u16")] -pub enum MinimapType { - None = 0, - Surface, - Radar, - Texture, -} - -#[mt_derive(to = "clt")] -pub struct MinimapMode { - pub minimap_type: MinimapType, - pub label: String, - pub size: u16, - pub texture: String, - pub scale: u16, -} - -#[mt_derive(to = "clt", custom)] -pub struct MinimapModePkt { - current: u16, - modes: Vec<MinimapMode>, -} - -#[cfg(feature = "server")] -impl MtSerialize for MinimapModePkt { - fn mt_serialize<C: MtCfg>(&self, writer: &mut impl Write) -> Result<(), SerializeError> { - DefCfg::write_len(self.modes.len(), writer)?; - self.current.mt_serialize::<DefCfg>(writer)?; - self.modes.mt_serialize::<NoLen>(writer)?; - - Ok(()) - } -} - -#[cfg(feature = "client")] -impl MtDeserialize for MinimapModePkt { - fn mt_deserialize<C: MtCfg>(reader: &mut impl Read) -> Result<Self, DeserializeError> { - let range = DefCfg::read_len(reader)?; - let current = MtDeserialize::mt_deserialize::<DefCfg>(reader)?; - let modes = range - .map(|_| MtDeserialize::mt_deserialize::<DefCfg>(reader)) - .try_collect()?; - - Ok(Self { current, modes }) - } -} - -/* -TODO: rustify this - -var DefaultMinimap = []MinimapMode{ - {Type: NoMinimap}, - {Type: SurfaceMinimap, Size: 256}, - {Type: SurfaceMinimap, Size: 128}, - {Type: SurfaceMinimap, Size: 64}, - {Type: RadarMinimap, Size: 512}, - {Type: RadarMinimap, Size: 256}, - {Type: RadarMinimap, Size: 128}, -} -*/ diff --git a/src/to_clt/media.rs b/src/to_clt/media.rs deleted file mode 100644 index 0dd1f3d..0000000 --- a/src/to_clt/media.rs +++ /dev/null @@ -1,33 +0,0 @@ -use super::*; - -#[mt_derive(to = "clt")] -pub struct MediaAnnounce { - pub name: String, - pub base64_sha1: String, -} - -#[mt_derive(to = "clt")] -pub struct MediaPayload { - pub name: String, - #[mt(len32)] - pub data: Vec<u8>, -} - -#[mt_derive(to = "clt")] -pub struct TileAnim; // TODO - -#[mt_derive(to = "clt")] -pub struct ItemDef; // TODO - -#[mt_derive(to = "clt")] -pub struct NodeDef; // TODO - -#[mt_derive(to = "clt")] -pub struct NodeMeta; // TODO - -#[mt_derive(to = "clt", repr = "u16")] -pub enum SoundSrcType { - Nowhere = 0, - Pos, - Obj, -} diff --git a/src/to_clt/status.rs b/src/to_clt/status.rs deleted file mode 100644 index 54adb45..0000000 --- a/src/to_clt/status.rs +++ /dev/null @@ -1,80 +0,0 @@ -use super::*; - -#[mt_derive(to = "clt", repr = "u8", tag = "reason")] -pub enum KickReason { - WrongPasswd, - UnexpectedData, - SrvIsSingleplayer, - UnsupportedVersion, - BadNameChars, - BadName, - TooManyClts, - EmptyPasswd, - AlreadyConnected, - SrvErr, - Custom { custom: String }, - Shutdown { custom: String, reconnect: bool }, - Crash { custom: String, reconnect: bool }, -} - -impl KickReason { - pub fn reconnect(&self) -> bool { - use KickReason::*; - - match self { - Shutdown { reconnect, .. } | Crash { reconnect, .. } => *reconnect, - _ => false, - } - } -} - -impl fmt::Display for KickReason { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use KickReason::*; - - match self { - WrongPasswd => write!(f, "wrong password"), - UnexpectedData => write!(f, "unexpected data"), - SrvIsSingleplayer => write!(f, "server is singleplayer"), - UnsupportedVersion => write!(f, "unsupported client version"), - BadNameChars => write!(f, "disallowed character(s) in player name"), - BadName => write!(f, "disallowed player name"), - TooManyClts => write!(f, "too many clients"), - EmptyPasswd => write!(f, "empty password"), - AlreadyConnected => write!(f, "another client is already connected with the same name"), - SrvErr => write!(f, "unsupported client version"), - Custom { custom } => write!(f, "{custom}"), - Shutdown { custom, .. } => { - if custom.is_empty() { - write!(f, "server shutdown") - } else { - write!(f, "server shutdown: {custom}") - } - } - Crash { custom, .. } => { - if custom.is_empty() { - write!(f, "server crash") - } else { - write!(f, "server crash: {custom}") - } - } - } - } -} - -#[mt_derive(to = "clt", repr = "u32", enumset)] -pub enum AuthMethod { - LegacyPasswd, - Srp, - FirstSrp, -} - -#[mt_derive(to = "clt", repr = "u64", enumset)] -pub enum CsmRestrictionFlag { - NoCsms, - NoChatMsgs, - NoItemDefs, - NoNodeDefs, - LimitMapRange, - NoPlayerList, -} |