mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 10:14:06 +02:00
delta is a ServerTick
This commit is contained in:
parent
44593f38eb
commit
e3cc24ef94
1 changed files with 8 additions and 8 deletions
|
|
@ -12,9 +12,9 @@ use parse_display::{Display, FromStr};
|
||||||
use std::cmp::{min, Ordering};
|
use std::cmp::{min, Ordering};
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
|
|
||||||
|
use crate::demo::data::ServerTick;
|
||||||
use itertools::Either;
|
use itertools::Either;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::num::NonZeroU32;
|
|
||||||
#[cfg(feature = "trace")]
|
#[cfg(feature = "trace")]
|
||||||
use tracing::trace;
|
use tracing::trace;
|
||||||
|
|
||||||
|
|
@ -95,7 +95,7 @@ pub struct PacketEntity {
|
||||||
pub update_type: UpdateType,
|
pub update_type: UpdateType,
|
||||||
pub serial_number: u32,
|
pub serial_number: u32,
|
||||||
pub delay: Option<f32>,
|
pub delay: Option<f32>,
|
||||||
pub delta: Option<u32>,
|
pub delta: Option<ServerTick>,
|
||||||
pub baseline_index: usize,
|
pub baseline_index: usize,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -242,7 +242,7 @@ pub struct PacketEntitiesMessage {
|
||||||
pub entities: Vec<PacketEntity>,
|
pub entities: Vec<PacketEntity>,
|
||||||
pub removed_entities: Vec<EntityId>,
|
pub removed_entities: Vec<EntityId>,
|
||||||
pub max_entries: u16,
|
pub max_entries: u16,
|
||||||
pub delta: Option<NonZeroU32>,
|
pub delta: Option<ServerTick>,
|
||||||
pub base_line: u8,
|
pub base_line: u8,
|
||||||
pub updated_base_line: bool,
|
pub updated_base_line: bool,
|
||||||
}
|
}
|
||||||
|
|
@ -258,7 +258,7 @@ fn get_entity_for_update(
|
||||||
state: &ParserState,
|
state: &ParserState,
|
||||||
entity_index: EntityId,
|
entity_index: EntityId,
|
||||||
update_type: UpdateType,
|
update_type: UpdateType,
|
||||||
delta: Option<u32>,
|
delta: Option<ServerTick>,
|
||||||
) -> Result<PacketEntity> {
|
) -> Result<PacketEntity> {
|
||||||
let class_id = *state
|
let class_id = *state
|
||||||
.entity_classes
|
.entity_classes
|
||||||
|
|
@ -281,7 +281,7 @@ fn get_entity_for_update(
|
||||||
impl Parse<'_> for PacketEntitiesMessage {
|
impl Parse<'_> for PacketEntitiesMessage {
|
||||||
fn parse(stream: &mut Stream, state: &ParserState) -> Result<Self> {
|
fn parse(stream: &mut Stream, state: &ParserState) -> Result<Self> {
|
||||||
let max_entries = stream.read_sized(11)?;
|
let max_entries = stream.read_sized(11)?;
|
||||||
let delta: Option<u32> = stream.read()?;
|
let delta: Option<ServerTick> = stream.read()?;
|
||||||
let base_line = stream.read_sized(1)?;
|
let base_line = stream.read_sized(1)?;
|
||||||
let updated_entries: u16 = stream.read_sized(11)?;
|
let updated_entries: u16 = stream.read_sized(11)?;
|
||||||
let length: u32 = stream.read_sized(20)?;
|
let length: u32 = stream.read_sized(20)?;
|
||||||
|
|
@ -342,7 +342,7 @@ impl Parse<'_> for PacketEntitiesMessage {
|
||||||
entities,
|
entities,
|
||||||
removed_entities,
|
removed_entities,
|
||||||
max_entries,
|
max_entries,
|
||||||
delta: delta.and_then(NonZeroU32::new),
|
delta,
|
||||||
base_line,
|
base_line,
|
||||||
updated_base_line,
|
updated_base_line,
|
||||||
})
|
})
|
||||||
|
|
@ -354,7 +354,7 @@ impl Encode for PacketEntitiesMessage {
|
||||||
self.max_entries.write_sized(stream, 11)?;
|
self.max_entries.write_sized(stream, 11)?;
|
||||||
self.delta.is_some().write(stream)?;
|
self.delta.is_some().write(stream)?;
|
||||||
if let Some(delta) = self.delta {
|
if let Some(delta) = self.delta {
|
||||||
delta.get().write(stream)?;
|
delta.write(stream)?;
|
||||||
}
|
}
|
||||||
self.base_line.write_sized(stream, 1)?;
|
self.base_line.write_sized(stream, 1)?;
|
||||||
self.entities.len().write_sized(stream, 11)?;
|
self.entities.len().write_sized(stream, 11)?;
|
||||||
|
|
@ -407,7 +407,7 @@ impl PacketEntitiesMessage {
|
||||||
entity_index: EntityId,
|
entity_index: EntityId,
|
||||||
state: &ParserState,
|
state: &ParserState,
|
||||||
baseline_index: usize,
|
baseline_index: usize,
|
||||||
delta: Option<u32>,
|
delta: Option<ServerTick>,
|
||||||
) -> Result<PacketEntity> {
|
) -> Result<PacketEntity> {
|
||||||
let bits = log_base2(state.server_classes.len()) + 1;
|
let bits = log_base2(state.server_classes.len()) + 1;
|
||||||
let class_index: ClassId = stream.read_sized::<u16>(bits as usize)?.into();
|
let class_index: ClassId = stream.read_sized::<u16>(bits as usize)?.into();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue