struct header104 { game_type:byte; //0 - Singleplayer, 2 - Campaing, 3 - Multiplayer, 5 - Demo game_name:array [0..29] of char; //Game name map_id_1:byte; //Map ID, first entry. Some entries are duplicated, can only speculate why. level_num:word; //Campaign number, or something like that //Player names red_name,green_name,blue_name,gray_name:array[0..29]of char; //Player types: 0 - Absent, 1 - Human, 2 - Computer red_type,green_type,blue_type,gray_type,alien_type:byte; unk104:array[0..4]of byte; //Unknown array, only in 1.04 creation_time:dword; //Timestamp cpuiq1:byte; //CPU level, first entry //Times of turn and end of turn, first enries time_of_turn_1,time_of_end_turn_1:word; turn_mode_1:byte; //Turn mode: 0 - 'Turn Based, 1 - Simultaneous map_id_2:dword; //Map id, second entry time_of_turn_2:dword; //Time of turn, second entry time_of_end_turn_2:dword; //Time of end turn, second entry sgold:dword; //Starting gold turn_mode_2:dword; //Turn mode, second entry type_of_end:dword; //End condition: 0 - Turns, 1 - Score amt_to_end:dword; //End condition amount cpuiq2:dword; //CPU level, second entry start_raw:dword; //Starting raw start_fuel:dword; //... fuel start_gold:dword; //... gold start_alien:dword; //... aliens }