@@ -505,6 +505,103 @@ def __call__(self, data, replay):
505505 )
506506
507507
508+ class InitDataReader_23925 (InitDataReader_22612 ):
509+
510+ def __call__ (self , data , replay ):
511+ data = BitPackedDecoder (data )
512+ return dict (
513+ player_init_data = [dict (
514+ name = data .read_aligned_bytes (data .read_uint8 ()),
515+ clan_tag = None ,
516+ highest_league = None ,
517+ combined_race_levels = None ,
518+ random_seed = data .read_uint32 (),
519+ race_preference = data .read_uint8 () if data .read_bool () else None ,
520+ team_preference = data .read_uint8 () if data .read_bool () else None ,
521+ test_map = data .read_bool (),
522+ test_auto = data .read_bool (),
523+ examine = data .read_bool (),
524+ custom_interface = None ,
525+ observe = data .read_bits (2 ),
526+ ) for i in range (data .read_bits (5 ))],
527+
528+ game_description = dict (
529+ random_value = data .read_uint32 (),
530+ game_cache_name = data .read_aligned_bytes (data .read_bits (10 )),
531+ game_options = dict (
532+ lock_teams = data .read_bool (),
533+ teams_together = data .read_bool (),
534+ advanced_shared_control = data .read_bool (),
535+ random_races = data .read_bool (),
536+ battle_net = data .read_bool (),
537+ amm = data .read_bool (),
538+ competitive = data .read_bool (),
539+ no_victory_or_defeat = data .read_bool (),
540+ fog = data .read_bits (2 ),
541+ observers = data .read_bits (2 ),
542+ user_difficulty = data .read_bits (2 ),
543+ client_debug_flags = data .read_uint64 (),
544+ ),
545+ game_speed = data .read_bits (3 ),
546+ game_type = data .read_bits (3 ),
547+ max_users = data .read_bits (5 ),
548+ max_observers = data .read_bits (5 ),
549+ max_players = data .read_bits (5 ),
550+ max_teams = data .read_bits (4 )+ 1 ,
551+ max_colors = data .read_bits (6 ),
552+ max_races = data .read_uint8 ()+ 1 ,
553+ max_controls = data .read_uint8 ()+ 1 ,
554+ map_size_x = data .read_uint8 (),
555+ map_size_y = data .read_uint8 (),
556+ map_file_sync_checksum = data .read_uint32 (),
557+ map_file_name = data .read_aligned_bytes (data .read_bits (11 )),
558+ map_author_name = data .read_aligned_bytes (data .read_uint8 ()),
559+ mod_file_sync_checksum = data .read_uint32 (),
560+ slot_descriptions = [dict (
561+ allowed_colors = data .read_bits (data .read_bits (6 )),
562+ allowed_races = data .read_bits (data .read_uint8 ()),
563+ allowedDifficulty = data .read_bits (data .read_bits (6 )),
564+ allowedControls = data .read_bits (data .read_uint8 ()),
565+ allowed_observe_types = data .read_bits (data .read_bits (2 )),
566+ allowed_ai_builds = data .read_bits (data .read_bits (7 )),
567+ ) for i in range (data .read_bits (5 ))],
568+ default_difficulty = data .read_bits (6 ),
569+ default_AI_build = data .read_bits (7 ),
570+ cache_handles = [DepotFile (data .read_aligned_bytes (40 )) for i in range (data .read_bits (6 ))],
571+ is_blizzardMap = data .read_bool (),
572+ is_premade_ffa = data .read_bool (),
573+ is_coop_mode = data .read_bool (),
574+ ),
575+
576+ lobby_state = dict (
577+ phase = data .read_bits (3 ),
578+ max_users = data .read_bits (5 ),
579+ max_observers = data .read_bits (5 ),
580+ slots = [dict (
581+ control = data .read_uint8 (),
582+ user_id = data .read_bits (4 ) if data .read_bool () else None ,
583+ team_id = data .read_bits (4 ),
584+ colorPref = data .read_bits (5 ) if data .read_bool () else None ,
585+ race_pref = data .read_uint8 () if data .read_bool () else None ,
586+ difficulty = data .read_bits (6 ),
587+ ai_build = data .read_bits (7 ),
588+ handicap = data .read_bits (7 ),
589+ observe = data .read_bits (2 ),
590+ working_set_slot_id = None ,
591+ rewards = [data .read_uint32 () for i in range (data .read_bits (5 ))],
592+ toon_handle = data .read_aligned_bytes (data .read_bits (7 )),
593+ licenses = [data .read_uint32 () for i in range (data .read_bits (9 ))],
594+ ) for i in range (data .read_bits (5 ))],
595+ random_seed = data .read_uint32 (),
596+ host_user_id = data .read_bits (4 ) if data .read_bool () else None ,
597+ is_single_player = data .read_bool (),
598+ game_duration = data .read_uint32 (),
599+ default_difficulty = data .read_bits (6 ),
600+ default_ai_build = data .read_bits (7 ),
601+ ),
602+ )
603+
604+
508605class InitDataReader_24764 (InitDataReader_22612 ):
509606
510607 def __call__ (self , data , replay ):
0 commit comments