anchor.diff: -unit KM_Settings;
  +﻿unit KM_Settings;
   {$I KaM_Remake.inc}
   interface
   uses Classes, SysUtils, Math, KM_Defaults, INIfiles, KM_ResLocales;
  
positive.code: end;
  
  function TMainSettings.LoadFromINI(FileName: string): Boolean;
  var f:TMemIniFile;
  begin
    Result := FileExists(FileName);
  
    f := TMemIniFile.Create(FileName);
  
    fFullScreen         := f.ReadBool   ('GFX', 'FullScreen',       False);
    fVSync              := f.ReadBool   ('GFX', 'VSync',            True);
    fResolution.Width   := f.ReadInteger('GFX', 'ResolutionWidth',  1024);
    fResolution.Height  := f.ReadInteger('GFX', 'ResolutionHeight', 768);
    fResolution.RefRate := f.ReadInteger('GFX', 'RefreshRate',      60);
  
    FreeAndNil(f);
    fNeedsSave := False;
  end;
  
  
  //Don't rewrite the file for each individual change, do it in one batch for simplicity
  procedure TMainSettings.SaveToINI(FileName: string);
  var F: TMemIniFile;
  begin
    F := TMemIniFile.Create(FileName);
  
  
negative.code: 
      fFullScreen: Boolean;
      fResolution: TScreenRes;
      fVSync: Boolean;
  
      function LoadFromINI(FileName: string): Boolean;
  