Subversion Repositories nw_plus

Rev

Rev 19 | Rev 21 | 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
18 h266 69
if not exist nwflag_%addonver%.h266 goto extract
1 h266 70
if not exist nwl1.map goto extract
71
if not exist nwl2.map goto extract
72
if not exist nwl3.map goto extract
73
if not exist nwl4.map goto extract
74
if not exist nwl5.map goto extract
75
if not exist nwl6.map goto extract
76
if not exist nwl7.map goto extract
77
if not exist nwl8.map goto extract
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:\=/%"
117
set args=%args% -gnwinter.grp -hnwinter.def
118
if "%editor%"=="1" set args=%args% -namesfile NWNames.h
119
if not "%editor%"=="1" set args=%args% -xNWEDuke.con
120
if "%dp%"=="1" (
121
set args=%args% -hnw_dp.def
122
if not "%editor%"=="1" set args=%args% -xNWDP.con
123
)
124
if "%xxx%"=="1" (
125
if exist xxx_lite.zip set args=%args% -gxxx_lite.zip
126
if exist xxx_pack.zip set args=%args% -gxxx_pack.zip
127
set args=%args% -hnw_xxx.def
128
if "%dp%"=="1" (
129
set args=%args% -hnw_dp_xxx.def
130
if not "%editor%"=="1" set args=%args% -xNWDPXXX.con
131
) )
132
set args=%args% %*
133
if "%dp%"=="1" set args=%args% -jDukePlus
1 h266 134
 
18 h266 135
set exe=%exename%
136
if "%debug%"=="1" set exe=%exename%.debug
16 h266 137
 
13 h266 138
if exist %exe%.bat (
139
call %exe%.bat %args%
140
) else (
141
start %exe%.exe %args%
142
)
143
 
1 h266 144
goto end
145
 
146
:nonwgrp
147
echo.
148
echo Error: You don't have NWINTER.GRP in your directory.
149
:retry
150
echo.
151
set cddrive=
152
set /p cddrive=What is the drive letter that your Nuclear Winter CD is in?
153
echo.
154
if not '%cddrive%'=='' set cddrive=%cddrive:~0,1%
155
if '%cddrive%'=='' goto cdno
156
if not exist %cddrive%:\ goto cdno
157
if not exist %cddrive%:\* goto cdno
158
if not exist %cddrive%:\GAMEDATA\NWINTER.GRP goto cdw
159
copy %cddrive%:GAMEDATA\NWINTER.GRP .\
160
pause
161
echo.
162
type NWINTRO.TXT
163
echo.
164
pause
165
goto nonwgrp_done
166
 
167
:cdno
168
echo '%cddrive%' is not valid.  Please try again.
169
goto retry
170
 
171
:cdw
172
echo '%cddrive%' is not the correct disc.  Please try again.
173
goto retry
174
 
175
:extract
176
echo.
18 h266 177
echo                                ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
178
echo                                º Installation º
179
echo                                ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
1 h266 180
echo.
181
if not exist nwl1.ips goto noips
182
if not exist nwl2.ips goto noips
183
if not exist nwl3.ips goto noips
184
if not exist nwl4.ips goto noips
185
if not exist nwl5.ips goto noips
186
if not exist nwl6.ips goto noips
187
if not exist nwl7.ips goto noips
188
if not exist nwl8.ips goto noips
6 h266 189
md nw_preserve
190
if exist nwl*.map move /y nwl*.map nw_preserve\
18 h266 191
if exist "%exedir%\nwl*.map" move /y "%exedir%\nwl*.map" nw_preserve\
1 h266 192
utils\windows\win32\kextract.exe NWINTER.GRP E2L*.MAP
193
ren E2L1.MAP nwl1.map
194
ren E2L2.MAP nwl2.map
195
ren E2L3.MAP nwl3.map
196
ren E2L4.MAP nwl4.map
197
ren E2L5.MAP nwl5.map
198
ren E2L6.MAP nwl6.map
199
ren E2L7.MAP nwl7.map
200
ren E2L8.MAP nwl8.map
201
if exist nwpatch*.h266 del /f /q nwpatch*.h266
202
if exist nwflag*.h266 del /f /q nwflag*.h266
203
echo.
204
echo Map patching will now begin.
205
echo.
206
pause
207
echo
208
utils\windows\win32\uips.exe a nwl1.ips nwl1.map
209
utils\windows\win32\uips.exe a nwl2.ips nwl2.map
210
utils\windows\win32\uips.exe a nwl3.ips nwl3.map
211
utils\windows\win32\uips.exe a nwl4.ips nwl4.map
212
utils\windows\win32\uips.exe a nwl5.ips nwl5.map
213
utils\windows\win32\uips.exe a nwl6.ips nwl6.map
214
utils\windows\win32\uips.exe a nwl7.ips nwl7.map
215
utils\windows\win32\uips.exe a nwl8.ips nwl8.map
216
if exist nwpatch*.h266 del /f /q nwpatch*.h266
217
if exist nwflag*.h266 del /f /q nwflag*.h266
18 h266 218
echo Do not delete this file^! You will be forced to reinstall NW+ and repatch the maps. >nwflag_%addonver%.h266
219
attrib +r nwflag_%addonver%.h266
1 h266 220
echo.
18 h266 221
echo Patching complete^!
1 h266 222
:scanning
18 h266 223
cd "%exedir%"
1 h266 224
echo.
225
echo Scanning directory for potential problems.
226
if exist nwl1.mhk goto mhkfound
227
if exist nwl1demo.mhk goto mhkfound
228
if exist nwl2.mhk goto mhkfound
229
if exist nwl3.mhk goto mhkfound
230
if exist nwl4.mhk goto mhkfound
231
if exist nwl5.mhk goto mhkfound
232
if exist nwl6.mhk goto mhkfound
233
if exist nwl7.mhk goto mhkfound
234
if exist nwl8.mhk goto mhkfound
235
if exist _nwzoo.mhk goto mhkfound
236
:mhkfound_done
237
if exist TILES005.ART goto artfound
238
if exist TILES006.ART goto artfound
239
if exist TILES007.ART goto artfound
240
if exist TILES008.ART goto artfound
241
if exist TILES009.ART goto artfound
242
if exist TILES012.ART goto artfound
243
if exist TILES013.ART goto artfound
244
if exist TILES014.ART goto artfound
245
if exist TILES015.ART goto artfound
246
:artfound_done
247
if exist NWinter.con goto confound
248
if exist NWActor.con goto confound
249
if exist NWDefs.con goto confound
250
if exist NWDP.con goto confound
251
if exist NWDPCode.con goto confound
252
if exist NWDPXXX.con goto confound
253
if exist NWEDuke.con goto confound
254
if exist NWSnow.con goto confound
255
if exist NWUser.con goto confound
256
:confound_done
257
echo.
258
pause
259
goto restart
260
 
