Subversion Repositories nw_plus

Rev

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

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