Subversion Repositories nw_plus

Rev

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

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