"""MsgTypes module: contains distributed object message types""" from __future__ import annotations from direct.showbase.PythonUtil import invertDictLossless CLIENT_HELLO = 1 CLIENT_HELLO_RESP = 2 # Sent by the client when it's leaving. CLIENT_DISCONNECT = 3 # Sent by the server when it is dropping the connection deliberately. CLIENT_EJECT = 4 CLIENT_HEARTBEAT = 5 CLIENT_OBJECT_SET_FIELD = 120 CLIENT_OBJECT_SET_FIELDS = 121 CLIENT_OBJECT_LEAVING = 132 CLIENT_OBJECT_LEAVING_OWNER = 161 CLIENT_ENTER_OBJECT_REQUIRED = 142 CLIENT_ENTER_OBJECT_REQUIRED_OTHER = 143 CLIENT_ENTER_OBJECT_REQUIRED_OWNER = 172 CLIENT_ENTER_OBJECT_REQUIRED_OTHER_OWNER = 173 CLIENT_DONE_INTEREST_RESP = 204 CLIENT_ADD_INTEREST = 200 CLIENT_ADD_INTEREST_MULTIPLE = 201 CLIENT_REMOVE_INTEREST = 203 CLIENT_OBJECT_LOCATION = 140 # These are sent internally inside the Astron cluster. # Message Director control messages: CONTROL_CHANNEL = 1 CONTROL_ADD_CHANNEL = 9000 CONTROL_REMOVE_CHANNEL = 9001 CONTROL_ADD_RANGE = 9002 CONTROL_REMOVE_RANGE = 9003 CONTROL_ADD_POST_REMOVE = 9010 CONTROL_CLEAR_POST_REMOVES = 9011 CONTROL_SET_CON_NAME = 9012 CONTROL_SET_CON_URL = 9013 CONTROL_LOG_MESSAGE = 9014 # State Server control messages: STATESERVER_CREATE_OBJECT_WITH_REQUIRED = 2000 STATESERVER_CREATE_OBJECT_WITH_REQUIRED_OTHER = 2001 STATESERVER_DELETE_AI_OBJECTS = 2009 STATESERVER_OBJECT_GET_FIELD = 2010 STATESERVER_OBJECT_GET_FIELD_RESP = 2011 STATESERVER_OBJECT_GET_FIELDS = 2012 STATESERVER_OBJECT_GET_FIELDS_RESP = 2013 STATESERVER_OBJECT_GET_ALL = 2014 STATESERVER_OBJECT_GET_ALL_RESP = 2015 STATESERVER_OBJECT_SET_FIELD = 2020 STATESERVER_OBJECT_SET_FIELDS = 2021 STATESERVER_OBJECT_DELETE_FIELD_RAM = 2030 STATESERVER_OBJECT_DELETE_FIELDS_RAM = 2031 STATESERVER_OBJECT_DELETE_RAM = 2032 STATESERVER_OBJECT_SET_LOCATION = 2040 STATESERVER_OBJECT_CHANGING_LOCATION = 2041 STATESERVER_OBJECT_ENTER_LOCATION_WITH_REQUIRED = 2042 STATESERVER_OBJECT_ENTER_LOCATION_WITH_REQUIRED_OTHER = 2043 STATESERVER_OBJECT_GET_LOCATION = 2044 STATESERVER_OBJECT_GET_LOCATION_RESP = 2045 STATESERVER_OBJECT_SET_AI = 2050 STATESERVER_OBJECT_CHANGING_AI = 2051 STATESERVER_OBJECT_ENTER_AI_WITH_REQUIRED = 2052 STATESERVER_OBJECT_ENTER_AI_WITH_REQUIRED_OTHER = 2053 STATESERVER_OBJECT_GET_AI = 2054 STATESERVER_OBJECT_GET_AI_RESP = 2055 STATESERVER_OBJECT_SET_OWNER = 2060 STATESERVER_OBJECT_CHANGING_OWNER = 2061 STATESERVER_OBJECT_ENTER_OWNER_WITH_REQUIRED = 2062 STATESERVER_OBJECT_ENTER_OWNER_WITH_REQUIRED_OTHER = 2063 STATESERVER_OBJECT_GET_OWNER = 2064 STATESERVER_OBJECT_GET_OWNER_RESP = 2065 STATESERVER_OBJECT_GET_ZONE_OBJECTS = 2100 STATESERVER_OBJECT_GET_ZONES_OBJECTS = 2102 STATESERVER_OBJECT_GET_CHILDREN = 2104 STATESERVER_OBJECT_GET_ZONE_COUNT = 2110 STATESERVER_OBJECT_GET_ZONE_COUNT_RESP = 2111 STATESERVER_OBJECT_GET_ZONES_COUNT = 2112 STATESERVER_OBJECT_GET_ZONES_COUNT_RESP = 2113 STATESERVER_OBJECT_GET_CHILD_COUNT = 2114 STATESERVER_OBJECT_GET_CHILD_COUNT_RESP = 2115 STATESERVER_OBJECT_DELETE_ZONE = 2120 STATESERVER_OBJECT_DELETE_ZONES = 2122 STATESERVER_OBJECT_DELETE_CHILDREN = 2124 # DBSS-backed-object messages: DBSS_OBJECT_ACTIVATE_WITH_DEFAULTS = 2200 DBSS_OBJECT_ACTIVATE_WITH_DEFAULTS_OTHER = 2201 DBSS_OBJECT_GET_ACTIVATED = 2207 DBSS_OBJECT_GET_ACTIVATED_RESP = 2208 DBSS_OBJECT_DELETE_FIELD_DISK = 2230 DBSS_OBJECT_DELETE_FIELDS_DISK = 2231 DBSS_OBJECT_DELETE_DISK = 2232 # Database Server control messages: DBSERVER_CREATE_OBJECT = 3000 DBSERVER_CREATE_OBJECT_RESP = 3001 DBSERVER_OBJECT_GET_FIELD = 3010 DBSERVER_OBJECT_GET_FIELD_RESP = 3011 DBSERVER_OBJECT_GET_FIELDS = 3012 DBSERVER_OBJECT_GET_FIELDS_RESP = 3013 DBSERVER_OBJECT_GET_ALL = 3014 DBSERVER_OBJECT_GET_ALL_RESP = 3015 DBSERVER_OBJECT_SET_FIELD = 3020 DBSERVER_OBJECT_SET_FIELDS = 3021 DBSERVER_OBJECT_SET_FIELD_IF_EQUALS = 3022 DBSERVER_OBJECT_SET_FIELD_IF_EQUALS_RESP = 3023 DBSERVER_OBJECT_SET_FIELDS_IF_EQUALS = 3024 DBSERVER_OBJECT_SET_FIELDS_IF_EQUALS_RESP = 3025 DBSERVER_OBJECT_SET_FIELD_IF_EMPTY = 3026 DBSERVER_OBJECT_SET_FIELD_IF_EMPTY_RESP = 3027 DBSERVER_OBJECT_DELETE_FIELD = 3030 DBSERVER_OBJECT_DELETE_FIELDS = 3031 DBSERVER_OBJECT_DELETE = 3032 # Client Agent control messages: CLIENTAGENT_SET_STATE = 1000 CLIENTAGENT_SET_CLIENT_ID = 1001 CLIENTAGENT_SEND_DATAGRAM = 1002 CLIENTAGENT_EJECT = 1004 CLIENTAGENT_DROP = 1005 CLIENTAGENT_GET_NETWORK_ADDRESS = 1006 CLIENTAGENT_GET_NETWORK_ADDRESS_RESP = 1007 CLIENTAGENT_DECLARE_OBJECT = 1010 CLIENTAGENT_UNDECLARE_OBJECT = 1011 CLIENTAGENT_ADD_SESSION_OBJECT = 1012 CLIENTAGENT_REMOVE_SESSION_OBJECT = 1013 CLIENTAGENT_SET_FIELDS_SENDABLE = 1014 CLIENTAGENT_OPEN_CHANNEL = 1100 CLIENTAGENT_CLOSE_CHANNEL = 1101 CLIENTAGENT_ADD_POST_REMOVE = 1110 CLIENTAGENT_CLEAR_POST_REMOVES = 1111 CLIENTAGENT_ADD_INTEREST = 1200 CLIENTAGENT_ADD_INTEREST_MULTIPLE = 1201 CLIENTAGENT_REMOVE_INTEREST = 1203 MsgName2Id = {name: value for name, value in globals().items() if isinstance(value, int)} # create id->name table for debugging MsgId2Names = invertDictLossless(MsgName2Id) # put msg names in module scope, assigned to msg value globals().update(MsgName2Id) # These messages are ignored when the client is headed to the quiet zone QUIET_ZONE_IGNORED_LIST: list[int] = [ # We mustn't ignore updates, because some updates for localToon # are always important. #CLIENT_OBJECT_UPDATE_FIELD, # These are now handled. If it is a create for a class that is in the # uber zone, we should create it. #CLIENT_CREATE_OBJECT_REQUIRED, #CLIENT_CREATE_OBJECT_REQUIRED_OTHER, ] # The following is a different set of numbers from above. # These are the sub-message types for CLIENT_LOGIN_2. CLIENT_LOGIN_2_GREEN = 1 # Disney's GoReg subscription token, not used. CLIENT_LOGIN_2_PLAY_TOKEN = 2 # VR Studio PlayToken. CLIENT_LOGIN_2_BLUE = 3 # The international GoReg token. CLIENT_LOGIN_3_DISL_TOKEN = 4 # SSL encoded blob from DISL system.