Subversion Repositories nw_plus

Rev

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

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