Subversion Repositories vaca_plus

Rev

Rev 75 | Rev 77 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
60 h266 1
@echo off
2
color 0C
3
setlocal ENABLEEXTENSIONS DISABLEDELAYEDEXPANSION
57 h266 4
pushd "%~dp0"
58 h266 5
set startdir=%cd%
1 h266 6
 
7
:restart
17 h266 8
title Duke Caribbean: Life's A Beach Plus Launcher
9
if "%editor%"=="1" title Duke Caribbean: Life's A Beach Plus Editor Launcher
1 h266 10
 
58 h266 11
set exedir=%startdir%
12
set addondir=%startdir%
13
set addonhrpdir=%startdir%
1 h266 14
 
17 h266 15
set exename=eduke32
16
set exeproper=EDuke32
17
set action=playing
18
 
19
if "%editor%"=="1" (
20
set exename=mapster32
21
set exeproper=Mapster32
22
set action=editing
23
)
24
 
27 h266 25
set addonver=r004
17 h266 26
 
1 h266 27
:title
17 h266 28
echo                     ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
29
echo                     º Duke Caribbean: Life's A Beach Plus º
30
echo                     ÈÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍͼ
1 h266 31
echo                               ³ By Hendricks266 ³
32
echo                               ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
33
echo.
17 h266 34
echo You are %action% Sunstorm Interactive's Duke Caribbean: Life's A Beach with the
1 h266 35
echo various enhancements of Duke Caribbean: Life's A Beach Plus, maintained by
36
echo Hendricks266.
37
echo.
13 h266 38
 
17 h266 39
if "%xxx%"=="1" echo Using XXX mode.
40
if "%dp%"=="1" echo Using Duke Plus by DeeperThought.
41
if "%debug%"=="1" echo Using debug mode.
42
 
51 h266 43
if "%debug%"=="1" echo DEBUG: Command Line Input: %*
44
 
1 h266 45
:recheck
17 h266 46
if not exist %exename%.exe goto execheck
47
:execheck_done
48
set exedir=%cd%
49
if "%debug%"=="1" echo DEBUG: %exeproper% Directory: "%exedir%"
13 h266 50
 
1 h266 51
if not exist vaca_plus\ goto nodir
52
if not exist duke3d.grp echo Warning: You don't have Duke3D.grp in your directory.
13 h266 53
 
17 h266 54
if exist vacation\ set addonhrpdir=%cd%
55
:addondircheck
13 h266 56
if exist VACATION.PRG ren VACATION.PRG vacation.grp
46 h266 57
chdir vaca_plus
17 h266 58
set addondir=%cd%
59
if exist vacation\ set addonhrpdir=%cd%
60
if exist vaca_plus\ goto addondircheck
61
if "%debug%"=="1" echo DEBUG: Vaca+ Directory: "%addondir%".
62
if "%debug%"=="1" echo DEBUG: VacaHRP Directory: "%addonhrpdir%".
13 h266 63
 
68 h266 64
set kextract=%addondir%\utils\windows\win32\kextract.exe
65
if "%debug%"=="1" set kextract=%addondir%\utils\windows\win32\kextract.debug.exe
66
set kgroup=%addondir%\utils\windows\win32\kgroup.exe
67
if "%debug%"=="1" set kgroup=%addondir%\utils\windows\win32\kgroup.debug.exe
68
set unpackssi=%addondir%\utils\windows\win32\unpackssi.exe
69
if "%debug%"=="1" set unpackssi=%addondir%\utils\windows\win32\unpackssi.debug.exe
70
set bspatch=%addondir%\utils\windows\win32\bspatch.exe
71
set sha1sum=%addondir%\utils\windows\win32\sha1sum.exe
72
 
52 h266 73
if "%vacagrpname%"=="" set vacagrpname=vacation.grp
74
if not exist "%exedir%\%vacagrpname%" if not exist "%addondir%\%vacagrpname%" if exist "%exedir%\vaca15.grp" set vacagrpname=vaca15.grp
75
if not exist "%exedir%\%vacagrpname%" if not exist "%addondir%\%vacagrpname%" if exist "%addondir%\vaca15.grp" set vacagrpname=vaca15.grp
76
if not exist "%exedir%\%vacagrpname%" if not exist "%addondir%\%vacagrpname%" if exist "%exedir%\vacapp.grp" set vacagrpname=vacapp.grp
77
if not exist "%exedir%\%vacagrpname%" if not exist "%addondir%\%vacagrpname%" if exist "%addondir%\vacapp.grp" set vacagrpname=vacapp.grp
78
if not exist "%exedir%\%vacagrpname%" if not exist "%addondir%\%vacagrpname%" if exist "%exedir%\vaca13.grp" set vacagrpname=vaca13.grp
79
if not exist "%exedir%\%vacagrpname%" if not exist "%addondir%\%vacagrpname%" if exist "%addondir%\vaca13.grp" set vacagrpname=vaca13.grp
80
if not exist "%exedir%\%vacagrpname%" if not exist "%addondir%\%vacagrpname%" if exist "%exedir%\vacation13.grp" set vacagrpname=vacation13.grp
81
if not exist "%exedir%\%vacagrpname%" if not exist "%addondir%\%vacagrpname%" if exist "%addondir%\vacation13.grp" set vacagrpname=vacation13.grp
82
if not exist "%exedir%\%vacagrpname%" if not exist "%addondir%\%vacagrpname%" goto novacagrp
13 h266 83
 
46 h266 84
if exist vacation.grp ren vacation.grp vacation.grp
30 h266 85
call :grpchecksum
27 h266 86
:novacagrp_return
30 h266 87
if not "%version%"=="demo" (
21 h266 88
if not exist vaca1.map goto mapextract
89
if not exist vaca2.map goto mapextract
90
if not exist vaca3.map goto mapextract
91
if not exist vaca4.map goto mapextract
92
if not exist vaca5.map goto mapextract
93
if not exist vaca6.map goto mapextract
94
if not exist vaca7.map goto mapextract
26 h266 95
if not exist vacasl.map goto mapextract
21 h266 96
if not exist vacadm1.map goto mapextract
97
if not exist vacadm2.map goto mapextract
98
if not exist vacadm3.map goto mapextract
99
if not exist vacadm4.map goto mapextract
100
if not exist vacaflag_%addonver%.h266 goto updateextract
30 h266 101
)
46 h266 102
chdir /d "%exedir%"
1 h266 103
echo.
104
echo.
105
echo.
106
echo.
17 h266 107
echo.
30 h266 108
echo.
109
echo.
110
echo.
111
echo.
1 h266 112
 
113
:init
114
pause
115
echo.
116
goto check
117
 
118
:check
119
 
120
echo.
121
echo Launching Duke Nukem 3D . . .
60 h266 122
echo Thanks for %action%!
30 h266 123
echo.
1 h266 124
 
18 h266 125
if "%editor%"=="1" (
126
type "%exedir%\names.h" > "%exedir%\VacaNames.h"
127
echo. >> "%exedir%\VacaNames.h"
128
type "%addondir%\VacaNames.def" >> "%exedir%\VacaNames.h"
129
)
130
 
17 h266 131
:arguments
132
set args=
37 h266 133
if exist "%exedir%\HRP\" set args=%args% -jHRP
25 h266 134
if exist "%exedir%\polymer_hrp\" set args=%args% -jpolymer_hrp
135
if exist "%exedir%\duke3d_voxel.zip" set args=%args% -gduke3d_voxel.zip
136
if exist "%exedir%\duke3d_hrp.zip" set args=%args% -gduke3d_hrp.zip
137
if exist "%exedir%\hrp_update.zip" set args=%args% -ghrp_update.zip
138
if exist "%exedir%\maphacks.zip" set args=%args% -gmaphacks.zip
139
if exist "%exedir%\eduke32_mus.zip" set args=%args% -geduke32_mus.zip
29 h266 140
if exist "%addondir%" if not "%addondir%"=="%exedir%" set args=%args% -j"%addondir:\=/%"
141
if exist "%addonhrpdir%" if not "%addonhrpdir%"=="%exedir%" if not "%addonhrpdir%"=="%addondir%" set args=%args% -j"%addonhrpdir:\=/%"
52 h266 142
set args=%args% -g%vacagrpname% -hvacation.def -xVacaEDuke.con
17 h266 143
if "%editor%"=="1" set args=%args% -namesfile VacaNames.h
25 h266 144
if "%dp%"=="1" set args=%args% -hvaca_dp.def -xVacaDP.con
145
if "%xxx%"=="1" if exist "%exedir%\xxx_lite.zip" set args=%args% -gxxx_lite.zip
146
if "%xxx%"=="1" if exist "%exedir%\xxx_lite\" set args=%args% -jxxx_lite
147
if "%xxx%"=="1" if exist "%exedir%\xxx_pack.zip" set args=%args% -gxxx_pack.zip
148
if "%xxx%"=="1" if exist "%exedir%\xxx_pack\" set args=%args% -jxxx_pack
149
if "%xxx%"=="1" set args=%args% -hvaca_xxx.def
150
if "%xxx%"=="1" if "%dp%"=="1" set args=%args% -hvaca_dp_xxx.def -xVacaDPXXX.con
17 h266 151
set args=%args% %*
152
if "%dp%"=="1" set args=%args% -jDukePlus
1 h266 153
 
17 h266 154
set exe=%exename%
155
if "%debug%"=="1" set exe=%exename%.debug
15 h266 156
 
13 h266 157
if exist %exe%.bat (
59 h266 158
if "%debug%"=="1" echo DEBUG: Final Command Line: call %exe%.bat %args%
13 h266 159
call %exe%.bat %args%
160
) else (
59 h266 161
if "%debug%"=="1" echo DEBUG: Final Command Line: start %exe%.exe %args%
13 h266 162
start %exe%.exe %args%
163
)
164
 
35 h266 165
set svnpath=0
58 h266 166
if "%svnpath%"=="0" if exist "%startdir%\svn\bin\svn.exe" set svnpath=%startdir%\svn\bin
48 h266 167
if "%svnpath%"=="0" if exist "%exedir%\svn\bin\svn.exe" set svnpath=%exedir%\svn\bin
38 h266 168
if "%svnpath%"=="0" if exist "%ProgramFiles%\SlikSvn\bin\svn.exe" set svnpath=%ProgramFiles%\SlikSvn\bin
169
if "%svnpath%"=="0" if exist "%ProgramFiles(x86)%\SlikSvn\bin\svn.exe" set svnpath=%ProgramFiles(x86)%\SlikSvn\bin
170
if "%svnpath%"=="0" if exist "%ProgramFiles%\Subversion\bin\svn.exe" set svnpath=%ProgramFiles%\Subversion\bin
171
if "%svnpath%"=="0" if exist "%ProgramFiles(x86)%\Subversion\bin\svn.exe" set svnpath=%ProgramFiles(x86)%\Subversion\bin
35 h266 172
if "%svnpath%"=="0" if exist "%ProgramFiles%\TortoiseSVN\bin\svn.exe" set svnpath=%ProgramFiles%\TortoiseSVN\bin
173
if "%svnpath%"=="0" if exist "%ProgramFiles(x86)%\TortoiseSVN\bin\svn.exe" set svnpath=%ProgramFiles(x86)%\TortoiseSVN\bin
38 h266 174
if "%svnpath%"=="0" for %%S in (svn.exe) do if exist "%%~dp$PATH:S" set svnpath=%%~dp$PATH:S
35 h266 175
 
46 h266 176
chdir /d "%addondir%"
67 h266 177
if not "%svnpath%"=="0" call :svn_action
46 h266 178
chdir /d "%addonhrpdir%"
67 h266 179
if not "%svnpath%"=="0" call :svn_action
35 h266 180
 
1 h266 181
goto end
182
 
58 h266 183
:svn_action
184
set PATH=%PATH%;%svnpath%
185
for /f "delims=" %%a in ('svnversion.exe .') do @set oldrev=%%a
67 h266 186
if "%oldrev%"=="exported" goto :eof
187
if "%oldrev%"=="Unversioned directory" goto :eof
58 h266 188
"svn.exe" update
189
for /f "delims=" %%a in ('svnversion.exe .') do @set rev=%%a
190
if %rev% EQU %oldrev% goto :eof
191
set /a oldrev=%oldrev% + 1
192
echo.
193
"svn.exe" log -r %oldrev%:%rev%
194
echo.
195
pause
196
goto :eof
197
 
