Subversion Repositories nw_plus

Rev

Rev 30 | Rev 37 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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