anchor.diff:    begin
       listActions := TStringList.Create;
       listActions.Add('####Actions' + sLineBreak);
  -    listActions.Add('| Ver<br>sion | Action | Description | Parameters and types |');
  -    listActions.Add('| ------- | ---- | ----------- | -------------------- |');
  +    listActions.Add('| Ver<br>sion | Action | Description | Parameters<br>and types | Returns |');
  +    listActions.Add('| ------- | ---- | ----------- | -------------------- | ------- |');
       ParseText(edtActionsFile.Text, listActions);
       txtParserOutput.Lines.AddStrings(listActions);
   
  
positive.code: }
  function TForm1.ParseParams(aString: string): string;
  var
    i, K, varTypeInt, nextType: Integer;
    isParam: Boolean;
    listTokens, paramList, typeList: TStringList;
    paramHolder: array of TParamHolder;
    lastType: string;
  begin
    Result := '';
  
    listTokens := TStringList.Create;
    paramList := TStringList.Create;
  
negative.code:   end;
  
  const
    VAR_TYPE_NAME: array[0..24] of string = (
      'Byte', 'Shortint', 'Smallint', 'Word', 'Integer', 'Cardinal', 'Single', 'Boolean', 'String',
      'array of const', 'array of Integer',
      'TKMHouseType', 'TKMWareType', 'TKMFieldType', 'TKMUnitType',
      'THouseType', 'TWareType', 'TFieldType', 'TUnitType',
      'TKMObjectiveStatus', 'TKMObjectiveType',
      'TKMHouse', 'TKMUnit', 'TKMUnitGroup', 'TKMHandIndex' // Werewolf types
    );
  
    VAR_TYPE_ALIAS: array[0..24] of string = (
      'Byte', 'Shortint', 'Smallint', 'Word', 'Integer', 'Cardinal', 'Single', 'Boolean', 'String',
      'array of const', 'array of Integer',
      'TKMHouseType', 'TKMWareType', 'TKMFieldType', 'TKMUnitType',
      'THouseType', 'TWareType', 'TFieldType', 'TUnitType',
      'TKMObjectiveStatus', 'TKMObjectiveType',
      'Integer', 'Integer', 'Integer', 'Integer' // Werewolf types
    );
  
  var
  