From: Keith F. <ven...@us...> - 2003-10-24 08:16:20
|
Update of /cvsroot/planeshift/planeshift/src/common/net In directory sc8-pr-cvs1:/tmp/cvs-serv15762 Modified Files: messages.h messages.cpp Log Message: Added OverrideAction message which sets that directly rather than depending on DR messages to do it and correct it later. Index: messages.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/messages.h,v retrieving revision 1.104 retrieving revision 1.105 diff -C2 -d -r1.104 -r1.105 *** messages.h 21 Oct 2003 22:45:37 -0000 1.104 --- messages.h 24 Oct 2003 07:36:26 -0000 1.105 *************** *** 98,101 **** --- 98,103 ---- //////////////////////////////////////// #define MSGTYPEGUISKILL 0x0036 + #define MSGTYPEOVERRIDEACTION 0x0037 + // Types of system messages *************** *** 680,683 **** --- 682,698 ---- int entity,lootitem,lootaction; + }; + + //--------------------------------------------------------------------------- + + /// Indicates that an OverrideAction is being done and not a loop as covered in DR msgs. + class psOverrideActionMessage : public psMessageCracker + { + public: + psOverrideActionMessage(int client,int entity,const char *action); + psOverrideActionMessage(MsgEntry* message); + + int entity_id; + csString action; }; Index: messages.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/messages.cpp,v retrieving revision 1.104 retrieving revision 1.105 diff -C2 -d -r1.104 -r1.105 *** messages.cpp 21 Oct 2003 22:45:37 -0000 1.104 --- messages.cpp 24 Oct 2003 07:36:26 -0000 1.105 *************** *** 1770,1771 **** --- 1770,1799 ---- //-------------------------------------------------------------------------- + psOverrideActionMessage::psOverrideActionMessage(int client,int entity,const char *action) + { + msg = new MsgEntry( sizeof(entity) + + strlen(action) + + 1); + + msg->data->type = MSGTYPEOVERRIDEACTION; + msg->clientnum = client; + + msg->Add( (uint32_t)entity ); + msg->Add( action ); + + // Sets valid flag based on message overrun state + valid=!(msg->overrun); + } + + psOverrideActionMessage::psOverrideActionMessage(MsgEntry* message) + { + if ( !message ) + return; + + entity_id = message->GetUInt32(); + action = message->GetStr(); + + // Sets valid flag based on message overrun state + valid=!(message->overrun); + } + |