28#if TRINITY_COMPILER == TRINITY_COMPILER_GNU
29#pragma GCC diagnostic push
30#pragma GCC diagnostic ignored "-Wunused-parameter"
33#pragma warning(disable: 4100)
52 data.
WriteBits(changesMask.GetBlock(0), 4);
91 if (ignoreChangesMask)
150 Values[i].WriteCreate(data, owner, receiver);
158 if (ignoreChangesMask)
165 if (!ignoreChangesMask)
177 Values[i].WriteUpdate(data, ignoreChangesMask, owner, receiver);
214 for (
uint32 i = 0; i < 16; ++i)
224 if (ignoreChangesMask)
245 for (
uint32 i = 0; i < 16; ++i)
247 if (changesMask[4 + i])
273 for (
uint32 i = 0; i < 5; ++i)
279 for (
uint32 i = 0; i < 13; ++i)
313 Gems[i].WriteCreate(data, owner, receiver);
315 Modifiers->WriteCreate(data, owner, receiver);
320 Mask allowedMaskForTarget({ 0xF80A727Fu, 0x000001FFu });
328 allowedMaskForTarget |= std::array<uint32, 2>{ 0x07F58D80u, 0x00000000u };
333 Mask allowedMaskForTarget({ 0xF80A727Fu, 0x000001FFu });
335 changesMask &= allowedMaskForTarget;
340 data.
WriteBits(changesMask.GetBlocksMask(0), 2);
341 for (
uint32 i = 0; i < 2; ++i)
342 if (changesMask.GetBlock(i))
343 data.
WriteBits(changesMask.GetBlock(i), 32);
349 if (!ignoreNestedChangesMask)
356 if (!ignoreNestedChangesMask)
371 ArtifactPowers[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
381 Gems[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
455 Modifiers->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
460 for (
uint32 i = 0; i < 5; ++i)
462 if (changesMask[22 + i])
470 for (
uint32 i = 0; i < 13; ++i)
472 if (changesMask[28 + i])
474 Enchantment[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
509 for (
uint32 i = 0; i < 98; ++i)
523 data.
WriteBits(changesMask.GetBlocksMask(0), 4);
524 for (
uint32 i = 0; i < 4; ++i)
525 if (changesMask.GetBlock(i))
526 data.
WriteBits(changesMask.GetBlock(i), 32);
538 for (
uint32 i = 0; i < 98; ++i)
540 if (changesMask[3 + i])
557 for (
uint32 i = 0; i < 5; ++i)
570 data.
WriteBits(changesMask.GetBlocksMask(0), 1);
571 if (changesMask.GetBlock(0))
572 data.
WriteBits(changesMask.GetBlock(0), 32);
577 for (
uint32 i = 0; i < 5; ++i)
579 if (changesMask[1 + i])
613 for (
uint32 i = 0; i < 4; ++i)
625 if (ignoreChangesMask)
649 for (
uint32 i = 0; i < 4; ++i)
651 if (changesMask[4 + i])
702 Mask allowedMaskForTarget({ 0x0000001Du });
710 allowedMaskForTarget |= std::array<uint32, 1>{ 0x000003E2u };
715 Mask allowedMaskForTarget({ 0x0000001Du });
717 changesMask &= allowedMaskForTarget;
722 data.
WriteBits(changesMask.GetBlock(0), 10);
732 if (!ignoreNestedChangesMask)
739 if (!ignoreNestedChangesMask)
746 if (!ignoreNestedChangesMask)
761 UnlockedEssences[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
781 SelectedEssences[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
871 if (ignoreChangesMask)
939 data <<
uint32(stateWorldEffects.size());
942 for (
uint32 i = 0; i < stateWorldEffects.size(); ++i)
944 data <<
uint32((stateWorldEffects)[i]);
970 for (
uint32 i = 0; i < 10; ++i)
977 for (
uint32 i = 0; i < 10; ++i)
992 for (
uint32 i = 0; i < 3; ++i)
1000 for (
uint32 i = 0; i < 2; ++i)
1043 for (
uint32 i = 0; i < 4; ++i)
1053 for (
uint32 i = 0; i < 7; ++i)
1060 for (
uint32 i = 0; i < 7; ++i)
1143 Mask allowedMaskForTarget({ 0xFFFEFFFFu, 0x87FDFFFFu, 0x007BFFFFu, 0xFFFFFC01u, 0x03FFFFFFu, 0x001FC000u, 0x00000000u });
1151 allowedMaskForTarget |= std::array<uint32, 7>{ 0x00010000u, 0x78020000u, 0xFF840000u, 0x000003FEu, 0xFC000020u, 0xFFE03FFFu, 0x0FFFFFFFu };
1153 allowedMaskForTarget |= std::array<uint32, 7>{ 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xFC000020u, 0x00003FFFu, 0x00000000u };
1155 allowedMaskForTarget |= std::array<uint32, 7>{ 0x00000000u, 0x78000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00003FC0u };
1160 Mask allowedMaskForTarget({ 0xFFFEFFFFu, 0x87FDFFFFu, 0x007BFFFFu, 0xFFFFFC01u, 0x03FFFFFFu, 0x001FC000u, 0x00000000u });
1162 changesMask &= allowedMaskForTarget;
1167 data.
WriteBits(changesMask.GetBlocksMask(0), 7);
1168 for (
uint32 i = 0; i < 7; ++i)
1169 if (changesMask.GetBlock(i))
1170 data.
WriteBits(changesMask.GetBlock(i), 32);
1181 data.
WriteBits(stateWorldEffects.size(), 32);
1182 for (
uint32 i = 0; i < stateWorldEffects.size(); ++i)
1184 data <<
uint32((stateWorldEffects)[i]);
1193 if (!ignoreNestedChangesMask)
1200 if (!ignoreNestedChangesMask)
1207 if (!ignoreNestedChangesMask)
1222 PassiveSpells[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
1262 if (changesMask[10])
1266 if (changesMask[11])
1270 if (changesMask[12])
1274 if (changesMask[13])
1278 if (changesMask[14])
1282 if (changesMask[15])
1286 if (changesMask[16])
1290 if (changesMask[17])
1294 if (changesMask[18])
1298 if (changesMask[19])
1302 if (changesMask[20])
1306 if (changesMask[21])
1310 if (changesMask[22])
1314 if (changesMask[23])
1318 if (changesMask[24])
1322 if (changesMask[25])
1324 ChannelData->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
1326 if (changesMask[26])
1330 if (changesMask[27])
1334 if (changesMask[28])
1338 if (changesMask[29])
1342 if (changesMask[30])
1346 if (changesMask[31])
1351 if (changesMask[32])
1353 if (changesMask[33])
1357 if (changesMask[34])
1361 if (changesMask[35])
1365 if (changesMask[36])
1369 if (changesMask[37])
1373 if (changesMask[38])
1377 if (changesMask[39])
1381 if (changesMask[40])
1385 if (changesMask[41])
1389 if (changesMask[42])
1393 if (changesMask[43])
1397 if (changesMask[44])
1401 if (changesMask[45])
1405 if (changesMask[46])
1409 if (changesMask[47])
1413 if (changesMask[48])
1417 if (changesMask[49])
1421 if (changesMask[50])
1425 if (changesMask[51])
1429 if (changesMask[52])
1433 if (changesMask[53])
1437 if (changesMask[54])
1441 if (changesMask[55])
1445 if (changesMask[56])
1449 if (changesMask[57])
1453 if (changesMask[58])
1457 if (changesMask[59])
1461 if (changesMask[60])
1465 if (changesMask[61])
1469 if (changesMask[62])
1473 if (changesMask[63])
1478 if (changesMask[64])
1480 if (changesMask[65])
1484 if (changesMask[66])
1488 if (changesMask[67])
1492 if (changesMask[68])
1496 if (changesMask[69])
1500 if (changesMask[70])
1504 if (changesMask[71])
1508 if (changesMask[72])
1512 if (changesMask[73])
1516 if (changesMask[74])
1520 if (changesMask[75])
1524 if (changesMask[76])
1528 if (changesMask[77])
1532 if (changesMask[78])
1536 if (changesMask[79])
1540 if (changesMask[80])
1544 if (changesMask[81])
1548 if (changesMask[82])
1552 if (changesMask[83])
1556 if (changesMask[84])
1560 if (changesMask[85])
1564 if (changesMask[86])
1568 if (changesMask[87])
1572 if (changesMask[88])
1576 if (changesMask[89])
1580 if (changesMask[90])
1584 if (changesMask[91])
1588 if (changesMask[92])
1592 if (changesMask[93])
1596 if (changesMask[94])
1600 if (changesMask[95])
1605 if (changesMask[96])
1607 if (changesMask[97])
1611 if (changesMask[98])
1615 if (changesMask[99])
1619 if (changesMask[100])
1623 if (changesMask[101])
1627 if (changesMask[102])
1631 if (changesMask[103])
1635 if (changesMask[104])
1639 if (changesMask[105])
1643 if (changesMask[106])
1647 if (changesMask[107])
1651 if (changesMask[108])
1655 if (changesMask[109])
1659 if (changesMask[110])
1663 if (changesMask[111])
1667 if (changesMask[112])
1671 if (changesMask[113])
1675 if (changesMask[114])
1679 if (changesMask[115])
1683 if (changesMask[116])
1687 if (changesMask[117])
1691 if (changesMask[118])
1695 if (changesMask[119])
1699 if (changesMask[120])
1703 if (changesMask[121])
1707 if (changesMask[122])
1711 if (changesMask[123])
1715 if (changesMask[124])
1719 if (changesMask[125])
1723 if (changesMask[126])
1727 if (changesMask[127])
1732 if (changesMask[128])
1734 if (changesMask[129])
1738 if (changesMask[130])
1742 if (changesMask[131])
1746 if (changesMask[132])
1751 if (changesMask[133])
1753 for (
uint32 i = 0; i < 10; ++i)
1755 if (changesMask[134 + i])
1759 if (changesMask[144 + i])
1763 if (changesMask[154 + i])
1767 if (changesMask[164 + i])
1773 if (changesMask[174])
1775 for (
uint32 i = 0; i < 3; ++i)
1777 if (changesMask[175 + i])
1779 VirtualItems[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
1783 if (changesMask[178])
1785 for (
uint32 i = 0; i < 2; ++i)
1787 if (changesMask[179 + i])
1793 if (changesMask[181])
1795 for (
uint32 i = 0; i < 4; ++i)
1797 if (changesMask[182 + i])
1801 if (changesMask[186 + i])
1805 if (changesMask[190 + i])
1809 if (changesMask[194 + i])
1815 if (changesMask[198])
1817 for (
uint32 i = 0; i < 7; ++i)
1819 if (changesMask[199 + i])
1823 if (changesMask[206 + i])
1827 if (changesMask[213 + i])
2006 for (
uint32 i = 0; i < 24; ++i)
2015 if (ignoreChangesMask)
2044 for (
uint32 i = 0; i < 24; ++i)
2046 if (changesMask[6 + i])
2078 if (ignoreChangesMask)
2138 if (ignoreChangesMask)
2175 if (ignoreChangesMask)
2226 for (
uint32 i = 0; i < 5; ++i)
2231 for (
uint32 i = 0; i < 5; ++i)
2241 if (ignoreChangesMask)
2251 for (
uint32 i = 0; i < 5; ++i)
2253 if (changesMask[1 + i])
2262 for (
uint32 i = 0; i < 5; ++i)
2264 if (changesMask[1 + i])
2291 if (ignoreChangesMask)
2346 for (
uint32 i = 0; i < 2; ++i)
2358 for (
uint32 i = 0; i < 175; ++i)
2364 for (
uint32 i = 0; i < 19; ++i)
2373 for (
uint32 i = 0; i < 6; ++i)
2381 for (
uint32 i = 0; i < 32; ++i)
2389 CtrOptions->WriteCreate(data, owner, receiver);
2395 for (
uint32 i = 0; i < 19; ++i)
2433 for (
uint32 i = 0; i < 16; ++i)
2439 PetNames[i].WriteCreate(data, owner, receiver);
2450 Mask allowedMaskForTarget({ 0xFFFFFFDDu, 0x0001FFFFu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xFFFFFFFEu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0x00000003u });
2458 allowedMaskForTarget |= std::array<uint32, 11>{ 0x00000022u, 0xFFFE0000u, 0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0x00000001u, 0x00000000u, 0x00000000u, 0x00000000u };
2463 Mask allowedMaskForTarget({ 0xFFFFFFDDu, 0x0001FFFFu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xFFFFFFFEu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0x00000003u });
2465 changesMask &= allowedMaskForTarget;
2470 data.
WriteBits(changesMask.GetBlocksMask(0), 11);
2471 for (
uint32 i = 0; i < 11; ++i)
2472 if (changesMask.GetBlock(i))
2473 data.
WriteBits(changesMask.GetBlock(i), 32);
2488 if (!ignoreNestedChangesMask)
2495 if (!ignoreNestedChangesMask)
2502 if (!ignoreNestedChangesMask)
2509 if (!ignoreNestedChangesMask)
2516 if (!ignoreNestedChangesMask)
2523 if (!ignoreNestedChangesMask)
2538 Customizations[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
2548 QaCustomizations[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
2558 if (noQuestLogChangesMask)
2571 ArenaCooldowns[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
2591 PetNames[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
2599 if (changesMask[10])
2603 if (changesMask[11])
2607 if (changesMask[12])
2611 if (changesMask[13])
2615 if (changesMask[14])
2619 if (changesMask[15])
2623 if (changesMask[16])
2627 if (changesMask[17])
2631 if (changesMask[18])
2635 if (changesMask[19])
2639 if (changesMask[20])
2643 if (changesMask[21])
2647 if (changesMask[22])
2651 if (changesMask[23])
2655 if (changesMask[24])
2659 if (changesMask[25])
2663 if (changesMask[26])
2667 if (changesMask[27])
2671 if (changesMask[28])
2675 if (changesMask[29])
2679 if (changesMask[30])
2683 if (changesMask[31])
2688 if (changesMask[32])
2690 if (changesMask[33])
2694 if (changesMask[35])
2698 if (changesMask[36])
2702 if (changesMask[37])
2706 if (changesMask[38])
2708 CtrOptions->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
2710 if (changesMask[39])
2714 if (changesMask[40])
2718 if (changesMask[42])
2722 if (changesMask[43])
2726 if (changesMask[45])
2728 PersonalTabard->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
2730 if (changesMask[34])
2736 if (changesMask[41])
2740 if (changesMask[34])
2744 if (changesMask[44])
2752 if (changesMask[46])
2754 for (
uint32 i = 0; i < 2; ++i)
2756 if (changesMask[47 + i])
2762 if (changesMask[49])
2764 for (
uint32 i = 0; i < 175; ++i)
2766 if (changesMask[50 + i])
2768 if (noQuestLogChangesMask)
2775 if (changesMask[225])
2777 for (
uint32 i = 0; i < 19; ++i)
2779 if (changesMask[226 + i])
2781 VisibleItems[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
2785 if (changesMask[245])
2787 for (
uint32 i = 0; i < 6; ++i)
2789 if (changesMask[246 + i])
2795 if (changesMask[252])
2797 for (
uint32 i = 0; i < 32; ++i)
2799 if (changesMask[253 + i])
2801 ForcedReactions[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
2805 if (changesMask[302])
2807 for (
uint32 i = 0; i < 19; ++i)
2809 if (changesMask[303 + i])
2815 if (changesMask[285])
2817 for (
uint32 i = 0; i < 16; ++i)
2819 if (changesMask[286 + i])
2886 for (
uint32 i = 0; i < 256; ++i)
2901 if (ignoreChangesMask)
2904 for (
uint32 i = 0; i < 1; ++i)
2907 for (
uint32 i = 0; i < 57; ++i)
2914 for (
uint32 i = 0; i < 256; ++i)
2916 if (changesMask[1 + i])
2920 if (changesMask[257 + i])
2924 if (changesMask[513 + i])
2928 if (changesMask[769 + i])
2932 if (changesMask[1025 + i])
2936 if (changesMask[1281 + i])
2940 if (changesMask[1537 + i])
2972 if (ignoreChangesMask)
2981 if (!ignoreChangesMask)
3011 for (
uint32 i = 0; i < 13; ++i)
3013 Values[i].WriteCreate(data, owner, receiver);
3020 if (ignoreChangesMask)
3030 for (
uint32 i = 0; i < 13; ++i)
3032 if (changesMask[1 + i])
3034 Values[i].WriteUpdate(data, ignoreChangesMask, owner, receiver);
3090 if (ignoreChangesMask)
3142 if (ignoreChangesMask)
3189 if (changesMask[10])
3193 if (changesMask[11])
3197 if (changesMask[12])
3201 if (changesMask[13])
3205 if (changesMask[14])
3209 if (changesMask[15])
3213 if (changesMask[16])
3217 if (changesMask[17])
3221 if (changesMask[18])
3330 if (ignoreChangesMask)
3373 if (ignoreChangesMask)
3382 if (!ignoreChangesMask)
3482 if (ignoreChangesMask)
3517 if (ignoreChangesMask)
3531 QuestCompleted->WriteUpdate(data, ignoreChangesMask, owner, receiver);
3552 if (ignoreChangesMask)
3608 Entries[i].WriteCreate(data, owner, receiver);
3620 Entries[i].WriteUpdate(data, ignoreChangesMask, owner, receiver);
3656 Entries[i].WriteCreate(data, owner, receiver);
3661 SubTrees[i].WriteCreate(data, owner, receiver);
3670 if (ignoreChangesMask)
3679 if (!ignoreChangesMask)
3680 Entries.WriteUpdateMask(data);
3686 if (!ignoreChangesMask)
3699 if (
Entries.HasChanged(i) || ignoreChangesMask)
3701 Entries[i].WriteUpdate(data, ignoreChangesMask, owner, receiver);
3711 SubTrees[i].WriteUpdate(data, ignoreChangesMask, owner, receiver);
3743 if (changesMask[10])
3750 if (changesMask[11])
3758 if (changesMask[12])
3760 if (changesMask[13])
3813 if (ignoreChangesMask)
3875 if (ignoreChangesMask)
3907 if (ignoreChangesMask)
3956 Reagents[i].WriteCreate(data, owner, receiver);
3961 Customer->WriteCreate(data, owner, receiver);
3969 OutputItem->WriteCreate(data, owner, receiver);
3981 if (ignoreChangesMask)
3990 if (!ignoreChangesMask)
4005 Reagents[i].WriteUpdate(data, ignoreChangesMask, owner, receiver);
4040 if (changesMask[10])
4044 if (changesMask[11])
4049 if (changesMask[12])
4051 if (changesMask[13])
4055 if (changesMask[14])
4059 if (changesMask[15])
4063 if (changesMask[16])
4067 if (changesMask[17])
4072 if (changesMask[18])
4074 if (changesMask[19])
4078 if (changesMask[20])
4086 if (changesMask[24])
4090 if (changesMask[18])
4092 if (changesMask[20])
4096 if (changesMask[21])
4100 Customer->WriteUpdate(data, ignoreChangesMask, owner, receiver);
4103 if (changesMask[22])
4107 NpcCustomer->WriteUpdate(data, ignoreChangesMask, owner, receiver);
4110 if (changesMask[23])
4114 OutputItem->WriteUpdate(data, ignoreChangesMask, owner, receiver);
4118 if (changesMask[24])
4120 if (changesMask[25])
4159 Data->WriteCreate(data, owner, receiver);
4182 if (ignoreChangesMask)
4189 if (!ignoreChangesMask)
4196 if (!ignoreChangesMask)
4224 Data->WriteUpdate(data, ignoreChangesMask, owner, receiver);
4256 if (ignoreChangesMask)
4290 if (ignoreChangesMask)
4375 if (ignoreChangesMask)
4434 Pets[i].WriteCreate(data, owner, receiver);
4441 if (ignoreChangesMask)
4450 if (!ignoreChangesMask)
4465 Pets[i].WriteUpdate(data, ignoreChangesMask, owner, receiver);
4493 if (ignoreChangesMask)
4539 if (ignoreChangesMask)
4669 for (
uint32 i = 0; i < 232; ++i)
4681 Skill->WriteCreate(data, owner, receiver);
4701 data << float(
Speed);
4711 for (
uint32 i = 0; i < 2; ++i)
4715 for (
uint32 i = 0; i < 7; ++i)
4725 for (
uint32 i = 0; i < 3; ++i)
4742 for (
uint32 i = 0; i < 12; ++i)