gem
v0.13.0

Send Tables

Parses flattened serializers into the schema tree used to decode packet entities and their fields.

See also: How Entities Are Decoded, Part 1: The Schema for an explanation with real data, and Proto Parsing Pipeline.


Generated API

gem.schema.sendtable.parse_send_tables

parse_send_tables

def parse_send_tables(data: bytes, game_build: int = 0) -> dict[str, Serializer]

Parse a CDemoSendTables payload into a serializer dictionary.

Source: src/gem/schema/sendtable/parser.py:205

gem.schema.sendtable.Serializer

Serializer

class Serializer

A named, versioned entity class schema with ordered fields.

Source: src/gem/schema/sendtable/models.py:211

Dataclass fields

NameTypeDefault
namestr-
versionint-
fieldslist[Field]field(...)

gem.schema.sendtable.Field

Field

class Field

One property of a serializer, including its type model and decoders.

Source: src/gem/schema/sendtable/models.py:108

Dataclass fields

NameTypeDefault
var_namestr-
var_typestr-
send_nodestr-
serializer_namestr-
serializer_versionint-
encoderstr-
encode_flagsint | None-
bit_countint | None-
low_valuefloat | None-
high_valuefloat | None-
parent_namestr''
field_typeFieldTypefield(...)
serializerSerializer | NoneNone
modelintFIELD_MODEL_SIMPLE
decoderFieldDecoder | NoneNone
base_decoderFieldDecoder | NoneNone
child_decoderFieldDecoder | NoneNone

Methods

set_model

Signature: def Field.set_model(self, model: int) -> None

Assign the field model and wire up the appropriate decoders.

Source: src/gem/schema/sendtable/models.py:134

model_name

Signature: def Field.model_name(self) -> str

Return a human-readable model name for debugging.

Source: src/gem/schema/sendtable/models.py:167

gem.schema.sendtable.FieldType

FieldType

class FieldType

Parsed representation of a C++ field type string.

Source: src/gem/schema/sendtable/models.py:56

Dataclass fields

NameTypeDefault
base_typestr-
generic_typeFieldType | NoneNone
pointerboolFalse
countint0