From b780f63da855b3ef9374f75d94d980247f4bf2fd Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 10 Sep 2014 13:19:37 +0300 Subject: Improve functions from previous commit. --- src/net/tmwa/beinghandler.cpp | 70 +++++-------------------------------------- 1 file changed, 8 insertions(+), 62 deletions(-) (limited to 'src/net/tmwa/beinghandler.cpp') diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp index c592c7bf0..70649ac02 100644 --- a/src/net/tmwa/beinghandler.cpp +++ b/src/net/tmwa/beinghandler.cpp @@ -257,44 +257,12 @@ void BeingHandler::processBeingChangeLook(Net::MessageIn &msg) const return; } - /* - * SMSG_BEING_CHANGE_LOOKS (0x00c3) and - * SMSG_BEING_CHANGE_LOOKS2 (0x01d7) do basically the same - * thing. The difference is that ...LOOKS carries a single - * 8 bit value, where ...LOOKS2 carries two 16 bit values. - * - * If type = 2, then the first 16 bit value is the weapon ID, - * and the second 16 bit value is the shield ID. If no - * shield is equipped, or type is not 2, then the second - * 16 bit value will be 0. - */ - Being *const dstBeing = actorManager->findBeing( msg.readInt32("being id")); const uint8_t type = msg.readUInt8("type"); - int16_t id = 0; - int id2 = 0; - const bool look2 = msg.getId() == SMSG_BEING_CHANGE_LOOKS2; - - if (!look2) - { - id = static_cast(msg.readUInt8("id")); - id2 = 1; // default color - } - else - { // SMSG_BEING_CHANGE_LOOKS2 - id = msg.readInt16("id1"); - if (type == 2 || serverVersion > 0) - { - id2 = msg.readInt16("id2"); - } - else - { - msg.readInt16("id2"); - id2 = 1; - } - } + const int16_t id = static_cast(msg.readUInt8("id")); + const int id2 = 1; if (!localPlayer || !dstBeing) { @@ -314,43 +282,21 @@ void BeingHandler::processBeingChangeLook2(Net::MessageIn &msg) const return; } - /* - * SMSG_BEING_CHANGE_LOOKS (0x00c3) and - * SMSG_BEING_CHANGE_LOOKS2 (0x01d7) do basically the same - * thing. The difference is that ...LOOKS carries a single - * 8 bit value, where ...LOOKS2 carries two 16 bit values. - * - * If type = 2, then the first 16 bit value is the weapon ID, - * and the second 16 bit value is the shield ID. If no - * shield is equipped, or type is not 2, then the second - * 16 bit value will be 0. - */ - Being *const dstBeing = actorManager->findBeing( msg.readInt32("being id")); const uint8_t type = msg.readUInt8("type"); - int16_t id = 0; int id2 = 0; - const bool look2 = msg.getId() == SMSG_BEING_CHANGE_LOOKS2; - if (!look2) + const int16_t id = msg.readInt16("id1"); + if (type == 2 || serverVersion > 0) { - id = static_cast(msg.readUInt8("id")); - id2 = 1; // default color + id2 = msg.readInt16("id2"); } else - { // SMSG_BEING_CHANGE_LOOKS2 - id = msg.readInt16("id1"); - if (type == 2 || serverVersion > 0) - { - id2 = msg.readInt16("id2"); - } - else - { - msg.readInt16("id2"); - id2 = 1; - } + { + msg.readInt16("id2"); + id2 = 1; } if (!localPlayer || !dstBeing) -- cgit v1.2.3-60-g2f50