Make 0 member msgs look nicer
This commit is contained in:
parent
90b43608b9
commit
e4ab0a7791
|
@ -3,7 +3,8 @@
|
|||
import os
|
||||
import json
|
||||
|
||||
from typing import TypedDict, Literal, Optional, Dict, Union
|
||||
from typing import \
|
||||
TypedDict, Literal, Optional, Dict, Union, TextIO
|
||||
|
||||
KIND = Literal[ \
|
||||
'int32', \
|
||||
|
@ -398,32 +399,13 @@ class CodeGenerator():
|
|||
def __init__(self) -> None:
|
||||
self.game_enums: list[GameEnumJson] = []
|
||||
|
||||
def generate_msg(
|
||||
def write_init_method_header(
|
||||
self,
|
||||
out_file: TextIO,
|
||||
msg: NetMessageJson,
|
||||
game: Literal['game', 'system']
|
||||
game: Literal['system', 'game'],
|
||||
name_snake: str
|
||||
) -> None:
|
||||
name_snake = name_to_snake(msg['name'])
|
||||
name_camel = name_to_camel(msg['name'])
|
||||
dirname = os.path.dirname(__file__)
|
||||
file_path= os.path.join(
|
||||
dirname,
|
||||
f'../twnet_parser/messages7/{game}/',
|
||||
f'{name_snake}.py')
|
||||
# if os.path.exists(file_path):
|
||||
# print(f"Warning: file already exists! {file_path}")
|
||||
# return
|
||||
with open(file_path, 'w') as out_file:
|
||||
print(f"Generating {file_path} ...")
|
||||
out_file.write('# generated by scripts/generate_messages.py\n')
|
||||
out_file.write('\n')
|
||||
out_file.write('from twnet_parser.pretty_print import PrettyPrint\n')
|
||||
if len(msg['members']) > 0:
|
||||
out_file.write('from twnet_parser.packer import Unpacker\n')
|
||||
out_file.write('from twnet_parser.chunk_header import ChunkHeader\n')
|
||||
out_file.write(get_dependencies(msg))
|
||||
out_file.write('\n')
|
||||
out_file.write(f'class Msg{name_camel}(PrettyPrint):\n')
|
||||
out_file.write(' def __init__(\n')
|
||||
out_file.write(' self,\n')
|
||||
args: list[str] = []
|
||||
|
@ -518,6 +500,37 @@ class CodeGenerator():
|
|||
args.append(f' {name}: {ftype} = {default}')
|
||||
out_file.write(',\n'.join(args) + '\n')
|
||||
out_file.write(' ) -> None:\n')
|
||||
|
||||
def generate_msg(
|
||||
self,
|
||||
msg: NetMessageJson,
|
||||
game: Literal['game', 'system']
|
||||
) -> None:
|
||||
name_snake = name_to_snake(msg['name'])
|
||||
name_camel = name_to_camel(msg['name'])
|
||||
dirname = os.path.dirname(__file__)
|
||||
file_path= os.path.join(
|
||||
dirname,
|
||||
f'../twnet_parser/messages7/{game}/',
|
||||
f'{name_snake}.py')
|
||||
# if os.path.exists(file_path):
|
||||
# print(f"Warning: file already exists! {file_path}")
|
||||
# return
|
||||
with open(file_path, 'w') as out_file:
|
||||
print(f"Generating {file_path} ...")
|
||||
out_file.write('# generated by scripts/generate_messages.py\n')
|
||||
out_file.write('\n')
|
||||
out_file.write('from twnet_parser.pretty_print import PrettyPrint\n')
|
||||
if len(msg['members']) > 0:
|
||||
out_file.write('from twnet_parser.packer import Unpacker\n')
|
||||
out_file.write('from twnet_parser.chunk_header import ChunkHeader\n')
|
||||
out_file.write(get_dependencies(msg))
|
||||
out_file.write('\n')
|
||||
out_file.write(f'class Msg{name_camel}(PrettyPrint):\n')
|
||||
if len(msg['members']) > 0:
|
||||
self.write_init_method_header(out_file, msg, game, name_snake)
|
||||
else:
|
||||
out_file.write(' def __init__(self) -> None:\n')
|
||||
out_file.write(f" self.message_name = '{name_snake}'\n")
|
||||
sys: str = 'True' if game == 'system' else 'False'
|
||||
out_file.write(f" self.system_message = {sys}\n")
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgClKill(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'cl_kill'
|
||||
self.system_message = False
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgClReadyChange(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'cl_ready_change'
|
||||
self.system_message = False
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgSvGameMsg(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'sv_game_msg'
|
||||
self.system_message = False
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgSvReadyToEnter(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'sv_ready_to_enter'
|
||||
self.system_message = False
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgSvVoteClearOptions(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'sv_vote_clear_options'
|
||||
self.system_message = False
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgSvVoteOptionListAdd(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'sv_vote_option_list_add'
|
||||
self.system_message = False
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgConReady(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'con_ready'
|
||||
self.system_message = True
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgEnterGame(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'enter_game'
|
||||
self.system_message = True
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgPing(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'ping'
|
||||
self.system_message = True
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgPingReply(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'ping_reply'
|
||||
self.system_message = True
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgRconAuthOff(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'rcon_auth_off'
|
||||
self.system_message = True
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgRconAuthOn(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'rcon_auth_on'
|
||||
self.system_message = True
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgReady(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'ready'
|
||||
self.system_message = True
|
||||
self.header: ChunkHeader
|
||||
|
|
|
@ -4,10 +4,7 @@ from twnet_parser.pretty_print import PrettyPrint
|
|||
from twnet_parser.chunk_header import ChunkHeader
|
||||
|
||||
class MsgRequestMapData(PrettyPrint):
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
) -> None:
|
||||
def __init__(self) -> None:
|
||||
self.message_name = 'request_map_data'
|
||||
self.system_message = True
|
||||
self.header: ChunkHeader
|
||||
|
|
Loading…
Reference in a new issue