261
:noips
262
echo.
263
echo Error: You don't have all the *.ips files in your directory.
264
echo Aborting installation.
265
echo Map patching is required for NW+ to function correctly.
266
echo.
267
pause
268
goto end
269
 
270
:mhkfound
271
echo.
272
echo Problematic .mhk files have been found in your directory.
273
echo Unless you have knowingly made a modification to NW's map hacks,
18 h266 274
echo the presence of these files in your %exeproper% directory will
1 h266 275
echo cause NW+ to function incorrectly.
276
echo.
277
echo nwl1.mhk
278
echo nwl1demo.mhk
279
echo nwl2.mhk
280
echo nwl3.mhk
281
echo nwl4.mhk
282
echo nwl5.mhk
283
echo nwl6.mhk
284
echo nwl7.mhk
285
echo nwl8.mhk
286
echo _nwzoo.mhk
287
goto mhkfound_done
288
 
289
:artfound
290
echo.
291
echo Problematic .art files have been found in your directory.
292
echo Unless you have knowingly made a modification to NW's art,
18 h266 293
echo the presence of these files in your %exeproper% directory will
1 h266 294
echo cause NW+ to function incorrectly.
295
echo.
296
echo TILES005.ART
297
echo TILES006.ART
298
echo TILES007.ART
299
echo TILES008.ART
300
echo TILES009.ART
301
echo TILES012.ART
302
echo TILES013.ART
303
echo TILES014.ART
304
echo TILES015.ART
305
goto artfound_done
306
 
307
:confound
308
echo.
309
echo Problematic .con files have been found in your directory.
310
echo Unless you have knowingly made a modification to NW's programming,
18 h266 311
echo the presence of these files in your %exeproper% directory will
1 h266 312
echo cause NW+ to function incorrectly.
313
echo.
314
echo NWinter.con
315
echo NWEDuke.con
316
echo NWDefs.con
317
echo NWUser.con
318
echo NWDP.con
319
echo NWDPCode.con
320
echo NWDPXXX.con
321
echo NWActor.con
322
echo NWSnow.con
323
echo.
324
echo IF THESE ARE THE ORIGINAL NUCLEAR WINTER CON FILES, OR THEY COME FROM
18 h266 325
echo AN OUTDATED VERSION OF NW+, REMOVE THEM FROM YOUR %exeproper% DIRECTORY
326
echo IMMEDIATELY^!
1 h266 327
echo NW+ uses modified .con files to fix programming errors created by
328
echo the original programmers. Due to improvements made to the levels,
329
echo NW+ will have major errors if the included .con files are not used.
330
goto confound_done
331
 
18 h266 332
:execheck
333
if exist %exename%.bat goto execheck_done
334
if exist ..\%exename%.exe (
1 h266 335
cd ..
336
goto recheck
337
)
18 h266 338
if exist ..\..\%exename%.exe (
1 h266 339
cd ..\..
340
goto recheck
341
)
18 h266 342
if exist ..\..\..\%exename%.exe (
1 h266 343
cd ..\..\..
344
goto recheck
345
)
18 h266 346
if exist ..\%exename%.bat (
1 h266 347
cd ..
18 h266 348
goto execheck_done
1 h266 349
)
18 h266 350
if exist ..\..\%exename%.bat (
1 h266 351
cd ..\..
18 h266 352
goto execheck_done
1 h266 353
)
18 h266 354
if exist ..\..\..\%exename%.bat (
1 h266 355
cd ..\..\..
18 h266 356
goto execheck_done
1 h266 357
)
18 h266 358
echo Warning: You don't have %exeproper% in your directory.
359
goto execheck_done
1 h266 360
 
361
:nodir
362
echo.
363
echo Error: "nw_plus" data directory not found.
364
echo Aborting launch.
365
echo.
366
pause
367
goto end
368
 
369
:end
370
echo.
18 h266 371
set editor=0
372
set xxx=0
373
set dp=0
374
set debug=0
375
cd %dir%
376
@title %ComSpec%
1 h266 377
@color 07