Skip to content

Commit c0b19dc

Browse files
committed
Add 3.4.4 SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN
1 parent 3fad090 commit c0b19dc

File tree

1 file changed

+106
-1
lines changed

1 file changed

+106
-1
lines changed

WowPacketParserModule.V3_4_0_45166/Parsers/MiscellaneousHandler.cs

Lines changed: 106 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,17 @@ public static void ReadGameRuleValuePair(Packet packet, params object[] indexes)
1313
{
1414
packet.ReadInt32("Rule", indexes);
1515
packet.ReadInt32("Value", indexes);
16+
17+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_4_4_59817))
18+
packet.ReadSingle("ValueF", indexes);
19+
}
20+
21+
public static void ReadDebugTimeInfo(Packet packet, params object[] indexes)
22+
{
23+
packet.ReadUInt32("TimeEvent", indexes);
24+
packet.ResetBitReader();
25+
var textLen = packet.ReadBits(7);
26+
packet.ReadWoWString("Text", textLen);
1627
}
1728

1829
[Parser(Opcode.SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN, ClientVersionBuild.V3_4_0_44832, ClientVersionBuild.V3_4_3_51505)]
@@ -76,7 +87,7 @@ public static void HandleFeatureSystemStatusGlueScreen(Packet packet)
7687
ReadGameRuleValuePair(packet, "GameRuleValues");
7788
}
7889

79-
[Parser(Opcode.SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN, ClientVersionBuild.V3_4_3_51505)]
90+
[Parser(Opcode.SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN, ClientVersionBuild.V3_4_3_51505, ClientVersionBuild.V3_4_4_59817)]
8091
public static void HandleFeatureSystemStatusGlueScreen343(Packet packet)
8192
{
8293
packet.ReadBit("BpayStoreEnabled");
@@ -158,6 +169,100 @@ public static void HandleFeatureSystemStatusGlueScreen343(Packet packet)
158169
}
159170
}
160171

172+
[Parser(Opcode.SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN, ClientVersionBuild.V3_4_4_59817)]
173+
public static void HandleFeatureSystemStatusGlueScreen344(Packet packet)
174+
{
175+
packet.ReadBit("BpayStoreEnabled");
176+
packet.ReadBit("BpayStoreAvailable");
177+
packet.ReadBit("BpayStoreDisabledByParentalControls");
178+
packet.ReadBit("CharUndeleteEnabled");
179+
packet.ReadBit("CommerceSystemEnabled");
180+
packet.ReadBit("Unk14");
181+
packet.ReadBit("WillKickFromWorld");
182+
packet.ReadBit("IsExpansionPreorderInStore");
183+
184+
packet.ReadBit("KioskModeEnabled");
185+
packet.ReadBit("IsCompetitiveModeEnabled");
186+
packet.ReadBit("IsBoostEnabled");
187+
packet.ReadBit("TrialBoostEnabled");
188+
packet.ReadBit("TokenBalanceEnabled");
189+
packet.ReadBit("PaidCharacterTransfersBetweenBnetAccountsEnabled");
190+
packet.ReadBit("LiveRegionCharacterListEnabled");
191+
packet.ReadBit("LiveRegionCharacterCopyEnabled");
192+
193+
packet.ReadBit("LiveRegionAccountCopyEnabled");
194+
packet.ReadBit("LiveRegionKeyBindingsCopyEnabled");
195+
packet.ReadBit("Unknown901CheckoutRelated");
196+
packet.ReadBit("SoftTargetEnabled");
197+
var europaTicket = packet.ReadBit("IsEuropaTicketSystemStatusEnabled");
198+
packet.ReadBit("IsNameReservationEnabled");
199+
bool launchETA = packet.ReadBit("IsLaunchETA");
200+
packet.ReadBit("TimerunningEnabled");
201+
202+
packet.ReadBit("Unk");
203+
packet.ReadBit("Unk");
204+
packet.ReadBit("SoMNotificationEnabled");
205+
packet.ReadBit("Unk");
206+
packet.ReadBit("ScriptsDisallowedForBeta");
207+
packet.ReadBit("AccountSaveDataExportEnabled");
208+
packet.ReadBit("AccountLockedByExport");
209+
210+
uint realmHiddenAlertLen = packet.ReadBits(11);
211+
212+
packet.ReadBit("BNSendWhisperUseV2Services");
213+
packet.ReadBit("BNSendGameDataUseV2Services");
214+
packet.ReadBit("CharacterSelectListModeRealmless");
215+
216+
packet.ResetBitReader();
217+
218+
if (europaTicket)
219+
V6_0_2_19033.Parsers.MiscellaneousHandler.ReadCliEuropaTicketConfig(packet, "EuropaTicketSystemStatus");
220+
221+
packet.ReadUInt32("TokenPollTimeSeconds");
222+
packet.ReadUInt32("KioskSessionMinutes");
223+
packet.ReadInt64("TokenBalanceAmount");
224+
packet.ReadInt32("MaxCharactersPerRealm");
225+
var liveRegionCharacterCopySourceRegionsCount = packet.ReadUInt32("LiveRegionCharacterCopySourceRegionsCount");
226+
packet.ReadUInt32("BpayStoreProductDeliveryDelay");
227+
packet.ReadInt32("ActiveCharacterUpgradeBoostType");
228+
packet.ReadInt32("ActiveClassTrialBoostType");
229+
packet.ReadInt32("MinimumExpansionLevel");
230+
packet.ReadInt32("MaximumExpansionLevel");
231+
packet.ReadInt32("ActiveSeason");
232+
var gameRuleValuesCount = packet.ReadUInt32("GameRuleValuesCount");
233+
packet.ReadInt32("ActiveTimerunningSeasonID");
234+
packet.ReadInt32("RemainingTimerunningSeasonSeconds");
235+
packet.ReadInt16("MaxPlayerNameQueriesPerPacket");
236+
packet.ReadInt16("PlayerNameQueryTelemetryInterval");
237+
packet.ReadInt32("PlayerNameQueryInterval");
238+
var debugTimeEventsCount = packet.ReadInt32("DebugTimeEventCount");
239+
packet.ReadInt32("Unused1007");
240+
packet.ReadInt32("EventRealmQueues");
241+
242+
if (launchETA)
243+
packet.ReadPackedTime("LaunchETA");
244+
245+
packet.ReadDynamicString("RealmHiddenAlert", realmHiddenAlertLen);
246+
247+
for (int i = 0; i < liveRegionCharacterCopySourceRegionsCount; i++)
248+
packet.ReadUInt32("LiveRegionCharacterCopySourceRegion", i);
249+
250+
for (var i = 0; i < gameRuleValuesCount; ++i)
251+
ReadGameRuleValuePair(packet, "GameRuleValues");
252+
253+
for (var i = 0; i < debugTimeEventsCount; ++i)
254+
ReadDebugTimeInfo(packet, "DebugTimeEvent", i);
255+
256+
for (int i = 0; i < debugTimeEventsCount; i++)
257+
{
258+
packet.ReadUInt32("TimeEvent", i);
259+
var textlength = packet.ReadBits("TextLength", 7, i);
260+
packet.ResetBitReader();
261+
262+
packet.ReadWoWString("Text", textlength, i);
263+
}
264+
}
265+
161266
[Parser(Opcode.SMSG_TRIGGER_CINEMATIC)]
162267
[Parser(Opcode.SMSG_TRIGGER_MOVIE)]
163268
public static void HandleTriggerSequence(Packet packet)

0 commit comments

Comments
 (0)