Subversion Repositories vaca_plus

Rev

Rev 68 | Rev 76 | 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\
68 h266 396
"%kextract%" vacation.grp VACA*.MAP
1 h266 397
ren VACA1.MAP vaca1.map
398
ren VACA2.MAP vaca2.map
399
ren VACA3.MAP vaca3.map
400
ren VACA4.MAP vaca4.map
401
ren VACA5.MAP vaca5.map
402
ren VACA6.MAP vaca6.map
403
ren VACA7.MAP vaca7.map
404
ren VACASL.MAP vacasl.map
405
ren VACADM1.MAP vacadm1.map
406
ren VACADM2.MAP vacadm2.map
407
ren VACADM3.MAP vacadm3.map
408
ren VACADM4.MAP vacadm4.map
409
if exist vacapatch*.h266 del /f /q vacapatch*.h266
410
if exist vacaflag*.h266 del /f /q vacaflag*.h266
411
echo.
412
echo Map patching will now begin.
413
echo.
414
pause
415
echo
68 h266 416
"%bspatch%" vaca1.map vaca1.map vaca1.patch
417
"%bspatch%" vaca2.map vaca2.map vaca2.patch
418
"%bspatch%" vaca3.map vaca3.map vaca3.patch
419
"%bspatch%" vaca4.map vaca4.map vaca4.patch
420
"%bspatch%" vaca5.map vaca5.map vaca5.patch
421
"%bspatch%" vaca6.map vaca6.map vaca6.patch
422
"%bspatch%" vaca7.map vaca7.map vaca7.patch
423
"%bspatch%" vacasl.map vacasl.map vacasl.patch
424
"%bspatch%" vacadm1.map vacadm1.map vacadm1.patch
425
"%bspatch%" vacadm2.map vacadm2.map vacadm2.patch
426
"%bspatch%" vacadm3.map vacadm3.map vacadm3.patch
427
"%bspatch%" vacadm4.map vacadm4.map vacadm4.patch
1 h266 428
if exist vacapatch*.h266 del /f /q vacapatch*.h266
429
if exist vacaflag*.h266 del /f /q vacaflag*.h266
60 h266 430
echo Do not delete this file! You will be forced to reinstall Vaca+ and repatch the maps. >vacaflag_%addonver%.h266
17 h266 431
attrib +r vacaflag_%addonver%.h266
1 h266 432
echo.
60 h266 433
echo Patching complete!
1 h266 434
:scanning
46 h266 435
chdir "%exedir%"
1 h266 436
echo.
437
echo Scanning directory for potential problems.
438
if exist vaca1.mhk goto mhkfound
439
if exist vaca2.mhk goto mhkfound
440
if exist vaca3.mhk goto mhkfound
441
if exist vaca4.mhk goto mhkfound
442
if exist vaca5.mhk goto mhkfound
443
if exist vaca6.mhk goto mhkfound
444
if exist vaca7.mhk goto mhkfound
445
if exist vacasl.mhk goto mhkfound
446
if exist vacadm1.mhk goto mhkfound
447
if exist vacadm2.mhk goto mhkfound
448
if exist vacadm3.mhk goto mhkfound
449
if exist vacadm4.mhk goto mhkfound
450
if exist dcava0r.mhk goto mhkfound
451
if exist dcava1.mhk goto mhkfound
452
if exist _vacazoo.mhk goto mhkfound
453
:mhkfound_done
454
if exist TILES000.ART goto artfound
455
if exist TILES003.ART goto artfound
456
if exist TILES005.ART goto artfound
457
if exist TILES006.ART goto artfound
458
if exist TILES007.ART goto artfound
459
if exist TILES008.ART goto artfound
460
if exist TILES009.ART goto artfound
461
if exist TILES010.ART goto artfound
462
if exist TILES012.ART goto artfound
463
if exist TILES014.ART goto artfound
464
:artfound_done
27 h266 465
call :checksum 3d5092d053b23a823c1fa0ad0b0bdbc33b2a09bb DEFS.CON "VACA15 file detected and neutralized:"
466
call :checksum 807aaf21edd6e315bcb76dd54450f28616f84609 GAME.CON "VACA15 file detected and neutralized:"
467
call :checksum 6d29c3b19d26ff84edb104e68120edc5150066dd USER.CON "VACA15 file detected and neutralized:"
468
call :checksum 856374f3b42a1f2e355730ffc70497a3e6a49585 BEACHBAB.CON "VACA15 file detected and neutralized:"
469
call :checksum efb8168c6351d4b5e2c108ebc8189d4aba85ef35 BEACHBAL.CON "VACA15 file detected and neutralized:"
470
call :checksum a947947409a76ea7e6c46076a8cfbaa76f8b0172 BEACHBTH.CON "VACA15 file detected and neutralized:"
471
call :checksum 3c11b9d40a204849c2d7d6c10984397f3b6a444c DRAGON.CON "VACA15 file detected and neutralized:"
472
call :checksum 1417476e2cd8a3aef85dd9c1f36308f2123d8b54 SEAGULL.CON "VACA15 file detected and neutralized:"
473
call :checksum 0c1314dcd983b232f6afb941942e1ccbd7331ebb SOUNDS.CON "VACA15 file detected and neutralized:"
474
call :checksum 032a25b2cd98e19a5ff9a859ac27c91a4abfcb46 USER.CON "VACAPP file detected and neutralized:"
475
call :checksum 34ed9d27095d547e20fb9db87957d17ca9cb2046 DEFS.CON "VACA13 file detected and neutralized:"
476
call :checksum 3480ad8caca150b7c4678a42a606c0d9941db631 GAME.CON "VACA13 file detected and neutralized:"
477
call :checksum 74feb12ecfa57cb4c8e151593bff89e06b1ae11e USER.CON "VACA13 file detected and neutralized:"
478
call :checksum 840d701ca5e1e590ff03510eb5d63880f3e5be79 BEACHBAB.CON "VACA13 file detected and neutralized:"
479
call :checksum f4c7080384dde2f298e807b1bc9901e6e61ac617 BEACHBAL.CON "VACA13 file detected and neutralized:"
480
call :checksum 9965ae6e6b4337d06e1df22b41592b4cdfb69b2f BEACHBTH.CON "VACA13 file detected and neutralized:"
481
call :checksum d56a1ff075671d0919540086a062b37290113621 DRAGON.CON "VACA13 file detected and neutralized:"
482
call :checksum 06be81473bad004296324b2d63f4730ac2160aa6 SEAGULL.CON "VACA13 file detected and neutralized:"
483
call :checksum ef149cd90764bae685d9fab83eb2fe719486dce3 SOUNDS.CON "VACA13 file detected and neutralized:"
1 h266 484
if exist Vacation.con goto confound
485
if exist VacaEDuke.con goto confound
486
if exist VacaDefs.con goto confound
487
if exist VacaUser.con goto confound
488
if exist VacaDP.con goto confound
489
if exist VacaDPCode.con goto confound
490
if exist VacaDPXXX.con goto confound
491
if exist VSounds.con goto confound
492
if exist VBeachBabe.con goto confound
493
if exist VBeachBall.con goto confound
494
if exist VBeachBather.con goto confound
495
if exist VDragon.con goto confound
496
if exist VSeagull.con goto confound
497
:confound_done
75 h266 498
call :conprotect
46 h266 499
chdir /d "%addondir%"
1 h266 500
echo.
501
pause
502
goto restart
503
 
