Subversion Repositories nw_plus

Rev

Rev 21 | Rev 24 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 h266 1
@echo off
2
@color 0C
3
 
4
:restart
18 h266 5
title Duke: Nuclear Winter Plus Launcher
6
if "%editor%"=="1" title Duke: Nuclear Winter Plus Editor Launcher
1 h266 7
 
8
set dir=%cd%
18 h266 9
set exedir=%~dp0
10
set addondir=%~dp0
11
set addonhrpdir=%~dp0
1 h266 12
 
18 h266 13
set exename=eduke32
14
set exeproper=EDuke32
15
set action=playing
16
 
17
if "%editor%"=="1" (
18
set exename=mapster32
19
set exeproper=Mapster32
20
set action=editing
21
)
22
 
20 h266 23
set addonver=r002
18 h266 24
 
1 h266 25
:title
18 h266 26
echo                          ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
27
echo                          º Duke: Nuclear Winter Plus º
28
echo                          ÈÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍͼ
29
echo                               ³ By Hendricks266 ³
30
echo                               ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
1 h266 31
echo.
18 h266 32
echo You are %action% Simply Silly Software's Duke: Nuclear Winter with the various
1 h266 33
echo enhancements of Duke: Nuclear Winter Plus, maintained by Hendricks266.
34
echo.
13 h266 35
 
18 h266 36
 
37
if "%xxx%"=="1" echo Using XXX mode.
38
if "%dp%"=="1" echo Using Duke Plus by DeeperThought.
39
if "%debug%"=="1" echo Using debug mode.
40
 
1 h266 41
:recheck
18 h266 42
if not exist %exename%.exe goto execheck
43
:execheck_done
44
set exedir=%cd%
45
if "%debug%"=="1" echo DEBUG: %exeproper% Directory: "%exedir%"
13 h266 46
 
1 h266 47
if not exist nw_plus\ goto nodir
7 h266 48
if not exist duke3d.grp echo Warning: You don't have Duke3D.grp in your directory.
13 h266 49
 
18 h266 50
if exist nwinter\ set addonhrpdir=%cd%
51
:addondircheck
52
 
13 h266 53
cd nw_plus
18 h266 54
set addondir=%cd%
55
if exist nwinter\ set addonhrpdir=%cd%
56
if exist nw_plus\ goto addondircheck
57
if "%debug%"=="1" echo DEBUG: NW+ Directory: "%addondir%".
58
if "%debug%"=="1" echo DEBUG: NWHRP Directory: "%addonhrpdir%".
13 h266 59
 
18 h266 60
if not exist "%addondir%\NWINTER.GRP" (
61
if exist "%exedir%\NWINTER.GRP" (
62
move /y "%exedir%\NWINTER.GRP" "%addondir%\"
63
ren "%addondir%\NWINTER.GRP" nwinter.grp
13 h266 64
) else (
65
goto nonwgrp
18 h266 66
) )
13 h266 67
 
1 h266 68
:nonwgrp_done
22 h266 69
if not exist nwl1.map goto mapextract
70
if not exist nwl2.map goto mapextract
71
if not exist nwl3.map goto mapextract
72
if not exist nwl4.map goto mapextract
73
if not exist nwl5.map goto mapextract
74
if not exist nwl6.map goto mapextract
75
if not exist nwl7.map goto mapextract
76
if not exist nwl8.map goto mapextract
77
if not exist nwflag_%addonver%.h266 goto updateextract
18 h266 78
 
79
 
80
 
81
 
82
cd "%exedir%"
1 h266 83
echo.
84
echo To switch your character, open the console (~) and type one of the following:
85
echo Duke: "setvar skin 0".
86
echo Santa: "setvar skin 1".
87
echo.
18 h266 88
echo.
1 h266 89
 
90
:init
91
pause
92
echo.
93
goto check
94
 
95
:check
96
 
