Skip to content

Commit e83db18

Browse files
committed
Support 12.0.5 parsing
1 parent 33ab1ad commit e83db18

135 files changed

Lines changed: 14686 additions & 13 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

WowPacketParser/Enums/Opcode.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -890,9 +890,12 @@ public enum Opcode
890890
CMSG_MOVE_CHARM_TELEPORT_CHEAT,
891891
CMSG_MOVE_COLLISION_DISABLE_ACK,
892892
CMSG_MOVE_COLLISION_ENABLE_ACK,
893+
CMSG_MOVE_DISABLE_JUMPING_ACK,
894+
CMSG_MOVE_DISABLE_STRAFING_ACK,
893895
CMSG_MOVE_DISMISS_VEHICLE,
894896
CMSG_MOVE_DOUBLE_JUMP,
895897
CMSG_MOVE_ENABLE_DOUBLE_JUMP_ACK,
898+
CMSG_MOVE_ENABLE_FULL_SPEED_PITCHING_ACK,
896899
CMSG_MOVE_ENABLE_FULL_SPEED_TURNING_ACK,
897900
CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK,
898901
CMSG_MOVE_FALL_LAND,
@@ -941,6 +944,7 @@ public enum Opcode
941944
CMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_UP_ACK,
942945
CMSG_MOVE_SET_ADV_FLYING_SURFACE_FRICTION_ACK,
943946
CMSG_MOVE_SET_ADV_FLYING_TURN_VELOCITY_THRESHOLD_ACK,
947+
CMSG_MOVE_SET_ALWAYS_ALLOW_PITCHING_ACK,
944948
CMSG_MOVE_SET_CANNOT_SWIM_ACK,
945949
CMSG_MOVE_SET_CAN_ADV_FLY_ACK,
946950
CMSG_MOVE_SET_CAN_DRIVE_ACK,
@@ -1266,6 +1270,7 @@ public enum Opcode
12661270
CMSG_SCENE_PLAYBACK_COMPLETE,
12671271
CMSG_SCENE_TRIGGER_EVENT,
12681272
CMSG_SEAMLESS_TRANSFER_COMPLETE,
1273+
CMSG_SELECT_DELVE_ENTRANCE_TIER,
12691274
CMSG_SELECT_WOW_LABS_AREA,
12701275
CMSG_SELF_RES,
12711276
CMSG_SELL_ALL_JUNK_ITEMS,
@@ -1387,6 +1392,8 @@ public enum Opcode
13871392
CMSG_SORT_REAGENT_BANK_BAGS,
13881393
CMSG_SPAWN_TRACKING_UPDATE,
13891394
CMSG_SPECTATE_CHANGE,
1395+
CMSG_SPECTATE_END,
1396+
CMSG_SPECTATE_SET_NEXT_TARGET,
13901397
CMSG_SPELL_CLICK,
13911398
CMSG_SPELL_EMPOWER_RELEASE,
13921399
CMSG_SPELL_EMPOWER_RESTART,
@@ -1441,6 +1448,7 @@ public enum Opcode
14411448
CMSG_TELEPORT_TO_GUID,
14421449
CMSG_TELEPORT_TO_UNIT,
14431450
CMSG_TEST_DROP_RATE,
1451+
CMSG_TIERED_ENTRANCE_OPEN,
14441452
CMSG_TIME_ADJUSTMENT_RESPONSE,
14451453
CMSG_TIME_SYNC_RESPONSE,
14461454
CMSG_TIME_SYNC_RESPONSE_DROPPED,
@@ -2582,6 +2590,7 @@ public enum Opcode
25822590
SMSG_HOUSING_SVCS_HOUSE_FINDER_FORCE_REFRESH,
25832591
SMSG_HOUSING_SVCS_NEIGHBORHOOD_OWNERSHIP_TRANSFERRED_RESPONSE,
25842592
SMSG_HOUSING_SVCS_NEIGHBORHOOD_RESERVE_PLOT_RESPONSE,
2593+
SMSG_HOUSING_SVCS_NEIGHBORHOOD_UPDATE_NAME_NOTIFICATION,
25852594
SMSG_HOUSING_SVCS_NOTIFY_PERMISSIONS_FAILURE,
25862595
SMSG_HOUSING_SVCS_PLAYER_VIEW_HOUSES_RESPONSE,
25872596
SMSG_HOUSING_SVCS_REJECT_NEIGHBORHOOD_OWNERSHIP_RESPONSE,
@@ -2806,15 +2815,21 @@ public enum Opcode
28062815
SMSG_MOVE_CHARACTER_CHEAT_SUCCESS,
28072816
SMSG_MOVE_DISABLE_COLLISION,
28082817
SMSG_MOVE_DISABLE_DOUBLE_JUMP,
2818+
SMSG_MOVE_DISABLE_FULL_SPEED_PITCHING,
28092819
SMSG_MOVE_DISABLE_FULL_SPEED_TURNING,
28102820
SMSG_MOVE_DISABLE_GRAVITY,
28112821
SMSG_MOVE_DISABLE_INERTIA,
2822+
SMSG_MOVE_DISABLE_JUMPING,
2823+
SMSG_MOVE_DISABLE_STRAFING,
28122824
SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY,
28132825
SMSG_MOVE_ENABLE_COLLISION,
28142826
SMSG_MOVE_ENABLE_DOUBLE_JUMP,
2827+
SMSG_MOVE_ENABLE_FULL_SPEED_PITCHING,
28152828
SMSG_MOVE_ENABLE_FULL_SPEED_TURNING,
28162829
SMSG_MOVE_ENABLE_GRAVITY,
28172830
SMSG_MOVE_ENABLE_INERTIA,
2831+
SMSG_MOVE_ENABLE_JUMPING,
2832+
SMSG_MOVE_ENABLE_STRAFING,
28182833
SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY,
28192834
SMSG_MOVE_INITIAL_OBJECT_UPDATE_COMPLETE,
28202835
SMSG_MOVE_KNOCK_BACK,
@@ -2837,6 +2852,7 @@ public enum Opcode
28372852
SMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_UP,
28382853
SMSG_MOVE_SET_ADV_FLYING_SURFACE_FRICTION,
28392854
SMSG_MOVE_SET_ADV_FLYING_TURN_VELOCITY_THRESHOLD,
2855+
SMSG_MOVE_SET_ALWAYS_ALLOW_PITCHING,
28402856
SMSG_MOVE_SET_ANIM_KIT,
28412857
SMSG_MOVE_SET_CANNOT_SWIM,
28422858
SMSG_MOVE_SET_CAN_ADV_FLY,
@@ -2898,6 +2914,7 @@ public enum Opcode
28982914
SMSG_MOVE_SPLINE_UNSET_HOVER,
28992915
SMSG_MOVE_TELEPORT,
29002916
SMSG_MOVE_UNROOT,
2917+
SMSG_MOVE_UNSET_ALWAYS_ALLOW_PITCHING,
29012918
SMSG_MOVE_UNSET_CANNOT_SWIM,
29022919
SMSG_MOVE_UNSET_CAN_ADV_FLY,
29032920
SMSG_MOVE_UNSET_CAN_DRIVE,
@@ -3377,7 +3394,9 @@ public enum Opcode
33773394
SMSG_SOR_START_EXPERIENCE_INCOMPLETE,
33783395
SMSG_SPECIAL_MOUNT_ANIM,
33793396
SMSG_SPECTATE_END,
3397+
SMSG_SPECTATE_NEXT,
33803398
SMSG_SPECTATE_PLAYER,
3399+
SMSG_SPECTATE_RESET,
33813400
SMSG_SPEC_INVOLUNTARILY_CHANGED,
33823401
SMSG_SPELL_ABSORB_LOG,
33833402
SMSG_SPELL_BREAK_LOG,
@@ -3451,6 +3470,7 @@ public enum Opcode
34513470
SMSG_THREAT_CLEAR,
34523471
SMSG_THREAT_REMOVE,
34533472
SMSG_THREAT_UPDATE,
3473+
SMSG_TIERED_ENTRANCE_OPEN_RESPONSE,
34543474
SMSG_TIMERUNNING_SEASON_ENDED,
34553475
SMSG_TIME_ADJUSTMENT,
34563476
SMSG_TIME_SYNC_REQUEST,

