@@ -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