Subversion Repositories nw_plus

Rev

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

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