Update of /cvsroot/planeshift/planeshift/src/common/net In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18913/src/common/net Modified Files: clientmsghandler.cpp clientmsghandler.h cmdbase.h cmdhandler.cpp cmdhandler.h connection.cpp message.h messages.cpp messages.h msghandler.h netbase.cpp netbase.h netinfos.cpp netinfos.h netpacket.cpp netpacket.h npcmessages.cpp npcmessages.h pstypes.h sockuni.h sockwin.h Log Message: Getting rid of tabs... Index: clientmsghandler.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/clientmsghandler.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** clientmsghandler.cpp 17 Jun 2005 14:09:50 -0000 1.7 --- clientmsghandler.cpp 1 Dec 2005 22:09:32 -0000 1.8 *************** *** 42,50 **** if (scfiEventHandler) { ! csRef<iEventQueue> queue = CS_QUERY_REGISTRY(object_reg, iEventQueue); ! if (queue) ! queue->RemoveListener(scfiEventHandler); ! scfiEventHandler->DecRef(); ! } } --- 42,50 ---- if (scfiEventHandler) { ! csRef<iEventQueue> queue = CS_QUERY_REGISTRY(object_reg, iEventQueue); ! if (queue) ! queue->RemoveListener(scfiEventHandler); ! scfiEventHandler->DecRef(); ! } } *************** *** 53,57 **** // Create and register inbound queue if (!MsgHandler::Initialize(nb)) ! return false; psClientMsgHandler::object_reg = object_reg; --- 53,57 ---- // Create and register inbound queue if (!MsgHandler::Initialize(nb)) ! return false; psClientMsgHandler::object_reg = object_reg; *************** *** 60,67 **** csRef<iEventQueue> queue = CS_QUERY_REGISTRY(object_reg, iEventQueue); if (!queue) ! return false; scfiEventHandler = new EventHandler(this); queue->RegisterListener(scfiEventHandler, ! CSMASK_Nothing | CSMASK_Broadcast ); return true; --- 60,67 ---- csRef<iEventQueue> queue = CS_QUERY_REGISTRY(object_reg, iEventQueue); if (!queue) ! return false; scfiEventHandler = new EventHandler(this); queue->RegisterListener(scfiEventHandler, ! CSMASK_Nothing | CSMASK_Broadcast ); return true; *************** *** 76,84 **** { if ( (ev.Type != csevBroadcast || csCommandEventHelper::GetCode(&ev) != cscmdPreProcess) ! && ev.Type != csevNothing) ! return false; if (!netbase->IsReady()) ! return false; /* This function is only called on an idle event. --- 76,84 ---- { if ( (ev.Type != csevBroadcast || csCommandEventHelper::GetCode(&ev) != cscmdPreProcess) ! && ev.Type != csevNothing) ! return false; if (!netbase->IsReady()) ! return false; /* This function is only called on an idle event. Index: clientmsghandler.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/clientmsghandler.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** clientmsghandler.h 17 Jun 2005 14:09:50 -0000 1.4 --- clientmsghandler.h 1 Dec 2005 22:09:32 -0000 1.5 *************** *** 75,90 **** { public: ! EventHandler(psClientMsgHandler* parent) ! { ! SCF_CONSTRUCT_IBASE(NULL); ! EventHandler::parent = parent; ! } ! virtual ~EventHandler() { }; ! virtual bool HandleEvent(iEvent& e) ! { return parent->HandleEvent(e); }; ! ! SCF_DECLARE_IBASE; private: ! psClientMsgHandler* parent; } *scfiEventHandler; --- 75,90 ---- { public: ! EventHandler(psClientMsgHandler* parent) ! { ! SCF_CONSTRUCT_IBASE(NULL); ! EventHandler::parent = parent; ! } ! virtual ~EventHandler() { }; ! virtual bool HandleEvent(iEvent& e) ! { return parent->HandleEvent(e); }; ! ! SCF_DECLARE_IBASE; private: ! psClientMsgHandler* parent; } *scfiEventHandler; Index: cmdbase.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/cmdbase.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** cmdbase.h 17 Jun 2005 14:09:50 -0000 1.12 --- cmdbase.h 1 Dec 2005 22:09:32 -0000 1.13 *************** *** 41,47 **** { protected: ! csRef<MsgHandler> msgqueue; CmdHandler *cmdsource; ! iObjectRegistry* objreg; public: --- 41,47 ---- { protected: ! csRef<MsgHandler> msgqueue; CmdHandler *cmdsource; ! iObjectRegistry* objreg; public: Index: cmdhandler.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/cmdhandler.cpp,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** cmdhandler.cpp 26 Nov 2005 09:43:03 -0000 1.38 --- cmdhandler.cpp 1 Dec 2005 22:09:32 -0000 1.39 *************** *** 75,88 **** bool CmdHandler::UnsubscribeAll(iCmdSubscriber *subscriber) { ! bool unsubscribed_commands(false); ! for (size_t x = subscribers.Length() - 1; x != (size_t)-1; x--) ! { ! if (subscribers[x]->subscriber == subscriber) ! { ! subscribers.DeleteIndex(x); ! unsubscribed_commands = true; ! } ! } ! return unsubscribed_commands; } --- 75,88 ---- bool CmdHandler::UnsubscribeAll(iCmdSubscriber *subscriber) { ! bool unsubscribed_commands(false); ! for (size_t x = subscribers.Length() - 1; x != (size_t)-1; x--) ! { ! if (subscribers[x]->subscriber == subscriber) ! { ! subscribers.DeleteIndex(x); ! unsubscribed_commands = true; ! } ! } ! return unsubscribed_commands; } Index: cmdhandler.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/cmdhandler.h,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** cmdhandler.h 17 Jun 2005 14:09:50 -0000 1.22 --- cmdhandler.h 1 Dec 2005 22:09:32 -0000 1.23 *************** *** 52,56 **** protected: iObjectRegistry* objreg; ! csRef<MsgHandler> msghandler; csPDelArray<CmdSubscription> subscribers; --- 52,56 ---- protected: iObjectRegistry* objreg; ! csRef<MsgHandler> msghandler; csPDelArray<CmdSubscription> subscribers; *************** *** 61,66 **** enum { ! INVISIBLE_TO_USER = 0, ! VISIBLE_TO_USER = 1 }; /** --- 61,66 ---- enum { ! INVISIBLE_TO_USER = 0, ! VISIBLE_TO_USER = 1 }; /** *************** *** 73,79 **** bool Unsubscribe(const char *cmd, iCmdSubscriber *subscriber); ! /** remove subscriber from list for all commands previously subscribed */ ! bool UnsubscribeAll(iCmdSubscriber *subscriber); ! /// Call all HandleCommand funcs for all subscribed commands const char *Publish(const char *cmd); --- 73,79 ---- bool Unsubscribe(const char *cmd, iCmdSubscriber *subscriber); ! /** remove subscriber from list for all commands previously subscribed */ ! bool UnsubscribeAll(iCmdSubscriber *subscriber); ! /// Call all HandleCommand funcs for all subscribed commands const char *Publish(const char *cmd); Index: connection.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/connection.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** connection.cpp 29 Aug 2005 23:29:05 -0000 1.17 --- connection.cpp 1 Dec 2005 22:09:32 -0000 1.18 *************** *** 40,44 **** // timeout when the server is considered linkdead #define LINKDEAD_TIMEOUT 5000 ! #define LINKDEAD_ATTEMPTS 6 // 6 attempts with 5sec timeout gives 30secs psNetConnection::psNetConnection() --- 40,44 ---- // timeout when the server is considered linkdead #define LINKDEAD_TIMEOUT 5000 ! #define LINKDEAD_ATTEMPTS 6 // 6 attempts with 5sec timeout gives 30secs psNetConnection::psNetConnection() *************** *** 62,66 **** if (IsReady() || server) { ! DisConnect(); } } --- 62,66 ---- if (IsReady() || server) { ! DisConnect(); } } *************** *** 82,86 **** if (IsReady() || server) ! DisConnect(); server = new Connection; --- 82,86 ---- if (IsReady() || server) ! DisConnect(); server = new Connection; *************** *** 92,96 **** delete server; server = NULL; ! return false; } --- 92,96 ---- delete server; server = NULL; ! return false; } *************** *** 118,123 **** if (server) { ! delete server; ! server = NULL; } --- 118,123 ---- if (server) { ! delete server; ! server = NULL; } *************** *** 132,137 **** // check if it's the server if (server->addr.sin_port==addr->sin_port && ! server->addr.sin_addr.s_addr==addr->sin_addr.s_addr) ! return server; #ifdef DEBUG --- 132,137 ---- // check if it's the server if (server->addr.sin_port==addr->sin_port && ! server->addr.sin_addr.s_addr==addr->sin_addr.s_addr) ! return server; #ifdef DEBUG *************** *** 145,149 **** #ifdef DEBUG if (clientnum!=0) ! Error1 ("clientnum != 0 !?!"); #endif return server; --- 145,149 ---- #ifdef DEBUG if (clientnum!=0) ! Error1 ("clientnum != 0 !?!"); #endif return server; *************** *** 226,253 **** if (currenttime - server->lastRecvPacketTime > LINKDEAD_TIMEOUT) { ! if (server->heartbeat < LINKDEAD_ATTEMPTS) ! { ! server->heartbeat++; ! // Warning2("Sending heartbeat message %d to server....\n", server->heartbeat); ! psSystemMessage heart(0,MSG_INFO,"."); ! SendMessage(heart.msg); // This should cause an ack to update the timestamp ! } ! else ! { ! // Simulate message to self to inform user of quitting. ! psSystemMessage quit(0,MSG_INFO,"Server is no longer responding, it has most likely crashed. Exiting Planeshift..."); ! HandleCompletedMessage(quit.msg, server, &server->addr,NULL); ! psSleep(1000); ! // If no packets received ever, then use -1 to indicate cannot connect ! psDisconnectMessage msgb(0,server->pcknumin?0:-1, ! server->pcknumin?"Server is no longer responding, it has most likely crashed. Automatic server restart in 5 minutes.":"The server is not running or is not reachable. Please check the website or forums for more info."); ! HandleCompletedMessage(msgb.msg, server, &server->addr,NULL); ! } } else { ! server->heartbeat = 0; } } --- 226,253 ---- if (currenttime - server->lastRecvPacketTime > LINKDEAD_TIMEOUT) { ! if (server->heartbeat < LINKDEAD_ATTEMPTS) ! { ! server->heartbeat++; ! // Warning2("Sending heartbeat message %d to server....\n", server->heartbeat); ! psSystemMessage heart(0,MSG_INFO,"."); ! SendMessage(heart.msg); // This should cause an ack to update the timestamp ! } ! else ! { ! // Simulate message to self to inform user of quitting. ! psSystemMessage quit(0,MSG_INFO,"Server is no longer responding, it has most likely crashed. Exiting Planeshift..."); ! HandleCompletedMessage(quit.msg, server, &server->addr,NULL); ! psSleep(1000); ! // If no packets received ever, then use -1 to indicate cannot connect ! psDisconnectMessage msgb(0,server->pcknumin?0:-1, ! server->pcknumin?"Server is no longer responding, it has most likely crashed. Automatic server restart in 5 minutes.":"The server is not running or is not reachable. Please check the website or forums for more info."); ! HandleCompletedMessage(msgb.msg, server, &server->addr,NULL); ! } } else { ! server->heartbeat = 0; } } Index: message.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/message.h,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** message.h 29 Aug 2005 14:54:38 -0000 1.50 --- message.h 1 Dec 2005 22:09:32 -0000 1.51 *************** *** 114,122 **** { /// Version ! msgtype type PS_PACKED; /// the size of the following data ! uint16_t size PS_PACKED; /** this can be used as a pointer to the data */ ! char payload[0] PS_PACKED; size_t GetTotalSize() const { return sizeof(psMessageBytes) + csLittleEndianShort(size); } --- 114,122 ---- { /// Version ! msgtype type PS_PACKED; /// the size of the following data ! uint16_t size PS_PACKED; /** this can be used as a pointer to the data */ ! char payload[0] PS_PACKED; size_t GetTotalSize() const { return sizeof(psMessageBytes) + csLittleEndianShort(size); } *************** *** 410,417 **** current += sizeof(uint32_t); } ! ! /// Add a pointer to the current psMessageBytes buffer. Pointers must never be sent over the network! ! void AddPointer(const uintptr_t i) { if (bytes == NULL) --- 410,417 ---- current += sizeof(uint32_t); } ! ! /// Add a pointer to the current psMessageBytes buffer. Pointers must never be sent over the network! ! void AddPointer(const uintptr_t i) { if (bytes == NULL) *************** *** 688,692 **** return csLittleEndianLong(*p); } ! /// Get an unsigned 4byte int from the current psMessageBytes buffer uint32_t GetUInt32() --- 688,692 ---- return csLittleEndianLong(*p); } ! /// Get an unsigned 4byte int from the current psMessageBytes buffer uint32_t GetUInt32() *************** *** 707,711 **** return csLittleEndianLong(*p); } ! /// Get a pointer from the current psMessageBytes buffer. Pointers must never be sent over the network! uintptr_t GetPointer() --- 707,711 ---- return csLittleEndianLong(*p); } ! /// Get a pointer from the current psMessageBytes buffer. Pointers must never be sent over the network! uintptr_t GetPointer() Index: messages.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/messages.cpp,v retrieving revision 1.320 retrieving revision 1.321 diff -C2 -d -r1.320 -r1.321 *** messages.cpp 29 Nov 2005 07:32:37 -0000 1.320 --- messages.cpp 1 Dec 2005 22:09:32 -0000 1.321 *************** *** 62,76 **** psMarriageMsgPropose::psMarriageMsgPropose( const char* charName, ! const char* proposeMessage, uint32_t clientNum ) { ! CS_ASSERT(charName); CS_ASSERT(proposeMessage); ! msg = new MsgEntry( strlen(charName) + strlen(proposeMessage) + 2 ); ! msg->SetType( MSG_MARRIAGE_PROPOSE ); msg->clientnum = clientNum; [...1019 lines suppressed...] ! counter = (uint8_t) me->GetInt8(); speed = me->GetFloat(); ang_vel = me->GetFloat(); *************** *** 4089,4095 **** case MSGTYPESPEEDMODIFIER: return "MSGTYPESPEEDMODIFIER"; case MSGTYPEMOVEMENTEXTRAUPDATE: return "MSGTYPEMOVEMENTEXTRAUPDATE"; ! case MSG_MARRIAGE_PROPOSE: return "MSG_MARRIAGE_PROPOSE"; ! case MSG_MARRIAGE_DIVORCE: return "MSG_MARRIAGE_DIVORCE"; ! case MSG_MARRIAGE_DETAILS: return "MSG_MARRIAGE_DETAILS"; case MSG_CRAFT_INFO: return "MSG_CRAFT_INFO"; default: return csString().Format("unknown (type=%i)", msgType); --- 4089,4095 ---- case MSGTYPESPEEDMODIFIER: return "MSGTYPESPEEDMODIFIER"; case MSGTYPEMOVEMENTEXTRAUPDATE: return "MSGTYPEMOVEMENTEXTRAUPDATE"; ! case MSG_MARRIAGE_PROPOSE: return "MSG_MARRIAGE_PROPOSE"; ! case MSG_MARRIAGE_DIVORCE: return "MSG_MARRIAGE_DIVORCE"; ! case MSG_MARRIAGE_DETAILS: return "MSG_MARRIAGE_DETAILS"; case MSG_CRAFT_INFO: return "MSG_CRAFT_INFO"; default: return csString().Format("unknown (type=%i)", msgType); Index: messages.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/messages.h,v retrieving revision 1.314 retrieving revision 1.315 diff -C2 -d -r1.314 -r1.315 *** messages.h 21 Nov 2005 10:40:28 -0000 1.314 --- messages.h 1 Dec 2005 22:09:32 -0000 1.315 *************** *** 214,226 **** MSG_TYPE_STATS, ! // Pet Related Messages ! MSGTYPE_NPC_SETOWNER, ! MSGTYPE_PET_COMMAND, ! MSGTYPE_PET_SKILL, ! // Marriage related messages ! MSG_MARRIAGE_PROPOSE, ! MSG_MARRIAGE_DIVORCE, ! MSG_MARRIAGE_DETAILS, MSG_CRAFT_INFO --- 214,226 ---- MSG_TYPE_STATS, ! // Pet Related Messages ! MSGTYPE_NPC_SETOWNER, ! MSGTYPE_PET_COMMAND, ! MSGTYPE_PET_SKILL, ! // Marriage related messages ! MSG_MARRIAGE_PROPOSE, ! MSG_MARRIAGE_DIVORCE, ! MSG_MARRIAGE_DETAILS, MSG_CRAFT_INFO *************** *** 235,239 **** #define MSG_RESULT 0x00010002 // Used for things that the user might be interessted in (By default, OnScreen Yellow) #define MSG_OK 0x00010003// Used for confimation that the action was accepted (By default, OnScreen Green) ! #define MSG_WHO 0x00010004 //Used for the message with /who content #define MSG_COMBAT 0x00020000 #define MSG_COMBAT_DODGE 0x00020001 --- 235,239 ---- #define MSG_RESULT 0x00010002 // Used for things that the user might be interessted in (By default, OnScreen Yellow) #define MSG_OK 0x00010003// Used for confimation that the action was accepted (By default, OnScreen Green) ! #define MSG_WHO 0x00010004 //Used for the message with /who content #define MSG_COMBAT 0x00020000 #define MSG_COMBAT_DODGE 0x00020001 *************** *** 300,308 **** public: psMarriageMsgPropose( const char* charName, const char* proposeMessage, ! uint32_t clientNum = 0 ); psMarriageMsgPropose( MsgEntry* message ); ! csString charName; /// Name of the character that we have to Propose ! csString proposeMsg; /// Message from player to the character being Proposed }; --- 300,308 ---- public: psMarriageMsgPropose( const char* charName, const char* proposeMessage, ! uint32_t clientNum = 0 ); psMarriageMsgPropose( MsgEntry* message ); ! csString charName; /// Name of the character that we have to Propose ! csString proposeMsg; /// Message from player to the character being Proposed }; *************** *** 314,318 **** psMarriageMsgDivorce( MsgEntry* message ); ! csString divorceMsg; /// Divorcing Message from player to spouse }; --- 314,318 ---- psMarriageMsgDivorce( MsgEntry* message ); ! csString divorceMsg; /// Divorcing Message from player to spouse }; *************** *** 324,329 **** psMarriageMsgDetails( MsgEntry* message ); ! csString charName; /// Name of character whose details are wanted ! csString spouseName; /// Name of spouse of character whose details are wanted }; --- 324,329 ---- psMarriageMsgDetails( MsgEntry* message ); ! csString charName; /// Name of character whose details are wanted ! csString spouseName; /// Name of spouse of character whose details are wanted }; *************** *** 827,834 **** EXCHANGE = 2048, TRAIN = 4096, ! NPCTALK = 8192, ! // Pet Commands are Below ! VIEWSTATS = 16384, ! DISMISS = 32768 }; --- 827,834 ---- EXCHANGE = 2048, TRAIN = 4096, ! NPCTALK = 8192, ! // Pet Commands are Below ! VIEWSTATS = 16384, ! DISMISS = 32768 }; *************** *** 1624,1629 **** enum Command { REQUEST, BUY_SKILL, ! SKILL_LIST, ! SKILL_SELECTED, DESCRIPTION, QUIT}; --- 1624,1629 ---- enum Command { REQUEST, BUY_SKILL, ! SKILL_LIST, ! SKILL_SELECTED, DESCRIPTION, QUIT}; *************** *** 1635,1639 **** * @param clientNum Client destination. * @param command One of REQUEST,BUY_SKILL, SKILL_LIST ! * SKILL_SELECTED, DESCRIPTION, QUIT * @param commandData XML string with command data * --- 1635,1639 ---- * @param clientNum Client destination. * @param command One of REQUEST,BUY_SKILL, SKILL_LIST ! * SKILL_SELECTED, DESCRIPTION, QUIT * @param commandData XML string with command data * *************** *** 1654,1668 **** uint32_t man, uint32_t physSta, ! uint32_t menSta, uint32_t hpMax, uint32_t manMax, uint32_t physStaMax, ! uint32_t menStaMax, ! float dpTtl, ! float apTtl, bool open, int32_t focus, ! int32_t selSkillCat, ! bool isTraining); /// Crack this message off the network. --- 1654,1668 ---- uint32_t man, uint32_t physSta, ! uint32_t menSta, uint32_t hpMax, uint32_t manMax, uint32_t physStaMax, ! uint32_t menStaMax, ! float dpTtl, ! float apTtl, bool open, int32_t focus, ! int32_t selSkillCat, ! bool isTraining); /// Crack this message off the network. *************** *** 1681,1696 **** unsigned int mana; unsigned int physStamina; ! unsigned int menStamina; unsigned int hitpointsMax; unsigned int manaMax; unsigned int physStaminaMax; ! unsigned int menStaminaMax; ! float dpTotal; ! float apTotal; bool openWindow; int32_t focusSkill; ! int32_t skillCat; ! bool trainingWindow; //Are we training or not? }; --- 1681,1696 ---- unsigned int mana; unsigned int physStamina; ! unsigned int menStamina; unsigned int hitpointsMax; unsigned int manaMax; unsigned int physStaminaMax; ! unsigned int menStaminaMax; ! float dpTotal; ! float apTotal; bool openWindow; int32_t focusSkill; ! int32_t skillCat; ! bool trainingWindow; //Are we training or not? }; *************** *** 1710,1715 **** enum Command { REQUEST, BUY_SKILL, ! SKILL_LIST, ! SKILL_SELECTED, DESCRIPTION, QUIT }; --- 1710,1715 ---- enum Command { REQUEST, BUY_SKILL, ! SKILL_LIST, ! SKILL_SELECTED, DESCRIPTION, QUIT }; *************** *** 1721,1725 **** * @param clientNum Client destination. * @param command One of REQUEST,BUY_SKILL, SKILL_LIST ! * SKILL_SELECTED, DESCRIPTION, QUIT * @param commandData XML string with command data * --- 1721,1725 ---- * @param clientNum Client destination. * @param command One of REQUEST,BUY_SKILL, SKILL_LIST ! * SKILL_SELECTED, DESCRIPTION, QUIT * @param commandData XML string with command data * *************** *** 1740,1750 **** uint32_t man, uint32_t physSta, ! uint32_t menSta, uint32_t hpMax, uint32_t manMax, uint32_t physStaMax, ! uint32_t menStaMax, ! float dpTtl, ! float apTtl, bool open, int32_t focus); --- 1740,1750 ---- uint32_t man, uint32_t physSta, ! uint32_t menSta, uint32_t hpMax, uint32_t manMax, uint32_t physStaMax, ! uint32_t menStaMax, ! float dpTtl, ! float apTtl, bool open, int32_t focus); *************** *** 1765,1776 **** unsigned int mana; unsigned int physStamina; ! unsigned int menStamina; unsigned int hitpointsMax; unsigned int manaMax; unsigned int physStaminaMax; ! unsigned int menStaminaMax; ! float dpTotal; ! float apTotal; bool openWindow; int32_t focusSkill; --- 1765,1776 ---- unsigned int mana; unsigned int physStamina; ! unsigned int menStamina; unsigned int hitpointsMax; unsigned int manaMax; unsigned int physStaminaMax; ! unsigned int menStaminaMax; ! float dpTotal; ! float apTotal; bool openWindow; int32_t focusSkill; *************** *** 1793,1797 **** public: ! uint8_t counter; /// sequence checker byte bool on_ground; /// Helps determine whether gravity applies float speed; /// Slow motion, reverse support --- 1793,1797 ---- public: ! uint8_t counter; /// sequence checker byte bool on_ground; /// Helps determine whether gravity applies float speed; /// Slow motion, reverse support *************** *** 1866,1870 **** const char* texParts, const char* equipmentParts, ! uint8_t counter, PS_ID mappedid,csStringHash* msgstrings, iPcLinearMovement *linmove, bool dead, --- 1866,1870 ---- const char* texParts, const char* equipmentParts, ! uint8_t counter, PS_ID mappedid,csStringHash* msgstrings, iPcLinearMovement *linmove, bool dead, *************** *** 1884,1891 **** uint32_t playerID; uint32_t groupID; ! uint32_t ownerID; bool dead; bool control; ! uint8_t counter; }; --- 1884,1891 ---- uint32_t playerID; uint32_t groupID; ! uint32_t ownerID; bool dead; bool control; ! uint8_t counter; }; Index: msghandler.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/msghandler.h,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** msghandler.h 17 Jun 2005 14:09:51 -0000 1.43 --- msghandler.h 1 Dec 2005 22:09:32 -0000 1.44 *************** *** 98,103 **** { netbase->QueueMessage(me); } ! csTicks GetPing(void) ! { return netbase->GetPing(); } protected: --- 98,103 ---- { netbase->QueueMessage(me); } ! csTicks GetPing(void) ! { return netbase->GetPing(); } protected: *************** *** 106,110 **** NetBase *netbase; ! MsgQueue *queue; csPDelArray<Subscription> subscribers; csRef<csThread> thread; --- 106,110 ---- NetBase *netbase; ! MsgQueue *queue; csPDelArray<Subscription> subscribers; csRef<csThread> thread; Index: netbase.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/netbase.cpp,v retrieving revision 1.144 retrieving revision 1.145 diff -C2 -d -r1.144 -r1.145 *** netbase.cpp 26 Nov 2005 02:18:55 -0000 1.144 --- netbase.cpp 1 Dec 2005 22:09:32 -0000 1.145 *************** *** 169,175 **** // The data received was too small to make a full packet. if (connection) ! { Debug3(LOG_NET,"Too short packet received from client %d (%d bytes)\n",connection->clientnum,packetlen); ! } else { --- 169,175 ---- // The data received was too small to make a full packet. if (connection) ! { Debug3(LOG_NET,"Too short packet received from client %d (%d bytes)\n",connection->clientnum,packetlen); ! } else { Index: netbase.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/netbase.h,v retrieving revision 1.86 retrieving revision 1.87 diff -C2 -d -r1.86 -r1.87 *** netbase.h 11 Oct 2005 14:52:30 -0000 1.86 --- netbase.h 1 Dec 2005 22:09:32 -0000 1.87 *************** *** 33,38 **** #include "netprofile.h" ! #define NUM_BROADCAST 0xffffffff ! #define MAXQUEUESIZE 2000 #define MAXPACKETHISTORY 200 --- 33,38 ---- #include "netprofile.h" ! #define NUM_BROADCAST 0xffffffff ! #define MAXQUEUESIZE 2000 #define MAXPACKETHISTORY 200 *************** *** 151,163 **** enum broadcasttype { ! BC_EVERYONEBUTSELF = 1, ! BC_GROUP = 2, ! BC_GUILD = 3, ! BC_SECTOR = 4, ! BC_EVERYONE = 5, ! BC_FINALPACKET = 6 }; ! csTicks GetPing(void) { return netInfos.GetAveragePingTicks();} psNetMsgProfiles * GetProfs() { return profs; } --- 151,163 ---- enum broadcasttype { ! BC_EVERYONEBUTSELF = 1, ! BC_GROUP = 2, ! BC_GUILD = 3, ! BC_SECTOR = 4, ! BC_EVERYONE = 5, ! BC_FINALPACKET = 6 }; ! csTicks GetPing(void) { return netInfos.GetAveragePingTicks();} psNetMsgProfiles * GetProfs() { return profs; } *************** *** 176,181 **** */ int SendTo (LPSOCKADDR_IN addr, const void *data, unsigned int size) ! { ! struct timeval timeout; int sentbytes; int retries=0; --- 176,181 ---- */ int SendTo (LPSOCKADDR_IN addr, const void *data, unsigned int size) ! { ! struct timeval timeout; int sentbytes; int retries=0; *************** *** 184,188 **** #ifdef DEBUG if (!addr || !data) ! Error1("wrong args"); #endif --- 184,188 ---- #ifdef DEBUG if (!addr || !data) ! Error1("wrong args"); #endif *************** *** 216,258 **** #endif ! // Try and send the data, if we fail we wait for the status to change ! sentbytes=SOCK_SENDTO(mysocket, data, size, 0, (LPSOCKADDR) addr, sizeof (SOCKADDR_IN) ); ! /* Call select() to wait until precisely the time of the change, but have a timeout. ! * It's possible that the buffer will free between the sendto call and the select ! * leaving the select hanging forever if not for the timeout value. ! */ ! while (retries++ < SENDTO_MAX_RETRIES && sentbytes==-1 && errno==EAGAIN) ! { ! // Clear the file descriptor set ! FD_ZERO(&wfds); ! // Set the socket's FD in this set ! FD_SET(mysocket,&wfds); ! // Zero out the timeout value to start ! memset(&timeout,0,sizeof(struct timeval)); ! timeout.tv_sec=SENDTO_SELECT_TIMEOUT_SEC; ! timeout.tv_usec=SENDTO_SELECT_TIMEOUT_USEC; ! /* Wait for the descriptor to change. Note that it's possible that the status ! * has already cleared, so we'll try to send again after this anyway. ! */ ! SOCK_SELECT(mysocket+1,NULL,&wfds,NULL,&timeout); ! // Try and send again. ! sentbytes=SOCK_SENDTO(mysocket, data, size, 0, (LPSOCKADDR) addr, sizeof (SOCKADDR_IN) ); ! } ! if (sentbytes>0) ! { ! totaltransferout += size; ! totalcountout++; ! } ! else ! Error1("NetBase::SendTo() gave up trying to send a packet."); ! return sentbytes; ! } /** --- 216,258 ---- #endif ! // Try and send the data, if we fail we wait for the status to change ! sentbytes=SOCK_SENDTO(mysocket, data, size, 0, (LPSOCKADDR) addr, sizeof (SOCKADDR_IN) ); ! /* Call select() to wait until precisely the time of the change, but have a timeout. ! * It's possible that the buffer will free between the sendto call and the select ! * leaving the select hanging forever if not for the timeout value. ! */ ! while (retries++ < SENDTO_MAX_RETRIES && sentbytes==-1 && errno==EAGAIN) ! { ! // Clear the file descriptor set ! FD_ZERO(&wfds); ! // Set the socket's FD in this set ! FD_SET(mysocket,&wfds); ! // Zero out the timeout value to start ! memset(&timeout,0,sizeof(struct timeval)); ! timeout.tv_sec=SENDTO_SELECT_TIMEOUT_SEC; ! timeout.tv_usec=SENDTO_SELECT_TIMEOUT_USEC; ! /* Wait for the descriptor to change. Note that it's possible that the status ! * has already cleared, so we'll try to send again after this anyway. ! */ ! SOCK_SELECT(mysocket+1,NULL,&wfds,NULL,&timeout); ! // Try and send again. ! sentbytes=SOCK_SENDTO(mysocket, data, size, 0, (LPSOCKADDR) addr, sizeof (SOCKADDR_IN) ); ! } ! if (sentbytes>0) ! { ! totaltransferout += size; ! totalcountout++; ! } ! else ! Error1("NetBase::SendTo() gave up trying to send a packet."); ! return sentbytes; ! } /** *************** *** 261,289 **** */ int RecvFrom (LPSOCKADDR_IN addr, socklen_t *socklen, void *buf, ! unsigned int maxsize) ! { ! #ifdef DEBUG ! if (!addr || !buf) ! Error1("wrong args"); ! #endif ! fd_set set; ! /* Initialize the file descriptor set. */ ! FD_ZERO (&set); ! FD_SET (mysocket, &set); ! // Backup the timeval struct in case select changes it as on Linux ! struct timeval prevTimeout = timeout; ! /* select returns 0 if timeout, 1 if input available, -1 if error. */ ! if (SOCK_SELECT(FD_SETSIZE, &set, NULL, NULL, &timeout) != 1) ! { ! timeout = prevTimeout; ! return 0; ! } ! timeout = prevTimeout; ! int err = SOCK_RECVFROM (mysocket, buf, maxsize, 0, ! (LPSOCKADDR) addr, socklen); if (err>=0) { --- 261,289 ---- */ int RecvFrom (LPSOCKADDR_IN addr, socklen_t *socklen, void *buf, ! unsigned int maxsize) ! { ! #ifdef DEBUG ! if (!addr || !buf) ! Error1("wrong args"); ! #endif ! fd_set set; ! /* Initialize the file descriptor set. */ ! FD_ZERO (&set); ! FD_SET (mysocket, &set); ! // Backup the timeval struct in case select changes it as on Linux ! struct timeval prevTimeout = timeout; ! /* select returns 0 if timeout, 1 if input available, -1 if error. */ ! if (SOCK_SELECT(FD_SETSIZE, &set, NULL, NULL, &timeout) != 1) ! { ! timeout = prevTimeout; ! return 0; ! } ! timeout = prevTimeout; ! int err = SOCK_RECVFROM (mysocket, buf, maxsize, 0, ! (LPSOCKADDR) addr, socklen); if (err>=0) { *************** *** 357,363 **** */ void HandleCompletedMessage(MsgEntry *me, ! Connection* &connection, ! LPSOCKADDR_IN addr, ! psNetPacketEntry* pkt); /** --- 357,363 ---- */ void HandleCompletedMessage(MsgEntry *me, ! Connection* &connection, ! LPSOCKADDR_IN addr, ! psNetPacketEntry* pkt); /** *************** *** 468,472 **** public: NetPacketQueueRefCount(int qlen) ! : NetPacketQueue(qlen) { pending=false; } virtual ~NetPacketQueueRefCount() --- 468,472 ---- public: NetPacketQueueRefCount(int qlen) ! : NetPacketQueue(qlen) { pending=false; } virtual ~NetPacketQueueRefCount() Index: netinfos.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/netinfos.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** netinfos.cpp 17 Jun 2005 14:09:51 -0000 1.3 --- netinfos.cpp 1 Dec 2005 22:09:32 -0000 1.4 *************** *** 39,44 **** { for (int i=0; i < NETINFOS_TICKARRAYSIZE; i++) ! tickArray[i] = 0; ! tickArrayLoc = 0; } --- 39,44 ---- { for (int i=0; i < NETINFOS_TICKARRAYSIZE; i++) ! tickArray[i] = 0; ! tickArrayLoc = 0; } *************** *** 47,51 **** { if (tickArrayLoc == -1) ! SetupTickArray(); // implemention of a "ring array" --- 47,51 ---- { if (tickArrayLoc == -1) ! SetupTickArray(); // implemention of a "ring array" *************** *** 57,62 **** { if (tickArrayLoc == -1) ! SetupTickArray(); ! csTicks sum = 0; csTicks tmp = 0; --- 57,62 ---- { if (tickArrayLoc == -1) ! SetupTickArray(); ! csTicks sum = 0; csTicks tmp = 0; *************** *** 66,75 **** for (int i=0; i < NETINFOS_TICKARRAYSIZE; i++) { ! tmp=tickArray[i]; ! if (tmp) ! { ! num++; ! sum+=tmp; ! } } --- 66,75 ---- for (int i=0; i < NETINFOS_TICKARRAYSIZE; i++) { ! tmp=tickArray[i]; ! if (tmp) ! { ! num++; ! sum+=tmp; ! } } Index: netinfos.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/netinfos.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** netinfos.h 17 Jun 2005 14:09:51 -0000 1.4 --- netinfos.h 1 Dec 2005 22:09:32 -0000 1.5 *************** *** 39,53 **** /// Add a tick value to the global queue ! static void AddPingTicks(csTicks t); ! /// Compute the average ticks a ping uses ! static csTicks GetAveragePingTicks(); private: ! /// Fill the tick array ! static void SetupTickArray(); ! /// holds the tick values needed to compute the average ping ticks ! static csTicks tickArray[NETINFOS_TICKARRAYSIZE]; ! /// current location in the array ! static int tickArrayLoc; }; --- 39,53 ---- /// Add a tick value to the global queue ! static void AddPingTicks(csTicks t); ! /// Compute the average ticks a ping uses ! static csTicks GetAveragePingTicks(); private: ! /// Fill the tick array ! static void SetupTickArray(); ! /// holds the tick values needed to compute the average ping ticks ! static csTicks tickArray[NETINFOS_TICKARRAYSIZE]; ! /// current location in the array ! static int tickArrayLoc; }; Index: netpacket.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/netpacket.cpp,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** netpacket.cpp 26 Nov 2005 02:18:55 -0000 1.25 --- netpacket.cpp 1 Dec 2005 22:09:32 -0000 1.26 *************** *** 27,31 **** psNetPacketEntry::psNetPacketEntry (psNetPacket* packet, uint32_t cnum, ! uint16_t sz) : clientnum(cnum), packet(packet) { --- 27,31 ---- psNetPacketEntry::psNetPacketEntry (psNetPacket* packet, uint32_t cnum, ! uint16_t sz) : clientnum(cnum), packet(packet) { *************** *** 36,42 **** /** construct a new PacketEntry for a single or partial message */ psNetPacketEntry::psNetPacketEntry (uint8_t pri, uint32_t cnum, ! uint32_t id, uint32_t off, ! uint32_t totalsize, uint16_t sz, ! psMessageBytes *msg) { packet = (psNetPacket*) malloc (sizeof(psNetPacket) + sz); --- 36,42 ---- /** construct a new PacketEntry for a single or partial message */ psNetPacketEntry::psNetPacketEntry (uint8_t pri, uint32_t cnum, ! uint32_t id, uint32_t off, ! uint32_t totalsize, uint16_t sz, ! psMessageBytes *msg) { packet = (psNetPacket*) malloc (sizeof(psNetPacket) + sz); *************** *** 54,59 **** psNetPacketEntry::psNetPacketEntry (uint8_t pri, uint32_t cnum, ! uint32_t id, uint32_t off, uint32_t totalsize, uint16_t sz, ! const char *bytes) { packet = (psNetPacket*) malloc (sizeof(psNetPacket) + sz); --- 54,59 ---- psNetPacketEntry::psNetPacketEntry (uint8_t pri, uint32_t cnum, ! uint32_t id, uint32_t off, uint32_t totalsize, uint16_t sz, ! const char *bytes) { packet = (psNetPacket*) malloc (sizeof(psNetPacket) + sz); *************** *** 67,71 **** timestamp = csGetTicks(); if (bytes && sz && sz != PKTSIZE_ACK) ! memcpy(packet->data, bytes, sz); } --- 67,71 ---- timestamp = csGetTicks(); if (bytes && sz && sz != PKTSIZE_ACK) ! memcpy(packet->data, bytes, sz); } *************** *** 188,192 **** packetdata = (psNetPacket *)packet->data; // we need the packet INSIDE the packet ! packetdata->UnmarshallEndian(); /* The packet size plus offset must be less than or equal to the message size in all sub packets of a multipacket --- 188,192 ---- packetdata = (psNetPacket *)packet->data; // we need the packet INSIDE the packet ! packetdata->UnmarshallEndian(); /* The packet size plus offset must be less than or equal to the message size in all sub packets of a multipacket *************** *** 210,217 **** return NULL; } ! } ! else { ! // We've been handed a partially unpacked packet. packetdata = (psNetPacket *)((char *)packetdata + packetdata->GetPacketSize()); --- 210,217 ---- return NULL; } ! } ! else { ! // We've been handed a partially unpacked packet. packetdata = (psNetPacket *)((char *)packetdata + packetdata->GetPacketSize()); *************** *** 224,228 **** } ! packetdata->UnmarshallEndian(); /* The packet size plus offset must be less than or equal to the message size in all sub packets of a multipacket --- 224,228 ---- } ! packetdata->UnmarshallEndian(); /* The packet size plus offset must be less than or equal to the message size in all sub packets of a multipacket *************** *** 250,254 **** #ifdef PACKETDEBUG Debug4(LOG_NET,"Extracting packet (ID %d) from MULTIPACKET (%p - %d).\n", ! packetdata->pktid, this, packet->pktid); #endif --- 250,254 ---- #ifdef PACKETDEBUG Debug4(LOG_NET,"Extracting packet (ID %d) from MULTIPACKET (%p - %d).\n", ! packetdata->pktid, this, packet->pktid); #endif Index: netpacket.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/netpacket.h,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** netpacket.h 6 Aug 2005 07:21:11 -0000 1.35 --- netpacket.h 1 Dec 2005 22:09:32 -0000 1.36 *************** *** 27,36 **** enum { ! PKTSIZE_ACK = 0, // 0 pktsize means ACK pkt ! PKTMAXLATENCY = 3000, // 500 mseconds till packet resent FLAG_MULTIPACKET = 0x08, // priority bit 8 is multipacket /// MAXPACKETSIZE includes header length ( sizeof(struct psNetPacket) ) ! MAXPACKETSIZE = 515 // 515 bytes is max size of network packet }; --- 27,36 ---- enum { ! PKTSIZE_ACK = 0, // 0 pktsize means ACK pkt ! PKTMAXLATENCY = 3000, // 500 mseconds till packet resent FLAG_MULTIPACKET = 0x08, // priority bit 8 is multipacket /// MAXPACKETSIZE includes header length ( sizeof(struct psNetPacket) ) ! MAXPACKETSIZE = 515 // 515 bytes is max size of network packet }; *************** *** 51,67 **** { /** Each packet needs to know its own priority */ ! uint8_t flags PS_PACKED; /** each packet must know what message it's a part of */ ! uint32_t pktid PS_PACKED; /** offset and size together specify a memory block within the psMessageBytes * struct */ ! uint32_t offset PS_PACKED; ! uint32_t msgsize PS_PACKED; ! uint16_t pktsize PS_PACKED; /** this can be used as a pointer to the data */ ! char data[0] PS_PACKED; //------------------------------------------------------------------------ --- 51,67 ---- { /** Each packet needs to know its own priority */ ! uint8_t flags PS_PACKED; /** each packet must know what message it's a part of */ ! uint32_t pktid PS_PACKED; /** offset and size together specify a memory block within the psMessageBytes * struct */ ! uint32_t offset PS_PACKED; ! uint32_t msgsize PS_PACKED; ! uint16_t pktsize PS_PACKED; /** this can be used as a pointer to the data */ ! char data[0] PS_PACKED; //------------------------------------------------------------------------ *************** *** 69,102 **** size_t GetPacketSize() const { ! if (pktsize == PKTSIZE_ACK) ! return sizeof(psNetPacket); ! else ! return sizeof(psNetPacket) + pktsize; }; bool IsMultiPacket() const { ! return flags & FLAG_MULTIPACKET; } uint8_t GetPriority() const { ! return flags & PRIORITY_MASK; } ! void MarshallEndian() { ! // Pack up for transmission. This endian-izes the packet. ! pktid = csConvertEndian((uint32)pktid); ! offset = csConvertEndian((uint32)offset); ! msgsize = csConvertEndian((uint32)msgsize); ! pktsize = csConvertEndian((uint16)pktsize); ! } ! void UnmarshallEndian() { ! // Unpack from transmission. This deendian-izes the packet. ! pktid = csLittleEndianLong(pktid); ! offset = csLittleEndianLong(offset); ! msgsize = csLittleEndianLong(msgsize); ! pktsize = csLittleEndianShort(pktsize); ! } /* The goal here is to verify fields that later parsing can't. --- 69,102 ---- size_t GetPacketSize() const { ! if (pktsize == PKTSIZE_ACK) ! return sizeof(psNetPacket); ! else ! return sizeof(psNetPacket) + pktsize; }; bool IsMultiPacket() const { ! return flags & FLAG_MULTIPACKET; } uint8_t GetPriority() const { ! return flags & PRIORITY_MASK; } ! void MarshallEndian() { ! // Pack up for transmission. This endian-izes the packet. ! pktid = csConvertEndian((uint32)pktid); ! offset = csConvertEndian((uint32)offset); ! msgsize = csConvertEndian((uint32)msgsize); ! pktsize = csConvertEndian((uint16)pktsize); ! } ! void UnmarshallEndian() { ! // Unpack from transmission. This deendian-izes the packet. ! pktid = csLittleEndianLong(pktid); ! offset = csLittleEndianLong(offset); ! msgsize = csLittleEndianLong(msgsize); ! pktsize = csLittleEndianShort(pktsize); ! } /* The goal here is to verify fields that later parsing can't. *************** *** 109,125 **** { if ( !buffer ) ! return NULL; ! struct psNetPacket *potentialpacket; ! if (buffer_length < sizeof(struct psNetPacket)) return NULL; // Buffer data too short for even the header ! potentialpacket=(struct psNetPacket *)buffer; ! if ((unsigned int)buffer_length < csLittleEndianShort(potentialpacket->pktsize) + sizeof(struct psNetPacket)) return NULL; // Buffer data too short for the packet length reported in the header ! return potentialpacket; } --- 109,125 ---- { if ( !buffer ) ! return NULL; ! struct psNetPacket *potentialpacket; ! if (buffer_length < sizeof(struct psNetPacket)) return NULL; // Buffer data too short for even the header ! potentialpacket=(struct psNetPacket *)buffer; ! if ((unsigned int)buffer_length < csLittleEndianShort(potentialpacket->pktsize) + sizeof(struct psNetPacket)) return NULL; // Buffer data too short for the packet length reported in the header ! return potentialpacket; } *************** *** 150,154 **** psNetPacketEntry (uint8_t pri, uint32_t cnum, uint32_t id, uint32_t off, uint32_t totalsize, uint16_t sz, ! psMessageBytes *msg); /** construct a new PacketEntry for a specified buffer of bytes */ --- 150,154 ---- psNetPacketEntry (uint8_t pri, uint32_t cnum, uint32_t id, uint32_t off, uint32_t totalsize, uint16_t sz, ! psMessageBytes *msg); /** construct a new PacketEntry for a specified buffer of bytes */ *************** *** 186,195 **** if (clientnum > other.clientnum) return false; ! if (packet->pktid < other.packet->pktid) return true; if (packet->pktid > other.packet->pktid) return false; ! if (packet->offset < other.packet->offset) return true; --- 186,195 ---- if (clientnum > other.clientnum) return false; ! if (packet->pktid < other.packet->pktid) return true; if (packet->pktid > other.packet->pktid) return false; ! if (packet->offset < other.packet->offset) return true; Index: npcmessages.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/npcmessages.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** npcmessages.cpp 21 Nov 2005 11:18:53 -0000 1.26 --- npcmessages.cpp 1 Dec 2005 22:09:32 -0000 1.27 *************** *** 26,39 **** psNPCAuthenticationMessage::psNPCAuthenticationMessage(uint32_t clientnum, ! const char *userid, ! const char *password) : psAuthenticationMessage(clientnum,userid,password,PS_NPCNETVERSION) { ! /* ! * This structure is exactly like the regular authentication message, ! * but a different type allows a different subscription, and a different ! * version allows us to change the npc client version without changing ! * the client version. ! */ msg->SetType(MSGTYPENPCAUTHENT); } --- 26,39 ---- psNPCAuthenticationMessage::psNPCAuthenticationMessage(uint32_t clientnum, ! const char *userid, ! const char *password) : psAuthenticationMessage(clientnum,userid,password,PS_NPCNETVERSION) { ! /* ! * This structure is exactly like the regular authentication message, ! * but a different type allows a different subscription, and a different ! * version allows us to change the npc client version without changing ! * the client version. ! */ msg->SetType(MSGTYPENPCAUTHENT); } *************** *** 248,256 **** psPETCommandMessage::psPETCommandMessage(MsgEntry *message) { ! if (!message) return; command = message->GetInt32(); target = message->GetStr(); ! options = message->GetStr(); } --- 248,256 ---- psPETCommandMessage::psPETCommandMessage(MsgEntry *message) { ! if (!message) return; command = message->GetInt32(); target = message->GetStr(); ! options = message->GetStr(); } Index: npcmessages.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/npcmessages.h,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** npcmessages.h 31 Oct 2005 03:49:57 -0000 1.27 --- npcmessages.h 1 Dec 2005 22:09:32 -0000 1.28 *************** *** 118,123 **** PCPT_SHORTRANGEPLAYER, PCPT_VERYSHORTRANGEPLAYER, ! PCPT_OWNER_CMD, ! PCPT_OWNER_ACTION }; --- 118,123 ---- PCPT_SHORTRANGEPLAYER, PCPT_VERYSHORTRANGEPLAYER, ! PCPT_OWNER_CMD, ! PCPT_OWNER_ACTION }; *************** *** 200,215 **** enum { ! CMD_FOLLOW, ! CMD_STAY, ! CMD_DISMISS, ! CMD_SUMMON, ! CMD_ATTACK, ! CMD_GUARD, ! CMD_ASSIST, ! CMD_NAME }; ! int command; ! psString target; psString options; --- 200,215 ---- enum { ! CMD_FOLLOW, ! CMD_STAY, ! CMD_DISMISS, ! CMD_SUMMON, ! CMD_ATTACK, ! CMD_GUARD, ! CMD_ASSIST, ! CMD_NAME }; ! int command; ! psString target; psString options; Index: pstypes.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/pstypes.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** pstypes.h 16 Nov 2001 13:25:50 -0000 1.2 --- pstypes.h 1 Dec 2005 22:09:32 -0000 1.3 *************** *** 1,3 **** ! /* pstypes.h (don't name it types.h cause that's also a sys header) * * This file defines some commonly used types like --- 1,3 ---- ! /* pstypes.h (don't name it types.h cause that's also a sys header) * * This file defines some commonly used types like Index: sockuni.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/sockuni.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** sockuni.h 17 Jun 2005 14:09:51 -0000 1.7 --- sockuni.h 1 Dec 2005 22:09:32 -0000 1.8 *************** *** 35,39 **** /* define some types */ #ifndef SOCKET ! #define SOCKET int #endif #ifndef SOCKADDR_IN --- 35,39 ---- /* define some types */ #ifndef SOCKET ! #define SOCKET int #endif #ifndef SOCKADDR_IN *************** *** 44,57 **** #endif #ifndef LPSOCKADDR_IN ! #define LPSOCKADDR_IN struct sockaddr_in * #endif ! #define SOCK_SENDTO(a,b,c,d,e,f) sendto(a,(const void *) b,c,d,e,f) ! #define SOCK_RECVFROM(a,b,c,d,e,f) recvfrom(a,(void *) b,c,d,e,f) ! #define SOCK_IOCTL(a,b,c) ioctl(a,b,c) ! #define SOCK_CLOSE(a) close(a) #define SOCK_SELECT(max,read,write,except,timeout) select(max,read,write,except,timeout) ! #define INVALID_SOCKET -1 static inline int initSocket() --- 44,57 ---- #endif #ifndef LPSOCKADDR_IN ! #define LPSOCKADDR_IN struct sockaddr_in * #endif ! #define SOCK_SENDTO(a,b,c,d,e,f) sendto(a,(const void *) b,c,d,e,f) ! #define SOCK_RECVFROM(a,b,c,d,e,f) recvfrom(a,(void *) b,c,d,e,f) ! #define SOCK_IOCTL(a,b,c) ioctl(a,b,c) ! #define SOCK_CLOSE(a) close(a) #define SOCK_SELECT(max,read,write,except,timeout) select(max,read,write,except,timeout) ! #define INVALID_SOCKET -1 static inline int initSocket() Index: sockwin.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/sockwin.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** sockwin.h 8 Mar 2003 06:15:24 -0000 1.3 --- sockwin.h 1 Dec 2005 22:09:32 -0000 1.4 *************** *** 15,22 **** #undef _INC_WINDOWS ! #define SOCK_SENDTO(a,b,c,d,e,f) sendto(a,(const char *)b,c,d,e,f) ! #define SOCK_RECVFROM(a,b,c,d,e,f) recvfrom(a,(char *)b,c,d,e,f) ! #define SOCK_IOCTL(a,b,c) ioctlsocket(a,b,(unsigned long *)c) ! #define SOCK_CLOSE(a) closesocket(a) #define SOCK_SELECT(max,read,write,except,timeout) select(max,read,write,except,timeout) --- 15,22 ---- #undef _INC_WINDOWS ! #define SOCK_SENDTO(a,b,c,d,e,f) sendto(a,(const char *)b,c,d,e,f) ! #define SOCK_RECVFROM(a,b,c,d,e,f) recvfrom(a,(char *)b,c,d,e,f) ! #define SOCK_IOCTL(a,b,c) ioctlsocket(a,b,(unsigned long *)c) ! #define SOCK_CLOSE(a) closesocket(a) #define SOCK_SELECT(max,read,write,except,timeout) select(max,read,write,except,timeout) *************** *** 25,29 **** #undef socklen_t #endif ! #define socklen_t int static inline int initSocket() --- 25,29 ---- #undef socklen_t #endif ! #define socklen_t int static inline int initSocket() |