@@ -13,6 +13,17 @@ public static void ReadGameRuleValuePair(Packet packet, params object[] indexes)
13
13
{
14
14
packet . ReadInt32 ( "Rule" , indexes ) ;
15
15
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 ) ;
16
27
}
17
28
18
29
[ 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)
76
87
ReadGameRuleValuePair ( packet , "GameRuleValues" ) ;
77
88
}
78
89
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 ) ]
80
91
public static void HandleFeatureSystemStatusGlueScreen343 ( Packet packet )
81
92
{
82
93
packet . ReadBit ( "BpayStoreEnabled" ) ;
@@ -158,6 +169,100 @@ public static void HandleFeatureSystemStatusGlueScreen343(Packet packet)
158
169
}
159
170
}
160
171
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
+
161
266
[ Parser ( Opcode . SMSG_TRIGGER_CINEMATIC ) ]
162
267
[ Parser ( Opcode . SMSG_TRIGGER_MOVIE ) ]
163
268
public static void HandleTriggerSequence ( Packet packet )
0 commit comments