Subversion Repositories nw_plus

Rev

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

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