1 h266 198
:novacagrp
75 h266 199
set megaton=Steam\SteamApps\common\Duke Nukem 3D\gameroot\addons\vacation.grp
200
if exist "%ProgramFiles%\%megaton%" copy "%ProgramFiles%\%megaton%" .\ && call :conprotect && goto novacagrp_done
201
if exist "%ProgramFiles(x86)%\%megaton%" copy "%ProgramFiles(x86)%\%megaton%" .\ && call :conprotect && goto novacagrp_done
1 h266 202
echo.
203
echo Error: You don't have VACATION.GRP in your directory.
204
echo.
25 h266 205
goto ssicheck
1 h266 206
:retry
207
echo.
208
set cddrive=
209
set /p cddrive=What is the drive letter that your Caribbean CD is in?
210
echo.
211
if not '%cddrive%'=='' set cddrive=%cddrive:~0,1%
212
if '%cddrive%'=='' goto cdno
213
if not exist %cddrive%:\ goto cdno
214
if not exist %cddrive%:\* goto cdno
53 h266 215
if exist %cddrive%:\VACATION\VACA13.SSI copy %cddrive%:\VACATION\*.SSI .\ && goto ssicheck
216
if exist %cddrive%:\VACATION\VACATION\VACA13.SSI copy %cddrive%:\VACATION\VACATION\*.SSI .\ && goto ssicheck
217
if exist %cddrive%:\CARIBBEA\VACA13.SSI copy %cddrive%:\CARIBBEA\VACATION\*.SSI .\ && goto ssicheck
218
if exist %cddrive%:\CARIBBEAN\VACA13.SSI copy %cddrive%:\CARIBBEAN\VACATION\*.SSI .\ && goto ssicheck
219
goto cdwrong
1 h266 220
 
221
:cdno
222
echo '%cddrive%' is not valid.  Please try again.
223
goto retry
224
 
53 h266 225
:cdwrong
1 h266 226
echo '%cddrive%' is not the correct disc.  Please try again.
227
goto retry
228
 
25 h266 229
:ssicheck
230
if exist VACA15.SSI goto ssi1
231
if exist VACAPP.SSI goto ssi2
232
if exist VACA13.SSI goto ssi3
233
echo You don't have the SSI files in your directory.
234
goto retry
235
 
1 h266 236
:ssi1
237
echo You do have the Caribbean SSI file in this directory, but it has not been
238
echo extracted.  It will now be unpacked.
239
echo.
240
pause
46 h266 241
mkdir vaca15ssi
242
chdir vaca15ssi
8 h266 243
if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
68 h266 244
"%unpackssi%" ..\VACA15.SSI
46 h266 245
if exist VACATION.PRG move /y VACATION.PRG ..\vacation.grp
246
chdir ..
8 h266 247
if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
46 h266 248
if exist vacation.grp (
249
rmdir /s /q vaca15ssi
1 h266 250
goto novacagrp_done
46 h266 251
)
252
if not exist vacation.grp (
253
echo Installation Error!
254
echo Contact Hendricks266 for help.
255
echo.
256
pause
257
goto end
258
)
1 h266 259
 
260
:ssi2
261
echo You do have the Caribbean SSI file in this directory, but it has not been
262
echo extracted.  It will now be unpacked.
263
echo.
264
pause
46 h266 265
mkdir vacappssi
266
chdir vacappssi
8 h266 267
if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
68 h266 268
"%unpackssi%" ..\VACAPP.SSI
46 h266 269
if exist VACATION.PRG move /y VACATION.PRG ..\vacation.grp
270
chdir ..
8 h266 271
if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
46 h266 272
if exist vacation.grp (
273
rmdir /s /q vacappssi
1 h266 274
goto novacagrp_done
46 h266 275
)
276
if not exist vacation.grp (
277
echo Installation Error!
278
echo Contact Hendricks266 for help.
279
echo.
280
pause
281
goto end
282
)
1 h266 283
 
