Subversion Repositories nw_plus

Rev

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

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