75 h266 504
:conprotect
505
pushd "%exedir%"
506
if not exist GAME.CON "%kextract%" DUKE3D.GRP GAME.CON
507
if not exist DEFS.CON "%kextract%" DUKE3D.GRP DEFS.CON
508
if not exist USER.CON "%kextract%" DUKE3D.GRP USER.CON
509
popd
510
goto :eof
511
 
27 h266 512
:checksum
68 h266 513
if not exist "%sha1sum%" (
514
echo "%sha1sum%" not found.
40 h266 515
goto :eof
516
)
27 h266 517
if not exist "%~2" goto :eof
68 h266 518
echo %~1 *%~2 | "%sha1sum%" --status --check -
27 h266 519
if "%ERRORLEVEL%"=="0" (
30 h266 520
ren "%~2" "VacaOld_%addonver%_%~nx2"
27 h266 521
echo %~3 %~nx2
522
)
523
goto :eof
524
 
24 h266 525
:nopatch
1 h266 526
echo.
24 h266 527
echo Error: You don't have all the *.patch files in your directory.
1 h266 528
echo Aborting installation.
529
echo Map patching is required for Vaca+ to function correctly.
530
echo.
531
pause
532
goto end
533
 
534
:mhkfound
535
echo.
536
echo Problematic .mhk files have been found in your directory.
537
echo Unless you have knowingly made a modification to Vaca's map hacks,
17 h266 538
echo the presence of these files in your %exeproper% directory will
1 h266 539
echo cause Vaca+ to function incorrectly.
540
echo.
541
echo vaca1.mhk
542
echo vaca2.mhk
543
echo vaca3.mhk
544
echo vaca4.mhk
545
echo vaca5.mhk
546
echo vaca6.mhk
547
echo vaca7.mhk
548
echo vacasl.mhk
549
echo vacadm1.mhk
550
echo vacadm2.mhk
551
echo vacadm3.mhk
552
echo vacadm4.mhk
553
echo dcava0r.mhk
554
echo dcava1.mhk
555
echo _vacazoo.mhk
556
goto mhkfound_done
557
 
