예제 #1
0
        public static Game_Options read(BinaryReader reader)
        {
            Game_Options result = new Game_Options();

            byte[] data = result.Data.read(reader);

            if (Global.LOADED_VERSION.older_than(0, 6, 10, 0))
            {
                if (Global.LOADED_VERSION.older_than(0, 5, 0, 9))
                {
                    data[(int)Constants.Options.Grid] = (byte)(data[(int)Constants.Options.Grid] == 0 ? 8 : 0);
                }

                // Volume removed in 0.6.10.0
                var volumeRemoved = data
                                    .Take((int)Constants.Options.Auto_Turn_End + 1)
                                    .Concat(data.Skip((int)Constants.Options.Auto_Turn_End + 3))
                                    .ToArray();
                data = volumeRemoved;
            }
            result.Data = data;

            if (result.Data.Length != DATA_COUNT)
            {
                result.reset_options();
                throw new EndOfStreamException("Options Data does not contain the correct amount of entries");
            }
            return(result);
        }
예제 #2
0
 private static Save_File_Data LoadFileV0_4_4_0(BinaryReader reader)
 {
     return(new Save_File_Data
     {
         Options = Game_Options.read(reader),
         File = Save_File.read(reader)
     });
 }
예제 #3
0
        /* ReadSuspend */
        private static void load_v_0_4_7_0(BinaryReader reader)
        {
            // Create a new Game_Temp
            Global.game_temp = new Game_Temp();

            Global.game_battalions = new Game_Battalions();
            Global.game_battalions.read(reader);
            Global.game_actors = new Game_Actors();
            Global.game_actors.read(reader);
            Global.read_game_system(reader);
            Global.game_options = Game_Options.read(reader);

            Global.player = new Player();
            Global.player.read(reader);
            //@Yeti: // Why does this read into the active game state object, instead of generating a new one
            Global.game_state.read(reader);
            Global.game_map = new Game_Map();
            Global.game_map.read(reader);
            Global.read_events(reader);
        }