Subversion Repositories nw_plus

Rev

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

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