558
:artfound
559
echo.
560
echo Problematic .art files have been found in your directory.
561
echo Unless you have knowingly made a modification to Vaca's art,
17 h266 562
echo the presence of these files in your %exeproper% directory will
1 h266 563
echo cause Vaca+ to function incorrectly.
564
echo.
565
echo TILES000.ART
566
echo TILES003.ART
567
echo TILES005.ART
568
echo TILES006.ART
569
echo TILES007.ART
570
echo TILES008.ART
571
echo TILES009.ART
572
echo TILES010.ART
573
echo TILES012.ART
574
echo TILES014.ART
575
goto artfound_done
576
 
577
:confound
578
echo.
579
echo Problematic .con files have been found in your directory.
580
echo Unless you have knowingly made a modification to Vaca's programming,
17 h266 581
echo the presence of these files in your %exeproper% directory will
1 h266 582
echo cause Vaca+ to function incorrectly.
583
echo.
584
echo Vacation.con
585
echo VacaEDuke.con
586
echo VacaDefs.con
587
echo VacaUser.con
588
echo VacaDP.con
589
echo VacaDPCode.con
590
echo VacaDPXXX.con
591
echo VSounds.con
592
echo VBeachBabe.con
593
echo VBeachBall.con
594
echo VBeachBather.con
595
echo VDragon.con
596
echo VSeagull.con
597
echo.
598
echo IF THESE ARE THE ORIGINAL CARIBBEAN CON FILES, OR THEY COME FROM
17 h266 599
echo AN OUTDATED VERSION OF VACA+, REMOVE THEM FROM YOUR %exeproper% DIRECTORY
60 h266 600
echo IMMEDIATELY!
1 h266 601
echo Vaca+ uses modified .con files to fix programming errors created by
602
echo the original programmers. Due to improvements made to the levels,
603
echo Vaca+ will have major errors if the included .con files are not used.
604
goto confound_done
605
 
17 h266 606
:execheck
607
if exist %exename%.bat goto execheck_done
46 h266 608
if exist %exename%.exe goto recheck
609
set prevdir=%cd%
58 h266 610
if not "%cd%"=="%cd:~0,3%" chdir ..
46 h266 611
if not "%cd%"=="%prevdir%" goto execheck
17 h266 612
echo Warning: You don't have %exeproper% in your directory.
58 h266 613
chdir /d "%startdir%"
17 h266 614
goto execheck_done
1 h266 615
 
616
:nodir
617
echo.
618
echo Error: "vaca_plus" data directory not found.
619
echo Aborting launch.
620
echo.
621
pause
622
goto end
623
 
624
:end
54 h266 625
if "%debug%"=="1" echo.
626
if "%debug%"=="1" pause
1 h266 627
echo.
30 h266 628
popd
60 h266 629
endlocal
630
title %ComSpec%
631
color 07