Subversion Repositories nw_plus

Rev

Rev 6 | 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: Nuclear Winter Plus Batch Launcher
  6.  
  7. set dir=%cd%
  8. set nwver=30
  9. set hrp=
  10. set hrpu=
  11.  
  12. :title
  13. echo.
  14. echo                   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  15. echo                   º Duke: Nuclear Winter Plus Batch Launcher º
  16. echo                   ÈÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍͼ
  17. echo                                ³ By Hendricks266 ³
  18. echo                                ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  19. echo.
  20. echo You are playing Simply Silly Software's Duke: Nuclear Winter with the various
  21. echo enhancements of Duke: Nuclear Winter Plus, maintained by Hendricks266.
  22. echo.
  23. :recheck
  24. if not exist eduke32.exe goto eduke32check
  25. :eduke32check_done
  26. if exist NWDuke.rt_ del /f /q NWDuke.rt_
  27. if exist NWSanta.grp del /f /q NWSanta.grp
  28. if not exist nw_plus\ goto nodir
  29. if not exist duke3d.grp Warning: You don't have Duke3D.grp in your directory.
  30. if exist NWINTER.GRP move NWINTER.GRP nw_plus\
  31. cd nw_plus
  32. if not exist NWINTER.GRP goto nonwgrp
  33. :nonwgrp_done
  34. if not exist nwflag%nwver%.h266 goto extract
  35. if not exist nwl1.map goto extract
  36. if not exist nwl2.map goto extract
  37. if not exist nwl3.map goto extract
  38. if not exist nwl4.map goto extract
  39. if not exist nwl5.map goto extract
  40. if not exist nwl6.map goto extract
  41. if not exist nwl7.map goto extract
  42. if not exist nwl8.map goto extract
  43. cd ..
  44. echo.
  45. echo To switch your character, open the console (~) and type one of the following:
  46. echo Duke: "setvar skin 0".
  47. echo Santa: "setvar skin 1".
  48. echo.
  49.  
  50. :init
  51. pause
  52. echo.
  53. goto check
  54.  
  55. :check
  56.  
  57. if exist duke3d_hrp.zip set hrp=/gduke3d_hrp.zip
  58. if exist hrp_update.zip set hrpu=/ghrp_update.zip
  59.  
  60. echo.
  61. echo Launching Duke Nukem 3D . . .
  62. echo Thanks for playing!
  63. echo.
  64. echo Please leave this window open for the entire duration of your game.
  65. echo It will close automatically.
  66.  
  67. ::if exist *.art ren *.art *.abk
  68.  
  69. eduke32 /xNWEDuke.con /hnwinter.def /jnw_plus /gNWINTER.GRP %hrp% %hrpu% %*
  70.  
  71. ::if exist *.abk ren *.abk *.art
  72.  
  73. goto end
  74.  
  75. :nonwgrp
  76. echo.
  77. echo Error: You don't have NWINTER.GRP in your directory.
  78. :retry
  79. echo.
  80. set cddrive=
  81. set /p cddrive=What is the drive letter that your Nuclear Winter CD is in?
  82. echo.
  83. if not '%cddrive%'=='' set cddrive=%cddrive:~0,1%
  84. if '%cddrive%'=='' goto cdno
  85. if not exist %cddrive%:\ goto cdno
  86. if not exist %cddrive%:\* goto cdno
  87. if not exist %cddrive%:\GAMEDATA\NWINTER.GRP goto cdw
  88. copy %cddrive%:GAMEDATA\NWINTER.GRP .\
  89. pause
  90. echo.
  91. type NWINTRO.TXT
  92. echo.
  93. pause
  94. goto nonwgrp_done
  95.  
  96. :cdno
  97. echo '%cddrive%' is not valid.  Please try again.
  98. goto retry
  99.  
  100. :cdw
  101. echo '%cddrive%' is not the correct disc.  Please try again.
  102. goto retry
  103.  
  104. :extract
  105. echo.
  106. echo                   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  107. echo                   º Duke: Nuclear Winter Plus Installation º
  108. echo                   ÈÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍͼ
  109. echo                               ³ By Hendricks266 ³
  110. echo                               ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  111. echo.
  112. if not exist nwl1.ips goto noips
  113. if not exist nwl2.ips goto noips
  114. if not exist nwl3.ips goto noips
  115. if not exist nwl4.ips goto noips
  116. if not exist nwl5.ips goto noips
  117. if not exist nwl6.ips goto noips
  118. if not exist nwl7.ips goto noips
  119. if not exist nwl8.ips goto noips
  120. if exist nwl*.map del /f /q nwl*.map
  121. if exist ..\nwl*.map del /f /q ..\nwl*.map
  122. utils\windows\win32\kextract.exe NWINTER.GRP E2L*.MAP
  123. ren E2L1.MAP nwl1.map
  124. ren E2L2.MAP nwl2.map
  125. ren E2L3.MAP nwl3.map
  126. ren E2L4.MAP nwl4.map
  127. ren E2L5.MAP nwl5.map
  128. ren E2L6.MAP nwl6.map
  129. ren E2L7.MAP nwl7.map
  130. ren E2L8.MAP nwl8.map
  131. if exist nwpatch*.h266 del /f /q nwpatch*.h266
  132. if exist nwflag*.h266 del /f /q nwflag*.h266
  133. echo.
  134. echo Map patching will now begin.
  135. echo.
  136. pause
  137. echo
  138. utils\windows\win32\uips.exe a nwl1.ips nwl1.map
  139. utils\windows\win32\uips.exe a nwl2.ips nwl2.map
  140. utils\windows\win32\uips.exe a nwl3.ips nwl3.map
  141. utils\windows\win32\uips.exe a nwl4.ips nwl4.map
  142. utils\windows\win32\uips.exe a nwl5.ips nwl5.map
  143. utils\windows\win32\uips.exe a nwl6.ips nwl6.map
  144. utils\windows\win32\uips.exe a nwl7.ips nwl7.map
  145. utils\windows\win32\uips.exe a nwl8.ips nwl8.map
  146. if exist nwpatch*.h266 del /f /q nwpatch*.h266
  147. if exist nwflag*.h266 del /f /q nwflag*.h266
  148. echo Do not delete this file! You will be force to reinstall NW+ and repatch the maps. >nwflag%nwver%.h266
  149. attrib +r nwflag%nwver%.h266
  150. del /f /q nwl1.ips
  151. del /f /q nwl2.ips
  152. del /f /q nwl3.ips
  153. del /f /q nwl4.ips
  154. del /f /q nwl5.ips
  155. del /f /q nwl6.ips
  156. del /f /q nwl7.ips
  157. del /f /q nwl8.ips
  158. echo.
  159. echo Patching complete!
  160. :scanning
  161. cd ..
  162. echo.
  163. echo Scanning directory for potential problems.
  164. if exist nwl1.mhk goto mhkfound
  165. if exist nwl1demo.mhk goto mhkfound
  166. if exist nwl2.mhk goto mhkfound
  167. if exist nwl3.mhk goto mhkfound
  168. if exist nwl4.mhk goto mhkfound
  169. if exist nwl5.mhk goto mhkfound
  170. if exist nwl6.mhk goto mhkfound
  171. if exist nwl7.mhk goto mhkfound
  172. if exist nwl8.mhk goto mhkfound
  173. if exist _nwzoo.mhk goto mhkfound
  174. :mhkfound_done
  175. if exist TILES005.ART goto artfound
  176. if exist TILES006.ART goto artfound
  177. if exist TILES007.ART goto artfound
  178. if exist TILES008.ART goto artfound
  179. if exist TILES009.ART goto artfound
  180. if exist TILES012.ART goto artfound
  181. if exist TILES013.ART goto artfound
  182. if exist TILES014.ART goto artfound
  183. if exist TILES015.ART goto artfound
  184. :artfound_done
  185. if exist NWinter.con goto confound
  186. if exist NWActor.con goto confound
  187. if exist NWDefs.con goto confound
  188. if exist NWDP.con goto confound
  189. if exist NWDPCode.con goto confound
  190. if exist NWDPXXX.con goto confound
  191. if exist NWEDuke.con goto confound
  192. if exist NWSnow.con goto confound
  193. if exist NWUser.con goto confound
  194. :confound_done
  195. echo.
  196. pause
  197. goto restart
  198.  
  199. :noips
  200. echo.
  201. echo Error: You don't have all the *.ips files in your directory.
  202. echo Aborting installation.
  203. echo Map patching is required for NW+ to function correctly.
  204. echo.
  205. pause
  206. goto end
  207.  
  208. :mhkfound
  209. echo.
  210. echo Problematic .mhk files have been found in your directory.
  211. echo Unless you have knowingly made a modification to NW's map hacks,
  212. echo the presence of these files in your EDuke32 directory will
  213. echo cause NW+ to function incorrectly.
  214. echo.
  215. echo nwl1.mhk
  216. echo nwl1demo.mhk
  217. echo nwl2.mhk
  218. echo nwl3.mhk
  219. echo nwl4.mhk
  220. echo nwl5.mhk
  221. echo nwl6.mhk
  222. echo nwl7.mhk
  223. echo nwl8.mhk
  224. echo _nwzoo.mhk
  225. goto mhkfound_done
  226.  
  227. :artfound
  228. echo.
  229. echo Problematic .art files have been found in your directory.
  230. echo Unless you have knowingly made a modification to NW's art,
  231. echo the presence of these files in your EDuke32 directory will
  232. echo cause NW+ to function incorrectly.
  233. echo.
  234. echo TILES005.ART
  235. echo TILES006.ART
  236. echo TILES007.ART
  237. echo TILES008.ART
  238. echo TILES009.ART
  239. echo TILES012.ART
  240. echo TILES013.ART
  241. echo TILES014.ART
  242. echo TILES015.ART
  243. goto artfound_done
  244.  
  245. :confound
  246. echo.
  247. echo Problematic .con files have been found in your directory.
  248. echo Unless you have knowingly made a modification to NW's programming,
  249. echo the presence of these files in your EDuke32 directory will
  250. echo cause NW+ to function incorrectly.
  251. echo.
  252. echo NWinter.con
  253. echo NWEDuke.con
  254. echo NWDefs.con
  255. echo NWUser.con
  256. echo NWDP.con
  257. echo NWDPCode.con
  258. echo NWDPXXX.con
  259. echo NWActor.con
  260. echo NWSnow.con
  261. echo.
  262. echo IF THESE ARE THE ORIGINAL NUCLEAR WINTER CON FILES, OR THEY COME FROM
  263. echo AN OUTDATED VERSION OF NW+, REMOVE THEM FROM YOUR EDUKE32 DIRECTORY
  264. echo IMMEDIATELY!
  265. echo NW+ uses modified .con files to fix programming errors created by
  266. echo the original programmers. Due to improvements made to the levels,
  267. echo NW+ will have major errors if the included .con files are not used.
  268. goto confound_done
  269.  
  270. :eduke32check
  271. if exist eduke32.bat goto eduke32check_done
  272. if exist ..\eduke32.exe (
  273. cd ..
  274. goto recheck
  275. )
  276. if exist ..\..\eduke32.exe (
  277. cd ..\..
  278. goto recheck
  279. )
  280. if exist ..\..\..\eduke32.exe (
  281. cd ..\..\..
  282. goto recheck
  283. )
  284. if exist ..\eduke32.bat (
  285. cd ..
  286. goto eduke32check_done
  287. )
  288. if exist ..\..\eduke32.bat (
  289. cd ..\..
  290. goto eduke32check_done
  291. )
  292. if exist ..\..\..\eduke32.bat (
  293. cd ..\..\..
  294. goto eduke32check_done
  295. )
  296. echo Warning: You don't have EDuke32 in your directory.
  297. goto eduke32check_done
  298.  
  299. :nodir
  300. echo.
  301. echo Error: "nw_plus" data directory not found.
  302. echo Aborting launch.
  303. echo.
  304. pause
  305. goto end
  306.  
  307. :end
  308. set hrp=
  309. set hrpu=
  310. echo.
  311. @color 07
  312. @title %ComSpec%
  313. cd %dir%
  314. @echo on
  315. goto :eof
  316.