From: Andrew C. <ac...@us...> - 2004-02-17 01:34:07
|
Update of /cvsroot/planeshift/planeshift/src/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23209/src/server Modified Files: psserverchar.cpp psserverchar.h Log Message: Updated Equipment message to allow for material changes on character parts. For example can place different textures for the Torso mesh for different types of jackets ( or whatever ) Index: psserverchar.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/psserverchar.cpp,v retrieving revision 1.132 retrieving revision 1.133 diff -C2 -d -r1.132 -r1.133 *** psserverchar.cpp 11 Feb 2004 12:44:10 -0000 1.132 --- psserverchar.cpp 17 Feb 2004 01:25:36 -0000 1.133 *************** *** 210,214 **** SendOutEquipmentMessages( client, slot, ! 0, psEquipmentMessage::DEEQUIP ); } --- 210,214 ---- SendOutEquipmentMessages( client, slot, ! item, psEquipmentMessage::DEEQUIP ); } *************** *** 1090,1118 **** ! void psServerCharManager::SendOutEquipmentMessages( Client* fromClient, ! const char* toSlot, ! const char *mesh, ! int type ) { ! ! int fromClientNum = fromClient->GetClientNum(); ! int playerID = fromClient->GetPlayerID(); ! CS_ID playerObject = fromClient->GetActor()->GetEntity()->GetID(); ! ! csString meshName; ! if ( type == psEquipmentMessage::DEEQUIP ) ! meshName = ""; ! else ! meshName = mesh; ! ! meshName.Append( ".spr" ); ! psEquipmentMessage msg( fromClientNum, playerObject, ! type, toSlot, meshName ); ! ! csString equipment; ! fromClient->GetActor()->GetCharacterData()->MakeEquipmentString( equipment ); ! fromClient->GetActor()->SetEquipment( equipment ); ! if (msg.valid) { --- 1090,1109 ---- ! void psServerCharManager::SendOutEquipmentMessages( Client* fromClient, ! csString& slotName, ! psItem* item, ! int equiped ) { ! int fromClientNum = fromClient->GetClientNum(); ! int playerID = fromClient->GetPlayerID(); ! CS_ID playerObject = fromClient->GetActor()->GetEntity()->GetID(); ! ! csString mesh = item->GetMeshName(); ! csString part = item->GetCurrentStats()->GetPartName(); ! csString texture = item->GetCurrentStats()->GetTextureName(); ! psEquipmentMessage msg( fromClientNum, playerObject, ! equiped, slotName, mesh, part, texture ); ! if (msg.valid) { *************** *** 1125,1132 **** { Bug2("Could not create valid psEquipmentMessage for client %u.\n",fromClientNum); ! } ! ! } ! void psServerCharManager::SendPlayerMoney( Client *client ) --- 1116,1122 ---- { Bug2("Could not create valid psEquipmentMessage for client %u.\n",fromClientNum); ! } ! ! } void psServerCharManager::SendPlayerMoney( Client *client ) *************** *** 1512,1516 **** SendOutEquipmentMessages( client, toSlot, ! item->GetMeshName(), psEquipmentMessage::EQUIP ); break; --- 1502,1506 ---- SendOutEquipmentMessages( client, toSlot, ! item, psEquipmentMessage::EQUIP ); break; *************** *** 1521,1529 **** int bulkTo = atoi( toSlot.GetData()+4 ); PSCHARACTER_SLOT equipmentSlot=chardata->GetSlotID(fromSlot.GetData()); chardata->DequipTo( equipmentSlot, bulkTo ); ! SendOutEquipmentMessages( client, fromSlot, ! 0, psEquipmentMessage::DEEQUIP ); --- 1511,1522 ---- int bulkTo = atoi( toSlot.GetData()+4 ); PSCHARACTER_SLOT equipmentSlot=chardata->GetSlotID(fromSlot.GetData()); + chardata->DequipTo( equipmentSlot, bulkTo ); ! ! psItem* movingItem = chardata->GetItemInBulk( bulkTo ); ! SendOutEquipmentMessages( client, fromSlot, ! movingItem, psEquipmentMessage::DEEQUIP ); *************** *** 1549,1560 **** SendOutEquipmentMessages( client, toSlot, ! item->GetMeshName(), psEquipmentMessage::EQUIP ); - SendOutEquipmentMessages( client, - fromSlot, - 0, - psEquipmentMessage::DEEQUIP ); - break; } --- 1542,1548 ---- SendOutEquipmentMessages( client, toSlot, ! item, psEquipmentMessage::EQUIP ); break; } Index: psserverchar.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/psserverchar.h,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** psserverchar.h 2 Feb 2004 16:30:12 -0000 1.24 --- psserverchar.h 17 Feb 2004 01:25:36 -0000 1.25 *************** *** 70,87 **** * * This is used when a player changes their visible equipment and needs ! * to be reflected on other nearby clients. * * @param fromClient The client that has changed equipment. ! * @param toSlot To what slot has changed. ! * @param type The equiping type. One of: ! * <UL> ! * <LI>psEquipmentMessage::DEEQUIP ! * <LI>psEquipmentMessage::EQUIP ! * </UL> */ ! void SendOutEquipmentMessages( Client* fromClient, ! const char* toSlot, ! const char *mesh, ! int type ); void SendPlayerMoney( Client *client); bool SendItemDescription( Client *client, psItem *item); --- 70,90 ---- * * This is used when a player changes their visible equipment and needs ! * to be reflected on other nearby clients. Visible changes can be either ! * new weapons/shields ( new mesh ) or texture changes for clothes ( new material ). * * @param fromClient The client that has changed equipment. ! * @param slotName To what slot has changed. ! * @param item The item that is the piece of visible equipment. ! * @param type The equiping type. One of: ! * psEquipmentMessage::DEEQUIP ! * psEquipmentMessage::EQUIP ! * */ ! void SendOutEquipmentMessages( Client* fromClient, ! csString& slotName, ! psItem* item, ! int equiped ); ! ! void SendPlayerMoney( Client *client); bool SendItemDescription( Client *client, psItem *item); |