284
:ssi3
285
echo You do have the Caribbean SSI file in this directory, but it has not been
286
echo extracted.  It will now be unpacked.
287
echo.
288
pause
46 h266 289
mkdir vaca13ssi
290
chdir vaca13ssi
8 h266 291
if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
68 h266 292
"%unpackssi%" ..\VACA13.SSI
1 h266 293
ren *.TRA *.ART
294
ren *.PCS *.SCP
295
ren VACA1.MAP vaca1.map
296
ren VACA2.MAP vaca2.map
297
ren VACA3.MAP vaca3.map
298
ren VACA4.MAP vaca4.map
299
ren VACA5.MAP vaca5.map
300
ren VACA6.MAP vaca6.map
301
ren VACA7.MAP vaca7.map
302
ren VACASL.MAP vacasl.map
303
ren VACADM1.MAP vacadm1.map
304
ren VACADM2.MAP vacadm2.map
305
ren VACADM3.MAP vacadm3.map
306
ren VACADM4.MAP vacadm4.map
307
ren *.NOC *.CON
308
ren *.DIM *.MID
309
ren *.MNA *.ANM
310
ren *.COV *.VOC
311
ren *.OMD *.DMO
28 h266 312
ren GAME.CON VACAGAME.CON
313
ren USER.CON VACAUSER.CON
314
ren DEFS.CON VACADEFS.CON
1 h266 315
ren DUKETEAM.ANM RADLOGO.ANM
68 h266 316
"%kgroup%" vacation.grp *.ART *.SCP *.map *.MID *.ANM *.VOC *.DMO CARIB.EXE
46 h266 317
if exist vacation.grp move /y vacation.grp ..\vacation.grp
1 h266 318
move /y *.map ..\
46 h266 319
chdir ..
8 h266 320
if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
46 h266 321
if exist vacation.grp (
322
rmdir /s /q vaca13ssi
1 h266 323
goto novacagrp_done
46 h266 324
)
325
if not exist vacation.grp (
326
echo Installation Error!
327
echo Contact Hendricks266 for help.
328
echo.
329
pause
330
goto end
331
)
1 h266 332
 
27 h266 333
:novacagrp_done
53 h266 334
type DVINTRO.TXT
335
echo.
336
pause
30 h266 337
call :grpchecksum
338
call :grpchecksum_results
27 h266 339
goto novacagrp_return
340
 
30 h266 341
:grpchecksum
68 h266 342
if not exist "%sha1sum%" (
343
echo "%sha1sum%" not found.
40 h266 344
goto :eof
345
)
52 h266 346
pushd .
58 h266 347
if exist "%addondir%\%vacagrpname%" chdir /d %addondir%
348
if exist "%exedir%\%vacagrpname%" chdir /d %exedir%
68 h266 349
echo ea0a9a77b9aee6edce76afa19eaea3a810fb2390 *%vacagrpname% | "%sha1sum%" --status --check -
52 h266 350
if "%ERRORLEVEL%"=="0" set version=full && popd && goto :eof
75 h266 351
if "%ERRORLEVEL%"=="1" echo 65b8b787616ed637f86cfcaa90de24c8e65b3dcc *%vacagrpname% | "%sha1sum%" --status --check -
352
if "%ERRORLEVEL%"=="0" set version=megaton && call :conprotect && popd && goto :eof
30 h266 353
if "%ERRORLEVEL%"=="1" set version=unknown
52 h266 354
popd
30 h266 355
goto :eof
356
 
357
:grpchecksum_results
39 h266 358
if "%version%"=="full" echo VACATION.GRP checksum verified.
75 h266 359
if "%version%"=="megaton" echo VACATION.GRP (Megaton Edition) checksum verified.
39 h266 360
if "%version%"=="unknown" echo VACATION.GRP checksum does not match. You may have a bad copy.
30 h266 361
echo.
362
goto :eof
363
 
364
 
21 h266 365
:mapextract
30 h266 366
echo Extracted maps not found or patched. Proceeding to installation.
21 h266 367
goto extract
368
 
369
:updateextract
370
echo Map patch update required. Proceeding to installation.
371
goto extract
372
 
1 h266 373
:extract
374
echo.
17 h266 375
echo                                ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
376
echo                                º Installation º
377
echo                                ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
1 h266 378
echo.
30 h266 379
call :grpchecksum
380
call :grpchecksum_results
24 h266 381
if not exist vaca1.patch goto nopatch
382
if not exist vaca2.patch goto nopatch
383
if not exist vaca3.patch goto nopatch
384
if not exist vaca4.patch goto nopatch
385
if not exist vaca5.patch goto nopatch
386
if not exist vaca6.patch goto nopatch
387
if not exist vaca7.patch goto nopatch
388
if not exist vacasl.patch goto nopatch
389
if not exist vacadm1.patch goto nopatch
390
if not exist vacadm2.patch goto nopatch
391
if not exist vacadm3.patch goto nopatch
392
if not exist vacadm4.patch goto nopatch
46 h266 393
mkdir vaca_preserve
7 h266 394
if exist vaca*.map move /y vaca*.map vaca_preserve\
17 h266 395
if exist "%exedir%\vaca*.map" move /y "%exedir%\vaca*.map" vaca_preserve\
76 h266 396
:: TODO: eliminate the need for the if exist checks; tighten up path handling
397
set grp=vacation.grp
398
if exist "%addondir%\%vacagrpname%" set grp=%addondir%\%vacagrpname%
399
if exist "%exedir%\%vacagrpname%" set grp=%exedir%\%vacagrpname%
400
"%kextract%" "%grp%" VACA*.MAP
1 h266 401
ren VACA1.MAP vaca1.map
402
ren VACA2.MAP vaca2.map
403
ren VACA3.MAP vaca3.map
404
ren VACA4.MAP vaca4.map
405
ren VACA5.MAP vaca5.map
406
ren VACA6.MAP vaca6.map
407
ren VACA7.MAP vaca7.map
408
ren VACASL.MAP vacasl.map
409
ren VACADM1.MAP vacadm1.map
410
ren VACADM2.MAP vacadm2.map
411
ren VACADM3.MAP vacadm3.map
412
ren VACADM4.MAP vacadm4.map
413
if exist vacapatch*.h266 del /f /q vacapatch*.h266
414
if exist vacaflag*.h266 del /f /q vacaflag*.h266
415
echo.
416
echo Map patching will now begin.
417
echo.
418
pause
419
echo
68 h266 420
"%bspatch%" vaca1.map vaca1.map vaca1.patch
421
"%bspatch%" vaca2.map vaca2.map vaca2.patch
422
"%bspatch%" vaca3.map vaca3.map vaca3.patch
423
"%bspatch%" vaca4.map vaca4.map vaca4.patch
424
"%bspatch%" vaca5.map vaca5.map vaca5.patch
425
"%bspatch%" vaca6.map vaca6.map vaca6.patch
426
"%bspatch%" vaca7.map vaca7.map vaca7.patch
427
"%bspatch%" vacasl.map vacasl.map vacasl.patch
428
"%bspatch%" vacadm1.map vacadm1.map vacadm1.patch
429
"%bspatch%" vacadm2.map vacadm2.map vacadm2.patch
430
"%bspatch%" vacadm3.map vacadm3.map vacadm3.patch
431
"%bspatch%" vacadm4.map vacadm4.map vacadm4.patch
1 h266 432
if exist vacapatch*.h266 del /f /q vacapatch*.h266
433
if exist vacaflag*.h266 del /f /q vacaflag*.h266
60 h266 434
echo Do not delete this file! You will be forced to reinstall Vaca+ and repatch the maps. >vacaflag_%addonver%.h266
17 h266 435
attrib +r vacaflag_%addonver%.h266
1 h266 436
echo.
60 h266 437
echo Patching complete!
1 h266 438
:scanning
46 h266 439
chdir "%exedir%"
1 h266 440
echo.
441
echo Scanning directory for potential problems.
442
if exist vaca1.mhk goto mhkfound
443
if exist vaca2.mhk goto mhkfound
444
if exist vaca3.mhk goto mhkfound
445
if exist vaca4.mhk goto mhkfound
446
if exist vaca5.mhk goto mhkfound
447
if exist vaca6.mhk goto mhkfound
448
if exist vaca7.mhk goto mhkfound
449
if exist vacasl.mhk goto mhkfound
450
if exist vacadm1.mhk goto mhkfound
451
if exist vacadm2.mhk goto mhkfound
452
if exist vacadm3.mhk goto mhkfound
453
if exist vacadm4.mhk goto mhkfound
454
if exist dcava0r.mhk goto mhkfound
455
if exist dcava1.mhk goto mhkfound
456
if exist _vacazoo.mhk goto mhkfound
457
:mhkfound_done
458
if exist TILES000.ART goto artfound
459
if exist TILES003.ART goto artfound
460
if exist TILES005.ART goto artfound
461
if exist TILES006.ART goto artfound
462
if exist TILES007.ART goto artfound
463
if exist TILES008.ART goto artfound
464
if exist TILES009.ART goto artfound
465
if exist TILES010.ART goto artfound
466
if exist TILES012.ART goto artfound
467
if exist TILES014.ART goto artfound
468
:artfound_done
27 h266 469
call :checksum 3d5092d053b23a823c1fa0ad0b0bdbc33b2a09bb DEFS.CON "VACA15 file detected and neutralized:"
470
call :checksum 807aaf21edd6e315bcb76dd54450f28616f84609 GAME.CON "VACA15 file detected and neutralized:"
471
call :checksum 6d29c3b19d26ff84edb104e68120edc5150066dd USER.CON "VACA15 file detected and neutralized:"
472
call :checksum 856374f3b42a1f2e355730ffc70497a3e6a49585 BEACHBAB.CON "VACA15 file detected and neutralized:"
473
call :checksum efb8168c6351d4b5e2c108ebc8189d4aba85ef35 BEACHBAL.CON "VACA15 file detected and neutralized:"
474
call :checksum a947947409a76ea7e6c46076a8cfbaa76f8b0172 BEACHBTH.CON "VACA15 file detected and neutralized:"
475
call :checksum 3c11b9d40a204849c2d7d6c10984397f3b6a444c DRAGON.CON "VACA15 file detected and neutralized:"
476
call :checksum 1417476e2cd8a3aef85dd9c1f36308f2123d8b54 SEAGULL.CON "VACA15 file detected and neutralized:"
477
call :checksum 0c1314dcd983b232f6afb941942e1ccbd7331ebb SOUNDS.CON "VACA15 file detected and neutralized:"
478
call :checksum 032a25b2cd98e19a5ff9a859ac27c91a4abfcb46 USER.CON "VACAPP file detected and neutralized:"
479
call :checksum 34ed9d27095d547e20fb9db87957d17ca9cb2046 DEFS.CON "VACA13 file detected and neutralized:"
480
call :checksum 3480ad8caca150b7c4678a42a606c0d9941db631 GAME.CON "VACA13 file detected and neutralized:"
481
call :checksum 74feb12ecfa57cb4c8e151593bff89e06b1ae11e USER.CON "VACA13 file detected and neutralized:"
482
call :checksum 840d701ca5e1e590ff03510eb5d63880f3e5be79 BEACHBAB.CON "VACA13 file detected and neutralized:"
483
call :checksum f4c7080384dde2f298e807b1bc9901e6e61ac617 BEACHBAL.CON "VACA13 file detected and neutralized:"
484
call :checksum 9965ae6e6b4337d06e1df22b41592b4cdfb69b2f BEACHBTH.CON "VACA13 file detected and neutralized:"
485
call :checksum d56a1ff075671d0919540086a062b37290113621 DRAGON.CON "VACA13 file detected and neutralized:"
486
call :checksum 06be81473bad004296324b2d63f4730ac2160aa6 SEAGULL.CON "VACA13 file detected and neutralized:"
487
call :checksum ef149cd90764bae685d9fab83eb2fe719486dce3 SOUNDS.CON "VACA13 file detected and neutralized:"
1 h266 488
if exist Vacation.con goto confound
489
if exist VacaEDuke.con goto confound
490
if exist VacaDefs.con goto confound
491
if exist VacaUser.con goto confound
492
if exist VacaDP.con goto confound
493
if exist VacaDPCode.con goto confound
494
if exist VacaDPXXX.con goto confound
495
if exist VSounds.con goto confound
496
if exist VBeachBabe.con goto confound
497
if exist VBeachBall.con goto confound
498
if exist VBeachBather.con goto confound
499
if exist VDragon.con goto confound
500
if exist VSeagull.con goto confound
501
:confound_done
75 h266 502
call :conprotect
46 h266 503
chdir /d "%addondir%"
1 h266 504
echo.
505
pause
506
goto restart
507
 
75 h266 508
:conprotect
509
pushd "%exedir%"
510
if not exist GAME.CON "%kextract%" DUKE3D.GRP GAME.CON
511
if not exist DEFS.CON "%kextract%" DUKE3D.GRP DEFS.CON
512
if not exist USER.CON "%kextract%" DUKE3D.GRP USER.CON
513
popd
514
goto :eof
515
 
27 h266 516
:checksum
68 h266 517
if not exist "%sha1sum%" (
518
echo "%sha1sum%" not found.
40 h266 519
goto :eof
520
)
27 h266 521
if not exist "%~2" goto :eof
68 h266 522
echo %~1 *%~2 | "%sha1sum%" --status --check -
27 h266 523
if "%ERRORLEVEL%"=="0" (
30 h266 524
ren "%~2" "VacaOld_%addonver%_%~nx2"
27 h266 525
echo %~3 %~nx2
526
)
527
goto :eof
528
 
24 h266 529
:nopatch
1 h266 530
echo.
24 h266 531
echo Error: You don't have all the *.patch files in your directory.
1 h266 532
echo Aborting installation.
533
echo Map patching is required for Vaca+ to function correctly.
534
echo.
535
pause
536
goto end
537
 
538
:mhkfound
539
echo.
540
echo Problematic .mhk files have been found in your directory.
541
echo Unless you have knowingly made a modification to Vaca's map hacks,
17 h266 542
echo the presence of these files in your %exeproper% directory will
1 h266 543
echo cause Vaca+ to function incorrectly.
544
echo.
545
echo vaca1.mhk
546
echo vaca2.mhk
547
echo vaca3.mhk
548
echo vaca4.mhk
549
echo vaca5.mhk
550
echo vaca6.mhk
551
echo vaca7.mhk
552
echo vacasl.mhk
553
echo vacadm1.mhk
554
echo vacadm2.mhk
555
echo vacadm3.mhk
556
echo vacadm4.mhk
557
echo dcava0r.mhk
558
echo dcava1.mhk
559
echo _vacazoo.mhk
560
goto mhkfound_done
561
 
562
:artfound
563
echo.
564
echo Problematic .art files have been found in your directory.
565
echo Unless you have knowingly made a modification to Vaca's art,
17 h266 566
echo the presence of these files in your %exeproper% directory will
1 h266 567
echo cause Vaca+ to function incorrectly.
568
echo.
569
echo TILES000.ART
570
echo TILES003.ART
571
echo TILES005.ART
572
echo TILES006.ART
573
echo TILES007.ART
574
echo TILES008.ART
575
echo TILES009.ART
576
echo TILES010.ART
577
echo TILES012.ART
578
echo TILES014.ART
579
goto artfound_done
580
 
581
:confound
582
echo.
583
echo Problematic .con files have been found in your directory.
584
echo Unless you have knowingly made a modification to Vaca's programming,
17 h266 585
echo the presence of these files in your %exeproper% directory will
1 h266 586
echo cause Vaca+ to function incorrectly.
587
echo.
588
echo Vacation.con
589
echo VacaEDuke.con
590
echo VacaDefs.con
591
echo VacaUser.con
592
echo VacaDP.con
593
echo VacaDPCode.con
594
echo VacaDPXXX.con
595
echo VSounds.con
596
echo VBeachBabe.con
597
echo VBeachBall.con
598
echo VBeachBather.con
599
echo VDragon.con
600
echo VSeagull.con
601
echo.
602
echo IF THESE ARE THE ORIGINAL CARIBBEAN CON FILES, OR THEY COME FROM
17 h266 603
echo AN OUTDATED VERSION OF VACA+, REMOVE THEM FROM YOUR %exeproper% DIRECTORY
60 h266 604
echo IMMEDIATELY!
1 h266 605
echo Vaca+ uses modified .con files to fix programming errors created by
606
echo the original programmers. Due to improvements made to the levels,
607
echo Vaca+ will have major errors if the included .con files are not used.
608
goto confound_done
609
 
17 h266 610
:execheck
611
if exist %exename%.bat goto execheck_done
46 h266 612
if exist %exename%.exe goto recheck
613
set prevdir=%cd%
58 h266 614
if not "%cd%"=="%cd:~0,3%" chdir ..
46 h266 615
if not "%cd%"=="%prevdir%" goto execheck
17 h266 616
echo Warning: You don't have %exeproper% in your directory.
58 h266 617
chdir /d "%startdir%"
17 h266 618
goto execheck_done
1 h266 619
 
620
:nodir
621
echo.
622
echo Error: "vaca_plus" data directory not found.
623
echo Aborting launch.
624
echo.
625
pause
626
goto end
627
 
628
:end
54 h266 629
if "%debug%"=="1" echo.
630
if "%debug%"=="1" pause
1 h266 631
echo.
30 h266 632
popd
60 h266 633
endlocal
634
title %ComSpec%
635
color 07