Subversion Repositories dc_hrp

Rev

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

  1. @echo off
  2. color 0C
  3. setlocal ENABLEEXTENSIONS DISABLEDELAYEDEXPANSION
  4. pushd "%~dp0"
  5. set startdir=%cd%
  6.  
  7. :restart
  8. title Duke It Out In D.C. Launcher
  9. if "%editor%"=="1" title Duke It Out In D.C. Editor Launcher
  10.  
  11. set exedir=%startdir%
  12.  
  13. set exename=eduke32
  14. set exeproper=EDuke32
  15. set action=playing
  16.  
  17. if "%editor%"=="1" (
  18. set exename=mapster32
  19. set exeproper=Mapster32
  20. set action=editing
  21. )
  22.  
  23. :title
  24. echo                             ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  25. echo                             º Duke It Out In D.C. º
  26. echo                             ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  27. echo.
  28. echo.
  29. echo.
  30. echo You are %action% Sunstorm Interactive's Duke It Out In D.C.
  31. echo.
  32.  
  33. if "%xxx%"=="1" echo Using XXX mode.
  34. if "%dp%"=="1" echo Using Duke Plus by DeeperThought.
  35. if "%debug%"=="1" echo Using debug mode.
  36.  
  37. if "%debug%"=="1" echo DEBUG: Command Line Input: %*
  38.  
  39. :recheck
  40. if not exist %exename%.exe goto execheck
  41. :execheck_done
  42. set exedir=%cd%
  43. if "%debug%"=="1" echo DEBUG: %exeproper% Directory: "%exedir%"
  44.  
  45. :: if not exist dc_hrp\ goto nodir
  46. if not exist duke3d.grp echo Warning: You don't have Duke3D.grp in your directory.
  47.  
  48. set sha1sum=%startdir%\utils\windows\win32\sha1sum.exe
  49. set kextract=%startdir%\utils\windows\win32\kextract.exe
  50. if "%debug%"=="1" set kextract=%startdir%\utils\windows\win32\kextract.debug.exe
  51.  
  52. if exist dukedc.grp ren dukedc.grp dukedc.grp
  53. if "%dcgrpname%"=="" set dcgrpname=dukedc.grp
  54. if exist "%dcgrpname%" goto dcgrp_found
  55. if not exist dukedc.grp if exist DUKEDCPP.GRP ren DUKEDCPP.GRP dukedc.grp
  56. if not exist dukedc.grp if exist DUKEDC13.GRP ren DUKEDC13.GRP dukedc.grp
  57. if not exist dukedc.grp if exist DC.GRP ren DC.GRP dukedc.grp
  58. if not exist dukedc.grp goto nodcgrp
  59.  
  60. :dcgrp_found
  61. call :grpchecksum
  62.  
  63. :nodcgrp_return
  64. chdir /d "%exedir%"
  65. echo.
  66. echo.
  67. echo.
  68. echo.
  69. echo.
  70. echo.
  71. echo.
  72. echo.
  73. echo.
  74. echo.
  75. echo.
  76.  
  77.  
  78. :init
  79. pause
  80. echo.
  81. goto check
  82.  
  83. :check
  84.  
  85. echo.
  86. echo Launching Duke Nukem 3D . . .
  87. echo Thanks for %action%!
  88. echo.
  89.  
  90. if exist duke3d.def ren duke3d.def duke3d_dcbak.def
  91.  
  92. if exist duke3d_dcbak.def echo duke3d.def has been renamed to duke3d_dcbak.def to allow the add-on to operate.
  93.  
  94. :arguments
  95. set args=
  96. if exist "%exedir%\HRP\" set args=%args% -jHRP
  97. if exist "%exedir%\polymer_hrp\" set args=%args% -jpolymer_hrp
  98. if exist "%exedir%\duke3d_voxel.zip" set args=%args% -gduke3d_voxel.zip
  99. if exist "%exedir%\duke3d_hrp.zip" set args=%args% -gduke3d_hrp.zip
  100. if exist "%exedir%\hrp_update.zip" set args=%args% -ghrp_update.zip
  101. if exist "%exedir%\maphacks.zip" set args=%args% -gmaphacks.zip
  102. if exist "%exedir%\eduke32_mus.zip" set args=%args% -geduke32_mus.zip
  103. set args=%args% -gdukedc.grp -mx dc_user.con
  104. if exist "%exedir%\dc.def" set args=%args% -hdc.def
  105. if exist "%exedir%\dukedc.def" set args=%args% -hdukedc.def
  106. if exist "%exedir%\dukedc_hrp.zip" set args=%args% -gdukedc_hrp.zip
  107. if exist "%exedir%\dc_hrp\" set args=%args% -jdc_hrp
  108. if "%xxx%"=="1" if exist "%exedir%\xxx_lite.zip" set args=%args% -gxxx_lite.zip
  109. if "%xxx%"=="1" if exist "%exedir%\xxx_lite\" set args=%args% -jxxx_lite
  110. if "%xxx%"=="1" if exist "%exedir%\xxx_pack.zip" set args=%args% -gxxx_pack.zip
  111. if "%xxx%"=="1" if exist "%exedir%\xxx_pack\" set args=%args% -jxxx_pack
  112. set args=%args% %*
  113. if "%dp%"=="1" set args=%args% -jDukePlus
  114.  
  115. set exe=%exename%
  116. if "%debug%"=="1" set exe=%exename%.debug
  117.  
  118. if exist %exe%.bat (
  119. if "%debug%"=="1" echo DEBUG: Final Command Line: call %exe%.bat %args%
  120. call %exe%.bat %args%
  121. ) else (
  122. if "%debug%"=="1" echo DEBUG: Final Command Line: start %exe%.exe %args%
  123. start %exe%.exe %args%
  124. )
  125.  
  126. set svnpath=0
  127. if "%svnpath%"=="0" if exist "%startdir%\svn\bin\svn.exe" set svnpath=%startdir%\svn\bin
  128. if "%svnpath%"=="0" if exist "%exedir%\svn\bin\svn.exe" set svnpath=%exedir%\svn\bin
  129. if "%svnpath%"=="0" if exist "%ProgramFiles%\SlikSvn\bin\svn.exe" set svnpath=%ProgramFiles%\SlikSvn\bin
  130. if "%svnpath%"=="0" if exist "%ProgramFiles(x86)%\SlikSvn\bin\svn.exe" set svnpath=%ProgramFiles(x86)%\SlikSvn\bin
  131. if "%svnpath%"=="0" if exist "%ProgramFiles%\Subversion\bin\svn.exe" set svnpath=%ProgramFiles%\Subversion\bin
  132. if "%svnpath%"=="0" if exist "%ProgramFiles(x86)%\Subversion\bin\svn.exe" set svnpath=%ProgramFiles(x86)%\Subversion\bin
  133. if "%svnpath%"=="0" if exist "%ProgramFiles%\TortoiseSVN\bin\svn.exe" set svnpath=%ProgramFiles%\TortoiseSVN\bin
  134. if "%svnpath%"=="0" if exist "%ProgramFiles(x86)%\TortoiseSVN\bin\svn.exe" set svnpath=%ProgramFiles(x86)%\TortoiseSVN\bin
  135. if "%svnpath%"=="0" for %%S in (svn.exe) do if exist "%%~dp$PATH:S" set svnpath=%%~dp$PATH:S
  136.  
  137. if exist "%exedir%\dc_hrp\" (
  138. chdir /d "%exedir%\dc_hrp\"
  139. if not "%svnpath%"=="0" call :svn_action
  140. )
  141.  
  142. goto end
  143.  
  144. :svn_action
  145. set PATH=%PATH%;%svnpath%
  146. for /f "delims=" %%a in ('svnversion.exe .') do @set oldrev=%%a
  147. if "%oldrev%"=="exported" goto :eof
  148. if "%oldrev%"=="Unversioned directory" goto :eof
  149. "svn.exe" update
  150. for /f "delims=" %%a in ('svnversion.exe .') do @set rev=%%a
  151. if %rev% EQU %oldrev% goto :eof
  152. set /a oldrev=%oldrev% + 1
  153. echo.
  154. "svn.exe" log -r %oldrev%:%rev%
  155. echo.
  156. pause
  157. goto :eof
  158.  
  159. :nodcgrp
  160. set megaton=Steam\SteamApps\common\Duke Nukem 3D\gameroot\addons\dukedc.grp
  161. if exist "%ProgramFiles%\%megaton%" copy "%ProgramFiles%\%megaton%" .\ && call :conprotect && goto nodcgrp_done
  162. if exist "%ProgramFiles(x86)%\%megaton%" copy "%ProgramFiles(x86)%\%megaton%" .\ && call :conprotect && goto nodcgrp_done
  163. title Duke It Out In D.C. for EDuke32 Installer
  164. color 0C
  165.  
  166. echo.
  167. echo                   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  168. echo                   º Duke It Out In D.C. for EDuke32 Installer º
  169. echo                   ÈÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍͼ
  170. echo                                ³ By Hendricks266 ³
  171. echo                                ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  172. echo.
  173. echo This batch file extracts the contents of DUKEDCPP.SSI or DUKEDC13.SSI and makes
  174. echo it into a group file, DUKEDC.GRP.
  175. echo.
  176.  
  177. set kgroup=%startdir%\utils\windows\win32\kgroup.exe
  178. if "%debug%"=="1" set kgroup=%startdir%\utils\windows\win32\kgroup.debug.exe
  179. set unpackssi=%startdir%\utils\windows\win32\unpackssi.exe
  180. if "%debug%"=="1" set unpackssi=%startdir%\utils\windows\win32\unpackssi.debug.exe
  181.  
  182. pause
  183. :nodcgrp_top
  184. echo.
  185. if not exist DUKEDCPP.SSI goto check13
  186. echo Proceeding with DUKEDCPP.SSI extraction.
  187. mkdir dukedcpp
  188. chdir dukedcpp
  189. "%unpackssi%" ..\DUKEDCPP.SSI
  190. if exist DUKETEAM.ANM ren DUKETEAM.ANM RADLOGO.ANM
  191. if exist USER.CON ren USER.CON USER.BAK
  192. "%kgroup%" dukedc.grp *.*
  193. if exist dukedc.grp move dukedc.grp ..\dukedc.grp
  194. echo DUKEDC.GRP has been added to your directory.
  195. if not exist ..\DUKEDC*.MAP move *.MAP ..\
  196. chdir ..
  197. rmdir /s /q dukedcpp
  198. echo.
  199. echo.
  200. if not exist DUKEDC13.SSI goto nodcgrp_done
  201.  
  202. :check13
  203. if not exist DUKEDC13.SSI goto error
  204. echo Proceeding with DUKEDC13.SSI extraction.
  205. mkdir dukedc13
  206. chdir dukedc13
  207. "%unpackssi%" ..\DUKEDC13.SSI
  208. if exist DUKETEAM.ANM ren DUKETEAM.ANM RADLOGO.ANM
  209. if exist USER.CON ren USER.CON USER.BAK
  210. "%kgroup%" dukedc.grp *.*
  211. if exist ..\dukedc.grp (
  212. if exist dukedc.grp (
  213. move dukedc.grp ..\dukedc13.grp
  214. echo DUKEDC13.GRP has been added to your directory.
  215. ) ) else (
  216. if exist dukedc.grp (
  217. move dukedc.grp ..\dukedc.grp
  218. echo DUKEDC.GRP has been added to your directory.
  219. ) )
  220. if not exist ..\DUKEDC*.MAP move *.MAP ..\
  221. chdir ..
  222. rmdir /s /q dukedc13
  223. echo.
  224. echo.
  225. goto nodcgrp_done
  226.  
  227. :nodcgrp_done
  228. if exist dukedc.grp (
  229. type DCINTRO.TXT
  230. echo.
  231. echo.
  232. echo.
  233. echo Duke It Out In D.C. installed!
  234. echo.
  235. pause
  236. call :grpchecksum
  237. call :grpchecksum_results
  238. goto nodcgrp_return
  239. )
  240. if not exist dukedc.grp (
  241. echo Installation Error!
  242. echo Contact Hendricks266 for help.
  243. echo.
  244. pause
  245. goto end
  246. )
  247.  
  248. :conprotect
  249. pushd "%exedir%"
  250. if not exist GAME.CON "%kextract%" DUKE3D.GRP GAME.CON
  251. if not exist DEFS.CON "%kextract%" DUKE3D.GRP DEFS.CON
  252. if not exist USER.CON "%kextract%" DUKE3D.GRP USER.CON
  253. popd
  254. goto :eof
  255.  
  256. :grpchecksum
  257. if not exist "%sha1sum%" (
  258. echo "%sha1sum%" not found.
  259. goto :eof
  260. )
  261. pushd .
  262. if exist "%startdir%\%dcgrpname%" chdir /d %startdir%
  263. if exist "%exedir%\%dcgrpname%" chdir /d %exedir%
  264. echo 1b66c3ad9a65556044946dd1ca97a839fcfedc3b *%dcgrpname% | "%sha1sum%" --status --check -
  265. if "%ERRORLEVEL%"=="0" set version=megaton && call :conprotect && popd && goto :eof
  266. if "%ERRORLEVEL%"=="1" set version=unknown
  267. popd
  268. goto :eof
  269.  
  270. :grpchecksum_results
  271. if "%version%"=="megaton" echo DUKEDC.GRP (Megaton Edition) checksum verified.
  272. :: if "%version%"=="unknown" echo DUKEDC.GRP checksum does not match any known copies because one was never distributed until the Megaton Edition.
  273. echo.
  274. goto :eof
  275.  
  276. :error
  277. echo.
  278. echo You do not have DUKEDCPP.SSI or DUKEDC13.SSI in this directory.
  279. :retry
  280. echo.
  281. set cddrive=
  282. set /p cddrive=What is the drive letter that your Duke D.C. CD is in?
  283. echo.
  284. if not '%cddrive%'=='' set cddrive=%cddrive:~0,1%
  285. if '%cddrive%'=='' goto cdno
  286. if not exist %cddrive%:\ goto cdno
  287. if not exist %cddrive%:\* goto cdno
  288. if exist %cddrive%:\DUKEDC\DUKEDCPP.SSI copy %cddrive%:\DUKEDC\*.SSI .\ && goto nodcgrp_top
  289. if exist %cddrive%:\DUKEDC\DUKEDC\DUKEDCPP.SSI copy %cddrive%:\DUKEDC\DUKEDC\*.SSI .\ && goto nodcgrp_top
  290. if exist %cddrive%:\DC\DUKEDC\DUKEDCPP.SSI copy %cddrive%:\DC\DUKEDC\*.SSI .\ && goto nodcgrp_top
  291. goto cdwrong
  292.  
  293. :cdno
  294. echo '%cddrive%' is not valid.  Please try again.
  295. goto retry
  296.  
  297. :cdwrong
  298. echo '%cddrive%' is not the correct disc.  Please try again.
  299. goto retry
  300.  
  301. :execheck
  302. if exist %exename%.bat goto execheck_done
  303. if exist %exename%.exe goto recheck
  304. set prevdir=%cd%
  305. if not "%cd%"=="%cd:~0,3%" chdir ..
  306. if not "%cd%"=="%prevdir%" goto execheck
  307. echo Warning: You don't have %exeproper% in your directory.
  308. chdir /d "%startdir%"
  309. goto execheck_done
  310.  
  311. :end
  312. if "%debug%"=="1" echo.
  313. if "%debug%"=="1" pause
  314. echo.
  315. popd
  316. endlocal
  317. title %ComSpec%
  318. color 07
  319.