Subversion Repositories vaca_plus

Rev

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

  1. @echo off
  2. @color 0C
  3.  
  4. :restart
  5. title Duke Caribbean: Life's A Beach Plus Batch Launcher
  6.  
  7. set dir=%cd%
  8. set eduke32dir=%~dp0
  9. set vacadir=%~dp0
  10. set vacahrpdir=%~dp0
  11. set vacaver=30
  12. set hrp=
  13. set hrpu=
  14.  
  15. :title
  16. echo             ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  17. echo             º Duke Caribbean: Life's A Beach Plus Batch Launcher º
  18. echo             ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  19. echo                               ³ By Hendricks266 ³
  20. echo                               ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  21. echo.
  22. echo You are playing Sunstorm Interactive's Duke Caribbean: Life's A Beach with the
  23. echo various enhancements of Duke Caribbean: Life's A Beach Plus, maintained by
  24. echo Hendricks266.
  25. echo.
  26.  
  27. :recheck
  28. if not exist eduke32.exe goto eduke32check
  29. :eduke32check_done
  30. set eduke32dir=%cd%
  31. if "%debug%"=="1" echo DEBUG: EDuke32 Directory: "%eduke32dir%"
  32.  
  33. if not exist vaca_plus\ goto nodir
  34. if not exist duke3d.grp echo Warning: You don't have Duke3D.grp in your directory.
  35.  
  36. if exist vacation\ set vacahrpdir=%cd%
  37. :vacadircheck
  38. if exist VACATION.PRG ren VACATION.PRG vacation.grp
  39. cd vaca_plus
  40. set vacadir=%cd%
  41. if exist vacation\ set vacahrpdir=%cd%
  42. if exist vaca_plus\ goto vacadircheck
  43. if "%debug%"=="1" echo DEBUG: Vaca+ Directory: "%vacadir%".
  44. if "%debug%"=="1" echo DEBUG: VacaHRP Directory: "%vacahrpdir%".
  45.  
  46. if not exist "%vacadir%\VACATION.GRP" (
  47. if exist "%eduke32dir%\VACATION.GRP" (
  48. move /y "%eduke32dir%\VACATION.GRP" "%vacadir%\"
  49. ren "%vacadir%\VACATION.GRP" vacation.grp
  50. ) else (
  51. goto novacagrp
  52. )
  53. )
  54.  
  55. :novacagrp_done
  56. if not exist vacaflag%vacaver%.h266 goto extract
  57. if not exist vaca1.map goto extract
  58. if not exist vaca2.map goto extract
  59. if not exist vaca3.map goto extract
  60. if not exist vaca4.map goto extract
  61. if not exist vaca5.map goto extract
  62. if not exist vaca6.map goto extract
  63. if not exist vaca7.map goto extract
  64. if not exist vacadm1.map goto extract
  65. if not exist vacadm2.map goto extract
  66. if not exist vacadm3.map goto extract
  67. if not exist vacadm4.map goto extract
  68. if not exist vacasl.map goto extract
  69. cd "%eduke32dir%"
  70. echo.
  71. echo.
  72. echo.
  73. echo.
  74.  
  75. :init
  76. pause
  77. echo.
  78. goto check
  79.  
  80. :check
  81.  
  82. if exist duke3d_hrp.zip set hrp=-gduke3d_hrp.zip
  83. if exist hrp_update.zip set hrpu=-ghrp_update.zip
  84.  
  85. echo.
  86. echo Launching Duke Nukem 3D . . .
  87. echo Thanks for playing!
  88. echo.
  89. echo Please do not close this window.
  90. echo It will close automatically.
  91.  
  92. ::if exist *.art ren *.art *.abk
  93.  
  94. set args=-xVacaEDuke.con -hvacation.def
  95. if exist "%vacadir%" set args=%args% -j"%vacadir:\=/%"
  96. if exist "%vacahrpdir%" set args=%args% -j"%vacahrpdir:\=/%"
  97. set args=%args% -gvacation.grp %hrp% %hrpu% %*
  98.  
  99. set exe=eduke32
  100. if "%debug%"=="1" set exe=eduke32.debug
  101.  
  102. if exist %exe%.bat (
  103. call %exe%.bat %args%
  104. ) else (
  105. start %exe%.exe %args%
  106. )
  107.  
  108. ::if exist *.abk ren *.abk *.art
  109.  
  110. goto end
  111.  
  112. :noduke
  113. echo.
  114.  
  115. echo Aborting launch.
  116. echo.
  117. pause
  118. goto end
  119.  
  120. :novacagrp
  121. echo.
  122. echo Error: You don't have VACATION.GRP in your directory.
  123. echo.
  124. if exist VACA15.SSI goto ssi1
  125. if exist VACAPP.SSI goto ssi2
  126. if exist VACA13.SSI goto ssi3
  127. echo You don't have the SSI files in your directory.
  128. :retry
  129. echo.
  130. set cddrive=
  131. set /p cddrive=What is the drive letter that your Caribbean CD is in?
  132. echo.
  133. if not '%cddrive%'=='' set cddrive=%cddrive:~0,1%
  134. if '%cddrive%'=='' goto cdno
  135. if not exist %cddrive%:\ goto cdno
  136. if not exist %cddrive%:\* goto cdno
  137. if not exist %cddrive%:\VACATION\VACA13.SSI goto cdw
  138. copy %cddrive%:\VACATION\*.SSI .\
  139. echo.
  140. type DVINTRO.TXT
  141. goto novacagrp_done
  142.  
  143. :cdno
  144. echo '%cddrive%' is not valid.  Please try again.
  145. goto retry
  146.  
  147. :cdw
  148. echo '%cddrive%' is not the correct disc.  Please try again.
  149. goto retry
  150.  
  151. :ssi1
  152. echo You do have the Caribbean SSI file in this directory, but it has not been
  153. echo extracted.  It will now be unpacked.
  154. echo.
  155. pause
  156. md vaca15ssi
  157. cd vaca15ssi
  158. if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
  159. ..\utils\windows\win32\unpackssi.exe ..\VACA15.SSI
  160. move /y VACATION.PRG ..\vacation.grp
  161. cd ..
  162. if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
  163. rd /s /q vaca15ssi
  164. goto novacagrp_done
  165.  
  166. :ssi2
  167. echo You do have the Caribbean SSI file in this directory, but it has not been
  168. echo extracted.  It will now be unpacked.
  169. echo.
  170. pause
  171. md vacappssi
  172. cd vacappssi
  173. if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
  174. ..\utils\windows\win32\unpackssi.exe ..\VACAPP.SSI
  175. move /y VACATION.PRG ..\vacation.grp
  176. cd ..
  177. if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
  178. rd /s /q vacappssi
  179. goto novacagrp_done
  180.  
  181. :ssi3
  182. echo You do have the Caribbean SSI file in this directory, but it has not been
  183. echo extracted.  It will now be unpacked.
  184. echo.
  185. pause
  186. md vaca13ssi
  187. cd vaca13ssi
  188. if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
  189. ..\utils\windows\win32\unpackssi.exe ..\VACA13.SSI
  190. ren *.TRA *.ART
  191. ren *.PCS *.SCP
  192. ren VACA1.MAP vaca1.map
  193. ren VACA2.MAP vaca2.map
  194. ren VACA3.MAP vaca3.map
  195. ren VACA4.MAP vaca4.map
  196. ren VACA5.MAP vaca5.map
  197. ren VACA6.MAP vaca6.map
  198. ren VACA7.MAP vaca7.map
  199. ren VACASL.MAP vacasl.map
  200. ren VACADM1.MAP vacadm1.map
  201. ren VACADM2.MAP vacadm2.map
  202. ren VACADM3.MAP vacadm3.map
  203. ren VACADM4.MAP vacadm4.map
  204. ren *.NOC *.CON
  205. ren *.DIM *.MID
  206. ren *.MNA *.ANM
  207. ren *.COV *.VOC
  208. ren *.OMD *.DMO
  209. ren DUKETEAM.ANM RADLOGO.ANM
  210. ..\utils\windows\win32\kgroup.exe VACATION.GRP *.ART *.SCP *.map *.MID *.ANM *.VOC *.DMO CARIB.EXE
  211. move /y VACATION.GRP ..\vacation.grp
  212. move /y *.map ..\
  213. cd ..
  214. if "%debug%"=="1" echo DEBUG: Changing directory to "%cd%".
  215. rd /s /q vaca13ssi
  216. goto novacagrp_done
  217.  
  218. :extract
  219. echo.
  220. echo              ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  221. echo              º Duke Caribbean: Life's A Beach Plus Installation º
  222. echo              ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  223. echo                               ³ By Hendricks266 ³
  224. echo                               ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  225. echo.
  226. if not exist vaca1.ips goto noips
  227. if not exist vaca2.ips goto noips
  228. if not exist vaca3.ips goto noips
  229. if not exist vaca4.ips goto noips
  230. if not exist vaca5.ips goto noips
  231. if not exist vaca6.ips goto noips
  232. if not exist vaca7.ips goto noips
  233. if not exist vacasl.ips goto noips
  234. if not exist vacadm1.ips goto noips
  235. if not exist vacadm2.ips goto noips
  236. if not exist vacadm3.ips goto noips
  237. if not exist vacadm4.ips goto noips
  238. md vaca_preserve
  239. if exist vaca*.map move /y vaca*.map vaca_preserve\
  240. if exist "%eduke32dir%\vaca*.map" move /y "%eduke32dir%\vaca*.map" vaca_preserve\
  241. utils\windows\win32\kextract.exe VACATION.GRP VACA*.MAP
  242. ren VACA1.MAP vaca1.map
  243. ren VACA2.MAP vaca2.map
  244. ren VACA3.MAP vaca3.map
  245. ren VACA4.MAP vaca4.map
  246. ren VACA5.MAP vaca5.map
  247. ren VACA6.MAP vaca6.map
  248. ren VACA7.MAP vaca7.map
  249. ren VACASL.MAP vacasl.map
  250. ren VACADM1.MAP vacadm1.map
  251. ren VACADM2.MAP vacadm2.map
  252. ren VACADM3.MAP vacadm3.map
  253. ren VACADM4.MAP vacadm4.map
  254. if exist vacapatch*.h266 del /f /q vacapatch*.h266
  255. if exist vacaflag*.h266 del /f /q vacaflag*.h266
  256. echo.
  257. echo Map patching will now begin.
  258. echo.
  259. pause
  260. echo
  261. utils\windows\win32\uips.exe a vaca1.ips vaca1.map
  262. utils\windows\win32\uips.exe a vaca2.ips vaca2.map
  263. utils\windows\win32\uips.exe a vaca3.ips vaca3.map
  264. utils\windows\win32\uips.exe a vaca4.ips vaca4.map
  265. utils\windows\win32\uips.exe a vaca5.ips vaca5.map
  266. utils\windows\win32\uips.exe a vaca6.ips vaca6.map
  267. utils\windows\win32\uips.exe a vaca7.ips vaca7.map
  268. utils\windows\win32\uips.exe a vacasl.ips vacasl.map
  269. utils\windows\win32\uips.exe a vacadm1.ips vacadm1.map
  270. utils\windows\win32\uips.exe a vacadm2.ips vacadm2.map
  271. utils\windows\win32\uips.exe a vacadm3.ips vacadm3.map
  272. utils\windows\win32\uips.exe a vacadm4.ips vacadm4.map
  273. if exist vacapatch*.h266 del /f /q vacapatch*.h266
  274. if exist vacaflag*.h266 del /f /q vacaflag*.h266
  275. echo Do not delete this file! You will be forced to reinstall Vaca+ and repatch the maps. >vacaflag%vacaver%.h266
  276. attrib +r vacaflag%vacaver%.h266
  277. echo.
  278. echo Patching complete!
  279. :scanning
  280. cd "%eduke32dir%"
  281. echo.
  282. echo Scanning directory for potential problems.
  283. if exist vaca1.mhk goto mhkfound
  284. if exist vaca2.mhk goto mhkfound
  285. if exist vaca3.mhk goto mhkfound
  286. if exist vaca4.mhk goto mhkfound
  287. if exist vaca5.mhk goto mhkfound
  288. if exist vaca6.mhk goto mhkfound
  289. if exist vaca7.mhk goto mhkfound
  290. if exist vacasl.mhk goto mhkfound
  291. if exist vacadm1.mhk goto mhkfound
  292. if exist vacadm2.mhk goto mhkfound
  293. if exist vacadm3.mhk goto mhkfound
  294. if exist vacadm4.mhk goto mhkfound
  295. if exist dcava0r.mhk goto mhkfound
  296. if exist dcava1.mhk goto mhkfound
  297. if exist _vacazoo.mhk goto mhkfound
  298. :mhkfound_done
  299. if exist TILES000.ART goto artfound
  300. if exist TILES003.ART goto artfound
  301. if exist TILES005.ART goto artfound
  302. if exist TILES006.ART goto artfound
  303. if exist TILES007.ART goto artfound
  304. if exist TILES008.ART goto artfound
  305. if exist TILES009.ART goto artfound
  306. if exist TILES010.ART goto artfound
  307. if exist TILES012.ART goto artfound
  308. if exist TILES014.ART goto artfound
  309. :artfound_done
  310. if exist Vacation.con goto confound
  311. if exist VacaEDuke.con goto confound
  312. if exist VacaDefs.con goto confound
  313. if exist VacaUser.con goto confound
  314. if exist VacaDP.con goto confound
  315. if exist VacaDPCode.con goto confound
  316. if exist VacaDPXXX.con goto confound
  317. if exist VSounds.con goto confound
  318. if exist VBeachBabe.con goto confound
  319. if exist VBeachBall.con goto confound
  320. if exist VBeachBather.con goto confound
  321. if exist VDragon.con goto confound
  322. if exist VSeagull.con goto confound
  323. :confound_done
  324. echo.
  325. pause
  326. goto restart
  327.  
  328. :noips
  329. echo.
  330. echo Error: You don't have all the *.ips files in your directory.
  331. echo Aborting installation.
  332. echo Map patching is required for Vaca+ to function correctly.
  333. echo.
  334. pause
  335. goto end
  336.  
  337. :mhkfound
  338. echo.
  339. echo Problematic .mhk files have been found in your directory.
  340. echo Unless you have knowingly made a modification to Vaca's map hacks,
  341. echo the presence of these files in your EDuke32 directory will
  342. echo cause Vaca+ to function incorrectly.
  343. echo.
  344. echo vaca1.mhk
  345. echo vaca2.mhk
  346. echo vaca3.mhk
  347. echo vaca4.mhk
  348. echo vaca5.mhk
  349. echo vaca6.mhk
  350. echo vaca7.mhk
  351. echo vacasl.mhk
  352. echo vacadm1.mhk
  353. echo vacadm2.mhk
  354. echo vacadm3.mhk
  355. echo vacadm4.mhk
  356. echo dcava0r.mhk
  357. echo dcava1.mhk
  358. echo _vacazoo.mhk
  359. goto mhkfound_done
  360.  
  361. :artfound
  362. echo.
  363. echo Problematic .art files have been found in your directory.
  364. echo Unless you have knowingly made a modification to Vaca's art,
  365. echo the presence of these files in your EDuke32 directory will
  366. echo cause Vaca+ to function incorrectly.
  367. echo.
  368. echo TILES000.ART
  369. echo TILES003.ART
  370. echo TILES005.ART
  371. echo TILES006.ART
  372. echo TILES007.ART
  373. echo TILES008.ART
  374. echo TILES009.ART
  375. echo TILES010.ART
  376. echo TILES012.ART
  377. echo TILES014.ART
  378. goto artfound_done
  379.  
  380. :confound
  381. echo.
  382. echo Problematic .con files have been found in your directory.
  383. echo Unless you have knowingly made a modification to Vaca's programming,
  384. echo the presence of these files in your EDuke32 directory will
  385. echo cause Vaca+ to function incorrectly.
  386. echo.
  387. echo Vacation.con
  388. echo VacaEDuke.con
  389. echo VacaDefs.con
  390. echo VacaUser.con
  391. echo VacaDP.con
  392. echo VacaDPCode.con
  393. echo VacaDPXXX.con
  394. echo VSounds.con
  395. echo VBeachBabe.con
  396. echo VBeachBall.con
  397. echo VBeachBather.con
  398. echo VDragon.con
  399. echo VSeagull.con
  400. echo.
  401. echo IF THESE ARE THE ORIGINAL CARIBBEAN CON FILES, OR THEY COME FROM
  402. echo AN OUTDATED VERSION OF VACA+, REMOVE THEM FROM YOUR EDUKE32 DIRECTORY
  403. echo IMMEDIATELY!
  404. echo Vaca+ uses modified .con files to fix programming errors created by
  405. echo the original programmers. Due to improvements made to the levels,
  406. echo Vaca+ will have major errors if the included .con files are not used.
  407. goto confound_done
  408.  
  409. :eduke32check
  410. if exist eduke32.bat goto eduke32check_done
  411. if exist ..\eduke32.exe (
  412. cd ..
  413. goto recheck
  414. )
  415. if exist ..\..\eduke32.exe (
  416. cd ..\..
  417. goto recheck
  418. )
  419. if exist ..\..\..\eduke32.exe (
  420. cd ..\..\..
  421. goto recheck
  422. )
  423. if exist ..\eduke32.bat (
  424. cd ..
  425. goto eduke32check_done
  426. )
  427. if exist ..\..\eduke32.bat (
  428. cd ..\..
  429. goto eduke32check_done
  430. )
  431. if exist ..\..\..\eduke32.bat (
  432. cd ..\..\..
  433. goto eduke32check_done
  434. )
  435. echo Warning: You don't have EDuke32 in your directory.
  436. goto eduke32check_done
  437.  
  438. :nodir
  439. echo.
  440. echo Error: "vaca_plus" data directory not found.
  441. echo Aborting launch.
  442. echo.
  443. pause
  444. goto end
  445.  
  446. :end
  447. echo.
  448. @color 07
  449. @title %ComSpec%
  450. cd %dir%
  451.