97
echo.
98
echo Launching Duke Nukem 3D . . .
18 h266 99
echo Thanks for %action%^!
1 h266 100
 
19 h266 101
if "%editor%"=="1" (
102
type "%exedir%\names.h" > "%exedir%\NWNames.h"
103
echo. >> "%exedir%\NWNames.h"
104
type "%addondir%\NWNames.def" >> "%exedir%\NWNames.h"
105
)
106
 
18 h266 107
:arguments
108
set args=
109
if exist polymer_hrp\ set args=%args% -jpolymer_hrp
110
if exist duke3d_voxel.zip set args=%args% -gduke3d_voxel.zip
111
if exist duke3d_hrp.zip set args=%args% -gduke3d_hrp.zip
112
if exist hrp_update.zip set args=%args% -ghrp_update.zip
113
if exist maphacks.zip set args=%args% -gmaphacks.zip
114
if exist eduke32_mus.zip set args=%args% -geduke32_mus.zip
115
if exist "%addondir%" set args=%args% -j"%addondir:\=/%"
116
if exist "%addonhrpdir%" set args=%args% -j"%addonhrpdir:\=/%"
21 h266 117
set args=%args% -gnwinter.grp -hnwinter.def -xNWEDuke.con
18 h266 118
if "%editor%"=="1" set args=%args% -namesfile NWNames.h
119
if "%dp%"=="1" (
21 h266 120
set args=%args% -hnw_dp.def -xNWDP.con
18 h266 121
)
122
if "%xxx%"=="1" (
123
if exist xxx_lite.zip set args=%args% -gxxx_lite.zip
124
if exist xxx_pack.zip set args=%args% -gxxx_pack.zip
125
set args=%args% -hnw_xxx.def
126
if "%dp%"=="1" (
21 h266 127
set args=%args% -hnw_dp_xxx.def -xNWDPXXX.con
18 h266 128
) )
129
set args=%args% %*
130
if "%dp%"=="1" set args=%args% -jDukePlus
1 h266 131
 
18 h266 132
set exe=%exename%
133
if "%debug%"=="1" set exe=%exename%.debug
16 h266 134
 
13 h266 135
if exist %exe%.bat (
136
call %exe%.bat %args%
137
) else (
138
start %exe%.exe %args%
139
)
140
 
1 h266 141
goto end
142
 
143
:nonwgrp
144
echo.
145
echo Error: You don't have NWINTER.GRP in your directory.
146
:retry
147
echo.
148
set cddrive=
149
set /p cddrive=What is the drive letter that your Nuclear Winter CD is in?
150
echo.
151
if not '%cddrive%'=='' set cddrive=%cddrive:~0,1%
152
if '%cddrive%'=='' goto cdno
153
if not exist %cddrive%:\ goto cdno
154
if not exist %cddrive%:\* goto cdno
155
if not exist %cddrive%:\GAMEDATA\NWINTER.GRP goto cdw
156
copy %cddrive%:GAMEDATA\NWINTER.GRP .\
157
pause
158
echo.
159
type NWINTRO.TXT
160
echo.
161
pause
162
goto nonwgrp_done
163
 
164
:cdno
165
echo '%cddrive%' is not valid.  Please try again.
166
goto retry
167
 
168
:cdw
169
echo '%cddrive%' is not the correct disc.  Please try again.
170
goto retry
171
 
22 h266 172
:mapextract
173
echo Extracted maps not found. Proceeding to installation.
174
goto extract
175
 
176
:updateextract
177
echo Map patch update required. Proceeding to installation.
178
goto extract
179
 
