anchor.diff:      LoadStream.Seek(-4, soFromCurrent); //rewind
       case UnitType of //Create some placeholder unit
         //todo: ut-dependant unit creation without altering fTerrain!
  -      ut_Wolf..ut_Duck:           U:= Inherited Add(TKMUnitAnimal.Load(LoadStream));
  +      ut_Wolf..ut_Duck: inherited Add(TKMUnitAnimal.Load(LoadStream));
       else fLog.AssertToLog(false, 'Uknown unit type in Savegame')
       end;
   
  
positive.code: 
    //Execute the route in series of moves
    TimeDelta:=0.1;
    Distance:= TimeDelta * KMUnit.Speed;
  
    //Check if unit has arrived on tile
    if Equals(KMUnit.fPosition.X,fWalkTo.X,Distance/2) and Equals(KMUnit.fPosition.Y,fWalkTo.Y,Distance/2) then
  
negative.code: var HasTask,HasAct:boolean;
  begin
    SaveStream.Write(fUnitType, 4);
  
    HasTask := fUnitTask <> nil; //Thats our switch to know if unit should write down his task.
    SaveStream.Write(HasTask, 4);
    if HasTask then fUnitTask.Save(SaveStream); //TaskType gets written first in fUnitTask.Save
  
    HasAct := fCurrentAction <> nil;
    SaveStream.Write(HasAct, 4);
  