Subversion Repositories nw_plus

Rev

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

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