158 if wrongParameter then |
158 if wrongParameter then |
159 WriteLn(stderr, 'ERROR: '+ParamStr(paramIndex-1)+' expects a string, you passed "'+str+'"'); |
159 WriteLn(stderr, 'ERROR: '+ParamStr(paramIndex-1)+' expects a string, you passed "'+str+'"'); |
160 getStringParameter:= str; |
160 getStringParameter:= str; |
161 end; |
161 end; |
162 |
162 |
163 procedure parseClassicParameter(cmdArray: array of String; size:LongInt; var paramIndex:LongInt); forward; |
163 procedure parseClassicParameter(cmdarray: array of String; size:LongInt; var paramIndex:LongInt); forward; |
164 |
164 |
165 function parseParameter(cmd:String; arg:String; var paramIndex:LongInt): Boolean; |
165 function parseParameter(cmd:String; arg:String; var paramIndex:LongInt): Boolean; |
166 const videoArray: Array [1..5] of String = ('--fullscreen-width','--fullscreen-height', '--width', '--height', '--depth'); |
166 const videoarray: array [0..4] of String = ('--fullscreen-width','--fullscreen-height', '--width', '--height', '--depth'); |
167 audioArray: Array [1..3] of String = ('--volume','--nomusic','--nosound'); |
167 audioarray: array [0..2] of String = ('--volume','--nomusic','--nosound'); |
168 otherArray: Array [1..3] of String = ('--locale','--fullscreen','--showfps'); |
168 otherarray: array [0..2] of String = ('--locale','--fullscreen','--showfps'); |
169 mediaArray: Array [1..10] of String = ('--fullscreen-width', '--fullscreen-height', '--width', '--height', '--depth', '--volume','--nomusic','--nosound','--locale','--fullscreen'); |
169 mediaarray: array [0..9] of String = ('--fullscreen-width', '--fullscreen-height', '--width', '--height', '--depth', '--volume','--nomusic','--nosound','--locale','--fullscreen'); |
170 allArray: Array [1..14] of String = ('--fullscreen-width','--fullscreen-height', '--width', '--height', '--depth','--volume','--nomusic','--nosound','--locale','--fullscreen','--showfps','--altdmg','--frame-interval','--low-quality'); |
170 allarray: array [0..13] of String = ('--fullscreen-width','--fullscreen-height', '--width', '--height', '--depth','--volume','--nomusic','--nosound','--locale','--fullscreen','--showfps','--altdmg','--frame-interval','--low-quality'); |
171 reallyAll: array[0..30] of shortstring = ( |
171 reallyAll: array[0..30] of shortstring = ( |
172 '--prefix', '--user-prefix', '--locale', '--fullscreen-width', '--fullscreen-height', '--width', |
172 '--prefix', '--user-prefix', '--locale', '--fullscreen-width', '--fullscreen-height', '--width', |
173 '--height', '--frame-interval', '--volume','--nomusic', '--nosound', |
173 '--height', '--frame-interval', '--volume','--nomusic', '--nosound', |
174 '--fullscreen', '--showfps', '--altdmg', '--low-quality', '--raw-quality', '--stereo', '--nick', |
174 '--fullscreen', '--showfps', '--altdmg', '--low-quality', '--raw-quality', '--stereo', '--nick', |
175 {deprecated} '--depth', '--set-video', '--set-audio', '--set-other', '--set-multimedia', '--set-everything', |
175 {deprecated} '--depth', '--set-video', '--set-audio', '--set-other', '--set-multimedia', '--set-everything', |
203 {--raw-quality} 15 : cReducedQuality := getLongIntParameter(arg, paramIndex, parseParameter); |
203 {--raw-quality} 15 : cReducedQuality := getLongIntParameter(arg, paramIndex, parseParameter); |
204 {--stereo} 16 : setStereoMode ( getLongIntParameter(arg, paramIndex, parseParameter) ); |
204 {--stereo} 16 : setStereoMode ( getLongIntParameter(arg, paramIndex, parseParameter) ); |
205 {--nick} 17 : UserNick := parseNick( getStringParameter(arg, paramIndex, parseParameter) ); |
205 {--nick} 17 : UserNick := parseNick( getStringParameter(arg, paramIndex, parseParameter) ); |
206 {deprecated options} |
206 {deprecated options} |
207 {--depth} 18 : setDepth(paramIndex); |
207 {--depth} 18 : setDepth(paramIndex); |
208 {--set-video} 19 : parseClassicParameter(videoArray,5,paramIndex); |
208 {--set-video} 19 : parseClassicParameter(videoarray,5,paramIndex); |
209 {--set-audio} 20 : parseClassicParameter(audioArray,3,paramIndex); |
209 {--set-audio} 20 : parseClassicParameter(audioarray,3,paramIndex); |
210 {--set-other} 21 : parseClassicParameter(otherArray,3,paramIndex); |
210 {--set-other} 21 : parseClassicParameter(otherarray,3,paramIndex); |
211 {--set-multimedia} 22 : parseClassicParameter(mediaArray,10,paramIndex); |
211 {--set-multimedia} 22 : parseClassicParameter(mediaarray,10,paramIndex); |
212 {--set-everything} 23 : parseClassicParameter(allArray,14,paramIndex); |
212 {--set-everything} 23 : parseClassicParameter(allarray,14,paramIndex); |
213 {"internal" options} |
213 {"internal" options} |
214 {--internal} 24 : {$IFDEF HWLIBRARY}isInternal:= true{$ENDIF}; |
214 {--internal} 24 : {$IFDEF HWLIBRARY}isInternal:= true{$ENDIF}; |
215 {--port} 25 : setIpcPort( getLongIntParameter(arg, paramIndex, parseParameter), parseParameter ); |
215 {--port} 25 : setIpcPort( getLongIntParameter(arg, paramIndex, parseParameter), parseParameter ); |
216 {--recorder} 26 : startVideoRecording(paramIndex); |
216 {--recorder} 26 : startVideoRecording(paramIndex); |
217 {--landpreview} 27 : GameType := gmtLandPreview; |
217 {--landpreview} 27 : GameType := gmtLandPreview; |