mirror of
https://github.com/overte-org/overte.git
synced 2025-07-23 21:05:04 +02:00
Fix QByteArray from rqw data
This commit is contained in:
parent
d8f4b08ecc
commit
c6f6dbd845
3 changed files with 8 additions and 4 deletions
|
@ -203,7 +203,7 @@ void AssignmentClientMonitor::checkSpares() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void AssignmentClientMonitor::handleChildStatusPacket(QSharedPointer<NLPacket> packet) {
|
void AssignmentClientMonitor::handleChildStatusPacket(QSharedPointer<NLPacket> packet) {
|
||||||
QUuid senderID = QUuid::fromRfc4122(QByteArray::fromRawData(packet->getData(), NUM_BYTES_RFC4122_UUID));
|
QUuid senderID = QUuid::fromRfc4122(QByteArray::fromRawData(packet->getPayload(), NUM_BYTES_RFC4122_UUID));
|
||||||
|
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,9 @@
|
||||||
|
|
||||||
int AvatarMixerClientData::parseData(NLPacket& packet) {
|
int AvatarMixerClientData::parseData(NLPacket& packet) {
|
||||||
// compute the offset to the data payload
|
// compute the offset to the data payload
|
||||||
return _avatar.parseDataFromBuffer(QByteArray::fromRawData(packet.getPayload(), packet.getPayloadSize()));
|
QByteArray byteArray = QByteArray::fromRawData(packet.getPayload() + packet.pos(),
|
||||||
|
packet.bytesLeftToRead());
|
||||||
|
return _avatar.parseDataFromBuffer(byteArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AvatarMixerClientData::checkAndSetHasReceivedFirstPackets() {
|
bool AvatarMixerClientData::checkAndSetHasReceivedFirstPackets() {
|
||||||
|
|
|
@ -61,6 +61,8 @@ void AvatarHashMap::processAvatarDataPacket(QSharedPointer<NLPacket> packet, Sha
|
||||||
while (packet->bytesLeftToRead()) {
|
while (packet->bytesLeftToRead()) {
|
||||||
QUuid sessionUUID = QUuid::fromRfc4122(packet->read(NUM_BYTES_RFC4122_UUID));
|
QUuid sessionUUID = QUuid::fromRfc4122(packet->read(NUM_BYTES_RFC4122_UUID));
|
||||||
|
|
||||||
|
QByteArray byteArray = QByteArray::fromRawData(packet->getPayload() + packet->pos(),
|
||||||
|
packet->bytesLeftToRead());
|
||||||
if (sessionUUID != _lastOwnerSessionUUID) {
|
if (sessionUUID != _lastOwnerSessionUUID) {
|
||||||
AvatarSharedPointer avatar = _avatarHash.value(sessionUUID);
|
AvatarSharedPointer avatar = _avatarHash.value(sessionUUID);
|
||||||
if (!avatar) {
|
if (!avatar) {
|
||||||
|
@ -68,12 +70,12 @@ void AvatarHashMap::processAvatarDataPacket(QSharedPointer<NLPacket> packet, Sha
|
||||||
}
|
}
|
||||||
|
|
||||||
// have the matching (or new) avatar parse the data from the packet
|
// have the matching (or new) avatar parse the data from the packet
|
||||||
int bytesRead = avatar->parseDataFromBuffer(QByteArray::fromRawData(packet->getPayload(), packet->pos()));
|
int bytesRead = avatar->parseDataFromBuffer(byteArray);
|
||||||
packet->seek(packet->pos() + bytesRead);
|
packet->seek(packet->pos() + bytesRead);
|
||||||
} else {
|
} else {
|
||||||
// create a dummy AvatarData class to throw this data on the ground
|
// create a dummy AvatarData class to throw this data on the ground
|
||||||
AvatarData dummyData;
|
AvatarData dummyData;
|
||||||
int bytesRead = dummyData.parseDataFromBuffer(QByteArray::fromRawData(packet->getPayload(), packet->pos()));
|
int bytesRead = dummyData.parseDataFromBuffer(byteArray);
|
||||||
packet->seek(packet->pos() + bytesRead);
|
packet->seek(packet->pos() + bytesRead);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue