From be53eccdafdceac91ac6e8cae0ab19fe4a43fd5f Mon Sep 17 00:00:00 2001 From: vinci6k Date: Mon, 1 Feb 2021 19:24:20 +0100 Subject: [PATCH 1/3] Added ShowMenu implementation --- .../packages/source-python/messages/impl.py | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/addons/source-python/packages/source-python/messages/impl.py b/addons/source-python/packages/source-python/messages/impl.py index 30a903a2d..f13a01053 100644 --- a/addons/source-python/packages/source-python/messages/impl.py +++ b/addons/source-python/packages/source-python/messages/impl.py @@ -17,6 +17,7 @@ 'UserMessageData', 'UserMessageImpl', 'SayText2Impl', + 'ShowMenuImpl', 'VGUIMenuImpl', 'implemented_usermessages', 'get_user_message_impl', @@ -171,6 +172,38 @@ def write_bitbuffer(buffer, data): buffer.write_string(data.param4) +class ShowMenuImpl(UserMessageImpl): + """ShowMenu implementation.""" + + @staticmethod + def read_protobuf(buffer): + return UserMessageData( + valid_slots=buffer.get_int32('bits_valid_slots'), + display_time=buffer.get_int32('display_time'), + menu_string=buffer.get_string('menu_string') + ) + + @staticmethod + def write_protobuf(buffer, data): + buffer.set_int32('bits_valid_slots', data.valid_slots) + buffer.set_int32('display_time', data.display_time) + buffer.set_string('menu_string', data.menu_string) + + @staticmethod + def read_bitbuffer(buffer): + return UserMessageData( + valid_slots=buffer.read_byte(), + display_time=buffer.read_byte(), + menu_string=buffer.read_string() + ) + + @staticmethod + def write_bitbuffer(buffer, data): + buffer.write_byte(data.valid_slots) + buffer.write_byte(data.display_time) + buffer.write_string(data.menu_string) + + class VGUIMenuImpl(UserMessageImpl): """VGUIMenu implementation.""" @@ -226,9 +259,11 @@ def write_bitbuffer(buffer, data): #: A dictionary that contains all implemented user messages. implemented_usermessages = { get_message_index('SayText2'): SayText2Impl, - get_message_index('VGUIMenu'): VGUIMenuImpl, + get_message_index('ShowMenu'): ShowMenuImpl, + get_message_index('VGUIMenu'): VGUIMenuImpl } + def get_user_message_impl(msg_index): """Return the user message implementation for the given message index. From a266ec36bce37cc1fd1c0bd3a76f050994da32d1 Mon Sep 17 00:00:00 2001 From: vinci6k Date: Mon, 1 Feb 2021 20:18:39 +0100 Subject: [PATCH 2/3] Changed data types for bitbuffer. --- .../source-python/packages/source-python/messages/impl.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/source-python/packages/source-python/messages/impl.py b/addons/source-python/packages/source-python/messages/impl.py index f13a01053..814fdf829 100644 --- a/addons/source-python/packages/source-python/messages/impl.py +++ b/addons/source-python/packages/source-python/messages/impl.py @@ -192,15 +192,15 @@ def write_protobuf(buffer, data): @staticmethod def read_bitbuffer(buffer): return UserMessageData( - valid_slots=buffer.read_byte(), - display_time=buffer.read_byte(), + valid_slots=buffer.read_word(), + display_time=buffer.read_char(), menu_string=buffer.read_string() ) @staticmethod def write_bitbuffer(buffer, data): - buffer.write_byte(data.valid_slots) - buffer.write_byte(data.display_time) + buffer.write_word(data.valid_slots) + buffer.write_char(data.display_time) buffer.write_string(data.menu_string) From c148c1eb784868721cc1ca2bbec7425eb45e099e Mon Sep 17 00:00:00 2001 From: vinci6k Date: Mon, 1 Feb 2021 22:02:26 +0100 Subject: [PATCH 3/3] Added the 'chunked' byte. --- addons/source-python/packages/source-python/messages/impl.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/source-python/packages/source-python/messages/impl.py b/addons/source-python/packages/source-python/messages/impl.py index 814fdf829..82be3a933 100644 --- a/addons/source-python/packages/source-python/messages/impl.py +++ b/addons/source-python/packages/source-python/messages/impl.py @@ -194,6 +194,7 @@ def read_bitbuffer(buffer): return UserMessageData( valid_slots=buffer.read_word(), display_time=buffer.read_char(), + chunked=buffer.read_byte(), menu_string=buffer.read_string() ) @@ -201,6 +202,7 @@ def read_bitbuffer(buffer): def write_bitbuffer(buffer, data): buffer.write_word(data.valid_slots) buffer.write_char(data.display_time) + buffer.write_byte(data.chunked) buffer.write_string(data.menu_string)