WowPacketParser/Enums/Version/V12_0_5_66741/Opcodes.cs

Lines changed: 2399 additions & 0 deletions
Large diffs are not rendered by default.

WowPacketParserModule.V10_0_0_46181/Parsers/QueryHandler.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-

2-
using WowPacketParser.Enums;
1+
using WowPacketParser.Enums;
32
using WowPacketParser.Misc;
43
using WowPacketParser.Parsing;
5-
using WowPacketParser.Proto;
64
using WowPacketParser.Store;
75
using WowPacketParser.Store.Objects;
8-
using CoreParsers = WowPacketParser.Parsing.Parsers;
96

107
namespace WowPacketParserModule.V10_0_0_46181.Parsers
118
{
@@ -152,7 +149,13 @@ public static void HandleQuestQueryResponse(Packet packet)
152149
quest.TimeAllowed = packet.ReadInt32("TimeAllowed");
153150

154151
var objectiveCount = packet.ReadUInt32("ObjectiveCount");
155-
quest.AllowableRacesWod = packet.ReadUInt64("AllowableRaces");
152+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V12_0_5_66741))
153+
{
154+
quest.AllowableRacesWod = packet.ReadUInt32("RaceMask", 0);
155+
quest.AllowableRacesWod |= (ulong)packet.ReadUInt32("RaceMask", 1) << 32;
156+
}
157+
else
158+
quest.AllowableRacesWod = packet.ReadUInt64("AllowableRaces");
156159
var treasurePickerCount = 0u;
157160
var nonDisplayableTreasurePickerCount = 0u;
158161
if (ClientVersion.RemovedInVersion(ClientType.TheWarWithin))

