feat: implement dict for game and sys messages

This commit is contained in:
ChillerDragon 2024-06-16 11:22:01 +08:00
parent 47b1459129
commit 5581929e76
107 changed files with 1126 additions and 7 deletions

View file

@ -115,17 +115,33 @@ def name_to_snake(name_list: list[str]) -> str:
name = '_'.join(name_list)
return fix_name_conflict(name)
def gen_iter(messages: list[NetMessageMemberJson]) -> str:
lines: list[str] = []
lines.append(' def __iter__(self):')
lines.append(" yield 'message_type', self.message_type")
lines.append(" yield 'message_name', self.message_name")
lines.append(" yield 'message_id', self.message_id")
def gen_yield(messages: list[NetMessageMemberJson]) -> list[str]:
lines = []
if len(messages) > 0:
lines.append("")
for msg in messages:
name = name_to_snake(msg['name'])
lines.append(f" yield '{name}', self.{name}")
return lines
def gen_iter(messages: list[NetMessageMemberJson]) -> str:
lines: list[str] = []
lines.append(' def __iter__(self):')
lines.append(" yield 'message_type', self.message_type")
lines.append(" yield 'message_name', self.message_name")
lines.append(" yield 'system_message', self.system_message")
lines.append(" yield 'message_id', self.message_id")
lines.append(" yield 'header', dict(self.header)")
lines += gen_yield(messages)
return '\n'.join(lines)
def gen_iter_connless(messages: list[NetMessageMemberJson]) -> str:
lines: list[str] = []
lines.append(' def __iter__(self):')
lines.append(" yield 'message_type', self.message_type")
lines.append(" yield 'message_name', self.message_name")
lines.append(" yield 'message_id', self.message_id")
lines += gen_yield(messages)
return '\n'.join(lines)
def gen_unpack_members_connless7(msg: NetConnlessJson) -> str:
@ -928,7 +944,7 @@ def match_connless{self.protocol_version}(msg_id: bytes, data: bytes) -> Connles
else:
out_file.write(f" self.{name}{ftype} = {name}\n")
out_file.write('\n')
out_file.write(gen_iter(msg['members']))
out_file.write(gen_iter_connless(msg['members']))
out_file.write('\n')
out_file.write('\n')
out_file.write(' # first byte of data\n')
@ -1056,6 +1072,9 @@ def match_connless{self.protocol_version}(msg_id: bytes, data: bytes) -> Connles
out_file.write('\n')
self.generate_field_assignments_in_initialize(msg, out_file)
out_file.write('\n')
out_file.write(gen_iter(msg['members']))
out_file.write('\n')
out_file.write('\n')
out_file.write(' # first byte of data\n')
out_file.write(' # has to be the first byte of the message payload\n')
out_file.write(' # NOT the chunk header and NOT the message id\n')

View file