1 h266 180
:extract
181
echo.
18 h266 182
echo                                ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
183
echo                                º Installation º
184
echo                                ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
1 h266 185
echo.
186
if not exist nwl1.ips goto noips
187
if not exist nwl2.ips goto noips
188
if not exist nwl3.ips goto noips
189
if not exist nwl4.ips goto noips
190
if not exist nwl5.ips goto noips
191
if not exist nwl6.ips goto noips
192
if not exist nwl7.ips goto noips
193
if not exist nwl8.ips goto noips
6 h266 194
md nw_preserve
195
if exist nwl*.map move /y nwl*.map nw_preserve\
18 h266 196
if exist "%exedir%\nwl*.map" move /y "%exedir%\nwl*.map" nw_preserve\
1 h266 197
utils\windows\win32\kextract.exe NWINTER.GRP E2L*.MAP
198
ren E2L1.MAP nwl1.map
199
ren E2L2.MAP nwl2.map
200
ren E2L3.MAP nwl3.map
201
ren E2L4.MAP nwl4.map
202
ren E2L5.MAP nwl5.map
203
ren E2L6.MAP nwl6.map
204
ren E2L7.MAP nwl7.map
205
ren E2L8.MAP nwl8.map
206
if exist nwpatch*.h266 del /f /q nwpatch*.h266
207
if exist nwflag*.h266 del /f /q nwflag*.h266
208
echo.
209
echo Map patching will now begin.
210
echo.
211
pause
212
echo
213
utils\windows\win32\uips.exe a nwl1.ips nwl1.map
214
utils\windows\win32\uips.exe a nwl2.ips nwl2.map
215
utils\windows\win32\uips.exe a nwl3.ips nwl3.map
216
utils\windows\win32\uips.exe a nwl4.ips nwl4.map
217
utils\windows\win32\uips.exe a nwl5.ips nwl5.map
218
utils\windows\win32\uips.exe a nwl6.ips nwl6.map
219
utils\windows\win32\uips.exe a nwl7.ips nwl7.map
220
utils\windows\win32\uips.exe a nwl8.ips nwl8.map
221
if exist nwpatch*.h266 del /f /q nwpatch*.h266
222
if exist nwflag*.h266 del /f /q nwflag*.h266
18 h266 223
echo Do not delete this file^! You will be forced to reinstall NW+ and repatch the maps. >nwflag_%addonver%.h266
224
attrib +r nwflag_%addonver%.h266
1 h266 225
echo.
18 h266 226
echo Patching complete^!
1 h266 227
:scanning
18 h266 228
cd "%exedir%"
1 h266 229
echo.
230
echo Scanning directory for potential problems.
231
if exist nwl1.mhk goto mhkfound
232
if exist nwl1demo.mhk goto mhkfound
233
if exist nwl2.mhk goto mhkfound
234
if exist nwl3.mhk goto mhkfound
235
if exist nwl4.mhk goto mhkfound
236
if exist nwl5.mhk goto mhkfound
237
if exist nwl6.mhk goto mhkfound
238
if exist nwl7.mhk goto mhkfound
239
if exist nwl8.mhk goto mhkfound
240
if exist _nwzoo.mhk goto mhkfound
241
:mhkfound_done
242
if exist TILES005.ART goto artfound
243
if exist TILES006.ART goto artfound
244
if exist TILES007.ART goto artfound
245
if exist TILES008.ART goto artfound
246
if exist TILES009.ART goto artfound
247
if exist TILES012.ART goto artfound
248
if exist TILES013.ART goto artfound
249
if exist TILES014.ART goto artfound
250
if exist TILES015.ART goto artfound
251
:artfound_done
252
if exist NWinter.con goto confound
253
if exist NWActor.con goto confound
254
if exist NWDefs.con goto confound
255
if exist NWDP.con goto confound
256
if exist NWDPCode.con goto confound
257
if exist NWDPXXX.con goto confound
258
if exist NWEDuke.con goto confound
259
if exist NWSnow.con goto confound
260
if exist NWUser.con goto confound
261
:confound_done
262
echo.
263
pause
264
goto restart
265
 
266
:noips
267
echo.
268
echo Error: You don't have all the *.ips files in your directory.
269
echo Aborting installation.
270
echo Map patching is required for NW+ to function correctly.
271
echo.
272
pause
273
goto end
274
 