WowPacketParserModule.V10_0_0_46181/Parsers/SpellHandler.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ public static void ReadLearnedSpellInfo(Packet packet, params object[] indexes)
1010
{
1111
packet.ReadInt32<SpellId>("SpellID", indexes);
1212
packet.ReadBit("IsFavorite", indexes);
13-
var hasField8 = packet.ReadBit();
13+
var hasEquipableSpellInvSlot = packet.ReadBit();
1414
var hasSuperceded = packet.ReadBit();
1515
var hasTraitDefinition = packet.ReadBit();
1616
packet.ResetBitReader();
1717

18-
if (hasField8)
19-
packet.ReadInt32("field_8", indexes);
18+
if (hasEquipableSpellInvSlot)
19+
packet.ReadInt32("EquipableSpellInvSlot", indexes);
2020

2121
if (hasSuperceded)
2222
packet.ReadInt32<SpellId>("Superceded", indexes);
@@ -31,6 +31,8 @@ public static void HandleLearnedSpells(Packet packet)
3131
var spellCount = packet.ReadUInt32();
3232
packet.ReadUInt32("SpecializationID");
3333
packet.ReadBit("SuppressMessaging");
34+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V11_2_0_62213))
35+
packet.ReadBit("TraitGrantedByAura");
3436
packet.ResetBitReader();
3537

3638
for (var i = 0; i < spellCount; ++i)

WowPacketParserModule.V11_0_0_55666/Parsers/CharacterHandler.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ public static void ReadVisualItemInfo1200(Packet packet, params object[] idx)
3030
packet.ReadUInt32("DisplayID", idx);
3131
packet.ReadUInt32("DisplayEnchantID", idx);
3232
packet.ReadInt32("SecondaryItemModifiedAppearanceID", idx);
33+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V12_0_5_66741))
34+
packet.ReadByte("SheatheCategory", idx);
3335
}
3436

3537
public static void ReadBasicCharacterListEntry(Packet packet, params object[] idx)

WowPacketParserModule.V12_0_0_65390/Parsers/CalendarHandler.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,32 @@ public static void HandleCalendarSendCalendar(Packet packet)
6060
for (var i = 0u; i < eventsCount; ++i)
6161
V8_0_1_27101.Parsers.CalendarHandler.ReadCalendarSendCalendarEventInfo(packet, "Events", i);
6262
}
63+
64+
public static void ReadCalendarEventInfo(Packet packet, params object[] index)
65+
{
66+
packet.ReadUInt64("ClubID", index);
67+
packet.ReadByteE<CalendarEventType>("EventType", index);
68+
packet.ReadInt32("TextureID", index);
69+
packet.ReadPackedTime("Time", index);
70+
packet.ReadUInt16E<CalendarFlag>("Flags", index);
71+
var inviteInfoCount = packet.ReadUInt32();
72+
73+
packet.ResetBitReader();
74+
var titleLen = packet.ReadBits(8);
75+
var descriptionLen = packet.ReadBits(11);
76+
77+
for (var i = 0u; i < inviteInfoCount; ++i)
78+
V6_0_2_19033.Parsers.CalendarHandler.ReadCalendarAddEventInviteInfo(packet, index, i);
79+
80+
packet.ReadWoWString("Title", titleLen, index);
81+
packet.ReadWoWString("Description", descriptionLen, index);
82+
}
83+
84+
[Parser(Opcode.CMSG_CALENDAR_ADD_EVENT, ClientVersionBuild.V12_0_5_66741)]
85+
public static void HandleUserClientCalendarAddEvent(Packet packet)
86+
{
87+
ReadCalendarEventInfo(packet);
88+
packet.ReadUInt32("MaxSize");
89+
}
6390
}
6491
}

WowPacketParserModule.V12_0_0_65390/Parsers/TransmogrificationHandler.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ public static void ReadTransmogOutfitSlotData(Packet packet, params object[] ind
2828
{
2929
packet.ReadSByte("Slot", indexes);
3030
packet.ReadByte("SlotOption", indexes);
31+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V12_0_5_66741))
32+
packet.ReadByte("SheatheCategory", indexes);
3133
packet.ReadUInt32("ItemModifiedAppearanceID", indexes);
3234
packet.ReadByte("AppearanceDisplayType", indexes);
3335
packet.ReadUInt32("SpellItemEnchantmentID", indexes);

0 commit comments

Comments
 (0)