Exemplo n.º 1
0
from CubeDataStream import CubeDataStream

type_method_mapping = {
                            'stream_data': CubeDataStream.read,
                            'int': CubeDataStream.getint, 
                            'uint': CubeDataStream.getuint,
                            'string': CubeDataStream.getstring, 
                            'float': CubeDataStream.getfloat
                        }

from StreamSpecification import Field, FieldCollection, IteratedFieldCollection, TerminatedFieldCollection
from StreamSpecification import ConditionalFieldCollection
from StreamSpecification import MessageType, StreamStateModifierType, StreamSpecification, SwitchField, CaseField
from StreamSpecification import StreamContainerType, RawField, CustomMessageType

stream_spec = StreamSpecification(CubeDataStream, type_method_mapping, {}, "int")

from .constants import message_types, flag_messages, guns, MAXCLIENTS

'''
case SV_SERVINFO:  // welcome messsage from the server
{
    int mycn = getint(p), prot = getint(p);
    if(prot!=CUR_PROTOCOL_VERSION && !(watchingdemo && prot == -PROTOCOL_VERSION))
    {
        conoutf(_("%c3incompatible game protocol (local protocol: %d :: server protocol: %d)"), CC, CUR_PROTOCOL_VERSION, prot);
        conoutf("\f3if this occurs a lot, obtain an upgrade from \f1http://assault.cubers.net");
        if(watchingdemo) conoutf("breaking loop : \f3this demo is using a different protocol\f5 : end it now!"); // SVN-WiP-bug: causes endless retry loop else!
        else disconnect();
        return;
    }
Exemplo n.º 2
0
from CubeDataStream import CubeDataStream

type_method_mapping = {
                            'stream_data': CubeDataStream.read,
                            'int': CubeDataStream.getint, 
                            'uint': CubeDataStream.getuint,
                            'string': CubeDataStream.getstring, 
                            'float': CubeDataStream.getfloat
                        }

from StreamSpecification import Field, FieldCollection, IteratedFieldCollection, TerminatedFieldCollection
from StreamSpecification import ConditionalFieldCollection
from StreamSpecification import MessageType, StreamStateModifierType, StreamSpecification
from StreamSpecification import StreamContainerType, RawField

stream_spec = StreamSpecification(CubeDataStream, type_method_mapping, {}, "int")

from .constants import message_types, weapon_types

mt = MessageType("N_SERVINFO",
        Field(name="clientnum", type="int"), 
        Field(name="protocol_version", type="int"),
        Field(name="sessionid", type="int"),
        Field(name="haspwd", type="int"),
        Field(name="description", type="string"))
stream_spec.add_message_type(message_types.N_SERVINFO, mt)

mt = MessageType("N_WELCOME",
        Field(name="hasmap", type="int"))
stream_spec.add_message_type(message_types.N_WELCOME, mt)
from CubeDataStream import CubeDataStream

type_method_mapping = {
                            'stream_data': CubeDataStream.read,
                            'int': CubeDataStream.getint, 
                            'uint': CubeDataStream.getuint,
                            'string': CubeDataStream.getstring, 
                            'float': CubeDataStream.getfloat
                        }

from StreamSpecification import Field, FieldCollection, IteratedFieldCollection, TerminatedFieldCollection
from StreamSpecification import MessageType, StreamStateModifierType, StreamSpecification
from StreamSpecification import StreamContainerType, RawField

sauerbraten_stream_spec = StreamSpecification(CubeDataStream, type_method_mapping, {}, "int")

from Constants import message_types

mt = MessageType("N_CONNECT", 
        Field(name="name", type="string"),
        Field(name="pwdhash", type="string"),
        Field(name="playermodel", type="int"))
sauerbraten_stream_spec.add_message_type(message_types.N_CONNECT, mt)


mt = MessageType("N_TELEPORT", 
        Field(name="clientnum", type="int"),
        Field(name="teleport", type="int"),
        Field(name="teledest", type="int"))
sauerbraten_stream_spec.add_message_type(message_types.N_TELEPORT, mt)