class OriginViewAngles(Structure): view_origin = SubstructureField(Vector) view_angles = SubstructureField(QAngle) local_view_angles = SubstructureField(QAngle)
class SplitCommandInfo(Structure): flags = ULInt32() original = SubstructureField(OriginViewAngles) resampled = SubstructureField(OriginViewAngles)
class ConditionalSubstructures(Structure): f1 = UBInt8() f2 = ConditionalField(SubstructureField(BasicMessage), condition=lambda m: m.f1 < 10) f3 = ConditionalField(SubstructureField(BasicMessage), condition=lambda m: m.f1 < 20)
class NameStructureGreedyAfter(Structure): first = SubstructureField(PascalString16) last = SubstructureField(PascalString16) greedy = Payload()
class NameStructure(Structure): first = SubstructureField(PascalString16) last = SubstructureField(PascalString16)
class PortTrafficStatisticsMessage(MessageStructure): length = DependentField('length') empty = True data = ConditionalField(SubstructureField(PortTrafficStatistics), lambda v: v.length > 0 or not v.empty)