"score"/Int16ul, Padding(2), "food_collected"/Int32ul, "wood_collected"/Int32ul, "stone_collected"/Int32ul, "gold_collected"/Int32ul, "tribute_sent"/Int16ul, "tribute_received"/Int16ul, "trade_gold"/Int16ul, "relic_gold"/Int16ul ) technology = "technology"/Struct( "score"/Int16ul, Padding(2), TimeSecAdapter("feudal_time"/Int32sl), TimeSecAdapter("castle_time"/Int32sl), TimeSecAdapter("imperial_time"/Int32sl), "explored_percent"/Byte, "research_count"/Byte, "research_percent"/Byte ) society = "society"/Struct( "score"/Int16ul, "total_wonders"/Byte, "total_castles"/Byte, "relics_captured"/Byte, Padding(1), "villager_high"/Int16ul, )
"waypoints"/Int16ul, "x"/Float32l, Array(9, "x_more"/Float32l), "y"/Float32l, Array(9, "y_more"/Float32l), Array(lambda ctx: ctx.selected, "unit_ids"/Int32ul), ) postgame = "achievements"/Struct( Padding(3), "scenario_filename"/String(32, padchar=b'\x00', trimdir='right', encoding='latin1'), "player_num"/Byte, "computer_num"/Byte, Padding(2), Peek("duration_int"/Int32ul), TimeSecAdapter("duration"/Int32ul), "cheats"/Flag, "complete"/Flag, Padding(2), "db_checksum"/Int32ul, "code_checksum"/Int32ul, "version"/Float32l, "map_size"/Byte, "map_id"/Byte, "population"/Int16ul, Peek("victory_type_id"/Byte), VictoryEnum("victory_type"/Byte), Peek("starting_age_id"/Byte), AgeEnum("starting_age"/Byte), Peek("starting_resources_id"/Byte), ResourceLevelEnum("starting_resources"/Byte),
# pylint: disable=invalid-name military = "military" / Struct( "score" / Int16ul, "units_killed" / Int16ul, "hit_points_killed" / Int16ul, "units_lost" / Int16ul, "buildings_razed" / Int16ul, "hit_points_razed" / Int16ul, "buildings_lost" / Int16ul, "units_converted" / Int16ul) economy = "economy" / Struct( "score" / Int16ul, Padding(2), "food_collected" / Int32ul, "wood_collected" / Int32ul, "stone_collected" / Int32ul, "gold_collected" / Int32ul, "tribute_sent" / Int16ul, "tribute_received" / Int16ul, "trade_gold" / Int16ul, "relic_gold" / Int16ul) technology = "technology" / Struct( "score" / Int16ul, Padding(2), Peek("feudal_time_int" / Int32sl), TimeSecAdapter("feudal_time" / Int32sl), Peek("castle_time_int" / Int32sl), TimeSecAdapter("castle_time" / Int32sl), Peek( "imperial_time_int" / Int32sl), TimeSecAdapter("imperial_time" / Int32sl), "explored_percent" / Byte, "research_count" / Byte, "research_percent" / Byte) society = "society" / Struct( "score" / Int16ul, "total_wonders" / Byte, "total_castles" / Byte, "relics_captured" / Byte, Padding(1), "villager_high" / Int16ul, ) achievements = "achievements" / Struct(