21 PathPrefix:= ParamStr(11); |
21 PathPrefix:= ParamStr(11); |
22 cShowFPS:= ParamStr(12) = '1'; |
22 cShowFPS:= ParamStr(12) = '1'; |
23 cAltDamage:= ParamStr(13) = '1'; |
23 cAltDamage:= ParamStr(13) = '1'; |
24 UserNick:= DecodeBase64(ParamStr(14)); |
24 UserNick:= DecodeBase64(ParamStr(14)); |
25 val(ParamStr(15), cReducedQuality); |
25 val(ParamStr(15), cReducedQuality); |
26 cLocaleFName:= ParamStr(16); |
26 cLocaleFName:= ParamStr(16) |
27 |
|
28 end; |
27 end; |
29 |
28 |
30 procedure setVideo(screenWidth: LongInt; screenHeight: LongInt; bitsStr: LongInt); |
29 procedure setVideo(screenWidth: LongInt; screenHeight: LongInt; bitsStr: LongInt); |
31 begin |
30 begin |
32 cScreenWidth:= screenWidth; |
31 cScreenWidth:= screenWidth; |
33 cScreenHeight:= screenHeight; |
32 cScreenHeight:= screenHeight; |
34 cBits:= bitsStr; |
33 cBits:= bitsStr |
35 end; |
34 end; |
36 |
35 |
37 procedure setVideoWithParameters(screenWidthParam: string; screenHeightParam: string; bitsParam: string); |
36 procedure setVideoWithParameters(screenWidthParam: string; screenHeightParam: string; bitsParam: string); |
38 var screenWidthAsInt, screenHeightAsInt, bitsStrAsInt: LongInt; |
37 var screenWidthAsInt, screenHeightAsInt, bitsStrAsInt: LongInt; |
39 begin |
38 begin |
40 val(screenWidthParam, screenWidthAsInt); |
39 val(screenWidthParam, screenWidthAsInt); |
41 val(screenHeightParam, screenHeightAsInt); |
40 val(screenHeightParam, screenHeightAsInt); |
42 val(bitsParam, bitsStrAsInt); |
41 val(bitsParam, bitsStrAsInt); |
43 setVideo(screenWidthAsInt,screenHeightAsInt,bitsStrAsInt); |
42 setVideo(screenWidthAsInt,screenHeightAsInt,bitsStrAsInt) |
44 end; |
43 end; |
45 |
44 |
46 procedure setOtherOptions(languageFile: string; fullScreen: boolean); |
45 procedure setOtherOptions(languageFile: string; fullScreen: boolean); |
47 begin |
46 begin |
48 cLocaleFName:= languageFile; |
47 cLocaleFName:= languageFile; |
49 cFullScreen:= fullScreen; |
48 cFullScreen:= fullScreen |
50 end; |
49 end; |
51 |
50 |
52 procedure setShowFPS(showFPS: boolean); |
51 procedure setShowFPS(showFPS: boolean); |
53 begin |
52 begin |
54 cShowFPS:= showFPS; |
53 cShowFPS:= showFPS |
55 end; |
54 end; |
56 |
55 |
57 procedure setOtherOptionsWithParameters(languageFileParam: string; fullScreenParam: string; showFPSParam: string); |
56 procedure setOtherOptionsWithParameters(languageFileParam: string; fullScreenParam: string; showFPSParam: string); |
58 var fullScreen, showFPS: boolean; |
57 var fullScreen, showFPS: boolean; |
59 begin |
58 begin |
60 fullScreen:= fullScreenParam = '1'; |
59 fullScreen:= fullScreenParam = '1'; |
61 showFPS:= showFPSParam = '1'; |
60 showFPS:= showFPSParam = '1'; |
62 setOtherOptions(languageFileParam,fullScreen); |
61 setOtherOptions(languageFileParam,fullScreen); |
63 setShowFPS(showFPS); |
62 setShowFPS(showFPS) |
64 end; |
63 end; |
65 |
64 |
66 procedure setAudio(initialVolume: LongInt; musicEnabled: boolean; soundEnabled: boolean); |
65 procedure setAudio(initialVolume: LongInt; musicEnabled: boolean; soundEnabled: boolean); |
67 begin |
66 begin |
68 cInitVolume:= initialVolume; |
67 cInitVolume:= initialVolume; |
69 isMusicEnabled:= musicEnabled; |
68 isMusicEnabled:= musicEnabled; |
70 isSoundEnabled:= soundEnabled; |
69 isSoundEnabled:= soundEnabled |
71 end; |
70 end; |
72 |
71 |
73 procedure setAudioWithParameters(initialVolumeParam: string; musicEnabledParam: string; soundEnabledParam: string); |
72 procedure setAudioWithParameters(initialVolumeParam: string; musicEnabledParam: string; soundEnabledParam: string); |
74 var initialVolumeAsInt: LongInt; |
73 var initialVolumeAsInt: LongInt; |
75 musicEnabled, soundEnabled: boolean; |
74 musicEnabled, soundEnabled: boolean; |
76 begin |
75 begin |
77 val(initialVolumeParam, initialVolumeAsInt); |
76 val(initialVolumeParam, initialVolumeAsInt); |
78 musicEnabled:= musicEnabledParam = '1'; |
77 musicEnabled:= musicEnabledParam = '1'; |
79 soundEnabled:= soundEnabledParam = '1'; |
78 soundEnabled:= soundEnabledParam = '1'; |
80 setAudio(initialVolumeAsInt,musicEnabled, soundEnabled); |
79 setAudio(initialVolumeAsInt,musicEnabled, soundEnabled) |
81 end; |
80 end; |
82 |
81 |
83 procedure setMultimediaOptionsWithParameters(screenWidthParam, screenHeightParam, bitsParam: string; |
82 procedure setMultimediaOptionsWithParameters(screenWidthParam, screenHeightParam, bitsParam: string; |
84 initialVolumeParam, musicEnabledParam, soundEnabledParam: string; |
83 initialVolumeParam, musicEnabledParam, soundEnabledParam: string; |
85 languageFileParam, fullScreenParam: string); |
84 languageFileParam, fullScreenParam: string); |
86 begin |
85 begin |
87 setVideoWithParameters(screenWidthParam,screenHeightParam, bitsParam); |
86 setVideoWithParameters(screenWidthParam,screenHeightParam, bitsParam); |
88 setAudioWithParameters(initialVolumeParam,musicEnabledParam,soundEnabledParam); |
87 setAudioWithParameters(initialVolumeParam,musicEnabledParam,soundEnabledParam); |
89 setOtherOptions(languageFileParam,fullScreenParam = '1'); |
88 setOtherOptions(languageFileParam,fullScreenParam = '1') |
90 end; |
89 end; |
91 |
90 |
92 procedure setAltDamageTimerValueAndQuality(altDamage: boolean; timeIterval: LongInt; reducedQuality: boolean); |
91 procedure setAltDamageTimerValueAndQuality(altDamage: boolean; timeIterval: LongInt; reducedQuality: boolean); |
93 begin |
92 begin |
94 cAltDamage:= altDamage; |
93 cAltDamage:= altDamage; |
97 cReducedQuality:= $FFFFFFFF xor rqLowRes |
96 cReducedQuality:= $FFFFFFFF xor rqLowRes |
98 end; |
97 end; |
99 |
98 |
100 procedure setAllOptionsWithParameters(screenWidthParam:string; screenHeightParam:string; bitsParam:string; |
99 procedure setAllOptionsWithParameters(screenWidthParam:string; screenHeightParam:string; bitsParam:string; |
101 initialVolumeParam:string; musicEnabledParam:string; soundEnabledParam:string; |
100 initialVolumeParam:string; musicEnabledParam:string; soundEnabledParam:string; |
102 languageFileParam:string; fullScreenParam:string; showFPSParam:string; |
101 languageFileParam:string; fullScreenParam:string; showFPSParam:string; |
103 altDamageParam:string; timeItervalParam:string; reducedQualityParam: string); |
102 altDamageParam:string; timeItervalParam:string; reducedQualityParam: string); |
104 var showFPS, altDamage, reducedQuality: boolean; |
103 var showFPS, altDamage, reducedQuality: boolean; |
105 timeIterval: LongInt; |
104 timeIterval: LongInt; |
106 begin |
105 begin |
107 setMultimediaOptionsWithParameters(screenWidthParam,screenHeightParam, bitsParam, |
106 setMultimediaOptionsWithParameters(screenWidthParam,screenHeightParam, bitsParam, |
108 initialVolumeParam,musicEnabledParam,soundEnabledParam, |
107 initialVolumeParam,musicEnabledParam,soundEnabledParam, |
109 languageFileParam,fullScreenParam); |
108 languageFileParam,fullScreenParam); |
110 showFPS := showFPSParam = '1'; |
109 showFPS := showFPSParam = '1'; |
111 setShowFPS(showFPS); |
110 setShowFPS(showFPS); |
112 |
111 |
113 altDamage:= altDamageParam = '1'; |
112 altDamage:= altDamageParam = '1'; |
114 val(timeItervalParam, timeIterval); |
113 val(timeItervalParam, timeIterval); |
115 reducedQuality:= reducedQualityParam = '1'; |
114 reducedQuality:= reducedQualityParam = '1'; |
116 setAltDamageTimerValueAndQuality(altDamage,timeIterval,reducedQuality); |
115 setAltDamageTimerValueAndQuality(altDamage,timeIterval,reducedQuality); |
117 end; |
116 end; |
118 |
117 |
119 procedure playReplayFileWithParameters(); |
118 procedure playReplayFileWithParameters(); |
120 var paramIndex: LongInt; |
119 var paramIndex: LongInt; |
121 wrongParameter: boolean; |
120 wrongParameter: boolean; |
123 PathPrefix:= ParamStr(1); |
122 PathPrefix:= ParamStr(1); |
124 recordFileName:= ParamStr(2); |
123 recordFileName:= ParamStr(2); |
125 paramIndex:= 3; |
124 paramIndex:= 3; |
126 wrongParameter:= false; |
125 wrongParameter:= false; |
127 while (paramIndex <= ParamCount) and not wrongParameter do |
126 while (paramIndex <= ParamCount) and not wrongParameter do |
128 begin |
|
129 //--set-video [screen width] [screen height] [color dept] |
|
130 if(ParamStr(paramIndex) = '--set-video') then |
|
131 begin |
127 begin |
132 if(ParamCount-paramIndex < 3) then |
128 if ParamStr(paramIndex) = '--set-video' then |
133 begin |
129 //--set-video [screen width] [screen height] [color dept] |
134 wrongParameter:= true; |
130 begin |
135 GameType:= gmtSyntax; |
|
136 end; |
|
137 setVideoWithParameters(ParamStr(paramIndex+1), ParamStr(paramIndex+2), ParamStr(paramIndex+3)); |
|
138 paramIndex:= paramIndex + 4; |
|
139 end |
|
140 else |
|
141 //--set-audio [volume] [enable music] [enable sounds] |
|
142 if(ParamStr(paramIndex) = '--set-audio') then |
|
143 begin |
|
144 if(ParamCount-paramIndex < 3) then |
|
145 begin |
|
146 wrongParameter := true; |
|
147 GameType:= gmtSyntax; |
|
148 end; |
|
149 setAudioWithParameters(ParamStr(paramIndex+1),ParamStr(paramIndex+2), ParamStr(paramIndex+3)); |
|
150 paramIndex:= paramIndex + 4; |
|
151 end |
|
152 else |
|
153 // --set-other [language file] [full screen] [show FPS] |
|
154 if(ParamStr(paramIndex) = '--set-other') then |
|
155 begin |
|
156 if(ParamCount-paramIndex < 3) then |
131 if(ParamCount-paramIndex < 3) then |
157 begin |
132 begin |
158 wrongParameter:= true; |
133 wrongParameter:= true; |
159 GameType:= gmtSyntax; |
134 GameType:= gmtSyntax |
160 end; |
135 end; |
161 setOtherOptionsWithParameters(ParamStr(paramIndex+1),ParamStr(paramIndex+2), ParamStr(paramIndex+3)); |
136 setVideoWithParameters(ParamStr(paramIndex+1), ParamStr(paramIndex+2), ParamStr(paramIndex+3)); |
162 paramIndex:= paramIndex + 4; |
137 paramIndex:= paramIndex + 4 |
163 end |
138 end |
164 else |
|
165 //--set-multimedia [screen width] [screen height] [color dept] [volume] [enable music] [enable sounds] [language file] [full screen] |
|
166 if(ParamStr(paramIndex) = '--set-multimedia') then |
|
167 begin |
|
168 if(ParamCount-paramIndex < 8) then |
|
169 begin |
|
170 wrongParameter:= true; |
|
171 GameType:= gmtSyntax; |
|
172 end; |
|
173 setMultimediaOptionsWithParameters(ParamStr(paramIndex+1),ParamStr(paramIndex+2),ParamStr(paramIndex+3), |
|
174 ParamStr(paramIndex+4),ParamStr(paramIndex+5),ParamStr(paramIndex+6), |
|
175 ParamStr(paramIndex+7),ParamStr(paramIndex+8)); |
|
176 paramIndex:= paramIndex + 9; |
|
177 end |
|
178 else |
139 else |
179 //--set-everything [screen width] [screen height] [color dept] [volume] [enable music] [enable sounds] [language file] [full screen] [show FPS] [alternate damage] [timer value] [reduced quality] |
140 //--set-audio [volume] [enable music] [enable sounds] |
180 if(ParamStr(paramIndex) = '--set-everything') then |
141 if ParamStr(paramIndex) = '--set-audio' then |
181 begin |
142 begin |
182 if(ParamCount-paramIndex < 12) then |
143 if(ParamCount-paramIndex < 3) then |
183 begin |
144 begin |
184 wrongParameter:= true; |
145 wrongParameter := true; |
185 GameType:= gmtSyntax; |
146 GameType:= gmtSyntax |
186 end; |
147 end; |
187 setAllOptionsWithParameters(ParamStr(paramIndex+1),ParamStr(paramIndex+2),ParamStr(paramIndex+3), |
148 setAudioWithParameters(ParamStr(paramIndex+1),ParamStr(paramIndex+2), ParamStr(paramIndex+3)); |
188 ParamStr(paramIndex+4),ParamStr(paramIndex+5),ParamStr(paramIndex+6), |
149 paramIndex:= paramIndex + 4 |
189 ParamStr(paramIndex+7),ParamStr(paramIndex+8),ParamStr(paramIndex+9), |
150 end |
190 ParamStr(paramIndex+10),ParamStr(paramIndex+11),ParamStr(paramIndex+12)); |
151 else |
191 paramIndex:= paramIndex + 13; |
152 // --set-other [language file] [full screen] [show FPS] |
192 end |
153 if ParamStr(paramIndex) = '--set-other' then |
193 else |
154 begin |
194 begin |
155 if(ParamCount-paramIndex < 3) then |
195 wrongParameter:= true; |
156 begin |
196 GameType:= gmtSyntax; |
157 wrongParameter:= true; |
197 end; |
158 GameType:= gmtSyntax |
198 end; |
159 end; |
|
160 setOtherOptionsWithParameters(ParamStr(paramIndex+1),ParamStr(paramIndex+2), ParamStr(paramIndex+3)); |
|
161 paramIndex:= paramIndex + 4 |
|
162 end |
|
163 else |
|
164 //--set-multimedia [screen width] [screen height] [color dept] [volume] [enable music] [enable sounds] [language file] [full screen] |
|
165 if ParamStr(paramIndex) = '--set-multimedia' then |
|
166 begin |
|
167 if ParamCount-paramIndex < 8 then |
|
168 begin |
|
169 wrongParameter:= true; |
|
170 GameType:= gmtSyntax |
|
171 end; |
|
172 setMultimediaOptionsWithParameters(ParamStr(paramIndex+1),ParamStr(paramIndex+2),ParamStr(paramIndex+3), |
|
173 ParamStr(paramIndex+4),ParamStr(paramIndex+5),ParamStr(paramIndex+6), |
|
174 ParamStr(paramIndex+7),ParamStr(paramIndex+8)); |
|
175 paramIndex:= paramIndex + 9 |
|
176 end |
|
177 else |
|
178 //--set-everything [screen width] [screen height] [color dept] [volume] [enable music] [enable sounds] [language file] [full screen] [show FPS] [alternate damage] [timer value] [reduced quality] |
|
179 if ParamStr(paramIndex) = '--set-everything' then |
|
180 begin |
|
181 if ParamCount-paramIndex < 12 then |
|
182 begin |
|
183 wrongParameter:= true; |
|
184 GameType:= gmtSyntax |
|
185 end; |
|
186 setAllOptionsWithParameters(ParamStr(paramIndex+1),ParamStr(paramIndex+2),ParamStr(paramIndex+3), |
|
187 ParamStr(paramIndex+4),ParamStr(paramIndex+5),ParamStr(paramIndex+6), |
|
188 ParamStr(paramIndex+7),ParamStr(paramIndex+8),ParamStr(paramIndex+9), |
|
189 ParamStr(paramIndex+10),ParamStr(paramIndex+11),ParamStr(paramIndex+12)); |
|
190 paramIndex:= paramIndex + 13 |
|
191 end |
|
192 else |
|
193 begin |
|
194 wrongParameter:= true; |
|
195 GameType:= gmtSyntax |
|
196 end |
|
197 end |
199 end; |
198 end; |
200 |
199 |