Subversion Repositories nw_plus

Rev

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

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