UVector dataToVector(QByteArray data) { UVector vec; vec.x = dataToFloat(data); vec.y = dataToFloat(data.mid(4)); vec.z = dataToFloat(data.mid(8)); return vec; }
void Sync::receiveSync(Player* player, QByteArray data) // Receives the 01 updates from each players { if (player->inGame < 2) // A sync message while loading would teleport use to a wrong position return; //win.logMessage("Got sync from "+QString().setNum(player->pony.netviewId)); // 5 and 6 are id and id>>8 player->pony.pos.x = dataToFloat(data.mid(11)); player->pony.pos.y = dataToFloat(data.mid(15)); player->pony.pos.z = dataToFloat(data.mid(19)); if (data.size() >= 23) player->pony.rot.y = dataToRangedSingle(ROTMIN, ROTMAX, RotRSSize, data.mid(23,1)); if (data.size() >= 25) { player->pony.rot.x = dataToRangedSingle(ROTMIN, ROTMAX, RotRSSize, data.mid(24,1)); player->pony.rot.z = dataToRangedSingle(ROTMIN, ROTMAX, RotRSSize, data.mid(25,1)); } }
float Utils::blockForFloatData(int16_t rID, int16_t aID, IncomingPacketReader *incomingPacketReader) { IncomingPacket p = blockForPacket(rID, aID, incomingPacketReader); return p.isEmpty() ? -1 : dataToFloat(p.data); }