@ -26,6 +26,17 @@ class MsgClCallVote(PrettyPrint):
self.value: str = value
self.reason: str = reason
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'type', self.type
yield 'value', self.value
yield 'reason', self.reason
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -34,6 +34,21 @@ class MsgClChangeInfo(PrettyPrint):
self.color_body: int = color_body
self.color_feet: int = color_feet
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'clan', self.clan
yield 'country', self.country
yield 'skin', self.skin
yield 'use_custom_color', self.use_custom_color
yield 'color_body', self.color_body
yield 'color_feet', self.color_feet
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -23,6 +23,15 @@ class MsgClEmoticon(PrettyPrint):
self.emoticon: int = emoticon
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'emoticon', self.emoticon
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgClKill(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -24,6 +24,16 @@ class MsgClSay(PrettyPrint):
self.team: bool = team
self.message: str = message
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'team', self.team
yield 'message', self.message
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgClSetSpectatorMode(PrettyPrint):
self.spectator_id: int = spectator_id
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'spectator_id', self.spectator_id
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -23,6 +23,15 @@ class MsgClSetTeam(PrettyPrint):
self.team: int = team
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'team', self.team
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -34,6 +34,21 @@ class MsgClStartInfo(PrettyPrint):
self.color_body: int = color_body
self.color_feet: int = color_feet
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'clan', self.clan
yield 'country', self.country
yield 'skin', self.skin
yield 'use_custom_color', self.use_custom_color
yield 'color_body', self.color_body
yield 'color_feet', self.color_feet
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgClVote(PrettyPrint):
self.vote: int = vote
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'vote', self.vote
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgSvBroadcast(PrettyPrint):
self.message: str = message
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'message', self.message
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -26,6 +26,17 @@ class MsgSvChat(PrettyPrint):
self.client_id: int = client_id
self.message: str = message
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'team', self.team
yield 'client_id', self.client_id
yield 'message', self.message
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -25,6 +25,16 @@ class MsgSvEmoticon(PrettyPrint):
self.client_id: int = client_id
self.emoticon: int = emoticon
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'client_id', self.client_id
yield 'emoticon', self.emoticon
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -24,6 +24,15 @@ class MsgSvExtraProjectile(PrettyPrint):
projectile = ObjProjectile()
self.projectile: ObjProjectile = projectile
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'projectile', self.projectile
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -28,6 +28,18 @@ class MsgSvKillMsg(PrettyPrint):
self.weapon: int = weapon
self.mode_special: int = mode_special
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'killer', self.killer
yield 'victim', self.victim
yield 'weapon', self.weapon
yield 'mode_special', self.mode_special
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgSvMotd(PrettyPrint):
self.message: str = message
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'message', self.message
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgSvReadyToEnter(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -23,6 +23,15 @@ class MsgSvSoundGlobal(PrettyPrint):
self.sound_id: int = sound_id
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'sound_id', self.sound_id
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -86,6 +86,47 @@ class MsgSvTuneParams(PrettyPrint):
self.player_collision: float = player_collision
self.player_hooking: float = player_hooking
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'ground_control_speed', self.ground_control_speed
yield 'ground_control_accel', self.ground_control_accel
yield 'ground_friction', self.ground_friction
yield 'ground_jump_impulse', self.ground_jump_impulse
yield 'air_jump_impulse', self.air_jump_impulse
yield 'air_control_speed', self.air_control_speed
yield 'air_control_accel', self.air_control_accel
yield 'air_friction', self.air_friction
yield 'hook_length', self.hook_length
yield 'hook_fire_speed', self.hook_fire_speed
yield 'hook_drag_accel', self.hook_drag_accel
yield 'hook_drag_speed', self.hook_drag_speed
yield 'gravity', self.gravity
yield 'velramp_start', self.velramp_start
yield 'velramp_range', self.velramp_range
yield 'velramp_curvature', self.velramp_curvature
yield 'gun_curvature', self.gun_curvature
yield 'gun_speed', self.gun_speed
yield 'gun_lifetime', self.gun_lifetime
yield 'shotgun_curvature', self.shotgun_curvature
yield 'shotgun_speed', self.shotgun_speed
yield 'shotgun_speeddiff', self.shotgun_speeddiff
yield 'shotgun_lifetime', self.shotgun_lifetime
yield 'grenade_curvature', self.grenade_curvature
yield 'grenade_speed', self.grenade_speed
yield 'grenade_lifetime', self.grenade_lifetime
yield 'laser_reach', self.laser_reach
yield 'laser_bounce_delay', self.laser_bounce_delay
yield 'laser_bounce_num', self.laser_bounce_num
yield 'laser_bounce_cost', self.laser_bounce_cost
yield 'laser_damage', self.laser_damage
yield 'player_collision', self.player_collision
yield 'player_hooking', self.player_hooking
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgSvVoteClearOptions(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgSvVoteOptionAdd(PrettyPrint):
self.description: str = description
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'description', self.description
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -25,6 +25,16 @@ class MsgSvVoteOptionListAdd(PrettyPrint):
self.num_options: int = num_options
self.description = description
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'num_options', self.num_options
yield 'description', self.description
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgSvVoteOptionRemove(PrettyPrint):
self.description: str = description
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'description', self.description
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -26,6 +26,17 @@ class MsgSvVoteSet(PrettyPrint):
self.description: str = description
self.reason: str = reason
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'timeout', self.timeout
yield 'description', self.description
yield 'reason', self.reason
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -28,6 +28,18 @@ class MsgSvVoteStatus(PrettyPrint):
self.pass_: int = pass_
self.total: int = total
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'yes', self.yes
yield 'no', self.no
yield 'pass_', self.pass_
yield 'total', self.total
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -23,6 +23,15 @@ class MsgSvWeaponPickup(PrettyPrint):
self.weapon: int = weapon
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'weapon', self.weapon
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgConReady(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgEnterGame(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -24,6 +24,16 @@ class MsgInfo(PrettyPrint):
self.version: str = version
self.password: Optional[str] = password
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'version', self.version
yield 'password', self.password
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -31,6 +31,18 @@ class MsgInput(PrettyPrint):
input = ObjPlayerInput()
self.input: ObjPlayerInput = input
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'ack_snapshot', self.ack_snapshot
yield 'intended_tick', self.intended_tick
yield 'input_size', self.input_size
yield 'input', self.input
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -24,6 +24,16 @@ class MsgInputTiming(PrettyPrint):
self.input_pred_tick: int = input_pred_tick
self.time_left: int = time_left
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'input_pred_tick', self.input_pred_tick
yield 'time_left', self.time_left
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -26,6 +26,17 @@ class MsgMapChange(PrettyPrint):
self.crc: int = crc
self.size: int = size
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'crc', self.crc
yield 'size', self.size
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -30,6 +30,18 @@ class MsgMapData(PrettyPrint):
self.data_size: int = data_size if data_size else len(data)
self.data: bytes = data
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'last', self.last
yield 'crc', self.crc
yield 'chunk', self.chunk
yield 'data', self.data
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgPing(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgPingReply(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -26,6 +26,17 @@ class MsgRconAuth(PrettyPrint):
self.password: str = password
self.request_commands: Optional[int] = request_commands
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield '_unused', self._unused
yield 'password', self.password
yield 'request_commands', self.request_commands
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -24,6 +24,16 @@ class MsgRconAuthStatus(PrettyPrint):
self.auth_level: Optional[int] = auth_level
self.receive_commands: Optional[int] = receive_commands
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'auth_level', self.auth_level
yield 'receive_commands', self.receive_commands
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgRconCmd(PrettyPrint):
self.cmd: str = cmd
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'cmd', self.cmd
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -26,6 +26,17 @@ class MsgRconCmdAdd(PrettyPrint):
self.help: str = help
self.params: str = params
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'help', self.help
yield 'params', self.params
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgRconCmdRemove(PrettyPrint):
self.name: str = name
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgRconLine(PrettyPrint):
self.line: str = line
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'line', self.line
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgReady(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgRequestMapData(PrettyPrint):
self.chunk: int = chunk
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'chunk', self.chunk
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -24,6 +24,16 @@ class MsgSnapEmpty(PrettyPrint):
self.tick: int = tick
self.delta_tick: int = delta_tick
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'tick', self.tick
yield 'delta_tick', self.delta_tick
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -30,6 +30,18 @@ class MsgSnapSingle(PrettyPrint):
self.data_size: int = data_size if data_size else len(data)
self.data: bytes = data
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'tick', self.tick
yield 'delta_tick', self.delta_tick
yield 'crc', self.crc
yield 'data', self.data
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -28,6 +28,18 @@ class MsgClCallVote(PrettyPrint):
self.reason: str = reason
self.force: bool = force
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'type', self.type
yield 'value', self.value
yield 'reason', self.reason
yield 'force', self.force
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -24,6 +24,16 @@ class MsgClCommand(PrettyPrint):
self.name: str = name
self.arguments: str = arguments
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'arguments', self.arguments
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -23,6 +23,15 @@ class MsgClEmoticon(PrettyPrint):
self.emoticon: int = emoticon
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'emoticon', self.emoticon
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgClKill(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgClReadyChange(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -27,6 +27,17 @@ class MsgClSay(PrettyPrint):
self.target: int = target
self.message: str = message
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'mode', self.mode
yield 'target', self.target
yield 'message', self.message
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -25,6 +25,16 @@ class MsgClSetSpectatorMode(PrettyPrint):
self.spec_mode: int = spec_mode
self.spectator_id: int = spectator_id
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'spec_mode', self.spec_mode
yield 'spectator_id', self.spectator_id
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -23,6 +23,15 @@ class MsgClSetTeam(PrettyPrint):
self.team: int = team
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'team', self.team
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -29,6 +29,17 @@ class MsgClSkinChange(PrettyPrint):
self.use_custom_colors = use_custom_colors
self.skin_part_colors = skin_part_colors
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'skin_part_names', self.skin_part_names
yield 'use_custom_colors', self.use_custom_colors
yield 'skin_part_colors', self.skin_part_colors
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -35,6 +35,20 @@ class MsgClStartInfo(PrettyPrint):
self.use_custom_colors = use_custom_colors
self.skin_part_colors = skin_part_colors
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'clan', self.clan
yield 'country', self.country
yield 'skin_part_names', self.skin_part_names
yield 'use_custom_colors', self.use_custom_colors
yield 'skin_part_colors', self.skin_part_colors
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgClVote(PrettyPrint):
self.vote: int = vote
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'vote', self.vote
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -27,6 +27,17 @@ class MsgDeClientEnter(PrettyPrint):
self.client_id: int = client_id
self.team: int = team
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'client_id', self.client_id
yield 'team', self.team
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -26,6 +26,17 @@ class MsgDeClientLeave(PrettyPrint):
self.client_id: int = client_id
self.reason: str = reason
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'client_id', self.client_id
yield 'reason', self.reason
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgSvBroadcast(PrettyPrint):
self.message: str = message
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'message', self.message
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -29,6 +29,18 @@ class MsgSvChat(PrettyPrint):
self.target_id: int = target_id
self.message: str = message
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'mode', self.mode
yield 'client_id', self.client_id
yield 'target_id', self.target_id
yield 'message', self.message
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgSvCheckpoint(PrettyPrint):
self.diff: int = diff
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'diff', self.diff
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -26,6 +26,17 @@ class MsgSvClientDrop(PrettyPrint):
self.reason: str = reason
self.silent: bool = silent
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'client_id', self.client_id
yield 'reason', self.reason
yield 'silent', self.silent
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -44,6 +44,24 @@ class MsgSvClientInfo(PrettyPrint):
self.skin_part_colors = skin_part_colors
self.silent: bool = silent
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'client_id', self.client_id
yield 'local', self.local
yield 'team', self.team
yield 'name', self.name
yield 'clan', self.clan
yield 'country', self.country
yield 'skin_part_names', self.skin_part_names
yield 'use_custom_colors', self.use_custom_colors
yield 'skin_part_colors', self.skin_part_colors
yield 'silent', self.silent
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -26,6 +26,17 @@ class MsgSvCommandInfo(PrettyPrint):
self.args_format: str = args_format
self.help_text: str = help_text
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'args_format', self.args_format
yield 'help_text', self.help_text
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgSvCommandInfoRemove(PrettyPrint):
self.name: str = name
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -25,6 +25,16 @@ class MsgSvEmoticon(PrettyPrint):
self.client_id: int = client_id
self.emoticon: int = emoticon
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'client_id', self.client_id
yield 'emoticon', self.emoticon
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -24,6 +24,15 @@ class MsgSvExtraProjectile(PrettyPrint):
projectile = ObjProjectile()
self.projectile: ObjProjectile = projectile
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'projectile', self.projectile
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -30,6 +30,19 @@ class MsgSvGameInfo(PrettyPrint):
self.match_num: int = match_num
self.match_current: int = match_current
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'game_flags', self.game_flags
yield 'score_limit', self.score_limit
yield 'time_limit', self.time_limit
yield 'match_num', self.match_num
yield 'match_current', self.match_current
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgSvGameMsg(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -28,6 +28,18 @@ class MsgSvKillMsg(PrettyPrint):
self.weapon: int = weapon
self.mode_special: int = mode_special
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'killer', self.killer
yield 'victim', self.victim
yield 'weapon', self.weapon
yield 'mode_special', self.mode_special
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgSvMotd(PrettyPrint):
self.message: str = message
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'message', self.message
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -30,6 +30,19 @@ class MsgSvRaceFinish(PrettyPrint):
self.record_personal: bool = record_personal
self.record_server: bool = record_server
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'client_id', self.client_id
yield 'time', self.time
yield 'diff', self.diff
yield 'record_personal', self.record_personal
yield 'record_server', self.record_server
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgSvReadyToEnter(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -32,6 +32,20 @@ class MsgSvServerSettings(PrettyPrint):
self.team_balance: bool = team_balance
self.player_slots: int = player_slots
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'kick_vote', self.kick_vote
yield 'kick_min', self.kick_min
yield 'spec_vote', self.spec_vote
yield 'team_lock', self.team_lock
yield 'team_balance', self.team_balance
yield 'player_slots', self.player_slots
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -31,6 +31,18 @@ class MsgSvSkinChange(PrettyPrint):
self.use_custom_colors = use_custom_colors
self.skin_part_colors = skin_part_colors
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'client_id', self.client_id
yield 'skin_part_names', self.skin_part_names
yield 'use_custom_colors', self.use_custom_colors
yield 'skin_part_colors', self.skin_part_colors
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -29,6 +29,18 @@ class MsgSvTeam(PrettyPrint):
self.silent: bool = silent
self.cooldown_tick: int = cooldown_tick
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'client_id', self.client_id
yield 'team', self.team
yield 'silent', self.silent
yield 'cooldown_tick', self.cooldown_tick
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -84,6 +84,46 @@ class MsgSvTuneParams(PrettyPrint):
self.player_collision: float = player_collision
self.player_hooking: float = player_hooking
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'ground_control_speed', self.ground_control_speed
yield 'ground_control_accel', self.ground_control_accel
yield 'ground_friction', self.ground_friction
yield 'ground_jump_impulse', self.ground_jump_impulse
yield 'air_jump_impulse', self.air_jump_impulse
yield 'air_control_speed', self.air_control_speed
yield 'air_control_accel', self.air_control_accel
yield 'air_friction', self.air_friction
yield 'hook_length', self.hook_length
yield 'hook_fire_speed', self.hook_fire_speed
yield 'hook_drag_accel', self.hook_drag_accel
yield 'hook_drag_speed', self.hook_drag_speed
yield 'gravity', self.gravity
yield 'velramp_start', self.velramp_start
yield 'velramp_range', self.velramp_range
yield 'velramp_curvature', self.velramp_curvature
yield 'gun_curvature', self.gun_curvature
yield 'gun_speed', self.gun_speed
yield 'gun_lifetime', self.gun_lifetime
yield 'shotgun_curvature', self.shotgun_curvature
yield 'shotgun_speed', self.shotgun_speed
yield 'shotgun_speeddiff', self.shotgun_speeddiff
yield 'shotgun_lifetime', self.shotgun_lifetime
yield 'grenade_curvature', self.grenade_curvature
yield 'grenade_speed', self.grenade_speed
yield 'grenade_lifetime', self.grenade_lifetime
yield 'laser_reach', self.laser_reach
yield 'laser_bounce_delay', self.laser_bounce_delay
yield 'laser_bounce_num', self.laser_bounce_num
yield 'laser_bounce_cost', self.laser_bounce_cost
yield 'player_collision', self.player_collision
yield 'player_hooking', self.player_hooking
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgSvVoteClearOptions(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgSvVoteOptionAdd(PrettyPrint):
self.description: str = description
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'description', self.description
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgSvVoteOptionListAdd(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgSvVoteOptionRemove(PrettyPrint):
self.description: str = description
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'description', self.description
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -31,6 +31,19 @@ class MsgSvVoteSet(PrettyPrint):
self.description: str = description
self.reason: str = reason
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'client_id', self.client_id
yield 'type', self.type
yield 'timeout', self.timeout
yield 'description', self.description
yield 'reason', self.reason
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -28,6 +28,18 @@ class MsgSvVoteStatus(PrettyPrint):
self.pass_: int = pass_
self.total: int = total
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'yes', self.yes
yield 'no', self.no
yield 'pass_', self.pass_
yield 'total', self.total
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -23,6 +23,15 @@ class MsgSvWeaponPickup(PrettyPrint):
self.weapon: int = weapon
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'weapon', self.weapon
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgConReady(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgEnterGame(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -26,6 +26,17 @@ class MsgInfo(PrettyPrint):
self.password: Optional[str] = password
self.client_version: Optional[int] = client_version
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'version', self.version
yield 'password', self.password
yield 'client_version', self.client_version
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -31,6 +31,18 @@ class MsgInput(PrettyPrint):
input = ObjPlayerInput()
self.input: ObjPlayerInput = input
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'ack_snapshot', self.ack_snapshot
yield 'intended_tick', self.intended_tick
yield 'input_size', self.input_size
yield 'input', self.input
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -24,6 +24,16 @@ class MsgInputTiming(PrettyPrint):
self.input_pred_tick: int = input_pred_tick
self.time_left: int = time_left
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'input_pred_tick', self.input_pred_tick
yield 'time_left', self.time_left
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -32,6 +32,20 @@ class MsgMapChange(PrettyPrint):
self.chunk_size: int = chunk_size
self.sha256: Annotated[bytes, 32] = sha256
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'crc', self.crc
yield 'size', self.size
yield 'num_response_chunks_per_request', self.num_response_chunks_per_request
yield 'chunk_size', self.chunk_size
yield 'sha256', self.sha256
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -21,6 +21,15 @@ class MsgMapData(PrettyPrint):
self.data: bytes = data
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'data', self.data
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgMaplistEntryAdd(PrettyPrint):
self.name: str = name
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgMaplistEntryRem(PrettyPrint):
self.name: str = name
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgPing(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgPingReply(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgRconAuth(PrettyPrint):
self.password: str = password
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'password', self.password
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgRconAuthOff(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -18,6 +18,13 @@ class MsgRconAuthOn(PrettyPrint):
self.header: ChunkHeader = chunk_header
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -22,6 +22,15 @@ class MsgRconCmd(PrettyPrint):
self.cmd: str = cmd
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'cmd', self.cmd
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

View file

@ -26,6 +26,17 @@ class MsgRconCmdAdd(PrettyPrint):
self.help: str = help
self.params: str = params
def __iter__(self):
yield 'message_type', self.message_type
yield 'message_name', self.message_name
yield 'system_message', self.system_message
yield 'message_id', self.message_id
yield 'header', dict(self.header)
yield 'name', self.name
yield 'help', self.help
yield 'params', self.params
# first byte of data
# has to be the first byte of the message payload
# NOT the chunk header and NOT the message id

Some files were not shown because too many files have changed in this diff Show more