mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 10:14:06 +02:00
some minor enum cleanup
This commit is contained in:
parent
70fe69db21
commit
2ebd7e9693
3 changed files with 7 additions and 22 deletions
|
|
@ -1,9 +1,5 @@
|
|||
use num_enum::TryFromPrimitive;
|
||||
|
||||
pub use generated::*;
|
||||
|
||||
use serde_repr::{Deserialize_repr, Serialize_repr};
|
||||
|
||||
use crate::demo::message::bspdecal::*;
|
||||
use crate::demo::message::classinfo::*;
|
||||
use crate::demo::message::gameevent::*;
|
||||
|
|
@ -16,6 +12,7 @@ use crate::demo::message::voice::*;
|
|||
use crate::demo::parser::{Encode, ParseBitSkip};
|
||||
use crate::{Parse, ParserState, Result, Stream};
|
||||
use bitbuffer::{BitRead, BitWrite, BitWriteStream, LittleEndian};
|
||||
use serde_repr::{Deserialize_repr, Serialize_repr};
|
||||
|
||||
pub mod bspdecal;
|
||||
pub mod classinfo;
|
||||
|
|
@ -29,16 +26,7 @@ pub mod usermessage;
|
|||
pub mod voice;
|
||||
|
||||
#[derive(
|
||||
TryFromPrimitive,
|
||||
BitRead,
|
||||
BitWrite,
|
||||
Debug,
|
||||
Clone,
|
||||
Copy,
|
||||
PartialEq,
|
||||
Eq,
|
||||
Serialize_repr,
|
||||
Deserialize_repr,
|
||||
BitRead, BitWrite, Debug, Clone, Copy, PartialEq, Eq, Serialize_repr, Deserialize_repr,
|
||||
)]
|
||||
#[repr(u8)]
|
||||
#[discriminant_bits = 6]
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
use bitbuffer::{BitRead, BitWrite, BitWriteStream, LittleEndian};
|
||||
use num_enum::TryFromPrimitive;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::convert::TryFrom;
|
||||
|
||||
use crate::demo::handle_utf8_error;
|
||||
|
||||
use crate::{ReadResult, Stream};
|
||||
|
||||
#[derive(TryFromPrimitive, Clone, Copy, Debug, PartialEq, Eq)]
|
||||
#[derive(BitRead, BitWrite, Clone, Copy, Debug, PartialEq, Eq)]
|
||||
#[repr(u8)]
|
||||
#[discriminant_bits = 8]
|
||||
pub enum UserMessageType {
|
||||
Geiger = 0,
|
||||
Train = 1,
|
||||
|
|
@ -98,8 +97,7 @@ impl UserMessage<'_> {
|
|||
|
||||
impl<'a> BitRead<'a, LittleEndian> for UserMessage<'a> {
|
||||
fn read(stream: &mut Stream<'a>) -> ReadResult<Self> {
|
||||
let message_type =
|
||||
UserMessageType::try_from(stream.read::<u8>()?).unwrap_or(UserMessageType::Unknown);
|
||||
let message_type = stream.read().unwrap_or(UserMessageType::Unknown);
|
||||
let length = stream.read_int(11)?;
|
||||
let mut data = stream.read_bits(length)?;
|
||||
let message = match message_type {
|
||||
|
|
@ -123,7 +121,7 @@ impl<'a> BitRead<'a, LittleEndian> for UserMessage<'a> {
|
|||
|
||||
impl<'a> BitWrite<LittleEndian> for UserMessage<'a> {
|
||||
fn write(&self, stream: &mut BitWriteStream<LittleEndian>) -> ReadResult<()> {
|
||||
(self.message_type() as u8).write(stream)?;
|
||||
self.message_type().write(stream)?;
|
||||
stream.reserve_length(11, |stream| match self {
|
||||
UserMessage::SayText2(body) => stream.write(body),
|
||||
UserMessage::Text(body) => stream.write(body),
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
use bitbuffer::{BitRead, BitWrite, BitWriteStream, LittleEndian};
|
||||
use num_enum::TryFromPrimitive;
|
||||
|
||||
use crate::{Parse, ParserState, Result, Stream};
|
||||
|
||||
|
|
@ -32,7 +31,7 @@ pub enum Packet<'a> {
|
|||
StringTables(StringTablePacket<'a>),
|
||||
}
|
||||
|
||||
#[derive(BitRead, BitWrite, TryFromPrimitive, Debug, Clone, Copy, Eq, PartialEq)]
|
||||
#[derive(BitRead, BitWrite, Debug, Clone, Copy, Eq, PartialEq)]
|
||||
#[discriminant_bits = 8]
|
||||
#[repr(u8)]
|
||||
pub enum PacketType {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue