Subversion Repositories vaca_plus

Rev

Rev 42 | Rev 50 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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