summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-07-09 00:05:38 +0300
committerAndrei Karas <akaras@inbox.ru>2011-07-09 00:05:38 +0300
commite0af6cf371bedcfedcba2fb23e166ff5d345c447 (patch)
tree889f26a33e59101c3f300d47aeecef9db44d0408
parent3f31d4f379f2baa5ae98f3a5f551307735820fa3 (diff)
downloadmanaplus-e0af6cf371bedcfedcba2fb23e166ff5d345c447.tar.gz
manaplus-e0af6cf371bedcfedcba2fb23e166ff5d345c447.tar.bz2
manaplus-e0af6cf371bedcfedcba2fb23e166ff5d345c447.tar.xz
manaplus-e0af6cf371bedcfedcba2fb23e166ff5d345c447.zip
Reserve bits in gender field for future usage.
-rw-r--r--src/net/ea/beinghandler.cpp3
-rw-r--r--src/net/tmwa/beinghandler.cpp5
-rw-r--r--src/net/tmwa/charserverhandler.cpp3
3 files changed, 8 insertions, 3 deletions
diff --git a/src/net/ea/beinghandler.cpp b/src/net/ea/beinghandler.cpp
index c6606fda8..ee070593f 100644
--- a/src/net/ea/beinghandler.cpp
+++ b/src/net/ea/beinghandler.cpp
@@ -239,6 +239,9 @@ void BeingHandler::processBeingVisibleOrMove(Net::MessageIn &msg, bool visible)
msg.readInt8(); // karma
gender = msg.readInt8();
+ // reserving bits for future usage
+ gender &= 1;
+
if (dstBeing->getType() == ActorSprite::PLAYER)
{
dstBeing->setGender((gender == 0)
diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp
index 7589553ff..d6f67f716 100644
--- a/src/net/tmwa/beinghandler.cpp
+++ b/src/net/tmwa/beinghandler.cpp
@@ -511,8 +511,9 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType)
msg.readInt16(); // manner
dstBeing->setStatusEffectBlock(32, msg.readInt16()); // opt3
msg.readInt8(); // karma
- dstBeing->setGender((msg.readInt8() == 0)
- ? GENDER_FEMALE : GENDER_MALE);
+ // reserving bit for future usage
+ dstBeing->setGender(((msg.readInt8() & 1) == 0)
+ ? GENDER_FEMALE : GENDER_MALE);
// Set these after the gender, as the sprites may be gender-specific
dstBeing->setSprite(SPRITE_WEAPON, weapon, "", 1, true);
diff --git a/src/net/tmwa/charserverhandler.cpp b/src/net/tmwa/charserverhandler.cpp
index 0a28a9a8c..3d605b1ff 100644
--- a/src/net/tmwa/charserverhandler.cpp
+++ b/src/net/tmwa/charserverhandler.cpp
@@ -273,7 +273,8 @@ void CharServerHandler::readPlayerData(Net::MessageIn &msg,
static_cast<LoginHandler*>(Net::getLoginHandler())->getToken();
LocalPlayer *tempPlayer = new LocalPlayer(msg.readInt32(), 0);
- tempPlayer->setGender(token.sex);
+ // reserving bit for future usage
+ tempPlayer->setGender(token.sex & 1);
character->data.mAttributes[EXP] = msg.readInt32();
character->data.mAttributes[MONEY] = msg.readInt32();