hedgewars/ArgParsers.inc
changeset 9249 7b8c82785145
parent 9080 9b42757d7e71
equal deleted inserted replaced
9247:68bbe56badcc 9249:7b8c82785145
    55     WriteLn(stdout, ' --nomusic');
    55     WriteLn(stdout, ' --nomusic');
    56     WriteLn(stdout, ' --nosound');
    56     WriteLn(stdout, ' --nosound');
    57     WriteLn(stdout, ' --fullscreen');
    57     WriteLn(stdout, ' --fullscreen');
    58     WriteLn(stdout, ' --showfps');
    58     WriteLn(stdout, ' --showfps');
    59     WriteLn(stdout, ' --altdmg');
    59     WriteLn(stdout, ' --altdmg');
       
    60     WriteLn(stdout, ' --no-teamtag');
       
    61     WriteLn(stdout, ' --no-hogtag');
       
    62     WriteLn(stdout, ' --no-healthtag');
       
    63     WriteLn(stdout, ' --translucent-tags');
    60     WriteLn(stdout, ' --stats-only');
    64     WriteLn(stdout, ' --stats-only');
    61     WriteLn(stdout, ' --help');
    65     WriteLn(stdout, ' --help');
    62     WriteLn(stdout, '');
    66     WriteLn(stdout, '');
    63     WriteLn(stdout, 'For more detailed help and examples go to:');
    67     WriteLn(stdout, 'For more detailed help and examples go to:');
    64     WriteLn(stdout, 'http://code.google.com/p/hedgewars/wiki/CommandLineOptions');
    68     WriteLn(stdout, 'http://code.google.com/p/hedgewars/wiki/CommandLineOptions');
   166 function parseParameter(cmd:String; arg:String; var paramIndex:LongInt): Boolean;
   170 function parseParameter(cmd:String; arg:String; var paramIndex:LongInt): Boolean;
   167 const videoArray: Array [1..5] of String = ('--fullscreen-width','--fullscreen-height', '--width', '--height', '--depth');
   171 const videoArray: Array [1..5] of String = ('--fullscreen-width','--fullscreen-height', '--width', '--height', '--depth');
   168       audioArray: Array [1..3] of String = ('--volume','--nomusic','--nosound');
   172       audioArray: Array [1..3] of String = ('--volume','--nomusic','--nosound');
   169       otherArray: Array [1..3] of String = ('--locale','--fullscreen','--showfps');
   173       otherArray: Array [1..3] of String = ('--locale','--fullscreen','--showfps');
   170       mediaArray: Array [1..10] of String = ('--fullscreen-width', '--fullscreen-height', '--width', '--height', '--depth', '--volume','--nomusic','--nosound','--locale','--fullscreen');
   174       mediaArray: Array [1..10] of String = ('--fullscreen-width', '--fullscreen-height', '--width', '--height', '--depth', '--volume','--nomusic','--nosound','--locale','--fullscreen');
   171       allArray: Array [1..14] of String = ('--fullscreen-width','--fullscreen-height', '--width', '--height', '--depth','--volume','--nomusic','--nosound','--locale','--fullscreen','--showfps','--altdmg','--frame-interval','--low-quality');
   175       allArray: Array [1..18] of String = ('--fullscreen-width','--fullscreen-height', '--width', '--height', '--depth','--volume','--nomusic','--nosound','--locale','--fullscreen','--showfps','--altdmg','--frame-interval','--low-quality','--no-teamtag','--no-hogtag','--no-healthtag','--translucent-tags');
   172       reallyAll: array[0..30] of shortstring = (
   176       reallyAll: array[0..34] of shortstring = (
   173                 '--prefix', '--user-prefix', '--locale', '--fullscreen-width', '--fullscreen-height', '--width',
   177                 '--prefix', '--user-prefix', '--locale', '--fullscreen-width', '--fullscreen-height', '--width',
   174                 '--height', '--frame-interval', '--volume','--nomusic', '--nosound',
   178                 '--height', '--frame-interval', '--volume','--nomusic', '--nosound',
   175                 '--fullscreen', '--showfps', '--altdmg', '--low-quality', '--raw-quality', '--stereo', '--nick',
   179                 '--fullscreen', '--showfps', '--altdmg', '--low-quality', '--raw-quality', '--stereo', '--nick',
   176   {deprecated}  '--depth', '--set-video', '--set-audio', '--set-other', '--set-multimedia', '--set-everything',
   180   {deprecated}  '--depth', '--set-video', '--set-audio', '--set-other', '--set-multimedia', '--set-everything',
   177   {internal}    '--internal', '--port', '--recorder', '--landpreview',
   181   {internal}    '--internal', '--port', '--recorder', '--landpreview',
   178   {misc}        '--stats-only', '--gci', '--help');
   182   {misc}        '--stats-only', '--gci', '--help','--no-teamtag','--no-hogtag','--no-healthtag','--translucent-tags');
   179 var cmdIndex: byte;
   183 var cmdIndex: byte;
   180 begin
   184 begin
   181     parseParameter:= false;
   185     parseParameter:= false;
   182     cmdIndex:= 0;
   186     cmdIndex:= 0;
   183 
   187 
   218         {--landpreview}         27 : GameType := gmtLandPreview;
   222         {--landpreview}         27 : GameType := gmtLandPreview;
   219         {anything else}
   223         {anything else}
   220         {--stats-only}          28 : statsOnlyGame();
   224         {--stats-only}          28 : statsOnlyGame();
   221         {--gci}                 29 : GciEasterEgg();
   225         {--gci}                 29 : GciEasterEgg();
   222         {--help}                30 : DisplayUsage();
   226         {--help}                30 : DisplayUsage();
       
   227         {--no-teamtag}          31 : cTagsMask := cTagsMask and not htTeamName;
       
   228         {--no-hogtag}           32 : cTagsMask := cTagsMask and not htName;
       
   229         {--no-healthtag}        33 : cTagsMask := cTagsMask and not htHealth;
       
   230         {--translucent-tags}    34 : cTagsMask := cTagsMask or htTransparent 
   223     else
   231     else
   224         begin
   232         begin
   225         //Asusme the first "non parameter" is the replay file, anything else is invalid
   233         //Asusme the first "non parameter" is the replay file, anything else is invalid
   226         if (recordFileName = '') and (Copy(cmd,1,2) <> '--') then
   234         if (recordFileName = '') and (Copy(cmd,1,2) <> '--') then
   227             recordFileName := cmd
   235             recordFileName := cmd
   253         cmd:= cmdArray[index];
   261         cmd:= cmdArray[index];
   254         arg:= ParamStr(paramIndex);
   262         arg:= ParamStr(paramIndex);
   255         isValid:= (cmd<>'--depth');
   263         isValid:= (cmd<>'--depth');
   256 
   264 
   257         // check if the parameter is a boolean one
   265         // check if the parameter is a boolean one
   258         isBool:= (cmd = '--nomusic') or (cmd = '--nosound') or (cmd = '--fullscreen') or (cmd = '--showfps') or (cmd = '--altdmg');
   266         isBool:= (cmd = '--nomusic') or (cmd = '--nosound') or (cmd = '--fullscreen') or (cmd = '--showfps') or (cmd = '--altdmg') or (cmd = '--no-teamtag') or (cmd = '--no-hogtag') or (cmd = '--no-healthtag') or (cmd = '--translucent-tags');
   259         if isBool and (arg='0') then
   267         if isBool and (arg='0') then
   260             isValid:= false;
   268             isValid:= false;
   261         if (cmd='--nomusic') or (cmd='--nosound') then
   269         if (cmd='--nomusic') or (cmd='--nosound') then
   262             isValid:= not isValid;
   270             isValid:= not isValid;
   263 
   271