summaryrefslogtreecommitdiff
path: root/src/net/tmwa/charserverhandler.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-06-10 22:46:50 +0300
committerAndrei Karas <akaras@inbox.ru>2013-06-10 22:46:50 +0300
commitb6df3c3999d4be067e7314e3887e583c13ad1624 (patch)
treef7f39237cbf1e08440882c295cf3d7a494a2585a /src/net/tmwa/charserverhandler.cpp
parent83a142e6917bed619aeb96e217850299eb2a63be (diff)
downloadplus-b6df3c3999d4be067e7314e3887e583c13ad1624.tar.gz
plus-b6df3c3999d4be067e7314e3887e583c13ad1624.tar.bz2
plus-b6df3c3999d4be067e7314e3887e583c13ad1624.tar.xz
plus-b6df3c3999d4be067e7314e3887e583c13ad1624.zip
add partial support for player looks.
Can get packets from server, but cant draw player.
Diffstat (limited to 'src/net/tmwa/charserverhandler.cpp')
-rw-r--r--src/net/tmwa/charserverhandler.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/net/tmwa/charserverhandler.cpp b/src/net/tmwa/charserverhandler.cpp
index 10be5edf8..68699e327 100644
--- a/src/net/tmwa/charserverhandler.cpp
+++ b/src/net/tmwa/charserverhandler.cpp
@@ -157,11 +157,12 @@ void CharServerHandler::readPlayerData(Net::MessageIn &msg,
data.mAttributes[PlayerInfo::MP] = msg.readInt16();
data.mAttributes[PlayerInfo::MAX_MP] = msg.readInt16();
- msg.readInt16(); // speed
- tempPlayer->setSubtype(msg.readInt16()); // class (used for race)
+ msg.readInt16(); // speed
+ const int race = msg.readInt16(); // class (used for race)
const int hairStyle = msg.readInt8();
- msg.readInt8(); // free
- const uint16_t weapon = msg.readInt16(); // unused on server. need use?
+ const int look = msg.readInt8();
+ tempPlayer->setSubtype(race, look);
+ const uint16_t weapon = msg.readInt16(); // unused on server. need use?
tempPlayer->setSprite(SPRITE_WEAPON, weapon, "", 1, true);
data.mAttributes[PlayerInfo::LEVEL] = msg.readInt16();
@@ -258,7 +259,7 @@ void CharServerHandler::newCharacter(const std::string &name, const int slot,
outMsg.writeInt8(static_cast<int8_t>(hairColor));
outMsg.writeInt8(0); // unused
outMsg.writeInt8(static_cast<int8_t>(hairstyle));
- outMsg.writeInt8(0); // unused
+ outMsg.writeInt8(123); // look
if (serverVersion >= 2)
outMsg.writeInt8(race);
}