Subversion Repositories nw_plus

Rev

Rev 58 | Rev 63 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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