Subversion Repositories nw_plus

Rev

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

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