From: Andrew C. <ac...@us...> - 2004-02-28 19:53:13
|
Update of /cvsroot/planeshift/planeshift/src/common/net In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13679/src/common/net Modified Files: messages.cpp messages.h Log Message: Started the new drag and drop system. Currently only works for the inventory and the container windows but will be expanded to work with all. Index: messages.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/messages.cpp,v retrieving revision 1.138 retrieving revision 1.139 diff -C2 -d -r1.138 -r1.139 *** messages.cpp 27 Feb 2004 20:00:32 -0000 1.138 --- messages.cpp 28 Feb 2004 19:43:31 -0000 1.139 *************** *** 1140,1144 **** { items[x].name = message->GetStr(); ! items[x].slot = message->GetStr(); items[x].stackcount = message->GetUInt32(); items[x].weight = message->GetFloat(); --- 1140,1145 ---- { items[x].name = message->GetStr(); ! items[x].container = message->GetUInt32(); ! items[x].slot = message->GetUInt32(); items[x].stackcount = message->GetUInt32(); items[x].weight = message->GetFloat(); *************** *** 1151,1155 **** case REQUEST_DESCRIPTION: { ! items[0].slot = message->GetStr(); break; } --- 1152,1156 ---- case REQUEST_DESCRIPTION: { ! items[0].slot = message->GetUInt32(); break; } *************** *** 1165,1169 **** case DROP_ITEM: { ! items[0].slot = message->GetStr(); items[0].stackcount = message->GetUInt32(); break; --- 1166,1170 ---- case DROP_ITEM: { ! items[0].slot = message->GetUInt32(); items[0].stackcount = message->GetUInt32(); break; *************** *** 1191,1195 **** void psGUIInventoryMessage::AddItem( const char* name, ! const char* slot, int stackcount, float weight, --- 1192,1197 ---- void psGUIInventoryMessage::AddItem( const char* name, ! int containerID, ! int slotID, int stackcount, float weight, *************** *** 1197,1201 **** { msg->Add(name); ! msg->Add(slot); msg->Add((uint32_t)stackcount); --- 1199,1204 ---- { msg->Add(name); ! msg->Add((uint32_t)containerID); ! msg->Add((uint32_t)slotID); msg->Add((uint32_t)stackcount); Index: messages.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/messages.h,v retrieving revision 1.147 retrieving revision 1.148 diff -C2 -d -r1.147 -r1.148 *** messages.h 27 Feb 2004 20:00:33 -0000 1.147 --- messages.h 28 Feb 2004 19:43:31 -0000 1.148 *************** *** 39,42 **** --- 39,58 ---- + enum Slot_Containers + { + CONTAINER_INVENTORY_BULK = -1, + CONTAINER_INVENTORY_EQUIPMENT = -2, + CONTAINER_EXCHANGE = -3 + }; + + enum Inventory_Bulk_Slots + { + INVENTORY_BULK_0, + INVENTORY_BULK_1, + INVENTORY_BULK_2, + INVENTORY_BULK_3, + INVENTORY_BULK_END + }; + struct iSector; *************** *** 104,107 **** --- 120,124 ---- MSGTYPEINVITATION, MSGTYPEINVITERESPONSE, + MSG_TYPE_SLOT_MOVEMENT, MSGTYPEINVITECANCEL, MSGTYPEGUILDMOTDSET, *************** *** 110,113 **** --- 127,131 ---- MSGTYPECHARDETAILSREQUEST, MSGTYPECHARDESCUPDATE, + // Char creation messages under this MSG_CHARCREATE_PARENTS, *************** *** 741,745 **** /// Add an item to the output message buffer void AddItem( const char* name, ! const char* slot, int stackcount, float weight, --- 759,764 ---- /// Add an item to the output message buffer void AddItem( const char* name, ! int containerID, ! int slot, int stackcount, float weight, *************** *** 758,765 **** { csString name; ! csString slot; float weight; int stackcount; ! csString iconImage; }; --- 777,785 ---- { csString name; ! int slot; float weight; int stackcount; ! csString iconImage; ! int container; }; *************** *** 1601,1604 **** --- 1621,1660 ---- }; + //////////////////////////////////////////////////////////////////////////////// + + class psSlotMovementMsg : public psMessageCracker + { + public: + psSlotMovementMsg( int fromContainerID, int fromSlotID, + int toContainerID, int toSlotID, int stackCount ) + { + msg = new MsgEntry( sizeof( uint32_t ) * 5 ); + + msg->data->type = MSG_TYPE_SLOT_MOVEMENT; + msg->clientnum = 0; + + msg->Add( (uint32_t) fromContainerID ); + msg->Add( (uint32_t) fromSlotID ); + msg->Add( (uint32_t) toContainerID ); + msg->Add( (uint32_t) toSlotID ); + msg->Add( (uint32_t) stackCount ); + } + + psSlotMovementMsg( MsgEntry* me ) + { + fromContainer = me->GetUInt32(); + fromSlot = me->GetUInt32(); + toContainer = me->GetUInt32(); + toSlot = me->GetUInt32(); + stackCount = me->GetUInt32(); + } + + int fromContainer; + int fromSlot; + int toContainer; + int toSlot; + int stackCount; + }; + class psInvitationCancelMessage : public psMessageCracker { |