275
:mhkfound
276
echo.
277
echo Problematic .mhk files have been found in your directory.
278
echo Unless you have knowingly made a modification to NW's map hacks,
18 h266 279
echo the presence of these files in your %exeproper% directory will
1 h266 280
echo cause NW+ to function incorrectly.
281
echo.
282
echo nwl1.mhk
283
echo nwl1demo.mhk
284
echo nwl2.mhk
285
echo nwl3.mhk
286
echo nwl4.mhk
287
echo nwl5.mhk
288
echo nwl6.mhk
289
echo nwl7.mhk
290
echo nwl8.mhk
291
echo _nwzoo.mhk
292
goto mhkfound_done
293
 
294
:artfound
295
echo.
296
echo Problematic .art files have been found in your directory.
297
echo Unless you have knowingly made a modification to NW's art,
18 h266 298
echo the presence of these files in your %exeproper% directory will
1 h266 299
echo cause NW+ to function incorrectly.
300
echo.
301
echo TILES005.ART
302
echo TILES006.ART
303
echo TILES007.ART
304
echo TILES008.ART
305
echo TILES009.ART
306
echo TILES012.ART
307
echo TILES013.ART
308
echo TILES014.ART
309
echo TILES015.ART
310
goto artfound_done
311
 
312
:confound
313
echo.
314
echo Problematic .con files have been found in your directory.
315
echo Unless you have knowingly made a modification to NW's programming,
18 h266 316
echo the presence of these files in your %exeproper% directory will
1 h266 317
echo cause NW+ to function incorrectly.
318
echo.
319
echo NWinter.con
320
echo NWEDuke.con
321
echo NWDefs.con
322
echo NWUser.con
323
echo NWDP.con
324
echo NWDPCode.con
325
echo NWDPXXX.con
326
echo NWActor.con
327
echo NWSnow.con
328
echo.
329
echo IF THESE ARE THE ORIGINAL NUCLEAR WINTER CON FILES, OR THEY COME FROM
18 h266 330
echo AN OUTDATED VERSION OF NW+, REMOVE THEM FROM YOUR %exeproper% DIRECTORY
331
echo IMMEDIATELY^!
1 h266 332
echo NW+ uses modified .con files to fix programming errors created by
333
echo the original programmers. Due to improvements made to the levels,
334
echo NW+ will have major errors if the included .con files are not used.
335
goto confound_done
336
 
18 h266 337
:execheck
338
if exist %exename%.bat goto execheck_done
339
if exist ..\%exename%.exe (
1 h266 340
cd ..
341
goto recheck
342
)
18 h266 343
if exist ..\..\%exename%.exe (
1 h266 344
cd ..\..
345
goto recheck
346
)
18 h266 347
if exist ..\..\..\%exename%.exe (
1 h266 348
cd ..\..\..
349
goto recheck
350
)
18 h266 351
if exist ..\%exename%.bat (
1 h266 352
cd ..
18 h266 353
goto execheck_done
1 h266 354
)
18 h266 355
if exist ..\..\%exename%.bat (
1 h266 356
cd ..\..
18 h266 357
goto execheck_done
1 h266 358
)
18 h266 359
if exist ..\..\..\%exename%.bat (
1 h266 360
cd ..\..\..
18 h266 361
goto execheck_done
1 h266 362
)
18 h266 363
echo Warning: You don't have %exeproper% in your directory.
364
goto execheck_done
1 h266 365
 
366
:nodir
367
echo.
368
echo Error: "nw_plus" data directory not found.
369
echo Aborting launch.
370
echo.
371
pause
372
goto end
373
 
374
:end
375
echo.
18 h266 376
set editor=0
377
set xxx=0
378
set dp=0
379
set debug=0
380
cd %dir%
381
@title %ComSpec%
1 h266 382
@color 07