void PacketBuilder::WriteCreateBits(MoveSpline const& moveSpline, ByteBuffer& data) { data.WriteBits(uint8(moveSpline.spline.mode()), 2); data.WriteBit(moveSpline.splineflags & (MoveSplineFlag::Parabolic | MoveSplineFlag::Animation)); data.WriteBits(moveSpline.getPath().size(), 22); switch (moveSpline.splineflags & MoveSplineFlag::Mask_Final_Facing) { case MoveSplineFlag::Final_Target: { uint64 targetGuid = moveSpline.facing.target; data.WriteBits(2, 2); uint8 guidMask[] = { 4, 3, 7, 2, 6, 1, 0, 5 }; data.WriteGuidMask(moveSpline.facing.target, guidMask, 8, 0); break; } case MoveSplineFlag::Final_Angle: data.WriteBits(0, 2); break; case MoveSplineFlag::Final_Point: data.WriteBits(1, 2); break; default: data.WriteBits(3, 2); break; } data.WriteBit((moveSpline.splineflags & MoveSplineFlag::Parabolic) && moveSpline.effect_start_time < moveSpline.Duration()); data.WriteBits(moveSpline.splineflags.raw(), 25); }
void PacketBuilder::WriteCreateBits(MoveSpline const& moveSpline, ByteBuffer& data) { if (!data.WriteBit(!moveSpline.Finalized())) return; data.WriteBit(moveSpline.splineflags & (MoveSplineFlag::Parabolic | MoveSplineFlag::Animation)); data.WriteBit((moveSpline.splineflags & MoveSplineFlag::Parabolic) && moveSpline.effect_start_time < moveSpline.Duration()); data.WriteBit(0); // NYI Block data.WriteBits(moveSpline.getPath().size(), 20); data.WriteBits(moveSpline.spline.mode(), 2); data.WriteBits(moveSpline.splineflags.raw(), 25); }
void PacketBuilder::WriteCreateBits(MoveSpline const& moveSpline, ByteBuffer& data) { if (!data.WriteBit(!moveSpline.Finalized())) return; data.WriteBit(moveSpline.splineflags & (MoveSplineFlag::Parabolic | MoveSplineFlag::Animation)); // hasSplineStartTime = packet.ReadBit(); data.WriteBit((moveSpline.splineflags & MoveSplineFlag::Parabolic) && moveSpline.effect_start_time < moveSpline.Duration()); data.WriteBit(0); // unk data.WriteBits(moveSpline.getPath().size(), 25); // splineCount = packet.ReadBits("Spline Waypoints", 22, index); data.WriteBits(uint8(moveSpline.spline.mode()), 2); // packet.ReadEnum<SplineMode>("Spline Mode", 2, index); data.WriteBits(moveSpline.splineflags.raw(), 20); // packet.ReadEnum<SplineFlag434>("Spline flags", 20, index); }
void ReputationMgr::SendInitialReputations() { uint16 count = 256; RepListID a = 0; ByteBuffer bitData; WorldPacket data(SMSG_INITIALIZE_FACTIONS, (count * (1 + 4)) + 32); for (FactionStateList::iterator itr = _factions.begin(); itr != _factions.end(); ++itr) { // fill in absent fields for (; a != itr->first; ++a) { data << uint8(0); data << uint32(0); bitData.WriteBit(0); } // fill in encountered data data << uint8(itr->second.Flags); data << uint32(itr->second.Standing); // Bonus reputation (Your account has unlocked bonus reputation gain with this faction.) bitData.WriteBit(0); itr->second.needSend = false; ++a; } // fill in absent fields for (; a != count; ++a) { data << uint8(0); data << uint32(0); bitData.WriteBit(0); } bitData.FlushBits(); data.append(bitData); _player->SendDirectMessage(&data); }
void PacketBuilder::WriteCreateBits(MoveSpline const& moveSpline, ByteBuffer& data) { ASSERT(!moveSpline.Finalized()); MoveSplineFlag flags = moveSpline.splineflags; data.WriteBit(true); data.WriteBit(flags.parabolic || flags.animation); data.WriteBits(uint8(moveSpline.spline.mode()), 2); data.WriteBits(moveSpline.getPath().size(), 20); data.WriteBits(flags.raw(), 25); data.WriteBit(flags.parabolic); data.WriteBit(false); if (false) { data.WriteBits(0, 2); data.WriteBits(0, 21); } }
void ReputationMgr::SendInitialReputations() { WorldPacket data(SMSG_INITIALIZE_FACTIONS, 256 * 6); ByteBuffer bits; RepListID a = 0; for (FactionStateList::iterator itr = _factions.begin(); itr != _factions.end(); ++itr) { // fill in absent fields for (; a != itr->first; ++a) { data << uint8(0); data << uint32(0); bits.WriteBit(0); } // fill in encountered data data << uint8(itr->second.Flags); data << uint32(itr->second.Standing); bits.WriteBit(itr->second.needSend); itr->second.needSend = false; ++a; } // fill in absent fields for (; a != 256; ++a) { data << uint8 (0x00); data << uint32 (0x00000000); bits.WriteBit(0); } data.append(bits); _player->SendDirectMessage(&data); }
void PacketBuilder::WriteBytes(const MoveSpline& move_spline, ByteBuffer& data) { MoveSplineFlag splineFlags = move_spline.splineflags; uint32 nodes = move_spline.getPath().size(); data.WriteBits(SPLINEMODE_LINEAR, 2); data.WriteBit(1); data.WriteBits(nodes, 22); data.WriteBits(SPLINETYPE_NORMAL, 2); if (splineFlags.final_target) { uint64 Guid = move_spline.facing.target; uint8 guidMask[] = { 4, 3, 7, 2, 6, 1, 0, 5 }; data.WriteGuidMask(Guid, guidMask, 8); } data.WriteBit(0); data.WriteBits(0, 25); }
void PacketBuilder::WriteCreateBits(MoveSpline const& moveSpline, ByteBuffer& data) { if (!data.WriteBit(!moveSpline.Finalized())) return; data.WriteBit(moveSpline.splineflags & (MoveSplineFlag::Parabolic | MoveSplineFlag::Animation)); // hasSplineStartTime = packet.ReadBit(); data.WriteBits(uint8(moveSpline.spline.mode()), 2); // packet.ReadEnum<SplineMode>("Spline Mode", 2, index); data.WriteBits(moveSpline.splineflags.raw(), 20); // packet.ReadEnum<SplineFlag434>("Spline flags", 20, index); data.WriteBit(0); // unk data.WriteBits(moveSpline.getPath().size(), 25); // splineCount = packet.ReadBits("Spline Waypoints", 22, index); data.WriteBit((moveSpline.splineflags & MoveSplineFlag::Parabolic) && moveSpline.effect_start_time < moveSpline.Duration()); /*switch (moveSpline.splineflags & MoveSplineFlag::Mask_Final_Facing) { case MoveSplineFlag::Final_Target: { ObjectGuid targetGuid = moveSpline.facing.target; data.WriteBits(0, 2); data.WriteBit(targetGuid[4]); data.WriteBit(targetGuid[5]); data.WriteBit(targetGuid[0]); data.WriteBit(targetGuid[7]); data.WriteBit(targetGuid[1]); data.WriteBit(targetGuid[3]); data.WriteBit(targetGuid[2]); data.WriteBit(targetGuid[6]); break; } case MoveSplineFlag::Final_Angle: data.WriteBits(3, 2); break; case MoveSplineFlag::Final_Point: data.WriteBits(1, 2); break; default: data.WriteBits(2, 2); break; }*/ }
void PacketBuilder::WriteCreateBits(MoveSpline const& moveSpline, ByteBuffer& data) { data.WriteBits(uint8(moveSpline.spline.mode()), 2); data.WriteBit(moveSpline.splineflags & (MoveSplineFlag::Parabolic | MoveSplineFlag::Animation)); data.WriteBits(moveSpline.getPath().size(), 22); switch (moveSpline.splineflags & MoveSplineFlag::Mask_Final_Facing) { case MoveSplineFlag::Final_Target: { ObjectGuid targetGuid = moveSpline.facing.target; data.WriteBits(2, 2); data.WriteBit(targetGuid[4]); data.WriteBit(targetGuid[3]); data.WriteBit(targetGuid[7]); data.WriteBit(targetGuid[2]); data.WriteBit(targetGuid[6]); data.WriteBit(targetGuid[1]); data.WriteBit(targetGuid[0]); data.WriteBit(targetGuid[5]); break; } case MoveSplineFlag::Final_Angle: data.WriteBits(0, 2); break; case MoveSplineFlag::Final_Point: data.WriteBits(1, 2); break; default: data.WriteBits(3, 2); break; } data.WriteBit((moveSpline.splineflags & MoveSplineFlag::Parabolic) && moveSpline.effect_start_time < moveSpline.Duration()); data.WriteBits(moveSpline.splineflags.raw(), 25); }
void PacketBuilder::WriteCreateBits(const MoveSpline& move_spline, ByteBuffer& data) { if (!data.WriteBit(!move_spline.Finalized())) return; MoveSplineFlag splineFlags = move_spline.splineflags; uint32 nodes = move_spline.getPath().size(); bool hasSplineStartTime = move_spline.splineflags & (MoveSplineFlag::Trajectory | MoveSplineFlag::Animation); bool hasSplineVerticalAcceleration = (move_spline.splineflags & MoveSplineFlag::Trajectory) && move_spline.effect_start_time < move_spline.Duration(); data.WriteBits(uint8(move_spline.spline.mode()), 2); data.WriteBit(hasSplineStartTime); data.WriteBits(nodes, 22); switch (move_spline.splineflags & MoveSplineFlag::Mask_Final_Facing) { case MoveSplineFlag::Final_Target: { data.WriteBits(2, 2); data.WriteGuidMask<4, 3, 7, 2, 6, 1, 0, 5>(ObjectGuid(move_spline.facing.target)); break; } case MoveSplineFlag::Final_Angle: data.WriteBits(0, 2); break; case MoveSplineFlag::Final_Point: data.WriteBits(1, 2); break; default: data.WriteBits(3, 2); break; } data.WriteBit(hasSplineVerticalAcceleration); data.WriteBits(move_spline.splineflags.raw(), 25); }
void PacketBuilder::WriteFacingTargetPart(MoveSpline const& moveSpline, ByteBuffer& data) { if (GetMonsterMoveType(moveSpline) == MonsterMoveFacingTarget && !moveSpline.Finalized()) { ObjectGuid facingGuid = moveSpline.facing.target; data.WriteBit(facingGuid[4]); data.WriteBit(facingGuid[7]); data.WriteBit(facingGuid[0]); data.WriteBit(facingGuid[5]); data.WriteBit(facingGuid[1]); data.WriteBit(facingGuid[2]); data.WriteBit(facingGuid[3]); data.WriteBit(facingGuid[6]); data.WriteByteSeq(facingGuid[4]); data.WriteByteSeq(facingGuid[2]); data.WriteByteSeq(facingGuid[0]); data.WriteByteSeq(facingGuid[5]); data.WriteByteSeq(facingGuid[6]); data.WriteByteSeq(facingGuid[3]); data.WriteByteSeq(facingGuid[1]); data.WriteByteSeq(facingGuid[7]); } }
void PacketBuilder::WriteBytes(const MoveSpline& move_spline, ByteBuffer& data) { MoveSplineFlag splineFlags = move_spline.splineflags; uint32 nodes = move_spline.getPath().size(); data.WriteBits(SPLINEMODE_LINEAR, 2); data.WriteBit(false); data.WriteBits(nodes, 22); data.WriteBits(SPLINETYPE_NORMAL, 2); if (splineFlags.walkmode) { uint8 guidMask[] = { 4, 3, 7, 2, 6, 1, 0, 5 }; data.WriteGuidMask(move_spline.facing.target, guidMask, 8); } }
void PlayerMenu::WriteQuestRewardsData(Quest const* quest, ByteBuffer &data, uint32 xpValue) { data << int32(quest->GetRewChoiceItemsCount()); for (int i = 0; i < QUEST_REWARD_CHOICES_COUNT; i++) { data << int32(quest->RewardChoiceItemId[i]); data << int32(quest->RewardChoiceItemCount[i]); } data << int32(quest->GetRewItemsCount()); for (int i = 0; i < QUEST_REWARDS_COUNT; i++) { data << int32(quest->RewardItemId[i]); data << int32(quest->RewardItemIdCount[i]); } data << int32(quest->GetRewMoney()); data << int32(xpValue); data << int32(quest->GetCharTitleId()); data << int32(quest->GetBonusTalents()); data << int32(quest->GetRewardReputationMask()); for (int i = 0; i < QUEST_REPUTATIONS_COUNT; i++) { data << int32(quest->RewardFactionId[i]); data << int32(quest->RewardFactionValueId[i]); data << int32(quest->RewardFactionValueIdOverride[i]); } data << int32(quest->GetRewSpell()); data << int32(quest->GetRewSpellCast()); for (int i = 0; i < QUEST_REWARD_CURRENCY_COUNT; i++) { data << int32(quest->RewardCurrencyId[i]); data << int32(quest->RewardCurrencyCount[i]); } data << int32(quest->GetRewardSkillId()); data << int32(quest->GetRewardSkillPoints()); data.WriteBit(0); // unknown data.FlushBits(); }
void PacketBuilder::WriteStopMovement(Vector3 const& pos, uint32 splineId, ByteBuffer& data) { ObjectGuid moverGUID; ObjectGuid transportGUID; data << float(pos.z); data << float(pos.x); data << uint32(splineId); //SplineId data << float(pos.y); data << float(0.f); // Most likely transport Y data << float(0.f); // Most likely transport Z data << float(0.f); // Most likely transport X data.WriteBit(1); // Parabolic speed // esi+4Ch data.WriteBit(moverGUID[0]); data.WriteBits(MonsterMoveStop, 3); data.WriteBit(1); data.WriteBit(1); data.WriteBit(1); data.WriteBits(0, 20); data.WriteBit(1); data.WriteBit(moverGUID[3]); data.WriteBit(1); data.WriteBit(1); data.WriteBit(1); data.WriteBit(1); data.WriteBit(moverGUID[7]); data.WriteBit(moverGUID[4]); data.WriteBit(1); data.WriteBit(moverGUID[5]); data.WriteBits(0, 22); // WP count data.WriteBit(moverGUID[6]); data.WriteBit(0); // Fake bit data.WriteBit(transportGUID[7]); data.WriteBit(transportGUID[1]); data.WriteBit(transportGUID[3]); data.WriteBit(transportGUID[0]); data.WriteBit(transportGUID[6]); data.WriteBit(transportGUID[4]); data.WriteBit(transportGUID[5]); data.WriteBit(transportGUID[2]); data.WriteBit(0); // Send no block data.WriteBit(0); data.WriteBit(moverGUID[2]); data.WriteBit(moverGUID[1]); data.FlushBits(); data.WriteByteSeq(moverGUID[1]); data.WriteByteSeq(transportGUID[6]); data.WriteByteSeq(transportGUID[4]); data.WriteByteSeq(transportGUID[1]); data.WriteByteSeq(transportGUID[7]); data.WriteByteSeq(transportGUID[0]); data.WriteByteSeq(transportGUID[3]); data.WriteByteSeq(transportGUID[5]); data.WriteByteSeq(transportGUID[2]); data.WriteByteSeq(moverGUID[5]); data.WriteByteSeq(moverGUID[3]); data.WriteByteSeq(moverGUID[6]); data.WriteByteSeq(moverGUID[0]); data.WriteByteSeq(moverGUID[7]); data.WriteByteSeq(moverGUID[2]); data.WriteByteSeq(moverGUID[4]); }
void PacketBuilder::WriteStopMovement(Vector3 const& pos, uint32 splineId, ByteBuffer& data, Unit* unit) { ObjectGuid guid = unit->GetGUID(); ObjectGuid transport = unit->GetTransGUID(); data << float(0.f); // Most likely transport Y data << uint32(splineId); data << float(0.f); // Most likely transport Z data << float(0.f); // Most likely transport X data << float(pos.x); data << float(pos.y); data << float(pos.z); data.WriteBit(guid[3]); data.WriteBit(1); data.WriteBit(guid[6]); data.WriteBit(1); data.WriteBit(1); data.WriteBits(MonsterMoveStop, 3); data.WriteBit(1); data.WriteBit(guid[2]); data.WriteBit(guid[7]); data.WriteBit(guid[5]); data.WriteBit(1); data.WriteBit(guid[4]); data.WriteBits(0, 22); // WP count data.WriteBit(1); data.WriteBit(0); data.WriteBit(guid[0]); uint8 transportBitsOrder[8] = {3, 6, 5, 0, 1, 2, 4, 7}; uint8 transportBytesOrder[8] = {7, 3, 2, 0, 6, 4, 5, 1}; data.WriteBitInOrder(transport, transportBitsOrder); data.WriteBit(1); data.WriteBit(1); // Parabolic speed // esi+4Ch data.WriteBit(1); data.WriteBits(0, 20); data.WriteBit(guid[1]); data.WriteBit(0); data.WriteBit(0); data.WriteBit(1); data.FlushBits(); data.WriteByteSeq(guid[3]); data.WriteBytesSeq(transport, transportBytesOrder); data.WriteByteSeq(guid[7]); data.WriteByteSeq(guid[5]); data.WriteByteSeq(guid[1]); data.WriteByteSeq(guid[2]); data.WriteByteSeq(guid[6]); data.WriteByteSeq(guid[0]); data.WriteByteSeq(guid[4]); }
void WorldSession::HandleGuildFinderGetApplications(WorldPacket& /*recvPacket*/) { sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_LF_GUILD_GET_APPLICATIONS"); std::list<MembershipRequest> applicatedGuilds = sGuildFinderMgr->GetAllMembershipRequestsForPlayer(GetPlayer()->GetGUIDLow()); uint32 applicationsCount = applicatedGuilds.size(); ByteBuffer bufferDataHead; ByteBuffer bufferDataTail; if (applicationsCount > 0) { bufferDataHead.WriteBits(applicationsCount, 19); for (std::list<MembershipRequest>::const_iterator itr = applicatedGuilds.begin(); itr != applicatedGuilds.end(); ++itr) { Guild* guild = sGuildMgr->GetGuildById(itr->GetGuildId()); LFGuildSettings guildSettings = sGuildFinderMgr->GetGuildSettings(itr->GetGuildId()); MembershipRequest request = *itr; ObjectGuid guildGuid = ObjectGuid(guild->GetGUID()); bufferDataHead.WriteBit(guildGuid[0]); bufferDataHead.WriteBit(guildGuid[4]); bufferDataHead.WriteBit(guildGuid[2]); bufferDataHead.WriteBit(guildGuid[7]); bufferDataHead.WriteBits(guild->GetName().size(), 7); bufferDataHead.WriteBit(guildGuid[1]); bufferDataHead.WriteBit(guildGuid[3]); bufferDataHead.WriteBits(request.GetComment().size(), 10); bufferDataHead.WriteBit(guildGuid[6]); bufferDataHead.WriteBit(guildGuid[5]); bufferDataTail << uint32(guildSettings.GetInterests()); bufferDataTail << uint32(0); if (guild->GetName().size() > 0) bufferDataTail.append(guild->GetName().c_str(), guild->GetName().size()); bufferDataTail.WriteByteSeq(guildGuid[4]); bufferDataTail << uint32(guildSettings.GetClassRoles()); bufferDataTail.WriteByteSeq(guildGuid[6]); bufferDataTail.WriteByteSeq(guildGuid[5]); bufferDataTail << uint32(time(NULL) - request.GetSubmitTime()); // Time since application (seconds) bufferDataTail.WriteByteSeq(guildGuid[1]); bufferDataTail.WriteByteSeq(guildGuid[3]); bufferDataTail.WriteByteSeq(guildGuid[0]); bufferDataTail.WriteByteSeq(guildGuid[7]); bufferDataTail.WriteByteSeq(guildGuid[2]); bufferDataTail << uint32(request.GetExpiryTime() - time(NULL)); // Time left to application expiry (seconds) bufferDataTail << uint32(guildSettings.GetAvailability()); if (request.GetComment().size() > 0) bufferDataTail.append(request.GetComment().c_str(), request.GetComment().size()); } bufferDataHead.FlushBits(); } else { bufferDataHead.WriteBits(0, 24); } WorldPacket data(SMSG_LF_GUILD_MEMBERSHIP_LIST_UPDATED, bufferDataHead.size() + bufferDataTail.size() + 8); data.append(bufferDataHead); if (bufferDataTail.size() > 0) data.append(bufferDataTail); data << uint32(10 - sGuildFinderMgr->CountRequestsFromPlayer(GetPlayer()->GetGUIDLow())); // Applications count left GetPlayer()->SendDirectMessage(&data); }
void PacketBuilder::WriteStopMovement(Vector3 const& pos, uint32 splineId, ByteBuffer& data, Unit* unit) { ObjectGuid guid = unit->GetGUID(); ObjectGuid transport = unit->GetTransGUID(); data << float(0.f); data << uint32(getMSTime()); data << float(0.f); data << float(0.f); data << float(unit->GetPositionX()); data << float(unit->GetPositionY()); data << float(unit->GetPositionZ()); data.WriteBit(guid[3]); data.WriteBit(!unit->movespline->splineflags.raw()); data.WriteBit(guid[6]); data.WriteBit(1); data.WriteBit(1); data.WriteBits(0, 3); data.WriteBit(1); data.WriteBit(guid[2]); data.WriteBit(guid[7]); data.WriteBit(guid[5]); data.WriteBit(1); data.WriteBit(guid[4]); data.WriteBits(0, 22); // WP count data.WriteBit(1); data.WriteBit(0); data.WriteBit(guid[0]); data.WriteBit(transport[3]); data.WriteBit(transport[6]); data.WriteBit(transport[5]); data.WriteBit(transport[0]); data.WriteBit(transport[1]); data.WriteBit(transport[2]); data.WriteBit(transport[4]); data.WriteBit(transport[7]); data.WriteBit(1); data.WriteBit(1); // Parabolic speed // esi+4Ch data.WriteBit(1); data.WriteBits(0, 20); data.WriteBit(guid[1]); data.WriteBit(0); data.WriteBit(0); data.WriteBit(0); data.FlushBits(); data.WriteByteSeq(guid[3]); data.WriteByteSeq(transport[7]); data.WriteByteSeq(transport[3]); data.WriteByteSeq(transport[2]); data.WriteByteSeq(transport[0]); data.WriteByteSeq(transport[6]); data.WriteByteSeq(transport[5]); data.WriteByteSeq(transport[4]); data.WriteByteSeq(transport[1]); if (unit->movespline->splineflags.raw()) data << uint32(unit->movespline->splineflags.raw()); data.WriteByteSeq(guid[7]); data.WriteByteSeq(guid[5]); data.WriteByteSeq(guid[1]); data.WriteByteSeq(guid[2]); data.WriteByteSeq(guid[6]); data.WriteByteSeq(guid[0]); data.WriteByteSeq(guid[4]); }
void PacketBuilder::WriteStopMovement(Vector3 const& pos, uint32 splineId, ByteBuffer& data, Unit* unit) { ObjectGuid guid = unit->GetGUID(); ObjectGuid transport = unit->GetTransGUID(); data << float(pos.z); data << float(pos.x); data << uint32(splineId); data << float(pos.y); data << float(0.f); // Most likely transport Y data << float(0.f); // Most likely transport Z data << float(0.f); // Most likely transport X data.WriteBit(1); // Parabolic speed // esi+4Ch data.WriteBit(guid[0]); data.WriteBits(MonsterMoveStop, 3); data.WriteBit(1); data.WriteBit(1); data.WriteBit(1); data.WriteBits(0, 20); data.WriteBit(1); data.WriteBit(guid[3]); data.WriteBit(1); data.WriteBit(1); data.WriteBit(1); data.WriteBit(1); data.WriteBit(guid[7]); data.WriteBit(guid[4]); data.WriteBit(1); data.WriteBit(guid[5]); data.WriteBits(0, 22); // WP count data.WriteBit(guid[6]); data.WriteBit(0); // Fake bit data.WriteBit(transport[7]); data.WriteBit(transport[1]); data.WriteBit(transport[3]); data.WriteBit(transport[0]); data.WriteBit(transport[6]); data.WriteBit(transport[4]); data.WriteBit(transport[5]); data.WriteBit(transport[2]); data.WriteBit(0); // Send no block data.WriteBit(0); data.WriteBit(guid[2]); data.WriteBit(guid[1]); data.FlushBits(); data.WriteByteSeq(guid[1]); data.WriteByteSeq(transport[6]); data.WriteByteSeq(transport[4]); data.WriteByteSeq(transport[1]); data.WriteByteSeq(transport[7]); data.WriteByteSeq(transport[0]); data.WriteByteSeq(transport[3]); data.WriteByteSeq(transport[5]); data.WriteByteSeq(transport[2]); data.WriteByteSeq(guid[5]); data.WriteByteSeq(guid[3]); data.WriteByteSeq(guid[6]); data.WriteByteSeq(guid[0]); data.WriteByteSeq(guid[7]); data.WriteByteSeq(guid[2]); data.WriteByteSeq(guid[4]); }